[pyplusplus] 11/17: Imported Upstream version 1.6

Leopold Palomo-Avellaneda leo at alaxarxa.net
Mon Jul 18 13:18:28 UTC 2016


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

lepalom-guest pushed a commit to branch master
in repository pyplusplus.

commit 2e10189b61f45caf67044a88173460a8fda21e01
Author: Leopold Palomo-Avellaneda <leopold.palomo at upc.edu>
Date:   Mon Jul 18 12:25:52 2016 +0200

    Imported Upstream version 1.6
---
 .hg_archival.txt                                   |     4 +
 .hgtags                                            |     1 +
 LICENSE_1_0.txt                                    |    23 +
 MANIFEST.readme                                    |     1 +
 README.txt                                         |    49 +
 announcement.txt                                   |    45 +
 contrib/__init__.py                                |     4 +
 contrib/arrayinfo/arrayinfo.py                     |    73 +
 contrib/arrayinfo/cpptokenize.py                   |   127 +
 contrib/arrayinfo/createarrayinfo.py               |   169 +
 contrib/arrayinfo/readme.txt                       |    33 +
 contrib/doc_extractors/LICENSE_1_0.txt             |    23 +
 contrib/doc_extractors/doxygen.py                  |   232 +
 contrib/doc_extractors/permissions.txt             |   Bin 0 -> 2996 bytes
 contrib/doc_extractors/readme.txt                  |    19 +
 contrib/goodies/__init__.py                        |    19 +
 contrib/goodies/dsl_interface.py                   |    48 +
 contrib/goodies/goodie_overrides.py                |    64 +
 contrib/goodies/goodie_perf_overrides.py           |   224 +
 contrib/goodies/goodie_utils.py                    |   274 +
 contrib/pypp_api/generate_docs.py                  |    11 +
 contrib/pypp_api/license.txt                       |     2 +
 contrib/pypp_api/pypp_api/__init__.py              |    80 +
 contrib/pypp_api/pypp_api/argpolicy.py             |   632 +
 contrib/pypp_api/pypp_api/decltypes.py             |    79 +
 contrib/pypp_api/pypp_api/declwrapper.py           |   835 +
 contrib/pypp_api/pypp_api/extendcreators.py        |   107 +
 contrib/pypp_api/pypp_api/filters.py               |   516 +
 contrib/pypp_api/pypp_api/modulebuilder.py         |   793 +
 contrib/pypp_api/pypp_api/selection.py             |    54 +
 contrib/pypp_api/pypp_api/treerange.py             |   380 +
 contrib/pypp_api/readme.txt                        |    30 +
 docs/Makefile                                      |   216 +
 docs/apidocs/_logging_.rst                         |    24 +
 docs/apidocs/api.rst                               |    18 +
 docs/apidocs/code_creators.rst                     |   313 +
 docs/apidocs/code_repository.rst                   |    57 +
 docs/apidocs/code_repository/indexing_suite.rst    |   226 +
 docs/apidocs/creators_factory.rst                  |    89 +
 docs/apidocs/decl_wrappers.rst                     |   151 +
 docs/apidocs/file_writers.rst                      |    65 +
 docs/apidocs/function_transformers.rst             |    56 +
 docs/apidocs/messages.rst                          |    24 +
 docs/apidocs/module_builder.rst                    |    48 +
 docs/apidocs/utils.rst                             |    17 +
 docs/architecture.rst                              |   327 +
 docs/code_creators_uml.png                         |   Bin 0 -> 103871 bytes
 docs/comparisons/compare_to.rst                    |    68 +
 docs/comparisons/pyste.rst                         |   420 +
 docs/conf.py                                       |   287 +
 docs/containers.rst                                |   240 +
 docs/ctypes/ctypes_integration.rst                 |    98 +
 docs/ctypes/this_and_sizeof.rst                    |    43 +
 docs/ctypes/unions.rst                             |    71 +
 docs/ctypes/variables.rst                          |    74 +
 docs/doc_string.rst                                |    65 +
 docs/download.rst                                  |    58 +
 docs/examples/boost/boost.rst                      |   256 +
 docs/examples/easybmp/easybmp.rst                  |    71 +
 docs/examples/easybmp/pkg-info.txt                 |    17 +
 docs/examples/easybmp/source.bmp                   |   Bin 0 -> 59394 bytes
 docs/examples/easybmp/target.bmp                   |   Bin 0 -> 59394 bytes
 docs/examples/examples.rst                         |    47 +
 docs/functions/call_policies/as_tuple.rst          |    84 +
 docs/functions/call_policies/call_policies.rst     |   205 +
 .../call_policies/custom_call_policies.rst         |    36 +
 docs/functions/call_policies/return_addressof.rst  |    62 +
 .../call_policies/return_pointee_value.rst         |   141 +
 docs/functions/call_policies/return_range.rst      |   225 +
 docs/functions/default_args.rst                    |   146 +
 docs/functions/functions.rst                       |    29 +
 docs/functions/make_constructor.rst                |    75 +
 docs/functions/overloading.rst                     |   167 +
 docs/functions/registration_order.rst              |   147 +
 docs/functions/transformation/from_address.rst     |    97 +
 docs/functions/transformation/inout.rst            |    62 +
 .../transformation/inout_static_array.rst          |    72 +
 .../transformation/inout_static_matrix.rst         |    91 +
 docs/functions/transformation/input.rst            |    58 +
 docs/functions/transformation/input_c_buffer.rst   |    72 +
 .../transformation/input_static_array.rst          |    75 +
 .../transformation/input_static_matrix.rst         |    90 +
 docs/functions/transformation/modify_type.rst      |    69 +
 docs/functions/transformation/name_mangling.rst    |    83 +
 docs/functions/transformation/output.rst           |    63 +
 .../transformation/output_static_array.rst         |    75 +
 .../transformation/output_static_matrix.rst        |    85 +
 docs/functions/transformation/terminology.rst      |    35 +
 .../transformation/transfer_ownership.rst          |    68 +
 docs/functions/transformation/transformation.rst   |   125 +
 docs/history.rst                                   |   594 +
 docs/how_to/absolute_relative_paths.rst            |    39 +
 docs/how_to/best_practices.rst                     |   170 +
 docs/how_to/exception_translation.rst              |    60 +
 docs/how_to/fatal_error_c1204.rst                  |    23 +
 docs/how_to/file_name_too_long.rst                 |    45 +
 docs/how_to/hints.rst                              |    61 +
 docs/how_to/how_to.rst                             |    13 +
 docs/how_to/templates.rst                          |   191 +
 docs/index.rst                                     |   173 +
 docs/indexing_suite_v2.html                        |  2213 ++
 docs/indexing_suite_v2.html.rst                    |     6 +
 docs/indexing_suite_v2_files/boost.css             |    59 +
 docs/indexing_suite_v2_files/cboost.gif            |   Bin 0 -> 8819 bytes
 docs/indexing_suite_v2_files/overview.png          |   Bin 0 -> 4680 bytes
 docs/indexing_suite_v2_files/proxy.png             |   Bin 0 -> 11320 bytes
 docs/indexing_suite_v2_files/proxy_detached.png    |   Bin 0 -> 4030 bytes
 docs/inserting_code.rst                            |   247 +
 docs/links.rst                                     |   116 +
 docs/multi_module_development.rst                  |   161 +
 docs/peps/dsl_challenge.rst                        |   210 +
 docs/peps/dsl_challenge_introduction.irest         |    11 +
 docs/peps/peps_index.rst                           |    21 +
 docs/properties.rst                                |   163 +
 docs/pyplusplus_uml.vsd                            |   Bin 0 -> 352768 bytes
 docs/quotes.rst                                    |   160 +
 docs/split_module.rst                              |   242 +
 .../automatic_conversion/automatic_conversion.rst  |    39 +
 .../automatic_conversion/automatic_conversion.zip  |   Bin 0 -> 6289 bytes
 .../automatic_conversion/custom_rvalue.cpp         |   135 +
 .../automatic_conversion/custom_rvalue.cpp.rst     |     6 +
 .../automatic_conversion/definition.irest          |     3 +
 .../automatic_conversion/sconstruct                |    20 +
 .../automatic_conversion/sconstruct.rst            |     6 +
 .../automatic_conversion/test.py                   |    59 +
 .../automatic_conversion/test.py.rst               |     6 +
 .../automatic_conversion/tuples.hpp                |   251 +
 .../automatic_conversion/tuples.hpp.rst            |     6 +
 .../automatic_conversion/tuples_tester.cpp         |    72 +
 .../automatic_conversion/tuples_tester.cpp.rst     |     6 +
 .../easy_extending_guide/easy_extending_guide.rst  |   118 +
 .../exceptions/definition.irest                    |     4 +
 .../exceptions/exceptions.cpp                      |   130 +
 .../exceptions/exceptions.cpp.rst                  |     6 +
 .../exceptions/exceptions.rst                      |    64 +
 .../exceptions/exceptions.zip                      |   Bin 0 -> 2496 bytes
 docs/troubleshooting_guide/exceptions/sconstruct   |    10 +
 .../exceptions/sconstruct.rst                      |     6 +
 docs/troubleshooting_guide/exceptions/test.py      |    64 +
 docs/troubleshooting_guide/exceptions/test.py.rst  |     6 +
 docs/troubleshooting_guide/lessons_learned.rst     |    22 +
 .../shared_ptr/definition.irest                    |     3 +
 .../shared_ptr/generate_code.py                    |   120 +
 .../shared_ptr/pointer_holder.hpp.patch            |    99 +
 .../shared_ptr/pointer_holder.hpp.patch.rst        |    10 +
 docs/troubleshooting_guide/shared_ptr/sconstruct   |    10 +
 .../shared_ptr/sconstruct.rst                      |     6 +
 .../shared_ptr/shared_ptr.rst                      |    71 +
 .../shared_ptr/shared_ptr.zip                      |   Bin 0 -> 3833 bytes
 docs/troubleshooting_guide/shared_ptr/solution.cpp |    78 +
 .../shared_ptr/solution.cpp.rst                    |     6 +
 docs/troubleshooting_guide/shared_ptr/test.py      |    30 +
 docs/troubleshooting_guide/shared_ptr/test.py.rst  |     6 +
 docs/troubleshooting_guide/smart_ptrs/bindings.cpp |   162 +
 .../smart_ptrs/bindings.cpp.rst                    |     6 +
 docs/troubleshooting_guide/smart_ptrs/classes.hpp  |   149 +
 .../smart_ptrs/classes.hpp.rst                     |     6 +
 .../smart_ptrs/definition.irest                    |     3 +
 docs/troubleshooting_guide/smart_ptrs/sconstruct   |    10 +
 .../smart_ptrs/sconstruct.rst                      |     6 +
 docs/troubleshooting_guide/smart_ptrs/smart_ptr.h  |   135 +
 .../smart_ptrs/smart_ptr.h.rst                     |     6 +
 .../smart_ptrs/smart_ptrs.rst                      |    25 +
 .../smart_ptrs/smart_ptrs.zip                      |   Bin 0 -> 5370 bytes
 docs/troubleshooting_guide/smart_ptrs/test.py      |    89 +
 docs/troubleshooting_guide/smart_ptrs/test.py.rst  |     6 +
 docs/tutorials/module_builder/generate_code.py     |    54 +
 docs/tutorials/module_builder/generate_code.py.rst |     6 +
 docs/tutorials/module_builder/generated.cpp        |    31 +
 docs/tutorials/module_builder/generated.cpp.rst    |     6 +
 docs/tutorials/module_builder/hello_world.hpp      |    43 +
 docs/tutorials/module_builder/hello_world.hpp.rst  |     6 +
 docs/tutorials/module_builder/module_builder.rst   |   159 +
 docs/tutorials/pyplusplus_gui.png                  |   Bin 0 -> 26084 bytes
 docs/tutorials/pyplusplus_gui.rst                  |     5 +
 docs/tutorials/tutorials.rst                       |    54 +
 docs/warnings.rst                                  |   213 +
 environment.py                                     |    76 +
 environment_path_helper.py                         |     2 +
 examples/custom_code_creator/generate_code.py      |    93 +
 .../generated/properties.py.cpp                    |    37 +
 examples/custom_code_creator/properties.hpp        |    32 +
 examples/custom_code_creator/sconstruct            |    29 +
 examples/custom_code_creator/unittests/test_all.py |    26 +
 examples/environment.py                            |    24 +
 examples/gmplib_dev/dev/generate_code.py           |    37 +
 examples/gmplib_dev/dev/project_env.py             |    11 +
 examples/gmplib_dev/pygmplib/__init__.py           |  1570 +
 examples/gmplib_dev/pygmplib/ctypes_utils.py       |   135 +
 examples/gmplib_dev/test.py                        |    17 +
 examples/libmemcached_dev/dev/generate_code.py     |    39 +
 examples/libmemcached_dev/dev/project_env.py       |    14 +
 examples/libmemcached_dev/libmemcached-0.31.tar.gz |   Bin 0 -> 507156 bytes
 examples/libmemcached_dev/pymemcached/__init__.py  |   686 +
 .../libmemcached_dev/pymemcached/ctypes_utils.py   |   135 +
 .../pymemcached/exposed_decl.pypp.txt              |  1144 +
 examples/libmemcached_dev/test.py                  |    27 +
 examples/pyboost_dev/MANIFEST.in                   |     6 +
 examples/pyboost_dev/crc_example.py                |    20 +
 examples/pyboost_dev/date_time_example.py          |    70 +
 .../pyboost_dev/dev/boost_random/generate_code.py  |   161 +
 .../pyboost_dev/dev/boost_random/random_export.hpp |   472 +
 .../dev/boost_random/random_settings.py            |    22 +
 examples/pyboost_dev/dev/boost_random/sconscript   |    35 +
 examples/pyboost_dev/dev/crc/crc_export.hpp        |    23 +
 examples/pyboost_dev/dev/crc/crc_settings.py       |    23 +
 examples/pyboost_dev/dev/crc/generate_code.py      |   107 +
 examples/pyboost_dev/dev/crc/sconscript            |    35 +
 .../dev/date_time/customization_data.py            |   225 +
 .../dev/date_time/date_time_settings.py            |    26 +
 .../pyboost_dev/dev/date_time/generate_code.py     |   220 +
 .../dev/date_time/include/date_time.pypp.hpp       |    68 +
 .../dev/date_time/include/date_time.pypp.xml       | 36630 +++++++++++++++++++
 .../dev/date_time/include/date_time_wrapper.hpp    |    19 +
 examples/pyboost_dev/dev/date_time/sconscript      |    49 +
 examples/pyboost_dev/dev/rational/generate_code.py |   109 +
 .../pyboost_dev/dev/rational/rational_export.hpp   |    27 +
 .../pyboost_dev/dev/rational/rational_settings.py  |    24 +
 examples/pyboost_dev/dev/rational/sconscript       |    35 +
 examples/pyboost_dev/pyboost/__init__.py           |    10 +
 .../pyboost_dev/pyboost/boost_random/__init__.py   |   511 +
 examples/pyboost_dev/pyboost/crc/__init__.py       |    48 +
 examples/pyboost_dev/pyboost/date_time/__init__.py |   257 +
 .../pyboost/date_time/date_time_zonespec.csv       |   379 +
 examples/pyboost_dev/pyboost/rational/__init__.py  |    17 +
 examples/pyboost_dev/random_example.py             |     8 +
 examples/pyboost_dev/rational_example.py           |    15 +
 examples/pyboost_dev/sconstruct                    |    29 +
 examples/pyboost_dev/setup.py                      |    33 +
 .../unittestst/boost_random/test_all.py            |    76 +
 examples/pyboost_dev/unittestst/crc/test_all.py    |   233 +
 .../pyboost_dev/unittestst/date_time/examples.py   |    33 +
 .../unittestst/date_time/gregorian_tester.py       |   559 +
 .../unittestst/date_time/local_time_tester.py      |   608 +
 .../unittestst/date_time/posix_time_tester.py      |   529 +
 .../pyboost_dev/unittestst/date_time/test_all.py   |    30 +
 .../pyboost_dev/unittestst/rational/test_all.py    |    97 +
 examples/pyboost_dev/unittestst/test_all.py        |    31 +
 .../boost.python/pyeasybmp/build_setup.py          |    30 +
 .../boost.python/pyeasybmp/environment.py          |    54 +
 .../boost.python/pyeasybmp/generate_code.py        |    44 +
 .../boost.python/pyeasybmp/sconstruct              |    41 +
 .../boost.python/unittests/grayscale.py            |    43 +
 .../boost.python/unittests/source.bmp              |   Bin 0 -> 59394 bytes
 .../boost.python/unittests/target.bmp              |   Bin 0 -> 59394 bytes
 .../easybmp/BSD_(revised)_license.txt              |    10 +
 examples/pyeasybmp_dev/easybmp/EasyBMP.cpp         |  1906 +
 examples/pyeasybmp_dev/easybmp/EasyBMP.h           |    86 +
 examples/pyeasybmp_dev/easybmp/EasyBMP_BMP.h       |    86 +
 .../pyeasybmp_dev/easybmp/EasyBMP_ChangeLog.txt    |   821 +
 .../pyeasybmp_dev/easybmp/EasyBMP_DataStructures.h |   104 +
 .../easybmp/EasyBMP_VariousBMPutilities.h          |    43 +
 .../pyeasybmp_dev/easybmp/binaries/easybmp.dll     |   Bin 0 -> 40960 bytes
 .../easybmp/binaries/easybmp.dll.manifest          |     8 +
 .../pyeasybmp_dev/easybmp/binaries/easybmp.exp     |   Bin 0 -> 7565 bytes
 .../pyeasybmp_dev/easybmp/binaries/easybmp.lib     |   Bin 0 -> 13362 bytes
 .../pyeasybmp_dev/easybmp/binaries/easybmp.map     |   322 +
 .../easybmp/sample/EasyBMPbackground.bmp           |   Bin 0 -> 308278 bytes
 .../pyeasybmp_dev/easybmp/sample/EasyBMPsample.cpp |    82 +
 .../pyeasybmp_dev/easybmp/sample/EasyBMPtext.bmp   |   Bin 0 -> 113266 bytes
 examples/pyeasybmp_dev/easybmp/sample/makefile     |    53 +
 examples/pyeasybmp_dev/easybmp/sconscript          |    11 +
 examples/pyeasybmp_dev/easybmp/sconstruct          |     2 +
 examples/pyeasybmp_dev/environment.py              |    28 +
 gccxml.cfg                                         |    10 +
 indexing_suite_v2/docs/indexing_suite_v2.html      |  2213 ++
 .../docs/indexing_suite_v2_files/boost.css         |    59 +
 .../docs/indexing_suite_v2_files/cboost.gif        |   Bin 0 -> 8819 bytes
 .../docs/indexing_suite_v2_files/overview.png      |   Bin 0 -> 4680 bytes
 .../docs/indexing_suite_v2_files/proxy.png         |   Bin 0 -> 11320 bytes
 .../indexing_suite_v2_files/proxy_detached.png     |   Bin 0 -> 4030 bytes
 indexing_suite_v2/indexing_suite/algorithms.hpp    |   564 +
 .../indexing_suite/container_proxy.hpp             |   738 +
 .../indexing_suite/container_suite.hpp             |    54 +
 .../indexing_suite/container_traits.hpp            |   160 +
 indexing_suite_v2/indexing_suite/deque.hpp         |    61 +
 indexing_suite_v2/indexing_suite/element_proxy.hpp |   188 +
 .../indexing_suite/element_proxy_traits.hpp        |    90 +
 .../indexing_suite/int_slice_helper.hpp            |   252 +
 .../indexing_suite/iterator_range.hpp              |   261 +
 .../indexing_suite/iterator_traits.hpp             |   212 +
 indexing_suite_v2/indexing_suite/list.hpp          |   168 +
 indexing_suite_v2/indexing_suite/map.hpp           |   241 +
 indexing_suite_v2/indexing_suite/methods.hpp       |   114 +
 indexing_suite_v2/indexing_suite/multimap.hpp      |   206 +
 indexing_suite_v2/indexing_suite/pair.hpp          |   105 +
 .../indexing_suite/proxy_iterator.hpp              |   164 +
 .../indexing_suite/python_iterator.hpp             |    81 +
 .../indexing_suite/registry_utils.hpp              |    41 +
 indexing_suite_v2/indexing_suite/set.hpp           |   170 +
 .../indexing_suite/shared_proxy_impl.hpp           |   106 +
 indexing_suite_v2/indexing_suite/slice.hpp         |   147 +
 indexing_suite_v2/indexing_suite/slice_handler.hpp |   302 +
 indexing_suite_v2/indexing_suite/suite_utils.hpp   |   111 +
 indexing_suite_v2/indexing_suite/value_traits.hpp  |    85 +
 indexing_suite_v2/indexing_suite/vector.hpp        |    61 +
 indexing_suite_v2/indexing_suite/visitor.hpp       |   272 +
 indexing_suite_v2/indexing_suite/workaround.hpp    |    47 +
 indexing_suite_v2/readme.txt                       |    10 +
 indexing_suite_v2/update_code_repository.py        |    79 +
 pyplusplus/__init__.py                             |    59 +
 pyplusplus/_logging_/__init__.py                   |    65 +
 pyplusplus/_logging_/multi_line_formatter.py       |    95 +
 pyplusplus/code_creators/__init__.py               |   161 +
 pyplusplus/code_creators/algorithm.py              |   113 +
 pyplusplus/code_creators/array_1_registrator.py    |    71 +
 pyplusplus/code_creators/bookmark.py               |    18 +
 pyplusplus/code_creators/calldef.py                |  1552 +
 pyplusplus/code_creators/calldef_ctypes.py         |   104 +
 pyplusplus/code_creators/calldef_transformed.py    |   506 +
 pyplusplus/code_creators/calldef_utils.py          |   159 +
 pyplusplus/code_creators/class_declaration.py      |   456 +
 pyplusplus/code_creators/code_creator.py           |   231 +
 pyplusplus/code_creators/compound.py               |   103 +
 pyplusplus/code_creators/ctypes_formatter.py       |   159 +
 .../code_creators/ctypes_integration_creators.py   |    55 +
 pyplusplus/code_creators/custom.py                 |    38 +
 pyplusplus/code_creators/declaration_based.py      |    64 +
 .../code_creators/embedded_code_repository.py      |    18 +
 pyplusplus/code_creators/enum.py                   |    84 +
 pyplusplus/code_creators/exception_translator.py   |    58 +
 pyplusplus/code_creators/global_variable.py        |   200 +
 pyplusplus/code_creators/include.py                |    76 +
 pyplusplus/code_creators/include_directories.py    |    75 +
 pyplusplus/code_creators/indexing_suites.py        |   183 +
 pyplusplus/code_creators/instruction.py            |    41 +
 pyplusplus/code_creators/library_reference.py      |    56 +
 pyplusplus/code_creators/license.py                |    30 +
 pyplusplus/code_creators/member_variable.py        |   769 +
 pyplusplus/code_creators/module.py                 |   249 +
 pyplusplus/code_creators/module_body.py            |    26 +
 pyplusplus/code_creators/name_mappings.py          |    42 +
 pyplusplus/code_creators/namespace.py              |    79 +
 .../code_creators/opaque_type_registrator.py       |    24 +
 pyplusplus/code_creators/properties.py             |   170 +
 pyplusplus/code_creators/registration_based.py     |    21 +
 pyplusplus/code_creators/scoped.py                 |    18 +
 pyplusplus/code_creators/smart_pointers.py         |   124 +
 pyplusplus/code_creators/target_configuration.py   |    33 +
 pyplusplus/code_creators/typedef_as_pyvar.py       |    22 +
 pyplusplus/code_creators/unnamed_enum.py           |    39 +
 pyplusplus/code_repository/__init__.py             |    43 +
 pyplusplus/code_repository/array_1.py              |   196 +
 pyplusplus/code_repository/call_policies.py        |   192 +
 pyplusplus/code_repository/convenience.py          |   198 +
 pyplusplus/code_repository/ctypes_integration.py   |   148 +
 pyplusplus/code_repository/ctypes_utils.py         |   141 +
 pyplusplus/code_repository/gil_guard.py            |    62 +
 .../code_repository/indexing_suite/__init__.py     |    93 +
 .../indexing_suite/algorithms_header.py            |   578 +
 .../indexing_suite/container_proxy_header.py       |   752 +
 .../indexing_suite/container_suite_header.py       |    68 +
 .../indexing_suite/container_traits_header.py      |   174 +
 .../code_repository/indexing_suite/deque_header.py |    75 +
 .../indexing_suite/element_proxy_header.py         |   202 +
 .../indexing_suite/element_proxy_traits_header.py  |   104 +
 .../indexing_suite/int_slice_helper_header.py      |   266 +
 .../indexing_suite/iterator_range_header.py        |   275 +
 .../indexing_suite/iterator_traits_header.py       |   226 +
 .../code_repository/indexing_suite/list_header.py  |   182 +
 .../code_repository/indexing_suite/map_header.py   |   255 +
 .../indexing_suite/methods_header.py               |   128 +
 .../indexing_suite/multimap_header.py              |   220 +
 .../code_repository/indexing_suite/pair_header.py  |   119 +
 .../indexing_suite/proxy_iterator_header.py        |   178 +
 .../indexing_suite/python_iterator_header.py       |    95 +
 .../indexing_suite/registry_utils_header.py        |    55 +
 .../code_repository/indexing_suite/set_header.py   |   184 +
 .../indexing_suite/shared_proxy_impl_header.py     |   120 +
 .../indexing_suite/slice_handler_header.py         |   316 +
 .../code_repository/indexing_suite/slice_header.py |   161 +
 .../indexing_suite/suite_utils_header.py           |   125 +
 .../indexing_suite/value_traits_header.py          |    99 +
 .../indexing_suite/vector_header.py                |    75 +
 .../indexing_suite/visitor_header.py               |   286 +
 .../indexing_suite/workaround_header.py            |    61 +
 pyplusplus/code_repository/named_tuple.py          |    52 +
 .../code_repository/return_pointee_value.hpp       |    60 +
 pyplusplus/code_repository/return_range.py         |   158 +
 pyplusplus/creators_factory/__init__.py            |    13 +
 pyplusplus/creators_factory/bpcreator.py           |   733 +
 .../creators_factory/call_policies_resolver.py     |   193 +
 pyplusplus/creators_factory/creators_wizard.py     |    71 +
 pyplusplus/creators_factory/ctypes_creator.py      |   200 +
 .../creators_factory/dependencies_manager.py       |   205 +
 .../creators_factory/fake_constructors_manager.py  |    29 +
 .../creators_factory/opaque_types_manager.py       |    82 +
 pyplusplus/creators_factory/sort_algorithms.py     |   276 +
 pyplusplus/creators_factory/types_database.py      |   187 +
 pyplusplus/decl_wrappers/__init__.py               |   133 +
 pyplusplus/decl_wrappers/algorithm.py              |   149 +
 pyplusplus/decl_wrappers/call_policies.py          |   428 +
 pyplusplus/decl_wrappers/calldef_wrapper.py        |   657 +
 pyplusplus/decl_wrappers/class_wrapper.py          |   737 +
 pyplusplus/decl_wrappers/decl_wrapper.py           |   231 +
 pyplusplus/decl_wrappers/decl_wrapper_printer.py   |   132 +
 pyplusplus/decl_wrappers/doc_extractor.py          |    45 +
 pyplusplus/decl_wrappers/enumeration_wrapper.py    |    82 +
 pyplusplus/decl_wrappers/indexing_suite1.py        |    82 +
 pyplusplus/decl_wrappers/indexing_suite2.py        |   180 +
 pyplusplus/decl_wrappers/namespace_wrapper.py      |    20 +
 pyplusplus/decl_wrappers/properties.py             |   346 +
 pyplusplus/decl_wrappers/python_traits.py          |    35 +
 pyplusplus/decl_wrappers/scopedef_wrapper.py       |    41 +
 pyplusplus/decl_wrappers/typedef_wrapper.py        |    32 +
 pyplusplus/decl_wrappers/user_text.py              |    21 +
 pyplusplus/decl_wrappers/variable_wrapper.py       |   239 +
 pyplusplus/file_writers/__init__.py                |    50 +
 pyplusplus/file_writers/balanced_files.py          |    62 +
 pyplusplus/file_writers/class_multiple_files.py    |   264 +
 pyplusplus/file_writers/md5sum_repository.py       |   100 +
 pyplusplus/file_writers/multiple_files.py          |   407 +
 pyplusplus/file_writers/single_file.py             |    33 +
 pyplusplus/file_writers/writer.py                  |   167 +
 pyplusplus/function_transformers/__init__.py       |    74 +
 pyplusplus/function_transformers/controllers.py    |   443 +
 .../function_transformation.py                     |    73 +
 pyplusplus/function_transformers/templates.py      |   109 +
 pyplusplus/function_transformers/transformer.py    |    93 +
 pyplusplus/function_transformers/transformers.py   |   965 +
 pyplusplus/messages/__init__.py                    |    43 +
 pyplusplus/messages/warnings_.py                   |   293 +
 pyplusplus/module_builder/__init__.py              |    55 +
 pyplusplus/module_builder/boost_python_builder.py  |   438 +
 pyplusplus/module_builder/call_policies.py         |    26 +
 pyplusplus/module_builder/ctypes_builder.py        |   162 +
 .../module_builder/ctypes_decls_dependencies.py    |    56 +
 pyplusplus/module_builder/module_builder.py        |   320 +
 pyplusplus/utils/__init__.py                       |   203 +
 scripts/freeze.py                                  |    36 +
 scripts/pyplusplus_gui                             |    12 +
 scripts/pyplusplus_gui.pyw                         |    12 +
 scripts/wrap_library.py                            |    86 +
 setup.py                                           |    42 +
 unittests/__init__.py                              |     6 +
 unittests/abstract_classes_tester.py               |    32 +
 unittests/abstract_tester.py                       |    49 +
 unittests/algorithms_tester.py                     |   328 +
 unittests/already_exposed_tester.py                |    58 +
 unittests/arrays_bug_tester.py                     |    60 +
 unittests/autoconfig.py                            |    98 +
 unittests/balanced_files_tester.py                 |    88 +
 unittests/bool_by_ref_tester.py                    |    58 +
 unittests/bpmodule_tester.py                       |    32 +
 unittests/bug_covariant_returns_tester.py          |    40 +
 unittests/call_policies_tester.py                  |   137 +
 unittests/casting_tester.py                        |    43 +
 unittests/class_order2_tester.py                   |    32 +
 unittests/class_order3_tester.py                   |    33 +
 unittests/class_order4_tester.py                   |    33 +
 unittests/class_order_tester.py                    |    47 +
 unittests/classes_tester.py                        |    69 +
 unittests/constructors_bug_tester.py               |    33 +
 unittests/convenience_tester.py                    |    47 +
 unittests/cp_return_addressof_tester.py            |    42 +
 unittests/cppexceptions_tester.py                  |    74 +
 unittests/ctypes_tester.py                         |   273 +
 unittests/custom_smart_ptr_classes_tester.py       |   181 +
 unittests/custom_string_tester.py                  |    88 +
 unittests/data/abstract_classes_to_be_exported.hpp |    23 +
 unittests/data/abstract_to_be_exported.hpp         |    38 +
 unittests/data/already_exposed_2to_be_exported.hpp |    24 +
 unittests/data/already_exposed_to_be_exported.hpp  |    24 +
 unittests/data/arrays_bug_to_be_exported.hpp       |    37 +
 unittests/data/balanced_files_to_be_exported.hpp   |    90 +
 unittests/data/bool_by_ref_to_be_exported.hpp      |    40 +
 unittests/data/bpmodule_to_be_exported.hpp         |     6 +
 .../data/bug_covariant_returns_to_be_exported.hpp  |    73 +
 unittests/data/call_policies_to_be_exported.cpp    |     4 +
 unittests/data/call_policies_to_be_exported.hpp    |   136 +
 unittests/data/casting_to_be_exported.hpp          |    74 +
 unittests/data/class_order2_to_be_exported.hpp     |    29 +
 unittests/data/class_order3_to_be_exported.hpp     |    26 +
 unittests/data/class_order4_to_be_exported.hpp     |    28 +
 unittests/data/class_order_to_be_exported.hpp      |    31 +
 unittests/data/classes_to_be_exported.hpp          |   120 +
 unittests/data/constructors_bug_to_be_exported.hpp |    28 +
 unittests/data/convenience_to_be_exported.hpp      |    10 +
 .../data/cp_return_addressof_to_be_exported.hpp    |    28 +
 unittests/data/cppexceptions_to_be_exported.hpp    |    32 +
 unittests/data/ctypes/anonymous/anonymous.cpp      |     4 +
 unittests/data/ctypes/anonymous/anonymous.h        |    36 +
 unittests/data/ctypes/anonymous/sconscript         |     5 +
 .../char_ptr_as_binary_data.cpp                    |    15 +
 .../char_ptr_as_binary_data.h                      |    11 +
 .../data/ctypes/char_ptr_as_binary_data/sconscript |     7 +
 .../circular_references/circular_references.cpp    |     4 +
 .../circular_references/circular_references.h      |    19 +
 .../data/ctypes/circular_references/sconscript     |     7 +
 unittests/data/ctypes/enums/enums.cpp              |     1 +
 unittests/data/ctypes/enums/enums.h                |     2 +
 unittests/data/ctypes/enums/sconscript             |     7 +
 .../function_ptr_as_variable.cpp                   |     5 +
 .../function_ptr_as_variable.h                     |    11 +
 .../ctypes/function_ptr_as_variable/sconscript     |     7 +
 .../ctypes/include_algorithm/include_algorithm.cpp |     5 +
 .../ctypes/include_algorithm/include_algorithm.h   |    11 +
 unittests/data/ctypes/include_algorithm/sconscript |     5 +
 unittests/data/ctypes/opaque/opaque.cpp            |    16 +
 unittests/data/ctypes/opaque/opaque.h              |    12 +
 unittests/data/ctypes/opaque/sconscript            |     5 +
 unittests/data/ctypes/templates/sconscript         |     7 +
 unittests/data/ctypes/templates/templates.cpp      |     5 +
 unittests/data/ctypes/templates/templates.h        |    11 +
 unittests/data/ctypes/user_code/sconscript         |     7 +
 unittests/data/ctypes/user_code/user_code.cpp      |     5 +
 unittests/data/ctypes/user_code/user_code.h        |    11 +
 unittests/data/ctypes/varargs/sconscript           |     7 +
 unittests/data/ctypes/varargs/varargs.cpp          |    15 +
 unittests/data/ctypes/varargs/varargs.h            |     3 +
 unittests/data/ctypes/variables/sconscript         |     7 +
 unittests/data/ctypes/variables/variables.cpp      |    27 +
 unittests/data/ctypes/variables/variables.h        |    18 +
 unittests/data/custom_smart_ptr.h                  |   108 +
 .../custom_smart_ptr_classes_to_be_exported.hpp    |   119 +
 unittests/data/custom_string_to_be_exported.hpp    |    57 +
 ...declarations_order_bug_false_to_be_exported.hpp |    49 +
 .../declarations_order_bug_true_to_be_exported.hpp |    49 +
 unittests/data/deepcopy_to_be_exported.hpp         |    34 +
 unittests/data/default_args_to_be_exported.hpp     |    18 +
 .../data/derive_from_deque_to_be_exported.hpp      |    45 +
 .../data/duplicate_aliases_to_be_exported.cpp      |    13 +
 .../data/duplicate_aliases_to_be_exported.hpp      |    22 +
 unittests/data/embeded_to_be_exported.hpp          |    13 +
 unittests/data/enums_exported_expected.hpp         |    17 +
 unittests/data/enums_to_be_exported.hpp            |    36 +
 unittests/data/factory_to_be_exported.cpp          |    22 +
 unittests/data/factory_to_be_exported.hpp          |    22 +
 unittests/data/filesystem_to_be_exported.hpp       |    14 +
 unittests/data/final_classes_to_be_exported.hpp    |    24 +
 unittests/data/finalizables_to_be_exported.hpp     |    24 +
 .../free_function_ignore_bug_to_be_exported.hpp    |    27 +
 unittests/data/free_functions_to_be_exported.hpp   |    27 +
 unittests/data/free_operators_to_be_exported.hpp   |    57 +
 unittests/data/ft_constructor_to_be_exported.hpp   |    37 +
 unittests/data/ft_from_address_to_be_exported.hpp  |    46 +
 unittests/data/ft_inout_bugs_to_be_exported.hpp    |    24 +
 .../data/ft_inout_static_array_to_be_exported.hpp  |    55 +
 .../data/ft_inout_static_matrix_to_be_exported.hpp |    28 +
 .../data/ft_input_static_matrix_to_be_exported.hpp |    42 +
 .../ft_output_static_matrix_to_be_exported.hpp     |    25 +
 unittests/data/function_adaptor_to_be_exported.hpp |    65 +
 .../function_transformations_to_be_exported.hpp    |   300 +
 unittests/data/global_variables_to_be_exported.cpp |    29 +
 unittests/data/global_variables_to_be_exported.hpp |    35 +
 unittests/data/hierarchy3_to_be_exported.hpp       |    24 +
 .../data/include_exclude_bug_to_be_exported.hpp    |   398 +
 unittests/data/index_operator_to_be_exported.hpp   |    21 +
 ...ite2_shared_ptr_value_traits_to_be_exported.cpp |    34 +
 ...ite2_shared_ptr_value_traits_to_be_exported.hpp |    26 +
 .../data/indexing_suite_v1_to_be_exported.hpp      |    23 +
 .../indexing_suites2_support_to_be_exported.hpp    |    21 +
 unittests/data/indexing_suites2_to_be_exported.hpp |   158 +
 unittests/data/indexing_suites_to_be_exported.hpp  |    63 +
 .../indexing_suites_v2_bug_a_to_be_exported.hpp    |    27 +
 .../indexing_suites_v2_bug_b_to_be_exported.hpp    |    27 +
 unittests/data/inner_base_class_to_be_exported.hpp |    19 +
 unittests/data/inner_class_bug_to_be_exported.hpp  |    27 +
 unittests/data/inner_tmpl_class_to_be_exported.hpp |    28 +
 unittests/data/internal_classes_to_be_exported.hpp |    20 +
 unittests/data/libconfig.h                         |    15 +
 .../data/mailing_list_help_to_be_exported.hpp      |    20 +
 unittests/data/make_constructor_to_be_exported.hpp |    45 +
 .../data/mem_fun_with_exception_to_be_exported.hpp |    23 +
 .../mem_var_compile_error_bug_to_be_exported.hpp   |    74 +
 unittests/data/member_functions_to_be_exported.cpp |     9 +
 unittests/data/member_functions_to_be_exported.hpp |   187 +
 unittests/data/member_variables_to_be_exported.cpp |    54 +
 unittests/data/member_variables_to_be_exported.hpp |   195 +
 unittests/data/module_body_to_be_exported.hpp      |    14 +
 unittests/data/namespaces_to_be_exported.hpp       |    10 +
 unittests/data/no_init_to_be_exported.hpp          |    77 +
 unittests/data/non_overridable_to_be_exported.cpp  |    13 +
 unittests/data/non_overridable_to_be_exported.hpp  |    47 +
 unittests/data/noncopyable_to_be_exported.hpp      |    78 +
 unittests/data/operators_bug_to_be_exported.hpp    |    72 +
 unittests/data/operators_to_be_exported.hpp        |    97 +
 unittests/data/optional_bug_to_be_exported.hpp     |    18 +
 unittests/data/optional_to_be_exported.hpp         |    36 +
 unittests/data/overloads_macro_to_be_exported.hpp  |    45 +
 unittests/data/override_bug_to_be_exported.hpp     |   103 +
 ...rriden_virtual_functions_bug_to_be_exported.hpp |    26 +
 unittests/data/particleuniverse.xml.bz2            |   Bin 0 -> 1314858 bytes
 unittests/data/pointer_as_arg_to_be_exported.hpp   |    22 +
 ...nter_to_function_as_argument_to_be_exported.hpp |    26 +
 .../data/precompiled_header_to_be_exported.hpp     |    18 +
 unittests/data/private_assign_to_be_exported.hpp   |    35 +
 unittests/data/properties_to_be_exported.hpp       |    60 +
 unittests/data/protected_bug_to_be_exported.hpp    |    66 +
 unittests/data/protected_to_be_exported.hpp        |    50 +
 unittests/data/recursive_to_be_exported.hpp        |    24 +
 unittests/data/refee_refer_to_be_exported.hpp      |    24 +
 unittests/data/regression1_to_be_exported.hpp      |    57 +
 unittests/data/regression2_to_be_exported.hpp      |    19 +
 unittests/data/regression3_to_be_exported.hpp      |    41 +
 unittests/data/return_auto_ptr_to_be_exported.hpp  |    52 +
 .../data/return_ref_to_ptr_to_be_exported.hpp      |    27 +
 unittests/data/selection_bug_to_be_exported.hpp    |    27 +
 unittests/data/smart_pointers_to_be_exported.cpp   |    48 +
 unittests/data/smart_pointers_to_be_exported.hpp   |   105 +
 .../data/special_operators_to_be_exported.hpp      |    53 +
 unittests/data/split_module_bug_to_be_exported.cpp |     3 +
 unittests/data/split_module_bug_to_be_exported.hpp |    25 +
 ...it_module_indexing_suite_bug_to_be_exported.hpp |    30 +
 unittests/data/split_module_to_be_exported.hpp     |    71 +
 unittests/data/statics_to_be_exported.cpp          |    14 +
 unittests/data/statics_to_be_exported.hpp          |    38 +
 unittests/data/std_pair_to_be_exported.hpp         |    22 +
 unittests/data/templates_to_be_exported.hpp        |    31 +
 .../data/temporary_variable_to_be_exported.hpp     |    90 +
 unittests/data/throw_to_be_exported.cpp            |    13 +
 unittests/data/throw_to_be_exported.hpp            |    29 +
 unittests/data/tnfox_bugs_to_be_exported.hpp       |    32 +
 .../data/transfer_ownership_old_to_be_exported.hpp |     9 +
 .../data/transfer_ownership_to_be_exported.hpp     |    40 +
 unittests/data/unions_to_be_exported.hpp           |    35 +
 unittests/data/unnamed_classes_to_be_exported.hpp  |    30 +
 unittests/data/unnamed_enums_to_be_exported.hpp    |    26 +
 unittests/data/user_text_to_be_exported.hpp        |    17 +
 unittests/data/vector3_to_be_exported.cpp          |    14 +
 unittests/data/vector3_to_be_exported.hpp          |   317 +
 .../vector_with_shared_data_to_be_exported.cpp     |    12 +
 .../vector_with_shared_data_to_be_exported.hpp     |    19 +
 .../data/virtual_inheritance_to_be_exported.hpp    |    17 +
 unittests/declarations_order_bug_tester.py         |    60 +
 unittests/deepcopy_tester.py                       |    41 +
 unittests/default_args_tester.py                   |    37 +
 unittests/derive_from_deque_tester.py              |    45 +
 unittests/duplicate_aliases_tester.py              |    39 +
 unittests/dwrapper_printer_tester.py               |    42 +
 unittests/embeded_tester.py                        |    64 +
 unittests/enums_tester.py                          |    50 +
 unittests/exposed_decls_db_tester.py               |   101 +
 unittests/factory_tester.py                        |    34 +
 unittests/final_classes_tester.py                  |    38 +
 unittests/finalizables_tester.py                   |    61 +
 unittests/free_function_ignore_bug_tester.py       |    48 +
 unittests/free_functions_tester.py                 |    37 +
 unittests/free_operators_tester.py                 |    39 +
 unittests/ft_from_address_tester.py                |    66 +
 unittests/ft_inout_static_array_tester.py          |    70 +
 unittests/ft_inout_static_matrix_tester.py         |    49 +
 unittests/ft_inout_tester.py                       |    79 +
 unittests/ft_input_static_matrix_tester.py         |    51 +
 unittests/ft_output_static_matrix_tester.py        |    47 +
 unittests/function_adaptor_tester.py               |    84 +
 unittests/function_transformations_tester.py       |   297 +
 unittests/fundamental_tester_base.py               |   164 +
 unittests/global_variables_tester.py               |    53 +
 unittests/gui_tester.py                            |    13 +
 unittests/gui_wizard_tester.py                     |    32 +
 unittests/hierarchy3_tester.py                     |    44 +
 unittests/include_exclude_bug_tester.py            |    36 +
 unittests/index_operator_tester.py                 |    34 +
 ...dexing_suite2_shared_ptr_value_traits_tester.py |    39 +
 unittests/indexing_suite_v1_tester.py              |    49 +
 unittests/indexing_suites2_support_tester.py       |    48 +
 unittests/indexing_suites2_tester.py               |   106 +
 unittests/indexing_suites_tester.py                |    57 +
 unittests/indexing_suites_v2_bug_tester.py         |    53 +
 unittests/inner_base_class_tester.py               |    41 +
 unittests/inner_class_bug_tester.py                |    38 +
 unittests/inner_tmpl_class_tester.py               |    35 +
 unittests/internal_classes_tester.py               |    32 +
 unittests/mailing_list_help_tester.py              |    47 +
 unittests/make_constructor_tester.py               |    42 +
 unittests/mdecl_wrapper_tester.py                  |   110 +
 unittests/mem_fun_with_exception_tester.py         |    38 +
 unittests/mem_var_compile_error_bug_tester.py      |    47 +
 unittests/member_functions_tester.py               |   150 +
 unittests/member_variables_tester.py               |   134 +
 unittests/module_body_tester.py                    |    49 +
 unittests/module_properties_tester.py              |    37 +
 unittests/namespaces_tester.py                     |    32 +
 unittests/no_init_tester.py                        |    65 +
 unittests/non_overridable_tester.py                |    63 +
 unittests/noncopyable_tester.py                    |    36 +
 unittests/ogre_generate_tester.py                  |    62 +
 unittests/operators_bug_tester.py                  |    48 +
 unittests/operators_tester.py                      |   123 +
 unittests/optional_bug_tester.py                   |    32 +
 unittests/optional_tester.py                       |    41 +
 unittests/overloads_macro_tester.py                |    51 +
 unittests/override_bug_tester.py                   |    77 +
 .../overriden_virtual_functions_bug_tester.py      |    40 +
 unittests/particle_universe_generate_tester.py     |    58 +
 unittests/pointer_as_arg_tester.py                 |    34 +
 unittests/pointer_to_function_as_argument.py       |    33 +
 unittests/precompiled_header_tester.py             |    47 +
 unittests/private_assign_tester.py                 |    34 +
 unittests/properties_tester.py                     |    58 +
 unittests/protected_bug_tester.py                  |    47 +
 unittests/protected_tester.py                      |    83 +
 unittests/recursive_tester.py                      |    53 +
 unittests/refee_refer_tester.py                    |    37 +
 unittests/regression1_tester.py                    |    63 +
 unittests/regression2_tester.py                    |    40 +
 unittests/regression3_tester.py                    |    59 +
 unittests/return_auto_ptr_tester.py                |    61 +
 unittests/return_ref_to_ptr_tester.py              |    37 +
 unittests/sconstruct                               |    44 +
 unittests/selection_bug_tester.py                  |    39 +
 unittests/smart_pointers_tester.py                 |   120 +
 unittests/special_operators_tester.py              |    59 +
 unittests/split_module_bug_tester.py               |    55 +
 .../split_module_indexing_suite_bug_tester.py      |    56 +
 unittests/split_module_tester.py                   |    82 +
 unittests/statics_tester.py                        |    37 +
 unittests/std_pair_tester.py                       |    35 +
 unittests/templates_tester.py                      |    46 +
 unittests/temporary_variable_tester.py             |    78 +
 unittests/test_all.py                              |   373 +
 unittests/throw_tester.py                          |    34 +
 unittests/tnfox_bugs_tester.py                     |    33 +
 unittests/transfer_ownership_old_tester.py         |   101 +
 unittests/transfer_ownership_tester.py             |   106 +
 unittests/unicode_bug.py                           |    37 +
 unittests/unions_tester.py                         |    59 +
 unittests/unnamed_classes_tester.py                |    35 +
 unittests/unnamed_enums_tester.py                  |    40 +
 unittests/user_text_tester.py                      |    42 +
 unittests/vector3_tester.py                        |    49 +
 unittests/vector_with_shared_data_tester.py        |    59 +
 unittests/virtual_inheritance_tester.py            |    37 +
 724 files changed, 113752 insertions(+)

diff --git a/.hg_archival.txt b/.hg_archival.txt
new file mode 100644
index 0000000..6496fc8
--- /dev/null
+++ b/.hg_archival.txt
@@ -0,0 +1,4 @@
+repo: 41b24e5af81dd7836762dc9bf346ec7336e26e00
+node: 5578952c6b2fed11ac5fe03b94941c84af178ece
+branch: default
+tag: 1.6
diff --git a/.hgtags b/.hgtags
new file mode 100644
index 0000000..5a680a0
--- /dev/null
+++ b/.hgtags
@@ -0,0 +1 @@
+e7d903bac41b1d166ec12d6694e3ec60fec70459 1.1
diff --git a/LICENSE_1_0.txt b/LICENSE_1_0.txt
new file mode 100644
index 0000000..1dad8e9
--- /dev/null
+++ b/LICENSE_1_0.txt
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/MANIFEST.readme b/MANIFEST.readme
new file mode 100644
index 0000000..921836a
--- /dev/null
+++ b/MANIFEST.readme
@@ -0,0 +1 @@
+In order to create MANIFEST file you should run create_manifests.py script.
\ No newline at end of file
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..eef8b3f
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,49 @@
+Py++ - Boost.Python code generator
+========================================
+
+Py++ is a code generator for Boost.Python that simplifies writing
+Python bindings of a C/C++ library. The tool is implemented as a Python
+module which is controlled by a user script.
+
+
+Requirements
+------------
+
+In order to use Py++ you need the following additional components:
+
+- Python v2.6 (or higher)
+- pygccxml
+- GCC-XML
+
+
+Install
+-------
+
+The package uses the Python distutils so you can do the usual procedure:
+
+  python setup.py install
+
+For more information about using the distutils see the Python manual
+"Installing Python Modules".
+
+
+Documentation
+-------------
+
+For examples and tutorials see the Py++ web site. An API reference
+is available in the directory docs/apidocs in the source archive.
+
+If you obtained the source code from the subversion repository you
+have to build the API reference yourself. This can be done using the
+setup script:
+
+  python setup.py doc
+
+In order for this to work you need Sphinx and pygccxml.
+
+
+--------------------------------------------------------------------------
+Copyright 2004-2008 Roman Yakovenko.
+Distributed under the Boost Software License, Version 1.0. (See
+accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
diff --git a/announcement.txt b/announcement.txt
new file mode 100644
index 0000000..e1ac33c
--- /dev/null
+++ b/announcement.txt
@@ -0,0 +1,45 @@
+Hello!
+
+I'm pleased to announce the 1.0 release of Py++.
+
+What is Py++?
+=============
+
+Py++ is an object-oriented framework for creating a code generator for
+Boost.Python library.
+
+Where is Py++?
+==============
+
+Site: http://language-binding.net/pyplusplus/pyplusplus.html
+
+Download: http://language-binding.net/pyplusplus/download.html
+
+What's new?
+===========
+
+Features
+--------
+
+* Algorightm, which defines what virtual functions should be redefined was improved.
+
+* Exposing "C" code became easier - Py++ is able to generate ``ctypes`` friendly code.
+
+* Support for ``boost::python::make_constructor`` functionality was added.
+
+* Support for unions and unnamed classes was added.
+
+Bug fixes
+---------
+
+* Indexing Suite V2 - few bugs were fixed. 
+  
+  
+Contributors:
+
+* Julian Scheid
+* Oliver Schweitzer
+
+
+For a more complete list, with links to documentation, please see the news:
+http://language-binding.net/pyplusplus/history/history.html
diff --git a/contrib/__init__.py b/contrib/__init__.py
new file mode 100644
index 0000000..c776d1b
--- /dev/null
+++ b/contrib/__init__.py
@@ -0,0 +1,4 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/arrayinfo/arrayinfo.py b/contrib/arrayinfo/arrayinfo.py
new file mode 100644
index 0000000..a0cac0d
--- /dev/null
+++ b/contrib/arrayinfo/arrayinfo.py
@@ -0,0 +1,73 @@
+######################################################################
+# Array info
+#
+# Author: Matthias Baas (baas at ira.uka.de)
+######################################################################
+
+import os.path
+
+# ArrayInfo
+class ArrayInfo:
+    """Reads the information that was created by createarrayinfo.py.
+
+    Usage:
+
+    Create an instance of this class and either provide the file
+    name in the constructor or call read() manually. After the info
+    file has been read you can call arraySize() to retrieve the
+    size of a particular argument.
+    """
+
+    def __init__(self, datfile=None):
+        """Constructor.
+
+        datfile is the name of the file that contains the array size
+        information (as created by the createarrayinfo.py utility).
+        If a name is provided is already read in (so there's no need
+        to manually call read() anymore).
+        """
+
+        # Key: (filename, firstline, funcname)
+        self.funcargs = {}
+
+        if datfile!=None:
+            self.read(datfile)
+
+    # read
+    def read(self, datfile):
+        """Read an info file.
+        """
+
+        n = 0
+        for s in file(datfile, "rt"):
+            a = s.split(";")
+            filename, firstline, lastline, classname, funcname, args = a
+            firstline = int(firstline)
+            lastline = int(lastline)
+            args = eval(args)
+            key = (filename, lastline, funcname)
+            self.funcargs[key] = args
+            n += 1
+        print n,"entries read from",datfile
+
+    # arraySize
+    def arraySize(self, decl, idx):
+        """Return the array size of an argument.
+
+        decl is the pygccxml calldef declaration whose argument list
+        should be inspected. idx is the index of the argument (0-based).
+        The return value is None if the argument is no array or the
+        array size is not known, otherwise the size of the array is
+        returned.
+        """
+        filename = os.path.normpath(decl.location.file_name)
+        line = decl.location.line
+        funcname = decl.name
+        args = self.funcargs.get((filename, line, funcname))
+        if args==None:
+            return None
+        if idx>=len(args):
+            return None
+        else:
+            return args[idx]
+
diff --git a/contrib/arrayinfo/cpptokenize.py b/contrib/arrayinfo/cpptokenize.py
new file mode 100644
index 0000000..c005840
--- /dev/null
+++ b/contrib/arrayinfo/cpptokenize.py
@@ -0,0 +1,127 @@
+###########################################################################
+# C/C++ tokenizer
+# Copyright (C) 2006 Matthias Baas (baas at ira.uka.de)
+###########################################################################
+
+"""C/C++ tokenizer module.
+
+This module provides the function tokenize() that just works like the
+equivalent Python function with the only difference that it scans
+C/C++ source code.
+"""
+
+import re, os.path
+
+WHITESPACE = 0
+NAME       = 1
+NUMBER     = 2
+STRING     = 3
+NEWLINE    = 4
+OPERATOR   = 5
+CHARACTER  = 6
+
+# tokenize
+def tokenize(readline, tokeater, preprocessed=True):
+    """Reads a C/C++ input stream and creates tokens.
+
+    The first parameter, readline, must be a callable object which
+    provides the same interface as the readline() method of built-in
+    file objects. Each call to the function should return one line of
+    input as a string.
+
+    The second parameter, tokeneater, must also be a callable object.
+    It is called with six parameters: the token type, the token
+    string, a tuple (srow, scol) specifying the row and column where
+    the token begins in the source, a tuple (erow, ecol) giving the
+    ending position of the token, the line on which the token was
+    found and the filename of the current file.
+
+    By default the filename argument is an empty string. It will only
+    be the actual filename if you provide a preprocessed file stream
+    as input (so you should first run cpp on any source code). The
+    tokenizer actually expects preprocessed data as it doesn't handle
+    comments. If preprocessed is False, any preprocessor directive is
+    also considered to be a token.
+    """
+    
+    regs =  ( (WHITESPACE, re.compile(r"[ \t]+")),
+              (NAME,       re.compile(r"[A-Za-z_][A-Za-z_0-9]*")),
+              (NUMBER,     re.compile(r"[0-9]+(\.[0-9]+)?(E(\+|-)?[0-9]+)?")),
+              (STRING,     re.compile(r"\"[^\"]*\"|'[^\']*\'")),
+              (OPERATOR,   re.compile(r"->|::|\+\+|--|->\*|\.\*|<<|>>|<=|>=|==|!=|&&|\|\||\+=|-=|\*=|/=|%=|&=|\^=|\|=|<<=|>>=|\(|\)|\[|\]|\.|\+|-|!|~|\*|/|&|\^|%|<|>|\?|:|=")),
+              (NEWLINE,    re.compile(r"\n"))
+            )
+
+    refilename = re.compile(r'\"[^\"]*\"')
+
+    linenr   = 0
+    filename = ""
+    while 1:
+        # Read next line
+        line = readline()
+        # No more lines? then finish
+        if line=="":
+            break
+
+        linenr+=1
+        # Base for starting column...
+        scolbase = 0
+
+        # Process preprocessor lines...
+        if preprocessed and line[0]=="#":
+            try:
+                line0 = line.strip()
+                f = line0.split(" ")
+                linenr = int(f[1])-1
+                m = refilename.search(line0)
+                if m==None:
+                    filename = os.path.normpath(f[2][1:-1])
+                else:
+                    filename = line0[m.start()+1:m.end()-1]
+            except:
+                pass
+            continue
+
+        s = line
+
+        # Create tokens...
+        while s!="":
+            unmatched=1
+            # Check all regular expressions...
+            for r in regs:
+                m=r[1].match(s)
+                # Does it match? then the token is found
+                if m!=None:
+                    scol = m.start()
+                    ecol = m.end()
+                    tok = s[scol:ecol]
+                    s   = s[ecol:]
+                    typ = r[0]
+                    tokeater(typ, tok, (linenr, scolbase+scol), (linenr, scolbase+ecol), line, filename)
+                    scolbase += ecol
+                    unmatched=0
+                    continue
+
+            # No match? then report a single character...
+            if unmatched:
+                tok = s[0]
+                tokeater(CHARACTER, tok, (linenr, scolbase), (linenr, scolbase+1), line, filename)
+                s = s[1:]
+                scolbase += 1
+            
+            
+def _tokeater(type, s, start, end, line, filename):
+    """Test token eater."""
+    if type==WHITESPACE or type==NEWLINE:
+        return
+    type_str = ["WHITESPACE", "NAME", "NUMBER", "STRING", "NEWLINE", "OPERATOR", "CHARACTER"]
+        
+    print "Token: %-11s %-20s %s %s %s"%(type_str[type],s, start,end,filename)
+
+######################################################################
+
+if __name__=="__main__":
+
+    f=open("header.h")
+    tokenize(f.readline, _tokeater)
+    
diff --git a/contrib/arrayinfo/createarrayinfo.py b/contrib/arrayinfo/createarrayinfo.py
new file mode 100755
index 0000000..6800148
--- /dev/null
+++ b/contrib/arrayinfo/createarrayinfo.py
@@ -0,0 +1,169 @@
+#!/usr/bin/env python
+######################################################################
+# This tool parses header files inside a directory and stores info
+# about the array size of function arguments into a file for later
+# retrieval.
+#
+# usage: createarrayinfo.py [options] <headerpath>
+#
+# options:
+#   -h, --help            show this help message and exit
+#   -o FILENAME, --output=FILENAME
+#                         Output file name (default: stdout)
+#   -a ARGSTRING, --cppargs=ARGSTRING
+#                         Additional C preproceesor arguments
+#
+# Author: Matthias Baas (baas at ira.uka.de)
+######################################################################
+
+import sys, os, os.path, glob, optparse
+from cpptokenize import *
+
+# Parser
+class Parser:
+    """Parser class.
+
+    This class contains the token eater method that processes the tokens
+    generated by cpptokenize.
+    Whenever a function signature is parsed a line is written to the output.
+    """
+    
+    def __init__(self, headerpath, output=sys.stdout):
+        """Constructor.
+        """
+        
+        self.headerpath = os.path.normpath(headerpath)
+        self.output = output
+
+        # Buffer for the last NAME token (which might be a function name)
+        self.lastname = None
+        # The current state
+        self.state = "Outside"
+
+        self.classname = None
+        self.funcname = None
+        self.args = None
+        self.arraysize = None
+        self.no_arg = False
+        self.firstline = None
+    
+    def tokeater(self, type, s, start, end, line, filename):
+        """Token eater."""
+        if type==WHITESPACE or type==NEWLINE:
+            return
+
+        method = getattr(self, "state%s"%self.state)
+        method(type, s, start, end, line, filename)
+
+    # The state methods. They are called by the token eater and must take
+    # the same arguments than the token eater.
+
+    def stateOutside(self, type, s, start, end, line, filename):
+        if type==NAME and s=="class":
+            self.state = "ClassName"
+        if type==NAME:
+            self.firstline = start[0]
+            self.lastname = s
+        elif self.lastname=="operator":
+            self.lastname += s
+        elif type==OPERATOR and s=="(":
+            self.funcname = self.lastname
+            self.args = []
+            self.arraysize = None
+            self.no_arg = True
+            self.state = "Args"
+
+    def stateClassName(self, type, s, start, end, line, filename):
+        if s.upper()==s:
+            return
+        self.classname = s
+        self.state = "Outside"
+
+    def stateArgs(self, type, s, start, end, line, filename):
+        if s==")":
+            if not self.no_arg:
+                self.args.append(self.arraysize)
+            self.state = "End"
+        elif s==",":
+            self.args.append(self.arraysize)
+            self.arraysize = None
+        elif s=="[":
+            self.state = "ArgsSize"
+        self.no_arg = False
+
+    def stateArgsSize(self, type, s, start, end, line, filename):
+        if s=="]":
+            self.state = "Args"
+        else:
+            self.arraysize = int(s)
+            self.state = "Args"
+
+    def stateEnd(self, type, s, start, end, line, filename):
+        if s==";":
+            if os.path.normpath(os.path.dirname(filename))==self.headerpath:
+                self.onFuncComplete(self.classname, self.funcname, self.args, self.firstline, end[0], filename)
+            self.state = "Outside"
+        
+
+    def onFuncComplete(self, classname, funcname, args, firstline, lastline, filename):
+        """Callback that is called when one function is completely processed.
+        """
+        print >>self.output, "%s;%d;%d;%s;%s;%s"%(filename, firstline, lastline, classname, funcname, args)
+
+
+# parseHeader
+def parseHeader(filename, cpp="cpp", cppargs="", output=sys.stdout):
+    """Parse a header file.
+
+    filename is the header file name and cppargs is a string with
+    additional arguments for the invocation of the preprocessor 'cpp'.
+    output is the output stream.
+    """
+    # Run the file through the preprocessor...
+    filename = os.path.abspath(filename)
+    print >>sys.stderr, "Parsing",filename
+    cmd = '%s %s "%s" >_tmp.h'%(cpp, cppargs, filename.replace(" ", "\\ "))
+    print >>sys.stderr, cmd
+    os.system(cmd)
+
+    # Parse the preprocessed file...
+    parser = Parser(os.path.dirname(filename), output)
+    tokenize(file("_tmp.h").readline, parser.tokeater)
+
+######################################################################
+
+# Preprocessor
+cpp = "cpp"
+# Preprocessor arguments
+cppargs = ""
+# Output stream
+output = sys.stdout
+
+usage = "usage: %prog [options] <headerpath>"
+op = optparse.OptionParser(usage)
+op.add_option("-o", "--output", metavar="FILENAME",
+              help="Output file name")
+op.add_option("-a", "--cppargs", metavar="ARGSTRING", default="",
+              help="Additional C preproceesor arguments")
+
+options, args = op.parse_args()
+
+if len(args)==0:
+    op.print_help()
+    sys.exit(1)
+
+if options.output!=None:
+    print >>sys.stderr, "Output file: %s"%options.output
+    output = file(options.output, "wt")
+
+headerpath = args[0]
+headernames = os.path.join(headerpath, "*.h")
+print >>sys.stderr, "Input files: %s"%headernames
+
+cppargs = options.cppargs
+print >>sys.stderr, "Preprocessor args: %s"%cppargs
+
+headers = glob.glob(headernames)
+print >>sys.stderr, "%d header files found"%len(headers)
+for header in headers:
+    parseHeader(header, cpp, cppargs, output)
diff --git a/contrib/arrayinfo/readme.txt b/contrib/arrayinfo/readme.txt
new file mode 100644
index 0000000..70429d1
--- /dev/null
+++ b/contrib/arrayinfo/readme.txt
@@ -0,0 +1,33 @@
+Array info utility
+==================
+
+Author: Matthias Baas (baas at ira.uka.de)
+
+This directory contains a small utility that can be used to determine
+the array size of a function argument. For example, suppose you have
+a C function that is defined as:
+
+  void foo(double v[3]);
+
+When this function is parsed by gccxml the type of "v" will just be
+reported as "double *" and the array size has got lost.
+However, for creating Python wrappers the array size is a valuable
+information that can be exploited for creating appropriate wrapper
+functions automatically.
+
+The command line utility "createarrayinfo.py" can be used to parse
+the original header files and extract just the above array sizes
+from function definitions. This information is stored in a file that
+can then be read by your own Python scripts that create Python bindings
+using pyplusplus. In your own scripts you can use the "arrayinfo" module
+to read the info file and query the array size of a particular argument
+from a particular function (given as a pygccxml declaration object).
+
+See the comments and doc strings in the Python files to get more 
+usage information.
+
+NOTE: While the utility did work for me, it is not as general to deal
+with all eventualities (it only uses a very simple C/C++ parser).
+So it might well be that you have to adjust the code in 
+createarrayinfo.py to your own needs.
+
diff --git a/contrib/doc_extractors/LICENSE_1_0.txt b/contrib/doc_extractors/LICENSE_1_0.txt
new file mode 100644
index 0000000..1dad8e9
--- /dev/null
+++ b/contrib/doc_extractors/LICENSE_1_0.txt
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/contrib/doc_extractors/doxygen.py b/contrib/doc_extractors/doxygen.py
new file mode 100644
index 0000000..6ec2b9e
--- /dev/null
+++ b/contrib/doc_extractors/doxygen.py
@@ -0,0 +1,232 @@
+"""
+Fixed and improved version based on "extracting from C++ doxygen documented file Author G.D." and py++ code.
+
+Distributed under the Boost Software License, Version 1.0. (See
+accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+"""
+
+class doxygen_doc_extractor:
+	"""
+	Extracts Doxygen styled documentation from source or generates it from description.
+	"""
+	def __init__(self):
+		#for caching source
+		self.file_name = None
+		self.source = None
+	#__init__
+
+	def __call__(self, declaration):
+		try:
+			if self.file_name != declaration.location.file_name:
+				self.file_name = declaration.location.file_name
+				self.source = open(declaration.location.file_name).readlines()
+
+			find_block_end = False
+			doc_lines = []
+			for lcount in xrange(declaration.location.line-2, -1, -1):
+				line = self.source[lcount]
+				if not find_block_end:
+					try:
+						print line.rstrip()[-2:]
+						if line.rstrip()[-2:] == "*/":
+							find_block_end = True
+					except:
+						pass
+				if find_block_end:
+					try:
+						if line.lstrip()[:2] == "/*":
+							find_block_end = False
+					except:
+						pass
+				final_str = self.clear_str(line)
+				if not find_block_end and self.is_code(line):
+					break
+				if final_str:
+					doc_lines.insert(0, final_str)
+		except:
+			pass
+		finally:
+			if doc_lines:
+				final_doc_lines = [ line.replace("\n","\\n") for line in doc_lines[:-1] ]
+				final_doc_lines.append(doc_lines[-1].replace("\n",""))
+				return '\"' + ''.join(final_doc_lines) + '\"'
+			else:
+				return '\"\"'
+	#__call__()
+
+	def clear_str(self, tmp_str):
+		"""
+		Replace */! by space and \brief, @fn, \param, etc
+		"""
+		tmp_str = reduce(clean, [tmp_str, '/','*','!',"\\brief","@brief","\\fn","@fn","\\ref","@ref", "\"", "\'", "\\c"])
+
+		#commands list taken form : http://www.stack.nl/~dimitri/doxygen/commands.html
+		replacement_list = [
+#			"a",
+			"addindex",
+			"addtogroup",
+			"anchor",
+			"arg",
+			"attention",
+			"author",
+#			"b",
+#			"brief",
+			"bug",
+#			"c",
+			"callgraph",
+			"callergraph",
+			"category",
+			"class",
+			("code","[Code]"),
+			"cond",
+			"copybrief",
+			"copydetails",
+			"copydoc",
+			"date",
+			"def",
+			"defgroup",
+			"deprecated",
+			"details",
+			"dir",
+			"dontinclude",
+			("dot","[Dot]"),
+			"dotfile",
+			"e",
+			"else",
+			"elseif",
+			"em",
+			("endcode","[/Code]"),
+			"endcond",
+			("enddot","[/Dot]"),
+			"endhtmlonly",
+			"endif",
+			"endlatexonly",
+			"endlink",
+			"endmanonly",
+			"endmsc",
+			"endverbatim",
+			"endxmlonly",
+			"enum",
+			"example",
+			"exception",
+			"extends",
+			"f$",
+			"f[",
+			"f]",
+			"f{",
+			"f}",
+			"file",
+#			"fn",
+			"headerfile",
+			"hideinitializer",
+			"htmlinclude",
+			"htmlonly",
+			"if",
+			"ifnot",
+			"image",
+			"implements",
+			"include",
+			"includelineno",
+			"ingroup",
+			"internal",
+			"invariant",
+			"interface",
+			"latexonly",
+			"li",
+			"line",
+			"link",
+			"mainpage",
+			"manonly",
+			"memberof",
+			"msc",
+#			"n",
+			"name",
+			"namespace",
+			"nosubgrouping",
+			"note",
+			"overload",
+#			"p",
+			"package",
+			"page",
+			"par",
+			"paragraph",
+			"param",
+			"post",
+			"pre",
+#			"private (PHP only)",
+#			"privatesection (PHP only)",
+			"property",
+#			"protected (PHP only)",
+#			"protectedsection (PHP only)",
+			"protocol",
+#			"public (PHP only)",
+#			"publicsection (PHP only)",
+#			"ref",
+			"relates",
+			"relatesalso",
+			"remarks",
+			"return",
+			"retval",
+			"sa",
+			"section",
+			"see",
+			"showinitializer",
+			"since",
+			"skip",
+			"skipline",
+			"struct",
+			"subpage",
+			"subsection",
+			"subsubsection",
+			"test",
+			"throw",
+			("todo","TODO"),
+			"tparam",
+			"typedef",
+			"union",
+			"until",
+			"var",
+			"verbatim",
+			"verbinclude",
+			"version",
+			"warning",
+			"weakgroup",
+			"xmlonly",
+			"xrefitem",
+#			"$",
+#			"@",
+#			"\",
+#			"&",
+#			"~",
+#			"<",
+#			">",
+#			"#",
+#			"%",
+			]
+
+		for command in replacement_list:
+			try:
+				old,new = command
+			except ValueError:
+				old = command
+				new = command.capitalize()+":"
+			tmp_str = clean(tmp_str, "@"+old, new)
+			tmp_str = clean(tmp_str, "\\"+old, new)
+
+		return tmp_str.lstrip()
+	#clean_str()
+
+	def is_code(self, tmp_str):
+		"""
+		Detects if tmp_str is code or not
+		"""
+		try:
+			beg = tmp_str.lstrip()[:2]
+			return beg != "//" and beg != "/*"
+		except:
+			pass
+		return False
+	#is_code()
+
+#class doxygen_doc_extractor
diff --git a/contrib/doc_extractors/permissions.txt b/contrib/doc_extractors/permissions.txt
new file mode 100644
index 0000000..8b73a2e
Binary files /dev/null and b/contrib/doc_extractors/permissions.txt differ
diff --git a/contrib/doc_extractors/readme.txt b/contrib/doc_extractors/readme.txt
new file mode 100644
index 0000000..ff5b9c9
--- /dev/null
+++ b/contrib/doc_extractors/readme.txt
@@ -0,0 +1,19 @@
+Content:
+    This directory contains functionality that extracts documentation string
+from C++ source files. 
+
+How to integrate the functionality with pyplusplus?
+ 
+  mb = module_builder_t( ... )
+  mb.build_code_creator( ..., doc_extractor=my_doc_extractor )
+
+What is "my_doc_extractor"? Well, "my_doc_extractor" is callable object,
+that takes only one argument - declaration reference and returns documentation
+string. Something like this:
+
+def my_doc_extractor( decl ):
+    return decl.location.file_name + str( decl.location.line ) 
+    
+Yes, every declaration contains next information:
+  1. Full path to file it was defined in.
+  2. Line number.
diff --git a/contrib/goodies/__init__.py b/contrib/goodies/__init__.py
new file mode 100644
index 0000000..6cd228a
--- /dev/null
+++ b/contrib/goodies/__init__.py
@@ -0,0 +1,19 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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: 
+#   Allen Bierbaum
+#
+
+#import goodie_perf_overrides
+import goodie_overrides
+
+from goodie_utils import (set_recursive_default, set_allow_empty_mdecl_default,
+                          finalize, decl_from_typedef,
+                          add_member_function, wrap_method, add_method, 
+                          is_const_ref, exclude_protected, wrap_const_ref_params,
+                          TemplateBuilder)
+
+from dsl_interface import *
diff --git a/contrib/goodies/dsl_interface.py b/contrib/goodies/dsl_interface.py
new file mode 100644
index 0000000..ee0c2b8
--- /dev/null
+++ b/contrib/goodies/dsl_interface.py
@@ -0,0 +1,48 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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: 
+#   Allen Bierbaum
+#
+
+# Dictionary of this module. Useful for adding symbols
+mod_dict = globals()
+
+# Bring in the module builder and alias it
+import pyplusplus.module_builder
+ModuleBuilder = pyplusplus.module_builder.module_builder_t
+set_logger_level = pyplusplus.module_builder.set_logger_level
+
+# Bring in all call policy symbols
+from pyplusplus.module_builder.call_policies import *
+
+from pyplusplus.decl_wrappers import print_declarations
+
+
+# Type traits
+# - just import them all.  This isn't pretty, but it will work for now
+from pygccxml.declarations.type_traits import *
+
+# cpptypes
+# - import them all and leave them named X_t because they are "types" and
+#   this seems like a good way to keep that in mind.
+#   This may end up being a bad idea.  I don't know yet, so for now we will 
+#   try it and see what happens.
+from pygccxml.declarations.cpptypes import *
+from pygccxml.declarations.calldef import *
+
+# Matchers
+# - Bring in all matchers but rename then without the '_t' at the end
+import pygccxml.declarations.matchers
+#for n in ["matcher_base_t","or_matcher_t","and_matcher_t","not_matcher_t",
+#          "declaration_matcher_t","calldef_matcher_t","namespace_matcher_t",
+#          "variable_matcher_t","regex_matcher_t","access_type_matcher_t",
+#          "operator_matcher_t","custom_matcher_t","virtuality_type_matcher_t"]:
+#   mod_dict[n[:-2]] = pygccxml.declarations.matchers.__dict__[n]
+
+from pygccxml.declarations import (or_matcher, and_matcher, not_matcher, declaration_matcher,
+                                   calldef_matcher, namespace_matcher, variable_matcher,
+                                   regex_matcher, access_type_matcher, operator_matcher,
+                                   custom_matcher, virtuality_type_matcher)
diff --git a/contrib/goodies/goodie_overrides.py b/contrib/goodies/goodie_overrides.py
new file mode 100644
index 0000000..4e23de4
--- /dev/null
+++ b/contrib/goodies/goodie_overrides.py
@@ -0,0 +1,64 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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:
+#   Allen Bierbaum
+#
+# This file defines overrides to the standard pyplusplus behavior
+#
+
+# --- Over ride the behavior of mdecl_wrapper ---- #
+import pygccxml.declarations
+pd = pygccxml.declarations
+mdecl_wrapper = pd.mdecl_wrapper
+
+# Define the call redirector so it can return arguments
+# This method will now return multiple arguments by
+# concatenating the arguments returned from the individual calls.
+# If the returns arguments are delcarations, then it will wrap them
+# to create an mdecl holder.
+def new_call_redirector_t__call__(self, *arguments, **keywords):
+   results = []
+   for d in self.decls:
+      callable_ = getattr(d, self.name)
+      answer = callable_( *arguments, **keywords )
+      results.append( answer )
+   
+   #I assume that all functions will return same type:
+   if not results:
+      return
+   
+   # If all elements are a decl type
+   # - Extract all decls and make a new decl wrapper
+   if not False in [isinstance(x,(pd.declaration_t,pd.mdecl_wrapper_t)) for x in results]:
+      all_decls = []
+      for x in results:
+         if isinstance( x, pd.declaration_t ):
+            all_decls.append(x)
+         elif isinstance( x, pd.mdecl_wrapper_t ):
+            all_decls.extend(x.declarations)
+         else:
+            assert False, "Should not get here"
+      return pd.mdecl_wrapper_t( all_decls )
+   # Otherwise, just return the list
+   else:
+      return results
+
+mdecl_wrapper.call_redirector_t.__call__ = new_call_redirector_t__call__
+
+# Override the mdecl_wrapper_t.__getitem__ method
+# - Adds support for calling getitem ( []'s ) on sub decls
+#  ie. ns["Class"]["method"].exclude()  
+def new_mdecl_wrapper_t__getitem__(self,index):
+   """Provide access to declaration.
+      If passed a standard index, then return contained decl.
+      Else call the getitem method of the contained decls.
+   """
+   if isinstance(index, (int, slice)):
+      return self.declarations[index]
+   else:
+      return self.__getattr__("__getitem__")(index)
+mdecl_wrapper.mdecl_wrapper_t.__getitem__ = new_mdecl_wrapper_t__getitem__   
+
diff --git a/contrib/goodies/goodie_perf_overrides.py b/contrib/goodies/goodie_perf_overrides.py
new file mode 100644
index 0000000..d9b7a69
--- /dev/null
+++ b/contrib/goodies/goodie_perf_overrides.py
@@ -0,0 +1,224 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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:
+#   Allen Bierbaum
+#
+# This file defines overrides to the standard pyplusplus behavior
+#
+import time, os
+
+print "Using Goodie perf overrides:"
+
+# --- Override the behavior of mdecl_wrapper ---- #
+import pygccxml.declarations.type_traits
+
+#
+# Increased performance by 20%
+#
+def override_tt_remove_alias(tp):
+    """returns type without typedefs"""
+    if not tp:
+        return tp
+    ret_val = getattr(tp,"_cache_ra", None)
+    if not ret_val:
+       ret_val = pygccxml.declarations.type_traits.__remove_alias( tp, False )
+       setattr(tp,"_cache_ra",ret_val)
+    return ret_val
+
+#pygccxml.declarations.type_traits.remove_alias = override_tt_remove_alias
+#print "   overriding type_traits.remove_alias"
+
+# --------------- create_identifier --------------- #
+import pyplusplus.code_creators.algorithm
+import pyplusplus.decl_wrappers.algorithm
+import pyplusplus.code_creators
+import pyplusplus.code_creators.class_declaration
+
+def override_create_identifier(creator, full_name ):
+    """
+    This function will find all relevant namespace aliases and will return new 
+    full name that takes into account namespace aliases. 
+    Override: Temporary.  Hack that is not portable.
+    """
+    return full_name
+
+pyplusplus.decl_wrappers.algorithm.create_identifier = override_create_identifier
+pyplusplus.code_creators.algorithm.create_identifier = override_create_identifier
+
+print "   overriding decl_wrapper.algorithm.create_identifier."
+
+# -------------- MB Cache --------------- #
+import pyplusplus.module_builder
+
+from pygccxml import parser
+from pygccxml import declarations as decls_package
+
+from pyplusplus import _logging_
+from pyplusplus import decl_wrappers
+from pyplusplus import file_writers
+from pyplusplus import code_creators
+from pyplusplus import module_creator as mcreator_package
+
+import cPickle, md5, os.path, gzip
+from pygccxml.parser.declarations_cache import file_signature, configuration_signature
+
+class ModuleBuilderCache(object):
+    """ Wrapper for handling the caching (loading and saving) of a cache
+        For a single decl tree.
+        
+        Cache content format:
+           - tuple:
+              - md5 hex of cfg sig and file_sigs for src files
+              - md5 hex sig of implicit includes
+              - list of implicit includes)
+           - decl tree
+    """
+    def __init__(self, cacheFileName):
+        self.cacheFileName = cacheFileName   
+        self.logger = _logging_.loggers.module_builder
+        
+    def computeSrcAndCfgDigest(self, srcFiles, configSig):
+        sig = md5.new()
+        sig.update(configSig)
+        for f in srcFiles:
+            sig.update(file_signature(f))
+        return sig.hexdigest()
+        
+    
+    def getCachedTree(self, sourceFiles, configSig):
+        """ Attempt to read a cache decl tree from the cache.
+        
+            sourceFiles - A list of source files for the module builder
+            configuration - A pygccxml configuration object being used.
+            returns: None if failed sigs or none found.
+        """
+        ret_val = None
+        
+        if os.path.exists(self.cacheFileName):
+            src_and_cfg_digest = self.computeSrcAndCfgDigest(sourceFiles, configSig)
+            
+            self.logger.info("Attempting to load module cache file: %s"%self.cacheFileName)
+            cache_file = file(self.cacheFileName, 'rb')
+            (cached_src_and_cfg_digest, includes_digest, includes) = cPickle.load(cache_file)
+            
+            if (cached_src_and_cfg_digest == src_and_cfg_digest):                
+                inc_sig = md5.new()
+                for f in [ x for x in includes if os.path.isfile(x)]:
+                    inc_sig.update(file_signature(f))
+                if inc_sig.hexdigest() == includes_digest:
+                    load_start_time = time.time()
+                    self.logger.info("   Signatures matched, loading data.")
+                    ret_val = cPickle.load(cache_file)
+                    self._module_builder_t__code_creator = None
+                    self.logger.info("   Loading complete. %ss"%(time.time()-load_start_time))
+                else:
+                    self.logger.info("    Sig mis-match: Implicit include files changes.")
+            else:
+                self.logger.info("   Sig mis-match: Source files or configuration changed.")
+            cache_file.close()
+            
+            return ret_val
+
+    def dumpCachedTree(self, sourceFiles, configSig, declTree):
+        self.logger.info("Writing module cache... ")
+        cache_file = file(self.cacheFileName,'wb')
+        
+        src_and_cfg_digest = self.computeSrcAndCfgDigest(sourceFiles, configSig)
+        decl_files = [ f for f in decls_package.declaration_files(declTree) if os.path.isfile(f)]        
+        inc_sig = md5.new()
+        for f in decl_files:
+            inc_sig.update(file_signature(f))
+            
+        cPickle.dump( (src_and_cfg_digest, inc_sig.hexdigest(), decl_files), 
+                      cache_file, cPickle.HIGHEST_PROTOCOL)
+        cPickle.dump(declTree, cache_file, cPickle.HIGHEST_PROTOCOL)
+        cache_file.close()
+        self.logger.info("Complete.")
+        
+
+def mb_override__init__( self
+              , files
+              , gccxml_path=''
+              , working_directory='.'
+              , include_paths=None
+              , define_symbols=None
+              , undefine_symbols=None
+              , start_with_declarations=None
+              , compilation_mode=None
+              , cache=None
+              , optimize_queries=True
+              , ignore_gccxml_output=False
+              , indexing_suite_version=1
+              , cflags=""
+              , dependent_headers=[]):
+    """  See standard method. 
+       dependent_headers: A list of header files (full paths) that this module depends
+                  upon and should be made part of the cache signature.
+    """
+    object.__init__( self )
+    self.logger = _logging_.loggers.module_builder
+    gccxml_config = parser.config_t(
+        gccxml_path=gccxml_path
+        , working_directory=working_directory
+        , include_paths=include_paths
+        , define_symbols=define_symbols
+        , undefine_symbols=undefine_symbols
+        , start_with_declarations=start_with_declarations
+        , ignore_gccxml_output=ignore_gccxml_output
+        , cflags=cflags)
+
+    #may be in future I will add those directories to user_defined_directories
+    #to self.__code_creator.
+    self._module_builder_t__working_dir = os.path.abspath( working_directory )
+
+    self._module_builder_t__parsed_files = map( decls_package.filtering.normalize_path
+                               , parser.project_reader_t.get_os_file_names( files ) )
+    tmp = map( lambda file_: os.path.split( file_ )[0], self._module_builder_t__parsed_files )
+    self._module_builder_t__parsed_dirs = filter( None, tmp )
+    
+    self._module_builder_t__global_ns = None
+
+    # Have to do it here because the parser changes the config :(
+    config_sig = configuration_signature(gccxml_config)
+    
+    # If we have a cache filename
+    # - Compute signature and check it against file
+    # - If matches, load it
+    if cache and os.path.exists(cache):        
+        mb_cache = ModuleBuilderCache(cache)
+        self._module_builder_t__global_ns = \
+            mb_cache.getCachedTree(self._module_builder_t__parsed_files, config_sig)
+        self._module_builder_t__code_creator = None
+    
+    # If didn't load global_ns from cache
+    # - Parse and optimize it
+    # - Then save to cache if requested
+    if not self._module_builder_t__global_ns:
+        self.logger.info("Parsing declarations.")
+        self._module_builder_t__global_ns = self._module_builder_t__parse_declarations( files
+                                                      , gccxml_config
+                                                      , compilation_mode
+                                                      , None
+                                                      , indexing_suite_version)
+        self._module_builder_t__code_creator = None
+        if optimize_queries:
+            self.logger.info("Running optimizer.")
+            self.run_query_optimizer()
+        
+        if cache:
+            mb_cache = ModuleBuilderCache(cache)
+            mb_cache.dumpCachedTree(self._module_builder_t__parsed_files,
+                                    config_sig, self._module_builder_t__global_ns)            
+
+    self._module_builder_t__declarations_code_head = []
+    self._module_builder_t__declarations_code_tail = []
+
+    self._module_builder_t__registrations_code_head = []
+    self._module_builder_t__registrations_code_tail = []
+
+#pyplusplus.module_builder.module_builder_t.__init__ = mb_override__init__
+#print "   overriding module_builder.__init__ with cache."
+
diff --git a/contrib/goodies/goodie_utils.py b/contrib/goodies/goodie_utils.py
new file mode 100644
index 0000000..37f344d
--- /dev/null
+++ b/contrib/goodies/goodie_utils.py
@@ -0,0 +1,274 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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:
+#   Allen Bierbaum
+#
+import pygccxml.declarations as pd
+from pyplusplus.module_builder.call_policies import *
+import pyplusplus.module_builder
+import pygccxml.declarations.type_traits as tt
+import pygccxml.declarations.cpptypes as cpptypes
+import pyplusplus.code_creators as code_creators
+import pyplusplus.decl_wrappers as decl_wrappers
+import copy
+import re
+
+# TODO:
+# - extend add_member_function to include method to add
+
+def set_recursive_default(val):
+   pd.scopedef_t.RECURSIVE_DEFAULT = val
+
+def set_allow_empty_mdecl_default(val):
+   pd.scopedef_t.ALLOW_EMPTY_MDECL_WRAPPER = val
+
+def decl_from_typedef(decl):
+   """ decl: decl or mdecl with typedef.  Return the "real" decl. """
+   typedef_decl = decl
+   if isinstance(typedef_decl, pd.mdecl_wrapper_t):
+      typedef_decl = decl[0]   
+   assert isinstance(typedef_decl, pd.typedef_t)
+   return typedef_decl.type.declaration
+
+   
+def finalize(cls, finalize_pure_virtuals=False):
+   """ Attempt to finalize a class by not exposing virtual methods.
+         Still exposes in the case of pure virtuals otherwise the class
+         could not be instantiated.
+   """
+   if isinstance(cls, pd.mdecl_wrapper_t):
+      for x in cls:
+         finalize(x)
+   else:
+      matcher = pd.virtuality_type_matcher( pd.VIRTUALITY_TYPES.VIRTUAL )
+      if finalize_pure_virtuals:
+         matcher = matcher | pd.virtuality_type_matcher( pd.VIRTUALITY_TYPES.PURE_VIRTUAL)
+      members = cls.decls( matcher,
+                           decl_type=pd.member_calldef_t,
+                           allow_empty=True)
+      members.set_virtuality( pd.VIRTUALITY_TYPES.NOT_VIRTUAL ) 
+      
+      cls.decls(pd.access_type_matcher_t(pd.ACCESS_TYPES.PROTECTED),allow_empty=True).exclude()
+      cls.decls(pd.access_type_matcher_t(pd.ACCESS_TYPES.PRIVATE),allow_empty=True).exclude()
+      
+      wrapper_needs = cls.is_wrapper_needed()
+      if len(wrapper_needs):
+         print "Finalize failed for: ", cls.name
+         for x in wrapper_needs:
+            print "   ", x
+
+
+def add_member_function(cls, methodName, newMethod):
+   """ Add a member function to the class. """
+   cls.add_registration_code('def("%s",%s)'%(methodName, newMethod), True)
+
+def wrap_method(cls, methodName, newMethod):
+   """ Wrap a class method with a new method.
+         ex: c.wrapmethod(c,"doSomething","doSomethingWrapper")
+   """
+   cls[methodName].exclude()
+   add_member_function(cls, methodName, newMethod)
+
+def add_method(moduleBuilder, methodName, method):
+   """  Add a method to the module builder. """
+   code_text = 'boost::python::def("%s",%s);'%(methodName, method)
+   moduleBuilder.add_registration_code(code_text)   
+
+def is_const_ref(type):
+   """ Extra trait tester method to check if something is a const reference. """
+   is_const = tt.is_const(type) or (hasattr(type,'base') and tt.is_const(type.base))
+   is_ref = tt.is_reference(type) or (hasattr(type,'base') and tt.is_reference(type.base))
+   return (is_ref and is_const)
+   #[Roman]If you create unit tests for this code, I will add it to type traits module
+
+def exclude_protected(cls):
+   """ Exclude all protected declarations. """
+   cls.decls(pd.access_type_matcher_t(pd.ACCESS_TYPES.PROTECTED),allow_empty=True).exclude()
+
+def wrap_const_ref_params(cls):
+   """ Find all member functions of cls and if they take a const& to a class
+         that does not have a destructor, then create a thin wrapper for them.
+         This works around an issue with boost.python where it needs a destructor.
+   """
+   #[Roman] Obviously, this will only work, if the function does not need other
+   #wrapper, I think, this is a new use case for Matthias "arguments policies"
+   #functionality.
+   calldefs = cls.calldefs()
+
+   if None == calldefs:
+      return
+
+   for c in calldefs:
+      # Skip constructors
+      if isinstance(c, pd.constructor_t):
+         continue
+
+      # Find arguments that need replacing
+      args_to_replace = []   # List of indices to args to replace with wrapping
+      args = c.arguments
+      for i in range(len(args)):
+         arg = args[i]
+         if is_const_ref(arg.type):
+            naked_arg = tt.remove_cv(tt.remove_reference(arg.type))
+            if tt.is_class(naked_arg):
+               class_type = naked_arg.declaration
+               if not tt.has_public_destructor(class_type):
+                  print "Found indestructible const& arg: [%s]:[%s] "%(str(c), str(arg))
+                  args_to_replace.append(i)
+
+      # Now replace arguments
+      if len(args_to_replace):
+         if isinstance(c, pd.operator_t) and c.symbol in ["<","==","!=","="]:
+            c.exclude()
+            continue
+
+         new_args = copy.copy(args)   # Make new copy of args so we don't modify the existing method
+         for i in args_to_replace:
+            old_arg_type = args[i].type
+            if tt.is_reference(old_arg_type) and tt.is_const(old_arg_type.base):
+               new_args[i].type = cpptypes.reference_t(tt.remove_const(old_arg_type.base))
+            elif tt.is_const(old_arg):
+               new_args[i].type = tt.remove_const(old_arg_type)
+
+         wrapper_name = "%s_const_ref_wrapper"%c.name
+         args_str = [str(a) for a in new_args]
+         arg_names_str = [str(a.name) for a in new_args]
+         new_sig = "static %s %s(%s& self_arg, %s)"%(c.return_type,
+                                                     wrapper_name,
+                                                     pd.full_name(cls),
+                                                     ",".join(args_str))
+         new_method = """%s
+         { return self_arg.%s(%s); }
+         """%(new_sig,c.name,",".join(arg_names_str))
+
+         # Add it all
+         c.exclude()
+         
+         #[Roman] you can use cls.add_declaration_code, this could simplify the
+         #wrapper you created, because it will generate the code within the source
+         #file, the class is generated
+         cls.add_declaration_code(new_method)
+         
+         cls.add_registration_code('def("%s", &%s)'%(c.name, wrapper_name), 
+                                   works_on_instance=True)
+
+
+class TemplateWrapper:
+   """ Proxy for a template instance.  Returned from the TemplateBuilder
+       to allow access to the template at a later time.
+       
+       NOTE: DO NOT USE DIRECTLY.  ONLY USE AS RETURNED FROM TEMPLATE BUILDER.
+       
+       TODO: If used a form that allowed multiple templates to be specified
+             ex: TemplateWrapper("OSG::vector", arguments=[["float","3"],["int","4"]]
+             then how would we handle naming?  Automatic or must be specified?
+   """
+   def __init__(self, templateType, finalName = None):   #, arguments=None):
+      """
+      templateType: Either a base type ("OSG::vector") or a full template
+                    type ("OSG::vector<float>")
+      finalName: Name to rename the decl to after finding it.
+      """
+      self.mTemplateType = templateType
+      self.mFinalName = finalName
+      if not finalName:
+         self.mTypedefName = self.cleanTemplateName(self.mTemplateType)
+      else:
+         self.mTypedefName = "alias_%s"%self.mFinalName
+      self.mDecl = None
+
+   # Properties
+   decl = property(lambda x: x.mDecl)
+   
+   def process(self, templateBuilder):
+      """ Process the wrapper to make it ready for usage by user.
+          templateBuilder - The module builder used to parse the template.
+      """
+      # Look up the decl from the alias db
+      # XXX: I don't know if this is the best way to look up the decl, but it seems to work
+      try:
+         self.mDecl = templateBuilder.mAliasDB[self.mTypedefName].declaration.type.declaration
+      except:
+         # If that didn't work, just try to get it from the first declaration
+         self.mDecl = templateBuilder.mAliasDB[self.mTypedefName].declaration
+         
+      # Another method
+      # decl_name = templateBuilder.mAliasDB[self.mTypedefName].declaration.name
+      # decl = ns.decl(decl_name)
+      
+      if self.mFinalName:
+         self.mDecl.rename(self.mFinalName)
+      
+   
+   def cleanTemplateName(self, templateName):
+      """ Build a clean template name. """
+      clean_re = re.compile('[:<>\s,]')
+      return clean_re.sub('_', templateName)
+
+
+class TemplateBuilder:
+   """ Template builder helper class.
+       This class is meant to simplify the use of templates with py++.
+       
+       Usage:
+          
+          tb = TemplateBuilder()
+          vec3f_t = tb.Template("OSG::vector<float,3>")
+          
+          header_contents = tb.buildAutogenContents()
+          # Add contents to some file that is included by module builder
+          
+          mb = moduble_builder_t([myheaders])
+          tb.process(mb)
+          
+          vec3f = vec3f_t.decl
+          vec3f.method("getSize").exclude()          
+          
+          mb.create()
+   """
+   
+   def __init__(self):
+      """ Initialize template builder. """
+      # List of tuples: (templateTypename, typedefName)
+      #       ex: ("MyClass<float>","myclass_float")
+      self.mTemplates = []
+   
+   def Template(self, *args, **kw):
+      """Create and add a template wrapper.
+         Returns a template wrapper that can be used to get the decl later.
+      """
+      temp_wrapper = TemplateWrapper(*args, **kw)
+      self.mTemplates.append(temp_wrapper)
+      return temp_wrapper
+
+   def processTemplates(self, mbuilder):
+      self.mAliasDB = {}
+      global_typedefs = mbuilder.global_ns.typedefs()
+      for td in global_typedefs:
+         self.mAliasDB[td.name] = td.type
+      
+      for t in self.mTemplates:
+         t.process(self)
+      
+      
+   def buildAutogenContents(self):
+      """ Build up the contents of a file to instantiate the needed templates. """
+      if len(self.mTemplates) == 0:
+         return None
+      
+      content = "/** Autogenerated temporary file for template instantiation. */\n"
+      for t in self.mTemplates:
+         template_type = t.mTemplateType
+         typedef_name = t.mTypedefName
+         content += """
+            typedef %(template_type)s %(typedef_name)s;
+            inline unsigned __instantiate_%(typedef_name)s()
+            { return unsigned(sizeof(%(typedef_name)s)); }
+         """ % vars()      
+      
+      return content
+
+
diff --git a/contrib/pypp_api/generate_docs.py b/contrib/pypp_api/generate_docs.py
new file mode 100644
index 0000000..5b7a00c
--- /dev/null
+++ b/contrib/pypp_api/generate_docs.py
@@ -0,0 +1,11 @@
+# Generate documentation using epydoc
+#
+import os, os.path
+
+default_format = "epytext"
+
+
+cmd_line = "epydoc -o html -v --docformat %s pypp_api"%(default_format)
+
+print "Running: ", cmd_line
+os.system(cmd_line)
diff --git a/contrib/pypp_api/license.txt b/contrib/pypp_api/license.txt
new file mode 100644
index 0000000..31fdbeb
--- /dev/null
+++ b/contrib/pypp_api/license.txt
@@ -0,0 +1,2 @@
+The pypp_api package is distributed under the same license as the main
+pyplusplus package.
diff --git a/contrib/pypp_api/pypp_api/__init__.py b/contrib/pypp_api/pypp_api/__init__.py
new file mode 100644
index 0000000..d411cc0
--- /dev/null
+++ b/contrib/pypp_api/pypp_api/__init__.py
@@ -0,0 +1,80 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 an experimental module to high-level API testing.
+
+This module provides a simplified high-level API for using
+pygccxml and pyplusplus.  It is currently under heavy construction.
+
+Quickstart Usage
+================
+
+ 1. Create an instance of the L{ModuleBuilder} class that serves as main
+    entry point for controlling pygccxml and pyplusplus. Parameters for
+    configuring pygccxml/pyplusplus can be passed in the constructor::
+
+      from pypp_api import *
+   
+      mb = ModuleBuilder(...)
+
+ 2. Parse the header files using L{parse()<ModuleBuilder.parse>} and
+    customize your bindings::
+
+      toplevel_namespace = mb.parse()
+
+      MyClass = toplevel_namespace.Class("MyClass")
+      MyClass.expose()
+
+      MyClass.Method("foo").setPolicy(return_internal_reference())
+      ...
+
+ 3. Write the C++ source files using
+    L{writeModule()<ModuleBuilder.writeModule>}::
+
+      mb.writeModule()
+
+
+Detailed Usage
+==============
+
+Add detailed usage here.
+
+ at todo: Add quickstart and detailed documentation for API.
+ at author: Allen Bierbaum
+ at author: Matthias Baas
+ at license: Boost Software License, Version 1.0 (see http://www.boost.org/LICENSE_1_0.txt)
+ at copyright: 2006 Allen Bierbaum, Matthias Baas
+"""
+
+
+# Bring in call policies to use
+from pyplusplus.decl_wrappers.call_policies import *
+#from pyplusplus.decl_wrappers import return_self
+#from pyplusplus.decl_wrappers import return_internal_reference
+#from pyplusplus.decl_wrappers import with_custodian_and_ward
+#from pyplusplus.decl_wrappers import copy_const_reference
+#from pyplusplus.decl_wrappers import copy_non_const_reference
+#from pyplusplus.decl_wrappers import manage_new_object
+#from pyplusplus.decl_wrappers import reference_existing_object
+#from pyplusplus.decl_wrappers import return_by_value
+#from pyplusplus.decl_wrappers import return_opaque_pointer
+#from pyplusplus.decl_wrappers import return_value_policy
+
+from pygccxml.declarations import ACCESS_TYPES
+PUBLIC = ACCESS_TYPES.PUBLIC
+PROTECTED = ACCESS_TYPES.PROTECTED
+PRIVATE = ACCESS_TYPES.PRIVATE
+
+from decltypes import *
+#from argpolicy import *
+from pyplusplus.function_transformers.transformers import output_t as Output
+from pyplusplus.function_transformers.transformers import input_t as Input
+from pyplusplus.function_transformers.transformers import inout_t as InOut
+from pyplusplus.function_transformers.transformers import input_array_t as InputArray
+from pyplusplus.function_transformers.transformers import output_array_t as OutputArray
+
+from modulebuilder import ModuleBuilder
+
+import extendcreators
diff --git a/contrib/pypp_api/pypp_api/argpolicy.py b/contrib/pypp_api/pypp_api/argpolicy.py
new file mode 100644
index 0000000..f2f4e46
--- /dev/null
+++ b/contrib/pypp_api/pypp_api/argpolicy.py
@@ -0,0 +1,632 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+# Initial author: Matthias Baas
+
+import sys, os.path, copy
+from pygccxml import declarations
+from pyplusplus import code_creators
+from pyplusplus import decl_wrappers
+from pyplusplus import file_writers
+from declwrapper import IDecl
+
+# ArgPolicyManager
+class ArgPolicyManager:
+    """Manages all argument policies for a project.
+
+    Before the code creator tree is created, setArgPolicy() has to be
+    called on any method that requires this decoration.
+    After the decoration is done and the code creator tree has been
+    built, the updateCreators() method has to be called to update the tree.
+    Finally, the writeFiles() method can be called to write the additional
+    wrapper files.    
+    """
+    
+    def __init__(self, includePaths=[]):
+        """Constructor.
+
+        The includePaths argument should be the same list that was passed
+        to the module builder constructor. It is used to remove the
+        unnecessary parts from include file names.
+
+        @param includePaths: List of include paths
+        @type includePaths: list of str
+        """
+
+        self.includePaths = includePaths
+
+        # Key: Class declaration / Value: list of WrapperManagers
+        self.classes = {}
+
+        # Key: Include file name / Value: Irrelevant
+        self.includes = {}
+               
+        # The root of the code creator tree
+        self.creator_root = None
+
+    # setArgPolicy
+    def setArgPolicy(self, decl, policies):
+        """Assign argument policies to a declaration.
+
+        @param decl: The calldef declaration that receives the policies
+        @param policies: A sequence of policy objects.
+        """
+        # Get the class declaration that belongs to decl
+        cls = self._classDecl(decl)
+        if cls==None:
+            raise NotImplemented, "Arg policies on free functions are not supported yet"
+        # Create the wrapper "code creator"...
+        wm = WrapperManager(decl, policies)
+        wm.wrappername = self._wrapperName(cls, decl)
+        if cls in self.classes:
+            self.classes[cls].append(wm)
+        else:
+            self.classes[cls] = [wm]
+
+        # Ignore the declaration and replace it with the wrapper...
+        decl.exclude()
+        arglist = wm.wrapperargs[1:]
+        if len(arglist)>0:
+            dummydecl = decl_wrappers.member_function_t(arguments=arglist)
+#            c = code_creators.function_t(dummydecl)
+            c = code_creators.mem_fun_t(dummydecl)
+#            args = c._keywords_args()
+            args = c.keywords_args()
+            cls.add_code('def( "%s", %s, %s)'%(decl.alias, wm.wrappername, args))
+        else:
+            cls.add_code('def( "%s", %s)'%(decl.alias, wm.wrappername))
+#        IDecl([cls]).cdef(decl.alias, wm.wrappername)
+        # Add the header to the include files...
+        incname = self._outputFilename(cls)+file_writers.multiple_files_t.HEADER_EXT
+        if incname not in self.includes:
+            self.includes[incname] = 1
+
+    # updateCreators
+    def updateCreators(self, root):
+        """Modifies the code creator tree.
+
+        This method has to be called after the code creator tree was built
+        and before the files were written.
+
+        @param root: The root of the code creator tree
+        @type root: module_t
+        """
+        self.creator_root = root
+        for inc in self.includes:
+            root.adopt_include(code_creators.include_t(inc))
+
+    # writeFiles
+    def writeFiles(self, path):
+        """Write additional source files.
+
+        @param path: The output directory
+        @type path: str
+        """
+
+        # Key: sigid / Value: list of (decl, proto)
+        sigids = {}
+        # This dict contains the ambiguous wrappers with the same sigid
+        # Key: sigid / Value: Reference to list in sigids
+        ambiguous = {}
+
+        for cls in self.classes:
+            basename = self._outputFilename(cls)
+            hname = basename+file_writers.multiple_files_t.HEADER_EXT
+            cppname = basename+file_writers.multiple_files_t.SOURCE_EXT
+
+            guard = "__%s_pyplusplus_wrapper__"%cls.alias
+            hsrc = "#ifndef %s\n"%guard
+            hsrc += "#define %s\n\n"%guard
+            hsrc += "#include <boost/python.hpp>\n"
+            # Add the include file where the original class is defined...
+            incd = code_creators.include_directories_t()
+            incd.user_defined = self.includePaths
+            header = incd.normalize_header(cls.location.file_name)
+            hsrc += "#include <%s>\n\n"%header
+
+            # Include all 'global' include files...
+            cppsrc = ""
+            include_creators = filter(lambda creator: isinstance( creator, code_creators.include_t)
+#                                      and not isinstance(creator, code_creators.precompiled_header_t)
+                                      , self.creator_root.creators)
+            includes = map(lambda include_creator: include_creator.create()
+                           , include_creators )
+            cppsrc += os.linesep.join(includes)
+            cppsrc += "\n\n"
+
+#            cppsrc += '#include "%s"\n\n'%hname
+            wms = self.classes[cls]
+            for wm in wms:
+                sigid,proto,src = wm.create()
+                if sigid in sigids:
+                    sigids[sigid].append((wm.decl, proto))
+                    ambiguous[sigid] = sigids[sigid]
+                else:
+                    sigids[sigid] = [(wm.decl, proto)]
+                hsrc += "%s;\n"%proto
+                cppsrc += (60*"/")+"\n"
+                cppsrc += "// Original:\n// %s\n"%wm.decl
+                cppsrc += (60*"/")+"\n"
+                cppsrc += "%s\n"%src
+
+            hsrc += "\n#endif\n"
+           
+            file_writers.writer_t.write_file(os.path.join(path, hname), hsrc)
+            file_writers.writer_t.write_file(os.path.join(path, cppname), cppsrc)
+
+        # Have there been any ambiguous wrappers?
+        if ambiguous!={}:
+            print 70*"="
+            print "ERROR: There are ambiguous wrapper functions:"
+            for sigid in ambiguous:
+                print 70*"-"
+                for i, (decl,proto) in enumerate(ambiguous[sigid]):
+                    print "(%d) %s"%(i+1, decl)
+                print "->"
+                for i, (decl,proto) in enumerate(ambiguous[sigid]):
+                    print "(%d) %s"%(i+1, proto)
+                print 70*"-"
+            print "***ABORTING because of %d ambiguous wrapper functions***"%(len(ambiguous))
+            sys.exit(1)
+            
+    
+    def _wrapperName(self, clsdecl, memberdecl):
+        """Return the name of the wrapper function.
+        """
+        # The id of the memberdecl is added to make the name unique if there
+        # are several (overloaded) functions with the same name
+#        declid = abs(id(memberdecl))
+        # Use a hash of the declaration string (i.e. the signature) because
+        # this doesn't change the source file between runs
+        declid = hex(abs(hash(str(memberdecl))))
+        return "%s_%s_wrapper_%s"%(clsdecl.alias, memberdecl.alias, declid)
+
+    def _outputFilename(self, cls):
+        """Return the output file name of the wrapper file (without extension).
+        """
+        return "%s_wrappers"%cls.alias
+
+    # _classDecl
+    def _classDecl(self, decl):
+        """Return the class declaration that belongs to a member declaration.
+        """
+        while decl.parent!=None:
+            parent = decl.parent
+            if isinstance(parent, declarations.class_t):
+                return parent
+            decl = parent
+        return None
+
+
+class ArgTransformerBase:
+    """Base class for an argument policy class.
+    """
+    def __init__(self):
+        pass
+
+#    def requireInclude(self, include):
+#        pass
+
+    def prepareWrapper(self, wm):
+        """Wrapper initialization.
+
+        This method is called before the actual wrapper source code is
+        generated. This is the place where you can modify the signature
+        of the C++ wrapper function or allocate local variables.
+
+        @param wm: Wrapper manager instance
+        @type wm: WrapperManager
+        """
+        pass
+
+    def preCall(self, wm):
+        """Generate the C++ code that should be executed before the actual function call.
+        
+        @param wm: Wrapper manager instance
+        @type wm: WrapperManager
+        """
+        pass
+
+    def postCall(self, wm):
+        """Generate the C++ code that should be executed after the actual function call.
+
+        @param wm: Wrapper manager instance
+        @type wm: WrapperManager
+        """
+        pass
+
+    def cleanup(self, wm):
+        """Generate code that should be executed in the case of an error.
+
+        This method has to assume that the preCall code was executed but
+        the postCall code won't be executed because something went wrong.
+        
+        <not used yet>
+        
+        @param wm: Wrapper manager instance
+        @type wm: WrapperManager
+        """
+        pass
+
+# Output
+class Output(ArgTransformerBase):
+    """Handles a single output variable.
+
+    The specified variable is removed from the argument list and is turned
+    into a return value.
+
+    void getSize(int& width, int& height)
+      ->
+    (width,height) = getSize()
+    """
+    
+    def __init__(self, idx):
+        """Constructor.
+
+        @param idx: Index of the argument that is an output value (the first arg has index 1).
+        @type idx: int
+        """
+        ArgTransformerBase.__init__(self)
+        self.idx = idx
+
+    def __str__(self):
+        return "Output(%d)"%(self.idx)
+
+    def prepareWrapper(self, wm):
+        arg = wm.removeArg(self.idx)
+
+        reftype = arg.type
+        if not (isinstance(reftype, declarations.reference_t) or
+            isinstance(reftype, declarations.pointer_t)):
+            raise ValueError, 'Output variable %d ("%s") must be a reference or a pointer (got %s)'%(self.idx, arg.name, arg.type)
+
+        wm.declareLocal(arg.name, str(reftype.base))
+        wm.appendResult(arg.name)
+
+        if isinstance(reftype, declarations.pointer_t):
+            wm.replaceCallArg(self.idx, "&%s"%arg.name)
+
+# InputArray
+class InputArray(ArgTransformerBase):
+    """Handle an input array with fixed size.
+
+    void setVec3(double* v)
+    ->
+    setVec3(object v)   # v must be a sequence with 3 floats
+    """
+    
+    def __init__(self, idx, size):
+        ArgTransformerBase.__init__(self)
+        self.idx = idx
+        self.size = size
+        self.argname = None
+        self.basetype = None
+        self.carray = None
+        self.ivar = None
+
+    def __str__(self):
+        return "InputArray(%d,%d)"%(self.idx, self.size)
+
+    def prepareWrapper(self, wm):
+        # Remove the original argument...
+        arg = wm.removeArg(self.idx)
+        if not (isinstance(arg.type, declarations.pointer_t) or
+                isinstance(arg.type, declarations.array_t)):
+            raise ValueError, "Argument %d (%s) must be a pointer."%(self.idx, arg.name)
+
+        # ...and replace it with a Python object.
+        newarg = declarations.argument_t(arg.name, "boost::python::object")
+        wm.insertArg(self.idx, newarg)
+
+        self.argname = arg.name
+        self.basetype = str(arg.type.base).replace("const", "").strip()
+
+        # Declare a variable that will hold the C array...
+        self.carray = wm.declareLocal("c_"+arg.name, self.basetype, size=self.size)
+        # and a int which is used for the loop
+        self.ivar = wm.declareLocal("i", "int")
+
+        wm.replaceCallArg(self.idx, self.carray)
+
+    def preCall(self, wm):
+        res = ""
+        res += "// Copy the sequence '%s' into '%s'...\n"%(self.argname, self.carray)
+        res += 'if (%s.attr("__len__")()!=%d)\n'%(self.argname, self.size)
+        res += '{\n'
+        res += '  PyErr_SetString(PyExc_ValueError, "Invalid sequence size (expected %d)");\n'%self.size
+        res += '  boost::python::throw_error_already_set();\n'
+        res += '}\n'
+        res += "for(%s=0; %s<%d; %s++)\n"%(self.ivar, self.ivar, self.size, self.ivar)
+        res += "  %s[%s] = boost::python::extract< %s >(%s[%s]);"%(self.carray, self.ivar, self.basetype, self.argname , self.ivar)
+        return res
+
+# OutputArray
+class OutputArray(ArgTransformerBase):
+    """Handle an output array with a fixed size.
+
+    void getVec3(double* v)
+    ->
+    v = getVec3()   # v will be a list with 3 floats    
+    """
+    
+    def __init__(self, idx, size):
+        ArgTransformerBase.__init__(self)
+        self.idx = idx
+        self.size = size
+        self.argname = None
+        self.basetype = None
+        self.pyval = None
+        self.cval = None
+        self.ivar = None
+
+    def __str__(self):
+        return "OutputArray(%d,%d)"%(self.idx, self.size)
+
+    def prepareWrapper(self, wm):
+        # Remove the original argument...
+        arg = wm.removeArg(self.idx)
+        if not (isinstance(arg.type, declarations.pointer_t) or
+                isinstance(arg.type, declarations.array_t)):
+            raise ValueError, "Argument %d (%s) must be a pointer."%(self.idx, arg.name)
+
+        self.argname = arg.name
+        self.basetype = str(arg.type.base).replace("const", "").strip()
+
+        # Declare a variable that will hold the C array...
+        self.cval = wm.declareLocal("c_"+self.argname, self.basetype, size=self.size)
+        # Declare a Python list which will receive the output...
+        self.pyval = wm.declareLocal(self.argname, "boost::python::list")
+        # ...and add it to the result
+        wm.appendResult(arg.name)
+
+        # Declare an int which is used for the loop
+        self.ivar = wm.declareLocal("i", "int")
+
+        wm.replaceCallArg(self.idx, self.cval)
+
+    def postCall(self, wm):
+        res = ""
+        res += "// Copy the sequence '%s' into '%s'...\n"%(self.cval, self.pyval)
+        res += "for(%s=0; %s<%d; %s++)\n"%(self.ivar, self.ivar, self.size, self.ivar)
+        res += "  %s.append(%s[%s]);"%(self.pyval, self.cval , self.ivar)
+        return res
+
+
+# WrapperManager
+class WrapperManager:
+    """
+    represents source code for a wrapper function/method
+    """
+
+    def __init__(self, decl, transformers):
+
+        self.decl = decl
+        self.transformers = transformers
+        
+        # The original function name
+        self.funcname = decl.name
+
+        # Create the arg list of the original function (including the
+        # return type)
+        argnames = map(lambda a: a.name, decl.arguments)
+        if str(decl.return_type)=="void":
+            ret = None
+            argnames = [None]+argnames
+        else:
+            resname = self._makeNameUnique("res", argnames)
+            ret = declarations.argument_t(resname, decl.return_type, None)
+            argnames = [resname]+argnames
+        self.funcargs = [ret]+decl.arguments
+        # Initialize the argument strings used for invoking the original
+        # function
+        self.callargs = argnames
+
+        # The name of the wrapper function
+        self.wrappername = "%s_wrapper"%decl.name
+        # The arguments of the wrapper function
+        self.wrapperargs = copy.copy(self.funcargs)
+
+        # Result tuple
+        self.resulttuple = []
+
+        self.declared_vars = {}
+        self.local_var_list = []
+
+        # Return the original return value by default
+        if self.funcargs[0]!=None:
+            self.appendResult(self.funcargs[0].name)
+
+        for trans in self.transformers:
+            trans.prepareWrapper(self)
+
+
+    # removeArg
+    def removeArg(self, idx):
+        """Remove an argument from the wrapper function.
+
+        @param idx: Argument index of the original function
+        @type idx: int
+        :rtype: Returns the argument_t object that was removed (or None
+          if idx is 0 and the function has no return type)
+        """
+        if idx==0 and self.funcargs[0]==None:
+            raise ValueError, 'Function "%s" has no return value'%self.decl
+        argname = self.funcargs[idx].name
+        for i,arg in enumerate(self.wrapperargs):
+            if arg!=None:
+                if arg.name==argname:
+                    res = self.wrapperargs[i]
+                    if i>0:
+                        del self.wrapperargs[i]
+                    else:
+                        self.wrapperargs[0] = None
+                    return res
+
+        raise ValueError, 'Argument %d ("%s") not found on the wrapper function'%(idx, argname)
+
+    # insertArg
+    def insertArg(self, idx, arg):
+        """Insert a new argument into the argument list of the wrapper function.
+        
+        @param idx: New argument index 
+        @type idx: int
+        @param arg: New argument object
+        @type arg: argument_t
+        """
+        if idx>=0:
+            self.wrapperargs.insert(idx, arg)
+        else:
+            self.wrapperargs.insert(len(self.wrapperargs)+idx+1, arg)
+
+    # appendResult
+    def appendResult(self, varname):
+        self.resulttuple.append(varname)
+
+    # removeResult
+    def removeResult(self, varname):
+        self.resulttuple.remove(varname)
+
+    # replaceCallArg
+    def replaceCallArg(self, idx, callstr):
+        self.callargs[idx] = callstr
+        
+    # declareLocal
+    def declareLocal(self, name, type, size=None, default=None):
+        """Declare a local variable and return its final name.
+        """
+        name = self._makeNameUnique(name, self.declared_vars)
+        self.declared_vars[name] = (type,size,default)
+        self.local_var_list.append((name, type, size, default))
+        return name
+
+    # create
+    def create(self):
+        """
+        Returns the signature id, the prototype and the function definition.
+        """
+
+        # Declare the args that are "output" only and that have been
+        # converted to local variables...
+#        newargnames = map(lambda a: a.name, self.wrapperargs[1:])
+#        for a in self.funcargs[1:]:
+#            if a.name not in newargnames:
+#                self.declareLocal(a.name, str(a.type))
+
+        if self.funcargs[0]!=None:
+            self.declareLocal(self.funcargs[0].name, self.funcargs[0].type)
+
+        if len(self.resulttuple)==0:
+            rettype = "void"
+        elif len(self.resulttuple)==1:
+            varname = self.resulttuple[0]
+            rettype = self.declared_vars[varname][0]
+        elif len(self.resulttuple)>1:
+            rettype = "boost::python::tuple"
+#            self.wrapperargs[0].type = boost_python_t("tuple")
+            
+#        if self.wrapperargs[0]==None:
+#            rettype = "void"
+#        else:
+#            rettype = str(self.wrapperargs[0].type)
+            
+        # Function header...
+        a = map(lambda a: str(a), self.wrapperargs[1:])
+        asig = map(lambda a: str(a.type), self.wrapperargs[1:])
+        cls = self._classDecl(self.decl)
+        if cls!=None:
+            a = ["%s& self"%cls.name]+a
+            asig = ["%s&"%cls.name]+asig
+        proto = "%s %s(%s)"%(rettype, self.wrappername, ", ".join(a))
+        sigid = "%s(%s)"%(self.wrappername, ", ".join(asig))
+        # Remove the default values for the function definition...
+        a2 = map(lambda s: s.split("=")[0], a)
+        proto2 = "%s %s(%s)"%(rettype, self.wrappername, ", ".join(a2))
+        res = "%s\n{\n"%(proto2)
+
+        # Add the declarations...
+        for varname,type,size,default in self.local_var_list:
+            if default==None:
+                res += "  %s %s"%(type, varname)
+            else:
+                res += "  %s %s = %s"%(type, varname, default)
+            if size!=None:
+                res += "[%d]"%size
+            res += ";\n"
+        res += "\n"
+
+        # Precall code...
+        src = map(lambda trans: trans.preCall(self), self.transformers)
+        src = filter(lambda x: x!=None, src)
+        src = "\n\n".join(src)
+        res += self._indent(2, src)
+#        for trans in self.transformers:
+#            code = trans.preCall(self)
+#            if code!=None:
+#                res += self._indent(2, code)
+            
+        # Add the function call...
+        res += "\n  // Invoke the wrapped function\n"
+        res += "  "
+        if self.callargs[0]!=None:
+            res += "%s = "%self.callargs[0]
+        if cls!=None:
+            res += "self."
+        res += "%s(%s);\n\n"%(self.funcname, ", ".join(self.callargs[1:]))
+
+        # Postcall code...
+        src = map(lambda trans: trans.postCall(self), self.transformers)
+        src = filter(lambda x: x!=None, src)
+        src = "\n\n".join(src)
+        res += self._indent(2, src)
+#        for trans in self.transformers:
+#            code = trans.postCall(self)
+#            if code!=None:
+#                res += self._indent(2, code)
+
+        # Return the result
+        if len(self.resulttuple)==1:
+            res += "  return %s;\n"%self.resulttuple[0]
+        elif len(self.resulttuple)>1:
+            res += "  return boost::python::make_tuple(%s);\n"%(", ".join(self.resulttuple))
+        
+        res += "}\n"
+        return sigid, proto, res.replace("\n\n\n", "\n\n")
+
+    # _indent
+    def _indent(self, n, code):
+        """Indent source code.
+        """
+        if code=="":
+            return ""
+        return "\n".join(map(lambda s: (n*" ")+s, code.split("\n")))+"\n"
+
+    # _classDecl
+    def _classDecl(self, decl):
+        """Return the class declaration that belongs to a member declaration.
+        """
+        while decl.parent!=None:
+            parent = decl.parent
+            if isinstance(parent, declarations.class_t):
+                return parent
+            decl = parent
+        return None
+
+    # _makeNameUnique
+    def _makeNameUnique(self, name, names):
+        """Make a variable name unique so that there's no clash with other names.
+
+        names must be a dict or a list.
+        """
+        if name not in names:
+            return name
+
+        n = 2
+        while 1:
+            newname = "%s_%d"%(name, n)
+            if newname not in names:
+                return newname
+            n += 1
+
+        
\ No newline at end of file
diff --git a/contrib/pypp_api/pypp_api/decltypes.py b/contrib/pypp_api/pypp_api/decltypes.py
new file mode 100644
index 0000000..74e3816
--- /dev/null
+++ b/contrib/pypp_api/pypp_api/decltypes.py
@@ -0,0 +1,79 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+# Initial author: Matthias Baas
+
+"""This module contains some basic definitions.
+"""
+
+NAMESPACE       = 0x01
+CLASS           = 0x02
+MEMBER_FUNCTION = 0x04
+METHOD          = MEMBER_FUNCTION   # this also includes constructors
+FREE_FUNCTION   = 0x08
+FUNCTION        = FREE_FUNCTION
+CONSTRUCTOR     = 0x10              # limit to constructors
+ENUM            = 0x20
+VARIABLE        = 0x40
+
+CALLABLE        = METHOD | FUNCTION | CONSTRUCTOR
+CLASS_MEMBER    = METHOD | CONSTRUCTOR | VARIABLE | ENUM
+
+NON_VIRTUAL  = 0x01
+NON_PURE_VIRTUAL = 0x02    
+PURE_VIRTUAL = 0x04
+VIRTUAL      = NON_PURE_VIRTUAL | PURE_VIRTUAL
+
+# cpp
+class cpp:
+    """This class wraps C++ source code for default values.
+
+    This class is used together with the 'arg' class to provide
+    C++ source code as default value. Example:
+
+    method.cdef("foo", "&Foo::foo", arg("ptr", cpp("bp::object()")))
+
+    The cpp class prevents the generation of apostrophes (as it would
+    happen when only a string would be passed).
+    """
+    def __init__(self, src):
+        self.src = src
+
+    def __str__(self):
+        return self.src
+
+# arg
+class arg:
+    """Provide keyword arguments for methods/functions.
+
+    This class is equivalent to the Boost.Python arg class
+    and is used together with the Decl.cdef method.
+    """
+    
+    def __init__(self, name, default=None):
+        """Constructor.
+
+        @param name: Argument name
+        @type name: str
+        @param default: Optional default value
+        """
+        self.name = name
+        self.default = default
+
+    def __str__(self):
+        res = 'arg("%s")'%self.name
+        if self.default!=None:
+            res += "=%s"%self.py2cpp(self.default)
+        return res
+
+    def py2cpp(self, val):
+        """Convert a Python value to a C++ value.
+        """
+        if type(val)==bool:
+            return str(val).lower()
+        elif type(val)==str:
+            return '"%s"'%val
+        else:
+            return str(val)
diff --git a/contrib/pypp_api/pypp_api/declwrapper.py b/contrib/pypp_api/pypp_api/declwrapper.py
new file mode 100644
index 0000000..4b37b27
--- /dev/null
+++ b/contrib/pypp_api/pypp_api/declwrapper.py
@@ -0,0 +1,835 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+# Initial author: Matthias Baas
+
+"""This module contains the 'Declaration wrapper' object.
+"""
+
+import sys, os.path, inspect, types
+from filters import *
+import decltypes
+import pygccxml
+import pyplusplus
+import selection
+
+# Create an alias for the builtin type() function
+_type = type
+
+allow_empty_queries = False
+default_recursive = False
+query_log = None
+decoration_log = None
+
+# If this is set to True an attempt to decorate a declaration will
+# result in an error (this is set after the code creators have been created)
+decl_lock = False
+
+# IDecl
+class IDecl:
+    """Declaration interface.
+
+    This class represents the interface to the declaration tree. Its
+    main purpose is to "decorate" the nodes in the tree with
+    information about how the binding is to be created. Instances of
+    this class are never created by the user, instead they are
+    returned by the API.
+
+    You can think of this class as a container for declaration nodes
+    that are selected by matching a set of filters.
+
+    @group Selection interface: Decl, Namespace, Class, Constructor, Method, Function, Enum, Var, Decls, Namespaces, Classes, Constructors, Methods, Functions, Enums, Vars
+    @group Decoration interface: expose, ignore, exclude, finalize, rename, setPolicy, setArgPolicy, disableKeywordArgs, setHeldType, addMethod, cdef, staticmethod
+    """
+
+    def __init__(self, decls, filter=None, modulebuilder=None):
+        """Constructor.
+
+        @param decls: One or more declarations that should be stored in this instance
+        @type decls: declaration_t or list of declaration_t
+        @param filter: Filter string (only for informational purposes)
+        @type filter: str
+        @param modulebuilder: The module builder object this object belongs to
+        """
+        global query_log
+
+        self.modulebuilder = modulebuilder
+
+        if type(decls)!=list:
+            decls = [decls]
+
+        # A sequence containing the underlying pygccxml declaration nodes.
+        # (actually these are decl_wrapper nodes)
+        self.decl_handles = decls
+
+        # Determine where this instance was created...
+        filename,funcname,linenr,sourceline = self._sourceInfo()
+        self.filename = filename
+        self.funcname = funcname
+        self.linenr = linenr
+        self.sourceline = sourceline
+
+        # Dump info about this query...
+        if query_log:
+            print >>query_log, 70*"-"
+            if funcname==None:
+                print >>query_log, "%s, %d: %s"%(self.filename, self.linenr, self.sourceline)
+            else:
+                print >>query_log, "%s, %s(), %d: %s"%(self.filename, self.funcname, self.linenr, self.sourceline)
+            if filter!=None:
+                print >>query_log, "Filter: %s"%filter
+            for decl in self.decl_handles:
+                print >>query_log, " -> %s"%decl
+            if len(self.decl_handles)==0:
+                print >>query_log, " <no result>"
+            elif len(self.decl_handles)>1:
+                print >>query_log, " (%d declarations)"%len(self.decl_handles)
+        
+
+    def __str__(self):
+        """Return a descriptive string."""
+        if len(self.decl_handles)==0:
+            return "Decl: <empty>"
+        elif len(self.decl_handles)==1:
+#            ds = getattr(self.decl_handles[0], "name", "?")
+            ds = str(self.decl_handles[0])
+            return 'Decl: "%s"'%(ds)
+        else:
+            return 'Decl: (%d declarations)'%(len(self.decl_handles))
+
+    def __iter__(self):
+        """Iterate over the matched declarations (non-recursively!).
+
+        The iterator yields IDecl objects that each contain one declaration.
+        The number of items is identical to self.decl_handles.
+        """
+        return iter(map(lambda decl: IDecl([decl], modulebuilder=self.modulebuilder), self.decl_handles))
+
+    def __len__(self):
+        return len(self.decl_handles)
+
+    # iterContained
+    def iterContained(self):
+        """Iterate over all contained nodes.
+
+        The iterator yields Decl objects.
+        """
+        for decl in self._iterContained():
+            yield IDecl([decl], modulebuilder=self.modulebuilder)
+
+    # expose
+    def expose(self, flag=True):
+        """Expose the declarations in the generated module.
+
+        If flag is True all contained declarations are marked
+        for being exposed, otherwise they are marked for being ignored.
+
+        @param flag: Determines whether the declaration is actually exposed or ignored.
+        @type flag: bool
+        :rtype: Returns self
+        @see: L{ignore()}
+        """
+        if not flag:
+            return self.ignore()
+        self._checkLock()
+        for d in self._iterContained():
+            if decoration_log!=None:
+                self._logDecoration("expose", d)
+            d.include()
+        return self
+
+    # ignore
+    def ignore(self, flag=True):
+        """Ignore the declarations in the generated module.
+
+        If flag is True all contained declarations are marked
+        for being ignored, otherwise they are marked for being exposed.
+
+        @param flag: Determines whether the declaration is actually ignored or exposed.
+        @type flag: bool
+        @return: Returns self
+        @see: L{expose()}
+        """
+        if not flag:
+            return self.expose()
+        self._checkLock()
+        for d in self._iterContained():
+            if decoration_log!=None:
+                self._logDecoration("ignore", d)
+            d.exclude()
+        return self
+
+    # exclude
+    def exclude(self, flag=True):
+        """This is an alias for L{ignore()}."""
+        return self.ignore(flag)
+        
+    # rename
+    def rename(self, name):
+        """Rename a declaration.
+
+        The declaration will receive a new name under which it is exposed
+        in the Python module.
+        If there are currently several declarations referenced the new
+        name is assigned to all of them. However, only the declarations
+        that were directly matched will receive a new name, children are
+        always ignored.
+        
+        @param name: New name for the declaration
+        @type name: str
+        """
+        self._checkLock()
+        for decl in self._iterContained(recursive=False):
+            if decoration_log!=None:
+                self._logDecoration("rename(%s)"%name, decl)
+            decl.rename(name)
+        return self
+
+    # finalize
+    def finalize(self):
+        """Finalize virtual member functions or an entire class.
+
+        This method can be called on classes or individual member functions
+        to prevent the generation of wrapper classes. This is done by
+        resetting the virtuality attribute of the members to "non-virtual"
+        and by ignoring protected and private member functions.
+        A ValueError exception is raised if the method is called on pure
+        virtual functions because those cannot be wrapped without a wrapper
+        class.
+
+        Even when finalize() was successfully called it is still possible
+        that Py++ generates a wrapper class nevertheless. The presence
+        of virtual member functions is only one part of the test whether
+        a wrapper class has to be generated (member variables can also
+        trigger a wrapper class which is not prevented by this method).        
+        """
+        self._checkLock()
+        VIRTUALITY_TYPES = pygccxml.declarations.VIRTUALITY_TYPES
+        for decl in self._iterContained():
+            # Mark the declaration as being finalized
+            decl._pypp_api_finalized = True
+            
+            if not isinstance(decl, pygccxml.declarations.member_calldef_t):
+                continue
+
+            if (isinstance(decl, pyplusplus.decl_wrappers.constructor_t) or
+                isinstance(decl, pyplusplus.decl_wrappers.destructor_t)):
+                continue
+            
+            if decl.virtuality==VIRTUALITY_TYPES.PURE_VIRTUAL:
+                raise ValueError, "%s\nMember is pure virtual and cannot be finalized."%decl
+
+            # Pretend that this method is a non-virtual method
+            decl.virtuality = VIRTUALITY_TYPES.NOT_VIRTUAL
+
+            if decoration_log!=None:
+                self._logDecoration("finalize", decl)
+#            decl.finalize()
+
+        # Ignore protected and private methods as these would trigger
+        # the generation of a wrapper class
+        ACCESS_TYPES = pygccxml.declarations.ACCESS_TYPES
+        self.Methods(accesstype=ACCESS_TYPES.PROTECTED, allow_empty=True).ignore()
+        self.Methods(accesstype=ACCESS_TYPES.PRIVATE, allow_empty=True).ignore()
+        return self
+
+    # setPolicy
+    def setPolicy(self, policy):
+        """Set policies for functions or methods.
+
+        @param policy: Policy to apply to the contained functions/methods.
+        @type policy: ...policy...
+        """
+        self._checkLock()
+        for decl in self._iterContained():
+            if decoration_log!=None:
+                self._logDecoration("setPolicy(...)", decl)
+            decl.call_policies = policy
+
+        return self
+
+    # setHeldType
+    def setHeldType(self, heldtype):
+        """Explicitly set the held type.
+        
+        Ex: C{setHeldType("boost::shared_ptr<Class>")}
+        """
+        self._checkLock()
+        for decl in self._iterContained():
+            if decoration_log!=None:
+                self._logDecoration("setHeldType(%s)"%heldtype, decl)
+            decl.held_type = heldType
+        return self
+
+    # disableKeywordArgs
+    def disableKeywordArgs(self):
+        """Disable generation of keyword arguments.
+        """
+       
+        self._checkLock()
+        for decl in self._iterContained():
+            if decoration_log!=None:
+                self._logDecoration("disableKeyWord", decl)
+            decl.use_keywords = False
+#            if (    isinstance(decl, calldef_t) and
+#                not isinstance(decl, destructor_t) and
+#                    getattr(decl, "access_type", None)!=PRIVATE):
+#                decl._use_keywords = False
+        return self
+
+    # setArgPolicy
+    def setArgPolicy(self, *policies):
+        """Append argument policies.
+
+        This method takes a variable number of arguments. Each argument
+        must be an ArgPolicy object.
+        """
+        self._checkLock()
+        for decl in self._iterContained():
+            if decoration_log!=None:
+                ps = ", ".join(map(lambda x: str(x), policies))
+                self._logDecoration("setArgPolicy(%s)"%ps, decl)
+            decl.function_transformers.extend(list(policies))
+#            self.modulebuilder.mArgPolicyManager.setArgPolicy(decl, policies)
+
+        return self
+
+    # setAttr
+    def setAttr(self, attr, value):
+        """Set an arbitrary attribute.
+
+        Sets an arbitrary attribute on the contained decl_wrappers.
+
+        This method can be used as a backdoor to access Py++
+        decl_wrapper properties that are not directly exposed in
+        pypp_api (yet).
+
+        @param attr: Attribute name
+        @type attr: str
+        @param value: The value that should be set
+        """
+        self._checkLock()
+        for decl in self._iterContained():
+            if decoration_log!=None:
+                self._logDecoration('setAttr("%s", %s)'%(attr,value), decl)
+            setattr(decl, attr, value)
+        return self
+
+    # addMethod
+    def addMethod(self, name, impl):
+        """Add a new method to a class.
+
+        Adds a new method to a class. The implementation is given as a
+        C/C++ function that is defined elsewhere.
+        The return value is a Decl object that can be
+        used to further customize the method.
+
+        @Note: This method isn't implemented yet!
+
+        @param name: The method name as it will appear in the Python module
+        @type name: str
+        @param impl: The name of the C/C++ function that implements the method.
+        @type impl: str
+        """
+        return self.cdef(name, impl)
+
+
+    # def
+    def cdef(self, name, fn=None, *args):
+        """Apply a raw def() statement.
+
+        This method is equivalent to the Boost.Python def() method.
+        Example::
+
+          Class("Foo").cdef("spam", "cspam", return_internal_reference(), (arg("a"), arg("b", 0)), "The spam method")
+
+        It is up to the user to ensure that the C/C++ function cspam
+        is declared and implemented somewhere.
+
+        If fn is None, the string name is not quoted. You can use this form
+        to wrap constructors or operators. Example::
+        
+          Class("Foo").cdef("bp::init< const MFoo& >()")
+        
+        @param name: Name of the Python method or a valid Boost.Python construct
+        @type name: str
+        @param fn: Name of the C++ function that implements the method or None
+        @type fn: str
+        @param args: There can be up to three additional arguments in any order: A doc string, the call policies and the keywords.
+        @see: L{staticmethod()}
+        """
+
+        self._checkLock()
+        doc,policies,keywords = self._parseDefArgs(args)
+        if fn==None:
+            args = ['%s'%name]
+        else:
+            args = ['"%s"'%name, fn]
+        if policies!=None:
+            policystr = policies.create(None)
+            args.append(policystr)
+        if keywords!=None:
+            args.append("(%s)"%", ".join(map(lambda x: "bp::"+str(x), keywords)))
+        if doc!=None:
+            a = map(lambda x: "%s\\n"%x, doc.split("\n"))
+            while len(a)>0 and a[-1]=="\\n":
+                a = a[:-1]
+            if len(a)>0:
+                # Remove the newline in the last line
+                a[-1] = a[-1][:-2]
+            args.append('%s'%"\n".join(map(lambda x: '"%s"'%x, a)))
+        src = 'def( %s )'%(", ".join(args))
+        for decl in self._iterContained(recursive=False):
+            # Add the 'def' source code...
+            decl.add_code(src)
+
+        return self
+
+    # staticmethod
+    def staticmethod(self, name):
+        """Apply a raw staticmethod() statement.
+
+        @param name: Name of the method.
+        @type name: str
+        @see: L{cdef()}
+        """
+
+        self._checkLock()
+        for decl in self._iterContained(recursive=False):
+            src = 'staticmethod( "%s" )'%name
+            decl.add_code(src)
+
+        return self
+
+
+    # Decl
+    def Decls(self,
+             name=None,
+             fullname=None,
+             type=None,
+             retval=None,
+             args=None,
+             anyarg=None,
+             signature=None,
+             header=None,
+             headerdir=None,
+             accesstype=None,
+             const=None,
+             virtuality=None,
+             filter=None,
+             recursive=None,
+             allow_empty=None,
+             assert_count=None
+             ):
+        """Obtain a Decl object referencing one or more declarations.
+
+        Filters all contained declarations and returns a new Decl
+        object that only contains declarations matching the filtering
+        rules as specified by the arguments. If an argument is None,
+        that particular filtering operation is disabled. If several
+        arguments are provided, all of them must be matched.
+
+        For any filter that is based on strings (such as name) the
+        following rules apply:
+
+         - A string must match exactly the corresponding attribute of the
+           declaration (C{name="wxFrame"} will only return the class
+           "wxFrame").
+         - A string that is bracketed by a leading and trailing slash '/' is
+           interpreted as a regular expression (C{name="/wx.*/"} will return
+           all classes that begin with "wx").
+
+        Any argument can also be passed a list of values which duplicates
+        the filter. These filter are concatenated with OR, so a declaration
+        has to match only one of the filters. For example, you can select all
+        classes starting with either "wx" or "WX" by setting
+        C{name=["/wx.*/", "/WX.*/"}].
+
+        The user defined filter function filter must accept a Decl
+        object as argument and has to return True when the declaration
+        is matched.
+
+        @param name: Select declarations by name
+        @type name: str
+        @param fullname: Select declarations by name (which includes namespaces)
+        @type fullname: str
+        @param type: Select declarations by type. The type is given by a combination of flags (CLASS, MEMBER_FUNCTION/METHOD, FREE_FUNCTION/FUNCTION, ENUM, ...)
+        @type type: int
+        @param retval: Select functions/methods based on their return value (this implies the type flags MEMBER_FUNCTION | FREE_FUNCTION)
+        @type retval: str
+        @param args: Select functions/methods bases on their arguments (this implies the type flags MEMBER_FUNCTION | FREE_FUNCTION)
+        @type args: list of str
+        @param anyarg: Select all functions/methods that have the specified argument somewhere in their argument list (this implies the type flags MEMBER_FUNCTION | FREE_FUNCTION)
+        @type anyarg: str
+        @param signature: Select declarations by their signature (this implies the type flags MEMBER_FUNCTION | FREE_FUNCTION)
+        @type signature: str
+        @param header: Select declarations by the header file in which they are defined
+        @type header: str
+        @param headerdir: Select declarations by the directory in which their header file is located
+        @type headerdir: str
+        @param accesstype: Access type (PUBLIC or PROTECTED). This implies the type flags CLASS_MEMBER.
+        @param const: Select declarations by their constness.
+        @type const: bool
+        @param virtuality: Select declarations by their virtuality. This implies the type flags CLASS_MEMBER:
+        @type virtuality: Virtuality flags
+        @param filter: User defined filter function
+        @type callable
+        @param recursive: Extend the search to grandchildren? If not specified, a global (customizable) default value is used.
+        @type recursive: bool
+        @param allow_empty: Allow empty results. If not specified, a global (customizable) default value is used.
+        @type allow_empty: bool
+        @param assert_count: Check the number of matched declarations in the resulting Decl object
+        @type assert_count: int
+        :rtype: Returns a Decl object that may reference an arbitrary number of declarations.
+        @rtype: IDecl
+        @see: Namespace(), Class(), Method(), Function(), Enum()
+        """
+        global allow_empty_queries, default_recursive
+
+        itype = 0
+        filters = []
+
+        if recursive==None:
+            recursive = default_recursive
+        if allow_empty==None:
+            allow_empty = allow_empty_queries
+        
+        def addFilter(arg, filtercls):
+            if arg!=None:
+                if _type(arg)==list:
+                    filters.append(OrFilter(map(lambda x: filtercls(x), arg)))
+                else:
+                    filters.append(filtercls(arg))
+
+        # name filter
+        addFilter(name, NameFilter)
+        # fullname filter
+        addFilter(fullname, FullNameFilter)
+        # retval filter
+        if retval!=None:
+            addFilter(retval, RetValFilter)
+            itype |= CALLABLE
+        # args filter
+        if args!=None:
+            filters.append(ArgsFilter(args))
+            itype |= CALLABLE
+        # anyarg filter
+        if anyarg!=None:
+            raise NotImplementedError, "anyarg filter is not yet implemented"
+        # signature filter
+        if signature!=None:
+            raise NotImplementedError, "signature filter is not yet implemented"
+        # header filter
+        addFilter(header, HeaderFilter)
+        # headerdir filter
+        addFilter(headerdir, HeaderDirFilter)
+        # accesstype filter
+        if accesstype!=None:
+            addFilter(accesstype, AccessTypeFilter)
+            itype |= CLASS_MEMBER
+        # const filter
+        if const!=None:
+            addFilter(const, ConstFilter)
+        # virtuality filter
+        if virtuality!=None:
+            addFilter(virtuality, VirtualityFilter)
+            itype |= CLASS_MEMBER
+        # custom filters
+        if filter!=None:
+            if _type(filter)==list:
+                filters.extend(map(lambda x: CustomFilter(x), filter))
+            else:
+                filters.append(CustomFilter(filter))
+
+        # XXX
+        if itype!=0:
+            if type==None:
+                type = 0
+            if (type & CALLABLE)==0:
+                type |= itype
+        addFilter(type, TypeFilter)
+
+        # Add parent filters...
+        pfs = []
+        for decl in self.decl_handles:
+            pfs.append(ParentFilter(decl, recursive))
+        if len(pfs)>0:
+            if len(pfs)==1:
+                filters.append(pfs[0])
+            else:
+                filters.append(OrFilter(pfs))
+
+        # Create the final filter by combining the individual filters
+        # with AND...
+        if len(filters)==0:
+            filter = TrueFilter()
+        elif len(filters)==1:
+            filter = filters[0]
+        else:
+            filter = AndFilter(filters)
+
+#        print "Filter:",filter
+        if len(self.decl_handles)==0:
+            decls = []
+        else:
+            decls = selection.select(self.decl_handles, filter)
+
+        res = IDecl(decls, str(filter), modulebuilder=self.modulebuilder)
+        count = res.count
+        if allow_empty and count==0:
+            return res
+        if count==0:
+            raise RuntimeError, "Query produced no results (filter: %s)"%filter
+        res_count = res.count
+        # If all contained declarations are from one single set of overloads
+        # then treat that as one single declaration
+        if res._checkOverloads():
+            res_count = 1
+        if assert_count!=None:
+            if res_count!=assert_count:
+                raise RuntimeError, "Query produced the wrong number of results (%d instead of %d)"%(res_count, assert_count)
+        return res
+            
+
+    # Namespace
+    def Namespaces(self, name=None, type=0, **args):
+        """Obtain a Decl object referencing one or more namespaces.
+
+        This method is equivalent to calling Decl() with the flag NAMESPACE
+        set in its type filter.
+
+        See Decl() for a full description of this method.
+
+        :rtype: Returns a Decl object that may reference an arbitrary number of declarations.
+        @see: L{Decl()}
+        """
+        return self.Decls(name=name, type=type|NAMESPACE, **args)
+
+    # Classes
+    def Classes(self, name=None, type=0, **args):
+        return self.Decls(name=name, type=type|CLASS, **args)
+
+    # Methods
+    def Methods(self, name=None, type=0, **args):
+        return self.Decls(name=name, type=type|METHOD|CONSTRUCTOR, **args)
+
+    # Constructors
+    def Constructors(self, name=None, type=0, **args):
+        return self.Decls(name=name, type=type|CONSTRUCTOR, **args)
+
+    # Functions
+    def Functions(self, name=None, type=0, **args):
+        return self.Decls(name=name, type=type|FUNCTION, **args)
+
+    # Enums
+    def Enums(self, name=None, type=0, **args):
+        return self.Decls(name=name, type=type|ENUM, **args)
+
+    # Vars
+    def Vars(self, name=None, type=0, **args):
+        return self.Decls(name=name, type=type|VARIABLE, **args)
+
+    # Decl
+    def Decl(self, name=None, **args):
+        return self.Decls(name, assert_count=1, **args)
+
+    # Namespace
+    def Namespace(self, name=None, **args):
+        return self.Namespaces(name, assert_count=1, **args)
+
+    # Class
+    def Class(self, name=None, **args):
+        return self.Classes(name, assert_count=1, **args)
+
+    # Method
+    def Method(self, name=None, **args):
+        return self.Methods(name, assert_count=1, **args)
+
+    # Constructor
+    def Constructor(self, name=None, **args):
+        return self.Constructors(name, assert_count=1, **args)
+
+    # Function
+    def Function(self, name=None, **args):
+        return self.Functions(name, assert_count=1, **args)
+
+    # Enum
+    def Enum(self, name=None, **args):
+        return self.Enums(name, assert_count=1, **args)
+
+    # Var
+    def Var(self, name=None, **args):
+        return self.Vars(name, assert_count=1, **args)
+
+    
+    # Private methods:
+
+    def _getCount(self):
+        """Return the number of matched declarations.
+        """
+        return len(self.decl_handles)
+
+    count = property(_getCount, None, None, "The number of matched declarations.")
+
+    def _getTotalCount(self):
+        """Return the total number of contained declarations (including the children).
+        """
+        return len(list(self))
+
+    totalcount = property(_getTotalCount, None, None, "The total number of contained declarations.")
+
+    def _checkLock(self):
+        """Check that the decoration is not locked.
+
+        If it is locked, an exception is thrown.
+        """
+        global decl_lock
+        if decl_lock:
+            raise RuntimeError, "You have to decorate the declarations before the code creators have been built."
+
+    def _checkOverloads(self):
+        """Check if all contained declarations are from the same set of overloads.
+
+        :rtype: True if all contained declarations are from the same set of overloads.
+        @rtype: bool
+        """
+        if len(self.decl_handles)==0:
+            return False
+        # Get a list with the overloaded functions
+        overloads = getattr(self.decl_handles[0], "overloads", None)
+        if overloads==None:
+            return False
+
+        # Check if the decls are all contained in overloads...
+        for decl in self.decl_handles[1:]:
+            if decl not in overloads:
+                return False
+
+        return True
+
+    def _parseDefArgs(self, args):
+        """Determine which of the args is the doc string, call policies and keywords argument.
+
+        :rtype: Returns a tuple (doc, policies, keywords).
+        """
+        if len(args)>3:
+            raise ValueError, "Too many arguments (%d)"%len(args)
+        
+        doc = None
+        policies = None
+        keywords = None
+#        call_policy_t = pyplusplus.code_creators.call_policies.call_policy_t
+        call_policy_t = pyplusplus.decl_wrappers.call_policies.call_policy_t
+        for a in args:
+            if isinstance(a, types.StringTypes):
+                doc = a
+            elif isinstance(a, call_policy_t):
+                policies = a
+            elif type(a)==tuple:
+                keywords = a
+            elif isinstance(a, decltypes.arg):
+                keywords = (a,)
+            else:
+                raise ValueError, "Invalid argument: %s"%a
+        return doc,policies,keywords
+
+    def _iterContained(self, recursive=True):
+        """Iterate over all contained declarations.
+
+        The generator yields pygccxml declaration objects.
+
+        @param recursive: Determines whether the method also yields children nodes 
+        @type recursive: bool
+        """
+        global _timestamp
+        _timestamp += 1
+        for rootdecl in self.decl_handles:
+            for decl in self._iterdecls(rootdecl, recursive=recursive):
+                # Get the time stamp and check if this declaration hasn't 
+                # been visited yet
+                ts = getattr(decl, "_timestamp", -1)
+                if ts!=_timestamp:
+                    decl._timestamp = _timestamp
+                    yield decl
+
+    # _iterdecls
+    def _iterdecls(self, rootdecl, recursive=True):
+        """Depth first iteration over one or more declaration trees.
+        
+        rootdecl can be either a single declaration, a list of
+        declarations or None. A declaration must be an object derived
+        from the declaration_t class. If recursive is False, only the
+        root is returned.
+        
+        @param recursive: Determines whether the method also yields children nodes 
+        @type recursive: bool
+        """
+        if rootdecl==None:
+            return
+
+        if type(rootdecl) is not list:
+            rootdecl = [rootdecl]
+
+        for root in rootdecl:
+            yield root
+            if recursive:
+                children = getattr(root, "declarations", None)
+                for node in self._iterdecls(children):
+                    yield node
+
+    # _logDecoration
+    def _logDecoration(self, operation, decl):
+        """Write a line into the decoration log.
+
+        @param operation: Name of the decoration operation
+        @type operation: str
+        @param decl: Declaration that was decorated
+        @type decl: declaration_t
+        """
+        global decoration_log
+        if self.funcname==None:
+            print >>decoration_log, "%s,%d;%s; %s "%(self.filename, self.linenr, operation, decl)
+        else:
+            print >>decoration_log, "%s,%s(),%d;%s; %s "%(self.filename, self.funcname, self.linenr, operation, decl)
+
+    # _sourceInfo
+    def _sourceInfo(self):
+        """Determine where in the user's source code this instance was created.
+
+        Returns a tuple (filename, funcname, linenr, sourceline) that
+        describes the source code line that created this instance.
+        funcname is None if the source code is not located inside a function.
+
+        :rtype: (filename, funcname, linenr, sourceline)
+        @rtype: 4-tuple
+        """
+        frame = inspect.currentframe()
+        try:
+            records = inspect.getouterframes(frame)
+            # Determine the directory where this source file is located
+            apidir = os.path.dirname(records[0][1])
+            for rec in records[1:]:
+                file = rec[1]
+                dir = os.path.dirname(file)
+                # Return the first record that is not within the API directory
+                # (this must then be code from the user)
+                if dir!=apidir:
+                    linenr = rec[2]
+                    funcname = rec[3]
+                    srcindex = rec[5]
+                    sourceline = rec[4][srcindex]
+                    sourceline = sourceline.strip()
+                    if funcname=="?":
+                        funcname = None
+                    return file,funcname,linenr,sourceline
+        finally:
+            del frame
+
+        # We should never get here...
+        return "?", None, 0, "?"
+
+                
+# This value is used to determine if a declaration was already visited or not
+_timestamp = 0
diff --git a/contrib/pypp_api/pypp_api/extendcreators.py b/contrib/pypp_api/pypp_api/extendcreators.py
new file mode 100644
index 0000000..05a8b75
--- /dev/null
+++ b/contrib/pypp_api/pypp_api/extendcreators.py
@@ -0,0 +1,107 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+# Initial author: Matthias Baas
+
+"""This module contains the interface for manipulating trees.
+
+Just importing the module will attach new methods to the pyplusplus
+code creator base class.
+The extended interface simplifies iterating over the tree and
+manipulating it.
+"""
+
+import pyplusplus.code_creators
+
+# iter
+def iter(self, includeself=True, recursive=True):
+    """Iterate over the code creator tree.
+
+    @param includeself: Should root also be yielded?
+    @type includeself: bool
+    @param recursive: Iterate over grandchildren?
+    @type recursive: bool
+    """
+    if includeself:
+        yield self
+        
+    children = getattr(self, "creators", [])
+    for child in children:
+        yield child
+        if recursive:
+            for node in iter(child, includeself=False):
+                yield node
+
+# iterSiblings
+def iterSiblings():
+    pass
+
+# insertBefore
+def insertBefore(self, node):
+    """Insert self before node.
+
+    self will be a sibling of node.
+    """
+    if not isinstance(self, pyplusplus.code_creators.code_creator_t):
+        raise TypeError, "self must be a code creator node."
+    if self.parent!=None:
+        raise ValueError, "self is already inserted into the tree. Remove it first."
+
+    idx = node.parent.creators.index(node)
+    node.parent.adopt_creator(self, idx)
+
+# insertAfter
+def insertAfter(self, node):
+    """Insert self after node.
+
+    self will be a sibling of node.
+    """
+    if not isinstance(self, pyplusplus.code_creators.code_creator_t):
+        raise TypeError, "self must be a code creator node."
+    if self.parent!=None:
+        raise ValueError, "self is already inserted into the tree. Remove it first."
+
+    idx = node.parent.creators.index(node)
+    node.parent.adopt_creator(self, idx+1)
+
+# insertAsChildOf
+def insertAsChildOf(self, parent, index=None):
+    """Insert self as a children of another node.
+
+    Insert self as a children of parent. By default, self is appended to
+    the list of children of parent.
+
+    @param parent: The parent node.
+    @type parent: compound_t
+    @param index: The desired position of self (or None)
+    @type index: int
+    """
+    if not isinstance(parent, pyplusplus.code_creators.compound_t):
+        raise ValueError, "Leaf nodes cannot have children nodes."
+    if not isinstance(self, pyplusplus.code_creators.code_creator_t):
+        raise TypeError, "self must be a code creator node."
+    if self.parent!=None:
+        raise ValueError, "self is already inserted into the tree. Remove it first."
+    
+    parent.adopt_creator(self, index)
+
+# remove
+def remove(self):
+    """Remove this node.
+
+    @return: self
+    """
+    self.parent.remove_creator(self)
+    return self
+
+######################################################################
+
+# Update the code_create_t class
+code_creator_t = pyplusplus.code_creators.code_creator_t
+code_creator_t.iter = iter
+code_creator_t.insertBefore = insertBefore
+code_creator_t.insertAfter = insertAfter
+code_creator_t.insertAsChildOf = insertAsChildOf
+code_creator_t.remove = remove
diff --git a/contrib/pypp_api/pypp_api/filters.py b/contrib/pypp_api/pypp_api/filters.py
new file mode 100644
index 0000000..c6c4db5
--- /dev/null
+++ b/contrib/pypp_api/pypp_api/filters.py
@@ -0,0 +1,516 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+# Initial author: Matthias Baas
+
+"""This module contains the filters that are used to select declarations.
+"""
+
+import re, os.path
+from pygccxml.declarations import *
+from decltypes import *
+from treerange import TreeRange
+
+# _StringMatcher
+class _StringMatcher:
+    """Helper class to match strings.
+
+    This class can be used to match a string with a pattern that may
+    either be an ordinary string or contain a regular expression
+    enclosed in '/'.
+    """
+
+    def __init__(self, pattern):
+        """Constructor.
+
+        pattern may contain a regular expression enclosed between two '/'.
+
+        @param pattern: The pattern used for matching
+        @type pattern: str
+        """
+
+        self.regexp = None
+        self.pattern = pattern
+        
+        # Is pattern a regular expression?
+        if len(pattern)>=2 and pattern[0]=="/" and pattern[-1]=="/":
+            self.regexp = re.compile(pattern[1:-1])
+                    
+    # match
+    def match(self, txt):
+        """Check if a string matches the pattern.
+
+        @param txt: The string to match
+        @type txt: str
+        :rtype: True if txt matches the pattern 
+        """
+        if self.regexp==None:
+            return txt==self.pattern
+        else:
+            m = self.regexp.match(txt)
+            if m==None:
+                return False
+            # It was only a successful match when the entire string was matched
+            return m.end()==len(txt)
+        
+
+# FilterBase
+class FilterBase:
+    """Base class for all filters.
+    """
+    def __init__(self):
+        pass
+
+    def __call__(self, decl):
+        raise NotImplementedError, "filters must always implement the __call__() method."
+
+    def __invert__(self):
+        """NOT-operator (~)"""
+        return NotFilter(self)
+
+    def __and__(self, other):
+        """AND-operator (&)"""
+        return AndFilter([self, other])
+
+    def __or__(self, other):
+        """OR-Operator (|)"""
+        return OrFilter([self, other])
+
+    def filterRange(self):
+        """Return the range of the filter.
+
+        A return value of None means the filter's range is unlimited.
+
+        :rtype: Filter range or None
+        @rtype: TreeRange
+        """
+        return None
+        
+    def parentConstraints(self):
+        """Return the parent constraints.
+
+        *** obsolete ***
+
+        A filter can use this method to indicate that it will always
+        return False if the parent is not a particular node.
+        
+        The following return values are possible:
+
+          - C{None}: There are no constraints. The filter may return True on any node.
+          - C{[]}: The filter will always return False.
+          - C{[(parent, recursive),...]}: The parent constraints.
+
+        A single parent constraint (I{parent}, I{recursive}) means that the
+        filter may only return True on children of I{parent}. If I{recursive}
+        is set to True these can also be grand-children, otherwise they
+        are only the direct children. On all other nodes, the filter will
+        always return False so the search algorithm may decide not to visit
+        them at all to speed up the search.
+        
+        :rtype: None, an empty list or a list of tuples (parent, recursive).
+        """
+        return None
+
+# TrueFilter
+class TrueFilter(FilterBase):
+    """Returns always True.
+    """
+    def __call__(self, decl):
+        return True
+
+    def __str__(self):
+        return "True"
+
+# FalseFilter
+class FalseFilter(FilterBase):
+    """Returns always False.
+    """
+    def __call__(self, decl):
+        return False
+
+    def __str__(self):
+        return "False"
+
+# AndFilter
+class AndFilter(FilterBase):
+    """Combine several other filters with AND.
+    """
+    def __init__(self, filters):
+        FilterBase.__init__(self)
+        self.filters = filters
+
+    def __str__(self):
+        return " & ".join(map(lambda x: "(%s)"%str(x), self.filters))
+
+    def __call__(self, decl):
+        for f in self.filters:
+            if not f(decl):
+                return False
+        return True
+
+    def filterRange(self):
+        res = None
+        for f in self.filters:
+            rng = f.filterRange()
+            if rng!=None:
+                if res==None:
+                    res = rng
+                else:
+                    res = res.intersect(rng)
+        return res
+
+
+# OrFilter
+class OrFilter(FilterBase):
+    """Combine several other filters with OR.
+    """
+    def __init__(self, filters):
+        FilterBase.__init__(self)
+        self.filters = filters
+
+    def __str__(self):
+        return " | ".join(map(lambda x: "(%s)"%str(x), self.filters))
+
+    def __call__(self, decl):
+        for f in self.filters:
+            if f(decl):
+                return True
+        return False
+
+    def filterRange(self):
+        res = None
+        for f in self.filters:
+            rng = f.filterRange()
+            if rng==None:
+                return None
+            if res==None:
+                res = rng
+            else:
+                res = res.union(rng)
+        return res
+           
+
+# NotFilter
+class NotFilter(FilterBase):
+    """Return the inverse result of a filter.
+    """
+    def __init__(self, filter):
+        FilterBase.__init__(self)
+        self.filter = filter
+
+    def __str__(self):
+        return "~(%s)"%str(self.filter)
+
+    def __call__(self, decl):
+        return not self.filter(decl)
+
+    def filterRange(self):
+        # TreeRange does not support a NOT operation, so extend the
+        # range to full range
+        return None
+
+
+# NameFilter
+class NameFilter(FilterBase):
+    """Filter by declaration name.
+    """
+
+    def __init__(self, namepattern):
+        FilterBase.__init__(self)
+        self.matcher = _StringMatcher(namepattern)
+
+    def __str__(self):
+        return "name=='%s'"%self.matcher.pattern
+
+    def __call__(self, decl):
+        return self.matcher.match(decl.name)
+
+# FullNameFilter
+class FullNameFilter(FilterBase):
+    """Filter by full declaration name.
+    """
+
+    def __init__(self, namepattern):
+        FilterBase.__init__(self)
+        self.matcher = _StringMatcher(namepattern)
+
+    def __str__(self):
+        return "fullname=='%s'"%self.matcher.pattern
+
+    def __call__(self, decl):
+        return self.matcher.match(full_name(decl))
+
+# ParentFilter
+class ParentFilter(FilterBase):
+    """Filter by parent node.
+    """
+    def __init__(self, parent, grandparents=False):
+        """Constructor.
+
+        @param parent: Parent node
+        @type parent: declaration_t
+        @param grandparents: Determine whether the parent may also be a grandparent
+        @type grandparents: bool
+        """
+        FilterBase.__init__(self)
+        self.parent = parent
+        self.recursive = grandparents
+
+    def __str__(self):
+        if self.recursive:
+            return "anyparent=='%s'"%self.parent.name
+        else:
+            return "parent=='%s'"%self.parent.name
+
+    def __call__(self, decl):
+        # We can always return True as the filter range was already adjusted
+        # so that all visited declarations meet the requirements for this
+        # filter
+        return True
+        # The following line only works with recursive=False
+#        return id(decl.parent)==id(self.parent)
+
+    def filterRange(self):
+        return TreeRange(self.parent, self.recursive)
+
+# RetValFilter
+class RetValFilter(FilterBase):
+    """Filter by return type.
+    """
+
+    def __init__(self, retvalpattern):
+        FilterBase.__init__(self)
+        self.matcher = _StringMatcher(retvalpattern)
+
+    def __str__(self):
+        return "retval==%s"%self.matcher.pattern
+
+    def __call__(self, decl):
+        rettype = getattr(decl, "return_type", None)
+        if rettype==None:
+            return False
+        return self.matcher.match(str(rettype))
+
+# ArgsFilter
+class ArgsFilter(FilterBase):
+    """Filter by argument types.
+    """
+
+    def __init__(self, args):
+        FilterBase.__init__(self)
+        self.args = args
+
+    def __str__(self):
+        return "args==%s"%self.args
+
+    def __call__(self, decl):
+        args = self.args
+        declargs = getattr(decl, "arguments", None)
+        if declargs==None:
+            return False
+        if len(args)!=len(declargs):
+            return False
+        for arg,argument in zip(args, declargs):
+            if arg!=str(argument.type):
+                return False
+        return True
+
+# TypeFilter
+class TypeFilter(FilterBase):
+    """Filter by declaration type.
+    """
+
+    def __init__(self, typeflags):
+        FilterBase.__init__(self)        
+        self.flags = typeflags        
+
+    def __str__(self):
+        f = self.flags
+        t = []
+        if f & NAMESPACE:
+            t.append("NAMESPACE")
+        if f & CLASS:
+            t.append("CLASS")
+        if f & METHOD:
+            t.append("METHOD")
+        if f & FUNCTION:
+            t.append("FUNCTION")
+        if f & CONSTRUCTOR:
+            t.append("CONSTRUCTOR")
+        if f & ENUM:
+            t.append("ENUM")
+        if f & VARIABLE:
+            t.append("VARIABLE")
+        return "type==%s"%("|".join(t))
+
+    def __call__(self, decl):
+        return (self.declFlags(decl) & self.flags)!=0
+
+    # declFlags
+    def declFlags(self, decl):
+        """Return the type flags for decl.
+
+        @param decl: Declaration
+        @type decl: declaration_t
+        """
+        res = 0
+        if isinstance(decl, class_t):
+            res |= CLASS
+        elif isinstance(decl, member_calldef_t):
+            res |= METHOD
+        elif isinstance(decl, free_calldef_t):
+            res |= FUNCTION
+        elif isinstance(decl, enumeration.enumeration_t):
+            res |= ENUM
+        elif isinstance(decl, namespace_t):
+            res |= NAMESPACE
+        elif isinstance(decl, variable_t):
+            res |= VARIABLE
+
+        if isinstance(decl, constructor_t):
+            res |= CONSTRUCTOR
+
+        return res
+
+# HeaderFilter
+class HeaderFilter(FilterBase):
+    """Filter by header file.
+    """
+
+    def __init__(self, header):
+        FilterBase.__init__(self)
+        self.header = os.path.abspath(header)
+
+    def __str__(self):
+        return "header==%s"%self.header
+
+    def __call__(self, decl):
+        loc = getattr(decl, "location", None)
+        if loc==None:
+            return False
+        header = os.path.abspath(loc.file_name)
+        return header==self.header
+
+# HeaderDirFilter
+class HeaderDirFilter(FilterBase):
+    """Filter by header location.
+    """
+
+    def __init__(self, headerdir):
+        FilterBase.__init__(self)
+        self.headerdir = os.path.abspath(headerdir)
+
+    def __str__(self):
+        return "headerdir==%s"%self.headerdir
+
+    def __call__(self, decl):
+        loc = getattr(decl, "location", None)
+        if loc==None:
+            return False
+        dir = os.path.abspath(os.path.dirname(loc.file_name))
+        return dir[:len(self.headerdir)]==self.headerdir
+
+# AccessTypeFilter
+class AccessTypeFilter(FilterBase):
+    """Filter by access type.
+    """
+
+    def __init__(self, accesstype):
+        """Constructor.
+
+        accesstype can bei either PUBLIC or PROTECTED.
+        """
+        FilterBase.__init__(self)
+        self.accesstype = accesstype
+
+    def __str__(self):
+        return "accesstype==%s"%self.accesstype
+
+    def __call__(self, decl):
+        try:
+            at = getattr(decl, "access_type", None)
+        except RuntimeError, e:
+            # Accessing access_type on non-member variables
+            # raises an error
+            at = None
+
+        if at==None:
+            return False
+        return at==self.accesstype
+
+# ConstFilter
+class ConstFilter(FilterBase):
+    """Filter by constness.
+    """
+
+    def __init__(self, constness):
+        """Constructor.
+
+        constness is a boolean that specifies whether a declaration
+        has to be declared const or not to match the filter.
+        """
+        FilterBase.__init__(self)
+        self.constness = constness
+
+    def __str__(self):
+        return "const==%s"%self.constness
+
+    def __call__(self, decl):
+        const = bool(getattr(decl, "has_const", False))
+        return const==self.constness
+
+# VirtualityFilter
+class VirtualityFilter(FilterBase):
+    """Filter by virtuality.
+    """
+
+    def __init__(self, virtuality_flags):
+        """Constructor.
+
+        virtuality_flags is a combination of the flags NON_VIRTUAL,
+        NON_PURE_VIRTUAL, PURE_VIRTUAL and VIRTUAL.
+        """
+        FilterBase.__init__(self)
+        self.virtuality_flags = virtuality_flags
+
+    def __str__(self):
+        f = []
+        if self.virtuality_flags & NON_VIRTUAL:
+            f.append("non-virtual")
+        if self.virtuality_flags & NON_PURE_VIRTUAL:
+            f.append("non-pure virtual")        
+        if self.virtuality_flags & PURE_VIRTUAL:
+            f.append("pure virtual")
+
+        v = "|".join(f)
+        return "virtuality==%s"%v
+
+    def __call__(self, decl):
+        v = getattr(decl, "virtuality", None)
+        if v==None:
+            return False
+        vf = self.virtuality_flags
+        if vf&NON_VIRTUAL and v==VIRTUALITY_TYPES.NOT_VIRTUAL:
+            return True
+        elif vf&NON_PURE_VIRTUAL and v==VIRTUALITY_TYPES.VIRTUAL:
+            return True
+        elif vf&PURE_VIRTUAL and v==VIRTUALITY_TYPES.PURE_VIRTUAL:
+            return True
+        return False
+
+# CustomFilter
+class CustomFilter(FilterBase):
+    """Filter by user defined function.
+    """
+
+    def __init__(self, func):
+        FilterBase.__init__(self)
+        self.func = func
+
+    def __str__(self):
+        return "custom"
+
+    def __call__(self, decl):
+        return self.func(decl)
diff --git a/contrib/pypp_api/pypp_api/modulebuilder.py b/contrib/pypp_api/pypp_api/modulebuilder.py
new file mode 100644
index 0000000..0d62fe0
--- /dev/null
+++ b/contrib/pypp_api/pypp_api/modulebuilder.py
@@ -0,0 +1,793 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""This module contains the ModuleBuilder class.
+"""
+
+import os, os.path, re, time, types, copy
+
+# Bring in everything I need from pyplusplus and pygccxml
+from pygccxml import parser
+from pygccxml import declarations
+from pygccxml.declarations import ACCESS_TYPES
+import pygccxml.utils
+
+from pyplusplus import code_creators
+from pyplusplus import module_creator
+from pyplusplus import file_writers
+from pyplusplus import decl_wrappers
+
+from argpolicy import *
+import declwrapper
+DeclWrapper = declwrapper.IDecl
+
+QUERY = "query"
+DECORATION = "decoration"
+
+def cleanTemplateName(templateName):
+   """ Build a clean template name. """
+   clean_re = re.compile('[:<>\s,]')
+   return clean_re.sub('_', templateName)
+
+class ModuleBuilder:
+   """Wrapper for a module (or part of a module).
+   
+   Captures handling of parsing and writing out bindings.
+   Note: The public namespace '::' is the root decl for the Module.
+   By default all declarations are ignored.
+
+   @group Control methods: parse, buildCreators, writeModule
+   @group Customizing output: addInclude, setLicense, Template, addStartText, addEndText, addBodyTailText
+   """
+   def __init__(self,
+                headerFiles = [],
+                workingDir = None,
+                includePaths = [],
+                gccxmlPath = '', 
+                defines = [],
+                undefines = [],
+                cacheFile = None,
+                cacheDir = None,
+                moduleName = None,
+                output = None,
+                multiFile = False,
+                useScope = False,
+                maxArity = None,
+                queryLog = None,
+                decorationLog = None,
+                verbose = True):
+      """Initialize module.
+
+      @param headerFiles: The header files to parse
+      @type headerFiles: str or list of str
+      @param workingDir: directory to start processing.  (default: current working dir)
+      @type workingDir: str
+      @param includePaths: List of paths to tell gccxml to search for header files.
+      @type includePaths: list of str
+      @param gccxmlPath: path to gccxml.  If not set then attempt to find it in system path.
+      @type gccxmlPath: str
+      @param defines: set of symbols to add as defined when compiling.
+      @type defines: list of str
+      @param undefines: set of symbols to add as undefined when compiling.
+      @type undefines: list of str
+      @param cacheFile: name of file to use for caching parse data for this module using the file cache.
+      @type cacheFile: str
+      @param cacheDir: The name of the directory to use for caching parse data using the directory cache.
+      @type cacheDir: str
+      @param moduleName: The name of the Python module to generate
+      @type moduleName: str
+      @param output: The output file name or directory
+      @type output: str
+      @param multiFile: Determines whether the output will be written in one single file or in several files
+      @type multiFile: bool
+      @param useScope: If true the creators all use scope in their code.
+      @type useScope: bool
+      @param maxArity: This should be set to the value of BOOST_PYTHON_MAX_ARITY. This value is used by pyplusplus to determine when a warning message has to be issued. You still have to set BOOST_PYTHON_MAX_ARITY yourself during compilation!
+      @type maxArity: int
+      @param queryLog: Query log file (file name or file-like object)
+      @type queryLog: str or file
+      @param decorationLog: Decoration log file (file name or file-like object)
+      @type decorationLog: str or file
+      @param verbose: if true output status and command information as building the module.
+      @type verbose: bool
+      """
+      if not isinstance(headerFiles, list):
+         headerFiles = [headerFiles]
+      self.mHeaderFiles = headerFiles
+      self.mWorkingDir = workingDir
+      if not self.mWorkingDir:
+         self.mWorkingDir = os.getcwd()
+      self.mIncludePaths = includePaths   # Paths to use for extra includes with gccxml
+      self.mGccXmlPath   = gccxmlPath     # Path to gccxml executable
+      self.mDefines      = defines        # Defines for gccxml
+      self.mUndefines    = undefines
+      self.mCacheFile    = cacheFile      # File to use for caching gccxml output
+      self.mCacheDir     = cacheDir       # Directory to use for caching
+      self.mModuleName = moduleName       # Name of the Python extension module
+      if output==None:
+         if moduleName==None:
+            output = "bindings"
+         else:
+            output = moduleName
+         if not multiFile:
+            output += ".cpp"
+      self.mOutput = output               # Output file or directory name
+      self.mMultiFile = multiFile         # Multi file flag
+      self.mUseScope = useScope           # Use scope 
+      self.mVerbose      = verbose        # Should there be verbose output during processing
+      self.mDeclRoot     = None           # Root of the parsed decls (as declaration_t object)
+      self.mDeclRootWrapper = None        # The wrapper around mDeclRoot
+      self.mFinalDecls   = None           # Final list of decls to export
+      self.mTemplates    = []             # List of (templateType, typedefName) to instantiate
+      self.mTypeDefMap   = {}             # Map from typedef name to expanded type
+      self.mBodyTailCreators = []         # List of creators to add at body tail
+      self.mStartCreators = []            # List of creators to put at beginning of file
+      self.mEndCreators = []              # List of custom creators to add on
+      self.mExtraIncludes = []            # List of extra includes to add
+      self.mLicense       = None          # License to use
+      self.mExtModule     = None          # Extension model being built (code creator tree)
+      self.mStartTime = None              # Begin of the parsing step
+      self.mParseEndTime = None           # The time when parsing was finished
+
+      incp = copy.copy(self.mIncludePaths)
+      if self.mMultiFile:
+         incp.append(self.mOutput)
+      self.mArgPolicyManager = ArgPolicyManager(incp)
+
+      if maxArity!=None:
+         decl_wrappers.calldef_t.BOOST_PYTHON_MAX_ARITY = maxArity
+
+      if queryLog:
+         self.log(QUERY, queryLog)
+      if decorationLog:
+         self.log(DECORATION, decorationLog)
+      
+      print "Initialized module."
+
+   def log(self, type, logfile):
+      """Enable specific logging functionality.
+
+      @param type: Identifies a log stream (QUERY or DECORATION)
+      @type type: str
+      @param logfile: The output file name or a file-like object
+      @type logfile: str or file
+      """
+      if isinstance(logfile, types.StringTypes):
+         logfile = file(logfile, "wt")         
+      
+      if type==QUERY:
+         declwrapper.query_log = logfile
+      elif type==DECORATION:
+         declwrapper.decoration_log = logfile
+      else:
+         raise ValueError, "Invalid log stream: %s"%type
+      
+
+   def parse(self):
+      """Parse the header files and setup the known declarations.
+      
+      Currently this method can only be called once.
+      This method can be called anytime after initialization and all
+      Template() calls have been made.
+
+      :rtype: Returns the root of the declaration tree
+      @rtype: L{IDecl<declwrapper.IDecl>}
+      @postcondition: This class can act as a wrapper for namespace("::") and all declarations are set to be ignored.
+      """
+      if self.mHeaderFiles==[]:
+         raise ValueError, "No header files specified"
+      
+      if self.mVerbose:
+         print "Parsing headers: ", self.mHeaderFiles
+
+      # Record the time when parsing started...
+      self.mStartTime = time.time()
+
+      # Create and initialize the config object
+      parser_cfg = parser.config_t(self.mGccXmlPath,
+                                   self.mWorkingDir,
+                                   self.mIncludePaths,
+                                   define_symbols=self.mDefines,
+                                   undefine_symbols=self.mUndefines,
+                                   start_with_declarations=None)
+
+      full_header_list = self.mHeaderFiles[:]
+      
+      # Handle template instantiation as needed      
+      temp_file, temp_filename = (None,None)
+      template_instantiation_text = self.buildTemplateFileContents()
+      if None != template_instantiation_text:
+         temp_filename = pygccxml.utils.create_temp_file_name(suffix=".h")
+         temp_file = file(temp_filename, 'w')
+         temp_file.write(template_instantiation_text)
+         temp_file.close()
+         if self.mVerbose:
+            print "   creating template instantiation file: ", temp_filename
+         full_header_list.append(temp_filename)      
+
+      # Create the cache object...
+      if self.mCacheDir!=None:
+         if self.mVerbose:
+            print "Using directory cache in '%s'"%self.mCacheDir
+         cache = parser.directory_cache_t(self.mCacheDir)
+      elif self.mCacheFile!=None:
+         if self.mVerbose:
+            print "Using file cache '%s'"%self.mCacheFile
+         cache = parser.file_cache_t(self.mCacheFile)         
+      else:
+         if self.mVerbose:
+            print "No cache in use"
+         cache = None
+
+      # Create the parser object...
+      the_parser = parser.project_reader_t(config=parser_cfg, 
+                                           cache=cache,
+                                           decl_factory=decl_wrappers.dwfactory_t())
+      # ...and parse the headers
+      parsed_decls = the_parser.read_files(full_header_list, 
+                                           parser.project_reader.COMPILATION_MODE.FILE_BY_FILE)
+      
+      assert len(parsed_decls) == 1    # assume that we get root of full tree
+      self.mDeclRoot = parsed_decls[0]
+      
+      # Parse the files and add to decl root
+      # - then traverse tree setting everything to ignore
+      self.mDeclRootWrapper = DeclWrapper(self.mDeclRoot)
+      # Set the module builder instance (this is done here and not in the
+      # constructor so that Allen's DeclWrapper object still work as well)
+      self.mDeclRootWrapper.modulebuilder = self
+      self.mDeclRootWrapper.ignore()
+      
+      # Cleanup
+      if temp_filename:
+         pygccxml.utils.remove_file_no_raise( temp_filename )
+      
+      typedef_decls = declarations.make_flatten(parsed_decls)
+      typedef_decls = decls = filter( lambda x: (isinstance( x, declarations.typedef_t ) and 
+                                                 not x.name.startswith('__') and 
+                                                 x.location.file_name != "<internal>")
+                                      , typedef_decls )
+
+      self.mTypeDefMap = {}
+      for d in typedef_decls:
+         type_def_name = d.name
+         full_name = declarations.full_name(d)
+         if full_name.startswith("::"):    # Remove the base namespace
+            full_name = full_name[2:]
+         real_type_name = d.type.decl_string
+         if real_type_name.startswith("::"):    # Remove base namespace
+            real_type_name = real_type_name[2:]   
+         self.mTypeDefMap[full_name] = real_type_name
+
+      self.mParseEndTime = time.time()
+      if self.mVerbose:
+         print "Completed parsing in %s."%self._time2str(self.mParseEndTime-self.mStartTime)
+
+      return self.mDeclRootWrapper
+
+
+   def buildCreators(self, moduleName=None, filename=None, useScope=None):
+      """ Build creator tree and module from the current declarations.
+          See writeModule for parameter documentation.
+          In normal usage the user will not call this directly.
+          Return the base of the creator tree.
+
+          @rtype: module_t
+      """
+      if None == self.mDeclRoot:
+         self.parse()
+
+      if self.mVerbose:
+         print "Decoration time:",self._time2str(time.time()-self.mParseEndTime)
+      startTime = time.time()
+
+      if moduleName==None:
+         moduleName = self.mModuleName
+      if moduleName==None:
+         raise ValueError, "No output module name given"
+      if useScope==None:
+         useScope = self.mUseScope
+
+      # Lock the decoration interface (an attempt to decorate after this
+      # call will lead to an error)
+      declwrapper.decl_lock = True
+      
+      if self.mVerbose:
+         print "Creating module code creator tree...."
+         
+      # Filter the exposed decl list to create a final decl list.      
+#      def filter(decl):
+#         expose = getattr(decl, "_expose_flag", False)
+#         return expose
+      
+#      if self.mVerbose:
+#         print "Filtering module..."
+         
+#      self.mFinalDecls = declarations.filtering.user_defined( self.mDeclRoot, filter)
+
+      # The above filtering is already done in pyplusplus as it stores
+      # the "ignore" flag itself. [mbaas]
+         
+      # Create creator.module_t for the module
+      # - override the header files in create since we already know what files we used.
+      maker = module_creator.creator_t(self.mDeclRoot, module_name=moduleName)      
+#      maker = module_creator.creator_t(self.mFinalDecls, module_name=moduleName)      
+      extmodule = maker.create(decl_headers=self.mHeaderFiles)
+
+      # Preprocess the tree
+      self._preprocessCreatorTree(extmodule)
+
+      # Let the arg policy manager update the tree...
+      self.mArgPolicyManager.updateCreators(extmodule)
+
+      # Handle the extra creators that need added
+      mod_body = extmodule.body
+      for c in self.mBodyTailCreators:
+         mod_body.adopt_creator(c)
+      
+      for c in self.mEndCreators:
+         extmodule.adopt_creator(c)
+         
+      self.mStartCreators.reverse()
+      for c in self.mStartCreators:
+         extmodule.adopt_creator(c, extmodule.last_include_index()+1)
+         
+      for h in self.mExtraIncludes:
+         extmodule.adopt_include(code_creators.include_t(h))
+         
+      if useScope:
+         class_creators = filter( lambda c: isinstance( c, code_creators.class_t )
+                                 , code_creators.make_flatten( extmodule.body.creators ) )
+         for c in class_creators:
+            c.always_expose_using_scope = True #better error reporting from compiler   
+      
+      if self.mLicense:
+         extmodule._set_license(self.mLicense)
+
+      if self.mVerbose:
+         print "Code creator tree built in %s"%self._time2str(time.time()-startTime)
+         
+      self.mExtModule = extmodule
+      return self.mExtModule
+     
+      
+   def writeModule(self, moduleName=None, filename=None, useScope=None, 
+                    multiFile=None, multiCreateMain=True):
+      """ Create the module and write it out.
+          Automatically calls createCreators() and filterExposed() if needed.
+          
+          @param moduleName: The name of the module being created.
+          @param filename:   The file or directory to create the code.
+          @param useScope:   If true the creators all use scope in their code.
+          @param multiFile:  If true use the multifile writer.
+          @param multiCreateMain: If true and using multifile then create main reg method.
+      """
+      if not self.mExtModule:
+         self.buildCreators(moduleName, filename, useScope)
+      extmodule = self.mExtModule
+      assert extmodule
+
+      startTime = time.time()
+
+      if filename==None:
+         filename = self.mOutput
+      if multiFile==None:
+         multiFile = self.mMultiFile
+
+      # Check for missing policies...
+      if self.mVerbose:
+         print "Sanity check..."
+      creators = code_creators.make_flatten(self.mExtModule)
+      fmfunctions = filter(lambda creator: isinstance(creator, code_creators.calldef.calldef_t) and not isinstance(creator, code_creators.calldef.constructor_t), creators)
+      missing_flag = False
+      sanity_failed = []
+      for creator in fmfunctions:
+         if not creator.declaration.call_policies:
+            print "Missing policy:", declarations.full_name(creator.declaration)
+            missing_flag = True
+         if not self._declSanityCheck(creator.declaration):
+            sanity_failed.append(creator.declaration)
+      if len(sanity_failed)>0:
+         f = file("problems.log", "wt")
+         print "***Warning*** The following %d declarations may produce code that compiles, but"%len(sanity_failed)
+         print >>f, "***Warning*** The following %d declarations may produce code that compiles, but"%len(sanity_failed)
+         print "that does not have the desired effect in Python:"
+         print >>f, "that does not have the desired effect in Python:"
+         for decl in sanity_failed:
+            print " ",decl
+            print >>f, " ",decl
+            print >>f, "  ",decl.location.line, decl.location.file_name
+      if missing_flag:
+         print "*** Aborting because of missing policies!"
+         return
+      
+      if self.mVerbose:
+         print "Writing out files (%s)..."%filename
+      
+      # Write out the file(s)
+      if not multiFile:
+         file_writers.write_file(extmodule, filename)
+         # Let the arg policy manager write its files...
+         self.mArgPolicyManager.writeFiles(os.path.dirname(filename))
+      else:
+         mfs = file_writers.multiple_files_t(extmodule, filename, write_main=multiCreateMain)
+         mfs.write()
+         self.split_header_names = mfs.split_header_names
+         self.split_method_names = mfs.split_method_names
+
+         # Let the arg policy manager write its files...
+         self.mArgPolicyManager.writeFiles(filename)
+         
+      if self.mVerbose:
+         print "Module written in %s"%self._time2str(time.time()-startTime)
+         print "Module generation complete."
+         print "Total time: %s"%self._time2str(time.time()-self.mStartTime)
+         
+         
+   # ------------- Creator methods -------------- #      
+   def Template(self, templateType, typedefName=None):
+      """Add a template to instantiate.
+      
+      @param templateType: Fully instantiated name.  (ex: TemplateClass<float> )
+      @param typedefName:  Name of type def to define to this template type.
+          This name can then be used later to look up the real fully
+          expanded template type from the typedef map. (see self.mTypeDefMap)
+      """
+      if not typedefName:
+         typedefName = cleanTemplateName(templateType)
+      self.mTemplates.append( (templateType, typedefName) )
+   
+   def addInclude(self, headers):
+      """Add additional include file(s).
+      
+      These are not parsed but are just added to the generated code.
+      Takes either a single header or a list of headers.
+
+      @param headers: Header name(s)
+      @type headers: str or list of str
+      """
+      if not isinstance(headers, list):
+         headers = [headers]
+      self.mExtraIncludes.extend(headers)
+
+   def registerExceptionTranslator(self, cppexc, pyexc):
+      """Create and register an exception translator.
+
+      This method creates and registers code to translate the C++ exception
+      cppexc into the Python exception pyexc.
+      cppexc must be derived from the C++ standard exception class (or
+      it must provide an equivalent what() method).
+      pyexc must be one of the predefined Python exceptions (such as
+      IndexError, ValueError, etc.).
+
+      @param cppexc: The name of the C++ exception
+      @type cppexc: str
+      @param pyexc: The name of the Python exception
+      @type pyexc: str
+      """
+      self.addStartText("""// %s translator
+void %s_translator(const %s& exc) 
+{ 
+  PyErr_SetString(PyExc_%s, exc.what()); 
+}
+"""%(cppexc, cppexc, cppexc, pyexc))
+                        
+      self.addBodyTailText("boost::python::register_exception_translator<%s>(%s_translator);"%(cppexc, cppexc))
+      
+                           
+      
+   def __getattr__(self, name):
+      """ Pass through all unfound attributes to the decl wrapper.
+      This allows us to act like a decl wrapper on root.
+      
+      Ex: mod.ignore()
+      """
+      if hasattr(self.mDeclRootWrapper, name):
+         return getattr(self.mDeclRootWrapper, name)
+      else:
+         raise AttributeError, name  
+   
+   # --- Advanced methods of adding creators --- #
+   # This set of methods needs further refinement based upon user needs
+   def addBodyTailText(self, text):
+      """Add C++ source code to the module initialization function.
+
+      @param text: A string containing valid C++ source code.
+      @type text: str      
+      """
+      self.addBodyTailCreator(code_creators.custom_text_t(text) )
+
+   def addStartText(self, text):
+      """Add C++ source code to the beginning of the main source file.
+
+      @param text: A string containing valid C++ source code.
+      @type text: str
+      """
+      self.addStartCreator(code_creators.custom_text_t(text) )
+
+   def addEndText(self, text):
+      """Add C++ source code to the end of the main source file.
+
+      @param text: A string containing valid C++ source code.
+      @type text: str
+      """
+      self.addEndCreator(code_creators.custom_text_t(text) )
+
+   def setLicense(self, licenseText):
+      """ Set the license header to use. """
+      self.mLicense = licenseText
+
+   def addStartCreator(self, creator):
+      self.mStartCreators.append(creator)
+
+   def addBodyTailCreator(self, creator):
+      self.mBodyTailCreators.append(creator)
+
+   def addEndCreator(self, creator):
+      self.mEndCreators.append(creator)
+     
+   # ---------- Internal helpers ----------- #
+   def _preprocessCreatorTree(self, root):
+      """Preprocess the code creator tree.
+
+      Extends the nodes.
+
+      This method has to be called after the code creator tree was
+      generated by Py++.
+
+      @param root: The root of the code creator tree.
+      @type root: code_creator_t
+      """
+
+      # Iterate over the entire code creator tree...
+      for node in root.iter():
+         # If the code creator is based on a declaration, assign
+         # the code creator to the declaration. This makes it easy
+         # to obtain the corresponding code creator from a given
+         # decl_wrapper.
+         if isinstance(node, code_creators.declaration_based_t):
+            # Assign the code creator to the corresponding decl_wrapper
+            node.declaration.code_creator = node
+
+         # Is this a class wrapper creator? Then remove it if it was
+         # created on a finalized class
+         if isinstance(node, code_creators.class_wrapper_t):
+            finalized = getattr(node.declaration, "_pypp_api_finalized", False)
+            if finalized:
+               self._removeWrapperClass(node)
+
+   def _removeWrapperClass(self, wrappernode):
+      """Remove a wrapper class code creator.
+
+      All transformed member functions are moved out of the class
+      (as they are still needed) and then the wrapper class is removed.
+      """
+      class_creator = wrappernode.class_creator
+
+      # Search for members that have function transformers...
+      # (it is iterated over list(iter) so that the tree can be
+      # modified)
+      for node in list(wrappernode.iter()):
+         # Proceed to the next node if we are not dealing with a member
+         # function
+         if not isinstance(node, code_creators.calldef.calldef_wrapper_t):
+            continue
+
+         # Check if the node has function transformers.
+         # If this is the case we must keep that node and move it outside
+         # the wrapper class.
+         if node.declaration.function_transformers:
+            node.remove()
+            node.insertBefore(wrappernode)
+            class_creator.associated_decl_creators.append(node)
+
+      # Remove the class wrapper creator
+      wrappernode.remove()
+
+      # Remove all references to the wrapper creator (except on member
+      # functions with function transformers)
+      for node in class_creator.iter():
+         if not hasattr(node, "wrapper"):
+            continue
+         if isinstance(node, code_creators.calldef.calldef_t):
+            if node.declaration.function_transformers:
+               continue
+         node.wrapper = None
+      
+   
+   def buildTemplateFileContents(self):
+      """ Build up the contents of a file to instantiate the needed templates.
+          headerFiles - List of header files for this module.
+      """
+      if len(self.mTemplates) == 0:
+         return None
+      
+      content = "/** Autogenerated temporary file for template instantiation. */\n"
+      for h in self.mHeaderFiles:
+         content += '#include<%s>\n'%h
+      
+      for t in self.mTemplates:
+         template_type = t[0]
+         typedef_name = t[1]
+         content += """
+            typedef %(template_type)s %(typedef_name)s;
+            void __instantiate_%(typedef_name)s()
+            { sizeof(%(typedef_name)s); }
+         """ % vars()
+         
+      return content
+
+   # _declSanityCheck
+   def _declSanityCheck(self, decl):
+      """Check if a declaration will produce code that won't work in Python.
+      """
+      # Check if there's a pointer or reference to a fundamental type among the args...
+      args = getattr(decl, "arguments")
+      for arg in args:
+         t = arg.type
+         # Some form of reference?
+         if isinstance(t, declarations.pointer_t) or isinstance(t, declarations.array_t) or isinstance(t, declarations.reference_t):
+            # Ignore the const if there is one...
+            if isinstance(t.base, declarations.const_t):
+               base = t.base.base
+            else:
+               base = t.base
+            if isinstance(base, declarations.fundamental_t) and not (isinstance(base, declarations.char_t) or isinstance(base, declarations.unsigned_char_t)):
+               return False
+            
+      return True
+      
+
+   # _time2str
+   def _time2str(self, t):
+      """Helper method to convert a time value to a readable string.
+      
+      @param t: Time value in seconds
+      @type t: float
+      :rtype: The time as a string
+      @rtype: str
+      """
+      if t<60:
+         return "%1.0fs"%t
+      else:
+         min = int(t/60)
+         sec = int(t%60)
+         if min<60:
+            return "%dmin %ds"%(min,sec)
+         else:
+            h = int(min/60)
+            min = int(min%60)
+            return "%dh %dmin %ds"%(h,min,sec)
+
+
+
+class DeclPrinter( declarations.decl_visitor_t ):
+    """ Helper class for printing decl tree. """
+    JUSTIFY = 20
+    INDENT_SIZE = 4
+    
+    def __init__( self, level=0, printDetails=True, recursive=True ):
+        declarations.decl_visitor_t.__init__(self)
+        self.__inst = None
+        self.__level = level
+        self.__printDetails = printDetails
+        self.__recursive = recursive
+
+    def _get_level(self):
+        return self.__level
+    def _set_level(self, lvl):
+        self.__level = lvl
+    level = property( _get_level, _set_level )
+    
+    def _get_inst(self):
+        return self.__inst
+    def _set_inst(self, inst):
+        self.__inst = inst
+    instance = property( _get_inst, _set_inst )
+    
+    def __nice_decl_name( self, inst ):
+        name = inst.__class__.__name__
+        return name
+        #if name.endswith( '_t' ):
+        #    name = name[:-len('_t')]
+        #return name.replace( '_', ' ' )
+
+    def __print_decl_header(self):        
+        header = self.__nice_decl_name( self.__inst ) + ": '%s'" % self.__inst.name
+        print ' ' * self.level * self.INDENT_SIZE + header.ljust( self.JUSTIFY )
+        if self.__printDetails:
+            curr_level = self.level + 1 
+            if self.__inst.location:
+                location = 'location: [%s]:%s'%(self.__inst.location.file_name, self.__inst.location.line)
+                print ' ' * curr_level * self.INDENT_SIZE + location
+            expose = getattr(self.__inst, "_expose_flag", False)
+            print ' ' * curr_level * self.INDENT_SIZE + "Expose: ", expose
+            artificial = 'artificial: ' + "'%s'" % str(self.__inst.is_artificial)      
+            print ' ' * curr_level * self.INDENT_SIZE + artificial.ljust( self.JUSTIFY )
+
+    def visit_member_function( self ):
+        self.__print_decl_header()
+        print ' ' * (self.level+1) * self.INDENT_SIZE + "Signature: ", getMethodSignature(self.__inst)
+
+    def visit_constructor( self ):
+        self.__print_decl_header()
+
+    def visit_destructor( self ):
+        self.__print_decl_header()        
+
+    def visit_member_operator( self ):
+        self.__print_decl_header()        
+
+    def visit_casting_operator( self ):
+        self.__print_decl_header()        
+
+    def visit_free_function( self ):
+        self.__print_decl_header()
+
+    def visit_free_operator( self ):
+        self.__print_decl_header()
+
+    def visit_class_declaration(self ):
+        self.__print_decl_header()
+
+    def visit_class(self ):
+        self.__print_decl_header()
+        curr_level = self.level + 1
+        class_type = 'class type: ' + "'%s'" % str(self.__inst.class_type)        
+        print ' ' * curr_level * self.INDENT_SIZE + class_type.ljust( self.JUSTIFY )
+        
+        def print_hierarchy(hierarchy_type, classes, curr_level):
+            print ' ' * curr_level * self.INDENT_SIZE + hierarchy_type.ljust( self.JUSTIFY )
+            curr_level += 1
+            for class_ in classes:
+                class_str = 'class: ' + "'%s'" % str(class_.related_class.decl_string)        
+                print ' ' * curr_level * self.INDENT_SIZE + class_str.ljust( self.JUSTIFY )
+                access = 'access: ' + "'%s'" % str(class_.access) 
+                print ' ' * (curr_level + 1)* self.INDENT_SIZE + access.ljust( self.JUSTIFY )
+        
+        def print_members(members_type, members, curr_level):
+            print ' ' * curr_level * self.INDENT_SIZE + members_type.ljust( self.JUSTIFY )
+            if self.__recursive:
+               curr_level += 1
+               for member in members:
+                  prn = DeclPrinter( curr_level + 1, self.__printDetails, self.__recursive )
+                  prn.instance = member
+                  declarations.apply_visitor( prn, member )
+        
+        if self.__inst.bases:
+            print_hierarchy( 'base classes: ', self.__inst.bases, curr_level )
+            
+        if self.__inst.derived:
+            print_hierarchy( 'derived classes: ', self.__inst.derived, curr_level )
+
+        print_members( 'public: ', self.__inst.public_members, curr_level )
+        print_members( 'protected: ', self.__inst.protected_members, curr_level )
+        print_members( 'private: ', self.__inst.private_members, curr_level )
+        
+    def visit_enumeration(self):
+        self.__print_decl_header()
+        curr_level = self.level + 1
+        print ' ' * curr_level * self.INDENT_SIZE + 'values: ['.ljust( self.JUSTIFY ),        
+        for name, value in self.__inst.values.items():
+            print "%s:%s, "% (name, value)
+
+    def visit_namespace(self ):
+        self.__print_decl_header()
+        if self.__recursive:
+           for decl in self.__inst.declarations:
+              prn = DeclPrinter( self.level + 1, self.__printDetails, self.__recursive )
+              prn.instance = decl
+              declarations.apply_visitor( prn, decl )
+            
+    def visit_typedef(self ):
+        self.__print_decl_header()
+        curr_level = self.level + 1
+        print ' ' * curr_level * self.INDENT_SIZE + 'alias to: ', self.__inst.type.decl_string
+
+    def visit_variable(self ):
+        self.__print_decl_header()
+        curr_level = self.level + 1
+        print ' ' * curr_level * self.INDENT_SIZE, 'type: %s  value: %s'%(self.__inst.type.decl_string, self.__inst.value)        
+ 
diff --git a/contrib/pypp_api/pypp_api/selection.py b/contrib/pypp_api/pypp_api/selection.py
new file mode 100644
index 0000000..16d0a8e
--- /dev/null
+++ b/contrib/pypp_api/pypp_api/selection.py
@@ -0,0 +1,54 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+# Initial author: Matthias Baas
+
+"""This module contains the generic selection function.
+"""
+
+import sys
+from treerange import TreeRange
+
+# select
+def select(root, filter):
+    """Select declarations based on a filter function.
+
+    filter must accept a declaration as argument and return a boolean
+    indicating whether the declaration matches the filter or not.
+
+    @param root: The node(s) under which to search
+    @type root: declaration_t or list of declaration_t
+    @param filter: A filter that either accepts or rejects a declaration
+    @type filter: callable
+    """
+
+    if type(root)!=list:
+        root = [root]
+
+    rng = TreeRange(root[0],True)
+    for node in root[1:]:
+        rng = rng.union(TreeRange(node,True))
+
+    parents = None
+    # First check for the filterRange() method so that also
+    # regular functions can be passed
+    if hasattr(filter, "filterRange"):
+        frng = filter.filterRange()
+        if frng!=None:
+            rng = rng.intersect(frng)
+
+    # Match the declarations...
+#    print "Selection range:",rng
+#    print "Select among %d decls"%len(list(rng))
+    res = []
+    for decl in rng:
+        if filter(decl):
+            res.append(decl)
+
+    return res
+
+
+        
+    
\ No newline at end of file
diff --git a/contrib/pypp_api/pypp_api/treerange.py b/contrib/pypp_api/pypp_api/treerange.py
new file mode 100644
index 0000000..08e9b08
--- /dev/null
+++ b/contrib/pypp_api/pypp_api/treerange.py
@@ -0,0 +1,380 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+# Initial author: Matthias Baas
+
+"""This module contains the TreeRange class.
+"""
+
+from pygccxml.declarations import scopedef_t
+
+# TreeRange
+class TreeRange:
+    """This class represents a part of a tree.
+
+    A B{simple tree range} is defined by a I{parent} node and a boolean
+    flag I{recursive}. The immediate children of the parent node are
+    always contained in the range (the parent itself is excluded). If
+    the boolean flag is True then all grand-children of the parent
+    node are also contained in the range.
+
+    A B{compound range} is one that contains more than one simple ranges.
+
+    The purpose of this class is to provide an iterator that yields
+    parts of a declaration tree. This iteration is used when particular
+    declarations are queried.
+    By calling the L{union()} and L{intersect()} methods, a range
+    can be created that restricts the search to particular areas of the
+    tree. This can be used to exploit a priori knowledge about the filter
+    function when it is known that a filter will never match a node outside
+    a particular range.
+
+    A tree range can itself be a tree of ranges. For example, consider the
+    case when only the direct children of a node are contained in a range
+    and you make a union() operation with a range that lies beneath that
+    node. In this case, the sub range will be a children of the first range.
+    A range object can only have sub ranges when its recursive flag is set
+    to False, otherwise all possible sub ranges are already contained
+    in that range anyway.
+    """
+    
+    def __init__(self, parent, recursive, subranges=None):
+        """Constructor.
+        """
+
+        if subranges==None:
+            subranges = []
+
+        # Parent node
+        # (None is only allowed in the root)
+        self.parent = parent
+        # Recursive flag 
+        self.recursive = recursive
+        # A list of sub ranges. The list items are TreeRange objects.
+        # The sub ranges must be disjoint!
+        # The list must be empty when recursive is True!
+        self.subranges = subranges
+
+    def __str__(self):
+        return "<TreeRange: parent:%s recursive:%s #subranges:%d>"%(self.parent, self.recursive, len(self.subranges))
+
+    def __iter__(self):
+        """The same as iterNodes()."""
+        return self.iterNodes()
+
+    # iterNodes
+    def iterNodes(self):
+        """Iterate over all nodes within this range.
+
+        yields the individual nodes (declaration_t objects).
+        """
+        if self.parent!=None:
+            for node in self._iterdecls(self.parent, self.recursive):
+                yield node
+
+        for sr in self.subranges:
+            for node in sr.iterNodes():
+                yield node
+
+    # _iterdecls
+    def _iterdecls(self, parent, recursive):
+        """Depth first iteration over a declaration (sub) tree.
+        
+        Iterates over the children of parent. If recursive is set to True
+        the iteration also includes the grand-children.
+        The parent itself is not returned.
+
+        @param parent: Starting node
+        @param recursive: Determines whether the method also yields children nodes 
+        @type recursive: bool
+        """
+
+        children = getattr(parent, "declarations", [])
+        for ch in children:
+            yield ch
+            if recursive and isinstance(ch, scopedef_t):
+                for node in self._iterdecls(ch, True):
+                    yield node
+
+    # iterRanges
+    def iterRanges(self):
+        """Iterate over the simple ranges within this range.
+
+        The ranges are iterated from bottom to top.
+        All ranges are disjoint!
+        """
+
+        for sr in self.subranges:
+            for r in sr.iterRanges():
+                yield r
+
+        if self.parent!=None:
+            yield self.parent, self.recursive
+            
+
+    # intersect
+    def intersect(self, other):
+        """Return the intersection of self and other.
+
+        Update the current tree and return the new root.
+
+        @param other: A simple range (parent, recursive).
+        @type other: 2-tuple
+        :rtype: The new root node.
+        @rtype: TreeRange        
+        """
+
+        res = TreeRange(None, False)
+
+        # Intersect self with each disjoint component of other and
+        # "add" the result to res...
+        for rng in other.iterRanges():
+            intersection = self._simpleIntersect(rng)
+            res = res.union(intersection)
+
+        # Check if the result only contains one sub range...
+        if res.parent==None and len(res.subranges)==1:
+            res = res.subranges[0]
+
+        return res
+
+    def _simpleIntersect(self, simplerange):
+        """Return the intersection of self and other.
+
+        Update the current tree and return the new root.
+
+        @param simplerange: A simple range (parent, recursive).
+        @type simplerange: 2-tuple
+        :rtype: The new root node.
+        @rtype: TreeRange        
+        """
+        otherparent, otherrecursive = simplerange
+        
+        if self.parent!=None:
+            rs = self._rangeRelationship(self.parent, otherparent)
+            # disjoint?
+            if rs==0:
+                self.parent = None
+                self.recursive = False
+                self.subranges = []
+                return self
+            # otherparent==parent?
+            elif rs==3:
+                if not otherrecursive:
+                    self.recursive = False
+                    self.subranges = []
+                return self
+            # parent below otherparent?
+            elif rs==2:
+                if not otherrecursive:
+                    self.parent = None
+                    self.recursive = False
+                    self.subranges = []
+                return self
+            # otherparent below parent
+            else:
+                if self.recursive:
+                    self.parent = otherparent
+                    self.recursive = otherrecursive
+                    self.subranges = []
+                    return self
+
+                self.parent = None
+
+                # go on as if parent was None in the first place
+            
+        # newsub receives all sub ranges that are below otherparent
+        # (these will survive)
+        newsub = []
+        for sr in self.subranges:
+            rs = self._rangeRelationship(sr.parent, otherparent)
+            # sr parent == otherparent?
+            if rs==3:
+                if not otherrecursive:
+                    sr.subranges = []
+                    sr.recursive = False
+                return sr
+            # otherparent below sr.parent?
+            elif rs==1:
+                return sr._simpleIntersect(simplerange)
+            # sr.parent below otherparent?
+            elif rs==2:
+                if otherrecursive:
+                    newsub.append(sr)
+
+        self.subranges = newsub
+        return self
+
+    # union
+    def union(self, other):
+        """Return the union of self and other.
+
+        Update the current tree and return the new root.
+        
+        @param other: Another TreeRange object
+        @type other: TreeRange
+        :rtype: The new root node.
+        @rtype: TreeRange
+        """
+        res = self
+        for rng in other.iterRanges():
+            res = res._simpleUnion(rng)
+
+        return res
+    
+    def _simpleUnion(self, simplerange):
+        """Return the union of self and a simple range.
+
+        Update the current tree and return the new root.
+        
+        @param simplerange: A simple range (parent, recursive).
+        @type simplerange: 2-tuple
+        :rtype: The new root node.
+        @rtype: TreeRange
+        """
+        otherparent, otherrecursive = simplerange
+
+        if self.parent!=None:
+            rs = self._rangeRelationship(self.parent, otherparent)
+            # disjoint?
+            if rs==0:
+                otherrange = TreeRange(otherparent, otherrecursive, [])
+                root = TreeRange(None, False, [self, otherrange])
+                return root
+            # otherparent==parent?
+            elif rs==3:
+                if otherrecursive:
+                    self.recursive = True
+                    self.subranges = []
+                return self
+            # parent below otherparent?
+            elif rs==2:
+                if otherrecursive:
+                    self.parent = otherparent
+                    self.recursive = True
+                    self.subranges = []
+                    return self
+                else:
+                    rng = TreeRange(otherparent, False, [self])
+                    return rng
+            # otherparent below parent
+            else:
+                # Are we already recursive? Then self already contains other...
+                if self.recursive:
+                    return self
+                
+            # if we get here, otherparent is below parent and self is not
+            # recursive. This is treated as if parent was None
+
+        # newsub receives all sub ranges that are below otherparent
+        # (these will become the new sub range of other)
+        newsub = []
+        for i,sr in enumerate(self.subranges):
+            rs = self._rangeRelationship(sr.parent, otherparent)
+            # sr parent == otherparent?
+            if rs==3:
+                if otherrecursive:
+                    sr.recursive = True
+                    sr.subranges = []
+                return self
+            # otherparent below sr.parent?
+            elif rs==1:
+                del self.subranges[i]
+                newsr = sr._simpleUnion(simplerange)
+                # if a new TreeRange with empty parent was created, then
+                # pull the subranges to this level
+                if newsr.parent==None:
+                    self.subranges.extend(newsr.subranges)
+                else:
+                    self.subranges.append(newsr)
+                return self
+            # sr.parent below otherparent?
+            elif rs==2:
+                newsub.append(sr)
+
+        # other will become a new sub range
+        rng = TreeRange(otherparent, otherrecursive, [])
+
+        # Was other above some previous sub ranges? Then move those sub ranges
+        # below other...
+        if len(newsub)>0:
+            for sr in newsub:
+                self.subranges.remove(sr)
+            rng.subranges = newsub
+
+        self.subranges.append(rng)
+        return self
+
+
+    def _rangeRelationship(self, parent1, parent2):
+        """Determines the relationship between two nodes.
+        
+        :rtype: Returns the relationship as an integer value:
+           - 0: The sub trees rooted at parent1 and parent2 are disjoint
+           - 1: parent2 is below parent1
+           - 2: parent1 is below parent2
+           - 3: parent1 and parent2 are the same
+        @rtype: int
+        """
+        path1 = self._rootPath(parent1)
+        path2 = self._rootPath(parent2)
+        res = 0
+        if parent1 in path2:
+            res |= 0x01
+        if parent2 in path1:
+            res |= 0x02
+        return res
+
+    def _rootPath(self, node):
+        """Returns a list with all nodes from node to the root (including node).
+
+        @precondition: node must have a parent attribute
+        :rtype: Returns a list of nodes
+        @rtype: list
+        """
+        res = []
+        while node!=None:
+            res.append(node)
+            node = node.parent
+        return res
+
+    def _dump(self, level=0):
+        """Dump the range tree for debugging purposes.
+        """
+        s = "Rng: (%s:%s, %s)"%(getattr(self.parent, "name", "None"), self.parent.__class__.__name__, self.recursive)
+        print "%s%s"%((2*level)*" ", s)
+        for sr in self.subranges:
+            sr._dump(level+1)
+
+######################################################################
+
+if __name__=="__main__":
+
+    class DummyNode:
+        def __init__(self, id, parent=None):
+            self.id = id
+            self.parent = parent
+            self.declarations = []
+            if parent!=None:
+                self.parent.declarations.append(self)
+
+        def __str__(self):
+            return "<Node %d>"%self.id
+
+    root = DummyNode(0)
+    n1 = DummyNode(1, root)
+    n2 = DummyNode(2, n1)
+    n3 = DummyNode(3, n1)
+    n4 = DummyNode(4, root)
+    n5 = DummyNode(5, n4)
+    n6 = DummyNode(6, n2)
+
+    tr = TreeRange(root, False)
+    tr = tr.union((n4,True))
+    print tr
+    for r in tr.iterRanges():
+        print r
+    for n in tr:
+        print n
\ No newline at end of file
diff --git a/contrib/pypp_api/readme.txt b/contrib/pypp_api/readme.txt
new file mode 100644
index 0000000..c5bc653
--- /dev/null
+++ b/contrib/pypp_api/readme.txt
@@ -0,0 +1,30 @@
+pypp_api
+========
+
+pypp_api is an optional high-level API built on top of Py++. It can be
+used to control the binding creation process without that you have to
+know every detail about the internals of pygccxml and Py++.
+
+Usage
+-----
+
+In order to use the package set PYTHONPATH to contrib/pypp_api so
+that you can import pypp_api. 
+In your script you will usually import the API as follows:
+
+from pypp_api import *
+
+
+Documentation
+-------------
+
+A quick start tutorial and a user guide are available on the Py++ wiki at:
+
+  https://realityforge.vrsource.org/view/PyppApi/
+
+(see the pages PyppTutorial and PyppUserGuide)
+
+You can also invoke the script generate_docs.py to generate a reference
+manual using epydoc (http://epydoc.sourceforge.net). If you are new to 
+pypp_api I recommend to have a look at the wiki first.
+
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..c9e03fe
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,216 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS	=
+SPHINXBUILD   = sphinx-build
+PAPER		 =
+BUILDDIR	  = build
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4	 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html	   to make standalone HTML files"
+	@echo "  dirhtml	to make HTML files named index.html in directories"
+	@echo "  singlehtml to make a single large HTML file"
+	@echo "  pickle	 to make pickle files"
+	@echo "  json	   to make JSON files"
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
+	@echo "  qthelp	 to make HTML files and a qthelp project"
+	@echo "  applehelp  to make an Apple Help Book"
+	@echo "  devhelp	to make HTML files and a Devhelp project"
+	@echo "  epub	   to make an epub"
+	@echo "  latex	  to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+	@echo "  text	   to make text files"
+	@echo "  man		to make manual pages"
+	@echo "  texinfo	to make Texinfo files"
+	@echo "  info	   to make Texinfo files and run them through makeinfo"
+	@echo "  gettext	to make PO message catalogs"
+	@echo "  changes	to make an overview of all changed/added/deprecated items"
+	@echo "  xml		to make Docutils-native XML files"
+	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes"
+	@echo "  linkcheck  to check all external links for integrity"
+	@echo "  doctest	to run all doctests embedded in the documentation (if enabled)"
+	@echo "  coverage   to run coverage check of the documentation (if enabled)"
+
+.PHONY: clean
+clean:
+	rm -rf $(BUILDDIR)/*
+
+.PHONY: html
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+.PHONY: dirhtml
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+.PHONY: singlehtml
+singlehtml:
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+	@echo
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+.PHONY: pickle
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+.PHONY: json
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+.PHONY: htmlhelp
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+		  ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+.PHONY: qthelp
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+		  ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Py.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Py.qhc"
+
+.PHONY: applehelp
+applehelp:
+	$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
+	@echo
+	@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
+	@echo "N.B. You won't be able to view it unless you put it in" \
+		  "~/Library/Documentation/Help or install it in your application" \
+		  "bundle."
+
+.PHONY: devhelp
+devhelp:
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+	@echo
+	@echo "Build finished."
+	@echo "To view the help file:"
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/Py"
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Py"
+	@echo "# devhelp"
+
+.PHONY: epub
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+	@echo
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+.PHONY: latex
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
+		  "(use \`make latexpdf' here to do that automatically)."
+
+.PHONY: latexpdf
+latexpdf:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through pdflatex..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+.PHONY: latexpdfja
+latexpdfja:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through platex and dvipdfmx..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+.PHONY: text
+text:
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+	@echo
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+.PHONY: man
+man:
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+	@echo
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+.PHONY: texinfo
+texinfo:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo
+	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+	@echo "Run \`make' in that directory to run these through makeinfo" \
+		  "(use \`make info' here to do that automatically)."
+
+.PHONY: info
+info:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo "Running Texinfo files through makeinfo..."
+	make -C $(BUILDDIR)/texinfo info
+	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+.PHONY: gettext
+gettext:
+	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+	@echo
+	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+.PHONY: changes
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+.PHONY: linkcheck
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+		  "or in $(BUILDDIR)/linkcheck/output.txt."
+
+.PHONY: doctest
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+		  "results in $(BUILDDIR)/doctest/output.txt."
+
+.PHONY: coverage
+coverage:
+	$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
+	@echo "Testing of coverage in the sources finished, look at the " \
+		  "results in $(BUILDDIR)/coverage/python.txt."
+
+.PHONY: xml
+xml:
+	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+	@echo
+	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+.PHONY: pseudoxml
+pseudoxml:
+	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+	@echo
+	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/docs/apidocs/_logging_.rst b/docs/apidocs/_logging_.rst
new file mode 100644
index 0000000..e7903e7
--- /dev/null
+++ b/docs/apidocs/_logging_.rst
@@ -0,0 +1,24 @@
+============================
+pyplusplus._logging_ package
+============================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus._logging_
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
+
+multi_line_formatter
+--------------------
+
+.. automodule:: pyplusplus._logging_.multi_line_formatter
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/docs/apidocs/api.rst b/docs/apidocs/api.rst
new file mode 100644
index 0000000..2655719
--- /dev/null
+++ b/docs/apidocs/api.rst
@@ -0,0 +1,18 @@
+===
+API
+===
+
+`Py++` consists from few sub packages
+
+.. toctree::
+
+   module_builder.rst
+   decl_wrappers.rst
+   function_transformers.rst
+   messages.rst
+   file_writers.rst
+   utils.rst
+   _logging_.rst
+   creators_factory.rst
+   code_creators.rst
+   code_repository.rst
diff --git a/docs/apidocs/code_creators.rst b/docs/apidocs/code_creators.rst
new file mode 100644
index 0000000..7f90898
--- /dev/null
+++ b/docs/apidocs/code_creators.rst
@@ -0,0 +1,313 @@
+================================
+pyplusplus.code_creators package
+================================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.code_creators
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
+
+algorithm
+---------
+
+.. automodule:: pyplusplus.code_creators.algorithm
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+array_1_registrator
+-------------------
+
+.. automodule:: pyplusplus.code_creators.array_1_registrator
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+bookmark
+--------
+
+.. automodule:: pyplusplus.code_creators.bookmark
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+calldef
+-------
+
+.. automodule:: pyplusplus.code_creators.calldef
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+calldef_ctypes
+--------------
+
+.. automodule:: pyplusplus.code_creators.calldef_ctypes
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+calldef_transformed
+-------------------
+
+.. automodule:: pyplusplus.code_creators.calldef_transformed
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+calldef_utils
+-------------
+
+.. automodule:: pyplusplus.code_creators.calldef_utils
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+class_declaration
+-----------------
+
+.. automodule:: pyplusplus.code_creators.class_declaration
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+code_creator
+------------
+
+.. automodule:: pyplusplus.code_creators.code_creator
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+compound
+--------
+
+.. automodule:: pyplusplus.code_creators.compound
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+ctypes_formatter
+----------------
+
+.. automodule:: pyplusplus.code_creators.ctypes_formatter
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+ctypes_integration_creators
+---------------------------
+
+.. automodule:: pyplusplus.code_creators.ctypes_integration_creators
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+custom
+------
+
+.. automodule:: pyplusplus.code_creators.custom
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+declaration_based
+-----------------
+
+.. automodule:: pyplusplus.code_creators.declaration_based
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+embedded_code_repository
+------------------------
+
+.. automodule:: pyplusplus.code_creators.embedded_code_repository
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+enum
+----
+
+.. automodule:: pyplusplus.code_creators.enum
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+exception_translator
+--------------------
+
+.. automodule:: pyplusplus.code_creators.exception_translator
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+global_variable
+---------------
+
+.. automodule:: pyplusplus.code_creators.global_variable
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+include
+-------
+
+.. automodule:: pyplusplus.code_creators.include
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+include_directories
+-------------------
+
+.. automodule:: pyplusplus.code_creators.include_directories
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+indexing_suites
+---------------
+
+.. automodule:: pyplusplus.code_creators.indexing_suites
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+instruction
+-----------
+
+.. automodule:: pyplusplus.code_creators.instruction
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+library_reference
+-----------------
+
+.. automodule:: pyplusplus.code_creators.library_reference
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+license
+-------
+
+.. automodule:: pyplusplus.code_creators.license
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+member_variable
+---------------
+
+.. automodule:: pyplusplus.code_creators.member_variable
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+module
+------
+
+.. automodule:: pyplusplus.code_creators.module
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+module_body
+-----------
+
+.. automodule:: pyplusplus.code_creators.module_body
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+namespace
+---------
+
+.. automodule:: pyplusplus.code_creators.namespace
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+name_mappings
+-------------
+
+.. automodule:: pyplusplus.code_creators.name_mappings
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+opaque_type_registrator
+-----------------------
+
+.. automodule:: pyplusplus.code_creators.opaque_type_registrator
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+properties
+----------
+
+.. automodule:: pyplusplus.code_creators.properties
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+registration_based
+------------------
+
+.. automodule:: pyplusplus.code_creators.registration_based
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+scoped
+------
+
+.. automodule:: pyplusplus.code_creators.scoped
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+smart_pointers
+--------------
+
+.. automodule:: pyplusplus.code_creators.smart_pointers
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+target_configuration
+--------------------
+
+.. automodule:: pyplusplus.code_creators.target_configuration
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+typedef_as_pyvar
+----------------
+
+.. automodule:: pyplusplus.code_creators.typedef_as_pyvar
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+unnamed_enum
+------------
+
+.. automodule:: pyplusplus.code_creators.unnamed_enum
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
diff --git a/docs/apidocs/code_repository.rst b/docs/apidocs/code_repository.rst
new file mode 100644
index 0000000..f0b71f0
--- /dev/null
+++ b/docs/apidocs/code_repository.rst
@@ -0,0 +1,57 @@
+==================================
+pyplusplus.code_repository package
+==================================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.code_repository
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+------------
+sub-packages
+------------
+
+.. toctree::
+
+    code_repository/indexing_suite.rst
+
+--------
+Modules
+--------
+
+ctypes_integration
+------------------
+
+.. automodule:: pyplusplus.code_repository.ctypes_integration
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+ctypes_utils
+------------
+
+.. automodule:: pyplusplus.code_repository.ctypes_utils
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+gil_guard
+---------
+
+.. automodule:: pyplusplus.code_repository.gil_guard
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+named_tuple
+-----------
+
+.. automodule:: pyplusplus.code_repository.named_tuple
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
diff --git a/docs/apidocs/code_repository/indexing_suite.rst b/docs/apidocs/code_repository/indexing_suite.rst
new file mode 100644
index 0000000..f3af34e
--- /dev/null
+++ b/docs/apidocs/code_repository/indexing_suite.rst
@@ -0,0 +1,226 @@
+=================================================
+pyplusplus.code_repository.indexing_suite package
+=================================================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
+
+deque_header
+------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.deque_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+element_proxy_header
+--------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.element_proxy_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+element_proxy_traits_header
+---------------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.element_proxy_traits_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+int_slice_helper_header
+-----------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.int_slice_helper_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+iterator_range_header
+---------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.iterator_range_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+iterator_traits_header
+----------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.iterator_traits_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+list_header
+-----------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.list_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+map_header
+----------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.map_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+methods_header
+--------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.methods_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+multimap_header
+---------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.multimap_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+pair_header
+-----------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.pair_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+proxy_iterator_header
+---------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.proxy_iterator_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+python_iterator_header
+----------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.python_iterator_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+set_header
+----------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.set_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+shared_proxy_impl_header
+------------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.shared_proxy_impl_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+slice_handler_header
+--------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.slice_handler_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+slice_header
+------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.slice_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+suite_utils_header
+------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.suite_utils_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+value_traits_header
+-------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.value_traits_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+vector_header
+-------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.vector_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+visitor_header
+--------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.visitor_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+workaround_header
+-----------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.workaround_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+algorithms_header
+-----------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.algorithms_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+container_proxy_header
+----------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.container_proxy_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+container_suite_header
+----------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.container_suite_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+container_traits_header
+-----------------------
+
+.. automodule:: pyplusplus.code_repository.indexing_suite.container_traits_header
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+
diff --git a/docs/apidocs/creators_factory.rst b/docs/apidocs/creators_factory.rst
new file mode 100644
index 0000000..1affb0c
--- /dev/null
+++ b/docs/apidocs/creators_factory.rst
@@ -0,0 +1,89 @@
+===================================
+pyplusplus.creators_factory package
+===================================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.creators_factory
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
+
+bpcreator
+---------
+
+.. automodule:: pyplusplus.creators_factory.bpcreator
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+call_policies_resolver
+----------------------
+
+.. automodule:: pyplusplus.creators_factory.call_policies_resolver
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+creators_wizard
+---------------
+
+.. automodule:: pyplusplus.creators_factory.creators_wizard
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+ctypes_creator
+--------------
+
+.. automodule:: pyplusplus.creators_factory.ctypes_creator
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+dependencies_manager
+--------------------
+
+.. automodule:: pyplusplus.creators_factory.dependencies_manager
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+fake_constructors_manager
+-------------------------
+
+.. automodule:: pyplusplus.creators_factory.fake_constructors_manager
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+opaque_types_manager
+--------------------
+
+.. automodule:: pyplusplus.creators_factory.opaque_types_manager
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+sort_algorithms
+---------------
+
+.. automodule:: pyplusplus.creators_factory.sort_algorithms
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+types_database
+--------------
+
+.. automodule:: pyplusplus.creators_factory.types_database
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
diff --git a/docs/apidocs/decl_wrappers.rst b/docs/apidocs/decl_wrappers.rst
new file mode 100644
index 0000000..0cead31
--- /dev/null
+++ b/docs/apidocs/decl_wrappers.rst
@@ -0,0 +1,151 @@
+================================
+pyplusplus.decl_wrappers package
+================================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.decl_wrappers
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
+
+algorithm
+---------
+
+.. automodule:: pyplusplus.decl_wrappers.algorithm
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+calldef_wrapper
+---------------
+
+.. automodule:: pyplusplus.decl_wrappers.calldef_wrapper
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+call_policies
+-------------
+
+.. automodule:: pyplusplus.decl_wrappers.call_policies
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+class_wrapper
+-------------
+
+.. automodule:: pyplusplus.decl_wrappers.class_wrapper
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+decl_wrapper
+------------
+
+.. automodule:: pyplusplus.decl_wrappers.decl_wrapper
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+decl_wrapper_printer
+--------------------
+
+.. automodule:: pyplusplus.decl_wrappers.decl_wrapper_printer
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+doc_extractor
+-------------
+
+.. automodule:: pyplusplus.decl_wrappers.doc_extractor
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+enumeration_wrapper
+-------------------
+
+.. automodule:: pyplusplus.decl_wrappers.enumeration_wrapper
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+indexing_suite1
+---------------
+
+.. automodule:: pyplusplus.decl_wrappers.indexing_suite1
+    :members:
+    :show-inheritance:
+
+indexing_suite2
+---------------
+
+.. automodule:: pyplusplus.decl_wrappers.indexing_suite2
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+namespace_wrapper
+-----------------
+
+.. automodule:: pyplusplus.decl_wrappers.namespace_wrapper
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+properties
+----------
+
+.. automodule:: pyplusplus.decl_wrappers.properties
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+python_traits
+-------------
+
+.. automodule:: pyplusplus.decl_wrappers.python_traits
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+scopedef_wrapper
+----------------
+
+.. automodule:: pyplusplus.decl_wrappers.scopedef_wrapper
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+typedef_wrapper
+---------------
+
+.. automodule:: pyplusplus.decl_wrappers.typedef_wrapper
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+user_text
+---------
+
+.. automodule:: pyplusplus.decl_wrappers.user_text
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+variable_wrapper
+----------------
+
+.. automodule:: pyplusplus.decl_wrappers.variable_wrapper
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/docs/apidocs/file_writers.rst b/docs/apidocs/file_writers.rst
new file mode 100644
index 0000000..e3cec36
--- /dev/null
+++ b/docs/apidocs/file_writers.rst
@@ -0,0 +1,65 @@
+===============================
+pyplusplus.file_writers package
+===============================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.file_writers
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
+
+balanced_files
+--------------
+
+.. automodule:: pyplusplus.file_writers.balanced_files
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+class_multiple_files
+--------------------
+
+.. automodule:: pyplusplus.file_writers.class_multiple_files
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+md5sum_repository
+-----------------
+
+.. automodule:: pyplusplus.file_writers.md5sum_repository
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+multiple_files
+--------------
+
+.. automodule:: pyplusplus.file_writers.multiple_files
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+single_file
+-----------
+
+.. automodule:: pyplusplus.file_writers.single_file
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+writer
+------
+
+.. automodule:: pyplusplus.file_writers.writer
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
diff --git a/docs/apidocs/function_transformers.rst b/docs/apidocs/function_transformers.rst
new file mode 100644
index 0000000..d5074f0
--- /dev/null
+++ b/docs/apidocs/function_transformers.rst
@@ -0,0 +1,56 @@
+========================================
+pyplusplus.function_transformers package
+========================================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.function_transformers
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
+
+controllers
+-----------
+
+.. automodule:: pyplusplus.function_transformers.controllers
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+function_transformation
+-----------------------
+
+.. automodule:: pyplusplus.function_transformers.function_transformation
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+templates
+---------
+
+.. automodule:: pyplusplus.function_transformers.templates
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+transformer
+-----------
+
+.. automodule:: pyplusplus.function_transformers.transformer
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+transformers
+------------
+
+.. automodule:: pyplusplus.function_transformers.transformers
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/docs/apidocs/messages.rst b/docs/apidocs/messages.rst
new file mode 100644
index 0000000..2e37afd
--- /dev/null
+++ b/docs/apidocs/messages.rst
@@ -0,0 +1,24 @@
+===========================
+pyplusplus.messages package
+===========================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.messages
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
+
+warnings_
+---------
+
+.. automodule:: pyplusplus.messages.warnings_
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/docs/apidocs/module_builder.rst b/docs/apidocs/module_builder.rst
new file mode 100644
index 0000000..2cadf31
--- /dev/null
+++ b/docs/apidocs/module_builder.rst
@@ -0,0 +1,48 @@
+=================================
+pyplusplus.module_builder package
+=================================
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.module_builder
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
+
+boost_python_builder
+--------------------
+
+.. automodule:: pyplusplus.module_builder.boost_python_builder
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+ctypes_builder
+--------------
+
+.. automodule:: pyplusplus.module_builder.ctypes_builder
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+ctypes_decls_dependencies
+-------------------------
+
+.. automodule:: pyplusplus.module_builder.ctypes_decls_dependencies
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+module_builder
+--------------
+
+.. automodule:: pyplusplus.module_builder.module_builder
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/docs/apidocs/utils.rst b/docs/apidocs/utils.rst
new file mode 100644
index 0000000..7f7bb86
--- /dev/null
+++ b/docs/apidocs/utils.rst
@@ -0,0 +1,17 @@
+========================
+pyplusplus.utils package
+========================
+
+
+--------
+Overview
+--------
+
+.. automodule:: pyplusplus.utils
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+--------
+Modules
+--------
diff --git a/docs/architecture.rst b/docs/architecture.rst
new file mode 100644
index 0000000..a11acdf
--- /dev/null
+++ b/docs/architecture.rst
@@ -0,0 +1,327 @@
+============
+Architecture
+============
+
+------------
+Introduction
+------------
+
+This document will describe an architecture behind :doc:`Py++ <index>`.
+
+---------------------------
+Py++ & pygccxml integration
+---------------------------
+
+C++
+---
+
+C++ is very powerful programming language. The power brings complexity. It is
+not an easy task to parse C++ source files and to create in memory representation
+of declarations tree. The declarations tree is worth nothing, if a user is not
+able to explorer it, to run queries against it or to find out traits of a
+declaration or a type.
+
+On the earlier stage of the development, I realized, that all this functionality
+does not belong to code generator and should be implemented out side of it.
+`pygccxml <http://pygccxml.readthedocs.org>`_ project was born. `pygccxml <http://pygccxml.readthedocs.org>`_ made the code generator to be smaller
+and C++ parser independent. It provides the following services:
+
+* definition of classes, that describe C++ declaration and types, and their
+  analyzers ( type traits )
+
+* C++ source files parsing and caching functionality
+
+
+:doc:`Py++ <index>` uses those services to:
+
+* extract declarations from source files and to provide powerful query interface
+
+* find out a declaration default configuration:
+
+  * call policies for functions
+
+  * indexing suite parameters
+
+  * generate warnings/hints
+
+  * ...
+
+
+Integration details
+-------------------
+
+:doc:`Py++ <index>` uses different approaches to expose these services to the user.
+
+Parsing integration
+~~~~~~~~~~~~~~~~~~~
+
+:doc:`Py++ <index>` provides it's own "API" to configure `pygccxml <http://pygccxml.readthedocs.org>`_ parsing services. The
+"API" I am talking about, is arguments to ``module_builder.__init__`` method.
+We think, that exposing those services via :doc:`Py++ <index>` simplifies its usage.
+
+
+Declarations tree integration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Declarations tree API consists from 3 parts:
+
+* interface definition:
+
+  * ``declaration_t`` and all classes that derive from it
+
+  * ``type_t`` and all classes that derive from it
+
+* type traits
+
+* query engine API
+
+
+The user should be familiar with these parts and relevant API. In my opinion,
+wrapping or hiding the API will not provide an additional value. The interface
+of all those services is pretty simple and well polished.
+
+Before I explain how these services are integrated, take a look on the following source
+code:
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+
+  details = mb.namespace( 'details' )
+  details.exclude()
+
+  my_class = mb.class_( 'my_class' )
+  my_class.rename("MyClass")
+
+
+What you see here, is a common pattern, that will appear in all projects, that
+use :doc:`Py++ <index>`:
+
+* find the declaration(s)
+
+* give the instruction(s) to the code generator engine
+
+What is the point of this example? From the user point of view it is perfectly
+good, it makes a lot of sense to configure the code generation engine, using
+the declarations tree. How does :doc:`Py++ <index>` add missing functionality to
+``pygccxml.declarations`` classes? There were few possible solutions to the
+problem. The following one was implemented:
+
+1. ``pygccxml.parser`` package interface was extended. Instead of creating
+   a concrete instance of declaration classes, ``pygccxml.parser`` package uses
+   a factory.
+
+2. ``pyplusplus.decl_wrappers`` package defines classes, which derive from
+   ``pygccxml.declarations`` classes and defines the factory.
+
+The implemented solution is not the simplest one, but it provides an additional
+value to the project:
+
+* the code generation engine configuration and declarations tree are tightly
+  coupled
+
+* the functionality provided by ``pygccxml.declarations`` and ``pygccxml.parser``
+  packages is available for ``pyplusplus.decl_wrappers`` classes
+
+* classes defined in ``pyplusplus.decl_wrappers`` package implement the following
+  functionality:
+
+  * setting reasonable defaults for the code generation engine( call policies,
+    indexing suite, ... )
+
+  * provides user with additional information( warnings and hints )
+
+* as a bonus, `pygccxml <http://pygccxml.readthedocs.org>`_ remained to be stand-alone project
+
+----------------------
+Code generation engine
+----------------------
+
+Code generation for `Boost.Python`_ library is a difficult process. There are two
+different problems the engine should solve:
+
+.. _`divide and conquer` : http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm
+
+* What code should be created in order to export a declaration?
+
+* How it should be written to files?
+
+  Remember, :doc:`Py++ <index>` is targeting big projects. It cannot generate all code
+  in one file - this will not work, not at all.
+
+``Code creators`` and file writers provides solution for both problems.
+
+``Code creators``
+-----------------
+
+Do you know how many ways exist to export member function? If you will try to
+answer the question, consider the following function characteristics and their mix:
+
+* virtuality( non virtual, virtual or pure virtual )
+
+* access level( public, protected or private )
+
+* static\\non static
+
+* overloads
+
+As you see, there are a lot of use cases. How do ``code creators`` solve the problem?
+
+Definition
+~~~~~~~~~~
+
+``Code creator`` is an in-memory fragment of a C++ code.
+
+Also, ``code creator`` can represent an arbitrary C++ code, in practice it
+represents logically complete block.
+
+Example of ``code creators``:
+
+* ``code_creators.enum_t`` generates registration code for an enumeration
+
+* ``code_creators.mem_fun_pv_t`` generates registration code for public, pure
+  virtual function
+
+* ``code_creators.mem_fun_pv_wrapper_t`` generates declaration code for public,
+  pure virtual function
+
+* ``code_creators.include_t`` generates include directives
+
+* ``code_creators.custom_text_t`` adds some custom( read user ) text\\code to
+  the generated code
+
+There are primary two groups of ``code creators``: declaration based and others.
+
+Declaration based ``code creator`` keeps reference to the declaration (
+``pyplusplus.decl_wrapper.*`` class instance ). During code generation process,
+it reads its settings( the code generation engine instructions ) from the
+declaration. Declaration based ``code creators`` also divided into two groups.
+The first group creates registration code, where the second one creates
+wrapper\\helper declaration code.
+
+I will reuse `this example`__, from `Boost.Python`_ tutorials.
+
+.. __ : http://boost.org/libs/python/doc/tutorial/doc/html/python/exposing.html#python.virtual_functions_with_default_implementations
+
+1. ``BaseWrap::f``, ``BaseWrap::default_f`` - declaration code is created by
+   ``code_creators.mem_fun_v_wrapper_t``
+
+2. ``f`` registration code is created by ``code_creators.mem_fun_v_t``. This
+   code creator also keeps reference to the relevant instance of
+   ``code_creators.mem_fun_v_wrapper_t`` class.
+
+Composite ``code creator`` is a creator, which contains other creators. Composite
+``code creator`` embeds the code, created by internal ``code creators``, within
+the code it creates. For example:
+
+* ``code_creators.class_t``:
+
+  First of all it creates class registration code ( ``class_<...>`` ), after
+  this it appends to it code generated by internal creators.
+
+* ``code_creators.module_body_t``:
+
+  Here is "cut & paste" of the relevant code from the source file:
+
+  .. code-block:: python
+
+    def _create_impl(self):
+        result = []
+        result.append( "BOOST_PYTHON_MODULE(%s){" % self.name )
+        result.append( compound.compound_t.create_internal_code( self.creators ) )
+        result.append( "}" )
+        return os.linesep.join( result )
+
+
+``Code creators tree``
+~~~~~~~~~~~~~~~~~~~~~~
+
+``code_creators.module_t`` class is a top level ``code creator``. Take a look on
+the following possible "snapshot" of the ``code creators tree``:
+
+::
+
+  <module_t ...>
+      <license_t ...>
+      <include_t ...>
+      <include_t ...>
+      <class_wrapper_t ...>
+          <mem_fun_v_wrapper_t ...>
+          <mem_fun_v_wrapper_t ...>
+      <module_body_t ...>
+          <enum_t ...>
+          <class_t ...>
+              <mem_fun_v_t ...>
+              <member_variable_t ...>
+          <free_function_t ...>
+          <...>
+
+You can think about ``code creators tree`` as some kind of `AST`_.
+
+.. _`AST`: http://en.wikipedia.org/wiki/Abstract_syntax_tree
+
+``Code creators tree`` construction
+-----------------------------------
+
+``pyplusplus.creators_factory`` package is responsible for the tree construction.
+``pyplusplus.creators_factory.creator_t`` is the main class of the package. It
+creates the tree in few steps:
+
+1. It builds set of exposed declarations.
+2. It sort the set. `Boost.Python`_ has few rules, that forces the user to export
+   a declaration before another one.
+3. It creates ``code creators`` and put them into the right place within the tree.
+4. If a declaration describes C++ class, it applies these steps to it.
+
+Another responsibility of ``creator_t`` class, is to analyze declarations and
+their dependency graphs. As a result, this class can:
+
+* find out a class ``HeldType``
+
+* find out smart pointers conversion, which should be registered
+
+* find out STD containers, which should be exported
+
+* warn user, if some declaration is not exported and it used somewhere in
+  exported declarations ( **not implemented** )
+
+
+``File writers``
+----------------
+
+``File writers`` classes are responsible for writing ``code creators tree`` into
+the files. :doc:`Py++ <index>` implements the following strategies of writing ``code creators tree``
+into files:
+
+* single file
+
+* multiple files - provides a solution to `compilation time and memory usage problem`_
+
+  .. _`compilation time and memory usage problem` : http://www.boost.org/libs/python/doc/v2/faq.html#slow_compilation
+
+* multiple files, with huge classes are written into multiple files - provides a
+  solution for `compiler limit`_ problem.
+
+  .. _`compiler limit` : http://www.boost.org/libs/python/doc/v2/faq.html#c1204
+
+The more sophisticated approach, the better understanding of ``code creators``
+is required from the ``file writers``.
+
+
+--------------------------
+``module_builder`` package
+--------------------------
+
+This package provides an interface to all code generator engine services.
+
+----------
+Conclusion
+----------
+
+It safe to use :doc:`Py++ <index>` for big and small projects!
+
+.. _`open-closed principle` : http://www.google.com/search?sourceid=gmail&q=open%20closed%20principle
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/code_creators_uml.png b/docs/code_creators_uml.png
new file mode 100644
index 0000000..fb50cd3
Binary files /dev/null and b/docs/code_creators_uml.png differ
diff --git a/docs/comparisons/compare_to.rst b/docs/comparisons/compare_to.rst
new file mode 100644
index 0000000..6dbbcd4
--- /dev/null
+++ b/docs/comparisons/compare_to.rst
@@ -0,0 +1,68 @@
+===================
+Compare Py++ to ...
+===================
+
+-----
+Pyste
+-----
+
+`Pyste`_ is the Boost.Python code generator, which is not under active development
+any more. Nevertheless, users request to compare :doc:`Py++ <../index>` and `Pyste`_. You
+can read :doc:`here <pyste>` the comparison.
+
+----------
+SWIG & SIP
+----------
+
+The document, that compares SIP, SWIG and :doc:`Py++ <../index>` is under construction.
+May be you are editing it right now, by evaluating these tools :-). I did not use
+SWIG and SIP, so I cannot provide you with fair comparison. I will let the open
+source project(s) "to talk":
+
+* `Python-OGRE`_:
+
+  The impression of Lakin Wecker, after spending 30 hours working working with
+  :doc:`Py++ <../index>`: http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=1478&sid=4d77585146aabbc54f4b31ec50874d86
+
+  `Python-OGRE`_ project is reached the state, when it has all functionality
+  provided by similar one - `PyOgre`_. `PyOgre`_ is developed using SWIG.
+  I suggest you to compare the amount of code, written by `Python-Ogre`_
+  developers and `PyOgre`_ ones:
+
+  * `PyOgre`_ sources: http://svn.berlios.de/viewcvs/pyogre/trunk/pyogre/ogre/
+
+  * `Python-Ogre`_ sources:
+
+    http://python-ogre.svn.sourceforge.net/viewvc/python-ogre/trunk/python-ogre/code_generators/ogre/
+
+    http://python-ogre.svn.sourceforge.net/viewvc/python-ogre/trunk/python-ogre/code_generators/common_utils/
+
+    Pay attention: functionality defined in "common_utils" package is used by
+    other scripts too.
+
+  .. _`Python-OGRE` : http://www.python-ogre.org
+
+  .. _`PyOgre` : http://www.ogre3d.org/wiki/index.php/PyOgre
+
+
+Some other links, which compares Boost.Python, SWIG, SIP and other tools:
+
+* `Evaluation of Python/C++ interfacing packages`_
+
+  .. _`Evaluation of Python/C++ interfacing packages` : http://seal.web.cern.ch/seal/work-packages/scripting/evaluation-report.html
+
+* `Integrating Python, C and C++`_
+
+  .. _`Integrating Python, C and C++` : http://www.suttoncourtenay.org.uk/duncan/accu/integratingpython.html
+
+* `Python Wrapper Tools: A Performance Study`_
+
+  .. _`Python Wrapper Tools: A Performance Study` : http://people.web.psi.ch/geus/talks/europython2004_geus.pdf
+
+
+.. toctree::
+
+   pyste.rst
+
+
+.. _`Pyste`: http://www.boost.org/libs/python/doc/index.html
diff --git a/docs/comparisons/pyste.rst b/docs/comparisons/pyste.rst
new file mode 100644
index 0000000..28d9bb7
--- /dev/null
+++ b/docs/comparisons/pyste.rst
@@ -0,0 +1,420 @@
+========================
+Pyste & Py++  comparison
+========================
+
+--------------
+What is Pyste?
+--------------
+
+`Pyste`_ is a `Boost.Python`_ code generator. The user specifies the classes and
+functions to be exported using a simple interface file, which following the
+`Boost.Python`_'s philosophy, is simple `Python`_ code. `Pyste`_ then uses
+`GCC-XML`_ to parse all the headers and extract the necessary information to
+automatically generate C++ code.
+
+--------
+Preamble
+--------
+
+If you are reading this document, I can assume that you know what `Boost.Python`_,
+`Pyste`_ and :doc:`Py++ <../index>` are. This document compares `Pyste`_ and :doc:`Py++ <../index>`.
+I am going to compare:
+
+    * user interface
+
+    * design
+
+    * dependencies
+
+    * features list:
+
+        * supported `Boost.Python`_ components
+
+        * nice features
+
+I did not develop `Pyste`_, so it is possible I made few mistakes in my
+analyzes. If you identify one, please report it. I will try to fix it, as quick
+as possible. In the past, I created bindings to few projects using `Pyste`_.
+Code, generated by `Pyste`_, was pretty good and gave me a good start both with
+my projects and with `Boost.Python`_ library. As for me, there are two main
+problems with `Pyste`_:
+
+    1. It is time-consuming operation to maintain `Pyste`_ scripts in a big,
+       dynamic project.
+
+    2. It is very difficult to customize generated code. I will provide few
+       examples later.
+
+I tried to fix `Pyste`_. At first, I developed `pygccxml <http://pygccxml.readthedocs.org>`_ and tried to replace
+relevant `Pyste`_ functionality. I did not like the result. After this, I dropped
+the idea to fix `Pyste`_ and decided to develop new code generator - :doc:`Py++ <../index>`.
+Later you will find few points, which explains, why I decided not to fix `Pyste`_.
+
+Have a nice reading.
+
+--------------
+User interface
+--------------
+
+Pyste
+-----
+
+Carefully read `Pyste`_ definition -
+
+  "... The user specifies the classes and functions to be exported using a simple
+  interface file, which following the `Boost.Python`_'s philosophy, is simple
+  `Python`_ code. ..."
+
+
+Simple interface file is an advantage and a disadvantage at the same time. The
+advantage is obvious: it is easy to start to use. The disadvantage is less
+obvious - you cannot work on whole exported library at once.
+
+    1. Try to exclude all functions, that nth argument has some specific type.
+
+    2. Try to exclude\\leave all classes, which belongs to some namespace.
+
+    3. Maintenance. Every time you add new file\\class to your project you should
+       modify\\create `Pyste`_ interface files.
+
+    4. Try to set call policies to functions based on some detail\\fact.
+
+First and second example could be solved, but it is neither easy, nor obvious.
+You should understand `Pyste`_ implementation details. Third example is solvable
+if you are lucky and ready to write few `Python`_\\shell scripts.
+
+  "... AllFromHeader is broken in some cases. Until it is fixed, use at you own
+  risk. ..."
+
+  ---`Pyste`_ documentation.
+
+I have more examples, but I think you've got the idea.
+
+Py++
+----
+
+:doc:`Py++ <../index>` has 2 user interfaces:
+
+    1. GUI - small and simple graphic user interface, which does not request from
+       user any knowledge about `Boost.Python`_ or :doc:`Py++ <../index>`. You can see
+       its :doc:`screenshot <../tutorials/pyplusplus_gui>`.
+
+    2. API - object-oriented framework, that helps you to create code generator,
+       that suites your needs. :doc:`Py++ <../index>` framework consists 3 packages:
+
+        1. Code creators package. The only responsibility of classes in this
+           package is to create code. Those classes do not care where code is
+           going to be written. Neither they care about the order of generated
+           code.
+
+        2. Module creator package. This is code creators factory. Classes in this
+           package, analyze C++ declarations and creates relevant code creators.
+
+        3. File writers package. This package contains classes that write
+           generated code to file(s).
+
+The good news: it is very easy to evaluate :doc:`Py++ <../index>`, using GUI. The bad
+news is that you should learn an other set of API's in order to complete your
+task. It is not as awful as it sounds, but still there is some learning curve.
+
+------
+Design
+------
+
+Pyste
+-----
+
+`Pyste`_ design is not bad at all, but there were few mistakes made. First of all
+current situation. There is  a class hierarchy that represents C++ declarations
+and types. There is *Exporter*'s hierarchy. There are 2 unrelated classes
+*SingleCodeUnit* and *MultipleCodeUnit*.
+
+Class *Exporter* has few responsibilities:
+
+    1. to create code
+
+    2. to write code into code unit
+
+    3. to decide what, how and in which order declarations should be exported
+       (excluded)
+
+Classes *SingleCodeUnit* and *MultipleCodeUnit* also has few responsibilities:
+
+    1. to write code into files
+
+    2. to control the order of written code
+
+Py++
+----
+
+One of the biggest weaknesses of `Pyste`_ is a lack of good `GCC-XML`_ front-end
+and this fact cause `Pyste`_ to generate not optimal code. I will prove this
+later. In order to avoid such weakness, before I have created :doc:`Py++ <../index>`,
+I created `pygccxml <http://pygccxml.readthedocs.org>`_. `pygccxml <http://pygccxml.readthedocs.org>`_ is a stand-alone project, which provides few
+things:
+
+    * hierarchy of C++ declarations
+
+    * hierarchy of C++ types
+
+    * few parsing strategies:
+
+      + all files will be parsed as it was one file that includes all them
+
+      + every file will be parsed alone, after this, duplicated declarations
+        and types will be removed
+
+`pygccxml <http://pygccxml.readthedocs.org>`_ contributes in few ways to :doc:`Py++ <../index>`:
+
+    + :doc:`Py++ <../index>` has nothing to do with code parsing. Theoretically
+      an other back-end could be added to `pygccxml <http://pygccxml.readthedocs.org>`_ without changing even one
+      line of code within :doc:`Py++ <../index>`.
+
+    + `pygccxml <http://pygccxml.readthedocs.org>`_ has type traits. A lot of type traits algorithms from
+      `boost.type_traits`_ library has been implemented. :doc:`Py++ <../index>` makes
+      an extensive use of them:
+
+      * identify "call policies" algorithm
+
+      * code creator that generates body of "overridden" virtual functions:
+
+        .. code-block:: c++
+
+          struct expensive_to_copy{...};
+
+        .. code-block:: c++
+
+          void do_smth( expensive_to_copy* x, const expensive_to_copy& y ){...}
+
+        .. code-block:: c++
+
+          void
+          do_smth(expensive_to_copy* x, const expensive_to_copy& y){
+              //Pyste generates the following code
+              //call_method< void >(self, "do_smth", x, y);
+              //Py++ generates the following code
+              *this->get_override("do_smth")( boost::python::ptr(x), boost::ref(y) );
+              //------------------------------^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^
+          }
+
+        Do you see the difference? This is a prove to the point I made earlier:
+        `Pyste`_ generates not optimal code.
+
+    + Do you remember first 3 problems, I talked about?
+
+      1. Try to exclude all functions, that nth argument has some specific type.
+
+      2. Try to exclude\\leave all classes, which belongs to some namespace.
+
+      3. Maintenance. Every time you add new file\\class to your project you should
+         modify\\create `Pyste`_ interface files.
+
+      They are solved by `pygccxml <http://pygccxml.readthedocs.org>`_ package. Please take a look on `pygccxml <http://pygccxml.readthedocs.org>`_
+      `query interface <http://pygccxml.readthedocs.org/en/develop/query_interface.html>`_ documentation.
+
+Now about mistakes. There is a gold rule: one class, one responsibility. `Pyste`_
+breaks this rule. One more time *Exporter* class responsibilities:
+
+    1. to create code
+
+    2. to write code into code unit
+
+    3. to decide what, how and in which order declarations should be exported
+       (excluded)
+
+What is wrong with this? In some places the logic of code generation is complex.
+`Pyste`_ makes this situation worse. In order to understand my point try to see,
+what is going on, in "ClassExporter.py" file. Class *ClassExporter* knows
+everything about internal exporters, more over *ClassExporter* is responsible to
+export all its base classes before it exports itself. This is just wrong.
+:doc:`Py++ <../index>` implements better solution. :doc:`Py++ <../index>` has code creators class
+hierarchy and factory, that creates those code creators based on given
+declarations. The questions like:
+
+    * what should be the order of exporting declarations
+
+    * could \\ should the declaration be exported
+
+    * what are the call policies of the function
+
+    * what is the class held type
+
+solved by the factory. The only thing that left to code creators is to create code.
+By the way, it is not an easy task to fix this specific problem in `Pyste`_.
+Serious re-factoring should be done. :doc:`Py++ <../index>` defines *compound_t* code
+creator. *module_t*, *module_body_t*, *class_t* - are typical examples of
+compound code creators. They do know few code creators, but that is all.
+
+An other weakness is a relationship between *Exporter*'s and code units. In
+order to write code into code unit, *Exporter* should specify section name and
+text. There are few problems with this. First of all, this tight coupling is
+unnecessary. In order to add new *Exporter* you should understand the underlying
+protocol and may be to modify code unit. Try to add *Exporter* that exposes
+get\\set functions as property. It is not an easy task. An other problem, I see
+here, is that code unit is some kind of *Exporter*. Code unit also creates code.
+I did not fill good with this design. So I decided, that in :doc:`Py++ <../index>` code
+should be created only by code creators. This decision simplifies a lot of
+things:
+
+    * code creators does not depend on file writers
+
+    * file writers do not have to know all code creators
+
+    * code creators set is not closed and could be extended
+
+    * user can place custom code creator almost anywhere
+
+    * code creators can take into account code that is going to be generated by
+      other code creators. For example namespace aliases or include directives.
+
+    * ...
+
+------------
+Dependencies
+------------
+Both `Pyste`_ and :doc:`Py++ <../index>` introduce one external dependency. In order to
+parse XML `Pyste`_ uses `elementtree`_. On the other side :doc:`Py++ <../index>`
+depends on `pygccxml <http://pygccxml.readthedocs.org>`_ project.
+
+-------------
+Features list
+-------------
+:doc:`Py++ <../index>` supports almost all features `Pyste`_ implements. :doc:`Py++ <../index>`,
+version 0.8.0, does not implements the following functionality, implemented by `Pyste`_:
+
+    * *pow* operator
+
+    * good documentation
+
+Here you can find the complete features list of :doc:`Py++ <../index>`.
+
+Features unique to :doc:`Py++ <../index>`:
+
+    * :doc:`Py++ <../index>` exposes protected member functions
+
+    * :doc:`Py++ <../index>`, in most cases, will automatically detect class held type
+
+    * :doc:`Py++ <../index>` creates implicit conversion code for:
+
+       + casting constructors
+
+       + casting operators
+
+       + smart pointers of derived and base class
+
+    * class wrappers generated using `Boost.Python`_ wrapper class
+
+    * operator() always exposed ( this is not the case with `Pyste`_ )
+
+    * operators defined in base class could be redefined/exposed in derived class
+
+    * :doc:`Py++ <../index>` exposes bit fields member variables
+
+Nice features list
+------------------
+
+Both `Pyste`_ and :doc:`Py++ <../index>` generate working code. As we already saw in some
+cases :doc:`Py++ <../index>` do better job. :doc:`Py++ <../index>` allows the following customization on
+generated code:
+
+    * To define std and user directories. *include_t* code creator will take
+      those directories into account.
+
+    * To define namespace alias.
+
+      .. code-block:: c++
+
+        namespace dt = boost::date_time;
+
+      All code, which is generated after this statement, will use ``dt`` instead of
+      ``boost::date_time``. This allows :doc:`Py++ <../index>` to create user-friendly code.
+
+    * Classes and functions support 2 modes of code generation. Example:
+
+      .. code-block:: c++
+
+        struct world{
+            void set(std::string msg) { this->msg = msg; }
+            std::string greet() { return msg; }
+            std::string msg;
+        };
+
+      First mode:
+
+      .. code-block:: c++
+
+        class_<world>("world")
+           .def("greet", &world::greet)
+           .def("set", &world::set)
+        ;
+
+
+      Second mode:
+
+      .. code-block:: c++
+
+        if( true ){
+            typedef class_<world> world_exposer_t;
+            world_exposer_t world_exposer;
+            boost::python::scope world_scope( exposer );
+            world_exposer.def( "greet", ( std::string ( world::* )() )( &world::greet ) );
+            world_exposer.def( "set", ( void ( world::* )(std::string) )( &world::set ) );
+        }
+
+      Second mode is better then first, because:
+
+        1. It is easier to understand compilation error.
+
+        2. If in future a developer decides to create overload to some function,
+           this code will continue to compile.
+
+    * :doc:`Py++ <../index>` has small nice future - "license". User can specify the
+      license and it will appear in every generated file.
+
+    * :doc:`Py++ <../index>` allows user to define custom call policies resolver. See
+      boost.date_time example
+
+    * :doc:`Py++ <../index>` allows user to create custom code creators. See
+      "custom_code_creator" example.
+
+    * real world examples:
+
+      + EasyBMP
+
+      + boost.date_time
+
+      + Qt.XML
+
+----------
+Conclusion
+----------
+
+If I were you I would choose :doc:`Py++ <../index>` to create bindings for your project.
+For very small projects or for educational reasons you may use :doc:`Py++ <../index>`.GUI.
+For big projects, you need flexibility and power of :doc:`Py++ <../index>`.
+
+----
+P.S.
+----
+
+This comparison was a little unfair. First of all `Pyste`_ is no more under
+active development\\support. Second, `Pyste`_ has been written 2 years ago and
+had different goal.
+
+`Pyste`_ and :doc:`Py++ <../index>` have been created to handle different tasks, hence
+the difference in design, user interface and complexity. Bruno da Silva de
+Oliveira, the `Pyste`_ author, understands the problems, I raised here. He
+thought about them, long before I created :doc:`Py++ <../index>`. But unfortunately, lack
+of time and motivation prevents him to work on `Pyste`_.
+
+.. _`Pyste`: http://www.boost.org/libs/python/doc/index.html
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`SourceForge`: http://sourceforge.net/index.php
+.. _`Docutils`: http://docutils.sourceforge.net
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+.. _`Boost Software License`: http://boost.org/more/license_info.html
+.. _`Parser package` : ../parser.png
+.. _`ReleaseForge` : http://releaseforge.sourceforge.net
+.. _`boost.type_traits` : http://www.boost.org/libs/type_traits/index.html
+.. _`elementtree` : http://effbot.org/
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100755
index 0000000..f2c82c0
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,287 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Py++ documentation build configuration file, created by
+# sphinx-quickstart on Wed Mar 16 14:07:35 2016.
+#
+# This file is execfile()d with the current directory set to its
+# containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys
+import os
+import sphinx_rtd_theme
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration ------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+    'sphinx.ext.autodoc',
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix(es) of source filenames.
+# You can specify multiple suffix as a list of string:
+# source_suffix = ['.rst', '.md']
+source_suffix = ['.rst']
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = 'Py++'
+copyright = '2016, Roman Yakovenko'
+author = 'Roman Yakovenko'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '1.6'
+# The full version, including alpha/beta/rc tags.
+release = '1.6.0'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#
+# This is also used if you do content translation via gettext catalogs.
+# Usually you set "language" from the command line for these cases.
+language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = []
+
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+# If true, keep warnings as "system message" paragraphs in the built documents.
+#keep_warnings = False
+
+# If true, `todo` and `todoList` produce output, else they produce nothing.
+todo_include_todos = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+html_theme = 'sphinx_rtd_theme'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (relative to this directory) to use as a favicon of
+# the docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+#html_static_path = ['_static']
+
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+#html_extra_path = []
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+#html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Language to be used for generating the HTML full-text search index.
+# Sphinx supports the following languages:
+#   'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'
+#   'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr'
+#html_search_language = 'en'
+
+# A dictionary with options for the search language support, empty by default.
+# Now only 'ja' uses this config value
+#html_search_options = {'type': 'default'}
+
+# The name of a javascript file (relative to the configuration directory) that
+# implements a search results scorer. If empty, the default will be used.
+#html_search_scorer = 'scorer.js'
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'pyplusplusdoc'
+
+# -- Options for LaTeX output ---------------------------------------------
+
+latex_elements = {
+# The paper size ('letterpaper' or 'a4paper').
+#'papersize': 'letterpaper',
+
+# The font size ('10pt', '11pt' or '12pt').
+#'pointsize': '10pt',
+
+# Additional stuff for the LaTeX preamble.
+#'preamble': '',
+
+# Latex figure (float) alignment
+#'figure_align': 'htbp',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+#  author, documentclass [howto, manual, or own class]).
+latex_documents = [
+    (master_doc, 'pyplusplus.tex', 'Py++ Documentation',
+     'Roman Yakovenko', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output ---------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+    (master_doc, 'pyplusplus', 'Py++ Documentation',
+     [author], 1)
+]
+
+# If true, show URL addresses after external links.
+#man_show_urls = False
+
+
+# -- Options for Texinfo output -------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+#  dir menu entry, description, category)
+texinfo_documents = [
+    (master_doc, 'pyplusplus', 'Py++ Documentation',
+     author, 'pyplusplus', 'One line description of project.',
+     'Miscellaneous'),
+]
+
+# Documents to append as an appendix to all manuals.
+#texinfo_appendices = []
+
+# If false, no module index is generated.
+#texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+#texinfo_show_urls = 'footnote'
+
+# If true, do not generate a @detailmenu in the "Top" node's menu.
+#texinfo_no_detailmenu = False
diff --git a/docs/containers.rst b/docs/containers.rst
new file mode 100644
index 0000000..be9d054
--- /dev/null
+++ b/docs/containers.rst
@@ -0,0 +1,240 @@
+======================
+C++ containers support
+======================
+
+------------
+Introduction
+------------
+
+C++ has a bunch of container classes:
+
+    * list
+    * deque
+    * queue
+    * priority_queue
+    * vector
+    * stack
+    * map
+    * multimap
+    * hash_map
+    * hash_multimap
+    * set
+    * hash_set
+    * multiset
+    * hash_multiset
+
+It is not a trivial task to expose C++ container to Python. Boost.Python has
+a functionality that will help you to expose some of STL containers to `Python`_.
+This functionality called - "indexing suite". If you want, you can read more
+about indexing suite `here`__.
+
+.. __ : http://boost.org/libs/python/doc/v2/indexing.html
+
+Boost.Python, out of the box, supports only ``vector``, ``map`` and ``hash_map``
+containers. In October 2003, Raoul Gough implemented support for the rest of
+containers. Well, actually he did much more - he implemented new framework.
+This framework provides support for almost all C++ containers and also an easy
+way to add support for custom ones. You'd better read his `post`_ to
+`Boost.Python`_ mailing list or :doc:`documentation <indexing_suite_v2.html>` for the new indexing suite.
+
+
+Now, I am sure you have the following question: if this suite is so good, why it is not
+in the main branch? The short answer is that this suite has some problems on
+MSVC 6.0 compiler and there are few users, that still use that compiler.
+The long answer is here:
+
+* http://mail.python.org/pipermail/c++-sig/2006-June/010830.html
+* http://mail.python.org/pipermail/c++-sig/2006-June/010835.html
+
+
+.. _`post` : http://mail.python.org/pipermail/cplusplus-sig/2003-October/005453.html
+
+
+------------------------
+Py++ and indexing suites
+------------------------
+
+:doc:`Py++ <index>` implements support for both indexing suites. More over, you can
+freely mix indexing suites. For example you can expose ``std::vector<int>`` using
+`Boost.Python`_ built-in indexing suite and ``std::map< int, std::string>`` using
+Raoul Gough's indexing suite.
+
+-----------------
+How does it work?
+-----------------
+
+In both cases, :doc:`Py++ <index>` provides almost "hands free" solution.
+:doc:`Py++ <index>` keeps track of all exported functions and variables,
+and if it sees that there is a usage of stl container, it exports the container.
+In both cases, :doc:`Py++ <index>` analyzes the container ``value_type``
+( or in case of mapping container ``mapped_type`` ), in order to set reasonable
+defaults, when it generates the code.
+
+-------------------------------------
+Indexing suite version 2 installation
+-------------------------------------
+
+None :-)
+
+`Py++` version 1.1, introduceds few breaking changes to this indexing suite:
+
+* the suite implements all functionality in the header files only. Few `.cpp` files
+  were dropped
+
+* header files include directive was changed from
+
+  .. code-block:: c++
+
+     #include "boost/python/suite/indexing/..."
+
+  to
+
+  .. code-block:: c++
+
+     #include "indexing_suite/..."
+
+The change was done to simplify the indexing suite installation and redistribution.
+The gain list:
+
+   * no need to deal with patching and rebuilding Boost
+
+   * it is possible to use Boost libraries, which comes with your system
+
+   * you can put the library anywhere you want - just update the include paths in
+     your build script
+
+   * it is easier to redistribute it - just include the library with your sources
+
+   * If you are a happy :doc:`Py++ <index>` user:
+
+        + :doc:`Py++ <index>` will generate the indexing suite source files
+          in the "generated code" directory, under `indexing_suite` directory.
+
+        + :doc:`Py++ <index>` will take care to upgrade the files
+
+The bottom line: :doc:`Py++ <index>` makes C++ STL containers handling fully
+transparent for its users.
+
+-------------------
+Indexing suites API
+-------------------
+
+By default, :doc:`Py++ <index>` works with built-in indexing suite. If you want to use
+indexing suite version 2, you should tell this to the ``module_builder_t.__init__``
+method:
+
+.. code-block:: python
+
+  mb = module_builder_t( ..., indexing_suite_version=2 )
+
+Every declared class has ``indexing_suite`` property. If the class is an
+instantiation of STL container, this property contains reference to an instance
+of ``indexing_suite1_t`` or ``indexing_suite2_t`` class.
+
+
+How does :doc:`Py++ <index>` know, that a class represents STL container instantiation?
+Well, it uses ``pygccxml.declarations.container_traits`` to find out this.
+``pygccxml.declarations.container_traits`` class, provides all functionality
+needed to identify container and to find out its ``value_type``
+( ``mapped_type`` ).
+
+
+Built-in indexing suite API
+---------------------------
+
+:doc:`Py++ <index>` defines ``indexing_suite1_t`` class. This class allows configure
+any detail of generated code:
+
+* ``no_proxy`` - a boolean, if ``value_type`` is one of the the following types
+
+  * fundamental type
+
+  * enumeration
+
+  * std::string or std::wstring
+
+  * boost::shared_ptr<?>
+
+  then, ``no_proxy`` will be set to ``True``, otherwise to ``False``.
+
+* ``derived_policies`` - a string, that will be added as is to generated code
+
+* ``element_type`` - is a reference to container ``value_type`` or ``mapped_type``.
+
+
+Indexing suite version 2 API
+----------------------------------
+
+In this case there is no single place, where you can configure exported container
+functionality. Please take a look on the following C++ code:
+
+.. code-block:: c++
+
+  struct item{
+      ...
+  private:
+      bool operator==( const item& ) const;
+      bool operator<( const item& ) const;
+  };
+
+  struct my_data{
+      std::vector<item> items;
+      std::map< std::string, item > name2item_mapping;
+  };
+
+
+:doc:`Py++ <index>` declarations tree will contains ``item``, ``my_data``,
+``vector<item>`` and ``map<string,item>`` class declarations.
+
+If ``value_type`` does not support "equal" or "less than" functionality, sort
+and search functionality could not be exported.
+
+:doc:`Py++ <index>` class declaration has two properties: ``equality_comparable`` and
+``less_than_comparable``. The value of those properties is calculated on first
+invocation. If :doc:`Py++ <index>` can find ``operator==``, that works on ``value_type``,
+then, ``equality_comparable`` property value will be set to ``True``, otherwise
+to ``False``. Same process is applied on ``less_than_comparable`` property.
+
+In our case, :doc:`Py++ <index>` will set both properties to ``False``, thus sort and
+search functionality will not be exported.
+
+It is the time to introduce ``indexing_suite2_t`` class:
+
+* ``container_class`` - read only property, returns reference to container class
+  declaration
+
+* ``container_traits`` - read only property, returns reference to the relevant
+  container traits class. Container traits classes are defined in
+  ``pygccxml.declarations`` package.
+
+* ``element_type`` - is a reference to container ``value_type`` or ``mapped_type``.
+
+* ``call_policies`` - read/write property, in near future I will add code to
+  :doc:`Py++ <index>` that will analyze container ``value_type`` and will decide about
+  default call policies. Just an example: for non-copy constructable classes
+  ``call_policies`` should be set to ``return_internal_reference``.
+
+* ``[disable|enable]_method`` - new indexing suite, allows to configure
+  functionality exported to Python, using simple bitwise operations on predefined
+  flags. :doc:`Py++ <index>` allows you to specify what methods you want to disable
+  or enable. ``indexing_suite2_t.METHODS`` contains names of all supported methods.
+
+* ``[disable|enable]_methods_group`` - almost same as above, but allows you
+  to specify what group of methods you want to disable or enable.
+  ``indexing_suite2_t.METHOD_GROUPS`` contains names of all supported groups.
+
+Small tips/hints
+----------------
+
+1. If you set ``equality_comparable`` or ``less_than_comparable`` to ``False``.
+   The indexing suite will disable relevant functionality. You don't have
+   explicitly to disable method or methods group.
+
+2. The documentation of new indexing suite contains few small mistakes.
+   I hope, I will have time to fix them. Any way, :doc:`Py++ <index>` generates
+   correct code.
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+
diff --git a/docs/ctypes/ctypes_integration.rst b/docs/ctypes/ctypes_integration.rst
new file mode 100644
index 0000000..78dbed9
--- /dev/null
+++ b/docs/ctypes/ctypes_integration.rst
@@ -0,0 +1,98 @@
+==================
+ctypes integration
+==================
+
+------------
+Introduction
+------------
+
+`Boost.Python`_ is really a very powerful library, but if you are working
+with code written in plain "C" - you've got a problem. You have to create
+wrappers for almost every function or variable.
+
+In general, if you want to work with plain "C" code from `Python`_
+you don't have to create any wrapper - you can use `ctypes`_ package.
+
+About ctypes
+------------
+`ctypes`_ is a foreign function library for Python. It provides C
+compatible data types, and allows to call functions in dlls/shared
+libraries. It can be used to wrap these libraries in pure Python.
+
+--------
+The idea
+--------
+
+The idea behind "ctypes integration" functionality is really simple: you
+configure :doc:`Py++ <../index>` to expose address of the variable\\return value, and than you
+you use `ctypes`_ `from_address`_ functionality to access and modify the data.
+
+Obviously, this approach has pros and cons:
+
+* cons - it could be very dangerous - you can corrupt your application memory
+
+* cons - managing memory is not something a typical `Python`_ user get used to.
+  It is too "low level".
+
+* pros - you don't need to create wrapper in C++
+
+* pros - a Python user has access to the data
+
+* pros - compilation time is smaller
+
+* pros - you still can create wrapper, but using `Python`_
+
+
+In my opinion, the better way to go is to "mix":
+
+1. expose your native code using `Boost.Python`_ and "ctypes integration"
+   functionality - it is easy and cheap
+
+2. use `ctypes`_ module to access your data
+
+3. create high level API in Python: the wrappers, which will ensure the
+   constraints and will provide more "natural" interface
+
+-------------------------
+Implemented functionality
+-------------------------
+
+:doc:`Py++ <../index>` is able to
+
+* expose global and member variable address
+
+* expose "this" pointer value
+
+* expose a class "sizeof"
+
+* expose variable, which has a union type
+
+* return address of return value as integer - :doc:`new call policy was created <../functions/call_policies/return_addressof>`
+
+---------------------------
+ctypes integration contents
+---------------------------
+
+.. toctree::
+
+   variables.rst
+   this_and_sizeof.rst
+   unions.rst
+
+-----------------
+Future directions
+-----------------
+
+The functionality is going to be developed father and I intend to add
+the following features:
+
+* to port this functionality to 64bit systems
+
+* to add ability to expose "C" functions without using `Boost.Python`_.
+
+.. _`ctypes` : http://docs.python.org/lib/module-ctypes.html
+.. _`from_address` : http://docs.python.org/lib/ctypes-data-types.html
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/ctypes/this_and_sizeof.rst b/docs/ctypes/this_and_sizeof.rst
new file mode 100644
index 0000000..95b8864
--- /dev/null
+++ b/docs/ctypes/this_and_sizeof.rst
@@ -0,0 +1,43 @@
+=============
+this & sizeof
+=============
+
+-----------
+The purpose
+-----------
+
+:doc:`Py++ <../index>` can expose a class ``sizeof`` and ``this`` pointer value to `Python`_.
+I created this functionality without special purpose in mind.
+
+-------
+Example
+-------
+
+  .. code-block:: python
+
+    mb = module_builder_t( ... )
+    cls = mb.class_( <<<your class>>> )
+    cls.expose_this = True
+    cls.expose_sizeof = True
+
+The `Python`_ class will contain two properties ``this`` and ``sizeof``. The usage
+is pretty simple:
+
+  .. code-block:: python
+
+    import ctypes
+    from <<<your module>>> import <<<your class>>> as data_t
+
+    d = data_t()
+    print d.this
+    print d.sizeof
+
+
+Warning: I hope you know what you are doing, otherwise don't blame me :-)
+
+.. _`ctypes` : http://docs.python.org/lib/module-ctypes.html
+.. _`from_address` : http://docs.python.org/lib/ctypes-data-types.html
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/ctypes/unions.rst b/docs/ctypes/unions.rst
new file mode 100644
index 0000000..e181bc3
--- /dev/null
+++ b/docs/ctypes/unions.rst
@@ -0,0 +1,71 @@
+=========
+C++ union
+=========
+
+------------
+Introduction
+------------
+
+`Boost.Python`_ does not help you to expose a variable, which has a union type.
+In this document, I am going to show you a complete example how to get access
+to the data, stored in the variable.
+
+:doc:`Py++ <../index>` will not expose a union - it is impossible using `Boost.Python`_,
+instead it will expose the address of the variable and the rest is done from the
+`Python`_ using `ctypes`_ package.
+
+--------
+Example
+--------
+
+For this example I am going to use the following code:
+
+  .. code-block:: c++
+
+    struct data_t{
+        union actual_data_t{
+            int i;
+            double d;
+        };
+        actual_data_t data;
+    };
+
+As in many other cases, :doc:`Py++ <../index>` does the job automatically:
+
+  .. code-block:: python
+
+    mb = module_builder_t( ... )
+    mb.class_( 'data_t' ).include()
+
+no special code, to achieve the desired result, was written.
+
+The generated code is boring, so I will skip it and will continue to the usage
+example:
+
+  .. code-block:: python
+
+    import ctypes
+    from <<<your module>>> import data_t
+
+    #lets define our union
+    class actual_data_t( ctypes.Union ):
+        _fields_ = [( "i", ctypes.c_int ), ( 'd', ctypes.c_double )]
+
+    obj = data_t()
+    actual_data = actual_data_t.from_address( obj.data )
+    #you can set\get data
+    actual_data.i = 18
+    prit actual_data.i
+    actual_data.d = 12.12
+    print actual_data.d
+
+That's all. Everything should work fine. You can add few getters and setters to
+class ``data_t``, so you could verify the results. I did this for a tester, that
+checks this functionality.
+
+.. _`ctypes` : http://docs.python.org/lib/module-ctypes.html
+.. _`from_address` : http://docs.python.org/lib/ctypes-data-types.html
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/ctypes/variables.rst b/docs/ctypes/variables.rst
new file mode 100644
index 0000000..4810be8
--- /dev/null
+++ b/docs/ctypes/variables.rst
@@ -0,0 +1,74 @@
+=========
+Variables
+=========
+
+--------------
+expose_address
+--------------
+
+``variable_t`` declarations have got new property ``expose_address``. If you set
+it value to ``True``, :doc:`Py++ <../index>` will register new property with the same name, but
+the type of it will be ``unsigned int`` and the value is address of the variable.
+
+:doc:`Py++ <../index>` will take care and generate the right code for global, static and member
+variables.
+
+----------------
+Show me the code
+----------------
+
+Lets say you have the following C++ code:
+
+  .. code-block:: c++
+
+     struct bytes_t{
+         bytes_t(){
+             data = new int[5];
+             for(int i=0; i<5; i++){
+                 data[i] = i;
+             }
+         }
+        ...
+        int* data;
+        static int* x;
+     };
+
+     //somewhere in a cpp file
+     int* bytes_t::x = new int( 1997 );
+
+In order to get access to the ``bytes_t::data`` and ``bytes_t::x`` you
+have to turn on ``expose_address`` property to ``True``:
+
+  .. code-block:: python
+
+    mb = module_builder_t( ... )
+    bytes = mb.class_( 'bytes_t' )
+    bytes.vars().expose_address = True
+
+:doc:`Py++ <../index>` will generate code, which will expose the address of the variables.
+
+and now it is a time to show some `ctypes`_ magic:
+
+  .. code-block:: python
+
+    import ctypes
+    import your_module as m
+
+    bytes = m.bytes_t()
+
+    data_type = ctypes.POINTER( ctypes.c_int )
+    data = data_type.from_address( bytes.data )
+    for j in range(5):
+        print '%d : %d' % ( j, data[j] )
+
+    data_type = ctypes.POINTER( ctypes.c_int )
+    data = data_type.from_address( m.bytes_t.x )
+    print x.contents.value
+
+
+.. _`ctypes` : http://docs.python.org/lib/module-ctypes.html
+.. _`from_address` : http://docs.python.org/lib/ctypes-data-types.html
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/doc_string.rst b/docs/doc_string.rst
new file mode 100644
index 0000000..82bca25
--- /dev/null
+++ b/docs/doc_string.rst
@@ -0,0 +1,65 @@
+====================
+Documentation string
+====================
+
+------------
+Introduction
+------------
+
+:doc:`Py++ <index>` provides a convenient way to export documentation from C++ source
+files as `Python`_ `documentation string`_
+
+---------------
+API description
+---------------
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  my_class = mb.class_( 'my_class' )
+  my_class.documentation = '"very helpful documentation string"'
+  my_class.member_function( "do_nothing" ).documentation = \
+      '"This function does nothing."'
+
+In :doc:`Py++ <index>` every class, which describes C++ declarations has ``documentation``
+property. This property should contain valid C++ string or ``None``.
+
+`Boost.Python`_ not always provides functionality, which exports documentation string.
+In those cases, :doc:`Py++ <index>` will not generate documentation string.
+
+Also the previous method is pretty clear, it is not practical. There should be a
+better way, to complete the task. Lets take a look on
+``module_builder_t.build_code_creator`` method. One of the arguments of this method
+is ``doc_extractor``.
+
+
+``doc_extractor`` is a callable object, which takes one argument - reference to declaration.
+
+.. code-block:: python
+
+  def doc_extractor( decl ):
+    ...
+
+How it could help? Every declaration has location information:
+
+   * ``decl.location.file_name`` - absolute file name, where this declaration
+     has been declared.
+
+   * ``decl.location.line`` - line number.
+
+So, you can go to the source file and to extract declaration from it.
+:doc:`Py++ <index>` will call ``doc_extractor`` on every exported declaration.
+
+Now, when I think you understand what functionality :doc:`Py++ <index>` provides.
+It is a time to say what functionality is missing. :doc:`Py++ <index>` does not
+provide any documentation extractor. It is not completely true. You can find
+document extractor for `doxygen`_ format in ``contrib/doc_extractors`` directory.
+Georgiy Dernovoy has contributed it.
+
+
+.. _`doxygen` : http://www.stack.nl/~dimitri/doxygen/
+.. _`documentation string` : http://docs.python.org/tut/node6.html#SECTION006760000000000000000
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/download.rst b/docs/download.rst
new file mode 100644
index 0000000..f865a3d
--- /dev/null
+++ b/docs/download.rst
@@ -0,0 +1,58 @@
+==================
+Download & Install
+==================
+
+-------------------
+Py++ on SourceForge
+-------------------
+
+:doc:`Py++ <index>` project is hosted on SourceForge. Using SourceForge services you
+can:
+
+1) get access to source code
+2) get access to latest release version of :doc:`Py++ <index>`
+
+
+-----------------
+Subversion access
+-----------------
+
+http://sourceforge.net/svn/?group_id=118209
+
+--------
+Download
+--------
+
+https://sourceforge.net/project/showfiles.php?group_id=118209
+
+------------
+Installation
+------------
+
+In command prompt or shell change current directory to be "pyplusplus-X.Y.Z".
+"X.Y.Z" is version of :doc:`Py++ <index>`. Type the following command:
+
+| ``python setup.py install``
+
+After this command complete, you should have installed :doc:`Py++ <index>` package.
+
+Boost.Python installation
+-------------------------
+
+Users of Microsoft Windows can enjoy from simple `installer for Boost Libraries`_.
+You can find it `here`_. Take a look on new `getting started guide`_ for Boost
+libraries.
+
+Another very valuable link related to Boost is http://engineering.meta-comm.com/boost.aspx .
+You will find hourly snapshots of the source code and the documentation for all
+Boost libraries.
+
+.. _`getting started guide` : http://boost.cvs.sourceforge.net/*checkout*/boost/boost/more/getting_started.html
+.. _`here` : http://www.boost-consulting.com/products/free
+.. _`installer for Boost Libraries` : http://www.boost-consulting.com/products/free
+
+------------
+Dependencies
+------------
+
+* `pygccxml <http://pygccxml.readthedocs.org>`_
diff --git a/docs/examples/boost/boost.rst b/docs/examples/boost/boost.rst
new file mode 100644
index 0000000..1acf980
--- /dev/null
+++ b/docs/examples/boost/boost.rst
@@ -0,0 +1,256 @@
+===============
+boost libraries
+===============
+
+--------------
+ Introduction
+--------------
+
+What is Boost?
+------------------
+
+`Boost`_ is repository of free peer-reviewed portable C++ source libraries.
+
+`Boost`_ works on almost any modern operating system, including UNIX and Windows
+variants.
+
+Abstract
+--------
+
+`Boost`_ libraries have good interface, documentation and unit tests.
+A lot of people contributed their knowledge and experience to those libraries.
+Ten `Boost`_ libraries are already included in the `C++ Standards Committee's`_
+Library Technical Report ( `TR1`_ ) as a step toward becoming part of a future
+C++ Standard. More Boost libraries are proposed for the upcoming `TR2`_.
+
+.. _`C++ Standards Committee's` : http://www.open-std.org/jtc1/sc22/wg21/
+.. _`TR1` : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1745.pdf
+.. _`TR2` : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1810.html
+
+
+I believe that :doc:`Py++ <../../index>` is ready for hard work. It is quick, stable and
+flexible. :doc:`Py++ <../../index>` is a new tool and in my opinion I should prove its
+usefulness. Using :doc:`Py++ <../../index>`, I exposed the following libraries to Python:
+
+  * `Boost.Date_Time`_
+  * `Boost.CRC`_
+  * `Boost.Rational`_
+  * `Boost.Random`_
+
+There are few reasons I choose to expose those libraries.
+
+1. I used those libraries at my work.
+
+2. All those libraries have:
+
+  * good documentation
+  * well-defined interfaces
+  * clear concepts
+  * comprehensive unit tests
+
+3. I think, that Python is missing functionality provided by `Boost.Date_Time`_
+   and `Boost.Random`_ libraries.
+
+I spent different amount of time on each library. It took me one week, to expose
+the `Boost.Date_Time`_ library. I added few missing features to :doc:`Py++ <../../index>`,
+polished the existing ones. Most of the time I spent translating tests from C++
+to `Python`_. It took me 3 days to expose all other libraries.
+
+---------------
+pyboost package
+---------------
+
+Documentation
+-------------
+Right now, pyboost package does not have documentation. In my opinion it is
+fairly simple to read original documentation and "translate" it to Python.
+
+
+Examples
+--------
+
+One picture worth thousands words.
+
+random
+~~~~~~
+
+* C++ code: http://boost.org/libs/random/index.html
+
+* Python code:
+
+  .. code-block:: python
+
+    import time
+    from pyboost import boost_random
+
+    rng = boost_random.mt19937( int( time.time() ) ) #setting initial seed
+    six = boost_random.uniform_int(1,6)
+    die = boost_random.variate_generator( rng, six )
+
+    print die()
+
+date_time
+~~~~~~~~~
+
+* C++ code: http://www.boost.org/doc/html/date_time/examples/general_usage_examples.html
+
+* Python code:
+
+  .. code-block:: python
+
+    import os
+    from pyboost import date_time
+    from pyboost.date_time import gregorian
+    from pyboost.date_time import posix_time
+    from pyboost.date_time import local_time
+    from pyboost.date_time import to_simple_string
+
+    #Date programming
+
+    weekstart = gregorian.date(2002, date_time.Feb,1)
+    print 'weekstart: ', to_simple_string( weekstart )
+
+    weekend  = weekstart + gregorian.weeks(1)
+    print 'weekend: ', to_simple_string( weekend )
+
+    today = gregorian.day_clock.local_day()
+    d2 = weekstart + gregorian.days(5)
+    if d2 >= today: #comparison operator
+        pass
+
+    thisWeek = gregorian.date_period(today,d2)
+    if thisWeek.contains(today):
+        pass
+
+    #date generator functions
+
+    d5 = gregorian.next_weekday(today, date_time.Sunday); #calculate Sunday following d4
+    print 'd5: ', to_simple_string( d5 )
+
+    #US labor day is first Monday in Sept
+    first = gregorian.nth_day_of_the_week_in_month.first
+    labor_day = gregorian.nth_day_of_the_week_in_month(first, date_time.Monday, date_time.Sep)
+    #calculate a specific date for 2004 from functor
+    print 'labor day 2004: ', to_simple_string( labor_day.get_date(2004) )
+
+    #Time programming:
+
+    d = gregorian.date(2002,date_time.Feb,1)#an arbitrary date
+    t1 = posix_time.ptime(d, posix_time.hours(5) + posix_time.millisec(100)); #date + time of day offset
+    print 't1: ', to_simple_string( t1 )
+
+    t2 = t1 - posix_time.minutes(4) + posix_time.seconds(2)
+    print 't2: ', to_simple_string( t2 )
+
+    now = posix_time.second_clock.local_time(); #use the clock
+    print 'now: ', to_simple_string( now )
+    today = now.date() #Get the date part out of the time
+    print 'today: ', to_simple_string( today )
+    tomorrow = today + gregorian.date_duration(1)
+    print 'tomorrow: ', to_simple_string( tomorrow )
+
+    #Local time programming:
+
+    #setup some timezones for creating and adjusting times
+    #first time zone uses the time zone file for regional timezone definitions
+    tz_db = local_time.time_zone_database()
+    tz_db.load_from_file( os.path.join( date_time.__path__[0], "date_time_zonespec.csv") )
+    nyc_tz = tz_db.time_zone_from_region("America/New_York")
+    #This timezone uses a posix time zone string definition to create a time zone
+    phx_tz = local_time.posix_time_zone("MST-07:00:00")
+
+    #local departure time in phoenix is 11 pm on April 2 2005
+    #Note that New York changes to daylight savings on Apr 3 at 2 am)
+    phx_departure = local_time.local_date_time(
+        gregorian.date(2005, date_time.Apr, 2)
+        , posix_time.hours(23)
+        , phx_tz
+        , local_time.local_date_time.NOT_DATE_TIME_ON_ERROR)
+
+    flight_length = posix_time.hours(4) + posix_time.minutes(30)
+    phx_arrival = phx_departure + flight_length
+    #convert the phx time to a nyz time
+    nyc_arrival = phx_arrival.local_time_in(nyc_tz, posix_time.time_duration() )
+    print "New York arrival: ", nyc_arrival.to_string() #//2005-Apr-03 06:30:00 EDT
+
+rational
+~~~~~~~~
+
+* C++ code: http://boost.org/libs/rational/rational_example.cpp
+
+* Python code:
+
+  .. code-block:: python
+
+    import unittest
+    from pyboost import rational
+
+    half = rational.rational( 1, 2 )
+    one = rational.rational( 1 )
+    two = rational.rational( 2 )
+
+    #Some basic checks
+    assert half.numerator() == 1
+    assert half.denominator() == 2
+    assert float(half) == 0.5
+
+    #Arithmetic
+    assert half + half == one == 1
+    assert one - half == half
+    assert two * half == one == 1
+    assert one / half == two == 2
+
+crc
+~~~
+
+* C++ code: http://boost.org/libs/crc/crc_example.cpp
+
+* Python code:
+
+  .. code-block:: python
+
+    import os
+    import sys
+    from pyboost import crc
+
+    if __name__ == '__main__':
+        if sys.argv:
+            files = sys.argv
+        else:
+            files = [ sys.executable ]
+
+        try:
+            result = crc.crc_32_type()
+            for file_name in files:
+                ifs = file( file_name, 'rb' )
+                for line in ifs:
+                    result.process_bytes( line )
+            print hex( result.checksum() ).upper()
+        except Exception, error:
+            sys.stderr.write( "Found an exception with'%s'%s" %( str( error ), os.linesep ) )
+            sys.exit( 1 )
+
+--------
+Download
+--------
+
+http://sourceforge.net/project/showfiles.php?group_id=118209.
+
+
+.. _`boost.date_time` : http://boost.org/doc/html/date_time.html
+.. _`boost.crc` : http://boost.org/libs/crc/index.html
+.. _`boost.rational` : http://boost.org/libs/rational/index.html
+.. _`boost.random` : http://boost.org/libs/random/index.html
+
+
+.. _`environment.py`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/environment.py?view=markup
+.. _`sconstruct`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/sconstruct?view=markup
+.. _`Python`: http://www.python.org
+.. _`boost.date_time`: http://boost.org/doc/html/date_time.html
+.. _`date_time`: http://boost.org/doc/html/date_time.html
+.. _`boost`: http://www.boost.org
+.. _`Boost`: http://www.boost.org
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`boost.operators`: http://www.boost.org/
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/examples/easybmp/easybmp.rst b/docs/examples/easybmp/easybmp.rst
new file mode 100644
index 0000000..653f8df
--- /dev/null
+++ b/docs/examples/easybmp/easybmp.rst
@@ -0,0 +1,71 @@
+===============
+EasyBMP example
+===============
+
+------------
+Introduction
+------------
+
+What is EasyBMP?
+-------------------
+
+`EasyBMP`_ is a simple, cross-platform, open source (LGPL) C++ library designed
+for easily reading, writing, and modifying Windows bitmap (BMP) image files.
+In this example I am referring to version 0.70.
+
+-----------
+Description
+-----------
+
+:doc:`Py++ <../../index>` has been used to create `Python`_ bindings for `EasyBMP`_
+library. Before proceeding with this example, I should say, that I did not work
+with `EasyBMP`_ at all. I have seen it's announcement on www.freshmeat.org site
+and decided to test :doc:`Py++ <../../index>` with "real world" project. It took me 30
+minutes, to create full working python version of this library. These examples
+consist few files and directories:
+
+    1. environment.py - contains different environment settings
+
+    2. generate_code.py - contains source code needed to generate
+       `Boost.Python`_ bindings for `EasyBMP`_ library.
+
+    3. sconstruct - build configuration file
+
+    4. generated - directory that contains all generated code and only it
+
+    5. unittests - directory that contains grey scale example from tutorials.
+       C++
+
+I run grey scale example on
+
+|source.bmp|
+
+and this is what I have got:
+
+|target.bmp|
+
+  .. |source.bmp| image:: ./source.bmp
+                  :alt: Py++ logo
+                  :align: middle
+  ..              :border: 0
+
+  .. |target.bmp| image:: ./target.bmp
+                  :alt: Py++ logo
+                  :align: middle
+  ..              :border: 0
+
+--------
+Download
+--------
+
+http://sourceforge.net/project/showfiles.php?group_id=118209.
+
+.. _`environment.py`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/environment.py?view=markup
+.. _`sconstruct`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/sconstruct?view=markup
+.. _`greyscale.py`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/grayscale.py?view=markup
+.. _`create_easybmp.py`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/create_easybmp.py?view=markup
+.. _`py_easybmp.cpp`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/py_easybmp.cpp?view=markup
+.. _`Python`: http://www.python.org
+.. _`EasyBMP`: http://easybmp.sourceforge.net/
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+
diff --git a/docs/examples/easybmp/pkg-info.txt b/docs/examples/easybmp/pkg-info.txt
new file mode 100644
index 0000000..62432b3
--- /dev/null
+++ b/docs/examples/easybmp/pkg-info.txt
@@ -0,0 +1,17 @@
+Metadata-Version: 1.1
+Name: py_easybmp
+Version: 0.70
+Author: Roman Yakovenko
+Author-email: roman yakovenko at gmail com
+Maintainer: Roman Yakovenko
+Maintainer-email: roman yakovenko at gmail com
+Download-url: http://sourceforge.net/project/showfiles.php?group_id=118209
+Summary: Python bindings for C++ EasyBMP library
+License: Boost Software License
+Description: Python bindings for C++ EasyBMP library. Bindings has been created with pyplusplus code generator.
+Keywords: C++ code generation bindings EasyBMP
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: License :: Freeware
+Classifier: Programming Language :: Python
+Classifier: Topic :: Software Development
diff --git a/docs/examples/easybmp/source.bmp b/docs/examples/easybmp/source.bmp
new file mode 100644
index 0000000..8729c7f
Binary files /dev/null and b/docs/examples/easybmp/source.bmp differ
diff --git a/docs/examples/easybmp/target.bmp b/docs/examples/easybmp/target.bmp
new file mode 100644
index 0000000..2f1d9ea
Binary files /dev/null and b/docs/examples/easybmp/target.bmp differ
diff --git a/docs/examples/examples.rst b/docs/examples/examples.rst
new file mode 100644
index 0000000..43af6bf
--- /dev/null
+++ b/docs/examples/examples.rst
@@ -0,0 +1,47 @@
+========
+Examples
+========
+-------------------
+Graphical interface
+-------------------
+
+:doc:`Py++ <../index>` has nice, small and simple :doc:`graphical interface <../tutorials/pyplusplus_gui>`.
+Consider to read :doc:`tutorials <../tutorials/tutorials>` for more information.
+
+---------
+pyeasybmp
+---------
+
+:doc:`EasyBMP <easybmp/easybmp>` is a small cross-platform library that provide you functionality
+needed to work with Windows bitmap (BMP) image files. I took me only few minutes
+to create Python bindings for the library. Read more :doc:`here <easybmp/easybmp>`.
+
+---------------
+boost libraries
+---------------
+
+Boost provides free peer-reviewed portable C++ source libraries. Using :doc:`Py++ <../index>` I
+created Python bindings for few libraries:
+
+  * `Boost.Date_Time`_
+  * `Boost.CRC`_
+  * `Boost.Rational`_
+  * `Boost.Random`_
+
+This is not "just another example". I went father and created new package:
+:doc:`pyboost <boost/boost>`. This is fully working Python package, with almost all unit test from
+the libraries ported to Python. For more information please read :doc:`pyboost <boost/boost>`
+package documentation.
+
+
+.. toctree::
+
+   boost/boost.rst
+   easybmp/easybmp.rst
+
+.. _`boost.date_time` : http://boost.org/doc/html/date_time.html
+.. _`boost.crc` : http://boost.org/libs/crc/index.html
+.. _`boost.rational` : http://boost.org/libs/rational/index.html
+.. _`boost.random` : http://boost.org/libs/random/index.html
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+
diff --git a/docs/functions/call_policies/as_tuple.rst b/docs/functions/call_policies/as_tuple.rst
new file mode 100644
index 0000000..a81be74
--- /dev/null
+++ b/docs/functions/call_policies/as_tuple.rst
@@ -0,0 +1,84 @@
+========
+as_tuple
+========
+
+----------
+Definition
+----------
+
+Class ``as_tuple`` is a model of `ResultConverterGenerator`_  which
+can be used to wrap C++ functions returning a pointer to arrays with fixed size.
+The policy will construct a Python tuple from the array and handle the array memory.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+   struct vector3{
+       ...
+
+       float* clone_raw_data() const{
+           float* values = new float[3];
+           //copy values
+           return values;
+       }
+
+       const flow* get_raw_data() const{
+           return m_values;
+       }
+
+   private:
+       float m_values[3];
+   };
+
+  namespace bpl = boost::python;
+  namespace pypp_cp = pyplusplus::call_policies;
+  BOOST_PYTHON_MODULE(my_module){
+    bpl::class_< vector3 >( "vector3" )
+        .def( "clone_raw_data"
+              , &::vector3::clone_raw_data
+              , bpl::return_value_policy< pypp_cp::arrays::as_tuple< 3, pypp_cp::memory_managers::delete_ > >() )
+        .def( "get_raw_data"
+              , &::vector3::get_raw_data
+              , bpl::return_value_policy< pypp_cp::arrays::as_tuple< 3, pypp_cp::memory_managers::none > >() ) );
+  }
+
+------------------
+``as_tuple`` class
+------------------
+
+``as_tuple`` is a template class that takes few arguments:
+
+1. the array size - compile time constant
+
+2. memory management policy - a class, which will manage the return value.
+   There are two built-in memory managers:
+
+   * delete\_ - the array will be deleted after it was copied to tuple, using
+     ``operator delete[]``
+
+   * none - do nothing
+
+The :doc:`Py++ <../../index>` code is slightly different from the C++ one, but it is definitely shorter:
+
+.. code-block:: python
+
+  from pyplusplus import module_builder
+  from pyplusplus.module_builder import call_policies
+
+  mb = module_builder.module_builder_t( ... )
+  mb.member_function( 'clone_raw_data' ).call_policies \
+      = call_policies.convert_array_to_tuple( 3, call_policies.memory_managers.delete_ )
+  mb.member_function( 'get_raw_data' ).call_policies \
+      = call_policies.convert_array_to_tuple( 3, call_policies.memory_managers.none )
+
+
+.. _`ResultConverterGenerator` : http://boost.org/libs/python/doc/v2/ResultConverter.html#ResultConverterGenerator-concept
+.. _`CallPolicies` : http://www.boost.org/libs/python/doc/v2/CallPolicies.html#CallPolicies-concept
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/call_policies/call_policies.rst b/docs/functions/call_policies/call_policies.rst
new file mode 100644
index 0000000..9fa4e04
--- /dev/null
+++ b/docs/functions/call_policies/call_policies.rst
@@ -0,0 +1,205 @@
+=============
+Call policies
+=============
+
+------------
+Introduction
+------------
+
+`Boost.Python`_ has a `nice introduction`__ to call policies. `"Call policies concept"`_
+document will provide you with formal definition.
+
+.. __ : http://boost.org/libs/python/doc/tutorial/doc/html/python/functions.html#python.call_policies
+.. _`"Call policies concept"` : http://boost.org/libs/python/doc/v2/CallPolicies.html#CallPolicies-concept
+
+------
+Syntax
+------
+
+The call policies in :doc:`Py++ <../../index>` are named exactly as in `Boost.Python`_, only the
+syntax is slightly different. For instance, this call policy:
+
+.. code-block:: c++
+
+  return_internal_reference< 1, with_custodian_and_ward<1, 2> >()
+
+becomes in :doc:`Py++ <../../index>`
+
+.. code-block:: python
+
+  return_internal_reference( 1, with_custodian_and_ward(1, 2) )
+
+:doc:`Py++ <../../index>` supports all call policies presented in `Boost.Python`_.
+
+-------------
+Usage example
+-------------
+
+Every "callable" object in :doc:`Py++ <../../index>` has ``call_policies`` property.
+
+C++ code:
+
+  .. code-block:: c++
+
+    struct data{...};
+    const data& do_smth( const data& d, int x );
+
+    void return_second_arg( int x, int y );
+
+    typedef struct opaque_ *opaque_pointer;
+    opaque_pointer get_opaque();
+
+Python code:
+
+  .. code-block:: python
+
+    from pyplusplus import module_builder
+    from pyplusplus.module_builder import call_policies
+
+    mb = module_builder.module_builder_t( ... )
+    mb.free_function( 'return_second_arg' ).call_policies = call_policies.return_arg( 2 )
+    #---------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+    mb.member_function( 'do_smth' ).call_policies = call_policies.return_self()
+    #-------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+    mb.calldef( 'get_opaque' ).call_policies
+        = call_policies.return_value_policy( call_policies.return_opaque_pointer )
+
+--------
+Defaults
+--------
+
+:doc:`Py++ <../../index>` is able to "guess" few call policies, base on analysis of return type
+and\\or callable name:
+
+* ``default_call_policies``:
+
+  * `Python`_ immutable type returned by value: C++ fundamental types, ``std::string``, enumerations
+
+  *  user-defined type ( class ) returned by value
+
+  * return type is ``const char*``
+
+* ``return_value_policy``
+
+  * ``return_opaque_pointer``
+
+    * return type is ``void*``
+
+    * return type is ``const void*``
+
+    * return type is ``T*`` and ``T`` is a user defined opaque type
+
+      ``class_t`` and ``class_declaration_t`` classes have ``opaque`` property.
+      You have to set it to ``True``, if you want :doc:`Py++ <../../index>` to create this call
+      policy automatically for all functions, that use ``T*`` as return type.
+
+  * ``copy_const_reference``
+
+    * return type is ``const T&``
+
+    * for member ``operator[]`` that returns const reference to immutable type
+
+  * ``return_by_value``
+
+    * return type is ``const wchar_t*``
+
+  * ``copy_non_const_reference``
+
+    * return type is ``T&``, for member ``operator[]`` that returns reference to immutable type
+
+* ``return_internal_reference``
+
+    * return type is ``T&``, for member ``operator[]``
+
+* ``return_self``
+
+  This call policy will be used for ``operator=``.
+
+---------------------
+Missing call policies
+---------------------
+
+If you don't specify call policy for a function and it needs one, few things will
+happen:
+
+* :doc:`Py++ <../../index>` prints a warning message
+
+* :doc:`Py++ <../../index>` generates code with
+
+  .. code-block:: c++
+
+    /* undefined call policies */
+
+  comment, instead of call policy. If :doc:`Py++ <../../index>` was wrong and function doesn't
+  need call policy the generate code will compile fine, otherwise you will get a
+  compilation error.
+
+
+------------
+Special case
+------------
+
+Before you read this paragraph consider to read `Boost.Python`_ `return_opaque_pointer documentation`_.
+
+``return_value_policy( return_opaque_pointer )`` is a special policy for `Boost.Python`_.
+In this case, it requires from you to define specialization for the
+``boost::python::type_id`` function on the type pointed to by returned pointer.
+:doc:`Py++ <../../index>` will generate the required code.
+
+
+Actually you should define ``boost::python::type_id`` specialization also in case
+a function takes the opaque type as an argument. :doc:`Py++ <../../index>` can do it for you, all
+you need is to mark a declaration as opaque.
+
+Example:
+
+.. code-block:: c++
+
+  struct identity_impl_t{};
+  typedef identity_impl_t* identity;
+
+  struct world_t{
+
+      world_t( identity id );
+
+      identity get_id() const;
+
+      ...
+  };
+
+:doc:`Py++ <../../index>` code:
+
+.. code-block:: python
+
+  mb = module_builder_t(...)
+  mb.class_( 'identity_impl_t' ).opaque = True
+
+
+.. _`return_opaque_pointer documentation` : http://boost.org/libs/python/doc/v2/return_opaque_pointer.html
+
+--------------------------
+Py++ defined call policies
+--------------------------
+
+:doc:`Py++ <../../index>` defines few call policies. I hope you will find them useful. I don't mind
+to contribute them to `Boost.Python`_ library, but I don't have enough free time
+to "boostify" them.
+
+
+.. toctree::
+
+   as_tuple.rst
+   return_addressof.rst
+   return_pointee_value.rst
+   return_range.rst
+   custom_call_policies.rst
+
+
+.. _`ResultConverterGenerator` : http://boost.org/libs/python/doc/v2/ResultConverter.html#ResultConverterGenerator-concept
+.. _`CallPolicies` : http://www.boost.org/libs/python/doc/v2/CallPolicies.html#CallPolicies-concept
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/call_policies/custom_call_policies.rst b/docs/functions/call_policies/custom_call_policies.rst
new file mode 100644
index 0000000..caaa999
--- /dev/null
+++ b/docs/functions/call_policies/custom_call_policies.rst
@@ -0,0 +1,36 @@
+====================
+custom_call_policies
+====================
+
+----------
+Definition
+----------
+
+``custom_call_policies`` is a special call policy, which allows you to integrate
+the call policies, you defined, with :doc:`Py++ <../../index>`
+
+-------
+Example
+-------
+
+.. code-block:: python
+
+  from pyplusplus import module_builder
+  from pyplusplus.module_builder import call_policies
+
+  mb = module_builder.module_builder_t( ... )
+  mb.free_function( ... ).call_policies \
+      = call_policies.custom_call_policies( <<<your call policies code>>> )
+
+  Optionally you can specify name of the header file, which should be included:
+
+.. code-block:: python
+
+   mb.free_function( ... ).call_policies \
+      = call_policies.custom_call_policies( <<<your call policies code>>>, "xyz.hpp" )
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/call_policies/return_addressof.rst b/docs/functions/call_policies/return_addressof.rst
new file mode 100644
index 0000000..3489404
--- /dev/null
+++ b/docs/functions/call_policies/return_addressof.rst
@@ -0,0 +1,62 @@
+================
+return_addressof
+================
+
+----------
+Definition
+----------
+
+Class ``return_addressof`` is a model of `ResultConverterGenerator`_  which
+can be used to wrap C++ functions returning any pointer, such that the pointer
+value is converted to ``unsigned int`` and it is copied into a new Python object.
+
+This call policy was created to be used with ``ctypes`` package and provide access
+to some raw\\low level data, without creating wrappers.
+
+Pay attention: you have to manage the memory by your own.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  int* get_value(){
+      static int buffer[] = { 0,1,2,3,4 };
+      return buffer;
+  }
+
+  namespace bpl = boost::python;
+  BOOST_PYTHON_MODULE(my_module){
+    def( "get_value"
+         , bpl::return_value_policy< pyplusplus::call_policies::return_addressof<> >() );
+  }
+
+The :doc:`Py++ <../../index>` code is not that different from what you already know:
+
+.. code-block:: python
+
+  from pyplusplus import module_builder
+  from pyplusplus.module_builder import call_policies
+
+  mb = module_builder.module_builder_t( ... )
+  mb.free_function( return_type='float *' ).call_policies \
+      = call_policies.return_value_policy( call_policies.return_addressof )
+
+Python code:
+
+.. code-block:: python
+
+  import ctypes
+  import my_module
+
+  buffer_type = ctypes.c_int * 5
+  buffer = buffer_type.from_address( my_module.get_value() )
+  assert [0,1,2,3,4] == list( buffer )
+
+.. _`ResultConverterGenerator` : http://boost.org/libs/python/doc/v2/ResultConverter.html#ResultConverterGenerator-concept
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/call_policies/return_pointee_value.rst b/docs/functions/call_policies/return_pointee_value.rst
new file mode 100644
index 0000000..e5baaef
--- /dev/null
+++ b/docs/functions/call_policies/return_pointee_value.rst
@@ -0,0 +1,141 @@
+====================
+return_pointee_value
+====================
+
+----------
+Definition
+----------
+
+Class ``return_pointee_value`` is a model of `ResultConverterGenerator`_ which
+can be used to wrap C++ functions, that return a pointer to a C++ object. The
+policy implements the following logic:
+
+.. code-block:: c++
+
+  if( <<<return value is NULL pointer>>> ){
+      return None;
+  }
+  else{
+      return boost::python::object( *<<<return value>>> );
+  }
+
+The return type of the function should be ``T*``.
+
+It passes the value of the pointee to `Python`_, thus the conversion for ``T``
+is used. This call policy could be used to return pointers to `Python`_, which
+types are not known to `Boost.Python`_, but only a conversion for the pointees.
+
+Therefore this policy should be used to return pointers to objects, whose types
+were wrapped with other tools, such as SWIG\SIP.
+
+Another usage of this call policy is to return to Python new object, which contains
+copy of ``(*return value)``.
+
+Please note: This policy does not take ownership of the wrapped pointer. If the
+object pointed to is deleted in C++, the python-object will become invalid too,
+if your custom conversion depends on the original object.
+
+--------
+Examples
+--------
+
+Unknown type
+------------
+
+This technique and example was contributed by Maximilian Matthe.
+
+.. code-block:: c++
+
+  struct int_wrapper{
+       int_wrapper(int v)
+       : val(v)
+       {}
+
+       int val;
+  };
+
+  //we will expose the following function
+  int_wrapper* return_int_wrapper(){
+       static int_wrapper w(42);
+       return &w;
+  }
+
+  //the Boost.Python custom converter
+  struct convert_int_wrapper{
+      static PyObject* convert(int_wrapper const& w){
+          boost::python::object value(w.val);
+          return boost::python::incref( value.ptr() );
+      }
+  };
+
+
+  BOOST_PYTHON_MODULE(my_module){
+       using namespace boost::python;
+       //register our custom converter
+       to_python_converter<int_wrapper, convert_int_wrapper, false>();
+
+       def( "return_int_wrapper"
+            , &return_int_wrapper
+            , return_value_policy<return_pointee_value>() );
+  }
+
+Python code:
+
+.. code-block:: python
+
+  import my_module
+
+  assert 42 == my_module.return_int_wrapper()
+
+
+Return pointee value
+--------------------
+
+.. code-block:: c++
+
+  float* get_value(){
+      static float value = 0.5;
+      return &value;
+  }
+
+  float* get_null_value(){
+    return (float*)( 0 );
+  }
+
+  namespace bpl = boost::python;
+  BOOST_PYTHON_MODULE(my_module){
+    def( "get_value"
+         , bpl::return_value_policy< pyplusplus::call_policies::return_pointee_value<> >() );
+
+    def( "get_null_value"
+         , bpl::return_value_policy< pyplusplus::call_policies::return_pointee_value<> >() );
+  }
+
+The :doc:`Py++ <../../index>` code is not that different from what you already know:
+
+.. code-block:: python
+
+  from pyplusplus import module_builder
+  from pyplusplus.module_builder import call_policies
+
+  mb = module_builder.module_builder_t( ... )
+  mb.free_function( return_type='float *' ).call_policies \
+      = call_policies.return_value_policy( call_policies.return_pointee_value )
+
+Python code:
+
+.. code-block:: python
+
+  import my_module
+
+  assert 0.5 == my_module.get_value()
+  assert None is my_module.get_null_value()
+
+
+.. _`ResultConverterGenerator` : http://boost.org/libs/python/doc/v2/ResultConverter.html#ResultConverterGenerator-concept
+.. _`CallPolicies` : http://www.boost.org/libs/python/doc/v2/CallPolicies.html#CallPolicies-concept
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/call_policies/return_range.rst b/docs/functions/call_policies/return_range.rst
new file mode 100644
index 0000000..4369215
--- /dev/null
+++ b/docs/functions/call_policies/return_range.rst
@@ -0,0 +1,225 @@
+=============
+return_range
+=============
+
+----------
+Definition
+----------
+
+Class ``return_range`` is a model of `CallPolicies`_, which can be used to wrap
+C++ functions that return a pointer to some array. The new call policy constructs
+object, which provides a regular `Python`_ `sequence`_ interface.
+
+.. _`sequence` : http://docs.python.org/lib/typesseq.html
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  struct image_t{
+
+      ...
+
+      const unsigned char* get_data() const{
+          return m_raw_data;
+      }
+
+      ssize_t get_width() const{
+          return m_width;
+      }
+
+      ssize_t get_height() const{
+          return m_height;
+      }
+
+  private:
+      unsigned long m_width;
+      unsigned long m_height;
+      unsigned char* m_raw_data;
+  };
+
+Before introducing the whole solution, I would like to describe "return_range"
+interface.
+
+----------------------
+``return_range`` class
+----------------------
+
+.. code-block:: c++
+
+  template < typename TGetSize
+             , typename TValueType
+             , typename TValuePolicies=boost::python::default_call_policies >
+  struct return_range : boost::python::default_call_policies
+  { ... };
+
+`Boost.Python`_ call policies are stateless classes, which do not care any
+information about the invoked function or object. In our case we have to pass
+the following information:
+
+* the array size
+
+* the array type
+
+* "__getitem__" call policies for the array elements
+
+
+``TGetSize`` parameter
+++++++++++++++++++++++
+
+``TGetSize`` is a class, which is responsible to find out the size of the returned
+array.
+
+``TGetSize`` class must have:
+
+* default constructor
+
+* call operator with the following signature:
+
+  .. code-block:: c++
+
+    ssize_t operator()( boost::python::tuple args );
+
+  ``args`` is a tuple of arguments, the function was called with.
+
+  Pay attention: this operator will be invoked **after** the function. This
+  call policy is **not thread-safe**!
+
+For our case, the following class could be defined:
+
+.. code-block:: c++
+
+  struct image_data_size_t{
+      ssize_t operator()( boost::python::tuple args ){
+          namespace bpl = boost::python;
+          bpl::object self = args[0];
+          image_t& img = bpl::extract< image_t& >( self );
+          return img.get_width() * img.get_height();
+      }
+  };
+
+Passing all arguments, instead of single "self" argument gives you an ability
+to treat functions, where the user asked to get access to the part of the array.
+
+.. code-block:: c++
+
+  struct image_t{
+      ...
+      const unsigned char* get_data(ssize_t offset) const{
+          //check that offset represents a legal value
+          ...
+          return &m_raw_data[offset];
+      }
+      ...
+  };
+
+The following "get size" class treats this situation:
+
+.. code-block:: c++
+
+  struct image_data_size_t{
+      ssize_t operator()( boost::python::tuple args ){
+          namespace bpl = boost::python;
+          bpl::object self = args[0];
+          image_t& img = bpl::extract< image_t& >( self );
+          bpl::object offset_obj = args[1];
+          ssize_t offset = bpl::extract< ssize_t >( offset_obj );
+          return img.get_width() * img.get_height() - offset;
+      }
+  };
+
+
+``TValueType`` parameter
+++++++++++++++++++++++++
+
+``TValueType`` is a type of array element. In our case it is ``unsigned char``.
+
+``TValuePolicies`` parameter
+++++++++++++++++++++++++++++
+
+``TValuePolicies`` is a "call policy" class, which will be applied when the array
+element is returned to `Python`_. This is a call policy for "__getitem__" function.
+
+``unsigned char`` is mapped to immutable type in `Python`_, so I have to use
+``default_call_policies``. ``default_call_policies`` is a default value for
+``TValuePolicies`` parameter.
+
+
+I think, now you are ready to see the whole solution:
+
+.. code-block:: c++
+
+  namespace bpl = boost::python;
+  namespace ppc = pyplusplus::call_policies;
+
+  BOOST_PYTHON_MODULE(my_module){
+    bpl::class_< image_t >( "image_t" )
+        .def( "get_width", &image_t::get_width )
+        .def( "get_height", &image_t::get_height )
+        .def( "get_raw_data", ppc::return_range< image_size_t, unsigned char >() );
+  }
+
+Py++ integration
+~~~~~~~~~~~~~~~~
+
+The :doc:`Py++ <../../index>` code is not that different from what you already know:
+
+.. code-block:: python
+
+  from pyplusplus import module_builder
+  from pyplusplus.module_builder import call_policies
+
+  image_size_code = \
+  """
+  struct image_data_size_t{
+      ssize_t operator()( boost::python::tuple args ){
+          namespace bpl = boost::python;
+          bpl::object self = args[0];
+          image_t& img = bpl::extract< image_t& >( self );
+          return img.get_width() * img.get_height();
+      }
+  };
+  """
+
+  mb = module_builder.module_builder_t( ... )
+  image = mb.class_( 'image_t' )
+  image.add_declaration_code( image_size_code )
+  get_raw_data = image.mem_fun( 'get_raw_data' )
+  get_raw_data.call_policies \
+      = call_policies.return_range( get_raw_data, "image_data_size_t" )
+
+call_policies.return_range arguments:
+
+1. A reference to function. :doc:`Py++ <../../index>` will extract by itself the type of the array
+   element.
+
+2. A name of "get size" class.
+
+3. A call policies for "__getitem__" function. :doc:`Py++ <../../index>` will analyze the array
+   element type. If the type is mapped to immutable type, than ``default_call_policies``
+   is used, otherwise you have to specify call policies.
+
+
+Python usage code:
+
+.. code-block:: python
+
+  from my_module import *
+
+  img = image_t(...)
+  for p in img.get_raw_data():
+      print p
+
+Dependencies
+~~~~~~~~~~~~
+
+The new call policy depends on :doc:`new indexing suite <../../containers>` and :doc:`Py++ <../../index>` :-).
+
+.. _`ResultConverterGenerator` : http://boost.org/libs/python/doc/v2/ResultConverter.html#ResultConverterGenerator-concept
+.. _`CallPolicies` : http://www.boost.org/libs/python/doc/v2/CallPolicies.html#CallPolicies-concept
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/default_args.rst b/docs/functions/default_args.rst
new file mode 100644
index 0000000..db0f856
--- /dev/null
+++ b/docs/functions/default_args.rst
@@ -0,0 +1,146 @@
+=================
+Default arguments
+=================
+
+------------
+Introduction
+------------
+
+There is more than one way to export function with default arguments. Before we
+proceed, please take a look on the following class:
+
+.. code-block:: c++
+
+  struct X
+  {
+      bool f(int a=12)
+      {
+          return true;
+      }
+  };
+
+-------------------
+Do nothing approach
+-------------------
+
+By default :doc:`Py++ <../index>` exposes function with its default arguments.
+
+.. code-block:: c++
+
+  namespace bp = boost::python;
+
+  BOOST_PYTHON_MODULE(pyplusplus){
+    bp::class_< X >( "X" )
+        .def(
+            "f"
+            , &::X::f
+            , ( bp::arg("a")=(int)(12) ) );
+  }
+
+The additional value of the approach is keyword arguments. You will be able to
+call function ``f`` like this:
+
+.. code-block:: python
+
+  x = X()
+  x.f( a=13 )
+
+----------------------------
+Default values, using macros
+----------------------------
+
+``BOOST_PYTHON_FUNCTION_OVERLOADS`` and ``BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS``
+macros can help to deal with default values too. You can turn ``use_overload_macro``
+to ``True``:
+
+.. code-block:: python
+
+  import module_builder
+
+  mb = module_builder.module_builder_t( ... )
+  x = mb.class_( "X" )
+  x.member_function( "f" ).use_overload_macro = True
+  #------------------------^^^^^^^^^^^^^^^^^^^^^^^^^
+
+--------------------------
+Registration order problem
+--------------------------
+
+There is different trades-off between these approaches. In general you should
+use the first one, until you have "registration order" problem:
+
+.. code-block:: c++
+
+  struct S1;
+  struct S2;
+
+  struct S1{
+      void do_smth( S2* s2=0 );
+  };
+
+  struct S2{
+      void do_smth( S1 s1=S1() );
+  };
+
+  BOOST_PYTHON_MODULE( ... ){
+      using namespace boost::python;
+
+      class_< S2 >( "S2" )
+          .def( "do_smth", &S2::do_smth, ( arg("s1")=S1() ) );
+
+      class_< S1 >( "S1" )
+          .def( "do_smth", &S1::do_smth, ( arg("s2")=object() ) );
+
+  }
+
+The good news is that it is very easy to identify the problem: the module could
+not be loaded. The main reason is that expression ``arg("s1")=S1()`` requires
+``S1`` struct to be registered. `GCC-XML`_ reports default arguments as strings.
+:doc:`Py++ <../index>` doesn't have enough information to generate code with the right class
+registration order. In this case you have to instruct :doc:`Py++ <../index>` to use macros:
+
+.. code-block:: python
+
+  import module_builder
+
+  mb = module_builder.module_builder_t( ... )
+  s2 = mb.class_( "S2" )
+  s2.member_function( "do_smth" ).use_overload_macro = True
+
+When you switch to macros, than:
+
+* You will not be able to override virtual functions in `Python`_.
+
+* You will not be able to use "named" arguments.
+
+* You will not be able to set the functions documentation.
+
+Special case
+------------
+
+Class constructors are special case:
+
+.. code-block:: c++
+
+  struct S1;
+  struct S2;
+
+  struct S1{
+      S1( S2* s2=0 );
+  };
+
+  struct S2{
+      S2( S1 s1=S1() );
+  };
+
+
+You cannot use same work around and :doc:`Py++ <../index>` ( version 0.8.2 ) could not help you.
+The use case presented here is a little bit esoteric. If you have such use case
+and you cannot change the source code, consider contacting :doc:`Py++ <../index>` developers.
+I am sure we will be able to help you.
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/functions.rst b/docs/functions/functions.rst
new file mode 100644
index 0000000..8204dc8
--- /dev/null
+++ b/docs/functions/functions.rst
@@ -0,0 +1,29 @@
+=====================
+Functions & operators
+=====================
+
+--------
+Preamble
+--------
+
+`Boost.Python`_ provides very rich interface to expose functions and operators.
+This section of documentation will explain how to configure :doc:`Py++ <../index>` in order
+to export your functions, using desired `Boost.Python`_ functionality.
+
+--------
+Contents
+--------
+
+.. toctree::
+
+   call_policies/call_policies.rst
+   transformation/transformation.rst
+   default_args.rst
+   make_constructor.rst
+   overloading.rst
+   registration_order.rst
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/functions/make_constructor.rst b/docs/functions/make_constructor.rst
new file mode 100644
index 0000000..2bb3d9c
--- /dev/null
+++ b/docs/functions/make_constructor.rst
@@ -0,0 +1,75 @@
+================
+make_constructor
+================
+
+------------
+Introduction
+------------
+
+`Boost.Python`_ allows us to register some function as `Python`_ class ``__init__``
+method. This could be done using `make_constructor`_ functionality.
+
+Not every function could be registered as ``__init__`` method. The function return
+type should be a pointer or a smart pointer to the new class instance.
+
+-------------
+Usage example
+-------------
+I am going to use the following code to demonstrate the functionality:
+
+.. code-block:: c++
+
+  #include <memory>
+
+  namespace mc{
+
+  struct number_t{
+
+      static std::auto_ptr<number_t> create( int i, int j);
+
+      int x;
+  };
+
+  std::auto_ptr<number_t> create(int i);
+
+  }//namespace mc
+
+The code is pretty simple - it defines two ``create`` functions, which construct
+new class ``number_t`` instances.
+
+:doc:`Py++ <../index>` configuration is pretty simple:
+
+.. code-block:: python
+
+  from pyplusplus import module_builder
+
+  mb = module_builder.module_builder_t( ... )
+  mc = mb.namespace( 'mc ')
+  number = mc.class_( 'number_t' )
+  number.add_fake_constructors( mc.calldefs( 'create' ) )
+  #------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Basically you associate with the class the functions, you want to register as
+the class ``__init__`` method.
+
+The method ``add_fake_constructors`` takes as argument a reference to "create"
+function or a list of such.
+
+The generated code is pretty boring and the only thing I would like to mention
+is that the function will **not** be exposed as a standalone function.
+
+The usage code is even more boring:
+
+.. code-block:: python
+
+  from your_module import number_t
+
+  number = number_t( 1 )
+  print number.x
+  number = number_t( 1, 2 )
+  print number.x
+
+.. _`make_constructor`: http://www.boost.org/doc/libs/1_35_0/libs/python/doc/v2/make_function.html#make_constructor-spec
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/functions/overloading.rst b/docs/functions/overloading.rst
new file mode 100644
index 0000000..e9ec887
--- /dev/null
+++ b/docs/functions/overloading.rst
@@ -0,0 +1,167 @@
+===========
+Overloading
+===========
+
+------------
+Introduction
+------------
+
+Things get a little bit complex, when you have to export overloaded functions.
+In general the solution is to explicitly say to compiler what function you
+want to export, by specifying its type. Before we proceed, please take a look
+on the following class:
+
+.. code-block:: c++
+
+  struct X
+  {
+      bool f(int a)
+      {
+          return true;
+      }
+
+      bool f(int a, double b)
+      {
+          return true;
+      }
+
+      bool f(int a, double b, char c)
+      {
+          return true;
+      }
+  };
+
+This class has been taken from `Boost.Python`_ `tutorials`__.
+
+.. __ : http://boost.org/libs/python/doc/tutorial/doc/html/python/functions.html#python.overloading
+
+There are few approaches, which you can use in order to export the functions.
+
+-------------------
+Do nothing approach
+-------------------
+
+I am sure you will like "do nothing" approach. :doc:`Py++ <../index>` recognize that you want to
+export an overloaded function and will generate the right code:
+
+.. code-block:: c++
+
+  namespace bp = boost::python;
+
+  BOOST_PYTHON_MODULE(pyplusplus){
+    bp::class_< X >( "X" )
+        .def(
+            "f"
+            , (bool ( ::X::* )( int ) )( &::X::f )
+            , ( bp::arg("a") ) )
+        .def(
+            "f"
+            , (bool ( ::X::* )( int,double ) )( &::X::f )
+            , ( bp::arg("a"), bp::arg("b") ) )
+        .def(
+            "f"
+            , (bool ( ::X::* )( int,double,char ) )( &::X::f )
+            , ( bp::arg("a"), bp::arg("b"), bp::arg("c") ) );
+  }
+
+--------------------------------
+"create_with_signature" approach
+--------------------------------
+
+Well, while previous approach is very attractive it does not work in all cases
+and have a weakness.
+
+Overloaded template function
+----------------------------
+
+I am sure you already know the following fact, but still I want to remind it:
+
+* `GCC-XML`_ doesn't report about un-instantiated templates
+
+It is very important to understand it. Lets take a look on the following source code:
+
+.. code-block:: c++
+
+  struct Y{
+
+      void do_smth( int );
+
+      template< class T>
+      void do_smth( T t );
+
+  };
+
+If you didn't instantiate( use ) ``do_smth`` member function, than `GCC-XML`_
+will not report it. As a result, :doc:`Py++ <../index>` will not be aware of the fact that
+``do_smth`` is an overloaded function. To make the long story short, the generated
+code will not compile. You have to instruct :doc:`Py++ <../index>` to generate code, which
+contains function type:
+
+.. code-block:: python
+
+  from pyplusplus import module_builder
+
+  mb = module_builder.module_builder_t( ... )
+  y = mb.class_( 'Y' )
+  y.member_function( 'do_smth' ).create_with_signature = True
+  #------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Every :doc:`Py++ <../index>` class, which describes C++ function\\operator has ``create_with_signature``
+property. You have to set it to ``True``. Default value of the property is
+computed. If the exported function is overloaded, then its value is ``True``
+otherwise it will be ``False``.
+
+Do nothing approach weakness
+----------------------------
+
+Code modification - the weakness of the "do nothing" approach. We live in the
+dynamic world. You can create bindings for a project, but a month letter, the
+project developers will add a new function to the exported class. Lets assume
+that the new function will introduce overloading. If ``create_with_signature``
+has ``False`` as a value, than the previously generated code will not compile
+and you will have to run code generator one more time.
+
+Consider to explicitly set ``create_with_signature`` to ``True``. It will save
+your and your users time in future.
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  mb.calldefs().create_with_signature = True
+
+
+------------------------
+Overloading using macros
+------------------------
+
+`Boost.Python`_ provides two macros, which help you to deal with overloaded
+functions:
+
+* ``BOOST_PYTHON_FUNCTION_OVERLOADS``
+
+* ``BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS``
+
+`Boost.Python`_ tutorials contain an `explanation`_ about this macros.
+
+.. _`explanation` : http://boost.org/libs/python/doc/tutorial/doc/html/python/functions.html#python.auto_overloading
+
+You can instruct :doc:`Py++ <../index>` to generate code, which will use the macros:
+
+.. code-block:: python
+
+  import module_builder
+
+  mb = module_builder.module_builder_t( ... )
+  x = mb.class_( "X" )
+  x.member_functions( "f" ).use_overload_macro = True
+  #-------------------------^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Member and free functions declaration classes have ``use_overload_macro`` property.
+The default value of the property is ``False``.
+
+You don't really have to use the macros, unless you have "registration order"
+problem. The problem and work around described in :doc:`default arguments <default_args>` document.
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/functions/registration_order.rst b/docs/functions/registration_order.rst
new file mode 100644
index 0000000..1862470
--- /dev/null
+++ b/docs/functions/registration_order.rst
@@ -0,0 +1,147 @@
+==================
+Registration order
+==================
+
+------------
+Introduction
+------------
+
+"... I would very much like to pass booleans from Python to C++ and have them
+accepted as boils. However I cannot seem to do this. ..."
+
+"... My class has 2 "append" functions. The first one, has single argument with
+type "const char*", the second one also has single argument with type "char".
+It seems, that I am not able to call the first function. ..."
+
+If you have problem similar to described ones, than I am almost sure you have
+registration order problem.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  struct tester_t{
+      tester_t() {}
+
+      const char* append(const char*)
+      { return "append(const char *)"; }
+
+      const char* append(const char)
+      { return "append(const char)"; }
+
+      const char* do_smth( bool )
+      { return "do_smth( bool )"; }
+
+      const char* do_smth( int )
+      { return "do_smth( int )"; }
+  };
+
+:doc:`Py++ <../index>` generates code, that register functions in the order they appear in the
+source code:
+
+.. code-block:: c++
+
+  namespace bp = boost::python;
+
+  BOOST_PYTHON_MODULE(my_module){
+    bp::class_< tester_t >( "tester_t" )
+        .def( bp::init< >() )
+        .def( "append"
+            , (char const * ( ::tester_t::* )( char const * ) )( &::tester_t::append ) )
+        .def( "append"
+            , (char const * ( ::tester_t::* )( char const ) )( &::tester_t::append ) )
+        .def( "do_smth"
+            , (char const * ( ::tester_t::* )( bool ) )( &::tester_t::do_smth ) )
+        .def( "do_smth"
+            , (char const * ( ::tester_t::* )( int ) )( &::tester_t::do_smth ) );
+  }
+
+---------------------------
+Registration order pitfalls
+---------------------------
+
+Do you want to guess what is the output of the following program:
+
+.. code-block:: python
+
+  import my_module
+  tester = my_module.tester_t()
+  print tester.do_smth( True )
+  print tester.do_smth( 10 )
+  print tester.append( "Hello world!" )
+
+?
+
+The output is:
+
+  do_smth( int )
+
+  do_smth( int )
+
+  append(const char)
+
+Unexpected, right? The registration order of exposed overloaded functions is
+important. `Boost.Python`_ tries overloads in reverse order of definition.
+
+If I understand right, `Boost.Python`_ tries to match in reverse order the
+overloaded functions, if it can convert `Python`_ arguments to C++ ones, it does
+this and calls the function.
+
+Now, when you understand the behavior, it should be pretty simple to provide
+a correct functionality:
+
+1. You can change alias of the function, by mangling the type of the argument
+   into it:
+
+  .. code-block:: python
+
+    mb = module_builder_t( ... )
+    for f in mb.class_( 'tester_t' ).member_functions():
+        f.alias = f.alias + f.arguments[0].type.decl_string
+
+2. You can reorder the declarations within the source file.
+
+3. You can ask :doc:`Py++ <../index>` to generate code, which takes into account the order of
+   declarations:
+
+   .. code-block:: python
+
+     from pyplusplus.creators_factory import sort_algorithms
+
+     sort_algorithms.USE_CALLDEF_ORGANIZER = True
+     # The functionality is available from version 0.8.3
+
+4. The last and the perfect solution. :doc:`Py++ <../index>` will let you know, when your code
+   has such problem. The functionality is available from version 0.8.3. After
+   this you can change the aliases of the functions. The third step is to create
+   small "dispatch" function in Python:
+
+   .. code-block:: python
+
+     import my_module
+
+     def tester_t_do_smth( self, value ):
+         if isinstance( value, bool ):
+             self.do_smth_bool( value ):
+         else:
+             self.do_smth_int( value )
+
+     tester_t.do_smth = tester_t_do_smth
+
+   The technique shown here described pretty good in `Boost.Python`_
+   `Extending Wrapped Objects in Python tutorials`_ .
+
+   May be in future, :doc:`Py++ <../index>` will generate this code for you. Anyway, if you have
+   a lot of use cases like this consider to generate `Python`_ code and not to
+   write it manually.
+
+.. _`Extending Wrapped Objects in Python tutorials` : http://boost.org/libs/python/doc/tutorial/doc/html/python/techniques.html#python.extending_wrapped_objects_in_python
+
+
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/functions/transformation/from_address.rst b/docs/functions/transformation/from_address.rst
new file mode 100644
index 0000000..f4cdd1e
--- /dev/null
+++ b/docs/functions/transformation/from_address.rst
@@ -0,0 +1,97 @@
+============================
+``from_address`` transformer
+============================
+
+----------
+Definition
+----------
+
+"from_address" transformer allows integration with :mod:`ctypes` package.
+Basically it handles the translation between ``size_t`` value, which
+represents a pointer to some data and the exposed code. Thus you can
+use :mod:`ctypes` package to create the data and than pass it to the
+`Boost.Python`_ exposed function.
+
+
+"from_address" transformer takes as first argument name or index of the
+"data" argument. The argument should have "reference" or "pointer" type.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  unsigned long
+  sum_matrix( unsigned int* matrix, unsigned int rows, unsigned int columns ){
+      if( !matrix ){
+          throw std::runtime_error( "matrix is null" );
+      }
+      unsigned long result = 0;
+      for( unsigned int r = 0; r < rows; ++r ){
+          for( unsigned int c = 0; c < columns; ++c ){
+              result += *matrix;
+              ++matrix;
+          }
+      }
+      return result;
+  }
+
+In order to expose ``sum_matrix`` function we need to create a small wrapper.
+The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     mb.free_function( 'sum_matrix' ).add_transformation( FT.from_address( 0 ) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     static boost::python::object sum_matrix_515b62fca9176ae4fffaf5fb118855dc( unsigned int matrix, unsigned int rows, unsigned int columns ){
+         long unsigned int result = ::sum_matrix(reinterpret_cast< unsigned int * >( matrix ), rows, columns);
+         return bp::object( result );
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         { //::sum_matrix
+
+             typedef boost::python::object ( *sum_matrix_function_type )( unsigned int,unsigned int,unsigned int );
+
+             bp::def(
+                 "sum_matrix"
+                 , sum_matrix_function_type( &sum_matrix_515b62fca9176ae4fffaf5fb118855dc )
+                 , ( bp::arg("matrix"), bp::arg("rows"), bp::arg("columns") )
+                 , "documentation" );
+         }
+     }
+
+And now the Python usage example:
+
+  .. code-block:: python
+
+     import ctypes
+     import mymodule
+
+     rows = 10
+     columns = 7
+     matrix_type = ctypes.c_uint * columns * rows
+     sum = 0
+     counter = 0
+     matrix = matrix_type()
+     for r in range( rows ):
+        for c in range( columns ):
+             matrix[r][c] = counter
+             sum += counter
+             counter += 1
+     result = module.sum_matrix( ctypes.addressof( matrix ), rows, columns )
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/inout.rst b/docs/functions/transformation/inout.rst
new file mode 100644
index 0000000..86706c4
--- /dev/null
+++ b/docs/functions/transformation/inout.rst
@@ -0,0 +1,62 @@
+======================
+``inout`` transformer
+======================
+
+----------
+Definition
+----------
+
+``inout`` transformer is a combination of :doc:`input <input>` and :doc:`output <output>` transformers.
+It removes a "reference" type from the function argument and then adds the
+"returned", by the original function, value to the return statement of the
+function-wrapper.
+
+``inout`` transformer takes as argument name or index of the original function
+argument. The argument should have "reference" type. Support for "pointer" type
+will be added pretty soon.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  #include <string>
+
+  inline void hello_world( std::string& hw ){
+      hw = "hello world!";
+  }
+
+Lets say that you need to expose ``hello_world`` function. As you know
+``std::string`` is mapped to `Python`_ string, which is immutable type, so you
+have to create small wrapper for the function. The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     hw = mb.mem_fun( 'hello_world' )
+     hw.add_transformation( FT.inout(0) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     namespace bp = boost::python;
+
+     static boost::python::object hello_world_a3478182294a057b61508c30b1361318( ::std::string hw ){
+         ::hello_world(hw);
+         return bp::object( hw );
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+         bp::def( "hello_world", &hello_world_a3478182294a057b61508c30b1361318 );
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/inout_static_array.rst b/docs/functions/transformation/inout_static_array.rst
new file mode 100644
index 0000000..e231c8c
--- /dev/null
+++ b/docs/functions/transformation/inout_static_array.rst
@@ -0,0 +1,72 @@
+====================================
+``inout_static_array`` transformer
+====================================
+
+----------
+Definition
+----------
+
+``inout_static_array`` transformer is a combination of :doc:`input <input_static_array>`
+and :doc:`output <output_static_array>` transformers.
+It allows to call a C++ function, which takes an array using Python ``list`` class
+
+"inout_static_array" transformer takes as first argument name or index of the
+original function argument. The argument should have "array" or "pointer" type.
+The second argument specifies the array size.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+   int sum_and_fill( int v[3], int value ){
+       int result = v[0] + v[1] + v[2];
+       v[0] = value;
+       v[1] = value;
+       v[2] = value;
+       return result;
+   }
+
+In order to expose ``sum_and_fill`` function we need to create a small wrapper.
+The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     sum_and_fill = mb.free_fun( 'sum_and_fill' )
+     sum_and_fill.add_transformation( ft.inout_static_array('v', 3) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     static boost::python::tuple sum_and_fill_2dd285a3344dbf7d71ffb7c78dd614c5( boost::python::object v, int value ){
+         int native_v[3];
+         boost::python::list py_v;
+         pyplus_conv::ensure_uniform_sequence< int >( v, 3 );
+         pyplus_conv::copy_sequence( v, pyplus_conv::array_inserter( native_v, 3 ) );
+         int result = ::sum_and_fill(native_v, value);
+         pyplus_conv::copy_container( native_v, native_v + 3, pyplus_conv::list_inserter( py_v ) );
+         return bp::make_tuple( result, py_v );
+     }
+
+     BOOST_PYTHON_MODULE(ft_inout_static_array){
+         { //::ft::sum_and_fill
+
+             typedef boost::python::tuple ( *sum_and_fill_function_type )( boost::python::object,int );
+
+             bp::def(
+                      "sum_and_fill"
+                      , sum_and_fill_function_type( &sum_and_fill_2dd285a3344dbf7d71ffb7c78dd614c5 )
+                      , ( bp::arg("v"), bp::arg("value") ) );
+         }
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/inout_static_matrix.rst b/docs/functions/transformation/inout_static_matrix.rst
new file mode 100644
index 0000000..999ab1f
--- /dev/null
+++ b/docs/functions/transformation/inout_static_matrix.rst
@@ -0,0 +1,91 @@
+====================================
+``inout_static_matrix`` transformer
+====================================
+
+----------
+Definition
+----------
+
+``inout_static_matrix`` transformer is a combination of :doc:`input <input_static_matrix>`
+and :doc:`output <output_static_matrix>` transformers.
+It allows to call a C++ function, which takes 2D array using Python ``list`` class
+
+"input_static_matrix" transformer takes as first argument name or index of the
+original function argument. The argument should have "array" or "pointer" type.
+The second and the third arguments specify rows and columns sizes.
+
+-----------
+Limitations
+-----------
+
+This transformer could not be applied on virtual functions.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  int sum_and_fill( int m[2][3], int value ){
+      int result = 0;
+      for( int r = 0; r < 2; ++r ){
+          for( int c = 0; c < 3; ++c ){
+              result += m[r][c];
+              m[r][c] *= value;
+          }
+      }
+      return result;
+  }
+
+In order to expose ``sum_and_fill`` function we need to create a small wrapper.
+The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     sum_and_fill = mb.free_fun( 'sum_and_fill' )
+     sum_and_fill.add_transformation( ft.inout_static_matrix('m', rows=2, columns=3) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     static boost::python::tuple sum_and_fill_ec4892ec81f672fe151a0a2caa3215f4( boost::python::object m, int value ){
+         int native_m[2][3];
+         boost::python::list py_m;
+         pyplus_conv::ensure_uniform_sequence< boost::python::list >( m, 2 );
+         for( size_t row = 0; row < 2; ++row ){
+             pyplus_conv::ensure_uniform_sequence< int >( m[row], 3 );
+             pyplus_conv::copy_sequence( m[row], pyplus_conv::array_inserter( native_m[row], 3 ) );
+         }
+         int result = ::ft::sum_and_fill(native_m, value);
+         for (int row2 = 0; row2 < 2; ++row2 ){
+             boost::python::list pyrow;
+             pyplus_conv::copy_container( native_m[row2]
+                                          , native_m[row2] + 3
+                                          , pyplus_conv::list_inserter( pyrow ) );
+             py_m.append( pyrow );
+         }
+         return bp::make_tuple( result, py_m );
+     }
+
+     BOOST_PYTHON_MODULE(ft_inout_static_matrix){
+         { //::ft::sum_and_fill
+
+             typedef boost::python::tuple ( *sum_and_fill_function_type )( boost::python::object,int );
+
+             bp::def(
+                 "sum_and_fill"
+                 , sum_and_fill_function_type( &sum_and_fill_ec4892ec81f672fe151a0a2caa3215f4 )
+                 , ( bp::arg("m"), bp::arg("value") ) );
+
+         }
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/input.rst b/docs/functions/transformation/input.rst
new file mode 100644
index 0000000..a80224a
--- /dev/null
+++ b/docs/functions/transformation/input.rst
@@ -0,0 +1,58 @@
+======================
+``input`` transformer
+======================
+
+----------
+Definition
+----------
+
+"input" transformer removes a "reference" type from the function argument.
+
+"input" transformer takes as argument name or index of the original function
+argument. The argument should have "reference" type. Support for "pointer" type
+will be added pretty soon.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  #include <string>
+
+  inline void hello_world( std::string& hw ){
+      hw = "hello world!";
+  }
+
+Lets say that you need to expose ``hello_world`` function. As you know
+``std::string`` is mapped to `Python`_ string, which is immutable type, so you
+have to create small wrapper for the function. The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     hw = mb.mem_fun( 'hello_world' )
+     hw.add_transformation( FT.input(0) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     namespace bp = boost::python;
+
+     static void hello_world_a3478182294a057b61508c30b1361318( ::std::string hw ){
+         ::hello_world(hw);
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+         bp::def( "hello_world", &hello_world_a3478182294a057b61508c30b1361318 );
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/input_c_buffer.rst b/docs/functions/transformation/input_c_buffer.rst
new file mode 100644
index 0000000..b698f85
--- /dev/null
+++ b/docs/functions/transformation/input_c_buffer.rst
@@ -0,0 +1,72 @@
+==================================
+``input_c_buffer`` transformer
+==================================
+
+----------
+Definition
+----------
+
+"input_c_buffer" transformer works on C buffers. It handles the translation
+between a `Python`_ sequence object and the buffer.
+
+"input_c_buffer" transformer takes as first argument name or index of the
+"buffer" argument. The argument should have "array" or "pointer" type.
+The second argument should be name or index of another original function argument,
+which represents array size.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  struct file_t{
+      void write( char* buffer, int size ) const;
+  };
+
+In order to expose ``write`` member function we need to create small wrapper.
+The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     f = mb.class_( 'file_t' )
+     f.mem_fun( 'write' ).add_transformation( FT.input_c_buffer( 'buffer', 'size' ) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     #include "__convenience.pypp.hpp" //Py++ header file, which contains few convenience function
+
+     #include <vector>
+
+     #include <iterator>
+
+     namespace bp = boost::python;
+
+     static void write_8883fea8925bad9911e6c5a4015ed106( ::file_t const & inst, boost::python::object buffer ){
+        int size2 = boost::python::len(buffer);
+        std::vector< char > native_buffer;
+        native_buffer.reserve( size2 );
+        pyplus_conv::ensure_uniform_sequence< char >( buffer );
+        pyplus_conv::copy_sequence( buffer, std::back_inserter( native_buffer), boost::type< char >() );
+        inst.write(&native_buffer[0], size2);
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+         bp::class_< file_t >( "file_t" )
+            .def(
+                  "write"
+                , (void (*)( ::file_t const &,boost::python::object ))( &write_8883fea8925bad9911e6c5a4015ed106 )
+                , ( bp::arg("inst"), bp::arg("buffer") ) );
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/input_static_array.rst b/docs/functions/transformation/input_static_array.rst
new file mode 100644
index 0000000..6bb611e
--- /dev/null
+++ b/docs/functions/transformation/input_static_array.rst
@@ -0,0 +1,75 @@
+==================================
+``input_static_array`` transformer
+==================================
+
+----------
+Definition
+----------
+
+"input_static_array" transformer works on native static arrays. It handles the
+translation between `Python`_ object, passed as argument that represent a sequence,
+and the array. Size of array should be predefined.
+
+"input_static_array" transformer takes as first argument name or index of the
+original function argument. The argument should have "array" or "pointer" type.
+The second argument should be an integer value, which represents array size.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+   struct vector3{
+
+       void init( int values[3] ){
+           x = values[0];
+           y = values[1];
+           z = values[2];
+       }
+
+       int x,y,z;
+   };
+
+In order to expose ``init`` member function we need to create small wrapper:
+The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     v3 = mb.class_( 'vector3' )
+     v3.mem_fun( 'init' ).add_transformation( FT.input_static_array( 0, 3 ) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     #include "__convenience.pypp.hpp" //Py++ header file, which contains few convenience function
+
+     namespace bp = boost::python;
+
+     static void init_418e52f4a347efa6b7e123b96f32a73c( ::ft::vector3 & inst, boost::python::object values ){
+         int native_values[3];
+         pyplus_conv::ensure_uniform_sequence< int >( values, 3 );
+         pyplus_conv::copy_sequence( values, pyplus_conv::array_inserter( native_values, 3 ) );
+         inst.init(native_values);
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+         bp::class_< ft::vector3 >( "vector3", "documentation" )
+        .def( "init"
+              , &init_418e52f4a347efa6b7e123b96f32a73c
+              , ( bp::arg("inst"), bp::arg("values") ) )
+        .def_readwrite( "x", &ft::vector3::x )
+        .def_readwrite( "y", &ft::vector3::y )
+        .def_readwrite( "z", &ft::vector3::z );
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/input_static_matrix.rst b/docs/functions/transformation/input_static_matrix.rst
new file mode 100644
index 0000000..6677393
--- /dev/null
+++ b/docs/functions/transformation/input_static_matrix.rst
@@ -0,0 +1,90 @@
+===================================
+``input_static_matrix`` transformer
+===================================
+
+----------
+Definition
+----------
+
+"input_static_matrix" transformer works on native static 2D arrays. It
+handles the translation between `Python`_ object, passed as argument
+that represent a sequence of sequences, and the matrix. The number of rows
+and columns should be known in advance.
+
+"input_static_matrix" transformer takes as first argument name or index of the
+original function argument. The argument should have "array" or "pointer" type.
+The second and the third arguments specify rows and columns size.
+
+-----------
+Limitations
+-----------
+
+This transformer could not be applied on virtual functions.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+   template< int rows, int columns >
+   int sum_impl( const int m[rows][columns] ){
+       int result = 0;
+       for( int r = 0; r < rows; ++r ){
+           for( int c = 0; c < columns; ++c ){
+               result += m[r][c];
+           }
+       }
+       return result;
+   }
+
+   int sum( int m[2][3]){
+       return sum_impl<2, 3>( m );
+   }
+
+
+In order to expose ``sum`` function we need to create a small wrapper:
+The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     sum = mb.free_fun( 'sum' )
+     sum.add_transformation( FT.input_static_matrix('m', rows=2, columns=3) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     #include "__convenience.pypp.hpp" //Py++ header file, which contains few convenience function
+
+     namespace bp = boost::python;
+
+     static boost::python::object sum_d4475c1b6a0ff117f0754ec5ecacdda3( boost::python::object m ){
+         int native_m[2][3];
+         pyplus_conv::ensure_uniform_sequence< boost::python::list >( m, 2 );
+         for( size_t row = 0; row < 2; ++row ){
+             pyplus_conv::ensure_uniform_sequence< int >( m[row], 3 );
+             pyplus_conv::copy_sequence( m[row], pyplus_conv::array_inserter( native_m[row], 3 ) );
+         }
+         int result = ::ft::sum(native_m);
+         return bp::object( result );
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+        typedef boost::python::object ( *sum_function_type )( boost::python::object );
+
+        bp::def(
+            "sum"
+            , sum_function_type( &sum_d4475c1b6a0ff117f0754ec5ecacdda3 )
+            , ( bp::arg("m") ) );
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/modify_type.rst b/docs/functions/transformation/modify_type.rst
new file mode 100644
index 0000000..204335b
--- /dev/null
+++ b/docs/functions/transformation/modify_type.rst
@@ -0,0 +1,69 @@
+===========================
+``modify_type`` transformer
+===========================
+
+----------
+Definition
+----------
+
+"modify_type" transformer changes type of the function argument.
+
+"modify_type" transformer takes two arguments:
+
+1. name or index of the original function argument
+
+2. a callable, which takes as argument reference to type and returns new type
+
+New in version greater than 0.8.5.
+
+Pay attention!
+--------------
+
+If implicit conversion between new type and the old one does not exist
+"reinterpret_cast" will be used.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  #include <string>
+
+  inline void hello_world( std::string& hw ){
+      hw = "hello world!";
+  }
+
+Lets say that you need to expose ``hello_world`` function. As you know
+``std::string`` is mapped to `Python`_ string, which is immutable type, so you
+have to create small wrapper for the function. The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pygccxml import declarations
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     hw = mb.mem_fun( 'hello_world' )
+     hw.add_transformation( FT.modify_type(0, declarations.remove_reference) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     namespace bp = boost::python;
+
+     static void hello_world_a3478182294a057b61508c30b1361318( ::std::string hw ){
+         ::hello_world(hw);
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+         bp::def( "hello_world", &hello_world_a3478182294a057b61508c30b1361318 );
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/name_mangling.rst b/docs/functions/transformation/name_mangling.rst
new file mode 100644
index 0000000..4f52972
--- /dev/null
+++ b/docs/functions/transformation/name_mangling.rst
@@ -0,0 +1,83 @@
+=============
+Name mangling
+=============
+
+----------
+Definition
+----------
+
+Wikipedia has a nice `explanation`_ what name mangling is.
+
+.. _`explanation` : http://en.wikipedia.org/wiki/Name_mangling
+
+----
+Why?
+----
+
+I am sure you want to ask why and where :doc:`Py++ <../../index>` uses name mangling? :doc:`Py++ <../../index>` uses
+name mangling to create function-wrappers for overloaded and\\or free functions.
+Consider the following use case:
+
+  .. code-block:: c++
+
+     void get_distance( long& );
+     void get_distance( double& );
+
+In order to expose ``get_distance`` functions you have to create 2 function
+wrappers:
+
+  .. code-block:: c++
+
+     long get_distance_as_long(){...}
+     double get_distance_as_double(){...}
+
+You have to give them distinguish names - C++ does not allow overloading, base
+on return type only. You also have to exposes them under different aliases,
+otherwise they will not be callable from `Python`_:
+
+  .. code-block:: c++
+
+     namespace bp = boost::python;
+     BOOST_PYTHON_MODULE(...){
+         bp::def( "get_distance_as_long", &get_distance_as_long );
+         bp::def( "get_distance_as_double", &get_distance_as_double );
+     }
+
+------------
+The solution
+------------
+
+:doc:`Py++ <../../index>` implements a solution to the problem. The generated wrapper names are
+unique in the whole project. However, they are pretty ugly:
+
+* ``get_distance_610ef0e8a293a62001a25cd3dc59b769`` for ``get_distance( long& )``
+  function
+
+* ``get_distance_702c7b971ac4e91b12f260ac85b36d84`` for ``get_distance( double& )``
+  function
+
+The good news - they will not be changed between different runs of the code
+generator.
+
+If you are exposing an overloaded function, in that case :doc:`Py++ <../../index>` uses the ugly
+function-wrapper name as an alias. It is up to you to change the alias:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     get_distance_as_long = mb.mem_fun( 'get_distance', arg_types=['long &'] )
+     get_distance_as_long.add_transformation( FT.output(0), alias="get_distance_as_long" )
+
+There are two main reasons for such implementation\\behaviour:
+
+1. The generated code will always compile and be correct.
+2. If you forgot to give an alias to a function, your users will still be able
+   to call the function. So no need to rush and create new release.
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/output.rst b/docs/functions/transformation/output.rst
new file mode 100644
index 0000000..aecb977
--- /dev/null
+++ b/docs/functions/transformation/output.rst
@@ -0,0 +1,63 @@
+======================
+``output`` transformer
+======================
+
+----------
+Definition
+----------
+
+"output" transformer removes an argument from the function definition and adds
+the "returned", by the original function, value to the return statement of the
+function-wrapper.
+
+"output" transformer takes as argument name or index of the original function
+argument. The argument should have "reference" type. Support for "pointer" type
+will be added pretty soon.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  #include <string>
+
+  inline void hello_world( std::string& hw ){
+      hw = "hello world!";
+  }
+
+Lets say that you need to expose ``hello_world`` function. As you know
+``std::string`` is mapped to `Python`_ string, which is immutable type, so you
+have to create small wrapper for the function. The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     hw = mb.mem_fun( 'hello_world' )
+     hw.add_transformation( FT.output(0) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     namespace bp = boost::python;
+
+     static boost::python::object hello_world_a3478182294a057b61508c30b1361318(  ){
+         std::string hw2;
+         ::hello_world(hw2);
+         return bp::object( hw2 );
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+         bp::def( "hello_world", &hello_world_a3478182294a057b61508c30b1361318 );
+      }
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/output_static_array.rst b/docs/functions/transformation/output_static_array.rst
new file mode 100644
index 0000000..577b8b2
--- /dev/null
+++ b/docs/functions/transformation/output_static_array.rst
@@ -0,0 +1,75 @@
+===================================
+``output_static_array`` transformer
+===================================
+
+----------
+Definition
+----------
+
+"output_static_array" transformer works on native static arrays. It handles the
+translation between array and `Python`_ list object. Size of array should be predefined.
+
+"output_static_array" transformer takes as first argument name or index of the
+original function argument. The argument should have "array" or "pointer" type.
+The second argument should an integer value, which represents array size.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+   struct vector3{
+
+       void get_values( int values[3] ){
+           values[0] = x;
+           values[1] = y;
+           values[2] = z;
+       }
+
+       int x,y,z;
+   };
+
+In order to expose ``get_values`` member function we need to create small wrapper.
+The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     v3 = mb.class_( 'vector3' )
+     v3.mem_fun( 'get_values' ).add_transformation( FT.output_static_array( 0, 3 ) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     #include "__convenience.pypp.hpp" //Py++ header file, which contains few convenience function
+
+     namespace bp = boost::python;
+
+     static boost::python::object get_values_22786c66e5973b70f714e7662e2aecd2( ::ft::vector3 & inst ){
+        int native_values[3];
+        boost::python::list py_values;
+        inst.get_values(native_values);
+        pyplus_conv::copy_container( native_values, native_values + 3, pyplus_conv::list_inserter( py_values ) );
+        return bp::object( py_values );
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+         bp::class_< ft::vector3 >( "vector3", "documentation" )
+            .def( "get_values"
+                  , &get_values_22786c66e5973b70f714e7662e2aecd2
+                  , ( bp::arg("inst") ) )
+            .def_readwrite( "x", &ft::vector3::x )
+            .def_readwrite( "y", &ft::vector3::y )
+            .def_readwrite( "z", &ft::vector3::z );
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/output_static_matrix.rst b/docs/functions/transformation/output_static_matrix.rst
new file mode 100644
index 0000000..d7d09c4
--- /dev/null
+++ b/docs/functions/transformation/output_static_matrix.rst
@@ -0,0 +1,85 @@
+=====================================
+``output_static_matrix`` transformer
+=====================================
+
+----------
+Definition
+----------
+
+"output_static_matrix" transformer works on native 2D static arrays.
+It handles the translation between a matrix and `Python`_ list object.
+The matrix row and column sizes should be known in advance.
+
+"output_static_matrix" transformer takes as first argument name or index of the
+original function argument. The argument should have "array" or "pointer"
+type. The second and the third arguments specify rows and columns size.
+
+-----------
+Limitations
+-----------
+
+This transformer could not be applied on virtual functions.
+
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+   void filler( int m[2][3], int value ){
+       for( int r = 0; r < 2; ++r ){
+           for( int c = 0; c < 3; ++c ){
+               m[r][c] = value;
+           }
+       }
+   }
+
+In order to expose ``filler`` function we need to create a small wrapper.
+The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+     filler = mb.free_fun( 'filler' )
+     filler.add_transformation( ft.output_static_matrix('m', rows=2, columns=3) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     #include "__convenience.pypp.hpp" //Py++ header file, which contains few convenience function
+
+     namespace bp = boost::python;
+
+     static boost::python::object filler_7b0a7cb8f4000f0474aa44d21c2e4917( int value ){
+         int native_m[2][3];
+         boost::python::list py_m;
+         ::ft::filler(native_m, value);
+         for (int row = 0; row < 2; ++row ){
+             boost::python::list pyrow;
+             pyplus_conv::copy_container( native_m[row]
+                                          , native_m[row] + 3
+                                          , pyplus_conv::list_inserter( pyrow ) );
+             py_m.append( pyrow );
+         }
+         return bp::object( py_m );
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+        typedef boost::python::object ( *filler_function_type )( int );
+
+        bp::def(
+            "filler"
+            , filler_function_type( &filler_7b0a7cb8f4000f0474aa44d21c2e4917 )
+            , ( bp::arg("value") ) );
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/terminology.rst b/docs/functions/transformation/terminology.rst
new file mode 100644
index 0000000..a49ae0c
--- /dev/null
+++ b/docs/functions/transformation/terminology.rst
@@ -0,0 +1,35 @@
+===========
+Terminology
+===========
+
+**Function transformation**
+
+  :doc:`Py++ <../../index>` sub-system\\framework, which allows you to create function wrappers
+  and to keep smile.
+
+  The operation of changing one function into another in accordance with some
+  rules. Especially: a change of return type and\\or arguments and their mapping
+  to the original ones.
+
+**Function wrapper** ( or just wrapper )
+
+  C++ function, which calls some other function.
+
+**Immutable type**
+
+  An instance of this type could not be modified after construction
+
+**Transformer**
+
+  An object that applies predefined set of rules on a function, during
+  function-wrapper construction process.
+
+**Function alias** ( or just alias )
+
+  Name under which `Python`_ users see the exposed function
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/transfer_ownership.rst b/docs/functions/transformation/transfer_ownership.rst
new file mode 100644
index 0000000..2e2c432
--- /dev/null
+++ b/docs/functions/transformation/transfer_ownership.rst
@@ -0,0 +1,68 @@
+==================================
+``transfer_ownership`` transformer
+==================================
+
+----------
+Definition
+----------
+
+"transfer_ownership" transformer changes type of the function argument, from
+``T*`` to ``std::auto_ptr<T>``. This transformer was born to provide the answer
+to `How can I wrap a function which needs to take ownership of a raw pointer?`_
+FAQ.
+
+.. _`How can I wrap a function which needs to take ownership of a raw pointer?` : http://boost.org/libs/python/doc/v2/faq.html#ownership
+
+"transfer_ownership" transformer takes one argument, name or index of the
+original function argument. The argument type should be "pointer".
+
+New in version greater than 0.8.5.
+
+-------
+Example
+-------
+
+.. code-block:: c++
+
+  struct resource_t{...};
+
+  void do_smth(resource_t* r){
+      ...
+  }
+
+Lets say that you need to expose "do_smth" function. According to the FAQ, you
+have to create small wrapper, which will take ``std::auto_ptr`` as an argument.
+The following :doc:`Py++ <../../index>` code does it for you:
+
+  .. code-block:: python
+
+     from pygccxml import declarations
+     from pyplusplus import module_builder
+     from pyplusplus import function_transformers as FT
+
+     mb = module_builder.module_builder_t( ... )
+
+     resource = mb.class_( 'resource_t' )
+     resource.held_type = 'std::auto_ptr< %s >' % resource.decl_string
+     do_smth = mb.free_fun( 'do_smth' )
+     do_smth.add_transformation( FT.transfer_ownership( 0 ) )
+
+What you see below is the relevant pieces of generated code:
+
+  .. code-block:: c++
+
+     namespace bp = boost::python;
+
+     static void do_smth_4cf7cde5fca92efcdb8519f8c1a4bccd( std::auto_ptr< ::resource_t > r ){
+      ::do_smth(r.release());
+     }
+
+     BOOST_PYTHON_MODULE(...){
+         ...
+         bp::def( "do_smth", &do_smth_4cf7cde5fca92efcdb8519f8c1a4bccd, ( bp::arg("r") ) );
+     }
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/functions/transformation/transformation.rst b/docs/functions/transformation/transformation.rst
new file mode 100644
index 0000000..64e990b
--- /dev/null
+++ b/docs/functions/transformation/transformation.rst
@@ -0,0 +1,125 @@
+=======================
+Function transformation
+=======================
+
+------------
+Introduction
+------------
+
+During the development of `Python`_ bindings for some C++ library, it might get
+necessary to write custom wrapper code for a particular function in order to
+make that function usable from `Python`_.
+
+An often mentioned example that demonstrates the problem is the ``get_size()``
+member function of a fictitious image class:
+
+.. code-block:: c++
+
+  void get_size(int& width, int& height);
+
+This member function cannot be exposed with standard `Boost.Python`_ mechanisms.
+The main reasons for this is that ``int`` is immutable type in `Python`_.
+An instance of immutable type could not be changed after construction. The only
+way to expose this function to `Python`_ is to create small wrapper, which will
+return a tuple. In `Python`_, the above function would instead be invoked like this:
+
+.. code-block:: python
+
+  width, height = img.get_size()
+
+and the wrapper could look like this:
+
+.. code-block:: c++
+
+  boost::python::tuple get_size( const image_t& img ){
+      int width;
+      int height;
+      img.get_size( width, height );
+      return boost::python::make_tuple( width, height );
+  }
+
+As you can see this function is simply invokes the original ``get_size()`` member
+function and return the output values as a tuple.
+
+Unfortunately, C++ source code cannot describe the semantics of an argument so
+there is no way for a code generator tool such as :doc:`Py++ <../../index>` to know whether an
+argument that has a reference type is actually an output argument, an input
+argument or an input/output argument. That's why the user will always have to
+"enhance" the C++ code and tell the code generator tool about the missing
+information.
+
+Note: C++ fundamental types, enumerations and string are all mapped to `Python`_
+immutable types.
+
+Instead of forcing you to write the entire wrapper function, :doc:`Py++ <../../index>` allows you
+to provide the semantics of an argument(s) and then it will take care of
+producing the correct code:
+
+.. code-block:: python
+
+   from pyplusplus import module_builder
+   from pyplusplus import function_transformers as FT
+
+   mb = module_builder.module_builder_t( ... )
+   get_size = mb.mem_fun( 'image_t::get_size' )
+   get_size.add_transformation( FT.output(0), FT.output(1) )
+   #the following line has same effect
+   get_size.add_transformation( FT.output('width'), FT.output('height') )
+
+:doc:`Py++ <../../index>` will generate a code, very similar to one found in
+``boost::python::tuple get_size( const image_t& img )`` function.
+
+---------
+Thanks to
+---------
+
+A thanks goes to Matthias Baas for his efforts and hard work. He did a research,
+implemented the initial working version and wrote a lot of documentation.
+
+---------------------
+Transformers contents
+---------------------
+
+:doc:`Py++ <../../index>` comes with few predefined transformers:
+
+.. toctree::
+
+   terminology.rst
+   Generated functions name <name_mangling.rst>
+   output.rst
+   input.rst
+   inout.rst
+   modify_type.rst
+   input_static_array.rst
+   output_static_array.rst
+   inout_static_array.rst
+   transfer_ownership.rst
+   input_c_buffer.rst
+   from_address.rst
+   input_static_matrix.rst
+   output_static_matrix.rst
+   inout_static_matrix.rst
+
+
+
+The set doesn't cover all common use cases, but it will grow with every new
+version of :doc:`Py++ <../../index>`. If you created your own transformer consider to contribute
+it to the project.
+
+I suggest you to start reading :doc:`output <output>` transformer. It is pretty simple and
+well explained.
+
+All built-in transformers could be applied on any function, except constructors
+and pure virtual functions. The support for them be added in future releases.
+
+You don't have to worry about call policies. You can set the call policy and
+:doc:`Py++ <../../index>` will generate the correct code.
+
+You don't have to worry about the number of arguments, transformers or return
+value. :doc:`Py++ <../../index>` handles pretty well such use cases.
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/history.rst b/docs/history.rst
new file mode 100644
index 0000000..cc97276
--- /dev/null
+++ b/docs/history.rst
@@ -0,0 +1,594 @@
+===================
+Development history
+===================
+
+------------
+Contributors
+------------
+
+Thanks to all the people that have contributed patches, bug reports and suggestions:
+
+* My wife - Yulia
+* John Pallister
+* Matthias Baas
+* Allen Bierbaum
+* Lakin Wecker
+* Georgiy Dernovoy
+* Gottfried Ganssauge
+* Andy Miller
+* Martin Preisler
+* Meghana Haridev
+* Julian Scheid
+* Oliver Schweitzer
+* Hernán Ordiales
+* Bernd Fritzke
+* Andrei Vermel
+* Carsten( spom.spom )
+* Pertti Kellomäki
+* Benoît Leveau
+* Nikolaus Rath
+* Alan Birtles
+* Minh-Tri Pham
+* Aron Xu
+* Mark Moll
+
+-----------
+SVN Version
+-----------
+
+1. The bug related to exposing free operators was fixed. Many thanks to Andrei Vermel.
+
+2. Few bugs were fixed for 64Bit platform. Many thanks to Carsten.
+
+3. :mod:`ctypes` backend was introduced - :doc:`Py++ <index>` is able to
+   generate Python code, which uses :mod:`ctypes` package to call functions in
+   DLLs or shared libraries.
+
+   Massive refactoring, which preserve backward compatibility to previous releases,
+   was done.
+
+4. From now on, :doc:`Py++ <index>` will use `Sphinx <http://sphinx.pocoo.org/>`_
+   for all documentation.
+
+5. :doc:`Indexing Suite V2 <indexing_suite_v2.html>` introduces
+   few backward compatibility changes. The indexing suite became "headers only"
+   library and doesn't requier Boost.Python library patching.
+   See ":doc:`containers`" document for more information.
+
+6. Support for `std::hash_map<...>` and `std::hash_set<...>` containers was added.
+
+7. The bug related to transformed virtual function was fixed. Many thanks to Pertti Kellomäki.
+
+8. Thanks to Benoît Leveau, the "Function Transformation" documentation
+   is much better now.
+
+9. The following transformers were added:
+
+   * ``inout_static_array``
+   * ``input_static_matrix``
+   * ``output_static_matrix``
+   * ``inout_static_matrix``
+
+   Many thanks to Benoît Leveau.
+
+10. Numerous bugs in "ctypes code generator" were fixed. Many thanks to Nikolaus Rath.
+
+11. Thanks to Alan Birtles, for fixing a small issue on cygwin.
+
+12. Thanks to Minh-Tri Pham, for reporting bug and providing patch for
+    "from_address" transformer, on 64 bit platforms.
+
+13. Thanks to Aron Xu, for pointing out that it is better to use "os.name",
+    instead of "sys.platform" for platform specific logic
+
+14. Thanks to Scott Sturdivant, for reporting the bug, related to bit fields code generation.
+    The bug was fixed.
+
+-----------
+Version 1.0
+-----------
+
+1. The algorithm, which calculates what member functions should be redefined in
+   derived class wrappers, was improved. Many thanks to Julian Scheid for the bug
+   fix.
+
+   The change explanation.
+
+   .. code-block:: c++
+
+      struct A{
+          virtual void foo() {}
+      };
+
+      class B: public A{
+      };
+
+   Previous version of :doc:`Py++ <index>` didn't generate wrapper for class ``B``, even
+   though ``B`` inherits ``A``'s virtual function. Now if you have the following
+   Python code:
+
+   .. code-block:: python
+
+      class C(B):
+        def __init__( self ):
+            B.__init__(self)
+        def foo(self):
+            print "C.foo"
+
+   then when ``foo`` is invoked on this instance on the C++ side of things, the
+   Python code won't be executed as the wrapper was missing.
+
+   **Warning!** **There is a possibility that your generated code will not work!**
+   **Keep reading.**
+
+   If you use "function transformation" functionality, than it is possible the
+   generated code will **NOT** work. Consider the following example:
+
+   .. code-block:: c++
+
+      struct A{
+          virtual void foo(int& i) {/*do smth*/}
+      };
+
+      class B: public A{
+          virtual void foo(int& i) {/*do smth else*/}
+      };
+
+   The :doc:`Py++ <index>` code:
+
+   .. code-block:: python
+
+      from pyplusplus import module_builder
+      from pyplusplus import function_transformers as FT
+
+      mb = module_builder_t( ... )
+      foo = mb.mem_funs( 'foo' )
+      foo.add_transformation( FT.output(0) )
+
+   The generated code, for class ``B``, is:
+
+   .. code-block:: c++
+
+      namespace bp = boost::python;
+
+      struct B_wrapper : B, bp::wrapper< B > {
+          virtual void foo( int & i ) const  { ... }
+
+          static boost::python::tuple default_foo( ::B const & inst )
+          { ... }
+
+          virtual void foo( int & i ) const
+          { ... }
+
+          static boost::python::object default_foo( ::A const & inst )
+          { ... }
+      };
+      ...
+      bp::class_< B_wrapper, bp::bases< A > >( "B" )
+          .def( "foo", (boost::python::tuple (*)( ::B const & ))( &B_wrapper::default_foo ) )
+          .def( "foo", (boost::python::object (*)( ::A const & ))( &B_wrapper::default_foo ) );
+
+   As you can see, after applying the transformation both functions have same
+   signature. Do you know what function will be called in some situation? I do -
+   the wrong one :-(.
+
+   Unfortunately, there is no easy work around or some trick that you can use,
+   which will not break the existing code. I see few solutions to the problem:
+
+   * change the alias of the functions
+
+     .. code-block:: python
+
+       from pyplusplus import module_builder
+       from pyplusplus import function_transformers as FT
+
+       mb = module_builder_t( ... )
+       foo = mb.mem_funs( '::A::foo' ).add_transformation( FT.output(0), alias="foo_a" )
+       foo = mb.mem_funs( '::B::foo' ).add_transformation( FT.output(0), alias="foo_b" )
+
+   * use ``inout`` transformation - it preserves a function signature
+
+   * :doc:`Py++ <index>` can introduce a configuration, that will preserve the previous behaviour.
+     I think this is a wrong way to go and doing the API changes is the 'right'
+     longer term solution.
+
+     If you **absolutely need** to preserve API backward compatible, contact me
+     and I will introduce such configuration option.
+
+   Sorry for inconvenience.
+
+2. Few bugs, related to Indexing Suite 2, were fixed. Many thanks to Oliver Schweitzer
+   for reporting them.
+
+3. New and highly experimental feature was introduced -
+   :doc:`Boost.Python and ctypes integration <ctypes/ctypes_integration>`.
+
+4. Support for :doc:`boost::python::make_constructor <functions/make_constructor>` functionality was added.
+
+5. Support for unions and unnamed classes was added.
+
+6. Doxygen documentation extractor was improved. Many thanks to Hernán Ordiales.
+
+7. Py++ documentation was improved. Many thanks to Bernd Fritzke.
+
+-------------
+Version 0.9.5
+-------------
+
+1. Bug fixes:
+
+   * Py++ will not expose free operators, if at least one of the classes, it works
+     on, is not exposed.
+     Many thanks to Meghana Haridev for reporting the bug.
+
+2. Added ability to completely disable warnings reporting.
+
+3. All logging is now done to ``stderr`` instead of ``stdout``.
+
+4. Generated code improvements:
+
+   * ``default_call_policies`` is not generated
+
+   * ``return_internal_reference`` call policies - default arguments are not
+     generated
+
+   * STD containers are generated without default arguments. For example instead
+     of ``std::vector< int, std::allocator< int > >``, in many cases :doc:`Py++ <index>` will
+     generate ``std::vector< int >``.
+
+5. :doc:`create_with_signature <functions/overloading>` algorithm was improved.
+   :doc:`Py++ <index>` will generate correct code in one more use case.
+
+6. Added ability to exclude declarations from being exposed, if they will cause
+   compilation to fail.
+
+7. Starting from this version, :doc:`Py++ <index>` provides a complete solution for
+   :doc:`multi-module development <multi_module_development>`.
+
+8. Classes, which expose C arrays will be registered only once.
+
+9. Starting from this version, :doc:`Py++ <index>` supports a code generation with different
+   encodings.
+
+10. There is a new strategy to split code into files. It is IDE friendly. Be sure
+    to read :doc:`the updated documentation <split_module>`.
+
+-------------
+Version 0.9.0
+-------------
+
+1. Bug fixes:
+
+   * Declaration of virtual functions that have an exception specification with
+     an empty throw was fixed. Now the exception specification is generated properly.
+     Many thanks to Martin Preisler for reporting the bug.
+
+2. Added exposing of copy constructor, ``operator=`` and ``operator<<``.
+
+   * ``operator=`` is exposed under "assign" name
+
+   * ``operator<<`` is exposed under "__str__" name
+
+3. Added new call policies:
+
+   * :doc:`as_tuple <functions/call_policies/as_tuple>`
+
+   * :doc:`custom_call_policies <functions/call_policies/return_range>`
+
+   * :doc:`return_range <functions/call_policies/return_range>`
+
+4. Added an initial support for multi-module development. Now you can mark your
+   declarations as ``already_exposed`` and :doc:`Py++ <index>` will do the rest. For more
+   information read :doc:`multi-module development guide <multi_module_development>`.
+
+.. line-separator
+
+5. :doc:`input_c_buffer <functions/transformation/input_c_buffer>` - new functions
+   transformation, which allows to pass a Python sequence to function, instead of pair of arguments: pointer to buffer and size.
+
+6. Added ability to control generated "include" directives. Now you can ask :doc:`Py++ <index>`
+   to include a header file, when it generates code for some declaration. For more
+   information refers to `inserting code guide`_.
+
+.. _`inserting code guide` : inserting_code.html#header-files
+
+7. Code generation improvements: system header files ( Boost.Python or Py++ defined )
+   will be included from the generated files only in case the generated code
+   depends on them.
+
+8. Performance improvements: Py++ runs 1.5 - 2 times faster, than the previous one.
+
+9. Added ability to add code before overridden and default function calls.
+   For more information refer to `member function API documentation`_.
+
+.. _`member function API documentation` : apidocs/pyplusplus.decl_wrappers.calldef_wrapper.member_function_t-class.html
+
+10. :doc:`Py++ <index>` will generate documentation for automatically constructed properties.
+    For more information refer to :doc:`properties guide <properties>`.
+
+11. Added iteration functionality to Boost.Python Indexing Suite V2 ``std::map``
+    and ``std::multimap`` containers.
+
+-------------
+Version 0.8.5
+-------------
+
+1. Added :doc:`Function Transformation <functions/transformation/transformation>` feature.
+
+2. "Py++" introduces new functionality, which allows you to control messages and
+   warnings: :doc:`how to disable warnings? <warnings>`.
+
+3. Added new algorithm, which controls the registration order of the functions.
+   See :doc:`registration order document <functions/registration_order>`
+
+4. New "Py++" defined :doc:`return_pointee_value <functions/call_policies/return_pointee_value>`
+   call policy was introduced.
+
+5. Support for opaque types was added. Read more about this feature `here`__.
+
+.. __ : functions/call_policies/call_policies.html#special-case
+
+6. It is possible to configure "Py++" to generate faster ( compilation time )
+   code for indexing suite version 2. See API documentation.
+
+7. The algorithm, which finds all class properties was improved. It provides
+   user with a better way to control properties creation. A property that would
+   hide another exposed declaration will not be registered\\created.
+
+8. Work around for "custom smart pointer as member variable" Boost.Python bug
+   was introduced.
+
+9. Bugs fixes and documentation improvement.
+
+
+-------------
+Version 0.8.2
+-------------
+
+1. Interface changes:
+
+   * ``module_builder.module_builder_t.build_code_creator`` method:
+     argument ``create_casting_constructor`` was removed and deprecation warning
+     was introduced.
+
+2. Performance improvements. In some cases you can get x10 performance boost.
+   Many thanks to Allen Bierbaum! Saving and reusing results of different
+   `pygccxml <http://pygccxml.readthedocs.org>`_ algorithms and type traits functions achieved this.
+
+3. Convenience API for registering exception translator was introduced.
+
+4. :doc:`Py++ <index>` can generate code that uses ``BOOST_PYTHON_FUNCTION_OVERLOADS`` and
+   ``BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS`` macros.
+
+5. Treatment to previously generated and no more in-use files was added. By
+   default :doc:`Py++ <index>` will delete these files, but of course you can redefine this
+   behaviour.
+
+6. Generated code changes:
+
+   * ``default_call_policies`` should not be generated any more.
+
+   * For functions that have ``return_value_policy< return_opaque_pointer >``
+     call policy, :doc:`Py++ <index>` will automatically generate ``BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID``
+     macro. Thank you very much for Gottfried Ganssauge for this idea.
+
+7. Support for Boost.Python properties was introduced. :doc:`Py++ <index>` implements small
+   algorithm, that will automatically discover properties, base on naming conventions.
+
+8. ``decl_wrappers.class_t`` has new function: ``is_wrapper_needed``. This
+   function explains why :doc:`Py++ <index>` creates class wrapper for exposed class.
+
+9. Python type traits module was introduce. Today it contains only single function:
+
+   * ``is_immutable`` - returns ``True`` if exposed type is Python immutable type
+
+
+
+-------------
+Version 0.8.1
+-------------
+
+
+1. Georgiy Dernovoy contributed a patch, which allows :doc:`Py++ <index>` GUI to
+   save\\load last used header file.
+
+
+2. :doc:`Py++ <index>` improved a lot functionality related to providing feedback to user:
+
+   * every package has its own logger
+   * only important user messages are written to ``stdout``
+   * user messages are clear
+
+3. Support for Boost.Python indexing suite version 2 was implemented.
+
+4. Every code creator class took ``parent`` argument in ``__init__`` method.
+   This argument was removed. ``adopt_creator`` and ``remove_creator`` will
+   set\unset reference to parent.
+
+5. Generated code for member and free functions was changed. This changed was
+   introduced to fix compilation errors on msvc 7.1 compiler.
+
+6. :doc:`Py++ <index>` generates "stable" code. If header files were not changed,
+   :doc:`Py++ <index>` will not change any file.
+
+7. Support for huge classes was added. :doc:`Py++ <index>` is able to split registration
+   code for the class to multiple cpp files.
+
+8. User code could be added almost anywhere, without use of low level API.
+
+9. Generated source files include only header files you passes as an argument
+   to module builder.
+
+10. Bug fixes.
+
+11. Documentation was improved.
+
+
+Project name changed
+--------------------
+
+In this version the project has been renamed from "pyplusplus" to "Py++".
+There were few reasons to this:
+
+1. I like "Py++" more then "pyplusplus".
+
+2. "Py++" was the original name of the project: http://mail.python.org/pipermail/c++-sig/2005-July/009280.html
+
+3. Users always changed the name of the projects. I saw at least 6 different names.
+
+
+
+-------------
+Version 0.8.0
+-------------
+
+1. :doc:`Py++ <index>` "user guide" functionality has been improved. Now :doc:`Py++ <index>`
+   can answer few questions:
+
+   * why this declaration could not be exported
+
+   * why this function could not be overridden from Python
+
+2. :doc:`Py++ <index>` can suggest an alias for exported classes.
+
+3. Small redesign has been done - now it is much easier to understand and
+   maintain code creators, which creates code for C++ functions.
+
+4. Exception specification is taken into account, when :doc:`Py++ <index>` exports
+   member functions.
+
+5. Member variables, that are pointers exported correctly.
+
+6. Added experimental support for ``vector_indexing_suite``.
+
+7. Bug fixes.
+
+-------------
+Version 0.7.0
+-------------
+
+Many thanks to *Matthias Baas* and *Allen Bierbaum*! They contributed so much to
+Py++, especially Matthias:
+
+    * New high-level API: :doc:`Py++ <index>` has simple and powerful API
+
+    * Documentation: Matthias and Allen added a lot of documentation strings
+
+    * Bug fixes and performance improvements
+
+1. New GUI features:
+
+    * It is possible now to see XML generated by GCC-XML.
+
+    * It is possible to use GUI as wizard. It will help you to start  with
+      :doc:`Py++ <index>`, by generating :doc:`Py++ <index>` code.
+
+2. **Attention - non backward compatible change**.
+
+   ``module_creator.creator_t.__init__`` method has been changed. ``decls``
+   argument could be interpreted as
+
+   * list of all declaration to be exported
+
+   * list of top-level declarations. ``creator_t`` should export all
+     declarations recursively.
+
+   In order to clarify the use of ``decls`` argument new argument ``recursive``
+   has been added. By default new value of ``recursive`` is ``False``.
+
+   Guide for users/upgraders: if use are exporting all declaration without
+   filtering, you should set ``recursive`` argument to ``True``. If you use
+   ``pygccxml.declarations.filtering.*`` functions, you have nothing to do.
+
+   Sorry for the inconvenience :-(.
+
+3. Better split of extension module to files. From now the following declarations will
+   have dedicated file:
+
+   * named enumerations, defined within namespace
+   * unnamed enumerations and global variables
+   * free functions
+
+   This functionality will keep the number of instantiated templates within
+   one file, ``main.cpp``, to be very low. Also it is possible to implement
+   solution, where ``main.cpp`` file does not contain templates instantiations
+   at all.
+
+4. Only constant casting operators could be used with ``implicitly_convertible``.
+   This bug has been fixed.
+
+5. Bug exporting non copyable class has been fixed.
+
+6. Small bug fix - from now file with identical content will not be overwritten.
+
+7. Boost.Python ``optional`` is now supported and used when a constructor has a
+   a default argument.
+
+8. :doc:`Py++ <index>` now generates correct code for hierarchy of abstract classes:
+
+   .. code-block:: c++
+
+     struct abstract1{
+         virtual void do_smth() = 0;
+     }
+
+     struct abstract2 : public abstract1{
+         virtual void do_smth_else() = 0;
+     }
+
+     struct concrete : public abstract2{
+         virtual void do_smth(){};
+         virtual void do_smth_else(){};
+     }
+
+9. Logging functionality has been added
+
+10. New packages ``module_builder``, ``decl_wrappers`` and ``_logging_`` has
+    been added.
+
+11. ...
+
+http://boost.org/libs/python/doc/v2/init.html#optional-spec
+
+-------------
+Version 0.6.0
+-------------
+
+1. Code repository has been introduced. This repository contains classes
+   and functions that will help users to export different C++ classes and
+   declarations. Right now this repository contains two classes:
+
+   * *array_1_t*
+
+   * *const_array_1_t*
+
+   Those classes helps to export static, single dimension arrays.
+
+2. Code generation has been improved.
+
+3. Code generation speed has been improved.
+
+4. If you have Niall Douglas *void\** patch, then you can enjoy from
+   automatically set call policies.
+
+5. Bit fields can be accessed from Python
+
+6. Creating custom code creator example has been added.
+
+7. Comparison to Pyste has been wrote.
+
+8. Using this version it is possible to export most of TnFOX Python bindings.
+
+-------------
+Version 0.5.1
+-------------
+
+1. operator() is now supported.
+
+2. Special casting operators are renamed( *__int__*, *__str__*, ... ).
+
+3. Few bug fixes
+
+
+.. _`SourceForge`: http://sourceforge.net/index.php
+
diff --git a/docs/how_to/absolute_relative_paths.rst b/docs/how_to/absolute_relative_paths.rst
new file mode 100644
index 0000000..d95f1e7
--- /dev/null
+++ b/docs/how_to/absolute_relative_paths.rst
@@ -0,0 +1,39 @@
+=========================
+Absolute\\relative paths
+=========================
+
+**Absolute\\relative paths**
+
+Consider the following layout:
+::
+
+  boost/
+    date_time/
+      ptime.hpp
+      time_duration.hpp
+      date_time.hpp
+
+``date_time.hpp`` is the main header file, which should be parsed.
+
+:doc:`Py++ <../index>` does not handle relative paths, as input, well. It tries, but there are uses
+cases it fails. In these cases it generates empty module - nothing is exposed:
+
+.. code-block:: python
+
+   mb = module_builder( [ 'date_time/date_time.hpp' ], ... )
+   mb.split_module( ... )
+
+I recommend you to use absolute paths instead of relative ones:
+
+.. code-block:: python
+
+   import os
+   mb = module_builder( [ os.path.abspath('date_time/date_time.hpp') ], ... )
+   mb.split_module( ... )
+
+and :doc:`Py++ <../index>` will expose all declarations found in the ``date_time.hpp`` file and
+other files from the same directory.
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/how_to/best_practices.rst b/docs/how_to/best_practices.rst
new file mode 100644
index 0000000..0ead0c5
--- /dev/null
+++ b/docs/how_to/best_practices.rst
@@ -0,0 +1,170 @@
+==============
+Best practices
+==============
+
+------------
+Introduction
+------------
+
+:doc:`Py++ <../index>` has reach interface and a lot of functionality. Sometimes reach
+interface helps, but sometimes it can confuse. This document will describe how
+effectively to use :doc:`Py++ <../index>`.
+
+------------
+Big projects
+------------
+
+Definition
+----------
+
+First of all, let me to define "big project". "Big project" is a project with
+few hundred of header files. :doc:`Py++ <../index>` was born to create `Python`_ bindings
+for such projects. If you take a look :doc:`here <../../quotes>` you will find few such projects.
+
+Tips
+----
+
+* Create one header file, which will include all project header files.
+
+  Doing it this way makes it so `GCC-XML`_ is only called once and it reduces the
+  overhead that would occur if you pass `GCC-XML`_ all the files individually.
+  Namely `GCC-XML`_ would have to run hundreds of times and each call would
+  actually end up including quite a bit of common code anyway. This way takes a
+  `GCC-XML`_ processing time from multiple hours with gigabytes of caches to a
+  couple minutes with a reasonable cache size.
+
+  You can read more about different caches supported by `pygccxml <http://pygccxml.readthedocs.org>`_
+  `here <http://pygccxml.readthedocs.org/en/develop/design.html>`_.
+  ``module_builder_t.__init__`` method takes reference to an instance of cache
+  class or ``None``:
+
+  .. code-block:: python
+
+    from module_builder import *
+    mb = module_builder_t( ..., cache=file_cache_t( <<<path to project cache file>>> ), ... )
+
+* Single header file, will also improve performance compiling the generated bindings.
+
+  When :doc:`Py++ <../index>` generated the bindings, you have a lot of .cpp files to
+  compile. The project you are working on is big. I am sure it takes a lot of
+  time to compile projects that depend on it. Generated code also depend on it,
+  more over this code contains a lot of template instantiations. So it could
+  take a great deal of time to compile it. Allen Bierbaum investigated this
+  problem. He found out that most of the time is really spent processing all the
+  headers, templates, macros from the project and from the boost library. So he
+  come to conclusion, that in order to improve compilation speed, user should
+  be able to control( to be able to generate ) precompiled header file. He
+  implemented an initial version of the functionality. After small discussion,
+  we agreed on the following interface:
+
+  .. code-block:: python
+
+    class module_builder_t( ... ):
+        ...
+        def split_module( self, directory_path, huge_classes=None, precompiled_header=None ):
+            ...
+
+  ``precompiled_header`` argument could be ``None`` or string, that contains
+  name of precompiled header file, which will be created in the directory.
+  :doc:`Py++ <../index>` will add to it header files from `Boost.Python`_ library and
+  your header files.
+
+  What is ``huge_classes`` argument for? ``huge_classes`` could be ``None`` or
+  list of references to class declarations. It is there to provide a solution to
+  `this error`_. :doc:`Py++ <../index>` will automatically split generated code for the
+  huge classes to few files:
+
+  .. code-block:: python
+
+    mb = module_builder_t( ... )
+    ...
+    my_big_class = mb.class_( my_big_class )
+    mb.split_module( ..., huge_classes=[my_big_class], ... )
+
+  * **Caveats**
+
+    Consider the following file layout:
+    ::
+
+      boost/
+        date_time/
+          ptime.hpp
+          time_duration.hpp
+          date_time.hpp //main header, which include all other header files
+
+    Py++ currently does not handle relative paths as input very well, so it is
+    recommended that you use "os.path.abspath()" to transform the header file to
+    be processed into an absolute path:
+
+    .. code-block:: python
+
+      #the following code will expose nothing
+      mb = module_builder( [ 'date_time/date_time.hpp' ], ... )
+
+      #while this one will work as expected
+      import os
+      mb = module_builder( [ os.path.abspath('date_time/date_time.hpp') ], ... )
+
+.. _`this error` : http://boost.org/libs/python/doc/v2/faq.html#c1204
+
+* Keep the declaration tree small.
+
+  When parsing the header files to build the declaration tree, there will also
+  be the occasional "junk" declaration inside the tree that is not relevant to
+  the bindings you want to generate. These extra declarations come from header
+  files that were included somewhere in the header files that you were actually
+  parsing (e.g. if that library uses the STL or OpenGL or other system headers
+  then the final declaration tree will contain those declarations, too).
+  It can happen that the majority of declarations in your declaration tree are
+  such "junk" declarations that are not required for generating your bindings
+  and that just slow down the generation process (reading the declaration cache
+  and doing queries will take longer).
+
+  To speed up your generation process you might want to consider making the
+  declaration tree as small as possible and only store those declarations that
+  somehow have an influence on the bindings. Ideally, this is done as early
+  as possible and luckily gccxml provides an option that allows you to reduce
+  the number of declarations that it will store in the output XML file. You can
+  specify one or more declarations using the ``-fxml-start`` option and only
+  those sub-tree starting at the specified declarations will be written. For
+  example, if you specify the name of a particular class, only this class
+  and all its members will get written. Or if your project already uses
+  a dedicated namespace you can simply use this namespace as a starting point
+  and all declarations stemming from system headers will be ignored (except
+  for those declarations that are actually used within your library).
+
+  In the ``pygccxml`` package you can set the value for the ``-fxml-start``
+  option using the ``start_with_declarations`` attribute of the
+  ``pygccxml.parser.config_t`` object that you are passing to the parser.
+
+* Use :doc:`Py++ <../index>` repository of generated files md5 sum.
+
+  :doc:`Py++ <../index>` is able to store md5 sum of generated files in a file. Next time you
+  will generate code, :doc:`Py++ <../index>` will compare generated file content against the sum,
+  instead of loading the content of the previously generated file from the disk
+  and comparing against it.
+
+  .. code-block:: python
+
+    mb = module_builder_t( ... )
+    ...
+    my_big_class = mb.class_( my_big_class )
+    mb.split_module( ..., use_files_sum_repository=True )
+
+  :doc:`Py++ <../index>` will generate file named "<your module name>.md5.sum" in the directory
+  it will generate all the files.
+
+  Enabling this functionality should give you 10-15% of performance boost.
+
+  * **Caveats**
+
+    If you changed manually some of the files - don't forget to delete the relevant
+    line from "md5.sum" file. You can also delete the whole file. If the file is
+    missing, :doc:`Py++ <../index>` will use old plain method of comparing content of the files.
+    It will not re-write "unchanged" files and you will not be forced to recompile
+    the whole project.
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/how_to/exception_translation.rst b/docs/how_to/exception_translation.rst
new file mode 100644
index 0000000..3d0ea68
--- /dev/null
+++ b/docs/how_to/exception_translation.rst
@@ -0,0 +1,60 @@
+=========================================
+How to register an exception translation?
+=========================================
+
+------------
+Introduction
+------------
+
+Boost.Python provides functionality to translate any C++ exception to a Python one.
+:doc:`Py++ <../index>` provides a convenient API to do this.
+
+By the way, be sure to take a look on ":doc:`troubleshooting guide - exceptions <../../troubleshooting_guide/exceptions/exceptions>`".
+The guide will introduces a complete solution for handling exceptions within
+Python scripts.
+
+--------
+Solution
+--------
+
+`Boost.Python exception translator documentation`_ contains a complete explanation
+what should be done. I will use that example, to show how it could be done with
+:doc:`Py++ <../index>`:
+
+.. code-block:: python
+
+   from pyplusplus import module_builder_t
+
+   mb = module_builder_t( ... )
+   my_exception = mb.class_( 'my_exception' )
+
+   translate_code = 'PyErr_SetString(PyExc_RuntimeError, exc.what();'
+   my_exception.exception_translation_code = translate_code
+
+That's all, really. :doc:`Py++ <../index>` will generate for you the ``translate`` function
+definition and than will register it.
+
+I think this is a most popular use case - translate a C++ exception to a string
+and than to create an instance of Python built-in exception. That is exactly why
+:doc:`Py++ <../index>` provides additional API:
+
+.. code-block:: python
+
+   mb = module_builder_t( ... )
+   my_exception = mb.class_( 'my_exception' )
+
+   my_exception.translate_exception_to_string( 'PyExc_RuntimeError', 'exc.what()')
+
+The first argument of ``translate_exception_to_string`` method is exception type,
+The second one is a string - code that converts your exception to ``const char*``.
+
+As you see, it is really simple to add exception translation to your project.
+
+One more point, in both pieces of code I used "``exc``" as the name of ``my_exception``
+class instance. This is a predefined name. I am not going to change it without
+any good reason, any time soon :-).
+
+.. _`Boost.Python exception translator documentation` : http://boost.org/libs/python/doc/v2/exception_translator.html
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/how_to/fatal_error_c1204.rst b/docs/how_to/fatal_error_c1204.rst
new file mode 100644
index 0000000..1907635
--- /dev/null
+++ b/docs/how_to/fatal_error_c1204.rst
@@ -0,0 +1,23 @@
+==============================================================
+Fatal error C1204: compiler limit: internal structure overflow
+==============================================================
+
+**Fatal error C1204: compiler limit: internal structure overflow**
+
+If you get this error, than the generated file is too big. You will have to split
+it to few files. Well, not you but :doc:`Py++ <../index>`, you will only have to tell it to do
+that.
+
+If you are using ``module_builder_t.write_module`` method, consider to switch
+to ``module_builder_t.split_module``.
+
+If you are using ``split_module``, but still the generated code for some class
+could not be compiled, because of the error, you can ask :doc:`Py++ <../index>` to split the
+code generated for class to be split to few source files.
+
+For more information, considre to read the :doc:`splitting generated code to files <../split_module>`
+document.
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/how_to/file_name_too_long.rst b/docs/how_to/file_name_too_long.rst
new file mode 100644
index 0000000..8656631
--- /dev/null
+++ b/docs/how_to/file_name_too_long.rst
@@ -0,0 +1,45 @@
+===============================
+Generated file name is too long
+===============================
+
+**Generated file name is too long**
+
+There are use cases, when :doc:`Py++ <../index>` generated file name is too long. In some cases
+the code generation process even fails because of this.
+
+This is just a symptom of the problem. This happens when you expose template
+instantiated classes and you did not specify the class alias. :doc:`Py++ <../index>` uses a class
+alias as a basis for the file name.
+
+Let me explain.
+
+.. code-block:: c++
+
+  template < class T>
+  struct holder{ ... };
+
+As you know, a class name in `Python`_ has few `constraints`_ and :doc:`Py++ <../index>` is aware
+of them. "holder< int >" is illegal class name, so :doc:`Py++ <../index>` will generate another
+one - "holder_less_int_greater\_". Pretty ugly and even long, but at least it is
+legal one.
+
+.. _`constraints` : http://www.python.org/doc/2.5.2/ref/identifiers.html
+
+It is pretty simple to change the alias of the class, or any other declaration:
+
+.. code-block:: python
+
+  from pyplusplus import module_builder
+
+  mb = module_builder_t( ... )
+  holder = mb.class_( 'holder< int >' )
+  holder.alias = 'IntHolder'
+  #the following line has same effect as the previous one:
+  holder.rename( 'IntHolder' )
+
+Another solution to the problem, is to use different strategy to split the generated
+code to files. You can read more about splitting files :doc:`here <../split_module>`.
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/how_to/hints.rst b/docs/how_to/hints.rst
new file mode 100644
index 0000000..a94dafd
--- /dev/null
+++ b/docs/how_to/hints.rst
@@ -0,0 +1,61 @@
+=====
+Hints
+=====
+
+----------------------------------
+Class template instantiation alias
+----------------------------------
+
+:doc:`Py++ <../index>` has nice feature. If you define ``typedef`` for instantiated class
+template, than :doc:`Py++ <../index>` will use it as a `Python`_ class name.
+
+For example:
+
+.. code-block:: c++
+
+  #include <vector>
+  typedef std::vector< int > numbers;
+  numbers generate_n(){
+      ...
+  }
+
+:doc:`Py++ <../index>` will use "numbers" as Python class name:
+
+.. code-block:: c++
+
+  using boost::python;
+  class_< std::vector< int > >( "numbers" )
+      ...
+  ;
+
+:doc:`Py++ <../index>` will pick up the alias, only in case the class has single "typedef".
+
+``pyplusplus::aliases`` namespace
+---------------------------------
+
+The previous approach is "implicit" - :doc:`Py++ <../index>` does something behind the scene.
+Recently (version 0.8.6 ), another approach was introduced:
+
+.. code-block:: c++
+
+  #include <vector>
+
+  namespace pyplusplus{ namespace aliases{
+  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+      typedef std::vector< int > numbers;
+
+  } } //pyplusplus::aliases
+
+The idea is that you create namespace with a special name - ``pyplusplus::aliases``
+and :doc:`Py++ <../index>` automatically picks the class aliases from it. In case you accidentally
+introduced two or more different aliases to the same class, it will pick the
+longest one and print a warning. Other advantages of the approach:
+
+* you are not forced to learn new API
+
+* you continue to use your favorite editor and familiar language
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/how_to/how_to.rst b/docs/how_to/how_to.rst
new file mode 100644
index 0000000..8b95e3a
--- /dev/null
+++ b/docs/how_to/how_to.rst
@@ -0,0 +1,13 @@
+============
+How to ... ?
+============
+
+.. toctree::
+
+   templates.rst
+   exception_translation.rst
+   fatal_error_c1204.rst
+   absolute_relative_paths.rst
+   file_name_too_long.rst
+   best_practices.rst
+   hints.rst
diff --git a/docs/how_to/templates.rst b/docs/how_to/templates.rst
new file mode 100644
index 0000000..f01ebc1
--- /dev/null
+++ b/docs/how_to/templates.rst
@@ -0,0 +1,191 @@
+===========================
+How to deal with templates?
+===========================
+
+------------
+Introduction
+------------
+
+I would like to introduce the following piece of code. I am going to use it for most exlanations.
+
+.. code-block:: c++
+
+   // file point.h
+   template< class T>
+   struct point_t{
+       T x, y;
+   };
+
+   template <class T>
+   double distance( const point_t<T>& point ){
+       return sqrt( point.x * point.x + point.y*point.y );
+   }
+
+   struct environment_t{
+      ...
+      template< class T>
+      T get_value(const std::string& name);
+      ...
+   };
+
+----------------------
+Template instantiation
+----------------------
+
+First of all you should understand, that you can not export template itself, but
+only its instantiations.
+
+You can instantiate template class using operator ``sizeof``:
+
+.. code-block:: c++
+
+   sizeof( point_t<int> );
+
+
+In order to instantiate a function you have to call it:
+
+.. code-block:: c++
+
+   void instantiate(){
+       double x = distance( point_t<t>() );
+
+       environment_t env;
+       std::string path = env.get_value< std::string >( "PATH" );
+       int version = env.get_value< int >( "VERSION" );
+   }
+
+You should put that code in some header file, parsed by GCC-XML.
+
+"Dynamic" instantiation
+-----------------------
+If you have a template class, which should be instantiated with many types, you
+can create a small code generator, which will "instantiate the class". It is
+pretty easy to blend together the generated code and the existing one:
+
+.. code-block:: python
+
+   from module_builder import module_builder_t, create_text_fc
+
+   def generate_instantiations_string( ... ):
+      ...
+
+   code = generate_instantiations_string( ... )
+
+   mb = module_builder_t( [ create_text_fc( code ), <<<other file names>>> ], ... )
+   ...
+
+Function ``create_text_fc`` allows you to extract declarations from the string,
+which contains valid C++ code. It creates temporal header file and compiles it.
+
+----------------------------------
+Functions templated on return type
+----------------------------------
+
+.. code-block:: c++
+
+   environment_t env;
+   std::string path = env.get_value< std::string >( "PATH" );
+   int version = env.get_value< int >( "VERSION" );
+
+
+`GCC-XML`_ provides information for both instantiations:
+
+    * ``get_value<int>``
+
+    * ``get_value< std::string >``
+
+But, in this case there is a catch: the name of both functions is "**get_value**".
+The only difference is "return type".
+
+In this situation, :doc:`Py++ <../index>` will generate code that contains errors. If your are
+lucky, it depends on the compiler you use, the generated code will not compile.
+Otherwise, you will discover the errors while testing the bindings.
+
+Generated code:
+
+.. code-block:: c++
+
+  bp::class_< environment_t >( "environment_t" )
+      ...
+      .def( "get_value"
+            , (int ( ::environment_t::* )( ::std::string const & ) )( &::environment_t::get_value ) )
+      .def( "get_value"
+            , (::std::string ( ::environment_t::* )( ::std::string const & ) )( &::environment_t::get_value ) );
+
+The correct code:
+
+.. code-block:: c++
+
+  bp::class_< environment_t >( "environment_t" )
+      .def( "get_value"
+            , (int ( ::environment_t::* )( ::std::string const & ) )( &::environment_t::get_value< int > ) )
+            //--------------------------------------------------------------------------^^^^^^^^^^^^^^^^
+      .def( "get_value"
+            , (::std::string ( ::environment_t::* )( ::std::string const & ) )( &::environment_t::get_value< std::string > ) );
+            //------------------------------------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^
+
+The perfect one:
+
+.. code-block:: c++
+
+  bp::class_< environment_t >( "environment_t" )
+      ...
+      .def( "get_value", &::environment_t::get_value< int > )
+      .def( "get_value", &::environment_t::get_value< std::string > );
+
+
+Work-around
+-----------
+
+:doc:`Py++ <../index>` contains a work-around to the problem:
+
+.. code-block:: python
+
+   mb = module_builder_t( ..., optimize_queries=False, ... )
+   environment = mb.class_( "environment_t" )
+   for f in environment.member_functions( "get_value" ):
+       #set the function alias
+       f.alias = f.name + "_" + f.return_type.decl_string
+       #correct function name
+       f.name = f.demangled_name
+   #you still want the queries to run fast
+   mb.run_query_optimizer()
+
+Before you read the rest of the solution, you should understand what is
+"name mangling" means. If you don't, consider reading about it on `Wikipedia`__ .
+
+.. __ : http://en.wikipedia.org/wiki/Name_mangling
+
+The solution is pretty simple. `GCC-XML`_ reports mangled and demangled function
+names. The demangled function name contains "real" function name:
+``get_value< used type >``. You only have to instruct :doc:`Py++ <../index>` to use it.
+
+:doc:`Py++ <../index>` does not use by default demangled function name for mainly one reason.
+Demangled function name is a string that contains a lot of information. :doc:`Py++ <../index>`
+implements a parser, which extracts the only relevant one. The parser
+implementation is a little bit complex and was not heavily tested. By "heavily" I
+mean that I tested it on a lot of crazy use cases and on a real project, but
+there is always some new use case out there. I am almost sure it will work for
+you. The problem, we deal with, is rare, so by default "demangled_name"
+feature is turned off.
+
+By the way, almost the same problem exists for template classes. But, in the
+classes use case :doc:`Py++ <../index>` uses demangled name by default.
+
+-----------
+Help wanted
+-----------
+I understand that the provided solutions are not perfect and that something
+better and simpler should be done. Unfortunatelly the priority of this task is
+low.
+
+Allen Bierbaum has few suggestion that could improve :doc:`Py++ <../index>`. He created a
+`wiki page`_, that discuss possible solutions. Your contribution is welcome too!
+
+.. _`wiki page` : https://realityforge.vrsource.org/view/PyppApi/TemplateSupport
+
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..68bee28
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,173 @@
+==============
+`Py++` package
+==============
+
+Py++ is an object-oriented framework for creating a code generator for
+`Boost.Python <http://www.boost.org/libs/python/doc/index.html>`_ library and
+`ctypes <http://docs.python.org/library/ctypes.html>`_ package.
+
+`Py++` uses few different programming paradigms to help you to expose C++
+declarations to Python. This code generator will not stand on your way. It will
+guide you through the whole process. It will raise warnings in the case you are
+doing something wrong with a link to the explanation. And the most important it
+will save your time - you will not have to update code generator script every
+time source code is changed.
+
+Code generation process
+=======================
+
+Code generation process, using `Py++` consists from few steps. The following
+paragraphs will tell you more about every step.
+
+
+*"read declarations"*
+=====================
+
+`Py++` does not reinvent the wheel. It uses `GCC C++ compiler`_ to parse C++
+source files. To be more precise, the tool chain looks like this:
+
+1. source code is passed to `GCC-XML`_
+2. `GCC-XML`_ passes it to `GCC C++ compiler`_
+3. `GCC-XML`_ generates an XML description of a C++ program from GCC's internal
+   representation.
+4. `Py++` uses `pygccxml <http://pygccxml.readthedocs.org>`_ package to read `GCC-XML`_ generated file.
+
+The bottom line - you can be sure, that all your declarations are read correctly.
+
+.. _`GCC C++ compiler` : http://www.gnu.org/software/gcc
+
+
+*"build module"*
+================
+
+Only very small and simple projects could be exported as is. Most of the projects
+still require human invocation. Basically there are 2 questions that you should
+answer:
+
+    1. which declarations should be exported
+    2. how this specific declaration should be exported or, if I change a little
+       a question, what code should be written in order I get access from Python
+       to that functionality
+
+Of course, `Py++` cannot answer those question, but it provides maximum help to you.
+
+How can `Py++` help you with first question? `Py++` provides very powerful and
+simple query interface. For example in one line of code you can select all free
+functions that have two arguments, where the first argument has type ``int &``
+and the type of the second argument is any:
+
+.. code-block:: python
+
+  mb = module_builder_t( ... ) #module_builder_t is the main class that
+                               #will help you with code generation process
+  mb.free_functions( arg_types=[ 'int &', None ] )
+
+Another example - the developer wants to exclude all protected functions from
+being exported:
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  mb.calldefs( access_type_matcher_t( 'protected' ) ).exclude()
+
+The developer can create custom criteria, for example exclude all declarations
+with 'impl' ( implementation ) string within the name.
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  mb.decls( lambda decl: 'impl' in decl.name ).exclude()
+
+Note the way the queries were built. You can think about those queries as
+the rules, which will continue to work even after exported C++ code was changed.
+It means that you don't have to change code generator source code every time.
+
+So far, so good what about second question? Well, by default `Py++` generates a
+code that will satisfy almost all developers. `Py++` could be configured in many
+ways to satisfy your needs. But sometimes this is still not enough. There are
+use cases when you need full control over generated code. One of the biggest
+problems, with code generators in general, is modifying generated code and
+preserving changes. How many code generators did you use or know, that
+allow you to put your code anywhere or to reorder generated code as you wish?
+`Py++` allows you to do that.
+
+`Py++` introduces new concept: code creator and code creators tree. You can think
+about code creators tree as some kind of `AST`_. The only difference is that code
+creators tree provides more specific functionality. For example ``include_t`` code
+creator is responsible to create C++ ``include`` directive code. You have full
+control over code creators tree, before it is written to disc. Here you
+can find UML diagram of almost all code creators: `class diagram`_.
+
+.. _`AST`: http://en.wikipedia.org/wiki/Abstract_syntax_tree
+.. _`class diagram`: code_creators_uml.png
+
+At the end of this step you have code creators tree, which is ready to be written
+to disc.
+
+*"write code to files"*
+-----------------------
+During this step `Py++` reads the code creators tree and writes the code to a
+disc. The code generation process result should not be different from the one,
+which would be achieved by human. For small project writing all code into single
+file is good approach, for big ones the code should be splitted into multiple files.
+`Py++` implements both strategies.
+
+
+Features list
+=============
+
+* `Py++` supports almost all features found in `Boost.Python`_ library
+* Using `Py++` you can develop few extension modules simultaneously, especially
+  when they share the code.
+* `Py++` generates code, which will help you:
+   * to understand compiler generated error messages
+   * to minimize project built time
+* `Py++` has few modes of writing code into files:
+  * single file
+  * multiple files
+  * fixed set of multiple files
+  * multiple files, where single class code is split to few files
+* You have full control over generated code. Your code could be inserted almost
+  anywhere.
+* Your license is written at the top of every generated file
+* `Py++` will check the "completeness" of the bindings. It will check for you
+  that the exposed declarations don't have references to unexposed ones.
+* `Py++` provides enough functionality to extract source code documentation
+  and write it as Python documentation string
+* `Py++` provides simple and powerful framework to create a wrapper for
+  functions, which could not be exposed as is to `Python`_.
+
+License
+=======
+
+`Boost Software License`_.
+
+
+Documentation contents
+======================
+
+.. toctree::
+   :maxdepth: 2
+
+   tutorials/tutorials.rst
+   quotes.rst
+   download.rst
+   examples/examples.rst
+   links.rst
+   comparisons/compare_to.rst
+   peps/peps_index.rst
+   troubleshooting_guide/lessons_learned.rst
+   history.rst
+   apidocs/api
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+.. _`Boost Software License`: http://boost.org/more/license_info.html
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/docs/indexing_suite_v2.html b/docs/indexing_suite_v2.html
new file mode 100644
index 0000000..59c8cc9
--- /dev/null
+++ b/docs/indexing_suite_v2.html
@@ -0,0 +1,2213 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+
+
+    <meta name="generator" content="A human being">
+    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+    <link rel="stylesheet" type="text/css" href="indexing_suite_v2_files/boost.css"><title>Boost.Python - C++ Container Support</title></head><body>
+    <table summary="header" border="0" cellpadding="7" cellspacing="0" width="100%">
+      <tbody><tr>
+        <td valign="top" width="300">
+          <h3>
+            <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/index.htm"><img alt="C++ Boost" src="indexing_suite_v2_files/cboost.gif" border="0" height="86" width="277"></a>
+          </h3>
+        </td>
+        <td valign="top">
+          <h1 align="center">
+            <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/index.html">Boost.Python</a><br>
+            C++ Container Support
+          </h1>
+        </td>
+      </tr>
+    </tbody></table>
+
+    <hr>
+
+    <h2>
+      Contents
+    </h2>
+
+    <dl class="page-index">
+      <dt>
+        <a href="#introduction">Introduction</a>
+      </dt>
+      <dt>
+        <a href="#design_goals">Design goals</a>
+      </dt>
+      <dt>
+        <a href="#interface">Interface</a>
+      </dt>
+      <dd>
+        <dl class="page-index">
+          <dt>
+            <a href="#container_suite">container_suite.hpp</a>
+          </dt>
+          <dt>
+            <a href="#specific">Container-specific headers</a>
+          </dt>
+          <dt>
+            <a href="#policies">Using policies</a>
+          </dt>
+          <dt>
+            <a href="#visitor_flags">Visitor flag values</a>
+          </dt>
+          <dt>
+            <a href="#extending">Extending and customizing</a>
+          </dt>
+          <dd>
+            <dl class="page-index">
+              <dt>
+                <a href="#ValueTraits">ValueTraits</a>
+              </dt>
+              <dt>
+                <a href="#ContainerTraits">ContainerTraits</a>
+              </dt>
+              <dt>
+                <a href="#Algorithms">Algorithms</a>
+              </dt>
+              <dt>
+                <a href="#SliceHelper">SliceHelper</a>
+              </dt>
+            </dl>
+          </dd>
+          <dt>
+            <a href="#extending">Container adapters</a>
+          </dt>
+          <dd>
+            <dl class="page-index">
+              <dt>
+                <a href="#container_proxy">container_proxy</a>
+              </dt>
+              <dt>
+                <a href="#iterator_range">iterator_range</a>
+              </dt>
+            </dl>
+          </dd>
+          <dt>
+            <a href="#workarounds">Compiler workarounds</a>
+          </dt>
+          <dt>
+            <a href="#limitations">Known limitations</a>
+          </dt>
+        </dl>
+      </dd>
+      <dt>
+        <a href="#references">References</a>
+      </dt>
+      <dt>
+        <a href="#acknoweldegments">Acknowledgements and Copyright</a>
+      </dt>
+    </dl>
+
+    <h2><a name="introduction">Introduction</a></h2>
+
+    The purpose of the container indexing suite is to allow Python
+    code to access C++ containers using regular Python
+    interfaces. Since each C++ container is different, it is
+    non-trivial to decide what Python methods can be emulated, and how
+    to map them to C++ function calls. The indexing suite provides a
+    framework for representing those decisions, as well as bindings
+    for the standard C++ container templates. The indexing headers are
+    in the Boost subdirectory
+    <i>boost/python/suite/indexing</i> and non-template
+    implementations are in
+    <i>libs/python/src/indexing</i>. Various tests, which can also
+    serve as examples are in <i>libs/python/test</i>.
+
+    <h2><a name="design_goals">Design goals</a></h2>
+
+    The primary design goals of the container indexing suite are as
+    follows. The suite should:
+
+    <ul>
+      <li>
+
+        Support instances of all useful standard container templates
+
+      </li>
+      <li>
+
+        Provide as much of the normal Python interface as is
+        reasonable for each container
+
+      </li>
+      <li>
+
+        Be extensible to user-defined container types
+
+      </li>
+      <li>
+
+        Support client-provided <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/CallPolicies.html">CallPolicies</a>
+
+      </li>
+    </ul>
+
+    Secondary design goals are as follows. The library should:
+
+    <ul>
+      <li>
+
+        Provide an emulation of Python reference semantics for
+        <i>values</i> in vector-like containers.
+
+      </li>
+      <li>
+
+        Provide an emulation of container semantics for iterator
+        ranges.
+
+      </li>
+    </ul>
+
+    <h2><a name="interface">Interface</a></h2>
+
+    <p>
+
+      The main iterface to the library is via the templated class
+      <code>container_suite</code>, an object of which adds a number
+      of Python functions to an extension class via a single
+      <code>def</code> call. Support is provided for all of the
+      standard container templates <a href="#Note1">[1]</a> via
+      container-specific header files, as shown in the following
+      example:
+
+    </p>
+
+<pre>#include <boost/python/suite/indexing/container_suite.hpp>
+#include <boost/python/suite/indexing/vector.hpp>
+#include <boost/python/class.hpp>
+#include <boost/python/module.hpp>
+#include <vector>
+
+BOOST_PYTHON_MODULE(example) {
+  class_< std::vector<int> > ("vector_int")
+    .def (indexing::container_suite< std::vector<int> >());
+}
+</pre>
+
+    <p>
+
+      The <code>container_suite</code> object achieves this using the
+      <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/def_visitor.html">def_visitor interface</a>, which
+      provides a hook for the <code>def</code> function to install
+      multiple Python methods in one call. If the container element
+      type (<code>int</code> in the example above) is a user-defined
+      type, you would have to expose this type to Python via a
+      separate <code>class_</code> instance.
+
+    </p>
+    <p>
+
+      <a name="Note1">[1]</a> Automatic operation with the standard
+      containers works properly if your compiler supports partial
+      template specializations. Otherwise, refer to the <a href="#workarounds">compiler workarounds</a> section.
+
+    </p>
+
+    <h2><a name="container_suite">boost/python/suite/indexing/container_suite.hpp</a></h2>
+
+    <p>
+
+      The <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/boost/python/suite/indexing/container_suite.hpp"><code>container_suite.hpp</code></a>
+      header is summarized below:
+
+    </p>
+    <p>
+</p><pre>#include <boost/python/suite/indexing/algo_selector.hpp>
+#include <boost/python/suite/indexing/visitor.hpp>
+
+#include <boost/python/return_by_value.hpp>
+#include <boost/python/return_value_policy.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  typedef return_value_policy<return_by_value> default_container_policies;
+
+  template<class Container,
+           int Flags = 0,
+           class Algorithms = algo_selector<Container> >
+  struct container_suite
+    : public visitor<Algorithms, default_container_policies, Flags>
+  {
+    typedef Algorithms algorithms;
+
+    template<typename Policy>
+    static visitor<Algorithms, Policy, Flags>
+    with_policies (Policy const &policy)
+    {
+      return visitor <Algorithms, Policy> (policy);
+    }
+  };
+} } }
+</pre>
+    <p></p>
+
+    <p>
+
+      Some important points to note about <code>container_suite</code>:
+
+      </p><ol>
+        <li>
+
+          It does not include any of the container-specific headers
+          (like <code>vector.hpp</code> or <code>set.hpp</code>), so
+          these must be included separately to add support each type
+          of container.
+
+        </li>
+        <li>
+
+          It derives from the <code>indexing::visitor</code>
+          template, using a <code>return_by_value</code> return
+          policy. This is a reasonable default, and follows the
+          Boost.Python idiom of passing a default-constructed object
+          to the <code>def</code> function.
+
+        </li>
+        <li>
+
+          The <code>with_policies</code> static function template
+          generates different instances of the
+          <code>indexing::visitor</code> template, with
+          client-provided policies.
+
+        </li>
+        <li>
+
+          The template parameter <code>Flags</code> allows client code
+          to disable unneeded features in order to reduce code
+          size. Details are provided <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/visitor_flags">below</a>.
+
+        </li>
+      </ol>
+
+    <p></p>
+
+    <h2><a name="specific">Container-specific headers</a></h2>
+
+    <p>
+
+      The container indexing suite includes support for many of the
+      standard C++ container templates, but note that the support code
+      for each is in a separate header file. These header files (in
+      the <i>boost/python/suite/indexing</i> subdirectory) are:
+      <code>vector.hpp</code>, <code>deque.hpp</code>,
+      <code>list.hpp</code>, <code>set.hpp</code> and
+      <code>map.hpp</code>. These correspond in the obvious way to the
+      standard headers <code>vector</code>, <code>deque</code>,
+      etc. The header files for the <a href="#container_proxy"><code>container_proxy</code></a> and <a href="#iterator_range"><code>iterator_range</code></a> templates
+      provide their own support implicitly.
+
+    </p>
+
+    <h2><a name="policies">Using policies</a></h2>
+
+    You can select call policies using the
+    <code>container_suite</code> static member function
+    <code>with_policies</code> as in the following example:
+
+<pre>  class_< std::list<heavy_class> > ("list_heavy_class")
+    .def (indexing::container_suite< std::list<heavy_class> >
+          ::with_policies (my_policies));
+</pre>
+
+    <h3>Caution with policies</h3>
+
+    <p>
+
+      It can be tempting to use <code>return_internal_reference</code>
+      if the container elements are expensive to copy. However, this
+      can be quite dangerous, since references to the elements can
+      easily become invalid (e.g. if the element is deleted or
+      moved). The Boost.Python code for
+      <code>return_internal_reference</code> can only manage the
+      lifetime of the entire container object, and not those of the
+      elements actually being referenced. Various alternatives exist,
+      the best of which is to store the container elements indirectly,
+      using <code>boost::shared_ptr</code> or an equivalent. If this
+      is not possible,
+      <code><a href="#container_proxy">container_proxy</a></code>
+      may provide a
+      solution, at least for vector-like containers.
+
+    </p>
+
+    <h3>Internal policies detail</h3>
+
+    <p>
+
+      The <code>container_suite</code> object typically adds more than
+      one function to the Python class, and not all of those functions
+      can, or should, use exactly the same policies. For instance, the
+      Python <code>len</code> method, if provided, should always
+      return its result by value. The library actually uses up to
+      three different sets of policies derived from the one provided
+      to the <code>with_policies</code> function. These are:
+
+      </p><ol>
+        <li>
+
+          The supplied policies, unchanged
+
+        </li>
+        <li>
+
+          The supplied precall policy only, using <code>default_call_policies</code> for result conversion.
+
+        </li>
+        <li>
+
+          The supplied precall policies, and the supplied result
+          conversion policies applied to <i>each element</i> of a
+          returned list.
+
+        </li>
+      </ol>
+
+      Roughly speaking, methods returning a single container element
+      use the first option, while methods returning an integer value
+      (or <code>void</code>) use the second option. The third option
+      applies only to the slice version of <code>__getitem__</code>,
+      which generates a Python list by applying the return conversion
+      policies to each element in the list.
+
+    <p></p>
+
+    <h2><a name="visitor_flags">Visitor Flag values</a></h2>
+
+    <p>
+
+      The <code>container_suite</code> template has an optional
+      <code>Flags</code> parameter that allows client code to disable
+      various optional features of the suite. This can lead to
+      significant savings in the size of object files and executables
+      if features such as sorting or Python slice support are not
+      needed. The <code>Flags</code> parameter (an integer) can be any
+      bitwise combination of the following values (defined in the
+      <code>boost::python::indexing</code> namespace by <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/boost/python/suite/indexing/visitor.hpp"><code>visitor.hpp</code></a>):
+
+    </p>
+
+    <p>
+
+      <table border="1">
+        <tbody><tr>
+          <th>Flag</th>
+          <th>Effect</th>
+        </tr>
+        <tr>
+
+          <td><code>disable_len</code></td>
+
+          <td>omits the Python <code>__len__</code> method</td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_slices</code></td>
+
+          <td>omits slice support code from <code>__getitem__</code>,
+          <code>__setitem__</code> and <code>__delitem__</code>.</td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_search</code></td>
+
+          <td>omits the container search methods <code>count<code>,
+          </code>index</code> and <code>__contains__</code></td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_reorder</code></td>
+
+          <td>omits the container reordering operations
+          <code>sort</code> and <code>reverse</code></td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_extend</code></td>
+
+          <td>omits the <code>extend</code> method</td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_insert</code></td>
+
+          <td>omits the <code>insert</code> method</td>
+
+        </tr>
+      </tbody></table>
+
+    </p>
+
+    <p>
+
+      Note that some containers don't support some of the optional
+      features at all, in which case the relevant flags are
+      ignored. The value <code>minimum_support</code> may be passed as
+      a flag value to disable all optional features. A simple example
+      is provided in <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/test/test_vector_disable.cpp"><code>test_vector_disable.cpp</code></a>
+
+    </p>
+
+    <h2><a name="extending">Extending and customizing</a></h2>
+
+    <p>
+
+      The <code>container_suite</code> template relies on seven main
+      support templates, five of which are suitable for specialization
+      or replacement by client code. The following diagram shows the
+      templates <a href="#Note2">[2]</a> and their dependencies, with
+      the replaceable ones highlighted in grey.  For full details,
+      refer to the specific section on each component – what
+      follows here is an overview.
+
+    </p>
+
+    <table align="right">
+      <tbody><tr>
+        <td>
+
+          <img src="indexing_suite_v2_files/overview.png" alt="Dependencies between main templates" height="261" width="486">
+
+        </td>
+      </tr>
+      <tr>
+        <td><font size="-1">
+
+          Diagram 1. Overview of class dependencies
+
+        </font></td>
+      </tr>
+    </tbody></table>
+
+    <p>
+
+      The <code>visitor</code> template, which implements the <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/def_visitor.html">def_visitor interface</a>, decides what
+      Python methods to provide for a container. It takes two template
+      parameters, <code>Algorithms</code> and <code>Policy</code> (the
+      <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/CallPolicies.html">CallPolicies</a> for the Python
+      methods on the container). The <code>Algorithms</code> argument
+      must provide implementations for the Python methods that the
+      container supports, as well as a matching
+      <code>ContainerTraits</code> type. This type provides various
+      compile-time constants that <code>visitor</code> uses to decide
+      what Python features the container provides. It also provides a
+      <code>value_traits</code> typedef, which has similar
+      compile-time constants related to the values stored in the
+      container.  If the <code>visitor</code> instance decides to
+      provide Python slice support for the container, it instantiates
+      the <code>slice_handler</code> template, which also takes
+      <code>Algorithms</code> and <code>Policy</code> parameters. In
+      such cases, the <code>Algorithms</code> argument must supply a
+      <code>SliceHelper</code> type and factory function.
+
+    </p>
+    <p>
+
+      The high-level <code>container_suite</code> template uses the
+      <code>algo_selector</code> template to determine what types to
+      use in the instantiation of <code>visitor</code>. The
+      <code>algo_selector</code> template has partial specializations
+      for all of the STL container templates.
+
+    </p>
+
+    <p>
+
+      <a name="Note2">[2]</a> Note that <code>Algorithms</code> and
+      <code>ContainerTraits</code> don't represent individual
+      templates in the diagram, but <i>groups</i> of related
+      templates. For instance, there are actually templates called
+      <code>list_algorithms</code> and <code>assoc_algorithms</code>,
+      among others.
+
+    </p>
+
+
+    <h2><a name="ValueTraits">ValueTraits</a></h2>
+
+    <p>
+
+      A <code>ValueTraits</code> class provides simple information
+      about the type of value stored within a container that will be
+      exposed to Python via the <code>container_suite</code>
+      interface. It controls the provision of some operations that are
+      dependant on the operations supported by container elements (for
+      instance, <code>find</code> requires a comparison operator for
+      the elements).  A <code>ValueTraits</code> class also provides a
+      hook called during initialization of the Python class, which can
+      be used for custom processing at this point.
+
+    </p>
+    <p>
+
+      The following table lists the static constants required in a
+      <code>ValueTraits</code> class:
+
+    </p>
+
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th align="left">
+            Static constant
+          </th>
+          <th align="center">
+            Type
+          </th>
+          <th align="left">
+            Meaning
+          </th>
+        </tr>
+
+        <tr>
+          <td>
+            <code>equality_comparable</code>
+          </td>
+          <td>
+            bool
+          </td>
+          <td>
+
+            Whether the value supports comparison via
+            <code>operator==</code>.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>lessthan_comparable</code>
+          </td>
+          <td>
+            bool
+          </td>
+          <td>
+
+            Whether the value supports comparison via
+            <code>operator<</code>.
+
+          </td>
+        </tr>
+
+      </tbody></table>
+    </p>
+
+    <p>
+
+      A <code>ValueTraits</code> class should provide the following
+      member function template, which will be called during execution
+      of the <code>def</code> call for the container suite:
+
+    </p>
+
+    <p>
+
+</p><pre>template <typename PythonClass, typename Policy>
+static void visitor_helper (PythonClass &, Policy const &);
+</pre>
+
+    <p></p>
+
+    <h3>Usage notes for ValueTraits</h3>
+
+    <p>
+
+      In order to include a custom <code>ValueTraits</code> class into
+      the container suite, it is easiest to supply it as a
+      specialization of the template
+      <code>indexing::value_traits</code> for the container's element
+      type.  The existing <code>ContainerTraits</code> classes all
+      make use of
+      <code>value_traits<container::value_type></code>, and so
+      will use a specialization for the value type if available. The
+      default, unspecialized, version of <code>value_traits</code>
+      sets both of the static constants to <code>true</code> and has
+      an empty implementation of <code>visitor_helper</code>.
+
+    </p>
+    <p>
+
+      As an example, if a user defined type does not have any
+      comparison operations, then there will probably be compile-time
+      errors caused by an attempt to provide the Python
+      <code>find</code> or <code>sort</code> methods. The solution is
+      to write a specialized version of
+      <code>indexing::value_traits</code> that disables the
+      appropriate features. For example:
+
+    </p>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<>
+  struct value_traits<my_type> : public value_traits<int>
+  {
+    static bool const equality_comparable = false;
+    static bool const lessthan_comparable = false;
+  };
+} } }
+</pre>
+    <p></p>
+
+    <p>
+
+      In this example, there is no need to perform any processing in
+      the <code>visitor_helper</code> function, and deriving from an
+      unspecialized version of the template (e.g.
+      <code>value_traits<int></code>) exposes an empty
+      <code>visitor_helper</code>.
+
+    </p>
+
+    <h3>Synopsis: boost/python/suite/indexing/value_traits.hpp</h3>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename T>
+  struct value_traits {
+    static bool const equality_comparable = true;
+    static bool const lessthan_comparable = true;
+
+    template<typename PythonClass, typename Policy>
+    static void visitor_helper (PythonClass &, Policy const &)
+    { }
+  };
+} } }
+</pre>
+    <p></p>
+
+    <h2><a name="ContainerTraits">ContainerTraits</a></h2>
+
+    <p>
+
+      A <code>ContainerTraits</code> class serves three
+      purposes. Firstly, it identifies what facilities the container
+      supports in principle (i.e. either directly or via some support
+      code). Secondly, it identifies the types used to pass values
+      into and out of the supported operations. Thirdly, it provides a
+      hook for additional code to run during initialization of the
+      Python class (i.e. during the <code>def</code> call for the
+      suite).
+
+    </p>
+    <p>
+
+      Note that a <code>ContainerTraits</code> class can be any class,
+      derived from the existing implementations or not, as long as it
+      meets the requirements listed in the following sections.
+
+    </p>
+
+    <h3>Static constants for ContainerTraits</h3>
+
+    The following table lists the static constants that a
+    <code>ContainerTraits</code> class should define. Note that these
+    must be <i>compile-time constants</i>, since parts of the library
+    use these constants to select between template specializations.
+    The constants must at least be convertible to the type shown in
+    the second column.
+
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th align="left">
+            Static constant
+          </th>
+          <th align="center">
+            Type
+          </th>
+          <th align="left">
+            Meaning
+          </th>
+          <th align="left">
+            Influence
+          </th>
+        </tr>
+        <tr>
+          <td>
+            <code>has_copyable_iter</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether copies of an iterator are independant <a href="#Note3">[3]</a>
+
+          </td>
+          <td>
+
+            Required for <code>len</code> and <code>__iter__</code>
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>is_reorderable</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether it is possible to re-order the contents of the
+            container.
+
+          </td>
+          <td>
+
+            Required for <code>reverse</code> and <code>sort</code>
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_mutable_ref</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+            Whether container elements can be altered via a reference
+          </td>
+          <td>
+            Determines <code>is_reorderable</code> for most containers.
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_find</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether find is possible in principle (via member function
+            or otherwise)
+
+          </td>
+          <td>
+            <code>__contains__</code>,
+            <code>index</code>,
+            <code>count</code>,
+            <code>has_key</code>
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_insert</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether it is possible to insert new elements into the container.
+
+          </td>
+          <td>
+            <code>insert</code>,
+            <code>extend</code>,
+            slice version of <code>__setitem__</code>
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_erase</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether it is possible to erase elements from the container.
+
+          </td>
+          <td>
+            <code>__delitem__</code>,
+            slice version of <code>__setitem__</code>
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_push_back</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether container supports insertion at the end.
+
+          </td>
+          <td>
+            <code>append</code>
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_pop_back</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether container supports element deletion at the end.
+
+          </td>
+          <td>
+            Currently unused
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>index_style</code>
+          </td>
+          <td align="center">
+            <code>index_style_t</code>
+          </td>
+          <td>
+
+            Type of indexing the container supports <a href="#Note4">[4]</a>
+
+          </td>
+          <td>
+            <code>__getitem__</code>,
+            <code>__setitem__</code>,
+            <code>__delitem__</code>,
+            <code>__iter__</code>,
+            <code>extend</code>,
+            <code>index</code>,
+            <code>count</code>,
+            <code>has_key</code>
+          </td>
+        </tr>
+      </tbody></table>
+    </p>
+
+    <p>
+      </p><h3>Notes</h3>
+
+      <table>
+        <tbody><tr>
+          <td valign="top">
+            <a name="Note3">[3]</a>
+          </td>
+          <td>
+
+            For example, copies of stream iterators are <i>not</i>
+            independant. All iterator copies refer to the same stream,
+            which has only one read and one write position.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td valign="top">
+            <a name="Note4">[4]</a>
+          </td>
+          <td>
+
+            <code>index_style_none</code>, no indexing at all
+            (e.g. <code>list</code>)<br>
+
+            <code>index_style_linear</code>, continuous integer-like
+            index type (e.g. <code>vector</code>)<br>
+
+            <code>index_style_nonlinear</code>, indexing via other
+            types (e.g.  <code>map</code>).
+
+          </td>
+        </tr>
+      </tbody></table>
+
+    <p></p>
+
+    <h3>Member types for ContainerTraits</h3>
+
+    <p>
+
+      The following table lists the type names that must be defined in
+      a compatible implementation of <code>ContainerTraits</code>.
+      The large number of types is supposed to provide flexibility for
+      containers with differing interfaces. For example,
+      <code>map</code> uses the same type for searching and "indexing"
+      (i.e. <code>find</code> and <code>operator[]</code>) so
+      <code>key_type</code> and <code>index_type</code> would have to
+      be the same. In contrast, searching a <code>vector</code> would
+      typically use a different type to that used for indexing into a
+      vector.
+
+    </p>
+
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th align="left">
+            Type name
+          </th>
+          <th align="left">
+            Meaning
+          </th>
+        </tr>
+
+        <tr>
+          <td>
+            <code>container</code>
+          </td>
+          <td>
+            The type of the C++ container.
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>size_type</code>
+          </td>
+          <td>
+
+            The type used to represent the number of elements in the
+            container.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>iterator</code>
+          </td>
+          <td>
+
+            The container's iterator type. This should be a non-const
+            iterator unless the container itself is const.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>index_type</code>
+          </td>
+          <td>
+
+            The type used to represent indexes extracted from a
+            <code>__getitem__</code> call (and others).  For
+            <code>index_style_linear</code>, this <i>should be a
+            signed type</i>, so that negative indices can be
+            processed.  For <code>index_style_nonlinear</code>, this
+            will most likely be the same type as
+            <code>key_type</code>.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>index_param</code>
+          </td>
+          <td>
+
+            The type to use when passing <code>index_type</code> into
+            a function.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>value_type</code>
+          </td>
+          <td>
+
+            The type to use when copying a value into or out of the
+            container.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>value_param</code>
+          </td>
+          <td>
+
+            The type to use when passing <code>value_type</code> into
+            a function.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>key_type</code>
+          </td>
+          <td>
+
+            The type used for search operations like <code>find</code>
+            and <code>count</code>.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>key_param</code>
+          </td>
+          <td>
+
+            The type to use when passing <code>key_type</code> into a
+            function.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>reference</code>
+          </td>
+          <td>
+
+            The type to use when returning a reference to a container
+            element.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>value_traits_</code>
+          </td>
+          <td>
+
+            Traits for the container elements. See <a href="#ValueTraits">the ValueTraits section</a> for
+            information about the requirements on this type.
+
+          </td>
+        </tr>
+
+      </tbody></table>
+
+    </p>
+
+    <h3>Member functions for ContainerTraits</h3>
+
+    In order to support additional initialization code to run, a
+    <code>ContainerTraits</code> class should provide a static member
+    function template as follows:
+
+    <p>
+</p><pre>template <typename PythonClass, typename Policy>
+static void visitor_helper (PythonClass &, Policy const &);
+</pre>
+    <p></p>
+
+    <p>
+
+      Typically, the implementation would just forward the call to the
+      equivalent function in the <code>value_traits_</code> class.
+
+    </p>
+
+    <h3>Usage notes for ContainerTraits</h3>
+
+    <p>
+
+      It may be possible to mix your own <code>ContainerTraits</code>
+      class with one of the existing <code>Algorithms</code>
+      implementations, thus saving yourself a fair bit of work.  The
+      easiest way to do this would be to specialize the
+      <code>algo_selector</code> template for your container type,
+      using public deriviation to get the implementation from one of
+      the existing <code>Algorithms</code> templates. For example,
+      assuming that <code>default_algorithms</code> is suitable for
+      your container:
+
+    </p>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<>
+  struct algo_selector<my_container>
+    : public default_algorithms<my_container_traits>
+  {
+  };
+} } }
+</pre>
+    <p></p>
+    <p>
+
+      Alternatively, you could select the algorithms and traits using
+      the <code>visitor</code> template directly, as described in the
+      <a href="#workarounds">compiler workarounds</a> section.
+
+    </p>
+
+    <h3><a name="simple_ctraits">Simplistic ContainerTraits example</a></h3>
+
+    <p>
+
+      The following block of code shows a simplistic implementation of
+      <code>ContainerTraits</code> for the container
+      <code>std::map<std::string, int></code>. The actual
+      implementation used by the suite relies on template
+      metaprogramming techniques, whereas this example is designed to
+      show only the essential elements of a
+      <code>ContainerTraits</code> implementation.
+
+    </p>
+
+    <p>
+</p><pre>#include <map>
+#include <string>
+#include <boost/python/suite/indexing/suite_utils.hpp>
+// Include suite_utils to get index_style_t
+
+struct simple_map_traits {
+  // Traits information for std::map<std::string, int>
+
+  typedef std::map<std::string, int> container;
+  typedef container::size_type       size_type;
+  typedef container::iterator        iterator;
+
+  typedef int                        value_type;
+  typedef int &                      reference;
+  typedef std::string                key_type;
+  typedef std::string                index_type;
+
+  typedef int                        value_param;
+  typedef std::string const &        key_param;
+  typedef std::string const &        index_param;
+
+  static bool const has_copyable_iter = true;
+  static bool const has_mutable_ref   = true;
+  static bool const has_find          = true;
+  static bool const has_insert        = true;
+  static bool const has_erase         = true;
+  static bool const has_pop_back      = false;
+  static bool const has_push_back     = false;
+  static bool const is_reorderable    = false;
+
+  static boost::python::indexing::index_style_t const index_style
+    = boost::python::indexing::index_style_nonlinear;
+
+  struct value_traits_ {
+    // Traits information for our value_type
+    static bool const equality_comparable = true;
+    static bool const lessthan_comparable = true;
+  };
+
+  template<typename PythonClass, typename Policy>
+  static void visitor_helper (PythonClass &, Policy const &)
+  {
+    // Empty
+  }
+};
+</pre>
+    <p></p>
+
+    <p>
+
+      Example usage of the <code>simple_map_traits</code>:
+
+    </p>
+
+    <p>
+</p><pre>#include "simple_map_traits.hpp"
+
+#include <boost/python/suite/indexing/container_suite.hpp>
+
+#include <boost/python/module.hpp>
+#include <boost/python/class.hpp>
+
+BOOST_PYTHON_MODULE(test_simple) {
+  using namespace boost::python;
+
+  typedef std::map<std::string, int> container_t;
+  typedef indexing::map_algorithms<simple_map_traits> algorithms_t;
+
+  class_<container_t> ("map")
+    .def (indexing::container_suite<container_t, algorithms_t>());
+}
+</pre>
+    <p></p>
+
+    <h2><a name="Algorithms">Algorithms</a></h2>
+
+    <p>
+
+      The <code>Algorithms</code> requirements are designed to provide
+      a predictable interface to any container, so that the same
+      <code>visitor</code> code can expose any supported container to
+      Python. An implemention of <code>Algorithms</code> does this by
+      providing functions and typedefs with fixed names. The exact
+      interfaces to the functions can vary to some extent, since the
+      <code>def</code> function calls used internally by the
+      <code>visitor</code> deduce the function type
+      automatically. However, certain points should be confomed to:
+
+      </p><ol>
+        <li>
+
+          The functions should be static, with
+          <code>container &</code> as first parameter.
+
+        </li>
+
+        <li>
+
+          The functions should <i>not</i> be overloaded – this
+          avoids problems with type deduction.
+
+        </li>
+        <li>
+
+          Generally, not all of the possible functions need to be
+          implemented, dependant on the static constants in the
+          <code>ContainerTraits</code>.
+
+        </li>
+      </ol>
+
+    <p></p>
+
+    <p>
+
+      The block of code below shows the definition of the
+      <code>default_algorithms</code> class template, which is the
+      basis for all current implementations of
+      <code>Algorithms</code>. The typedefs that it defines are
+      primarily for convenience within the implementation itself,
+      however <code>container</code>, <code>reference</code> and
+      <code>slice_helper</code> are also required by the
+      <code>slice_handler</code> template, if slices are
+      supported. Note that <code>default_algorithms</code> derives all
+      of the type information from its <code>ContainerTraits</code>
+      template argument, which allows the same implementation to be
+      used for various container types.
+
+    </p>
+
+    <h3>Partial boost/python/suite/indexing/algorithms.hpp</h3>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class default_algorithms
+  {
+    typedef default_algorithms<ContainerTraits, Ovr> self_type;
+
+  public:
+    typedef ContainerTraits container_traits;
+
+    typedef typename ContainerTraits::container   container;
+    typedef typename ContainerTraits::iterator    iterator;
+    typedef typename ContainerTraits::reference   reference;
+    typedef typename ContainerTraits::size_type   size_type;
+    typedef typename ContainerTraits::value_type  value_type;
+    typedef typename ContainerTraits::value_param value_param;
+    typedef typename ContainerTraits::index_param index_param;
+    typedef typename ContainerTraits::key_param   key_param;
+
+    typedef int_slice_helper<self_type, integer_slice> slice_helper;
+
+    static size_type size       (container &);
+    static iterator  find       (container &, key_param);
+    static size_type get_index  (container &, key_param);
+    static size_type count      (container &, key_param);
+    static bool      contains   (container &, key_param);
+    static void      reverse    (container &);
+    static reference get        (container &, index_param);
+    static void      assign     (container &, index_param, value_param);
+    static void      insert     (container &, index_param, value_param);
+    static void      erase_one  (container &, index_param);
+    static void      erase_range(container &, index_param, index_param);
+    static void      push_back  (container &, value_param);
+    static void      sort       (container &);
+
+    static slice_helper make_slice_helper (container &c, slice const &);
+
+    template<typename PythonClass, typename Policy>
+    static void visitor_helper (PythonClass &, Policy const &);
+  };
+} } }
+</pre>
+    <p></p>
+
+    <h3>Slice support</h3>
+    <p>
+
+      For containers that support Python slices, the
+      <code>visitor</code> template will instantiate and use
+      internally the <code>slice_handler</code> template. This
+      template requires a type called <code>slice_helper</code> and a
+      factory function called <code>make_slice_helper</code> from its
+      <code>Algorithms</code> argument. More details are provided in
+      the section <a href="#SliceHelper">SliceHelper</a>.
+
+    </p>
+
+    <h3>Usage notes for Algorithms</h3>
+
+    <p>
+
+      The existing <code>indexing::algo_selector</code> template uses
+      partial specializations and public derivation to select an
+      <code>Algorithms</code> implementation suitable for any of the
+      standard container types. Exactly how it does this should be
+      considered an implementation detail, and uses some tricks to
+      reuse various existing <code>Algorithms</code>
+      implementations. In any case, client code can specialize the
+      <code>algo_selector</code> template for new container types, as
+      long as the specialized instances conform to the requirements
+      for <code>Algorithms</code> as already given.
+
+    </p>
+    <p>
+
+      A new implementation of <code>Algorithms</code> could derive
+      from any one of the existing implementation templates, or be
+      completely independant. The existing implementation templates
+      are listed in the following table. They each take one template
+      parameter, which should be a valid <code>ContainerTraits</code>
+      class, as specified in a <a href="#ContainerTraits">previous
+      section</a>.
+
+    </p>
+
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th>
+            Template name
+          </th>
+          <th>
+            Description
+          </th>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>default_algorithms</code>
+
+          </td>
+          <td>
+
+            Uses standard iterator-based algorithms wherever
+            possible. Assumes that the container provides
+            <code>begin</code> and end <code>end</code> member
+            functions that return iterators, and some or all of
+            <code>size</code>, <code>insert</code>, <code>erase</code>
+            and <code>push_back</code>, depending on what functions get
+            instantiated.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>list_algorithms</code>
+
+          </td>
+          <td>
+
+            Similar to the above (in fact, it derives from
+            <code>default_algorithms</code>) except that it uses
+            container member functions <code>reverse</code> and
+            <code>sort</code> instead of the iterator-based
+            versions. Defined in
+            <code>boost/python/suite/indexing/list.hpp</code>.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>assoc_algorithms</code>
+
+          </td>
+          <td>
+
+            Also derived from <code>default_algorithms</code>, for use
+            with associative containers. Uses the container member
+            function <code>find</code> for indexing, and member
+            function <code>count</code> instead of iterator-based
+            implementations.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>set_algorithms</code>
+
+          </td>
+          <td>
+
+            Derived from <code>assoc_algorithms</code> to handle
+            <code>set</code> insertion operations, which are slightly
+            different to the <code>map</code> versions.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>map_algorithms</code>
+
+          </td>
+          <td>
+
+            Derived from <code>assoc_algorithms</code> to handle
+            <code>map</code> insertion and lookup, which are slightly
+            different to the <code>set</code> versions.
+
+          </td>
+        </tr>
+      </tbody></table>
+
+    </p>
+    <p>
+
+      The <code>default_algorithms</code> template attempts to place
+      as few restrictions as possible on the container type, by using
+      iterators and standard algorithms in most of its functions. It
+      accepts an optional second template parameter, which can be used
+      via the curiously recurring template idiom to replace any of its
+      functions that it relies on internally. For instance, if you've
+      created an iterator-style interface to a container that is not
+      at all STL-like (let's call it <code>weird_container</code>),
+      you might be able to re-use most of
+      <code>default_algorithms</code> by replacing its basic functions
+      like this:
+
+    </p>
+    <p>
+</p><pre>namespace indexing = boost::python::indexing;
+
+struct my_algorithms
+  : public indexing::default_algorithms <
+      weird_container_traits, my_algorithms
+  >
+{
+  size_t size (weird_container const &c) {
+    return ...;
+  }
+
+  my_iterator_t begin (weird_container &c) {
+    return ...;
+  }
+
+  my_iterator_t end (weird_container &c) {
+    return ...;
+  }
+};
+</pre>
+    <p></p>
+
+    <h2><a name="SliceHelper">SliceHelper</a></h2>
+
+    <p>
+
+      Support code for Python slices is split into two portions, the
+      <code>slice_handler</code> template, and a "slice helper" that
+      can easily be replaced by client code via a typedef and factory
+      function in the <code>Algorithms</code> argument supplied to
+      <code>container_suite</code>. The slice helper object takes care
+      of reading and writing elements from a slice in a C++ container,
+      and optionally insertion and deletion. Effectively, the slice
+      helper object maintains a pointer to the current element of the
+      slice within the container, and provides a <code>next</code>
+      function to advance to the next element of the slice. The
+      container suite uses the following interface for slices:
+
+    </p>
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th>
+
+            Expression
+
+          </th>
+          <th>
+
+            Return type
+
+          </th>
+          <th>
+
+            Notes
+
+          </th>
+        </tr>
+        <tr>
+          <td>
+
+            <code>Algorithms::</code> <code>make_slice_helper</code>
+            <code>(c, s)</code>
+
+          </td>
+          <td>
+
+            <code>Algorithms::</code> <code>slice_helper</code>
+
+          </td>
+          <td>
+
+            <code>c</code> is of type
+            <code>Algorithms::</code> <code>container &</code> and
+            <code>s</code> is of type <code>indexing::</code>
+            <code>slice const &</code>.
+            Returns a newly constructed <code>slice_helper</code>
+            object by value.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>slice_helper.</code><code>next()</code>
+
+          </td>
+          <td>
+
+            <code>bool</code>
+
+          </td>
+          <td>
+
+            Advances the slice helper's current element pointer to the
+            next element of the slice. Returns true if such an element
+            exists, and false otherwise. The first time this function
+            is called, it should set the current pointer to the first
+            element of the slice (if any).
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>slice_helper.</code> <code>current()</code>
+
+          </td>
+          <td>
+
+            <code>Algorithms::</code> <code>reference</code>
+
+          </td>
+          <td>
+
+            Returns a reference to the current element of the
+            slice. This will only be called if the last call to
+            <code>next()</code> returned true.
+
+          </td>
+        </tr>
+        <tr>
+          <td>
+
+            <code>slice_helper.</code><code>write (v)</code>
+
+          </td>
+          <td>
+
+            <code>void</code>
+
+          </td>
+          <td>
+
+            The parameter <code>v</code> is of type
+            <code>Algorthims::value_param</code>.  Advances to the
+            next element of the slice, as defined in
+            <code>next</code>, and writes the given value
+            <code>v</code> at the new location in the container.If the
+            slice is exhausted (i.e. <code>next</code> would return
+            false) then <code>write</code> <i>either</i> inserts the
+            value into the container at the next location (past the
+            end of the slice), <i>or</i> sets a Python exception and
+            throws.
+
+          </td>
+        </tr>
+        <tr>
+          <td>
+
+            <code>slice_helper.</code> <code>erase_remaining()</code>
+
+          </td>
+          <td>
+
+            <code>void</code>
+
+          </td>
+          <td>
+
+            <i>Either</i> erases any remaining elements in the slice
+            not already consumed by calls to <code>next</code> or
+            <code>write</code>,
+            <i>or</i> sets a Python exception and throws.
+
+          </td>
+        </tr>
+      </tbody></table>
+    </p>
+
+    <p>
+
+      The container suite provides a generic implementation of the
+      <code>SliceHelper</code> requirements for containers that have
+      integer-like indexes. It is parameterized with a
+      <code>SliceType</code> parameter that allows the integer index
+      values to come from various different sources, the default being
+      the <code>PySlice_GetIndices</code> function. Refer to the
+      header file <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/boost/python/suite/indexing/int_slice_helper.hpp"><code>int_slice_helper.hpp</code></a>
+      and the references to it in the <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/boost/python/suite/indexing/algorithms.hpp"><code>algorithms.hpp</code></a>
+      header for details.
+
+    </p>
+
+    <h2><a name="container_proxy">container_proxy</a></h2>
+
+    <p>
+
+      The <code>container_proxy</code> template provides an emulation
+      of Python reference semantics for objects held by value in a
+      vector-like container. Of course, this introduces some
+      performance penalties in terms of memory usage and run time, so
+      the primary application of this template is in situations where
+      all of the following apply:
+
+      </p><ol>
+        <li>
+
+          It is not practical to switch to a container of shared
+          pointers
+
+        </li>
+        <li>
+
+          Python code requires reference semantics for the objects
+          within the container
+
+        </li>
+        <li>
+
+          Element insertion, deletion or assignment takes place, so
+          that using <code>return_internal_reference</code> would be
+          dangerous.
+
+        </li>
+      </ol>
+
+    <p></p>
+
+    <p>
+
+
+      The <code>container_proxy</code> template wraps any vector-like
+      container and presents an interface that is similar to that of
+      <code>std::vector</code>, but which returns
+      <code>element_proxy</code> objects instead of plain references
+      to values stored in the wrapped container. During an operation
+      that alters the position of an element within the container
+      (e.g. <code>insert</code>) the <code>container_proxy</code> code
+      updates the relevant proxy objects, so that they still refer to
+      the <i>same</i> elements at their new locations. Any operation
+      that would delete or overwrite a value in the container
+      (e.g. <code>erase</code>) copies the to-be-deleted value into
+      its corresponding proxy object. This means that a proxy's
+      "reference" to an element is robust in the face of changes to
+      the element's position in the container, and even the element's
+      removal.
+
+    </p>
+    <p>
+
+      Ideally, any code that changes the positions of elements within
+      the container would use only the <code>container_proxy</code>
+      interface, to ensure that the proxies are maintained in
+      synchronization. Code that otherwise makes direct modifications
+      to the raw container must notify the
+      <code>container_proxy</code> of the changes, as detailed in the
+      following section.
+
+    </p>
+
+    <h3>container_proxy interface</h3>
+
+    <p>
+
+      The <code>container_proxy</code> template takes three
+      parameters, only the first of which is mandatory:
+
+    </p>
+    <p>
+
+</p><pre>template<class Container
+       , class Holder = identity<Container>
+       , class Generator = vector_generator> class container_proxy;
+</pre>
+
+    <p></p>
+    <p>
+
+      The <code>Container</code> argument is the raw container type
+      that the <code>container_proxy</code> will manage. It must
+      provide random-access indexing.
+
+    </p>
+    <p>
+
+      The <code>Holder</code> argument determines how the
+      <code>container_proxy</code> stores the raw container object.
+      There are currently two types of holder implemented, the default
+      <code>identity</code> template which will store the raw
+      container by value within the <code>container_proxy</code>, and
+      the <code>deref</code> template which stores a (plain) pointer
+      to an external object. It would also be possible, for instance,
+      to create a holder that uses a <code>shared_pointer</code>, or
+      one that stores a pointer but performs deep copies.
+
+    </p>
+    <p>
+
+      The <code>Generator</code> argument determines what container to
+      use for storing the proxy objects. The argument must be a
+      suitable class so that
+      <code>Generator::apply<proxy_t>::type</code> is a typedef
+      for the container to use for storing the proxies. The default is
+      <code>vector_generator</code>, which generates
+      <code>std::vector</code> instances.  The usefulness of allowing
+      other generators can be seen from the example
+
+      <code>container_proxy<std::deque<...> ></code>.
+
+      Insertion at the beginning of this <code>container_proxy</code>
+      requires an insertion at the beginning of the
+      <code>std::deque</code> raw container, which has amortized
+      constant time complexity. However, it also requires an insertion
+      at the beginning of the proxy container, which (using the
+      <code>std::vector</code> provided by
+      <code>vector_generator</code>) has linear time complexity. If
+      this is a significant issue, you can use a custom
+      <code>Generator</code> to match the performance characteristics
+      of the proxy container to those of the raw container.
+
+    </p>
+    <p>
+
+      Examples in <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/test/test_container_proxy.cpp">libs/python/test/test_container_proxy.cpp</a>
+      ...
+
+    </p>
+
+    <h3>Synopsis: boost/python/suite/indexing/container_proxy.hpp</h3>
+
+<pre>namespace boost { namespace python { namespace indexing {
+  template<class Container
+         , class Holder = identity<Container>
+         , class Generator = vector_generator>
+  class container_proxy
+  {
+  public:
+    typedef typename Container::size_type size_type;
+    typedef typename Container::difference_type difference_type;
+    typedef typename Container::value_type raw_value_type;
+
+    typedef typename Holder::held_type held_type;
+
+    typedef <i>implementation defined</i> value_type;
+    typedef <i>implementation defined</i> const_value_type;
+    typedef <i>implementation defined</i> iterator;
+    typedef <i>implementation defined</i> const_iterator;
+
+    typedef value_type        reference;       // Has reference semantics
+    typedef const_value_type  const_reference; // Has reference semantics
+
+    container_proxy ();
+    explicit container_proxy (held_type const &);
+    template<typename Iter> container_proxy (Iter, Iter);
+
+    container_proxy (container_proxy const &);
+    container_proxy &operator= (container_proxy const &);
+    ~container_proxy ();
+
+    Container const &raw_container() const;   // OK to expose const reference
+
+    reference       at (size_type);
+    const_reference at (size_type) const;
+
+    reference       operator[] (size_type);
+    const_reference operator[] (size_type) const;
+
+    size_type size() const;
+    size_type capacity() const;
+    void reserve(size_type);
+
+    iterator begin();
+    iterator end();
+
+    iterator erase (iterator);
+    iterator erase (iterator, iterator);
+    iterator insert (iterator, raw_value_type const &);
+    template<typename Iter> void insert (iterator, Iter, Iter);
+
+    void push_back (raw_value_type const &);
+    value_type pop_back ();
+
+    // These functions are not normally necessary. They notify the
+    // container_proxy of changes to the raw container made by other
+    // code (see documentation for details)
+    void detach_proxy (size_type index);
+    void detach_proxies (size_type from, size_type to);
+    void prepare_erase (size_type from, size_type to);
+    void notify_insertion (size_type from, size_type to);
+  };
+} } }
+</pre>
+
+    <p>
+      The <code>identity</code> template.
+
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename T> struct identity {
+    typedef T held_type;
+
+    static T &       get(T &       obj) { return obj; }
+    static T const & get(T const & obj) { return obj; }
+
+    static T    create ()                     { return T(); }
+    static T    copy   (T const &copy)        { return copy; }
+    static void assign (T &to, T const &from) { to = from; }
+    static void pre_destruction (T &)         { }
+  };
+} } }
+</pre>
+    <p></p>
+
+    <p>
+      The <code>deref</code> template.
+
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename P> struct deref {
+    typedef P held_type;
+
+    typedef typename boost::iterator_value<P>::type     value;
+
+    static value &       get (P &       ptr)  { return *ptr; }
+    static value const & get (P const & ptr)  { return *ptr; }
+
+    static P    create ()                     { return P(); }
+    static P    copy   (P const &copy)        { return copy; }
+    static void assign (P &to, P const &from) { to = from; }
+    static void pre_destruction (P &)         { }
+  };
+} } }
+</pre>
+    <p></p>
+
+    <p>
+      The <code>vector_generator</code> class.
+
+</p><pre>namespace boost { namespace python { namespace indexing {
+  struct vector_generator {
+    template<typename Element> struct apply {
+      typedef std::vector<Element> type;
+    };
+  };
+} } }
+</pre>
+    <p></p>
+
+
+    <h3>container_proxy implementation notes</h3>
+
+    <p>
+
+      An <code>element_proxy</code> refers to an element of the
+      container via two levels of indirection – it holds a
+      pointer to a so-called <code>shared_proxy</code> object, which
+      has a pointer back to the <code>container_proxy</code> object
+      and an element index within the wrapped container. This can be
+      seen in the following diagram, which shows a
+      <code>container_proxy< vector<int> ></code>
+      containing the three elements 111, 222 and 333.
+
+    </p><p>
+
+    <table>
+      <tbody><tr>
+        <td>
+
+          <img src="indexing_suite_v2_files/proxy.png" alt="Interrelations between container_proxy, its container
+          and an element proxy" height="285" width="686">
+
+        </td>
+      </tr>
+      <tr>
+        <td><font size="-1">
+
+          Diagram 2. Example of <code>container_proxy</code> with an
+          element proxy
+
+        </font></td>
+      </tr>
+    </tbody></table>
+
+    </p>
+
+      In the example above, the shown <code>element_proxy</code>
+      object refers (indirectly) to the container element with the
+      value 222. An insertion before this element would increment the
+      index numbers in the <code>shared_proxy</code> objects so that
+      the given <code>element_proxy</code> continues to refer to the
+      same value at its new location.  Similary, a deletion before the
+      element would decrement the affected <code>shared_proxy</code>
+      indexes. If the referenced element itself gets deleted or
+      overwritten, the <code>shared_proxy</code> first takes a
+      <i>copy</i> of the original value, and is then considered to be
+      <i>detached</i> from the <code>container_proxy</code>. This
+      situation is shown below in diagram 3.
+
+    <p></p>
+
+    <table>
+      <tbody><tr>
+        <td>
+
+          <img src="indexing_suite_v2_files/proxy_detached.png" alt="Element proxy when detached from its container" height="105" width="403">
+
+        </td>
+      </tr>
+      <tr>
+        <td><font size="-1">
+
+          Diagram 3. Example of <code>element_proxy</code> with
+          detached <code>shared_proxy</code>
+
+        </font></td>
+      </tr>
+    </tbody></table>
+
+    <h2><a name="iterator_range">iterator_range</a></h2>
+
+    <p>
+
+      The <code>iterator_range</code> template provides a
+      container-like interface to a range defined by two iterators.
+      The interface is complete enough to provide any Python method
+      that does not require insertion or deletion, e.g.
+      <code>len</code>, <code>index</code> and <code>sort</code>. See
+      the <code>get_array_plain</code> function in <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/test/test_array_ext.cpp">libs/python/test/test_array_ext.cpp</a>
+      for an example usage. If you only need iteration over the values
+      in a range, consider using the simpler <code>range</code>
+      function provided by <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/iterator.html">boost/python/iterator.hpp</a>
+
+    </p>
+    <p>
+
+      Beware that C++ iterators are not very Python-like, since they
+      do not provide any guarantees about the lifetimes of the objects
+      they refer to. Invalidating either of the iterators stored in an
+      <code>iterator_range</code> object is dangerous, since
+      subsequently using the iterators (from Python or C++) results in
+      undefined behaviour.
+
+    </p>
+    <p>
+
+      <code>iterator_range</code> should work with any
+      <code>ForwardIterator</code> type.
+
+    </p>
+
+    <h3>Synopsis: boost/python/suite/indexing/iterator_range.hpp</h3>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename Iterator>
+  class iterator_range
+  {
+  private:
+    typedef typename boost::call_traits<Iterator>::param_type iterator_param;
+    typedef std::iterator_traits<Iterator> std_traits;
+
+  public:
+    typedef typename std_traits::reference       reference;
+    typedef Iterator                             iterator;
+    typedef typename std_traits::difference_type size_type;
+    typedef typename std_traits::difference_type difference_type;
+    typedef typename std_traits::value_type      value_type;
+    typedef typename std_traits::pointer         pointer;
+
+    iterator_range (iterator_param, iterator_param);
+    iterator_range (std::pair<iterator, iterator> const &);
+
+    iterator begin() const;
+    iterator end() const;
+
+    size_type size () const;
+    reference operator[] (size_type) const;
+    reference at (size_type) const;
+
+  private:
+    // Member variables
+  };
+
+  template<typename T, std::size_t N> T *begin (T (&array)[N]);
+  template<typename T, std::size_t N> T *end   (T (&array)[N]);
+
+} } }
+</pre>
+    <p></p>
+
+    <h2><a name="workarounds">Compiler workarounds</a></h2>
+
+    <p>
+
+      It is possible to use the suite without partial template
+      specialization support, but the <code>algo_selector</code>
+      specializations for the standard containers does not work. To
+      avoid this problem, the client code must explicitly select the
+      <code>Algorithms</code> and <code>ContainerTraits</code>
+      instances to be used, and there are some additional support
+      templates in the container-specific header files for this
+      purpose.
+
+</p><pre>#include <boost/python/suite/indexing/vector.hpp>
+
+...
+
+  using namespace boost::python;
+  using namespace boost::python::indexing;
+
+  class_<std::vector<int> > ("vector_int")
+    .def (indexing::vector_suite <vector <int> >());
+</pre>
+
+    <p></p>
+
+    <p>
+
+      Microsoft Visual C++ 6.0 has a version of the standard
+      <code>deque</code> header that is incompatible with the
+      <code>container_proxy</code> template, since it lacks a correct
+      template version of the <code>insert</code> member function. An
+      updated copy of the <code>deque</code> header that fixes this
+      problem (among others) is available directly from <a href="http://www.dinkumware.com/vc_fixes.html">Dinkumware</a>
+      (at time of writing, 2003/11/04).
+
+    </p>
+
+    <h2><a name="limitations">Known limitations</a></h2>
+
+    <p>
+
+      This section lists known limitations of the container
+      interfaces. These may or may not get fixed in the future, so
+      check the latest release of Boost and/or the Boost CVS
+      repository. Feel free to submit your own improvements to the
+      mailing list for the <a href="http://www.python.org/sigs/c++-sig/">Python C++-SIG</a>.
+
+    </p>
+
+    <p>
+
+      The following Python sequence and mapping functions are not
+      currently implemented for any containers:
+
+      <code>keys, values, items, clear, copy, update,</code>
+      <code>pop, __add__, __radd__, __iadd__, __mul__, __rmul__</code>
+      and <code>__imul__</code>.
+
+      Most of the methods mentioned (except for <code>pop</code>)
+      present no particular difficulty to implement.  The problem with
+      <code>pop</code> is that it is incompatible with some return
+      value policies (for instance,
+      <code>return_internal_reference</code>) since it must return a
+      copy of an element that has already been removed from the
+      container. This probably requires an extension to the
+      <code>container_suite</code> interface, to allow the client code
+      the option of specifying a different return policy for this
+      method in particular.
+
+    </p>
+    <p>
+
+      The suite currently restricts itself to the normal Python
+      container interface methods, which do not expose all of the
+      interfaces available with the C++ containers. For example,
+      vector <code>reserve</code> has no equivalent in Python and is
+      not exposed by the suite. Of course, user code can still add a
+      <code>def</code> call for this manually.
+
+    </p>
+    <p>
+
+      The <code>map</code> iterator should return only the key part of
+      the values, but currently returns the whole
+      <code>std::pair</code>.
+
+    </p>
+    <p>
+
+      The <code>sort</code> method (where provided) should allow an
+      optional comparison function from Python.
+
+    </p>
+
+    <h2><a name="references">References</a></h2>
+
+    <p>
+
+      The Python Library Reference section on <a href="http://www.python.org/doc/current/lib/typesseq.html">Sequence
+      Types</a> and the Python Reference Manual section on <a href="http://www.python.org/doc/current/ref/sequence-types.html">Emulating
+      container types</a>. The <a href="http://webstore.ansi.org/ansidocstore/product.asp?sku=INCITS%2FISO%2FIEC+14882%2D1998">C++
+      Standard</a>.
+
+    </p>
+
+    <h2><a name="acknoweldegments">Acknowledgements and Copyright</a></h2>
+
+    <p>
+
+      Thanks to Joel de Guzman and David Abrahams for input and
+      encouragement during the development of the container suite, and
+      to and Ralf W. Grosse-Kunstleve for his invaluable support in
+      porting to various platforms. Joel wrote the original
+      implementation of the indexing support, which provided many of
+      the ideas embodied in the new implementation.
+
+    </p>
+
+    <p>
+
+      The container suite code and documentation are Copyright (c)
+      2003 by Raoul Gough, and licensed according to the <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/LICENSE_1_0.txt">Boost license</a>.
+
+    </p>
+
+  </body></html>
\ No newline at end of file
diff --git a/docs/indexing_suite_v2.html.rst b/docs/indexing_suite_v2.html.rst
new file mode 100644
index 0000000..96a8f4a
--- /dev/null
+++ b/docs/indexing_suite_v2.html.rst
@@ -0,0 +1,6 @@
+=================
+Indexing Suite V2
+=================
+
+.. raw:: html
+   :file: indexing_suite_v2.html
diff --git a/docs/indexing_suite_v2_files/boost.css b/docs/indexing_suite_v2_files/boost.css
new file mode 100644
index 0000000..6b96aab
--- /dev/null
+++ b/docs/indexing_suite_v2_files/boost.css
@@ -0,0 +1,59 @@
+H1
+{
+    FONT-SIZE: 200%
+    COLOR: #00007f
+}
+H2
+{
+    FONT-SIZE: 150%;
+}
+H3
+{
+    FONT-SIZE: 125%;
+}
+H4
+{
+    FONT-SIZE: 108%;
+}
+BODY
+{
+    FONT-SIZE: 100%;
+    BACKGROUND-COLOR: #ffffff
+}
+PRE
+{
+    MARGIN-LEFT: 2pc;
+    FONT-SIZE: 80%;
+    BACKGROUND-COLOR: #dfffff
+}
+CODE
+{
+    FONT-SIZE: 95%;
+     white-space: pre
+}
+.index
+{
+    TEXT-ALIGN: left
+}
+.page-index
+{
+    TEXT-ALIGN: left
+}
+.definition
+{
+    TEXT-ALIGN: left
+}
+.footnote
+{
+    FONT-SIZE: 66%;
+    VERTICAL-ALIGN: super;
+    TEXT-DECORATION: none
+}
+.function-semantics
+{
+    CLEAR: left
+}
+.metafunction-semantics
+{
+    CLEAR: left
+}
diff --git a/docs/indexing_suite_v2_files/cboost.gif b/docs/indexing_suite_v2_files/cboost.gif
new file mode 100644
index 0000000..58be431
Binary files /dev/null and b/docs/indexing_suite_v2_files/cboost.gif differ
diff --git a/docs/indexing_suite_v2_files/overview.png b/docs/indexing_suite_v2_files/overview.png
new file mode 100644
index 0000000..0f59b51
Binary files /dev/null and b/docs/indexing_suite_v2_files/overview.png differ
diff --git a/docs/indexing_suite_v2_files/proxy.png b/docs/indexing_suite_v2_files/proxy.png
new file mode 100644
index 0000000..5eb11a7
Binary files /dev/null and b/docs/indexing_suite_v2_files/proxy.png differ
diff --git a/docs/indexing_suite_v2_files/proxy_detached.png b/docs/indexing_suite_v2_files/proxy_detached.png
new file mode 100644
index 0000000..97cb5d1
Binary files /dev/null and b/docs/indexing_suite_v2_files/proxy_detached.png differ
diff --git a/docs/inserting_code.rst b/docs/inserting_code.rst
new file mode 100644
index 0000000..40fe870
--- /dev/null
+++ b/docs/inserting_code.rst
@@ -0,0 +1,247 @@
+==============
+Inserting code
+==============
+
+------------
+Introduction
+------------
+
+:doc:`Py++ <index>` is not a magician! Sometimes there is a need to add code to
+generated file(s). This document will describe how you can insert your code to
+almost any place.
+
+---------------------
+Insert code to module
+---------------------
+
+Almost every ``Boost.Python`` module has the following structure:
+
+.. code-block:: c++
+
+  //declarations code
+  ...
+  BOOST_PYTHON_MODULE(X)
+  {
+    //registrations code
+    ...
+  }
+
+Using ``module_builder_t`` you can add code to declaration and registration
+sections. More over you can add the code to head or tail of the section.
+``module_builder_t`` class provides API, which will help you to complete the task:
+
+* ``add_declaration_code( self, code, tail=True )``
+
+  This function will add a code to the declaration section. If you want to add
+  the code to the head of the section, pass ``tail=False`` to the method.
+
+* ``add_registration_code( self, code, tail=True )``
+
+  This function will add a code to the registration section. If you want to add
+  the code to the head of the section, pass ``tail=False`` to the method.
+
+Example
+-------
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  mb.build_code_creator( ... )
+  mb.add_declaration_code( '//just a comment' )
+  mb.add_registration_code( '//another comment', False ) #adding code to the head
+
+
+--------------------
+Insert code to class
+--------------------
+
+``class_t`` declaration defines few methods, which add user code to the generated one.
+Lets take a look on the following use case:
+
+.. code-block:: c++
+
+  struct window_t{
+      ...
+      void get_size( int& height, int& width ) const;
+      ...
+  };
+
+``int`` is immutable type in Python. So you cannot expose ``get_size`` member
+function as is. You need to create a wrapper and expose it.
+
+In the near future :doc:`Py++ <index>` will eliminate the need of creating hand
+written wrapper for this use case.
+
+.. code-block:: c++
+
+  boost::python::tuple get_window_size( const window_t& win ){
+      int h(0), w(0);
+      win.get_size( h, w );
+      return boost::python::make_tuple( h, w );
+  }
+
+Now you have to register it:
+
+.. code-block:: c++
+
+  using boost::python;
+  class_< window_t >( ... )
+      .def( "get_size", &::get_window_size )
+      ...
+  ;
+
+How it could be achieved with :doc:`Py++ <index>`? Class declaration, has also two
+functions:
+
+* ``add_declaration_code( self, code )``
+
+  This method will add the code to the declaration section within the module.
+
+  If you split your module to few files, :doc:`Py++ <index>` will add this code to the
+  "cpp" file, class registration code will be written in.
+
+  Attention: there is no defined order between wrapper code and declaration section
+  code. If you have dependencies between code from declaration section and class
+  wrapper, consider to move declaration code to class wrapper.
+
+* ``add_registration_code( self, code, works_on_instance=True )``
+
+  This method will add the code to the registration section of the class.
+
+  What is ``works_on_instance`` argument for? In our case, we added new method
+  to the class. The first argument of the call will be ``self``.
+
+  .. code-block:: python
+
+    #From Python user can call this method like this:
+    win = window_t( )
+    height, width = win.get_size()
+
+  If you will pass ``works_on_instance=False`` the following code will be generated:
+
+  .. code-block:: c++
+
+    {
+        class_< window_t > window_exporter( "window_t" );
+        scope window_scope( window_exporter );
+        ...
+        def( "get_size", &::get_window_size );
+    }
+
+  And in this case, user will be forced to pass reference to ``window_t`` object:
+
+  .. code-block:: c++
+
+    win = window_t()
+    height, width = window_t.get_size( win )
+
+Example
+-------
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  window = mb.class_( 'window_t' )
+  window.add_declaration_code( get_window_size definition )
+  window.add_registration_code( 'def( "get_size", &::get_window_size )' )
+  #Py++ will add ';' if needed
+
+----------------------------
+Insert code to class wrapper
+----------------------------
+
+There are use cases, when you have to add code to `class wrapper`_. Please take a
+look on the following thread: http://mail.python.org/pipermail/c++-sig/2006-June/010791.html .
+
+
+.. _`class wrapper` : http://boost.org/libs/python/doc/tutorial/doc/html/python/exposing.html#python.class_virtual_functions
+
+
+The short description is the following: there are classes with parent/child relationship.
+Parent keeps child class instances using raw pointer. When parent die, it also
+destroys children classes. It is not an option to switch to ``boost::shared_ptr``.
+
+The solution Niall Douglas found was to implement small lifetime manager. For
+this solution he needed:
+
+* to add to every constructor of class wrapper some code that registers the
+  instance of the class within the manager
+
+* to add to destructor of class wrapper some code, that will destroy the instance
+  if needed.
+
+* to add to class wrapper new variable
+
+Solution
+--------
+
+.. code-block:: python
+
+  def inject_code( cls ):
+      constructors = cls.constructors()
+      constructors.body = class instance registration code
+      #if you need to add code to default or copy constructor only
+      #than you can you the following shortcuts
+      cls.null_constructor_body = <<<your code>>>
+      cls.copy_constructor_body = <<<your code>>>
+      #which will update the appropriate ``body`` property.
+
+      #If you want to add code to the class destructor,
+      #use ``add_destructor_code`` method
+      cls.add_destructor_code( <<<your code>>> )
+
+      #If you need to add new class variables:
+      cls.add_wrapper_code( <<<variable declaration>>> )
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  for cls in mb.classes( <<<relevant classes only>>> ):
+    inject_code( cls )
+
+------------
+Header files
+------------
+
+Now, when you know how to add your code to a generated one, I think you also should
+now how to add your own set of include directives to the generated files. There
+are few ways to do this.
+
+1. The easiest and the most effective one - tell to :doc:`Py++ <index>` that generated code
+   for the declaration should include additional files:
+
+   .. code-block:: python
+
+     mb = module_builder_t( ... )
+     my_class = mb.class_( ... )
+     my_class.include_files.append( "vector" )
+
+   Every declaration has ``include_files`` property. This is a list of header files,
+   you want to include from the generated file(s).
+
+2. Other approach is a little bit low level, but it allows you to add your header
+   files to every generated file:
+
+   .. code-block:: python
+
+     mb = module_builder_t( ... )
+     ...
+     mb.build_code_creator( ... )
+     mb.code_creator.add_include( "iostream" )
+
+   You can also replace all (to be) generated header files with your own set:
+
+   .. code-block:: python
+
+     mb.code_creator.replace_included_headers( ["stdafx.h"] )
+
+Of course you can, and may be should, use both approaches.
+
+I suggest you to spend some time and to tweak :doc:`Py++ <index>` to generate source code
+with as little as possible include directives. This will save you huge amount of
+time later.
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/links.rst b/docs/links.rst
new file mode 100644
index 0000000..8bd7d65
--- /dev/null
+++ b/docs/links.rst
@@ -0,0 +1,116 @@
+=====
+Links
+=====
+
+----
+Wiki
+----
+
+Thanks to Allen Bierbaum :doc:`Py++ <../index>` now has `wiki`_. We use it primary to
+discuss new features, which will be introduced in future versions.
+
+.. _`wiki` : https://realityforge.vrsource.org/view/PyppApi/WebHome
+
+-------
+Reading
+-------
+
+* `Building Hybrid Systems with Boost.Python`_
+
+  .. _`Building Hybrid Systems with Boost.Python` : http://www.boost-consulting.com/writing/bpl.html
+
+* `A rationale for semantically enhanced library languages`_
+
+  .. _`A rationale for semantically enhanced library languages` : http://www.research.att.com/~bs/SELLrationale.pdf
+
+  ".. A Semantically Enhanced Library Language (a SEL language or a SELL) is a
+  dialect created by supersetting a language using a library and then subsetting
+  the result using a tool that `understands` the syntax and semantics of both
+  the underlying language and the library. ..."
+
+  :doc:`Py++ <../index>` + Boost.Python is a SELL!
+
+
+* `Aspect oriented programming`_
+
+  .. _`Aspect oriented programming` : http://en.wikipedia.org/wiki/Aspect-oriented_programming
+
+  :doc:`Py++ <../index>` borrowed few ideas from this programming paradigm.
+
+--------------
+Help resources
+--------------
+
+* http://www.google.com :-)
+
+  This site uses Google custom search engine, turned to provide better results
+  when you search for materials related to `Boost.Python`_ library.
+
+* http://boost.org/libs/python/doc/index.html - tutorials, FAQs, reference
+  manuals
+
+* `Boost.Python wiki`_
+
+  .. _`Boost.Python wiki` : http://wiki.python.org/moin/boost%2epython?action=show&redirect=boost+2epython
+
+* http://boost.cvs.sourceforge.net/boost/boost/libs/python/test/ - `Boost.Python`_
+  unit tests. They could be very, very helpful.
+
+* http://pygccxml.svn.sourceforge.net/viewvc/pygccxml/pyplusplus_dev/unittests/ - :doc:`Py++ <../index>`
+  unit tests. They could be even more helpful!
+
+-------------
+Mailing lists
+-------------
+
+* `C++-sig`_ - development of Python/C++ bindings
+
+  .. _`C++-sig` : http://mail.python.org/mailman/listinfo/c++-sig/
+
+* `Py++ mailing list`_
+
+  .. _`Py++ mailing list` : http://sourceforge.net/mail/?group_id=118209
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+
+----------------------------------
+Libraries inspired by Boost.Python
+----------------------------------
+
+* `Luabind`_ - interfacing C++ and `Lua`_
+
+.. _`Luabind` : http://www.rasterbar.com/products/luabind/docs.html
+.. _`Lua` : http://www.lua.org/
+
+* `Pyd`_ - interfacing C++ and `D programming language`_
+
+.. _`Pyd` : http://pyd.dsource.org/index.html
+.. _`D programming language` : http://www.digitalmars.com/d/
+
+* `Sq Plus`_ - interfacing C++ and `Squirrel`_
+
+.. _`Sq Plus` : http://wiki.squirrel-lang.org/default.aspx/SquirrelWiki/SqPlus.html
+.. _`Squirrel` : http://wiki.squirrel-lang.org/
+
+-----------------------------
+Projects inspired by Py++ :-)
+-----------------------------
+
+* `PyBindGen`_ -  a new project for producing Python extensions
+
+.. _`PyBindGen` : https://launchpad.net/pybindgen
+
+-----
+Blogs
+-----
+
+* http://www.shocksolution.com/math_tools/boost.python/index.html - this site
+  contains few useful Boost.Python examples and tutorials.
+
+-------------
+Build systems
+-------------
+
+http://www.scons.org/wiki/GCCXMLBuilder - Joseph Lisee shows how to integrate
+Py++ scripts with Scons.
+
diff --git a/docs/multi_module_development.rst b/docs/multi_module_development.rst
new file mode 100644
index 0000000..98d8483
--- /dev/null
+++ b/docs/multi_module_development.rst
@@ -0,0 +1,161 @@
+========================
+Multi-module development
+========================
+
+------------
+Introduction
+------------
+
+It is a common practices to construct final program or a package from few
+different dependent or independent C++ libraries. Many time these libraries
+reuse classes\\functions defined in some other library. I think this is a must
+requirement from a code generator to be able to expose these libraries to `Python`_ ,
+without "re-exposing" the class\\functions definition twice.
+
+This functionality is new in version "0.8.6".
+
+---------------------
+Use case introduction
+---------------------
+
+Lets say that you have to expose few libraries, which deal with image processing:
+
+* ``core`` library - defines base class for all image classes - ``image_i``
+
+* ``png`` library - defines class ``png_image_t``, which derives from
+  ``core::image_i`` and implements functionality for "png" image format.
+
+The code:
+
+.. code-block:: c++
+
+  namespace core{
+      class image_i{
+          ...
+          virtual void load() = 0;
+      };
+  } //core
+
+  namespace png{
+      class png_image_t : public core::image_i{
+          ...
+          virtual void load();
+      };
+  }
+
+
+The desired goal is to expose every class in its own package.
+
+-------------------
+``already_exposed``
+-------------------
+
+Every :doc:`Py++ <index>` declaration has ``already_exposed`` property. This property says
+to :doc:`Py++ <index>` that the declaration is already exposed in another module:
+
+.. code-block:: python
+
+  #generate_code.py script
+
+  mb_core = module_builder_t( ... )
+  mb_core.class_( 'image_i' ).include()
+  mb_core.build_code_creator( 'core' )
+  mb.write_module( 'core.cpp' )
+
+  mb_png = module_builder_t( ... )
+  mb_png.class_( '::core::image_i' ).already_exposed = True
+  mb_png.class_( '::png::png_image_t' ).include()
+  mb_core.build_code_creator( 'png' )
+  mb.write_module( 'png.cpp' )
+
+:doc:`Py++ <index>` will generate code very similar to the the following one:
+
+.. code-block:: c++
+
+  //file core.cpp
+  namespace bp = boost::python;
+
+  struct image_i_wrapper : core::image_i, bp::wrapper< core::image_i > {
+      image_i_wrapper()
+      : core::image_i(), bp::wrapper< core::image_i >()
+      {}
+
+      virtual void load(  ){
+          bp::override func_load = this->get_override( "load" );
+          func_load(  );
+      }
+      ...
+  };
+
+  BOOST_PYTHON_MODULE(core){
+      bp::class_< image_i_wrapper, boost::noncopyable >( "image_i" )
+          ...
+          .def( "load", bp::pure_virtual( &::core::image_i::load ) );
+  }
+
+.. code-block:: c++
+
+  //file png.cpp
+  struct png_image_t_wrapper : png::png_image_t, bp::wrapper< png::png_image_t > {
+
+      png_image_t_wrapper()
+      : png::png_image_t(), bp::wrapper< png::png_image_t >()
+      {}
+
+      virtual void load(  ) {
+          if( bp::override func_load = this->get_override( "load" ) )
+              func_load(  );
+          else
+              this->png::png_image_t::load(  );
+      }
+
+      void default_load(  ) {
+          png::png_image_t::load( );
+      }
+  };
+
+  BOOST_PYTHON_MODULE(pyplusplus){
+      bp::class_< png_image_t_wrapper, bp::bases< core::image_i > >( "png_image_t" )
+      //-------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^
+        ...
+        .def( "load", &::png::png_image_t::load, &png_image_t_wrapper::default_load );
+  }
+
+As you can see "png.cpp" file doesn't contains code, which exposes ``core::image_i``
+class.
+
+
+-----------------------
+Semi-automatic solution
+-----------------------
+
+``already_exposed`` solution is pretty good when you mix hand-written modules with
+the Py++ generated ones. It doesn't work/scale for "true" multi-module development.
+This is exactly the reason why :doc:`Py++ <index>` offers "semi automatic" solution.
+
+For every exposed module, :doc:`Py++ <index>` generates "exposed_decl.pypp.txt" file. This
+file contains the list of all parsed declarations and whether they were included
+or excluded. Later, when you work on another module, you can tell :doc:`Py++ <index>` that
+the current module depends on the previously generated one. :doc:`Py++ <index>` will load
+"exposed_decl.pypp.txt" file and update the declarations.
+
+Usage example:
+
+.. code-block:: python
+
+   mb = module_builder_t( ... )
+   mb.register_module_dependency( <<<other module generated code directory>>> )
+
+
+------
+Caveat
+------
+
+You should import module "core", before "png". `Boost.Python`_ requires definition
+of any base class to be exposed\\registered before a derive one.
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/peps/dsl_challenge.rst b/docs/peps/dsl_challenge.rst
new file mode 100644
index 0000000..0372a41
--- /dev/null
+++ b/docs/peps/dsl_challenge.rst
@@ -0,0 +1,210 @@
+=============
+DSL challenge
+=============
+
+------------
+Introduction
+------------
+
+.. include:: ./dsl_challenge_introduction.irest
+
+-------------------
+Py++ user interface
+-------------------
+
+I will use the following C++ code as an example:
+
+.. code-block:: c++
+
+  namespace geometry{
+      struct Point{
+        Point();
+        Point(int x, int y);
+        Point( const Point& );
+
+        Point* create_new(){ return *this; }
+
+        int x, y;
+        int private_data;
+      };
+  }
+
+In order to export this class, we need:
+
+1. to set "call policies" to ``create_new`` member function
+
+2. to exclude ``private_data`` member variable
+
+3. to rename ``x`` and ``y`` to ``X`` and ``Y``
+
+Today, in order to configure this class, the user has to write the following code:
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  Point = mb.class_( 'Point' )
+  Point.member_function( 'create_new' ).call_policies = ...
+  Point.member_variable( 'private_data' ).exclude()
+  Point.member_variable( 'x' ).rename( 'X' )
+  Point.member_variable( 'Y' ).rename( 'Y' )
+  #or
+  for mvar in Point.member_variables():
+      mvar.rename( mvar.name.upper() )
+
+If class ``Point`` is not unique, than user will have to write a little bit
+different code:
+
+.. code-block:: python
+
+  Point = mb.global_ns.namespace('geometry').class( 'Point' )
+
+The current approach is pretty readable and simple. The drawbacks of this approach
+are:
+
+1. before the user starts with :doc:`Py++ <../index>` he is forced to read a lot of documentation
+2. verbosity - in order to complete the task, the user have to write "a lot" of
+   code
+
+------------------
+Better API (B-API)
+------------------
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  Point = mb.module.geometry.Point
+  Point.create_new.call_policies = ...
+  Point.private_data.exclude()
+  Point.x.rename( 'X' )
+  Point.y.rename( 'Y' )
+
+What you see here is DSL!
+
+----------
+Comparison
+----------
+
+I don't argue, that the second way is better. I would like to expose you to few
+problems it has.
+
+Rule based approach
+-------------------
+
+B-API does not allow to use "rule based" approach and to work on the whole
+declarations tree!
+
+Special syntax
+--------------
+
+Special syntax should be introduce to support
+
+* template instantiations
+
+  B-API does not work for template instantiated classes and functions. If we change
+  class ``Point`` to be template, the special syntax should be introduced:
+
+    .. code-block:: c++
+
+     template < class Numeric >
+     struct Point{
+         ...
+     };
+
+    .. code-block:: python
+
+       PointTmpl = mb.module.template('Point')
+       Point = PointTmpl( 'int' )
+
+  This is a trivial example, which is why it looks great. Consider the following class:
+
+    .. code-block:: c++
+
+       template< class String, class Allocator >
+       class regex{ ... }
+
+  The code the user will need to write is:
+
+    .. code-block:: python
+
+       regex_tmpl = mb.module.geometry.template( 'regex' )
+       #white spaces and scope resolution( :: ) are important
+       regex_std_string = regex_tmpl(
+             '::std::basic_string<char,std::char_traits<char>,std::allocator<char> >'
+           , '::std::allocator<char>' )
+
+  Using current :doc:`Py++ <../index>` interface the user can get reference to the class
+  instantiation in one line of code:
+
+    .. code-block:: python
+
+       regex_std_string = mb.class_(
+          lambda decl: decl.name.startswith( 'regex' ) and 'wchar_t' not in decl.name )
+
+* overloaded functions resolution
+
+  There are use cases, when overloaded functions should be treated differently.
+  It is not possible to distinguish between different functions, using B-API syntax.
+
+* C++ operators
+
+  They also require special syntax.
+
+Readability counts
+------------------
+
+It is not clear from the script, on how many and on what declarations
+configuration is applied. It is possible to introduce a bug. Using current :doc:`Py++ <../index>`
+API the user always states, whether he expects a declaration to be unique or not
+and its type.
+
+Full name
+---------
+
+Using B-API the user is forced to write full declaration name, otherwise he faces
+the following problem:
+
+  .. code-block:: python
+
+     Point = mb.module.Point
+
+Lets analyze what the ``Point`` value:
+
+1. It could be reference to a declaration, that has name "Point" and it is
+   defined under global namespace.
+
+2. It could be a set of declarations that has "Point" as a name from all classes
+   and namespaces. In our case it will contain at lease reference to class
+   "Point" declaration and its constructors.
+
+   There are a lot of use cases, when the user has to add some code to the class:
+
+   .. code-block:: python
+
+      Point.add_registration_code( ... )
+
+   Constructor declaration does not define ``add_registration_code`` method.
+   According to Python rules: "Errors should never pass silently", exception
+   should be raised.
+
+Another Python rule says: "In the face of ambiguity, refuse the temptation to guess".
+
+-----------
+Action item
+-----------
+
+I think, it should be obvious to you, that we cannot drop current :doc:`Py++ <../index>` user
+interface. The only solution I see, is to build B-API on top of it. The reason
+the project does not have B-API is simple. I don't feel comfortable to introduce
+it, while I am aware to all these problems.
+
+The title of this section should be **Your action item** :-). I will be glad
+to implement B-API, if we can solve all the problems. Consider to contribute your
+experience and knowledge to fix the situation. I am sure together we will build
+very powerful and easy to use code generator.
+
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/peps/dsl_challenge_introduction.irest b/docs/peps/dsl_challenge_introduction.irest
new file mode 100644
index 0000000..6d8ce67
--- /dev/null
+++ b/docs/peps/dsl_challenge_introduction.irest
@@ -0,0 +1,11 @@
+
+More or less formal definition of DSL could be found `here`__.
+
+.. __ : http://en.wikipedia.org/wiki/Domain_Specific_Language
+
+`Py++` has been created to solve single and well-defined problem: to create
+Python bindings for C++ projects. The good news - `Py++` achieved the goal,
+the bad news - users are forced to read the documentation. DSL cannot completely
+solve the problem, but it can eliminate the need to read documentation in 80% of
+the cases.
+
diff --git a/docs/peps/peps_index.rst b/docs/peps/peps_index.rst
new file mode 100644
index 0000000..677f300
--- /dev/null
+++ b/docs/peps/peps_index.rst
@@ -0,0 +1,21 @@
+====
+TODO
+====
+
+-----------
+Description
+-----------
+
+This page is an official `Py++` "TODO" page.
+
+For small features, the description of the feature and it's implementation will
+be written here. Big features will get their own page.
+
+.. toctree::
+
+   Domain Specific Language( DSL ) challenge <dsl_challenge.rst>
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/properties.rst b/docs/properties.rst
new file mode 100644
index 0000000..2951771
--- /dev/null
+++ b/docs/properties.rst
@@ -0,0 +1,163 @@
+==========
+Properties
+==========
+
+------------
+Introduction
+------------
+
+`Boost.Python`_ allows users to specify class properties. You can read about
+this functionality in the `tutorials`_  or in the `reference manual`_. Since
+version 0.8.2 :doc:`Py++ <index>` provides a convenient API to specify class properties.
+
+.. _`tutorials` : http://boost.org/libs/python/doc/tutorial/doc/html/python/exposing.html#python.class_properties
+.. _`reference manual` : http://boost.org/libs/python/doc/v2/class.html
+
+-------------
+Usage example
+-------------
+
+.. code-block:: c++
+
+  struct number{
+      ...
+      float value() const;
+      void  set_value( float );
+      ...
+  private:
+      float m_value;
+  }
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  number = mb.class_( 'number' )
+  number.add_property( 'ro_value', number.member_function( 'value' ) )
+  number.add_property( 'value'
+                       , number.member_function( 'value' )
+                       , number.member_function( 'set_value' ) )
+
+This is rather the hard way to add properties to the class. :doc:`Py++ <index>` comes with
+built-in algorithm, which automatically recognizes properties and adds them to the
+class:
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  number = mb.class_( 'number' )
+  number.add_properties( exclude_accessors=False ) #accessors will be exposed
+
+Small advise to you: try ``add_properties`` algorithm first, it should work.
+If it doesn't than:
+
+* Please, bring your use case to the developers of :doc:`Py++ <index>`, so we could improve
+  it
+
+* Switch to the ``add_property`` method for a while
+
+-------------
+Call policies
+-------------
+
+Consider the following use case:
+
+.. code-block:: c++
+
+  struct nested{ ... };
+
+.. code-block:: c++
+
+  struct data{
+      ...
+      const nested& get_nested() const
+      { return m_nested; }
+      ...
+  private:
+      nested m_nested;
+  };
+
+In order to expose ``get_nested`` member function you have to specify its
+`call policies`_. Same precondition holds for exposing member function as
+property:
+
+.. code-block:: python
+
+  mb = module_builder_t( ... )
+  get_nested = mb.member_function( 'get_nested' )
+  get_nested.call_policies = call_policies.return_internal_reference()
+  mb.class_( 'data' ).add_properties()
+
+:doc:`Py++ <index>` will take the `call policies`_ information from the relevant accessor.
+
+.. _`call policies` : http://boost.org/libs/python/doc/tutorial/doc/html/python/functions.html#python.call_policies
+
+------------------------------
+Property recognition algorithm
+------------------------------
+
+Description
+-----------
+
+In general the algorithm is very simple. :doc:`Py++ <index>` understands few coding
+conventions. It is aware of few widely used get\\set prefixes. It scans the class
+and its base classes for accessors and after this it tries to match between
+"get" and "set" accessors. If there is "set" accessors, but there is no "get"
+accessor, property will not be constructed. At least one accessor should belong
+to the class. In new property will override an existing exposed declarations
+property will not be created and warning will be written.
+
+Find accessors
+--------------
+
+This part of the algorithm is responsible for finding all functions, which meet
+get\\set accessors criteria.
+
+"get" accessor criteria
+~~~~~~~~~~~~~~~~~~~~~~~
+
+1. It does not have arguments.
+2. It has return other than ``void``.
+3. It does not modify the instance - has ``const`` attribute.
+4. It does not have an overload.
+
+"set" accessor criteria
+~~~~~~~~~~~~~~~~~~~~~~~
+
+1. It has only 1 argument.
+2. Its return type is ``void``.
+3. It do modify the instance - doesn't have ``const`` attribute.
+
+There are also few rules that applies on both accessor types:
+
+1. Accessor should be **included**.
+2. Accessor should be "public".
+3. It should not be static.
+4. It should not be pure virtual.
+
+
+Recognize property
+------------------
+
+This part of the algorithm is responsible to recognize the pair of "get" and "set"
+accessors, which constructs the property. :doc:`Py++ <index>` does it by analyzing name and
+type of the accessors.
+
+:doc:`Py++ <index>` understands the following coding conventions:
+
+* lowercase_with_underscores
+* UpperCamel
+* lowCamel
+
+It is also aware of few common prefixes for set\\get accessors: get, is, has, set,
+<<empty prefix for get accessor>>.
+
+-------------
+Documentation
+-------------
+You can use ``doc`` attribute to specify the property documentation. If you
+don't, than :doc:`Py++ <index>` will construct documentation, which will describe from what
+functions this property was built from.
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/pyplusplus_uml.vsd b/docs/pyplusplus_uml.vsd
new file mode 100644
index 0000000..cb80d05
Binary files /dev/null and b/docs/pyplusplus_uml.vsd differ
diff --git a/docs/quotes.rst b/docs/quotes.rst
new file mode 100644
index 0000000..3a0e1cb
--- /dev/null
+++ b/docs/quotes.rst
@@ -0,0 +1,160 @@
+=========================
+Users and quotes
+=========================
+
+-----------------
+What do they say?
+-----------------
+
+"... If you can, use pyplusplus over pyste. I say that for ALL users of
+pyste, pyplusplus is now mature enough to be useful as well as being
+actively developed. It can also do quite a few tricks pyste cannot. "
+
+  Niall Douglas, the author of  `TnFOX`_ library
+
+
+"... On a related note, I highly suggest that any users out there that have
+tried/used Pyste but have found it to be too lacking in power should
+really give pyplusplus a try.  It has allowed me to do everything I
+ever wanted to do with Pyste and couldn't and then some.  It is really
+a great tool and I can't thank Roman enough for taking the time to
+create it and make it available. "
+
+  Allen Bierbaum, the author of `PyOpenSG`_ library
+
+"... This rule based approach is amazing for maintenance, as it reduces the
+turnaround for binding new code. If the new Ogre API's follow similar rules and
+standards as previously defined, the same set of rules will appropriately bind
+the new API without any effort on the part of the maintainers. "
+
+" ... In general, I've really liked working with pyplusplus. I've probably spent
+20-30 hours working on these bindings, and they are very close to being equivalent
+to the PyOgre bindings (when I last used them). "
+
+  Lakin Wecker, the author of `Python-OGRE`_ project
+
+"... Py++ allows the wrappers to be "automagically" created, which means it's much
+easier to keep things up to date (the maintenance on the Py++ based wrapper is
+tiny compared to any other system I've used). It also allows us to wrap other
+libraries fairly easily. "
+
+  Andy Miller, a developer of `Python-OGRE`_ project
+
+"... I tried Py++ and it indeed automatically handles the case I outlined above
+concerning C-array members, and with much less tedious writing of registration
+code. I also found it convenient to use to insert some other C++ code for each
+of my structures that normally I wrote by hand. The API docs and examples on your
+webpage were very helpful. "
+
+  David Carpman
+
+
+"... I started a few months ago to develop a set of Python bindings for
+OpenCascade modeling/visualization library. After a quick tour to evaluate
+different solutions, my choice lead me to Py++, which is a very convenient
+tool : I was able to achieve the first release of my project only two weeks after
+the project start !"
+
+  Paviot Thomas
+
+------------------
+Who is using Py++?
+------------------
+
+* European Space Agency - `ReSP`_ project
+
+  `ReSP`_ is an Open-Source hardware simulation platform targeted for
+  multiprocessor systems. ReSP will provide a framework for composing a
+  system by connecting components chosen from a given repository or
+  developped by the designer. ReSP will provide also also a framework for
+  fault injection campaigns for the analysis of the reliability level of the
+  system.
+
+  `ReSP`_ engineers are developping the simulator core in Python language for exploiting
+  reflective capabilities (missing in a pure C++ environment) that can be
+  exploited for connecting components in a dynamic way and for enabling
+  non-intrusive fault injection activity. Components will be described in
+  SystemC and TLM libraries that are high level hardware description
+  languages based on C++.
+
+  .. _`ReSP` : http://www.resp-sim.org/?page_id=2
+
+* Allen Bierbaum, the author of `PyOpenSG`_ project, is using :doc:`Py++ <index>` to create
+  Python bindings for `OpenSG`_
+
+  `OpenSG`_ - is a portable scenegraph system to create realtime graphics
+  programs, e.g. for virtual reality applications.
+
+
+* Matthias Baas, the author of `Python Computer Graphics Kit`_ project, is using
+  :doc:`Py++ <index>` to create Python bindings for `Maya C++ SDK`__.
+
+  .. __ : http://www.highend3d.com/maya
+
+* Lakin Wecker, the author of `Python-OGRE`_ project, is using :doc:`Py++ <index>` to
+  create Python bindings for `OGRE`_.
+
+  `OGRE`_ - is a scene-oriented, flexible 3D engine written in C++ designed to
+  make it easier and more intuitive for developers to produce applications
+  utilizing hardware-accelerated 3D graphics.
+
+* Andy Miller, another developer of `Python-OGRE`_ project, is using :doc:`Py++ <index>` to
+  create Python bindings for:
+
+  * `CEGUI`_ - a free library providing windowing and widgets for graphics
+    APIs / engines where such functionality is not available, or severely lacking.
+
+    .. _`CEGUI` : http://www.cegui.org.uk/wiki/index.php/Main_Page
+
+  * `ODE`_ - an open source, high performance library for simulating rigid body
+    dynamics.
+
+    .. _`ODE` : http://www.ode.org/
+
+  * `OIS`_ - an object oriented input system.
+
+    .. _`OIS` : http://www.wreckedgames.com/forum/
+
+  * All in all, `Python-OGRE`_ project contains bindings for more than 30 libraries.
+    You can find code generation scripts here: https://python-ogre.svn.sourceforge.net/svnroot/python-ogre/trunk/python-ogre/code_generators/
+
+* `Rising Sun Pictures`_ company is using :doc:`Py++ <index>` to create Python bindings for
+  `Apple Shake API`_. `PyShake`_ enables running of Python code from within Shake
+  and by exposing the Shake API to Python.
+
+  .. _`Rising Sun Pictures` : http://open.rsp.com.au/
+  .. _`Apple Shake API` : http://www.apple.com/shake/
+  .. _`PyShake` :  http://open.rsp.com.au/projects/pyshake
+
+* Paviot Thomas, the author of `pythonOCC`_ project, is using :doc:`Py++ <index>` to create
+  Python bindings for `OpenCascade`_, a 3D modeling & numerical simulation library.
+
+  .. _`pythonOCC` : http://www.minerva-plm.org/pythonOCC/
+  .. _`OpenCascade` : http://www.opencascade.org/
+
+* Adrien Saladin, the author of `PTools`_ project, is using :doc:`Py++ <index>`
+  to create an opensource molecular docking library.
+
+  .. _`PTools` : http://www.biomedcentral.com/1472-6807/9/27/abstract
+
+* I am :-). I created Python bindings for the following libraries:
+
+  * `Boost.Date_Time`_
+  * `Boost.CRC`_
+  * `Boost.Rational`_
+  * `Boost.Random`_
+
+  .. _`boost.date_time` : http://boost.org/doc/html/date_time.html
+  .. _`boost.crc` : http://boost.org/libs/crc/index.html
+  .. _`boost.rational` : http://boost.org/libs/rational/index.html
+  .. _`boost.random` : http://boost.org/libs/random/index.html
+
+  You can download the bindings from https://sourceforge.net/project/showfiles.php?group_id=118209 .
+
+.. _`Python Computer Graphics Kit` : http://cgkit.sourceforge.net/
+.. _`TnFOX`: http://www.nedprod.com/TnFOX/
+.. _`Python-OGRE` : http://www.python-ogre.org
+.. _`OGRE` : http://www.ogre3d.org/index.php?option=com_content&task=view&id=19&Itemid=79
+.. _`PyOpenSG` : https://realityforge.vrsource.org/trac/pyopensg
+.. _`OpenSG` : http://opensg.vrsource.org/trac
+
diff --git a/docs/split_module.rst b/docs/split_module.rst
new file mode 100644
index 0000000..02041dc
--- /dev/null
+++ b/docs/split_module.rst
@@ -0,0 +1,242 @@
+=================================
+Splitting generated code to files
+=================================
+
+------------
+Introduction
+------------
+
+:doc:`Py++ <index>` provides 4 different strategies for splitting the generated code into files:
+
+* single file
+
+* multiple files
+
+* fixed set of multiple files
+
+* multiple files, where single class code is split to few files
+
+-----------
+Single file
+-----------
+
+If you just start with :doc:`Py++ <index>` or you are developing small module, than you should
+start with this strategy. It is simple - all source code generated to a single file.
+
+Of course this solution has it's price - every time you change the code you will
+have to recompile it. If you expose 2 or more declarations, this is annoying and
+time-consuming operation. In some cases you even will not be able to compile the
+generated code, because of its size.
+
+
+Usage example
+-------------
+
+.. code-block:: python
+
+   from pyplusplus import module_builder
+
+   mb = module_builder.module_builder_t(...)
+   mb.build_code_creator( ... )
+   mb.write_module( <<<file name>>> )
+
+--------------
+Multiple files
+--------------
+
+I believe this is the most widely used strategy. :doc:`Py++ <index>` splits generated code
+as follows:
+
+* every class has it's own source & header file
+* the following declarations are split to separate source files:
+
+  * named & unnamed enumerations
+
+  * free functions
+
+  * global variables
+* "main" file - the file, which contains complete module registration
+
+The main advantage of this mode is that you don't have to recompile the whole
+project if only single declaration was changed. Thus this mode suites well huge
+projects.
+
+There are few problems with this mode:
+
+1. There are use cases, when the generated file name is too long. :doc:`Py++ <index>`
+   uses class name as a basis for the file name. So in case of template
+   instantiations the file name could be really long, very long.
+
+2. This mode doesn't play nicely with IDEs. Every time you add/remove classes in
+   your project the list of generated files will be changed. So, you will have
+   to maintain your IDE environment file.
+
+   This problem was addressed in "fixed set of multiple files" mode. Keep
+   reading :-).
+
+3. If your project has pretty big class, than it is possible that the generated
+   code will be too big and it take huge amount of time to compile it (GCC) or
+   even to fail to compile it (MSVC 7.1).
+
+   This problem was addressed in "multiple files, where single class code is
+   split to few files" mode.
+
+Usage example
+-------------
+
+.. code-block:: python
+
+   from pyplusplus import module_builder
+
+   mb = module_builder.module_builder_t(...)
+   mb.build_code_creator( ... )
+   mb.split_module( <<<directory name>>> )
+
+
+-------------------------------------------------------------
+Multiple files, where single class code is split to few files
+-------------------------------------------------------------
+
+This mode solves the problem, I mentioned earlier - you have to expose huge class
+and you have problems to compile generated code.
+
+:doc:`Py++ <index>` will split huge class to files using the following strategy:
+
+* every generated source file can contain maximum 20 exposed declarations
+* the following declarations are split to separate source files:
+
+  * enumerations
+
+  * unnamed enumerations
+
+  * classes
+
+  * member functions
+
+  * virtual member functions
+
+  * pure virtual member functions
+
+  * protected member functions
+
+* "main" class file - the file, which contains complete definition/registration
+  of the generated file
+
+Usage example
+-------------
+
+.. code-block:: python
+
+   from pyplusplus import module_builder
+
+   mb = module_builder.module_builder_t(...)
+   mb.build_code_creator( ... )
+   mb.split_module( <<<directory name>>>, [ <<<list of huge classes names>>> ] )
+
+---------------------------
+Fixed set of multiple files
+---------------------------
+
+This mode was born to play nicely with IDEs. It also can solve the problem with
+long file names. The scheme used to name files doesn't use class name.
+
+In this mode you define the number of generated source files for classes.
+
+
+Usage example
+-------------
+
+.. code-block:: python
+
+   from pyplusplus import module_builder
+
+   mb = module_builder.module_builder_t(...)
+   mb.build_code_creator( ... )
+   mb.balanced_split_module( <<<directory name>>>, <<<number of generated source files>>> )
+
+
+------------------
+Precompiled header
+------------------
+
+Usage of precompiled header file reduces overall compilation time. Not all
+compilers support the feature, moreover some of them can't handle presence of
+"boost/python.hpp" header in precompiled header file.
+
+:doc:`Py++ <index>` doesn't provide user-friendly API to add/define precompiled header file
+to the generated code. The main reason is that I don't have a good idea how to
+integrate/add this functionality to :doc:`Py++ <index>`. Nevertheless, you can enjoy from
+this time-saving feature:
+
+.. code-block:: python
+
+   from pyplusplus import module_builder
+   from pyplusplus import code_creators
+
+   mb = module_builder_t( ... )
+   mb.build_code_creator( ... )
+
+   precompiled_header = code_creators.include_t( 'your file name' )
+   mb.code_creator.adopt_creator( precompiled_header, 0 )
+
+   mb.split_module( ... )
+
+
+-----------
+API summary
+-----------
+
+Class ``module_builder_t`` contains 3 functions, related to file generation:
+
+*
+  .. code-block:: python
+
+     def write_module( file_name )
+
+*
+  .. code-block:: python
+
+     def split_module( self
+                       , dir_name
+                       , huge_classes=None
+                       , on_unused_file_found=os.remove
+                       , use_files_sum_repository=True)
+
+
+  * ``dir_name`` - directory name the generated files will be put in
+  * ``huge_classes`` - list of names of huge classes
+  * ``on_unused_file_found`` - callable object, which is called every time
+    :doc:`Py++ <index>` found that previously generated file is not in use anymore.
+  * ``use_files_sum_repository``
+    :doc:`Py++ <index>` is able to store md5 sum of the generated files in a file. Next
+    time you will generate code, Py++ will compare generated file content
+    against the sum, instead of loading the content of the previously generated
+    file from the disk and comparing against it.
+
+    "<your module name>.md5.sum" is the file, that will be generated in the
+    ``dir_name`` directory.
+
+    Enabling this functionality should give you 10-15% of performance boost.
+
+    Warning: If you changed manually some of the files - don't forget to delete
+    the relevant line from "md5.sum" file. You can also delete the whole file.
+    If the file is missing, Py++ will use old plain method of comparing content
+    of the files. It will not re-write "unchanged" files and you will not be
+    forced to recompile the whole project.
+
+*
+  .. code-block:: python
+
+     def balanced_split_module( self
+                                , dir_name
+                                , number_of_files
+                                , on_unused_file_found=os.remove
+                                , use_files_sum_repository=True)
+
+
+  * ``number_of_files`` - the desired number of generated source files
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
diff --git a/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rst b/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rst
new file mode 100644
index 0000000..fe9c486
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rst
@@ -0,0 +1,39 @@
+=================================================
+Automatic conversion between C++ and Python types
+=================================================
+
+------------
+Introduction
+------------
+
+-------
+Content
+-------
+
+This example actually consist from 2 small, well documented examples.
+
+The first one shows how to handle conversion between tuples: `boost::tuples::tuple`_
+and Python tuple.
+
+.. _`boost::tuples::tuple` : http://boost.org/libs/tuple/doc/tuple_users_guide.html
+
+The second one shows how to add an automatic conversion from Python tuple to
+some registered class. The class registration allows you to use its functionality
+and enjoy from automatic conversion.
+
+Files
+-----
+
+.. toctree::
+
+   tuples.hpp.rst
+   tuples_tester.cpp.rst
+   custom_rvalue.cpp.rst
+   sconstruct.rst
+   test.py.rst
+
+--------
+Download
+--------
+
+:download:`automatic_conversion.zip`
diff --git a/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.zip b/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.zip
new file mode 100644
index 0000000..bc64e87
Binary files /dev/null and b/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.zip differ
diff --git a/docs/troubleshooting_guide/automatic_conversion/custom_rvalue.cpp b/docs/troubleshooting_guide/automatic_conversion/custom_rvalue.cpp
new file mode 100644
index 0000000..a467695
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/custom_rvalue.cpp
@@ -0,0 +1,135 @@
+#include "boost/python.hpp"
+#include "boost/python/object.hpp"  //len function
+#include "boost/python/ssize_t.hpp" //ssize_t type definition
+#include "boost/python/detail/none.hpp"
+#include "tuples.hpp"
+
+/**
+ * Custom r-value converter example.
+ *
+ * Use-case description. I and few other developers work on Python bindings for
+ * Ogre (http://ogre3d.org). The engine defines ColourValue class. This class
+ * describes colour using 4 components: red, green, blue and transparency. The
+ * class is used through the whole engine. One of the first features users ask
+ * is to add an ability to pass a tuple, instead of the "ColourValue" instance.
+ * This feature would allow them to write less code:
+ *
+ *   x.do_smth( (1,2,3,4) )
+ *
+ * instead of
+ *
+ *   x.do_smth( ogre.ColourValue( 1,2,3,4 ) )
+ *
+ * That's not all. They also wanted to be able to use ColourValue functionality.
+ *
+ * Solution.
+ *
+ * Fortunately, Boost.Python library provides enough functionality to implement
+ * users requirements - r-value converters.
+ *
+ * R-Value converters allows to register custom conversion from Python type to
+ * C++ type. The conversion will be handled by Boost.Python library automaticly
+ * "on-the-fly".
+ *
+ * The example introduces "colour_t" class and few testers.
+ *
+ **/
+
+
+struct colour_t{
+    explicit colour_t( float red_=0.0, float green_=0.0, float blue_=0.0 )
+    : red( red_ ), green( green_ ), blue( blue_ )
+    {}
+
+    bool operator==( const colour_t& other ) const{
+        return red == other.red && green == other.green && blue == other.blue;
+    }
+
+    float red, green, blue;
+};
+
+struct desktop_t{
+    bool is_same_colour( const colour_t& colour ) const{
+        return colour == background;
+    }
+    colour_t background;
+};
+
+namespace bpl = boost::python;
+
+struct pytuple2colour{
+
+    typedef boost::tuples::tuple< float, float, float> colour_tuple_type;
+
+    typedef bpl::from_py_sequence< colour_tuple_type > converter_type;
+
+    static void* convertible(PyObject* obj){
+        return converter_type::convertible( obj );
+    }
+
+    static void
+    construct( PyObject* obj, bpl::converter::rvalue_from_python_stage1_data* data){
+        typedef bpl::converter::rvalue_from_python_storage<colour_t> colour_storage_t;
+        colour_storage_t* the_storage = reinterpret_cast<colour_storage_t*>( data );
+        void* memory_chunk = the_storage->storage.bytes;
+
+        float red(0.0), green(0.0), blue(0.0);
+        boost::tuples::tie(red, green, blue) = converter_type::to_c_tuple( obj );
+
+        colour_t* colour = new (memory_chunk) colour_t(red, green, blue);
+        data->convertible = memory_chunk;
+    }
+};
+
+void register_pytuple2colour(){
+    bpl::converter::registry::push_back(  &pytuple2colour::convertible
+                                         , &pytuple2colour::construct
+                                         , bpl::type_id<colour_t>() );
+}
+
+
+
+bool test_val_010( colour_t colour ){
+    return colour == colour_t( 0, 1, 0);
+}
+
+bool test_cref_000( const colour_t& colour ){
+    return colour == colour_t( 0, 0, 0);
+}
+
+bool test_ref_111( colour_t& colour ){
+    return colour == colour_t( 1, 1, 1);
+}
+
+bool test_ptr_101( colour_t* colour ){
+    return colour && *colour == colour_t( 1, 0, 1);
+}
+
+bool test_cptr_110( const colour_t* colour ){
+    return colour && *colour == colour_t( 1, 1, 0);
+}
+
+BOOST_PYTHON_MODULE( custom_rvalue ){
+    bpl::class_< colour_t >( "colour_t" )
+        .def( bpl::init< bpl::optional< float, float, float > >(
+              ( bpl::arg("red_")=0.0, bpl::arg("green_")=0.0, bpl::arg("blue_")=0.0 ) ) )
+        .def_readwrite( "red", &colour_t::red )
+        .def_readwrite( "green", &colour_t::green )
+        .def_readwrite( "blue", &colour_t::blue );
+    register_pytuple2colour();
+
+    bpl::class_< desktop_t >( "desktop_t" )
+        //naive aproach that will not work - plain Python assignment
+        //.def_readwrite( "background", &desktop_t::background )
+        //You should use properties to force the conversion
+        .add_property( "background"
+                       , bpl::make_getter( &desktop_t::background )
+                       , bpl::make_setter( &desktop_t::background ) )
+        .def( "is_same_colour", &desktop_t::is_same_colour );
+
+    bpl::def("test_val_010", &::test_val_010);
+    bpl::def("test_cref_000", &::test_cref_000);
+    bpl::def("test_ref_111", &::test_ref_111);
+    bpl::def("test_ptr_101", &::test_ptr_101);
+    bpl::def("test_cptr_110", &::test_cptr_110);
+}
diff --git a/docs/troubleshooting_guide/automatic_conversion/custom_rvalue.cpp.rst b/docs/troubleshooting_guide/automatic_conversion/custom_rvalue.cpp.rst
new file mode 100644
index 0000000..a51b966
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/custom_rvalue.cpp.rst
@@ -0,0 +1,6 @@
+=====================================
+Custom r-value converter registration
+=====================================
+
+.. literalinclude:: ./custom_rvalue.cpp
+     :language: c++
diff --git a/docs/troubleshooting_guide/automatic_conversion/definition.irest b/docs/troubleshooting_guide/automatic_conversion/definition.irest
new file mode 100644
index 0000000..b276e92
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/definition.irest
@@ -0,0 +1,3 @@
+Boost.Python allows to define automatic conversion from\\to C++\\Python types.
+While this is very, very useful functionality, the documentation for it does not
+exist. This example will shed some light on "r-value"\\"l-value" converters.
diff --git a/docs/troubleshooting_guide/automatic_conversion/sconstruct b/docs/troubleshooting_guide/automatic_conversion/sconstruct
new file mode 100644
index 0000000..f600836
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/sconstruct
@@ -0,0 +1,20 @@
+#scons build script
+SharedLibrary( target=r'tuples'
+    , source=[ r'tuples_tester.cpp' ]
+    , LIBS=[ r"boost_python" ]
+    , LIBPATH=[ r"/home/roman/boost_cvs/bin",r"" ]
+    , CPPPATH=[ r"/home/roman/boost_cvs"
+              , r"/usr/include/python2.4" ]
+    , SHLIBPREFIX=''
+    , SHLIBSUFFIX='.so'
+)
+
+SharedLibrary( target=r'custom_rvalue'
+    , source=[ r'custom_rvalue.cpp' ]
+    , LIBS=[ r"boost_python" ]
+    , LIBPATH=[ r"/home/roman/boost_cvs/bin",r"" ]
+    , CPPPATH=[ r"/home/roman/boost_cvs"
+              , r"/usr/include/python2.4" ]
+    , SHLIBPREFIX=''
+    , SHLIBSUFFIX='.so'
+)
diff --git a/docs/troubleshooting_guide/automatic_conversion/sconstruct.rst b/docs/troubleshooting_guide/automatic_conversion/sconstruct.rst
new file mode 100644
index 0000000..376f6b9
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/sconstruct.rst
@@ -0,0 +1,6 @@
+====================
+Build script (SCons)
+====================
+
+.. literalinclude:: ./sconstruct
+     :language: python
diff --git a/docs/troubleshooting_guide/automatic_conversion/test.py b/docs/troubleshooting_guide/automatic_conversion/test.py
new file mode 100644
index 0000000..a174e63
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/test.py
@@ -0,0 +1,59 @@
+import unittest
+import tuples
+import custom_rvalue
+
+class tuplesersion_tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+
+    def test_tuples( self ):
+        self.failUnless( (0,0,0) == tuples.triplet_ret_val_000() )
+        self.failUnless( (1,0,1) == tuples.triplet_ret_val_101() )
+        self.failUnless( (0,1,0) == tuples.triplet_ret_ref_010() )
+        self.failUnlessRaises( TypeError, tuples.triplet_ret_ptr_110 )
+        self.failUnless( tuples.test_triplet_val_000( (0,0,0) ) )
+        self.failUnless( tuples.test_triplet_cref_010( (0,1,0) ) )
+        self.failUnless( tuples.test_triplet_val_000( [0,0,0] ) )
+        self.failUnless( tuples.test_triplet_cref_010( [0,1,0] ) )
+        self.failUnlessRaises( TypeError, tuples.test_triplet_ref_110, (1,1,0) )
+        self.failUnlessRaises( TypeError, tuples.test_triplet_ptr_101, (1,0,1) )
+
+    def test_from_sequence( self ):
+        self.failUnless( custom_rvalue.test_val_010( (0,1,0) ) )
+        self.failUnless( custom_rvalue.test_cref_000( (0,0,0) ) )
+        self.failUnless( custom_rvalue.test_val_010( [0,1,0] ) )
+        self.failUnless( custom_rvalue.test_cref_000( [0,0,0] ) )
+        self.failUnlessRaises( Exception, custom_rvalue.test_ref_111, (1,1,1) )
+        self.failUnlessRaises( Exception, custom_rvalue.test_ptr_101, (1,0,1) )
+        self.failUnlessRaises( Exception, custom_rvalue.test_cptr_110, (1,1,0) )
+
+    def test_from_class( self ):
+        color = custom_rvalue.colour_t
+        self.failUnless( custom_rvalue.test_val_010( color(0,1,0) ) )
+        self.failUnless( custom_rvalue.test_cref_000( color(0,0,0) ) )
+        self.failUnless( custom_rvalue.test_ref_111( color(1,1,1) ) )
+        self.failUnless( custom_rvalue.test_ptr_101( color(1,0,1) ) )
+        self.failUnless( custom_rvalue.test_cptr_110( color(1,1,0) ) )
+
+    def cmp_colours( self, c1, c2 ):
+        return c1.red == c2.red and c1.green == c2.green and c1.blue == c2.blue
+
+    def test_from_class_property( self ):
+        colour = custom_rvalue.colour_t
+        desktop = custom_rvalue.desktop_t()
+        self.failUnless( self.cmp_colours( desktop.background, colour() ) )
+        desktop.background = (1,0,1)
+        self.failUnless( self.cmp_colours( desktop.background, colour(1,0,1) ) )
+        self.failUnless( desktop.is_same_colour( (1,0,1) ) )
+        self.failUnless( desktop.is_same_colour( colour(1,0,1 ) ) )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tuplesersion_tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/docs/troubleshooting_guide/automatic_conversion/test.py.rst b/docs/troubleshooting_guide/automatic_conversion/test.py.rst
new file mode 100644
index 0000000..df9bc38
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/test.py.rst
@@ -0,0 +1,6 @@
+====================
+Usage example/tester
+====================
+
+.. literalinclude:: ./test.py
+     :language: python
diff --git a/docs/troubleshooting_guide/automatic_conversion/tuples.hpp b/docs/troubleshooting_guide/automatic_conversion/tuples.hpp
new file mode 100644
index 0000000..17b66d8
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/tuples.hpp
@@ -0,0 +1,251 @@
+// Copyright 2004-2007 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef TUPLES_HPP_16_JAN_2007
+#define TUPLES_HPP_16_JAN_2007
+
+#include "boost/python.hpp"
+#include "boost/tuple/tuple.hpp"
+#include "boost/python/object.hpp" //len function
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/next.hpp>
+
+/**
+ * Converts boost::tuples::tuple<...> to\from Python tuple
+ *
+ * The conversion is done "on-the-fly", you should only register the conversion
+ * with your tuple classes.
+ * For example:
+ *
+ *  typedef boost::tuples::tuple< int, double, std::string > triplet;
+ *  boost::python::register_tuple< triplet >();
+ *
+ * That's all. After this point conversion to\from next types will be handled
+ * by Boost.Python library:
+ *
+ *   triplet
+ *   triplet& ( return type only )
+ *   const triplet
+ *   const triplet&
+ *
+ * Implementation description.
+ *  The conversion uses Boost.Python custom r-value converters. r-value converters
+ * is very powerful and undocumented feature of the library. The only documentation
+ * we have is http://boost.org/libs/python/doc/v2/faq.html#custom_string .
+ *
+ *  The conversion consists from two parts: "to" and "from".
+ *
+ *  "To" conversion
+ * The "to" part is pretty easy and well documented ( http://docs.python.org/api/api.html ).
+ * You should use Python C API to create an instance of a class and than you
+ * initialize the relevant members of the instance.
+ *
+ *  "From" conversion
+ * Lets start from analyzing one of the use case Boost.Python library have to
+ * deal with:
+ *
+ *   void do_smth( const triplet& arg ){...}
+ *
+ * In order to allow calling this function from Python, the library should keep
+ * parameter "arg" alive until the function returns. In other words, the library
+ * should provide instances life-time management. The provided interface is not
+ * ideal and could be improved. You have to implement two functions:
+ *
+ *  void* convertible( PyObject* obj )
+ *    Checks whether the "obj" could be converted to an instance of the desired
+ *    class. If true, the function should return "obj", otherwise NULL
+ *
+ *  void construct( PyObject* obj, converter::rvalue_from_python_stage1_data* data)
+ *    Constructs the instance of the desired class. This function will be called
+ *    if and only if "convertible" function returned true. The first argument
+ *    is Python object, which was passed as parameter to "convertible" function.
+ *    The second object is some kind of memory allocator for one object. Basically
+ *    it keeps a memory chunk. You will use the memory for object allocation.
+ *
+ *    For some unclear for me reason, the library implements "C style Inheritance"
+ *    ( http://www.embedded.com/97/fe29712.htm ). So, in order to create new
+ *    object in the storage you have to cast to the "right" class:
+ *
+ *      typedef converter::rvalue_from_python_storage<your_type_t> storage_t;
+ *      storage_t* the_storage = reinterpret_cast<storage_t*>( data );
+ *      void* memory_chunk = the_storage->storage.bytes;
+ *
+ *    "memory_chunk" points to the memory, where the instance will be allocated.
+ *
+ *    In order to create object at specific location, you should use placement new
+ *    operator:
+ *
+ *      your_type_t* instance = new (memory_chunk) your_type_t();
+ *
+ *    Now, you can continue to initialize the instance.
+ *
+ *      instance->set_xyz = read xyz from obj
+ *
+ *    If "your_type_t" constructor requires some arguments, "read" the Python
+ *    object before you call the constructor:
+ *
+ *      xyz_type xyz = read xyz from obj
+ *      your_type_t* instance = new (memory_chunk) your_type_t(xyz);
+ *
+ *  Hint:
+ * In most case you don't really need\have to work with C Python API. Let
+ * Boost.Python library to do some work for you!
+ *
+ **/
+
+namespace boost{ namespace python{
+
+namespace details{
+
+//Small helper function, introduced to allow short syntax for index incrementing
+template< int index>
+typename mpl::next< mpl::int_< index > >::type increment_index(){
+    typedef typename mpl::next< mpl::int_< index > >::type next_index_type;
+    return next_index_type();
+}
+
+}
+
+template< class TTuple >
+struct to_py_tuple{
+
+    typedef mpl::int_< tuples::length< TTuple >::value > length_type;
+
+    static PyObject* convert(const TTuple& c_tuple){
+        list values;
+        //add all c_tuple items to "values" list
+        convert_impl( c_tuple, values, mpl::int_< 0 >(), length_type() );
+        //create Python tuple from the list
+        return incref( python::tuple( values ).ptr() );
+    }
+
+private:
+
+    template< int index, int length >
+    static void
+    convert_impl( const TTuple &c_tuple, list& values, mpl::int_< index >, mpl::int_< length > ) {
+        values.append( c_tuple.template get< index >() );
+        convert_impl( c_tuple, values, details::increment_index<index>(), length_type() );
+    }
+
+    template< int length >
+    static void
+    convert_impl( const TTuple&, list& values, mpl::int_< length >, mpl::int_< length >)
+    {}
+
+};
+
+
+template< class TTuple>
+struct from_py_sequence{
+
+    typedef TTuple tuple_type;
+
+    typedef mpl::int_< tuples::length< TTuple >::value > length_type;
+
+    static void*
+    convertible(PyObject* py_obj){
+
+        if( !PySequence_Check( py_obj ) ){
+            return 0;
+        }
+
+        if( !PyObject_HasAttrString( py_obj, "__len__" ) ){
+            return 0;
+        }
+
+        python::object py_sequence( handle<>( borrowed( py_obj ) ) );
+    
+        if( tuples::length< TTuple >::value != len( py_sequence ) ){
+            return 0;
+        }
+
+        if( convertible_impl( py_sequence, mpl::int_< 0 >(), length_type() ) ){
+            return py_obj;
+        }
+        else{
+            return 0;
+        }
+    }
+
+    static void
+    construct( PyObject* py_obj, converter::rvalue_from_python_stage1_data* data){
+        typedef converter::rvalue_from_python_storage<TTuple> storage_t;
+        storage_t* the_storage = reinterpret_cast<storage_t*>( data );
+        void* memory_chunk = the_storage->storage.bytes;
+        TTuple* c_tuple = new (memory_chunk) TTuple();
+        data->convertible = memory_chunk;
+
+        python::object py_sequence( handle<>( borrowed( py_obj ) ) );
+        construct_impl( py_sequence, *c_tuple, mpl::int_< 0 >(), length_type() );
+    }
+
+    static TTuple to_c_tuple( PyObject* py_obj ){
+        if( !convertible( py_obj ) ){
+            throw std::runtime_error( "Unable to construct boost::tuples::tuple from Python object!" );
+        }
+        TTuple c_tuple;
+        python::object py_sequence( handle<>( borrowed( py_obj ) ) );
+        construct_impl( py_sequence, c_tuple, mpl::int_< 0 >(), length_type() );
+        return c_tuple;
+    }
+
+private:
+
+    template< int index, int length >
+    static bool
+    convertible_impl( const python::object& py_sequence, mpl::int_< index >, mpl::int_< length > ){
+
+        typedef typename tuples::element< index, TTuple>::type element_type;
+
+        object element = py_sequence[index];
+        extract<element_type> type_checker( element );
+        if( !type_checker.check() ){
+            return false;
+        }
+        else{
+            return convertible_impl( py_sequence, details::increment_index<index>(), length_type() );
+        }
+    }
+
+    template< int length >
+    static bool
+    convertible_impl( const python::object& py_sequence, mpl::int_< length >, mpl::int_< length > ){
+        return true;
+    }
+
+    template< int index, int length >
+    static void
+    construct_impl( const python::object& py_sequence, TTuple& c_tuple, mpl::int_< index >, mpl::int_< length > ){
+
+        typedef typename tuples::element< index, TTuple>::type element_type;
+
+        object element = py_sequence[index];
+        c_tuple.template get< index >() = extract<element_type>( element );
+
+        construct_impl( py_sequence, c_tuple, details::increment_index<index>(), length_type() );
+    }
+
+    template< int length >
+    static void
+    construct_impl( const python::object& py_sequence, TTuple& c_tuple, mpl::int_< length >, mpl::int_< length > )
+    {}
+
+};
+
+template< class TTuple>
+void register_tuple(){
+
+    to_python_converter< TTuple, to_py_tuple<TTuple> >();
+
+    converter::registry::push_back( &from_py_sequence<TTuple>::convertible
+                                    , &from_py_sequence<TTuple>::construct
+                                    , type_id<TTuple>() );
+};
+
+} } //boost::python
+
+#endif//TUPLES_HPP_16_JAN_2007
+
diff --git a/docs/troubleshooting_guide/automatic_conversion/tuples.hpp.rst b/docs/troubleshooting_guide/automatic_conversion/tuples.hpp.rst
new file mode 100644
index 0000000..27f8216
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/tuples.hpp.rst
@@ -0,0 +1,6 @@
+============================================
+Boost.Python to/from Python tuple conversion
+============================================
+
+.. literalinclude:: ./tuples.hpp
+     :language: c++
diff --git a/docs/troubleshooting_guide/automatic_conversion/tuples_tester.cpp b/docs/troubleshooting_guide/automatic_conversion/tuples_tester.cpp
new file mode 100644
index 0000000..2bdad12
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/tuples_tester.cpp
@@ -0,0 +1,72 @@
+#include "boost/python.hpp"
+#include "boost/tuple/tuple_comparison.hpp"
+#include "tuples.hpp"
+
+/**
+ * Content:
+ *  * few testers for  boost::tuples::tuple<...> to\from Python tuple conversion
+ *    functionality
+ *
+ *  * example of custom r-value converter for a registered class
+ *
+ *
+ **/
+
+typedef boost::tuple< int, int, int > triplet_type;
+
+triplet_type triplet_ret_val_000() {
+    return triplet_type(0,0,0);
+}
+
+triplet_type triplet_ret_val_101() {
+    return triplet_type(1,0,1);
+}
+
+triplet_type& triplet_ret_ref_010(){
+    static triplet_type pt( 0,1,0 );
+    return pt;
+}
+
+triplet_type* triplet_ret_ptr_110(){
+    static triplet_type pt( 1,1,0 );
+    return &pt;
+}
+
+bool test_triplet_val_000( triplet_type pt ){
+    return pt == triplet_type( 0,0,0 );
+}
+
+bool test_triplet_cref_010( const triplet_type& pt ){
+    return pt == triplet_type( 0,1,0 );
+}
+
+bool test_triplet_ref_110( triplet_type& pt ){
+    return pt == triplet_type( 1,1,0 );
+}
+
+bool test_triplet_ptr_101( triplet_type* pt ){
+    return pt && *pt == triplet_type( 1,0,1 );
+}
+
+
+namespace bpl = boost::python;
+
+BOOST_PYTHON_MODULE( tuples ){
+
+    bpl::register_tuple< triplet_type >();
+
+    bpl::def("triplet_ret_val_000", &::triplet_ret_val_000);
+    bpl::def("triplet_ret_val_101", &::triplet_ret_val_101);
+    bpl::def("triplet_ret_ref_010"
+             , &::triplet_ret_ref_010
+             , bpl::return_value_policy<bpl:: copy_non_const_reference>() );
+    bpl::def( "triplet_ret_ptr_110"
+              , &::triplet_ret_ptr_110
+              , bpl::return_value_policy<bpl::return_by_value>() );
+    bpl::def("test_triplet_val_000", &::test_triplet_val_000);
+    bpl::def("test_triplet_cref_010", &::test_triplet_cref_010);
+    bpl::def("test_triplet_ref_110", &::test_triplet_ref_110);
+    bpl::def("test_triplet_ptr_101", &::test_triplet_ptr_101);
+
+}
+
diff --git a/docs/troubleshooting_guide/automatic_conversion/tuples_tester.cpp.rst b/docs/troubleshooting_guide/automatic_conversion/tuples_tester.cpp.rst
new file mode 100644
index 0000000..1248c76
--- /dev/null
+++ b/docs/troubleshooting_guide/automatic_conversion/tuples_tester.cpp.rst
@@ -0,0 +1,6 @@
+===================================================
+Boost.Python to/from Python tuple conversion tester
+===================================================
+
+.. literalinclude:: ./tuples_tester.cpp
+     :language: c++
diff --git a/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rst b/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rst
new file mode 100644
index 0000000..fd197ca
--- /dev/null
+++ b/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rst
@@ -0,0 +1,118 @@
+====================
+Easy extending guide
+====================
+
+------------
+Introduction
+------------
+
+"... Boost.Python library is designed to wrap C++ interfaces non-intrusively, so that
+you should not have to change the C++ code at all in order to wrap it."
+
+The previous statement is almost true. There are few use cases that the library
+doesn't support. This guide will list some of them and will offer few possible
+solutions.
+
+-------------------
+Pointer to function
+-------------------
+
+Boost.Python doesn't handle "pointer to function" functionality. You cannot pass
+it as function argument or keep it, as a member variable.
+
+The simple work-around is to use `command design pattern`_
+
+.. _`command design pattern` : http://en.wikipedia.org/wiki/Command_pattern
+
+------------------------------------
+Problematic function arguments types
+------------------------------------
+
+C arrays
+--------
+
+Boost.Python doesn't handle ``C arrays``, the only exception are ``char*`` and
+``wchar_t*``.
+
+Consider the following function:
+
+.. code-block:: c++
+
+  int write( int* data, size_t size );
+
+The technical reasons are not the only one that prevent Boost.Python to expose such
+functions, there is a mental one: such interface is not intuitive for Python
+developers. They expect to pass single argument. For example, built-in ``file.write``
+method takes a single argument - sequence of characters.
+
+Work-around:
+
+  1. With small help from the developer, Py++ generates code which feets well into
+     Python developer mental model. Pure virtual member functions are a special
+     case, which Py++ doesn't handle right now.
+
+  2. Use STL containers, ``std::vector<...>`` and others.
+
+
+Immutable by reference
+----------------------
+
+Python defines few fundamental types as "immutable". The value of an instance of
+the immutable type could not be changed after construction. Try to avoid passing
+the immutable types by reference.
+
+Immutable types:
+
+    * ``char``
+    * ``signed char``
+    * ``unsigned char``
+    * ``wchar_t``
+    * ``short int``
+    * ``short unsigned int``
+    * ``bool``
+    * ``int``
+    * ``unsigned int``
+    * ``long int``
+    * ``long unsigned int``
+    * ``long long int``
+    * ``long long unsigned int``
+    * ``float``
+    * ``double``
+    * ``long double``
+    * ``complex double``
+    * ``complex long double``
+    * ``complex float``
+    * ``std::string``
+    * ``std::wstring``
+    * C++ ``enum`` is mapped to Python ``int`` type
+    * smart pointers
+
+Work around:
+
+    * Just don't pass them by reference :-)
+
+    * With small help from the developer, Py++ generates code which work-arounds
+      this issue, but the resulting interface is ugly.
+
+``void*``
+---------
+
+In most cases, ``void*`` is used when a developer has to deal with a memory block.
+Python provides support for this functionality, but I still didn't find an easy and
+intuitive way to expose it. There is no work-around for this issue.
+
+If you use ``void*`` to pass a reference to some object, than Boost.Python and Py++
+support such use case.
+
+----------------
+Memory managment
+----------------
+
+* Use ``std::auto_ptr`` to transfer ownership and responsibility for an object
+  destruction.
+
+* The only well supported smart pointer class is ``boost::shared_ptr``.  I suggest
+  you to use it all the time, especially in cases where you want to create object
+  from Python and pass ownership to C++ code. You don't want the headache associated
+  with this task.
+
diff --git a/docs/troubleshooting_guide/exceptions/definition.irest b/docs/troubleshooting_guide/exceptions/definition.irest
new file mode 100644
index 0000000..049c7e8
--- /dev/null
+++ b/docs/troubleshooting_guide/exceptions/definition.irest
@@ -0,0 +1,4 @@
+Boost.Python has a limitation: it does not allow to create class, which derives
+from the class defined in Python. In most use cases this should not bother you,
+except one - exceptions. The example will provide you with one of the possible
+solutions.
\ No newline at end of file
diff --git a/docs/troubleshooting_guide/exceptions/exceptions.cpp b/docs/troubleshooting_guide/exceptions/exceptions.cpp
new file mode 100644
index 0000000..bd949b3
--- /dev/null
+++ b/docs/troubleshooting_guide/exceptions/exceptions.cpp
@@ -0,0 +1,130 @@
+#include "boost/python.hpp"
+#include <stdexcept>
+#include <iostream>
+
+/**
+ * Content:
+ *  * example, which explain how to create custom exception class, which gives
+ *    expected behaviour to exceptions exposed using Boost.Python library.
+ * 
+ *  The example also allows you to map your exception classes to the Python 
+ *  built-in ones.
+ *
+ **/
+
+class application_error : public std::exception{
+public:
+
+    application_error()
+    : std::exception(), m_msg()
+    {}
+
+    application_error( const std::string& msg )
+    : std::exception(), m_msg( msg )
+    {}
+
+    application_error( const application_error& other )
+    : std::exception(other), m_msg( other.m_msg )
+    {}
+        
+    const std::string& message() const
+    { return m_msg; }
+    
+    virtual ~application_error() throw(){}
+
+    std::string application_name() const
+    { return "my_exceptions module"; }
+        
+private:
+    const std::string m_msg;
+};
+
+//small dummy function that will conditionaly throws exception
+void check_preconditions( bool raise_error ){
+    if( raise_error ){
+        throw application_error( "xyz" );
+    }
+}
+
+//test function for custom r-value converter
+std::string get_application_name( const application_error& err ){
+    return err.application_name();
+}
+
+namespace bpl = boost::python;
+
+struct exception_translator{    
+    
+    exception_translator(){
+
+        bpl::register_exception_translator<application_error>(&exception_translator::translate);
+
+        //Register custom r-value converter
+        //There are situations, where we have to pass the exception back to 
+        //C++ library. This will do the trick
+        bpl::converter::registry::push_back( &exception_translator::convertible
+                                            , &exception_translator::construct
+                                            , bpl::type_id<application_error>() );
+    }
+    
+    static void 
+    translate( const application_error& err ){
+        bpl::object pimpl_err( err );
+        bpl::object pyerr_class = pimpl_err.attr( "py_err_class" );
+        bpl::object pyerr = pyerr_class( pimpl_err );
+        PyErr_SetObject( pyerr_class.ptr(), bpl::incref( pyerr.ptr() ) );
+    }
+
+    //Sometimes, exceptions should be passed back to the library.
+    static void*
+    convertible(PyObject* py_obj){
+        if( 1 != PyObject_IsInstance( py_obj, PyExc_Exception ) ){
+            return 0;
+        }
+        
+        if( !PyObject_HasAttrString( py_obj, "_pimpl" ) ){
+            return 0;
+        }
+        
+        bpl::object pyerr( bpl::handle<>( bpl::borrowed( py_obj ) ) );        
+        bpl::object pimpl = bpl::getattr( pyerr, "_pimpl" );
+        bpl::extract<application_error> type_checker( pimpl );
+        if( !type_checker.check() ){
+            return 0;
+        }
+        return py_obj;
+    }
+
+    static void
+    construct( PyObject* py_obj, bpl::converter::rvalue_from_python_stage1_data* data){
+        typedef bpl::converter::rvalue_from_python_storage<application_error> storage_t;
+        
+        bpl::object pyerr( bpl::handle<>( bpl::borrowed( py_obj ) ) );        
+        bpl::object pimpl = bpl::getattr( pyerr, "_pimpl" );
+        
+        storage_t* the_storage = reinterpret_cast<storage_t*>( data );
+        void* memory_chunk = the_storage->storage.bytes;
+        application_error* cpp_err 
+            = new (memory_chunk) application_error( bpl::extract<application_error>(pimpl) );
+        
+        data->convertible = memory_chunk;
+    }
+
+};
+
+BOOST_PYTHON_MODULE( my_exceptions ){
+    
+    typedef bpl::return_value_policy< bpl::copy_const_reference > return_copy_const_ref;
+    bpl::class_< application_error >( "_application_error_" )
+        .def( bpl::init<const std::string&>() )
+        .def( bpl::init<const application_error&>() )
+        .def( "application_name", &application_error::application_name)
+        .def( "message", &application_error::message, return_copy_const_ref() )
+        .def( "__str__", &application_error::message, return_copy_const_ref() );
+    
+    exception_translator();
+    
+    bpl::def( "check_preconditions", &::check_preconditions );
+    bpl::def( "get_application_name", &::get_application_name );
+}
+
diff --git a/docs/troubleshooting_guide/exceptions/exceptions.cpp.rst b/docs/troubleshooting_guide/exceptions/exceptions.cpp.rst
new file mode 100644
index 0000000..631302c
--- /dev/null
+++ b/docs/troubleshooting_guide/exceptions/exceptions.cpp.rst
@@ -0,0 +1,6 @@
+==================================
+`exceptions.cpp` - C++ source code
+==================================
+
+.. literalinclude:: ./exceptions.cpp
+     :language: c++
diff --git a/docs/troubleshooting_guide/exceptions/exceptions.rst b/docs/troubleshooting_guide/exceptions/exceptions.rst
new file mode 100644
index 0000000..51d3df2
--- /dev/null
+++ b/docs/troubleshooting_guide/exceptions/exceptions.rst
@@ -0,0 +1,64 @@
+=================
+Custom exceptions
+=================
+
+------------
+Introduction
+------------
+
+Boost.Python has a limitation: it does not allow to create class, which derives
+from the class defined in Python. In most use cases this should not bother you,
+except one - exceptions. The example will provide you with one of the possible
+solutions.
+
+-------------------
+What's the problem?
+-------------------
+
+It is all about module interface and user expectations. If you can translate all
+your exceptions to built-in ones, than you are fine. You don't have to read this
+guide, but Boost.Python `exception translator`_ documentation.
+
+.. _`exception translator` : http://boost.org/libs/python/doc/v2/exception_translator.html
+
+My use case was different. I was supposed to export the exception classes and make
+them play nice with the ``try ... except`` mechanism. I mean, users should be able
+to:
+
+  1. "except" all exceptions using ``except Exception, err:`` statement
+
+  2. "except" the exposed library defined exception classes
+
+I thought about few possible solutions to the problem. My first attempt was to
+add a missing functionality to Boost.Python library. Well, I quickly found out
+that the task is not a trivial one.
+
+The following solution, I thought about, was to expose the exception class as-is and
+to define new class in Python, which derives from it and the built-in ``Exception``.
+I implemented it and when I run the code I've got ``TypeError``:
+"Error when calling the metaclass bases multiple bases have instance lay-out conflict".
+
+The only solution left was to use "aggregation with automatic delegation". I mean
+instead of deriving from the exception class, I will keep it as a member variable
+in a class defined in Python, which derives from the built-in ``Exception`` one.
+Every time user access an attribute, the class defined in Python will automatically
+redirect the request to the variable. This technique is explained much better here:
+http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52295 .
+
+Files
+-----
+
+All files contain comments, which describe what and why was done.
+
+.. toctree::
+
+   `exceptions.cpp` - C++ source code <exceptions.cpp.rst>
+   Build script (SCons) <sconstruct.rst>
+   Usage example/tester <test.py.rst>
+
+--------
+Download
+--------
+
+:download:`exceptions.zip`
+
diff --git a/docs/troubleshooting_guide/exceptions/exceptions.zip b/docs/troubleshooting_guide/exceptions/exceptions.zip
new file mode 100644
index 0000000..3ae4b9f
Binary files /dev/null and b/docs/troubleshooting_guide/exceptions/exceptions.zip differ
diff --git a/docs/troubleshooting_guide/exceptions/sconstruct b/docs/troubleshooting_guide/exceptions/sconstruct
new file mode 100644
index 0000000..3cd19fc
--- /dev/null
+++ b/docs/troubleshooting_guide/exceptions/sconstruct
@@ -0,0 +1,10 @@
+#scons build script
+SharedLibrary( target=r'my_exceptions'
+    , source=[ r'exceptions.cpp' ]
+    , LIBS=[ r"boost_python" ]
+    , LIBPATH=[ r"/home/roman/boost_cvs/libs/python/build/bin-stage" ]
+    , CPPPATH=[ r"/home/roman/boost_cvs"
+              , r"/usr/include/python2.4" ]
+    , SHLIBPREFIX=''
+    , SHLIBSUFFIX='.so'
+)
diff --git a/docs/troubleshooting_guide/exceptions/sconstruct.rst b/docs/troubleshooting_guide/exceptions/sconstruct.rst
new file mode 100644
index 0000000..376f6b9
--- /dev/null
+++ b/docs/troubleshooting_guide/exceptions/sconstruct.rst
@@ -0,0 +1,6 @@
+====================
+Build script (SCons)
+====================
+
+.. literalinclude:: ./sconstruct
+     :language: python
diff --git a/docs/troubleshooting_guide/exceptions/test.py b/docs/troubleshooting_guide/exceptions/test.py
new file mode 100644
index 0000000..f33e544
--- /dev/null
+++ b/docs/troubleshooting_guide/exceptions/test.py
@@ -0,0 +1,64 @@
+import unittest
+import my_exceptions
+
+class application_error(Exception):
+    def __init__( self, app_error ):
+        Exception.__init__( self )
+        self._pimpl = app_error
+    
+    def __str__( self ):
+        return self._pimpl.message()
+
+    def __getattribute__(self, attr):
+        my_pimpl = super(application_error, self).__getattribute__("_pimpl")
+        try:
+            return getattr(my_pimpl, attr)
+        except AttributeError:
+            return super(application_error,self).__getattribute__(attr)
+
+my_exceptions.application_error = application_error
+my_exceptions._application_error_.py_err_class = application_error
+
+class tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+    
+    def test_function_call( self ):
+        my_exceptions.check_preconditions( False )
+    
+    def test_concrete_error( self ):
+        try:
+            my_exceptions.check_preconditions( True )
+        except my_exceptions.application_error, err:
+            self.failUnless( str( err ) == "xyz" )
+
+    def test_base_error( self ):
+        try:
+            my_exceptions.check_preconditions( True )
+        except Exception, err:
+            self.failUnless( str( err ) == "xyz" )
+
+    def test_redirection( self ):
+        try:
+            my_exceptions.check_preconditions( True )
+        except Exception, err:
+            self.failUnless( err.application_name() == "my_exceptions module" )
+
+    def test_converter( self ):
+        try:
+            my_exceptions.check_preconditions( True )
+        except my_exceptions.application_error, err:
+            app_name = my_exceptions.get_application_name( err )
+            self.failUnless( "my_exceptions module" == app_name )
+            
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/docs/troubleshooting_guide/exceptions/test.py.rst b/docs/troubleshooting_guide/exceptions/test.py.rst
new file mode 100644
index 0000000..df9bc38
--- /dev/null
+++ b/docs/troubleshooting_guide/exceptions/test.py.rst
@@ -0,0 +1,6 @@
+====================
+Usage example/tester
+====================
+
+.. literalinclude:: ./test.py
+     :language: python
diff --git a/docs/troubleshooting_guide/lessons_learned.rst b/docs/troubleshooting_guide/lessons_learned.rst
new file mode 100644
index 0000000..d8eecd1
--- /dev/null
+++ b/docs/troubleshooting_guide/lessons_learned.rst
@@ -0,0 +1,22 @@
+==============================
+Boost.Python - lessons learned
+==============================
+
+--------
+Preamble
+--------
+
+Software development is an interactive process. During `Py++` development
+I see many interesting problems and even more interesting solutions.
+
+On this page you will find my collection of the solutions to some of the problems.
+
+.. toctree::
+   :maxdepth: 1
+
+   easy_extending_guide/easy_extending_guide.rst
+   smart_ptrs/smart_ptrs.rst
+   shared_ptr/shared_ptr.rst
+   automatic_conversion/automatic_conversion.rst
+   exceptions/exceptions.rst
+
diff --git a/docs/troubleshooting_guide/shared_ptr/definition.irest b/docs/troubleshooting_guide/shared_ptr/definition.irest
new file mode 100644
index 0000000..0176ef0
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/definition.irest
@@ -0,0 +1,3 @@
+Boost.Python works pretty well with ``boost::shared_ptr< T >`` class, but 
+additional  work should be done if you want to register a conversion to 
+``boost::shared_ptr< const T>`` class.
diff --git a/docs/troubleshooting_guide/shared_ptr/generate_code.py b/docs/troubleshooting_guide/shared_ptr/generate_code.py
new file mode 100644
index 0000000..ecd4ecf
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/generate_code.py
@@ -0,0 +1,120 @@
+#The code contained in this file will show you how to instruct Py++ to generate 
+#code, that uses your smart pointer class.
+#
+
+#Advise:
+#Using your favorite editor create regular C++ header file and to it next code.
+#You don't really need to generate it every time.
+#
+# template<class T>
+# inline T * get_pointer(smart_ptr_t<T> const& p){
+#     return p.get();
+# }
+#
+# template <class T>
+# struct pointee< smart_ptr_t<T> >{
+#     typedef T type;
+# };
+
+
+HELD_TYPE_TMPL = \
+"""
+namespace boost{ namespace python{
+
+%(class_name)s* get_pointer( %(class_ptr_name)s const& p ){
+    return p.get();
+}
+
+template <>
+struct pointee< %(class_ptr_name)s >{
+    typedef %(class_name)s type;
+};
+
+}}// namespace boost::python
+"""
+
+REGISTER_PTR_TO_PYTHON_TMPL = \
+"""
+boost::python::register_ptr_to_python< %(sp_inst_class_name)s >();
+"""
+
+IMPLICITLY_CONVERTIBLE_TMPL = \
+"""
+boost::python::implicitly_convertible< %(derived)s, %(base)s >();
+"""
+
+
+def get_pointee( sp_instantiation ):
+    #sp_instantiation - reference to smart_ptr_t<XXX>
+    #returns reference to XXX type/declaration
+    #I will find m_managed member variable and will find out its type
+    no_ptr = declarations.remove_pointer( sp_instantiation.variable ('m_managed').type )
+    no_alias = declarations.remove_alias( no_ptr )
+    return declarations.remove_declarated( no_alias )
+
+def expose_single( sp_instantiation ):
+    #This function instructs Py++ how to expose pointee class functionality
+    #related to your smart pointer
+    #sp_instantiation - reference to smart_ptr_t<XXX>
+    
+    # You don't need to expose smart_ptr_t< X > class
+    sp_instantiation.exclude() 
+
+    pointee = get_pointee( sp_instantiation )
+    
+    #Our example defines derived_ptr_t class:
+    #struct derived_ptr_t : public smart_ptr_t< derived_t >
+    #{...};
+    #Next if checks that smart_ptr_t< XXX > class has a derived class
+    #and "exposes" it.
+    if sp_instantiation.derived:
+        assert 1 == len( sp_instantiation.derived )
+        sp_derived = sp_instantiation.derived[0].related_class
+        #You don't want to expose it
+        sp_derived.exclude()
+
+        #Adding your custom code to pointee class. 
+        #You don't have to warry about order or place of generated code,
+        #Py++ does it right.
+        
+        #Telling Boost.Python how to work with your smart pointer
+        pointee.add_declaration_code(
+            HELD_TYPE_TMPL % { 'class_name': pointee.decl_string
+                                       , 'class_ptr_name': sp_derived.decl_string } )
+
+        #Telling Boost.Python about relationship between classes
+        pointee.add_registration_code(
+            IMPLICITLY_CONVERTIBLE_TMPL % { 'derived' : sp_derived.decl_string
+                                         , 'base' : sp_instantiation.decl_string }
+            , works_on_instance=False )
+
+        pointee.add_registration_code(
+            REGISTER_PTR_TO_PYTHON_TMPL % { 'sp_inst_class_name' : sp_derived.decl_string }
+            , works_on_instance=False )
+
+    #Setting class held type
+    pointee.held_type = 'smart_ptr_t< %s >' % pointee.wrapper_alias
+    
+    #Registering relationships between classes
+    pointee.add_registration_code(
+        IMPLICITLY_CONVERTIBLE_TMPL % { 'derived' : pointee.held_type
+                                     , 'base' : sp_instantiation.decl_string }
+        , works_on_instance=False )
+
+    pointee.add_registration_code(
+        REGISTER_PTR_TO_PYTHON_TMPL % { 'sp_inst_class_name' : sp_instantiation.decl_string }
+        , works_on_instance=False )
+
+    #Registering relationships between classes
+    base_classes = filter( lambda hierarchy_info: hierarchy_info.access_type == 'public', pointee.bases )
+    for base in base_classes:
+        pointee.add_registration_code(
+            IMPLICITLY_CONVERTIBLE_TMPL % { 'derived' : sp_instantiation.decl_string
+                                         , 'base' : 'smart_ptr_t< %s >' % base.related_class.decl_string }
+            , works_on_instance=False)
+
+def expose(mb):
+    sp_instantiations = mb.classes( lambda decl: decl.name.startswith( 'smart_ptr_t' ) )
+    map( lambda sp: expose_single( sp ), sp_instantiations )
+
+
diff --git a/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch b/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch
new file mode 100644
index 0000000..2d2062f
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch
@@ -0,0 +1,99 @@
+*** pointer_holder.hpp.orig	2006-11-24 22:39:59.000000000 +0200
+--- pointer_holder.hpp	2006-12-08 20:05:58.000000000 +0200
+***************
+*** 35,40 ****
+--- 35,42 ----
+  
+  #  include <boost/detail/workaround.hpp>
+  
++ #  include <boost/type_traits/remove_const.hpp>
++ 
+  namespace boost { namespace python {
+  
+  template <class T> class wrapper;
+***************
+*** 122,146 ****
+  template <class Pointer, class Value>
+  void* pointer_holder<Pointer, Value>::holds(type_info dst_t, bool null_ptr_only)
+  {
+      if (dst_t == python::type_id<Pointer>()
+          && !(null_ptr_only && get_pointer(this->m_p))
+      )
+          return &this->m_p;
+! 
+!     Value* p = get_pointer(this->m_p);
+      if (p == 0)
+          return 0;
+      
+      if (void* wrapped = holds_wrapped(dst_t, p, p))
+          return wrapped;
+      
+!     type_info src_t = python::type_id<Value>();
+      return src_t == dst_t ? p : find_dynamic_type(p, src_t, dst_t);
+  }
+  
+  template <class Pointer, class Value>
+  void* pointer_holder_back_reference<Pointer, Value>::holds(type_info dst_t, bool null_ptr_only)
+  {
+      if (dst_t == python::type_id<Pointer>()
+          && !(null_ptr_only && get_pointer(this->m_p))
+      )
+--- 124,153 ----
+  template <class Pointer, class Value>
+  void* pointer_holder<Pointer, Value>::holds(type_info dst_t, bool null_ptr_only)
+  {
++     typedef typename boost::remove_const< Value >::type NonConstValue;
++     
+      if (dst_t == python::type_id<Pointer>()
+          && !(null_ptr_only && get_pointer(this->m_p))
+      )
+          return &this->m_p;
+!     
+!     Value* tmp = get_pointer(this->m_p);
+!     NonConstValue* p = const_cast<NonConstValue*>( tmp );
+      if (p == 0)
+          return 0;
+      
+      if (void* wrapped = holds_wrapped(dst_t, p, p))
+          return wrapped;
+      
+!     type_info src_t = python::type_id<NonConstValue>();
+      return src_t == dst_t ? p : find_dynamic_type(p, src_t, dst_t);
+  }
+  
+  template <class Pointer, class Value>
+  void* pointer_holder_back_reference<Pointer, Value>::holds(type_info dst_t, bool null_ptr_only)
+  {
++     typedef typename boost::remove_const< Value >::type NonConstValue;
++     
+      if (dst_t == python::type_id<Pointer>()
+          && !(null_ptr_only && get_pointer(this->m_p))
+      )
+***************
+*** 149,160 ****
+      if (!get_pointer(this->m_p))
+          return 0;
+      
+!     Value* p = get_pointer(m_p);
+      
+      if (dst_t == python::type_id<held_type>())
+          return p;
+  
+!     type_info src_t = python::type_id<Value>();
+      return src_t == dst_t ? p : find_dynamic_type(p, src_t, dst_t);
+  }
+  
+--- 156,168 ----
+      if (!get_pointer(this->m_p))
+          return 0;
+      
+!     Value* tmp = get_pointer(this->m_p);
+!     NonConstValue* p = const_cast<NonConstValue*>( tmp );
+      
+      if (dst_t == python::type_id<held_type>())
+          return p;
+  
+!     type_info src_t = python::type_id<NonConstValue>();
+      return src_t == dst_t ? p : find_dynamic_type(p, src_t, dst_t);
+  }
+  
diff --git a/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch.rst b/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch.rst
new file mode 100644
index 0000000..434c682
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch.rst
@@ -0,0 +1,10 @@
+==========================
+Boost.Python library patch
+==========================
+
+Download: `pointer_holder.hpp.patch`_
+
+.. _`pointer_holder.hpp.patch` : pointer_holder.hpp.patch
+
+.. literalinclude:: ./pointer_holder.hpp.patch
+     :language: diff
diff --git a/docs/troubleshooting_guide/shared_ptr/sconstruct b/docs/troubleshooting_guide/shared_ptr/sconstruct
new file mode 100644
index 0000000..2d0d18f
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/sconstruct
@@ -0,0 +1,10 @@
+#scons build script
+SharedLibrary( target=r'shared_ptr'
+    , source=[ r'solution.cpp' ]
+    , LIBS=[ r"boost_python" ]
+    , LIBPATH=[ r"/home/roman/boost_cvs/bin",r"" ]
+    , CPPPATH=[ r"/home/roman/boost_cvs"
+              , r"/usr/include/python2.4" ]
+    , SHLIBPREFIX=''
+    , SHLIBSUFFIX='.so'
+)
diff --git a/docs/troubleshooting_guide/shared_ptr/sconstruct.rst b/docs/troubleshooting_guide/shared_ptr/sconstruct.rst
new file mode 100644
index 0000000..376f6b9
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/sconstruct.rst
@@ -0,0 +1,6 @@
+====================
+Build script (SCons)
+====================
+
+.. literalinclude:: ./sconstruct
+     :language: python
diff --git a/docs/troubleshooting_guide/shared_ptr/shared_ptr.rst b/docs/troubleshooting_guide/shared_ptr/shared_ptr.rst
new file mode 100644
index 0000000..c66496a
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/shared_ptr.rst
@@ -0,0 +1,71 @@
+===================================================
+How to register ``shared_ptr<const T>`` conversion?
+===================================================
+
+---------
+Solutions
+---------
+
+There are two possible solutions to the problem. The first one is to fix
+Boost.Python library: `pointer_holder.hpp.patch` . The patch was contributed
+to the library ( 8-December-2006 ) and some day it will be committed to the CVS.
+
+It is also possible to solve the problem, without changing Boost.Python library:
+
+  .. code-block:: c++
+
+     namespace boost{
+
+         template<class T>
+         inline T* get_pointer( boost::shared_ptr<const T> const& p ){
+             return const_cast< T* >( p.get() );
+         }
+
+     }
+
+     namespace boost{ namespace python{
+
+         template<class T>
+         struct pointee< boost::shared_ptr<T const> >{
+             typedef T type;
+         };
+
+     } } //boost::python
+
+     namespace utils{
+
+         template< class T >
+         register_shared_ptrs_to_python(){
+             namespace bpl = boost::python;
+             bpl::register_ptr_to_python< boost::shared_ptr< T > >();
+             bpl::register_ptr_to_python< boost::shared_ptr< const T > >();
+             bpl::implicitly_convertible< boost::shared_ptr< T >, boost::shared_ptr< const T > >();
+         }
+
+     }
+
+     BOOST_PYTHON_MODULE(...){
+        class_< YourClass >( "YourClass" )
+            ...;
+        utils::register_shared_ptrs_to_python< YourClass >();
+     }
+
+The second approach is a little bit "evil" because it redefines ``get_pointer``
+function for all shared pointer class instantiations. So you should be careful.
+
+Files
+-----
+
+.. toctree::
+
+  `solution.cpp` - C++ source file <solution.cpp.rst>
+  Build script (SCons) <sconstruct.rst>
+  Usage example/tester <test.py.rst>
+  `pointer_holder.hpp.patch` Boost.Python library patch <pointer_holder.hpp.patch.rst>
+
+--------
+Download
+--------
+
+:download:`shared_ptr.zip`
+
diff --git a/docs/troubleshooting_guide/shared_ptr/shared_ptr.zip b/docs/troubleshooting_guide/shared_ptr/shared_ptr.zip
new file mode 100644
index 0000000..4859edc
Binary files /dev/null and b/docs/troubleshooting_guide/shared_ptr/shared_ptr.zip differ
diff --git a/docs/troubleshooting_guide/shared_ptr/solution.cpp b/docs/troubleshooting_guide/shared_ptr/solution.cpp
new file mode 100644
index 0000000..14ef765
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/solution.cpp
@@ -0,0 +1,78 @@
+#include "boost/python.hpp"
+#include <string>
+
+namespace boost{ 
+    
+    template<class T> 
+    inline T* get_pointer( boost::shared_ptr<const T> const& p ){
+        return const_cast< T* >( p.get() );
+    }
+
+}
+
+namespace boost{ namespace python{    
+    
+    template<class T> 
+    struct pointee< boost::shared_ptr<T const> >{
+        typedef T type;
+    };
+    
+} } //boost::python
+
+struct info_t{
+    //class info_t records in what function it was created information
+    info_t( const std::string& n )
+    : text( n )
+    {}
+    
+    std::string text;
+};
+
+typedef boost::shared_ptr< info_t > ptr_t;
+typedef boost::shared_ptr< const info_t > const_ptr_t;
+
+ptr_t create_ptr(){
+    return ptr_t( new info_t( "ptr" ) );
+}
+
+const_ptr_t create_const_ptr(){
+    return const_ptr_t( new info_t( "const ptr" ) );
+}
+
+std::string read_ptr( ptr_t x ){
+    if( !x )
+        return "";
+    return x->text;
+}
+
+std::string read_const_ptr( const_ptr_t x ){
+    if( !x )
+        return "";
+    return x->text;
+}
+
+namespace bpl = boost::python;
+
+namespace utils{
+    
+    template< class T >
+    void register_shared_ptrs_to_python(){
+        //small helper function, which will register shared_ptr conversions
+        bpl::register_ptr_to_python< boost::shared_ptr< T > >();
+        bpl::register_ptr_to_python< boost::shared_ptr< const T > >();
+        bpl::implicitly_convertible< boost::shared_ptr< T >, boost::shared_ptr< const T > >();
+    }
+    
+}
+
+BOOST_PYTHON_MODULE( shared_ptr ){
+    bpl::class_< info_t >( "info_t", bpl::init< std::string >() )
+        .add_property( "text", &info_t::text );
+    utils::register_shared_ptrs_to_python< info_t >();
+    
+    bpl::def( "create_ptr", &create_ptr );
+    bpl::def( "create_const_ptr", &create_const_ptr );
+    bpl::def( "read_ptr", &read_ptr );
+    bpl::def( "read_const_ptr", &read_const_ptr );
+    
+}
diff --git a/docs/troubleshooting_guide/shared_ptr/solution.cpp.rst b/docs/troubleshooting_guide/shared_ptr/solution.cpp.rst
new file mode 100644
index 0000000..02015fa
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/solution.cpp.rst
@@ -0,0 +1,6 @@
+================================
+`solution.cpp` - C++ source file
+================================
+
+.. literalinclude:: ./solution.cpp
+     :language: c++
diff --git a/docs/troubleshooting_guide/shared_ptr/test.py b/docs/troubleshooting_guide/shared_ptr/test.py
new file mode 100644
index 0000000..afe4d9f
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/test.py
@@ -0,0 +1,30 @@
+import unittest
+import shared_ptr
+
+
+class tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+
+    def test( self ):
+        ptr = shared_ptr.create_ptr()
+        self.failUnless( ptr.text == "ptr" )
+        self.failUnless( shared_ptr.read_ptr( ptr ) == "ptr" )
+        
+        const_ptr = shared_ptr.create_const_ptr()
+        self.failUnless( const_ptr.text == "const ptr" )
+        self.failUnless( shared_ptr.read_const_ptr( const_ptr ) == "const ptr" )
+        
+        #testing conversion functionality
+        self.failUnless( shared_ptr.read_const_ptr( ptr ) == "ptr" )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/docs/troubleshooting_guide/shared_ptr/test.py.rst b/docs/troubleshooting_guide/shared_ptr/test.py.rst
new file mode 100644
index 0000000..df9bc38
--- /dev/null
+++ b/docs/troubleshooting_guide/shared_ptr/test.py.rst
@@ -0,0 +1,6 @@
+====================
+Usage example/tester
+====================
+
+.. literalinclude:: ./test.py
+     :language: python
diff --git a/docs/troubleshooting_guide/smart_ptrs/bindings.cpp b/docs/troubleshooting_guide/smart_ptrs/bindings.cpp
new file mode 100644
index 0000000..4198803
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/bindings.cpp
@@ -0,0 +1,162 @@
+#include "boost/python.hpp"
+#include "classes.hpp"
+
+namespace bp = boost::python;
+
+namespace smart_pointers{
+    // "get_pointer" function returns pointer to the object managed by smart pointer
+    // class instance
+
+    template<class T>
+    inline T * get_pointer(smart_pointers::smart_ptr_t<T> const& p){
+        return p.get();
+    }
+
+    inline derived_t * get_pointer(derived_ptr_t const& p){
+        return p.get();
+    }
+}
+
+namespace boost{ namespace python{
+
+    using boost::get_pointer;
+    
+    // "pointee" class tells Boost.Python the type of the object managed by smart 
+    // pointer class.
+    // You can read more about "pointee" class here:
+    // http://boost.org/libs/python/doc/v2/pointee.html 
+
+    template <class T>
+    struct pointee< smart_pointers::smart_ptr_t<T> >{
+        typedef T type;
+    };
+
+    template<>
+    struct pointee< derived_ptr_t >{
+        typedef derived_t type;
+    };
+
+} }
+
+
+// "get_pointer" and "pointee" are needed, in order to allow Boost.Python to 
+// work with user defined smart pointer
+
+struct base_wrapper_t : base_i, bp::wrapper< base_i > {
+
+    base_wrapper_t()
+    : base_i(), bp::wrapper< base_i >()
+    {}
+
+    virtual int get_value(  ) const {
+        bp::override func_get_value = this->get_override( "get_value" );
+        return func_get_value(  );
+    }
+
+};
+
+struct derived_wrapper_t : derived_t, bp::wrapper< derived_t > {
+
+    derived_wrapper_t()
+    : derived_t(), bp::wrapper< derived_t >()
+    {}
+
+    derived_wrapper_t(const derived_t& d)
+    : derived_t(d), bp::wrapper< derived_t >()
+    {}
+
+    derived_wrapper_t(const derived_wrapper_t&)
+    : derived_t(), bp::wrapper< derived_t >()
+    {}
+
+    virtual int get_value() const  {
+        if( bp::override func_get_value = this->get_override( "get_value" ) )
+            return func_get_value(  );
+        else
+            return derived_t::get_value(  );
+    }
+
+    int default_get_value() const  {
+        return derived_t::get_value( );
+    }
+
+};
+
+BOOST_PYTHON_MODULE( custom_sptr ){
+    bp::class_< base_wrapper_t
+                , boost::noncopyable
+                , smart_pointers::smart_ptr_t< base_wrapper_t > >( "base_i" )
+    // -----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    // HeldType of the abstract class, which is managed by custom smart pointer
+    // should be smart_pointers::smart_ptr_t< base_wrapper_t >.
+        .def( "get_value", bp::pure_virtual( &base_i::get_value ) );
+
+    // Register implicit conversion between smart pointers. Boost.Python library
+    // can not discover relationship between classes. You have to tell about the 
+    // relationship to it. This will allow Boost.Python to treat right, the 
+    // functions, which expect to get as argument smart_pointers::smart_ptr_t< base_i > class 
+    // instance, when smart_pointers::smart_ptr_t< derived from base_i > class instance is passed.
+    //
+    // For more information about implicitly_convertible see the documentation:
+    // http://boost.org/libs/python/doc/v2/implicit.html .
+    bp::implicitly_convertible< 
+                  smart_pointers::smart_ptr_t< base_wrapper_t >
+                , smart_pointers::smart_ptr_t< base_i > >();
+    
+    // The register_ptr_to_python functionality is explaned very well in the 
+    // documentation:
+    // http://boost.org/libs/python/doc/v2/register_ptr_to_python.html .
+    bp::register_ptr_to_python< smart_pointers::smart_ptr_t< base_i > >();
+
+    bp::class_< derived_wrapper_t
+                , bp::bases< base_i >
+                , smart_pointers::smart_ptr_t<derived_wrapper_t> >( "derived_t" )
+    // -----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    // Pay attention on the class HeldType. It will allow us to create new classes
+    // in Python, which derive from the derived_t class.
+        .def( "get_value", &derived_t::get_value, &derived_wrapper_t::default_get_value );
+
+    // Now register all existing conversion:
+    bp::implicitly_convertible< 
+                  smart_pointers::smart_ptr_t< derived_wrapper_t >
+                , smart_pointers::smart_ptr_t< derived_t > >();
+    bp::implicitly_convertible< 
+                  smart_pointers::smart_ptr_t< derived_t >
+                  , smart_pointers::smart_ptr_t< base_i > >();
+    bp::implicitly_convertible< 
+                    derived_ptr_t
+                  , smart_pointers::smart_ptr_t< derived_t > >();
+    bp::register_ptr_to_python< derived_ptr_t >();
+
+    bp::def( "const_ref_get_value", &::const_ref_get_value );
+    bp::def( "ref_get_value", &::ref_get_value );
+    bp::def( "val_get_value", &::val_get_value );
+    bp::def( "create_derived", &::create_derived );
+    bp::def( "create_base", &::create_base );
+
+
+    bp::class_< numeric_t, smart_pointers::smart_ptr_t< numeric_t > >( "numeric_t" )
+        .def_readwrite( "value", &numeric_t::value );
+
+    bp::def( "create_numeric", &::create_numeric );
+    bp::def( "get_numeric_value", &::get_numeric_value );
+
+    // Work around for the public member variable, where type of the variable
+    // is smart pointer problem
+    bp::class_< shared_data::buffer_t >( "buffer_t" )
+        .def_readwrite( "size", &shared_data::buffer_t::size );
+    
+    bp::register_ptr_to_python< smart_pointers::smart_ptr_t< shared_data::buffer_t > >();
+
+    bp::class_< shared_data::buffer_holder_t >( "buffer_holder_t" )
+        .def( "get_data", &shared_data::buffer_holder_t::get_data )
+        .def_readwrite( "data_naive", &shared_data::buffer_holder_t::data )
+        // If you will try to access "data_naive" you will get
+        // TypeError: No Python class registered for C++ class smart_pointers::smart_ptr_t<shared_data::buffer_t>
+        // Next lines of code contain work around
+        .add_property( "data"
+            , bp::make_getter( &shared_data::buffer_holder_t::data
+                               , bp::return_value_policy<bp::copy_non_const_reference>() ) 
+            , bp::make_setter( &shared_data::buffer_holder_t::data ) );
+
+}
diff --git a/docs/troubleshooting_guide/smart_ptrs/bindings.cpp.rst b/docs/troubleshooting_guide/smart_ptrs/bindings.cpp.rst
new file mode 100644
index 0000000..a5e3bdd
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/bindings.cpp.rst
@@ -0,0 +1,6 @@
+========================
+C++/Python bindings code
+========================
+
+.. literalinclude:: ./bindings.cpp
+     :language: c++
diff --git a/docs/troubleshooting_guide/smart_ptrs/classes.hpp b/docs/troubleshooting_guide/smart_ptrs/classes.hpp
new file mode 100644
index 0000000..c1eb9c9
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/classes.hpp
@@ -0,0 +1,149 @@
+#ifndef classes_11_11_2006
+#define classes_11_11_2006
+
+#include "smart_ptr.h"
+
+struct base_i{
+public:
+    virtual ~base_i() {}
+    virtual int get_value() const = 0;
+};
+
+struct derived_t : base_i{
+    derived_t(){}    
+    virtual int get_value() const{ return 0xD; }
+};
+
+// Some smart pointer classes does not have reach interface as boost ones.
+// In order to provide same level of convenience, users are forced to create
+// classes, which derive from smart pointer class.
+struct derived_ptr_t : public smart_pointers::smart_ptr_t< derived_t >{
+
+    derived_ptr_t()
+    : smart_pointers::smart_ptr_t< derived_t >()
+    {}
+
+    explicit derived_ptr_t(derived_t* rep)
+    : smart_pointers::smart_ptr_t<derived_t>(rep)
+    {}
+
+    derived_ptr_t(const derived_ptr_t& r)
+    : smart_pointers::smart_ptr_t<derived_t>(r) {}
+
+    derived_ptr_t( const smart_pointers::smart_ptr_t< base_i >& r)
+    : smart_pointers::smart_ptr_t<derived_t>()
+    {
+        m_managed = static_cast<derived_t*>(r.get());
+        m_use_count = r.use_count_ptr();
+        if (m_use_count)
+        {
+            ++(*m_use_count);
+        }
+    }
+
+    derived_ptr_t& operator=(const smart_pointers::smart_ptr_t< base_i >& r)
+    {
+        if (m_managed == static_cast<derived_t*>(r.get()))
+            return *this;
+        release();
+        m_managed = static_cast<derived_t*>(r.get());
+        m_use_count = r.use_count_ptr();
+        if (m_use_count)
+        {
+            ++(*m_use_count);
+        }
+        
+        return *this;
+    }
+};
+
+// Few functions that will be used to test custom smart pointer functionality
+// from Python.
+derived_ptr_t create_derived(){
+    return derived_ptr_t( new derived_t() );
+}
+
+smart_pointers::smart_ptr_t< base_i > create_base(){
+    return smart_pointers::smart_ptr_t< base_i >( new derived_t() );
+}
+
+
+// Next function could be exposed, but it could not be called from Python, when
+// the argument is the instance of a derived class.
+//
+// This is the explanation David Abrahams gave:
+//   Naturally; there is no instance of smart_pointers::smart_ptr_t<base_i> anywhere in the
+//   Python object for the reference to bind to. The rules are the same as in C++:
+//
+//   int f(smart_pointers::smart_ptr_t<base>& x);
+//   smart_pointers::smart_ptr_t<derived> y;
+//   int z = f(y);               // fails to compile
+
+inline int
+ref_get_value( smart_pointers::smart_ptr_t< base_i >& a ){
+    return a->get_value();
+}
+
+inline int
+val_get_value( smart_pointers::smart_ptr_t< base_i > a ){
+    return a->get_value();
+}
+
+inline int
+const_ref_get_value( const smart_pointers::smart_ptr_t< base_i >& a ){
+    return a->get_value();
+}
+
+
+struct numeric_t{
+    numeric_t()
+    : value(0)
+    {}
+        
+    int value;
+};
+
+smart_pointers::smart_ptr_t< numeric_t > create_numeric( int value ){
+    smart_pointers::smart_ptr_t< numeric_t > num( new numeric_t() );
+    num->value = value;
+    return num;
+}
+
+int get_numeric_value( smart_pointers::smart_ptr_t< numeric_t > n ){
+    if( n.get() ){
+        return n->value;
+    }
+    else{
+        return 0;
+    }
+}
+
+
+
+namespace shared_data{
+
+// Boost.Python has small problem with user defined smart pointers and public
+// member variables, exposed using def_readonly, def_readwrite functionality
+// Read carefully "make_getter" documentation.
+// http://boost.org/libs/python/doc/v2/data_members.html#make_getter-spec
+// bindings.cpp contains solution to the problem.
+    
+struct buffer_t{ 
+    buffer_t() : size(0) {}
+    int size; 
+};
+
+struct buffer_holder_t{
+    buffer_holder_t()
+    : data( new buffer_t() )
+    {}
+        
+    smart_pointers::smart_ptr_t< buffer_t > get_data(){ return data; }
+    
+    smart_pointers::smart_ptr_t< buffer_t > data;
+};
+
+}
+
+#endif//classes_11_11_2006
+
diff --git a/docs/troubleshooting_guide/smart_ptrs/classes.hpp.rst b/docs/troubleshooting_guide/smart_ptrs/classes.hpp.rst
new file mode 100644
index 0000000..489fff4
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/classes.hpp.rst
@@ -0,0 +1,6 @@
+=========================
+To be exposed C++ classes
+=========================
+
+.. literalinclude:: ./classes.hpp
+     :language: c++
diff --git a/docs/troubleshooting_guide/smart_ptrs/definition.irest b/docs/troubleshooting_guide/smart_ptrs/definition.irest
new file mode 100644
index 0000000..49b3aae
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/definition.irest
@@ -0,0 +1,3 @@
+There are projects, which use custom smart pointer(s). For majority of the
+projects, it is not an option to switch to ``boost::shared_ptr``. The
+solution contains source code and comprehensive unit test for the problem.
diff --git a/docs/troubleshooting_guide/smart_ptrs/sconstruct b/docs/troubleshooting_guide/smart_ptrs/sconstruct
new file mode 100644
index 0000000..bce7d32
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/sconstruct
@@ -0,0 +1,10 @@
+#scons build script
+SharedLibrary( target=r'custom_sptr'
+    , source=[ r'bindings.cpp' ]
+    , LIBS=[ r"boost_python" ]
+    , LIBPATH=[ r"/home/roman/boost_cvs/libs/python/build/bin-stage",r"" ]
+    , CPPPATH=[ r"/home/roman/boost_cvs"
+              , r"/usr/include/python2.4" ]
+    , SHLIBPREFIX=''
+    , SHLIBSUFFIX='.so'
+)
diff --git a/docs/troubleshooting_guide/smart_ptrs/sconstruct.rst b/docs/troubleshooting_guide/smart_ptrs/sconstruct.rst
new file mode 100644
index 0000000..376f6b9
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/sconstruct.rst
@@ -0,0 +1,6 @@
+====================
+Build script (SCons)
+====================
+
+.. literalinclude:: ./sconstruct
+     :language: python
diff --git a/docs/troubleshooting_guide/smart_ptrs/smart_ptr.h b/docs/troubleshooting_guide/smart_ptrs/smart_ptr.h
new file mode 100644
index 0000000..e9f99b8
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/smart_ptr.h
@@ -0,0 +1,135 @@
+#ifndef smart_ptr_t_19_09_2006
+#define smart_ptr_t_19_09_2006
+
+#include <assert.h>
+
+//The smart_ptr_t class has been created based on Ogre::SharedPtr class
+//http://www.ogre3d.org/docs/api/html/OgreSharedPtr_8h-source.html
+
+namespace smart_pointers{
+
+template<class T> 
+class smart_ptr_t {    
+protected:
+    T* m_managed;
+    unsigned int* m_use_count;
+public:
+
+    smart_ptr_t()
+    : m_managed(0), m_use_count(0)
+    {}
+
+    //rep should not be NULL
+    explicit smart_ptr_t(T* rep)
+    : m_managed(rep), m_use_count( new unsigned int(1) )
+    {}
+
+    //Every custom smart pointer class should have copy constructor and 
+    //assignment operator. Probably your smart pointer class already has this
+    //functionality.
+
+    smart_ptr_t(const smart_ptr_t& r)
+    : m_managed(0), m_use_count(0)
+    {
+        m_managed = r.get();
+        m_use_count = r.use_count_ptr();
+        if(m_use_count){
+            ++(*m_use_count);
+        }
+    }
+
+    smart_ptr_t& operator=(const smart_ptr_t& r){
+        if( m_managed == r.m_managed ){
+            return *this;
+        }
+        release();
+            
+        m_managed = r.get();
+        m_use_count = r.use_count_ptr();
+        if(m_use_count){
+            ++(*m_use_count);
+        }
+        return *this;
+    }
+
+    //Next two functions allows to construct smart pointer from an existing one,
+    //which manages object with a different type.
+    //For example:
+    //    struct base{...};
+    //    struct derived : base { ... };
+    //    smart_ptr_t< base > b( smart_ptr_t<derived>() );
+    //
+    //This functionality is very important for C++ Python bindings. It will allow
+    //you to register smart pointer conversion:
+    //    boost::python::implicitly_convertible< smart_ptr_t< derived >, smart_ptr_t< base > >();
+    template<class Y>
+    smart_ptr_t(const smart_ptr_t<Y>& r)
+    : m_managed(0), m_use_count(0)
+    {
+        m_managed = r.get();
+        m_use_count = r.use_count_ptr();
+        if(m_use_count){
+            ++(*m_use_count);
+        }
+    }
+
+    template< class Y>
+    smart_ptr_t& operator=(const smart_ptr_t<Y>& r){
+        if( m_managed == r.m_managed ){
+            return *this;
+        }
+        release();
+            
+        m_managed = r.get();
+        m_use_count = r.use_count_ptr();
+        if(m_use_count){
+            ++(*m_use_count);
+        }
+        return *this;
+    }
+
+    virtual ~smart_ptr_t() {
+        release();
+    }
+
+    inline T& operator*() const {
+        assert(m_managed); return *m_managed;
+    }
+
+    inline T* operator->() const {
+        assert(m_managed); return m_managed;
+    }
+
+    inline T* get() const {
+        return m_managed;
+    }
+
+    inline unsigned int* use_count_ptr() const {
+        return m_use_count;
+    }
+
+protected:
+
+    inline void release(void){
+        bool destroy_this = false;
+
+        if( m_use_count ){
+            if( --(*m_use_count) == 0){
+                destroy_this = true;
+            }
+        }
+        if (destroy_this){
+            destroy();
+        }
+    }
+
+    virtual void destroy(void){
+        delete m_managed;
+        delete m_use_count;
+    }
+};
+
+} //smart_pointers
+
+#endif //smart_ptr_t_19_09_2006
+
diff --git a/docs/troubleshooting_guide/smart_ptrs/smart_ptr.h.rst b/docs/troubleshooting_guide/smart_ptrs/smart_ptr.h.rst
new file mode 100644
index 0000000..e968e69
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/smart_ptr.h.rst
@@ -0,0 +1,6 @@
+==================================
+User defined "smart pointer" class
+==================================
+
+.. literalinclude:: ./smart_ptr.h
+     :language: c++
diff --git a/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rst b/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rst
new file mode 100644
index 0000000..5df730c
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rst
@@ -0,0 +1,25 @@
+===================================
+How to expose custom smart pointer?
+===================================
+
+Files
+-----
+
+.. toctree::
+
+  smart_ptr.h.rst
+  classes.hpp.rst
+  bindings.cpp.rst
+  sconstruct.rst
+  test.py.rst
+
+All files contain comments, which describe what and why was done.
+
+--------
+Download
+--------
+
+:download:`smart_ptrs.zip`
+
+.. _`SourceForge`: http://sourceforge.net/index.php
+
diff --git a/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.zip b/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.zip
new file mode 100644
index 0000000..fdc7b47
Binary files /dev/null and b/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.zip differ
diff --git a/docs/troubleshooting_guide/smart_ptrs/test.py b/docs/troubleshooting_guide/smart_ptrs/test.py
new file mode 100644
index 0000000..6e0611c
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/test.py
@@ -0,0 +1,89 @@
+import unittest
+import custom_sptr
+
+class py_derived_t( custom_sptr.base_i ):
+    def __init__( self ):
+        custom_sptr.base_i.__init__( self )
+
+    def get_value( self ):
+        return 28
+
+class py_double_derived_t( custom_sptr.derived_t ):
+    def __init__( self ):
+        custom_sptr.derived_t.__init__( self )
+
+    def get_value( self ):
+        return 0xDD
+
+class tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+
+    def __test_ref( self, inst ):
+        try:
+            custom_sptr.ref_get_value( inst )
+            self.fail( 'ArgumentError was not raised.' )
+        except Exception, error:
+            self.failUnless( error.__class__.__name__ == 'ArgumentError' )
+
+    def __test_ref_fine( self, inst, val ):
+        self.assertEqual( custom_sptr.ref_get_value( inst ), val )
+
+    def __test_val( self, inst, val ):
+        self.assertEqual( custom_sptr.val_get_value( inst ), val )
+
+    def __test_const_ref( self, inst, val ):
+        self.assertEqual( custom_sptr.const_ref_get_value( inst ), val )
+
+    def __test_impl( self, inst, val ):
+        self.__test_ref( inst )
+        self.__test_val( inst, val )
+        self.__test_const_ref( inst, val )
+
+    def test_derived( self ):
+        self.__test_impl( custom_sptr.derived_t(), 0xD )
+
+    def test_py_derived( self ):
+        self.__test_impl( py_derived_t(), 28 )
+
+    def test_py_double_derived( self ):
+        self.__test_impl( py_double_derived_t(), 0xDD )
+
+    def test_created_derived( self ):
+        self.__test_impl( custom_sptr.create_derived(), 0xD )
+
+    def test_created_base( self ):
+        inst = custom_sptr.create_base()
+        val = 0xD
+        self.__test_ref_fine( inst, val )
+        self.__test_val( inst, val )
+        self.__test_const_ref( inst, val )
+
+    def test_mem_var_access( self ):
+        holder = custom_sptr.buffer_holder_t()
+        self.failUnless( holder.get_data().size == 0 )
+        self.failUnless( holder.data.size == 0 )
+        try:
+            self.failUnless( holder.data_naive.size == 0 )
+            self.fail("TypeError exception was not raised.")
+        except TypeError:
+            pass
+    
+    def test_numeric( self ):
+        numeric = custom_sptr.create_numeric(21)
+        self.failUnless( 21 == numeric.value ) 
+        self.failUnless( 21 == custom_sptr.get_numeric_value(numeric) )
+        numeric = custom_sptr.numeric_t()
+        self.failUnless( 0 == numeric.value ) 
+        self.failUnless( 0 == custom_sptr.get_numeric_value(numeric) )
+        
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/docs/troubleshooting_guide/smart_ptrs/test.py.rst b/docs/troubleshooting_guide/smart_ptrs/test.py.rst
new file mode 100644
index 0000000..4e47360
--- /dev/null
+++ b/docs/troubleshooting_guide/smart_ptrs/test.py.rst
@@ -0,0 +1,6 @@
+====================
+Usage example/Tester
+====================
+
+.. literalinclude:: ./test.py
+     :language: python
diff --git a/docs/tutorials/module_builder/generate_code.py b/docs/tutorials/module_builder/generate_code.py
new file mode 100644
index 0000000..406d624
--- /dev/null
+++ b/docs/tutorials/module_builder/generate_code.py
@@ -0,0 +1,54 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+sys.path.append( '../../../..' )
+from environment import gccxml
+from pyplusplus import module_builder
+
+mb = module_builder.module_builder_t(
+        files=['hello_world.hpp']
+        , gccxml_path=gccxml.executable ) #path to gccxml executable
+
+#rename enum Color to color
+Color = mb.enum( 'color' )
+Color.rename('Color')
+
+#Set call policies to animal::genealogical_tree_ref
+animal = mb.class_( 'animal' )
+genealogical_tree_ref = animal.member_function( 'genealogical_tree_ref', recursive=False )
+genealogical_tree_ref.call_policies = module_builder.call_policies.return_internal_reference()
+
+#next code has same effect
+genealogical_tree_ref = mb.member_function( 'genealogical_tree_ref' )
+genealogical_tree_ref.call_policies = module_builder.call_policies.return_internal_reference()
+
+#I want to exclude all classes with name starts with impl
+impl_classes = mb.classes( lambda decl: decl.name.startswith( 'impl' ) )
+impl_classes.exclude()
+
+#I want to exclude all functions that returns pointer to int
+ptr_to_int = mb.free_functions( return_type='int *' )
+ptr_to_int.exclude()
+
+#I can print declarations to see what is going on
+mb.print_declarations()
+
+#I can print single declaration
+mb.print_declarations( animal )
+
+#Now it is the time to give a name to our module
+mb.build_code_creator( module_name='hw' )
+
+#It is common requirement in software world - each file should have license
+mb.code_creator.license = '//Boost Software License( http://boost.org/more/license_info.html )'
+
+#I don't want absolute includes within code
+mb.code_creator.user_defined_directories.append( os.path.abspath('.') )
+
+#And finally we can write code to the disk
+mb.write_module( os.path.join( os.path.abspath('.'), 'generated.cpp' ) )
diff --git a/docs/tutorials/module_builder/generate_code.py.rst b/docs/tutorials/module_builder/generate_code.py.rst
new file mode 100644
index 0000000..7be6ab0
--- /dev/null
+++ b/docs/tutorials/module_builder/generate_code.py.rst
@@ -0,0 +1,6 @@
+================================
+`module_builder_t` usage example
+================================
+
+.. literalinclude:: ./generate_code.py
+     :language: python
diff --git a/docs/tutorials/module_builder/generated.cpp b/docs/tutorials/module_builder/generated.cpp
new file mode 100644
index 0000000..611a900
--- /dev/null
+++ b/docs/tutorials/module_builder/generated.cpp
@@ -0,0 +1,31 @@
+// This file has been generated by Py++.
+
+//Boost Software License( http://boost.org/more/license_info.html )
+
+#include "boost/python.hpp"
+
+#include "hello_world.hpp"
+
+namespace bp = boost::python;
+
+BOOST_PYTHON_MODULE(hw){
+    bp::enum_< color>("Color")
+        .value("red", red)
+        .value("green", green)
+        .value("blue", blue)
+        .export_values()
+        ;
+
+    bp::class_< animal, boost::noncopyable >( "animal", bp::init< bp::optional< std::string const & > >(( bp::arg("name")="" )) )
+        .def(
+            "genealogical_tree_ref"
+            , &::animal::genealogical_tree_ref
+            , bp::return_internal_reference< 1, bp::default_call_policies >() )
+        .def(
+            "name"
+            , &::animal::name );
+
+    bp::implicitly_convertible< std::string const &, animal >();
+
+    bp::class_< genealogical_tree >( "genealogical_tree" );
+}
diff --git a/docs/tutorials/module_builder/generated.cpp.rst b/docs/tutorials/module_builder/generated.cpp.rst
new file mode 100644
index 0000000..6a80b6b
--- /dev/null
+++ b/docs/tutorials/module_builder/generated.cpp.rst
@@ -0,0 +1,6 @@
+==============
+Generated code
+==============
+
+.. literalinclude:: ./generated.cpp
+     :language: c++
diff --git a/docs/tutorials/module_builder/hello_world.hpp b/docs/tutorials/module_builder/hello_world.hpp
new file mode 100644
index 0000000..fe2666d
--- /dev/null
+++ b/docs/tutorials/module_builder/hello_world.hpp
@@ -0,0 +1,43 @@
+// Copyright 2004-2006 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __hello_world_hpp__
+#define __hello_world_hpp__
+
+#include <string>
+
+//I want to rename color to Color
+enum color{ red, green, blue };
+
+struct genealogical_tree{/*...*/};
+
+struct animal{
+
+    explicit animal( const std::string& name="" )
+    : m_name( name )
+    {}
+
+    //I need to set call policies to the function
+    genealogical_tree& genealogical_tree_ref()
+    { return m_genealogical_tree; }
+
+    std::string name() const
+    { return m_name; }
+
+private:
+    std::string m_name;
+    genealogical_tree m_genealogical_tree;
+};
+
+//I want to exclude next declarations:
+struct impl1{};
+struct impl2{};
+
+inline int* get_int_ptr(){ return 0;}
+inline int* get_int_ptr(int){ return 0;}
+inline int* get_int_ptr(double){ return 0;}
+
+#endif//__hello_world_hpp__
+
diff --git a/docs/tutorials/module_builder/hello_world.hpp.rst b/docs/tutorials/module_builder/hello_world.hpp.rst
new file mode 100644
index 0000000..eb9c1bd
--- /dev/null
+++ b/docs/tutorials/module_builder/hello_world.hpp.rst
@@ -0,0 +1,6 @@
+===============
+C++ header file
+===============
+
+.. literalinclude:: ./hello_world.hpp
+     :language: c++
diff --git a/docs/tutorials/module_builder/module_builder.rst b/docs/tutorials/module_builder/module_builder.rst
new file mode 100644
index 0000000..3e14770
--- /dev/null
+++ b/docs/tutorials/module_builder/module_builder.rst
@@ -0,0 +1,159 @@
+==============
+Tutorials
+==============
+
+--------
+Preamble
+--------
+
+I guess you decided to try :doc:`Py++ <../../index>` API. Good! Lets start. First of all,
+please take a look on two files:
+
+
+* :doc:`hello_world.hpp <hello_world.hpp>` - C++ source code, that we want to export to Python
+
+
+* :doc:`generate_code.py <generate_code.py>` - Python code, that uses :doc:`Py++ <../../index>` to export
+  declarations from the source file
+
+----------------
+module_builder_t
+----------------
+
+:doc:`Py++ <../../index>` is built from a few packages, but there is only one package, you
+should really to be familiar with - ``module_builder``. This package is some kind
+of facade to low level API. It provides simple and intuitive API. The main
+class within this package is ``module_builder_t``. The instance of this class will
+guide you through the whole process.
+
+-------------------------
+module_builder_t.__init__
+-------------------------
+
+First of all, what is needed in order to create an instance of the class?
+
+``module_builder_t.__init__`` methods take few arguments:
+
+1. ``files`` - list of all C++ source files, that declarations from them, you want
+   to expose. This is the only required parameter.
+
+2. ``gccxml_path`` - path to `GCC-XML`_ binary. If you don't supply this argument
+   `pygccxml <http://pygccxml.readthedocs.org>`_ will look for it using ``PATH`` environment variable.
+
+There are some other arguments:
+
+* additional include directories
+* [un]defined symbols ( macros )
+* intermediate results cache strategy configuration
+* ...
+
+Parsing of source files is done within this method. Post condition of this
+method is that all declarations has been successfully extracted from the sources
+files and you can start work on them.
+
+--------------------------
+Declarations customization
+--------------------------
+There are always declarations, which should not be exported or could not be
+exported without human invocation. As you already saw from example, :doc:`Py++ <../../index>` provides
+simple and powerful declarations query interface. By default, only the declarations
+that belongs to the files, you have asked to parse, and to the files, that lies
+in the same directories as parsed files, will be exported:
+::
+
+  project_root/
+      details/
+          impl_a.h
+          impl_b.h
+    include/
+        a.h   //includes impl_a.h
+        b.h   //includes impl_b.h
+        all.h //includes a.h and b.h
+  mb = module_builder( [ 'all.h' ] )
+
+All declarations that belongs to ``include`` directory will be signed as included
+to exporting. All other declarations will be ignored.
+
+You can change the set of exported declarations by calling ``exclude`` or
+``include`` methods, on declarations.
+
+Basically, this is a second step of code generation process. During this step
+you could/should/may change :doc:`Py++ <../../index>` defaults:
+
+* to rename exposed declarations
+* to include/exclude declarations
+* to set call policies
+* ...
+
+I think it is critical for beginners to see what is going on, right?
+``module_builder_t`` class has ``print_declarations`` method. You can print whole
+declarations tree or some specific declaration. You will find a lot of useful
+information there:
+
+* whether the declaration is include\\excluded
+* call policies
+* warnings, :doc:`Py++ <../../index>` warns you about the declarations that have some "problems"
+* ...
+
+Very convenient, very useful.
+
+-----------------------------------
+module_builder_t.build_code_creator
+-----------------------------------
+
+Now it is a time to create module code creator. Do you remember, in introduction
+to :doc:`Py++ <../../index>`, I told you that before writing code to disc, :doc:`Py++ <../../index>` will create some
+kind of `AST`_. Well calling module_builder_t.build_code_creator function does this.
+Right now, the only important argument to the function is ``module_name``.
+Self explained, is it?
+
+
+What is the main value of code creators? Code creators allow you to modify
+code before it has been written to disk. For example one common requirement for
+open source projects it to have license text within every source file. You can
+do it with one line of code only:
+
+.. code-block:: python
+
+  mb.code_creator.license = <<<your license text>>>
+
+After you call this function, I recommend you not to change declarations
+configuration. In most cases the change will take effect, in some cases it will
+not!
+
+This tutorial is not cover code creators and how you should work with them.
+I will write another tutorial.
+
+.. _`AST`: http://en.wikipedia.org/wiki/Abstract_syntax_tree
+
+-----------------------------
+module_builder_t.write_module
+-----------------------------
+
+You have almost created your module. The last things left is to write module
+code to file(s). You can do it with
+
+* ``module_builder_t.write_module`` - you should provide file name, the code
+  will be written in.
+
+* ``module_builder_t.split_module`` - you should provide directory name.
+  For big projects it is a must to minimize compilation time. So :doc:`Py++ <../../index>`
+  splits your module source code to different files within the directory.
+
+-----
+Files
+-----
+
+.. toctree::
+
+   hello_world.hpp.rst
+   generate_code.py.rst
+   generated.cpp.rst
+
+That's all. I hope you enjoyed.
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`SourceForge`: http://sourceforge.net/index.php
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/tutorials/pyplusplus_gui.png b/docs/tutorials/pyplusplus_gui.png
new file mode 100644
index 0000000..ff9859c
Binary files /dev/null and b/docs/tutorials/pyplusplus_gui.png differ
diff --git a/docs/tutorials/pyplusplus_gui.rst b/docs/tutorials/pyplusplus_gui.rst
new file mode 100644
index 0000000..0caa94b
--- /dev/null
+++ b/docs/tutorials/pyplusplus_gui.rst
@@ -0,0 +1,5 @@
+=====================
+pygccxml and Py++ GUI
+=====================
+
+.. image:: pyplusplus_gui.png
diff --git a/docs/tutorials/tutorials.rst b/docs/tutorials/tutorials.rst
new file mode 100644
index 0000000..4a4775a
--- /dev/null
+++ b/docs/tutorials/tutorials.rst
@@ -0,0 +1,54 @@
+=========
+Tutorials
+=========
+
+.. toctree::
+
+  module_builder/module_builder.rst
+  pyplusplus_gui.rst
+
+
+-------------------
+Graphical interface
+-------------------
+:doc:`Py++ <../index>` includes a :doc:`graphical interface <pyplusplus_gui>`. :doc:`Graphical interface <pyplusplus_gui>` is invoked
+with the ``pyplusplus_gui`` command, or with ``pyplusplus_gui.pyw`` from the
+``scripts`` subdirectory, of the `Python`_ installation directory.
+
+My advise to you - start with :doc:`graphical interface <pyplusplus_gui>`, because:
+
+  * you don't have to learn new API
+
+  * few clicks with mouse and you have `Boost.Python`_ code for your file(s)
+
+  * it is very easy to evaluate :doc:`Py++ <../index>` using it
+
+  * you can check whether `GCC-XML`_ is able to compile your code or not
+
+  * you can use it as a guide to `Boost.Python`_ library
+
+  * it is able to generate :doc:`Py++ <../index>` code for you
+
+---------------
+Getting started
+---------------
+
+I suppose you decided to do some coding with :doc:`Py++ <../index>`.
+:doc:`Module builder <module_builder/module_builder>` tutorials will help you.
+
+--------
+Advanced
+--------
+
+To be written. I think I should cover here the usage of code creators and code
+creators tree. Meanwhile you can take a look on the content of
+``examples/custom_code_creator`` directory. It contains example, which shows how
+to create your own code creator. To be more specific, it exposes ``get*`` and
+``set*`` methods as a single property.
+
+
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`SourceForge`: http://sourceforge.net/index.php
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/docs/warnings.rst b/docs/warnings.rst
new file mode 100644
index 0000000..edb2e2d
--- /dev/null
+++ b/docs/warnings.rst
@@ -0,0 +1,213 @@
+=============
+Py++ warnings
+=============
+
+------------
+Introduction
+------------
+
+:doc:`Py++ <index>` has been created with few goals in mind:
+
+* to allow users create `Python`_ bindings for large projects using the `Boost.Python`_
+  library
+
+* to minimize maintenance time
+
+* to serve as a user's guide for `Boost.Python`_ library
+
+
+Those goals all have something in common. In order to achieve them, :doc:`Py++ <index>` must
+give useful feedback to the user. Because :doc:`Py++ <index>` understands the declarations
+it exports, it can scan declarations for potential problems, report them and in
+some cases provide hints about how to resolve the problem. Few examples:
+
+*
+  .. code-block:: c++
+
+     struct Y{ ... };
+
+  .. code-block:: c++
+
+     struct X{
+         ...
+         virtual Y& do_smth();
+     };
+
+  Member function ``do_smth`` cannot be overridden in Python because ... .
+
+*
+  .. code-block:: c++
+
+     struct window{
+         ...
+         void get_size( int& height, int& width ) const;
+     };
+
+  Member function ``get_size`` can be exposed to Python, but it will not be callable because ... .
+
+* In order to expose free/member function that takes more than 10 arguments user
+  should define ``BOOST_PYTHON_MAX_ARITY`` macro.
+
+*
+  .. code-block:: c++
+
+     struct X{
+         ...
+     };
+
+     void do_smth( X x );
+
+  If you expose ``do_smth`` function and don't expose struct ``X``, :doc:`Py++ <index>`
+  will tell you that struct ``X`` is used in exported declaration, but was not
+  exposed.
+
+For these problems and many other :doc:`Py++ <index>` gives a nice explanation
+and sometimes a link to the relevant information on the Internet.
+
+I don't know what about you, but I found these messages pretty useful. They allow
+me to deliver Python bindings with higher quality.
+
+-------------
+How it works?
+-------------
+
+In previous paragraph, I described some pretty useful functionality but what should you
+do to enable it? - *Nothing!* By default, :doc:`Py++ <index>` only prints the
+important messages to ``stdout``. More over, it prints them only for to be exposed
+declarations.
+
+:doc:`Py++ <index>` uses the python  `logging`_ package to write all user messages. By
+default, messages with ``DEBUG`` level will be skipped, all other messages will
+be reported.
+
+--------
+Warnings
+--------
+
+Example of the warning:
+::
+
+  WARNING: containers::item_t [struct]
+  > warning W1020: Py++ will generate class wrapper - hand written code
+  > should be added to the wrapper class
+
+Almost every warning reported by :doc:`Py++ <index>` consists from 3 parts:
+
+* description of the declaration it refers to: "containers::item_t [struct]"
+
+* warning unique identifier: "W1020"
+
+* short explanation of the problem: "Py++ will generate class wrapper - hand
+  written code should be added to the wrapper class"
+
+---------------
+API Description
+---------------
+
+How to disable warning(s)?
+--------------------------
+
+Every warning has unique identifier. In the example I gave it was ``W1020``.
+
+.. code-block:: python
+
+   from pyplusplus import messages
+   from pyplusplus import module_builder
+
+   mb = module_builder.module_builder_t( ... )
+   xyz = mb.class_( XYZ )
+   xyz.disable_warnings( messages.W1020 )
+
+It is also possible to disable warnings for all declarations. ``pyplusplus.messages``
+package defines ``DISABLE_MESSAGES`` variable. This variable( ``list`` ) keeps
+all warnings, which should not be reported. Use ``messages.disable`` function to
+edit it:
+
+.. code-block:: python
+
+   messages.disable( messages.W1020 )
+
+   #you also can disable warnings reporting at all:
+   messages.disable( *messages.all_warning_msgs )
+
+Logging API
+-----------
+
+If you are here, it probably means that you are not pleased with default configuration
+and want to change it, right?
+
+1. If you simply want to change the logging message level:
+
+   .. code-block:: python
+
+     import logging
+     from pyplusplus import module_builder
+
+   .. code-block:: python
+
+     module_builder.set_logger_level( logging.DEBUG )
+
+
+2. But what if you want to disable some messages and leave others? This is also possible.
+   :doc:`Py++ <index>` and `pygccxml <http://pygccxml.readthedocs.org>`_ do not use a single logger. Almost every internal
+   package has its own logger. So you can enable one logger and disable another one.
+
+   The `pygccxml <http://pygccxml.readthedocs.org>`_ package defines all loggers in the ``pygccxml.utils`` package.
+
+   The :doc:`Py++ <index>` package defines all loggers in the ``pyplusplus._logging_`` package.
+
+   Both packages define a ``loggers`` class. Those classes keep references to
+   different loggers. The ``loggers`` classes look very similar to the following class:
+
+   .. code-block:: python
+
+      import logging #standard Python package
+
+      def _create_logger_( name ):
+          logger = logging.getLogger(name)
+          ...
+          return logger
+
+      class loggers:
+           file_writer = _create_logger_( 'pyplusplus.file_writer' )
+           declarations = _create_logger_( 'pyplusplus.declarations' )
+           module_builder = _create_logger_( 'pyplusplus.module_builder' )
+           root = logging.getLogger( 'pyplusplus' )
+           all = [ root, file_writer, module_builder, declarations ]
+
+   You can use these references in the ``logging`` package to complete
+   your task of adjusting individual loggers.
+
+   One more thing, :doc:`Py++ <index>` automatically splits long message, where line
+   length defaults to 70 characters. Thus it is very convenient to read them on your screen.
+   If you want to use different tools to monitor those messages, consider to use
+   standard `Formatter`_ class, instead of ``multi_line_formatter_t`` one.
+
+
+Declarations API
+----------------
+
+Every declaration class has the following methods:
+
+* ``why_not_exportable( self )``
+
+  This method explains why a declaration could not be exported. The return value
+  is a string or ``None``. ``None`` is returned if the declaration is exportable.
+
+  Property ``exportable`` will be set to ``True`` if declaration is exportable,
+  and to ``False`` otherwise.
+
+* ``readme( self )``
+
+  This method gives you access to all tips/hints/warnings :doc:`Py++ <index>` has about
+  the declaration. This methods returns a list of strings. If the declaration is
+  not exportable, than first message within the list is an explanation, why it
+  is not exportable.
+
+
+.. _`Formatter` : http://docs.python.org/lib/node422.html
+.. _`logging` : http://docs.python.org/lib/module-logging.html
+.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html
+.. _`Python`: http://www.python.org
+.. _`GCC-XML`: http://www.gccxml.org
+
diff --git a/environment.py b/environment.py
new file mode 100644
index 0000000..9bf8bb3
--- /dev/null
+++ b/environment.py
@@ -0,0 +1,76 @@
+import os
+import sys
+import fnmatch
+import socket
+import getpass
+import platform
+from pygccxml.parser import load_xml_generator_configuration
+
+this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) )
+
+xml_generator_config = load_xml_generator_configuration(os.path.join(this_module_dir_path, 'gccxml.cfg'))
+
+class indexing_suite:
+    include = os.path.join( this_module_dir_path, 'indexing_suite_v2' )
+
+class boost:
+    libdir = '/usr/lib'
+    lib = 'boost_python'
+    include = '/usr/include'
+
+class python:
+    version = 'python%d.%d' % (sys.version_info[0],sys.version_info[1])
+    libdir = os.path.join(sys.prefix, 'lib')
+    lib = version
+    include = os.path.join(sys.prefix, os.path.join('include', version))
+
+class scons:
+    suffix = '.so'
+    cmd_build = 'scons'
+    cmd_clean = 'scons --clean'
+    ccflags = []
+
+# attemp to set correct boost and python paths
+if 'BOOST_ROOT' in os.environ:
+    boost.libdir = os.path.join(os.environ['BOOST_ROOT'], 'lib')
+    boost.include = os.path.join(os.environ['BOOST_ROOT'], 'include')
+elif not os.path.exists(os.path.join(boost.include, 'boost')):
+    # make another guess at where boost is installed
+    boost.libdir = '/opt/local/lib'
+    boost.include = '/opt/local/include'
+    if not os.path.exists(os.path.join(boost.include, 'boost')):
+        raise Exception('Cannot find Boost. Use the environment variable BOOST_ROOT')
+pysuffixes = [ 'mu', 'm', 'u', 'd', '']
+for suffix in pysuffixes:
+    path = python.include + suffix
+    if os.path.exists(path):
+        python.include = path
+        break
+else:
+    raise Exception('Cannot find Python include directory')
+
+libs = os.listdir(python.libdir)
+for suffix in pysuffixes:
+    if len(fnmatch.filter(libs, '*' + python.lib + suffix + '*')):
+        python.lib = python.lib + suffix
+        break
+else:
+    raise Exception('Cannot find Python library')
+
+
+_my_path = None
+try:
+    import environment_path_helper
+    environment_path_helper.raise_error()
+except Exception as error:
+    _my_path = os.path.abspath( os.path.split( sys.exc_info()[2].tb_frame.f_code.co_filename )[0])
+    if not os.path.exists( os.path.join( _my_path, 'environment.py' ) ):
+        #try another guess
+        if sys.modules.has_key('environment'):
+            _my_path = os.path.split( sys.modules['environment'].__file__ )[0]
+
+
+sys.path.insert(0, os.path.join( _my_path, '../pygccxml' ))
+sys.path.insert(0, os.path.join( _my_path ))
+import pygccxml
+import pyplusplus
diff --git a/environment_path_helper.py b/environment_path_helper.py
new file mode 100644
index 0000000..1e01377
--- /dev/null
+++ b/environment_path_helper.py
@@ -0,0 +1,2 @@
+def raise_error():
+    raise RuntimeError()
\ No newline at end of file
diff --git a/examples/custom_code_creator/generate_code.py b/examples/custom_code_creator/generate_code.py
new file mode 100644
index 0000000..e2fed1c
--- /dev/null
+++ b/examples/custom_code_creator/generate_code.py
@@ -0,0 +1,93 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 example to custom code creator.
+My class point_t has private member variable 'x' and two accessors: get_x and 
+set_x. I want to export those accessors as Python property.
+
+In order to do this I created new class property_creator_t. In __init__ it takes
+3 arguments:
+    reference to get function declaration
+    reference to set function declaration
+    reference to parent code creator ( we can safely omit this argument )
+"""
+
+import os
+import sys
+sys.path.append( '../..' )
+from environment import gccxml
+from pygccxml import declarations
+from pyplusplus import code_creators
+from pyplusplus import module_builder
+
+class property_creator_t( code_creators.code_creator_t ):
+    def __init__( self, get_function, set_function ):
+        #get/set functions are references to relevant declarations
+        code_creators.code_creator_t.__init__( self )
+        self.__get_function = get_function
+        self.__set_function = set_function
+    
+    def _create_impl(self):
+        template = 'add_property( "%(name)s", &%(getter)s, &%(setter)s )'
+        property_name = self.__get_function.name[4:] #get_
+        return template % dict( name=property_name
+                                , getter=declarations.full_name( self.__get_function )
+                                , setter=declarations.full_name( self.__set_function ) )
+
+#This is the most complex code in this example :-)
+def replace_functions( class_creator ):
+    def is_relevant( code_creator ):
+        if not isinstance( code_creator, code_creators.declaration_based_t ):
+            #We are looking for code creator, that has to export some declaration
+            return False
+        if not isinstance( code_creator.declaration, module_builder.member_function_t ):
+            #declaration should be member function
+            return False
+        decl = code_creator.declaration
+        #member function name should start from "get" or "set"
+        return decl.name.startswith( 'get' ) or decl.name.startswith( 'set' )
+
+    #accessors is a list of all relevant code creators found within the class code creator
+    accessors = filter( is_relevant, class_creator.creators )
+    #accessors_db is a dictionary, that maps between name and get//set code creators
+    accessors_db = {} # name : [get creator, set creator]        
+    #Filling accessors_db
+    for creator in accessors:
+        property_name = creator.declaration.name[3:]
+        if not accessors_db.has_key( property_name ):
+            accessors_db[ property_name ] = [None, None] 
+        accessors_db[ property_name ][ int(creator.declaration.name[0] == 's') ] = creator
+    #Now, when we have all pairs of accessors, we can actually start replacing them
+    #with instance of property_creator_t
+    for get_creator, set_creator in accessors_db.values():
+        if not ( get_creator and set_creator ):
+            continue 
+        #removing get/set code creators
+        class_creator.remove_creator( get_creator )
+        class_creator.remove_creator( set_creator )
+        #instead of them we add an instance of property_creator_t class
+        prop_creator = property_creator_t( get_creator.declaration, set_creator.declaration )
+        class_creator.adopt_creator( prop_creator )
+
+if __name__ == '__main__':
+    module_name = 'properties'
+    #1. creating module builder
+    mb = module_builder.module_builder_t( files=['properties.hpp']
+                                          , gccxml_path=gccxml.executable )
+    #2. creating module code creator
+    mb.build_code_creator( module_name=module_name )    
+    mb.code_creator.user_defined_directories.append( os.path.abspath( '.' ) )
+    
+    #3. replacing get/set code creators with property code creator
+    classes = filter( lambda creator: isinstance( creator, code_creators.class_t )
+                      , code_creators.make_flatten( mb.code_creator ) )
+    map( replace_functions, classes )
+    
+    #4. writing module to disk
+    mb.write_module( os.path.join( os.path.abspath( '.' ), 'generated', module_name + '.py.cpp') )
+
+    print 'done'
\ No newline at end of file
diff --git a/examples/custom_code_creator/generated/properties.py.cpp b/examples/custom_code_creator/generated/properties.py.cpp
new file mode 100644
index 0000000..20dcbe7
--- /dev/null
+++ b/examples/custom_code_creator/generated/properties.py.cpp
@@ -0,0 +1,37 @@
+// This file has been generated by pyplusplus.
+
+#include "boost/python.hpp"
+
+#include "properties.hpp"
+
+namespace bp = boost::python;
+
+BOOST_PYTHON_MODULE(properties){
+    bp::class_< geometry::point_t >( "point_t", bp::init< bp::optional< int, int > >(( bp::arg("x")=(int)(0), bp::arg("y")=(int)(0) ))[bp::default_call_policies()] )    
+        .add_property( "y", &::geometry::point_t::get_y, &::geometry::point_t::set_y )    
+        .add_property( "x", &::geometry::point_t::get_x, &::geometry::point_t::set_x );
+
+    { //::geometry::extract_x
+    
+        typedef int ( *function_ptr_t )( ::geometry::point_t const & );
+        
+        bp::def( 
+            "extract_x"
+            , function_ptr_t( &::geometry::extract_x )
+            , ( bp::arg("pt") )
+            , bp::default_call_policies() );
+    
+    }
+
+    { //::geometry::extract_y
+    
+        typedef int ( *function_ptr_t )( ::geometry::point_t const & );
+        
+        bp::def( 
+            "extract_y"
+            , function_ptr_t( &::geometry::extract_y )
+            , ( bp::arg("pt") )
+            , bp::default_call_policies() );
+    
+    }
+}
diff --git a/examples/custom_code_creator/properties.hpp b/examples/custom_code_creator/properties.hpp
new file mode 100644
index 0000000..7e86fb3
--- /dev/null
+++ b/examples/custom_code_creator/properties.hpp
@@ -0,0 +1,32 @@
+#ifndef __properties_h__
+#define __properties_h__
+
+namespace geometry{
+    
+struct point_t{
+
+    explicit point_t(int x=0, int y=0)
+    : m_x(x), m_y(0)
+    {}
+    
+    int get_x() const { return m_x; }
+    void set_x(int x) { m_x = x; }
+
+    int get_y() const { return m_y; }
+    void set_y(int y) { m_y = y; }
+    
+private:
+    int m_x;
+    int m_y;
+};
+
+inline int
+extract_x( const point_t& pt ){ return pt.get_x(); }
+
+inline int
+extract_y( const point_t& pt ){ return pt.get_y(); }
+
+}
+
+#endif//__properties_h__
+
diff --git a/examples/custom_code_creator/sconstruct b/examples/custom_code_creator/sconstruct
new file mode 100644
index 0000000..43f8473
--- /dev/null
+++ b/examples/custom_code_creator/sconstruct
@@ -0,0 +1,29 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+sys.path.append( './../..' )
+import environment
+
+env = Environment(
+      LIBS=['boost_python']
+    , LIBPATH=[ environment.boost.libs, environment.python.libs ]
+    , CPPPATH=[ environment.boost.include, environment.python.include, '#.' ]
+    , SHLIBPREFIX=''
+    , SHLIBSUFFIX=environment.scons.suffix  
+)
+
+if sys.platform == 'win32':
+    env.Replace( no_import_lib=1 )
+    env.Append( CCFLAGS='/EHsc' )
+else:
+    env.Append( CCFLAGS=' -Os -fPIC -fvisibility=hidden' )
+
+properties = env.SharedLibrary( target='properties'
+                                , source=[ 'generated/properties.py.cpp' ] )
+
+env.Install( '#unittests', properties )
\ No newline at end of file
diff --git a/examples/custom_code_creator/unittests/test_all.py b/examples/custom_code_creator/unittests/test_all.py
new file mode 100644
index 0000000..fbadd56
--- /dev/null
+++ b/examples/custom_code_creator/unittests/test_all.py
@@ -0,0 +1,26 @@
+import unittest
+import properties
+
+class tester_t( unittest.TestCase ):
+    def __init__(self, *args ):
+        unittest.TestCase.__init__( self, *args )
+    
+    def test(self):
+        point = properties.point_t()
+        self.failUnless( point.x == 0 )
+        self.failUnless( point.y == 0 )
+        point.x = 24
+        point.y = 18
+        self.failUnless( properties.extract_x( point ) == 24 )
+        self.failUnless( properties.extract_y( point ) == 18 )
+
+def create_suite():
+    suite = unittest.TestSuite()        
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()        
\ No newline at end of file
diff --git a/examples/environment.py b/examples/environment.py
new file mode 100644
index 0000000..0e45386
--- /dev/null
+++ b/examples/environment.py
@@ -0,0 +1,24 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+
+this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) )
+project_root = os.path.abspath( os.path.join( this_module_dir_path, '..','..' ) )
+complete_path = lambda *args: os.path.join( project_root, *args )
+
+class settings:
+    pygccxml_path = complete_path( 'pygccxml_dev' )
+    pyplusplus_path = complete_path( 'pyplusplus_dev' )
+    gccxml_path = complete_path( 'gccxml_bin', 'v09', sys.platform, 'bin' )
+    
+    @staticmethod
+    def setup_environment():
+        sys.path.append( settings.pygccxml_path )
+        sys.path.append( settings.pyplusplus_path )
+
+settings.setup_environment()
diff --git a/examples/gmplib_dev/dev/generate_code.py b/examples/gmplib_dev/dev/generate_code.py
new file mode 100644
index 0000000..d7ba1c3
--- /dev/null
+++ b/examples/gmplib_dev/dev/generate_code.py
@@ -0,0 +1,37 @@
+import os
+import sys
+
+import project_env
+
+from pygccxml import utils
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus.module_builder import ctypes_module_builder_t
+
+
+gccxml_cfg = parser.gccxml_configuration_t( gccxml_path=project_env.settings.gccxml_path )
+
+mb = ctypes_module_builder_t( [project_env.gmp.header_file], project_env.gmp.symbols_file, gccxml_cfg )
+
+#there is a bug in the code generator
+has_varargs = lambda f: f.arguments \
+                        and isinstance( f.arguments[-1].type, declarations.ellipsis_t )
+
+mb.calldefs( has_varargs ).exclude()
+
+#gmp uses strange convention: every function name starts with __gmp and than, it
+#introduces define, which aliass __gmpy to gmpy
+for f in mb.calldefs( lambda x: x.name.startswith('__gmp') ):
+    f.alias = f.name[2:]
+
+for v in mb.vars( lambda x: x.name.startswith( '__gmp' ) ):
+    v.alias = v.name[2:]
+
+#those structs are private implementation of FILE
+mb.class_( '_IO_FILE' ).opaque = True
+mb.class_( '_IO_marker' ).opaque = True
+
+
+mb.build_code_creator( project_env.gmp.shared_library_file )
+mb.write_module( os.path.join( project_env.gmp.generated_code_dir, '__init__.py' ) )
+
diff --git a/examples/gmplib_dev/dev/project_env.py b/examples/gmplib_dev/dev/project_env.py
new file mode 100644
index 0000000..b369311
--- /dev/null
+++ b/examples/gmplib_dev/dev/project_env.py
@@ -0,0 +1,11 @@
+import os
+import sys
+sys.path.append( os.path.join( '..', '..' ) )
+
+from environment import settings, complete_path
+
+class gmp:
+    header_file = '/usr/include/gmp.h'
+    symbols_file = '/usr/lib/libgmp.so.3.5.0'
+    shared_library_file = '/usr/lib/libgmp.so.3.5.0'
+    generated_code_dir = complete_path( 'pyplusplus_dev', 'examples', 'gmplib_dev', 'pygmplib' )
diff --git a/examples/gmplib_dev/pygmplib/__init__.py b/examples/gmplib_dev/pygmplib/__init__.py
new file mode 100644
index 0000000..9a880ad
--- /dev/null
+++ b/examples/gmplib_dev/pygmplib/__init__.py
@@ -0,0 +1,1570 @@
+# This file has been generated by Py++.
+
+import ctypes
+
+import ctypes_utils
+
+libgmp_lib = ctypes.CDLL( r"/usr/lib/libgmp.so.3.5.0" )
+
+libgmp_lib.undecorated_names = {#mapping between decorated and undecorated names
+    "extern double __gmpf_get_d(mpf_srcptr arg0) [free function]" : "__gmpf_get_d", 
+    "extern int __gmpf_cmp_ui(mpf_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpf_cmp_ui", 
+    "extern void __gmpz_mul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_mul_ui", 
+    "extern void __gmpz_and(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_and", 
+    "extern void __gmpf_urandomb(__mpf_struct * arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]" : "__gmpf_urandomb", 
+    "extern long unsigned int __gmpz_tdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_tdiv_q_ui", 
+    "extern void __gmpz_clrbit(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_clrbit", 
+    "extern void __gmpz_cdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_cdiv_r_2exp", 
+    "extern void __gmpz_lcm(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_lcm", 
+    "extern double __gmpf_get_d_2exp(long int * arg0, mpf_srcptr arg1) [free function]" : "__gmpf_get_d_2exp", 
+    "extern int __gmpz_divisible_2exp_p(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_divisible_2exp_p", 
+    "extern int __gmpz_congruent_2exp_p(mpz_srcptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_congruent_2exp_p", 
+    "extern void __gmpz_pow_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_pow_ui", 
+    "void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]" : "__gmpq_neg", 
+    "extern void __gmpf_reldiff(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]" : "__gmpf_reldiff", 
+    "extern void __gmpz_import(mpz_ptr arg0, size_t arg1, int arg2, size_t arg3, int arg4, size_t arg5, void const * arg6) [free function]" : "__gmpz_import", 
+    "extern void __gmpz_fac_ui(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_fac_ui", 
+    "extern int __gmpz_root(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_root", 
+    "extern void __gmpz_fdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_fdiv_q", 
+    "extern void __gmpz_fdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_fdiv_r", 
+    "extern void __gmp_set_memory_functions(void * (*)( ::size_t ) * arg0, void * (*)( void *,::size_t,::size_t ) * arg1, void (*)( void *,::size_t ) * arg2) [free function]" : "__gmp_set_memory_functions", 
+    "extern long unsigned int __gmpz_tdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_tdiv_r_ui", 
+    "extern long unsigned int __gmpz_cdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_cdiv_r_ui", 
+    "extern void __gmpz_realloc2(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_realloc2", 
+    "extern void __gmpn_tdiv_qr(mp_ptr arg0, mp_ptr arg1, mp_size_t arg2, mp_srcptr arg3, mp_size_t arg4, mp_srcptr arg5, mp_size_t arg6) [free function]" : "__gmpn_tdiv_qr", 
+    "extern void __gmpz_fdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_fdiv_r_2exp", 
+    "extern void __gmpz_sqrt(mpz_ptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_sqrt", 
+    "extern void __gmpq_add(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]" : "__gmpq_add", 
+    "extern void __gmpq_div(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]" : "__gmpq_div", 
+    "extern long unsigned int __gmpf_get_default_prec() [free function]" : "__gmpf_get_default_prec", 
+    "extern void __gmpq_sub(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]" : "__gmpq_sub", 
+    "extern void __gmpf_set_ui(mpf_ptr arg0, long unsigned int arg1) [free function]" : "__gmpf_set_ui", 
+    "extern double __gmpz_get_d(mpz_srcptr arg0) [free function]" : "__gmpz_get_d", 
+    "extern void __gmpz_add(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_add", 
+    "int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) [free function]" : "__gmpn_cmp", 
+    "extern void __gmpz_divexact_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_divexact_ui", 
+    "extern long unsigned int __gmpz_gcd_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_gcd_ui", 
+    "extern size_t __gmpz_inp_str(mpz_ptr arg0, FILE * arg1, int arg2) [free function]" : "__gmpz_inp_str", 
+    "extern int __gmp_snprintf(char * arg0, size_t arg1, char const * arg2, ...) [free function]" : "__gmp_snprintf", 
+    "extern void __gmpf_set_prec_raw(mpf_ptr arg0, long unsigned int arg1) [free function]" : "__gmpf_set_prec_raw", 
+    "extern void __gmpz_cdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_cdiv_q_2exp", 
+    "extern int __gmpz_fits_sshort_p(mpz_srcptr arg0) [free function]" : "__gmpz_fits_sshort_p", 
+    "extern mp_limb_t __gmpn_divrem(mp_ptr arg0, mp_size_t arg1, mp_ptr arg2, mp_size_t arg3, mp_srcptr arg4, mp_size_t arg5) [free function]" : "__gmpn_divrem", 
+    "extern void __gmpz_submul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_submul", 
+    "extern void __gmpz_init_set(mpz_ptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_init_set", 
+    "extern void __gmpz_xor(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_xor", 
+    "extern void __gmpz_init_set_d(mpz_ptr arg0, double arg1) [free function]" : "__gmpz_init_set_d", 
+    "int __gmpz_fits_ushort_p(mpz_srcptr __gmp_z) [free function]" : "__gmpz_fits_ushort_p", 
+    "extern int __gmp_sscanf(char const * arg0, char const * arg1, ...) [free function]" : "__gmp_sscanf", 
+    "extern void __gmpz_mul_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_mul_2exp", 
+    "extern void __gmpz_sub(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_sub", 
+    "extern int __gmpf_fits_ulong_p(mpf_srcptr arg0) [free function]" : "__gmpf_fits_ulong_p", 
+    "extern void __gmpz_ui_pow_ui(mpz_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]" : "__gmpz_ui_pow_ui", 
+    "extern long unsigned int __gmp_urandomm_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]" : "__gmp_urandomm_ui", 
+    "long unsigned int __gmpz_get_ui(mpz_srcptr __gmp_z) [free function]" : "__gmpz_get_ui", 
+    "extern int __gmpz_cmpabs_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_cmpabs_ui", 
+    "extern void __gmpz_tdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_tdiv_q_2exp", 
+    "int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) [free function]" : "__gmpz_perfect_square_p", 
+    "extern void __gmpq_set_d(mpq_ptr arg0, double arg1) [free function]" : "__gmpq_set_d", 
+    "extern int __gmpz_cmp_d(mpz_srcptr arg0, double arg1) [free function]" : "__gmpz_cmp_d", 
+    "extern void __gmpz_cdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]" : "__gmpz_cdiv_qr", 
+    "extern void __gmpf_add(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]" : "__gmpf_add", 
+    "extern int __gmpz_probab_prime_p(mpz_srcptr arg0, int arg1) [free function]" : "__gmpz_probab_prime_p", 
+    "extern mp_limb_t __gmpn_rshift(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, unsigned int arg3) [free function]" : "__gmpn_rshift", 
+    "extern void __gmpz_array_init(mpz_ptr arg0, mp_size_t arg1, mp_size_t arg2) [free function]" : "__gmpz_array_init", 
+    "int __gmpz_fits_uint_p(mpz_srcptr __gmp_z) [free function]" : "__gmpz_fits_uint_p", 
+    "extern void __gmpf_random2(mpf_ptr arg0, mp_size_t arg1, mp_exp_t arg2) [free function]" : "__gmpf_random2", 
+    "extern void __gmp_randinit_set(__gmp_randstate_struct * arg0, __gmp_randstate_struct const * arg1) [free function]" : "__gmp_randinit_set", 
+    "extern void __gmpz_tdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]" : "__gmpz_tdiv_qr", 
+    "extern mp_size_t __gmpn_set_str(mp_ptr arg0, unsigned char const * arg1, size_t arg2, int arg3) [free function]" : "__gmpn_set_str", 
+    "extern long unsigned int __gmpn_scan0(mp_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpn_scan0", 
+    "extern void __gmpz_cdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_cdiv_r", 
+    "extern long unsigned int __gmpz_fdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]" : "__gmpz_fdiv_qr_ui", 
+    "extern void __gmpf_init_set_ui(mpf_ptr arg0, long unsigned int arg1) [free function]" : "__gmpf_init_set_ui", 
+    "extern void __gmpn_mul_n(mp_ptr arg0, mp_srcptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]" : "__gmpn_mul_n", 
+    "extern int __gmpq_cmp_ui(mpq_srcptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]" : "__gmpq_cmp_ui", 
+    "extern void __gmpz_mul_si(mpz_ptr arg0, mpz_srcptr arg1, long int arg2) [free function]" : "__gmpz_mul_si", 
+    "extern void __gmpq_set_si(mpq_ptr arg0, long int arg1, long unsigned int arg2) [free function]" : "__gmpq_set_si", 
+    "extern void __gmpq_set_ui(mpq_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]" : "__gmpq_set_ui", 
+    "extern void __gmpf_sqrt_ui(mpf_ptr arg0, long unsigned int arg1) [free function]" : "__gmpf_sqrt_ui", 
+    "extern size_t __gmpq_inp_str(mpq_ptr arg0, FILE * arg1, int arg2) [free function]" : "__gmpq_inp_str", 
+    "extern int __gmpf_fits_sint_p(mpf_srcptr arg0) [free function]" : "__gmpf_fits_sint_p", 
+    "extern void __gmpq_swap(mpq_ptr arg0, mpq_ptr arg1) [free function]" : "__gmpq_swap", 
+    "extern int __gmpf_set_str(mpf_ptr arg0, char const * arg1, int arg2) [free function]" : "__gmpf_set_str", 
+    "extern void __gmpz_sub_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_sub_ui", 
+    "extern void __gmpz_divexact(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_divexact", 
+    "extern void __gmpz_com(mpz_ptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_com", 
+    "extern void __gmpz_ior(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_ior", 
+    "extern int __gmpz_fits_slong_p(mpz_srcptr arg0) [free function]" : "__gmpz_fits_slong_p", 
+    "extern int __gmp_asprintf(char * * arg0, char const * arg1, ...) [free function]" : "__gmp_asprintf", 
+    "__gmp_bits_per_limb [variable]" : "__gmp_bits_per_limb", 
+    "extern void __gmpf_set_prec(mpf_ptr arg0, long unsigned int arg1) [free function]" : "__gmpf_set_prec", 
+    "extern int __gmpz_init_set_str(mpz_ptr arg0, char const * arg1, int arg2) [free function]" : "__gmpz_init_set_str", 
+    "mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) [free function]" : "__gmpn_sub_1", 
+    "extern int __gmpz_millerrabin(mpz_srcptr arg0, int arg1) [free function]" : "__gmpz_millerrabin", 
+    "extern void __gmpz_mod(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_mod", 
+    "extern int __gmpz_invert(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_invert", 
+    "extern void __gmp_randinit_mt(__gmp_randstate_struct * arg0) [free function]" : "__gmp_randinit_mt", 
+    "extern void __gmpf_set_d(mpf_ptr arg0, double arg1) [free function]" : "__gmpf_set_d", 
+    "extern void __gmpf_sub(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]" : "__gmpf_sub", 
+    "extern mp_limb_t __gmpn_addmul_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]" : "__gmpn_addmul_1", 
+    "extern void __gmpf_set_z(mpf_ptr arg0, mpz_srcptr arg1) [free function]" : "__gmpf_set_z", 
+    "extern void __gmpz_ui_sub(mpz_ptr arg0, long unsigned int arg1, mpz_srcptr arg2) [free function]" : "__gmpz_ui_sub", 
+    "extern void __gmpf_div(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]" : "__gmpf_div", 
+    "extern void __gmpn_random2(mp_ptr arg0, mp_size_t arg1) [free function]" : "__gmpn_random2", 
+    "extern mp_limb_t __gmpn_divexact_by3c(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]" : "__gmpn_divexact_by3c", 
+    "extern void __gmpz_lucnum_ui(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_lucnum_ui", 
+    "extern void __gmpf_set_q(mpf_ptr arg0, mpq_srcptr arg1) [free function]" : "__gmpf_set_q", 
+    "extern void __gmpz_random(mpz_ptr arg0, mp_size_t arg1) [free function]" : "__gmpz_random", 
+    "extern int __gmp_scanf(char const * arg0, ...) [free function]" : "__gmp_scanf", 
+    "extern mp_size_t __gmpn_sqrtrem(mp_ptr arg0, mp_ptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]" : "__gmpn_sqrtrem", 
+    "extern int __gmpq_set_str(mpq_ptr arg0, char const * arg1, int arg2) [free function]" : "__gmpq_set_str", 
+    "extern int __gmpf_fits_slong_p(mpf_srcptr arg0) [free function]" : "__gmpf_fits_slong_p", 
+    "extern void __gmpz_setbit(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_setbit", 
+    "extern void __gmp_randinit_lc_2exp(__gmp_randstate_struct * arg0, mpz_srcptr arg1, long unsigned int arg2, long unsigned int arg3) [free function]" : "__gmp_randinit_lc_2exp", 
+    "extern int __gmp_randinit_lc_2exp_size(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]" : "__gmp_randinit_lc_2exp_size", 
+    "extern void __gmpz_set_d(mpz_ptr arg0, double arg1) [free function]" : "__gmpz_set_d", 
+    "extern int __gmpz_jacobi(mpz_srcptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_jacobi", 
+    "extern void __gmpz_set_f(mpz_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpz_set_f", 
+    "extern size_t __gmpf_out_str(FILE * arg0, int arg1, size_t arg2, mpf_srcptr arg3) [free function]" : "__gmpf_out_str", 
+    "extern int __gmpf_fits_sshort_p(mpf_srcptr arg0) [free function]" : "__gmpf_fits_sshort_p", 
+    "extern void __gmpq_div_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpq_div_2exp", 
+    "extern long unsigned int __gmpf_get_prec(mpf_srcptr arg0) [free function]" : "__gmpf_get_prec", 
+    "extern int __gmpz_kronecker_si(mpz_srcptr arg0, long int arg1) [free function]" : "__gmpz_kronecker_si", 
+    "extern void __gmpf_floor(mpf_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpf_floor", 
+    "extern int __gmpq_cmp(mpq_srcptr arg0, mpq_srcptr arg1) [free function]" : "__gmpq_cmp", 
+    "extern int __gmpf_integer_p(mpf_srcptr arg0) [free function]" : "__gmpf_integer_p", 
+    "extern void __gmpz_powm(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]" : "__gmpz_powm", 
+    "extern long unsigned int __gmpz_hamdist(mpz_srcptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_hamdist", 
+    "extern void __gmpz_fib_ui(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_fib_ui", 
+    "extern int __gmpz_cmp_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_cmp_ui", 
+    "extern mp_limb_t __gmpn_submul_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]" : "__gmpn_submul_1", 
+    "extern void __gmpf_init2(mpf_ptr arg0, long unsigned int arg1) [free function]" : "__gmpf_init2", 
+    "extern mp_limb_t __gmpn_mul_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]" : "__gmpn_mul_1", 
+    "extern mp_limb_t __gmpn_mod_1(mp_srcptr arg0, mp_size_t arg1, mp_limb_t arg2) [free function]" : "__gmpn_mod_1", 
+    "size_t __gmpz_size(mpz_srcptr __gmp_z) [free function]" : "__gmpz_size", 
+    "extern void __gmpq_get_den(mpz_ptr arg0, mpq_srcptr arg1) [free function]" : "__gmpq_get_den", 
+    "extern mp_limb_t __gmpn_preinv_mod_1(mp_srcptr arg0, mp_size_t arg1, mp_limb_t arg2, mp_limb_t arg3) [free function]" : "__gmpn_preinv_mod_1", 
+    "extern long unsigned int __gmpz_tdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_tdiv_ui", 
+    "extern mp_limb_t __gmpn_gcd_1(mp_srcptr arg0, mp_size_t arg1, mp_limb_t arg2) [free function]" : "__gmpn_gcd_1", 
+    "extern void __gmp_randinit(__gmp_randstate_struct * arg0, gmp_randalg_t arg1, ...) [free function]" : "__gmp_randinit", 
+    "extern void __gmpf_init(mpf_ptr arg0) [free function]" : "__gmpf_init", 
+    "extern void __gmpz_mul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_mul", 
+    "extern long unsigned int __gmpn_scan1(mp_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpn_scan1", 
+    "extern void __gmpq_set(mpq_ptr arg0, mpq_srcptr arg1) [free function]" : "__gmpq_set", 
+    "extern int __gmpz_fits_sint_p(mpz_srcptr arg0) [free function]" : "__gmpz_fits_sint_p", 
+    "extern long unsigned int __gmpz_cdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]" : "__gmpz_cdiv_qr_ui", 
+    "extern void __gmpz_clear(mpz_ptr arg0) [free function]" : "__gmpz_clear", 
+    "extern mp_limb_t __gmpn_mul(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_srcptr arg3, mp_size_t arg4) [free function]" : "__gmpn_mul", 
+    "extern void __gmpz_init_set_si(mpz_ptr arg0, long int arg1) [free function]" : "__gmpz_init_set_si", 
+    "extern int __gmpz_divisible_p(mpz_srcptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_divisible_p", 
+    "__gmp_errno [variable]" : "__gmp_errno", 
+    "extern void __gmpf_sub_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpf_sub_ui", 
+    "extern void __gmpz_swap(mpz_ptr arg0, mpz_ptr arg1) [free function]" : "__gmpz_swap", 
+    "extern int __gmpz_cmp(mpz_srcptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_cmp", 
+    "extern void __gmpf_init_set_si(mpf_ptr arg0, long int arg1) [free function]" : "__gmpf_init_set_si", 
+    "extern mp_limb_t __gmpn_lshift(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, unsigned int arg3) [free function]" : "__gmpn_lshift", 
+    "extern int __gmpq_cmp_si(mpq_srcptr arg0, long int arg1, long unsigned int arg2) [free function]" : "__gmpq_cmp_si", 
+    "void __gmpz_abs(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) [free function]" : "__gmpz_abs", 
+    "extern int __gmp_fprintf(FILE * arg0, char const * arg1, ...) [free function]" : "__gmp_fprintf", 
+    "extern void __gmpf_set(mpf_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpf_set", 
+    "extern int __gmpz_divisible_ui_p(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_divisible_ui_p", 
+    "extern int __gmpf_cmp_d(mpf_srcptr arg0, double arg1) [free function]" : "__gmpf_cmp_d", 
+    "extern char * __gmpf_get_str(char * arg0, mp_exp_t * arg1, int arg2, size_t arg3, mpf_srcptr arg4) [free function]" : "__gmpf_get_str", 
+    "extern long unsigned int __gmpz_fdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_fdiv_q_ui", 
+    "extern void __gmpz_urandomb(mpz_ptr arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]" : "__gmpz_urandomb", 
+    "extern char * __gmpz_get_str(char * arg0, int arg1, mpz_srcptr arg2) [free function]" : "__gmpz_get_str", 
+    "extern void __gmpz_tdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_tdiv_r", 
+    "extern void __gmpz_urandomm(mpz_ptr arg0, __gmp_randstate_struct * arg1, mpz_srcptr arg2) [free function]" : "__gmpz_urandomm", 
+    "extern void __gmpq_mul(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]" : "__gmpq_mul", 
+    "extern void __gmpz_tdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_tdiv_q", 
+    "extern int __gmpf_fits_uint_p(mpf_srcptr arg0) [free function]" : "__gmpf_fits_uint_p", 
+    "extern void * __gmpz_realloc(mpz_ptr arg0, mp_size_t arg1) [free function]" : "__gmpz_realloc", 
+    "extern long unsigned int __gmp_urandomb_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]" : "__gmp_urandomb_ui", 
+    "extern int __gmpz_perfect_power_p(mpz_srcptr arg0) [free function]" : "__gmpz_perfect_power_p", 
+    "extern char * __gmpq_get_str(char * arg0, int arg1, mpq_srcptr arg2) [free function]" : "__gmpq_get_str", 
+    "extern int __gmpn_perfect_square_p(mp_srcptr arg0, mp_size_t arg1) [free function]" : "__gmpn_perfect_square_p", 
+    "extern void __gmpz_addmul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_addmul", 
+    "extern long unsigned int __gmpz_fdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_fdiv_ui", 
+    "extern int __gmp_sprintf(char * arg0, char const * arg1, ...) [free function]" : "__gmp_sprintf", 
+    "extern void __gmpz_bin_uiui(mpz_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]" : "__gmpz_bin_uiui", 
+    "void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]" : "__gmpz_set_q", 
+    "mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) [free function]" : "__gmpn_neg_n", 
+    "extern void __gmpf_neg(mpf_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpf_neg", 
+    "extern void __gmp_randseed(__gmp_randstate_struct * arg0, mpz_srcptr arg1) [free function]" : "__gmp_randseed", 
+    "extern long unsigned int __gmpz_scan1(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_scan1", 
+    "extern void __gmpz_nextprime(mpz_ptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_nextprime", 
+    "extern int __gmpz_si_kronecker(long int arg0, mpz_srcptr arg1) [free function]" : "__gmpz_si_kronecker", 
+    "extern int __gmpz_congruent_ui_p(mpz_srcptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]" : "__gmpz_congruent_ui_p", 
+    "extern long unsigned int __gmpz_cdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_cdiv_ui", 
+    "extern void __gmpz_init_set_ui(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_init_set_ui", 
+    "extern mp_limb_t __gmpn_sub_n(mp_ptr arg0, mp_srcptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]" : "__gmpn_sub_n", 
+    "extern void __gmpq_set_num(mpq_ptr arg0, mpz_srcptr arg1) [free function]" : "__gmpq_set_num", 
+    "extern int __gmpz_kronecker_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_kronecker_ui", 
+    "extern void __gmpf_add_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpf_add_ui", 
+    "extern void __gmpz_gcdext(mpz_ptr arg0, mpz_ptr arg1, mpz_ptr arg2, mpz_srcptr arg3, mpz_srcptr arg4) [free function]" : "__gmpz_gcdext", 
+    "extern void __gmpq_get_num(mpz_ptr arg0, mpq_srcptr arg1) [free function]" : "__gmpq_get_num", 
+    "extern size_t __gmpf_size(mpf_srcptr arg0) [free function]" : "__gmpf_size", 
+    "extern void __gmpq_inv(mpq_ptr arg0, mpq_srcptr arg1) [free function]" : "__gmpq_inv", 
+    "extern mp_limb_t __gmpn_divrem_1(mp_ptr arg0, mp_size_t arg1, mp_srcptr arg2, mp_size_t arg3, mp_limb_t arg4) [free function]" : "__gmpn_divrem_1", 
+    "extern void __gmpq_canonicalize(mpq_ptr arg0) [free function]" : "__gmpq_canonicalize", 
+    "long unsigned int __gmpz_popcount(mpz_srcptr __gmp_u) [free function]" : "__gmpz_popcount", 
+    "extern void __gmpf_ui_sub(mpf_ptr arg0, long unsigned int arg1, mpf_srcptr arg2) [free function]" : "__gmpf_ui_sub", 
+    "extern int __gmpz_cmp_si(mpz_srcptr arg0, long int arg1) [free function]" : "__gmpz_cmp_si", 
+    "extern int __gmpz_set_str(mpz_ptr arg0, char const * arg1, int arg2) [free function]" : "__gmpz_set_str", 
+    "extern int __gmpz_tstbit(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_tstbit", 
+    "extern void __gmpz_set_si(mpz_ptr arg0, long int arg1) [free function]" : "__gmpz_set_si", 
+    "extern void __gmpq_init(mpq_ptr arg0) [free function]" : "__gmpq_init", 
+    "extern size_t __gmpz_out_raw(FILE * arg0, mpz_srcptr arg1) [free function]" : "__gmpz_out_raw", 
+    "extern void __gmpf_trunc(mpf_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpf_trunc", 
+    "extern mp_limb_t __gmpn_gcdext_1(mp_ptr arg0, mp_ptr arg1, mp_limb_t arg2, mp_limb_t arg3) [free function]" : "__gmpn_gcdext_1", 
+    "extern int __gmpz_cmpabs_d(mpz_srcptr arg0, double arg1) [free function]" : "__gmpz_cmpabs_d", 
+    "extern void * __gmpz_export(void * arg0, size_t * arg1, int arg2, size_t arg3, int arg4, size_t arg5, mpz_srcptr arg6) [free function]" : "__gmpz_export", 
+    "extern double __gmpz_get_d_2exp(long int * arg0, mpz_srcptr arg1) [free function]" : "__gmpz_get_d_2exp", 
+    "extern void __gmpz_add_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_add_ui", 
+    "extern mp_size_t __gmpn_gcdext(mp_ptr arg0, mp_ptr arg1, mp_size_t * arg2, mp_ptr arg3, mp_size_t arg4, mp_ptr arg5, mp_size_t arg6) [free function]" : "__gmpn_gcdext", 
+    "extern void __gmpf_sqrt(mpf_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpf_sqrt", 
+    "extern size_t __gmpz_sizeinbase(mpz_srcptr arg0, int arg1) [free function]" : "__gmpz_sizeinbase", 
+    "extern long unsigned int __gmpz_fdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_fdiv_r_ui", 
+    "extern void __gmp_randinit_default(__gmp_randstate_struct * arg0) [free function]" : "__gmp_randinit_default", 
+    "mp_limb_t __gmpz_getlimbn(mpz_srcptr __gmp_z, mp_size_t __gmp_n) [free function]" : "__gmpz_getlimbn", 
+    "extern long int __gmpf_get_si(mpf_srcptr arg0) [free function]" : "__gmpf_get_si", 
+    "extern void __gmpz_init(mpz_ptr arg0) [free function]" : "__gmpz_init", 
+    "extern void __gmpf_div_2exp(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpf_div_2exp", 
+    "extern void __gmpf_set_si(mpf_ptr arg0, long int arg1) [free function]" : "__gmpf_set_si", 
+    "extern int __gmpq_equal(mpq_srcptr arg0, mpq_srcptr arg1) [free function]" : "__gmpq_equal", 
+    "extern void __gmpz_rrandomb(mpz_ptr arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]" : "__gmpz_rrandomb", 
+    "extern int __gmpf_cmp_si(mpf_srcptr arg0, long int arg1) [free function]" : "__gmpf_cmp_si", 
+    "extern long unsigned int __gmpz_scan0(mpz_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpz_scan0", 
+    "extern void __gmpz_init2(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_init2", 
+    "extern void __gmpz_random2(mpz_ptr arg0, mp_size_t arg1) [free function]" : "__gmpz_random2", 
+    "extern mp_size_t __gmpn_pow_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3, mp_ptr arg4) [free function]" : "__gmpn_pow_1", 
+    "extern void __gmpz_gcd(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_gcd", 
+    "extern void __gmpf_mul_2exp(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpf_mul_2exp", 
+    "extern double __gmpq_get_d(mpq_srcptr arg0) [free function]" : "__gmpq_get_d", 
+    "extern void __gmpf_mul(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]" : "__gmpf_mul", 
+    "extern void __gmpf_div_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpf_div_ui", 
+    "extern void __gmpq_mul_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpq_mul_2exp", 
+    "extern size_t __gmpz_out_str(FILE * arg0, int arg1, mpz_srcptr arg2) [free function]" : "__gmpz_out_str", 
+    "extern mp_limb_t __gmpn_divrem_2(mp_ptr arg0, mp_size_t arg1, mp_ptr arg2, mp_size_t arg3, mp_srcptr arg4) [free function]" : "__gmpn_divrem_2", 
+    "extern int __gmpz_cmpabs(mpz_srcptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_cmpabs", 
+    "extern void __gmpz_powm_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2, mpz_srcptr arg3) [free function]" : "__gmpz_powm_ui", 
+    "extern size_t __gmpq_out_str(FILE * arg0, int arg1, mpq_srcptr arg2) [free function]" : "__gmpq_out_str", 
+    "void __gmpz_neg(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) [free function]" : "__gmpz_neg", 
+    "extern void __gmpf_swap(mpf_ptr arg0, mpf_ptr arg1) [free function]" : "__gmpf_swap", 
+    "extern void __gmp_randseed_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]" : "__gmp_randseed_ui", 
+    "extern void __gmpz_sqrtrem(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_sqrtrem", 
+    "extern long unsigned int __gmpz_tdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]" : "__gmpz_tdiv_qr_ui", 
+    "extern mp_limb_t __gmpn_bdivmod(mp_ptr arg0, mp_ptr arg1, mp_size_t arg2, mp_srcptr arg3, mp_size_t arg4, long unsigned int arg5) [free function]" : "__gmpn_bdivmod", 
+    "extern void __gmpn_random(mp_ptr arg0, mp_size_t arg1) [free function]" : "__gmpn_random", 
+    "extern void __gmpq_set_z(mpq_ptr arg0, mpz_srcptr arg1) [free function]" : "__gmpq_set_z", 
+    "extern void __gmpz_cdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_cdiv_q", 
+    "extern long int __gmpz_get_si(mpz_srcptr arg0) [free function]" : "__gmpz_get_si", 
+    "extern void __gmpf_init_set(mpf_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpf_init_set", 
+    "extern void __gmpf_init_set_d(mpf_ptr arg0, double arg1) [free function]" : "__gmpf_init_set_d", 
+    "extern int __gmpf_cmp(mpf_srcptr arg0, mpf_srcptr arg1) [free function]" : "__gmpf_cmp", 
+    "extern int __gmpf_eq(mpf_srcptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpf_eq", 
+    "extern long unsigned int __gmpn_popcount(mp_srcptr arg0, mp_size_t arg1) [free function]" : "__gmpn_popcount", 
+    "extern void __gmpf_ceil(mpf_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpf_ceil", 
+    "mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) [free function]" : "__gmpn_add_1", 
+    "extern void __gmpz_fib2_ui(mpz_ptr arg0, mpz_ptr arg1, long unsigned int arg2) [free function]" : "__gmpz_fib2_ui", 
+    "extern int __gmp_printf(char const * arg0, ...) [free function]" : "__gmp_printf", 
+    "extern void __gmpq_set_f(mpq_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpq_set_f", 
+    "extern void __gmpf_clear(mpf_ptr arg0) [free function]" : "__gmpf_clear", 
+    "extern size_t __gmpn_get_str(unsigned char * arg0, int arg1, mp_ptr arg2, mp_size_t arg3) [free function]" : "__gmpn_get_str", 
+    "extern int __gmp_fscanf(FILE * arg0, char const * arg1, ...) [free function]" : "__gmp_fscanf", 
+    "extern int __gmpz_ui_kronecker(long unsigned int arg0, mpz_srcptr arg1) [free function]" : "__gmpz_ui_kronecker", 
+    "mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]" : "__gmpn_add", 
+    "mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]" : "__gmpn_sub", 
+    "extern void __gmpz_bin_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_bin_ui", 
+    "extern void __gmpz_fdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_fdiv_q_2exp", 
+    "extern void __gmpf_dump(mpf_srcptr arg0) [free function]" : "__gmpf_dump", 
+    "extern void __gmpz_tdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_tdiv_r_2exp", 
+    "extern void __gmpz_submul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_submul_ui", 
+    "extern long unsigned int __gmpz_cdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_cdiv_q_ui", 
+    "extern void __gmpz_dump(mpz_srcptr arg0) [free function]" : "__gmpz_dump", 
+    "extern void __gmp_randclear(__gmp_randstate_struct * arg0) [free function]" : "__gmp_randclear", 
+    "__gmp_version [variable]" : "__gmp_version", 
+    "extern long unsigned int __gmpz_remove(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_remove", 
+    "extern void __gmpf_set_default_prec(long unsigned int arg0) [free function]" : "__gmpf_set_default_prec", 
+    "extern int __gmpz_congruent_p(mpz_srcptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]" : "__gmpz_congruent_p", 
+    "extern void __gmpf_pow_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpf_pow_ui", 
+    "extern void __gmpz_lcm_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_lcm_ui", 
+    "extern void __gmpz_rootrem(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]" : "__gmpz_rootrem", 
+    "extern void __gmpz_lucnum2_ui(mpz_ptr arg0, mpz_ptr arg1, long unsigned int arg2) [free function]" : "__gmpz_lucnum2_ui", 
+    "extern void __gmpz_set_ui(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_set_ui", 
+    "void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]" : "__gmpq_abs", 
+    "extern long unsigned int __gmpn_hamdist(mp_srcptr arg0, mp_srcptr arg1, mp_size_t arg2) [free function]" : "__gmpn_hamdist", 
+    "extern int __gmpf_fits_ushort_p(mpf_srcptr arg0) [free function]" : "__gmpf_fits_ushort_p", 
+    "extern void __gmpz_set(mpz_ptr arg0, mpz_srcptr arg1) [free function]" : "__gmpz_set", 
+    "extern void __gmpq_set_den(mpq_ptr arg0, mpz_srcptr arg1) [free function]" : "__gmpq_set_den", 
+    "extern void __gmpf_abs(mpf_ptr arg0, mpf_srcptr arg1) [free function]" : "__gmpf_abs", 
+    "extern void __gmp_get_memory_functions(void * (*)( ::size_t ) * * arg0, void * (*)( void *,::size_t,::size_t ) * * arg1, void (*)( void *,::size_t ) * * arg2) [free function]" : "__gmp_get_memory_functions", 
+    "extern void __gmpf_ui_div(mpf_ptr arg0, long unsigned int arg1, mpf_srcptr arg2) [free function]" : "__gmpf_ui_div", 
+    "extern mp_size_t __gmpn_gcd(mp_ptr arg0, mp_ptr arg1, mp_size_t arg2, mp_ptr arg3, mp_size_t arg4) [free function]" : "__gmpn_gcd", 
+    "extern mp_limb_t __gmpn_add_n(mp_ptr arg0, mp_srcptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]" : "__gmpn_add_n", 
+    "extern size_t __gmpz_inp_raw(mpz_ptr arg0, FILE * arg1) [free function]" : "__gmpz_inp_raw", 
+    "int __gmpz_fits_ulong_p(mpz_srcptr __gmp_z) [free function]" : "__gmpz_fits_ulong_p", 
+    "extern void __gmpq_clear(mpq_ptr arg0) [free function]" : "__gmpq_clear", 
+    "extern long unsigned int __gmpf_get_ui(mpf_srcptr arg0) [free function]" : "__gmpf_get_ui", 
+    "extern void __gmpz_fdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]" : "__gmpz_fdiv_qr", 
+    "extern void __gmpf_mul_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpf_mul_ui", 
+    "extern void __gmpz_combit(mpz_ptr arg0, long unsigned int arg1) [free function]" : "__gmpz_combit", 
+    "extern void __gmpz_addmul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_addmul_ui", 
+    "extern size_t __gmpf_inp_str(mpf_ptr arg0, FILE * arg1, int arg2) [free function]" : "__gmpf_inp_str", 
+    "extern int __gmpf_init_set_str(mpf_ptr arg0, char const * arg1, int arg2) [free function]" : "__gmpf_init_set_str", 
+    "__gmpf_get_d" : "extern double __gmpf_get_d(mpf_srcptr arg0) [free function]", 
+    "__gmpf_cmp_ui" : "extern int __gmpf_cmp_ui(mpf_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_mul_ui" : "extern void __gmpz_mul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_and" : "extern void __gmpz_and(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpf_urandomb" : "extern void __gmpf_urandomb(__mpf_struct * arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_tdiv_q_ui" : "extern long unsigned int __gmpz_tdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_clrbit" : "extern void __gmpz_clrbit(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_cdiv_r_2exp" : "extern void __gmpz_cdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_lcm" : "extern void __gmpz_lcm(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpf_get_d_2exp" : "extern double __gmpf_get_d_2exp(long int * arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpz_divisible_2exp_p" : "extern int __gmpz_divisible_2exp_p(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_congruent_2exp_p" : "extern int __gmpz_congruent_2exp_p(mpz_srcptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_pow_ui" : "extern void __gmpz_pow_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpq_neg" : "void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]", 
+    "__gmpf_reldiff" : "extern void __gmpf_reldiff(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]", 
+    "__gmpz_import" : "extern void __gmpz_import(mpz_ptr arg0, size_t arg1, int arg2, size_t arg3, int arg4, size_t arg5, void const * arg6) [free function]", 
+    "__gmpz_fac_ui" : "extern void __gmpz_fac_ui(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_root" : "extern int __gmpz_root(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_fdiv_q" : "extern void __gmpz_fdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_fdiv_r" : "extern void __gmpz_fdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmp_set_memory_functions" : "extern void __gmp_set_memory_functions(void * (*)( ::size_t ) * arg0, void * (*)( void *,::size_t,::size_t ) * arg1, void (*)( void *,::size_t ) * arg2) [free function]", 
+    "__gmpz_tdiv_r_ui" : "extern long unsigned int __gmpz_tdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_cdiv_r_ui" : "extern long unsigned int __gmpz_cdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_realloc2" : "extern void __gmpz_realloc2(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpn_tdiv_qr" : "extern void __gmpn_tdiv_qr(mp_ptr arg0, mp_ptr arg1, mp_size_t arg2, mp_srcptr arg3, mp_size_t arg4, mp_srcptr arg5, mp_size_t arg6) [free function]", 
+    "__gmpz_fdiv_r_2exp" : "extern void __gmpz_fdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_sqrt" : "extern void __gmpz_sqrt(mpz_ptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpq_add" : "extern void __gmpq_add(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]", 
+    "__gmpq_div" : "extern void __gmpq_div(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]", 
+    "__gmpf_get_default_prec" : "extern long unsigned int __gmpf_get_default_prec() [free function]", 
+    "__gmpq_sub" : "extern void __gmpq_sub(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]", 
+    "__gmpf_set_ui" : "extern void __gmpf_set_ui(mpf_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_get_d" : "extern double __gmpz_get_d(mpz_srcptr arg0) [free function]", 
+    "__gmpz_add" : "extern void __gmpz_add(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpn_cmp" : "int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) [free function]", 
+    "__gmpz_divexact_ui" : "extern void __gmpz_divexact_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_gcd_ui" : "extern long unsigned int __gmpz_gcd_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_inp_str" : "extern size_t __gmpz_inp_str(mpz_ptr arg0, FILE * arg1, int arg2) [free function]", 
+    "__gmp_snprintf" : "extern int __gmp_snprintf(char * arg0, size_t arg1, char const * arg2, ...) [free function]", 
+    "__gmpf_set_prec_raw" : "extern void __gmpf_set_prec_raw(mpf_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_cdiv_q_2exp" : "extern void __gmpz_cdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_fits_sshort_p" : "extern int __gmpz_fits_sshort_p(mpz_srcptr arg0) [free function]", 
+    "__gmpn_divrem" : "extern mp_limb_t __gmpn_divrem(mp_ptr arg0, mp_size_t arg1, mp_ptr arg2, mp_size_t arg3, mp_srcptr arg4, mp_size_t arg5) [free function]", 
+    "__gmpz_submul" : "extern void __gmpz_submul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_init_set" : "extern void __gmpz_init_set(mpz_ptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_xor" : "extern void __gmpz_xor(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_init_set_d" : "extern void __gmpz_init_set_d(mpz_ptr arg0, double arg1) [free function]", 
+    "__gmpz_fits_ushort_p" : "int __gmpz_fits_ushort_p(mpz_srcptr __gmp_z) [free function]", 
+    "__gmp_sscanf" : "extern int __gmp_sscanf(char const * arg0, char const * arg1, ...) [free function]", 
+    "__gmpz_mul_2exp" : "extern void __gmpz_mul_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_sub" : "extern void __gmpz_sub(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpf_fits_ulong_p" : "extern int __gmpf_fits_ulong_p(mpf_srcptr arg0) [free function]", 
+    "__gmpz_ui_pow_ui" : "extern void __gmpz_ui_pow_ui(mpz_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]", 
+    "__gmp_urandomm_ui" : "extern long unsigned int __gmp_urandomm_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_get_ui" : "long unsigned int __gmpz_get_ui(mpz_srcptr __gmp_z) [free function]", 
+    "__gmpz_cmpabs_ui" : "extern int __gmpz_cmpabs_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_tdiv_q_2exp" : "extern void __gmpz_tdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_perfect_square_p" : "int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) [free function]", 
+    "__gmpq_set_d" : "extern void __gmpq_set_d(mpq_ptr arg0, double arg1) [free function]", 
+    "__gmpz_cmp_d" : "extern int __gmpz_cmp_d(mpz_srcptr arg0, double arg1) [free function]", 
+    "__gmpz_cdiv_qr" : "extern void __gmpz_cdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]", 
+    "__gmpf_add" : "extern void __gmpf_add(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]", 
+    "__gmpz_probab_prime_p" : "extern int __gmpz_probab_prime_p(mpz_srcptr arg0, int arg1) [free function]", 
+    "__gmpn_rshift" : "extern mp_limb_t __gmpn_rshift(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, unsigned int arg3) [free function]", 
+    "__gmpz_array_init" : "extern void __gmpz_array_init(mpz_ptr arg0, mp_size_t arg1, mp_size_t arg2) [free function]", 
+    "__gmpz_fits_uint_p" : "int __gmpz_fits_uint_p(mpz_srcptr __gmp_z) [free function]", 
+    "__gmpf_random2" : "extern void __gmpf_random2(mpf_ptr arg0, mp_size_t arg1, mp_exp_t arg2) [free function]", 
+    "__gmp_randinit_set" : "extern void __gmp_randinit_set(__gmp_randstate_struct * arg0, __gmp_randstate_struct const * arg1) [free function]", 
+    "__gmpz_tdiv_qr" : "extern void __gmpz_tdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]", 
+    "__gmpn_set_str" : "extern mp_size_t __gmpn_set_str(mp_ptr arg0, unsigned char const * arg1, size_t arg2, int arg3) [free function]", 
+    "__gmpn_scan0" : "extern long unsigned int __gmpn_scan0(mp_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_cdiv_r" : "extern void __gmpz_cdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_fdiv_qr_ui" : "extern long unsigned int __gmpz_fdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]", 
+    "__gmpf_init_set_ui" : "extern void __gmpf_init_set_ui(mpf_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpn_mul_n" : "extern void __gmpn_mul_n(mp_ptr arg0, mp_srcptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]", 
+    "__gmpq_cmp_ui" : "extern int __gmpq_cmp_ui(mpq_srcptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_mul_si" : "extern void __gmpz_mul_si(mpz_ptr arg0, mpz_srcptr arg1, long int arg2) [free function]", 
+    "__gmpq_set_si" : "extern void __gmpq_set_si(mpq_ptr arg0, long int arg1, long unsigned int arg2) [free function]", 
+    "__gmpq_set_ui" : "extern void __gmpq_set_ui(mpq_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]", 
+    "__gmpf_sqrt_ui" : "extern void __gmpf_sqrt_ui(mpf_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpq_inp_str" : "extern size_t __gmpq_inp_str(mpq_ptr arg0, FILE * arg1, int arg2) [free function]", 
+    "__gmpf_fits_sint_p" : "extern int __gmpf_fits_sint_p(mpf_srcptr arg0) [free function]", 
+    "__gmpq_swap" : "extern void __gmpq_swap(mpq_ptr arg0, mpq_ptr arg1) [free function]", 
+    "__gmpf_set_str" : "extern int __gmpf_set_str(mpf_ptr arg0, char const * arg1, int arg2) [free function]", 
+    "__gmpz_sub_ui" : "extern void __gmpz_sub_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_divexact" : "extern void __gmpz_divexact(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_com" : "extern void __gmpz_com(mpz_ptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_ior" : "extern void __gmpz_ior(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_fits_slong_p" : "extern int __gmpz_fits_slong_p(mpz_srcptr arg0) [free function]", 
+    "__gmp_asprintf" : "extern int __gmp_asprintf(char * * arg0, char const * arg1, ...) [free function]", 
+    "__gmp_bits_per_limb" : "__gmp_bits_per_limb [variable]", 
+    "__gmpf_set_prec" : "extern void __gmpf_set_prec(mpf_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_init_set_str" : "extern int __gmpz_init_set_str(mpz_ptr arg0, char const * arg1, int arg2) [free function]", 
+    "__gmpn_sub_1" : "mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) [free function]", 
+    "__gmpz_millerrabin" : "extern int __gmpz_millerrabin(mpz_srcptr arg0, int arg1) [free function]", 
+    "__gmpz_mod" : "extern void __gmpz_mod(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_invert" : "extern int __gmpz_invert(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmp_randinit_mt" : "extern void __gmp_randinit_mt(__gmp_randstate_struct * arg0) [free function]", 
+    "__gmpf_set_d" : "extern void __gmpf_set_d(mpf_ptr arg0, double arg1) [free function]", 
+    "__gmpf_sub" : "extern void __gmpf_sub(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]", 
+    "__gmpn_addmul_1" : "extern mp_limb_t __gmpn_addmul_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]", 
+    "__gmpf_set_z" : "extern void __gmpf_set_z(mpf_ptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_ui_sub" : "extern void __gmpz_ui_sub(mpz_ptr arg0, long unsigned int arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpf_div" : "extern void __gmpf_div(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]", 
+    "__gmpn_random2" : "extern void __gmpn_random2(mp_ptr arg0, mp_size_t arg1) [free function]", 
+    "__gmpn_divexact_by3c" : "extern mp_limb_t __gmpn_divexact_by3c(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]", 
+    "__gmpz_lucnum_ui" : "extern void __gmpz_lucnum_ui(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpf_set_q" : "extern void __gmpf_set_q(mpf_ptr arg0, mpq_srcptr arg1) [free function]", 
+    "__gmpz_random" : "extern void __gmpz_random(mpz_ptr arg0, mp_size_t arg1) [free function]", 
+    "__gmp_scanf" : "extern int __gmp_scanf(char const * arg0, ...) [free function]", 
+    "__gmpn_sqrtrem" : "extern mp_size_t __gmpn_sqrtrem(mp_ptr arg0, mp_ptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]", 
+    "__gmpq_set_str" : "extern int __gmpq_set_str(mpq_ptr arg0, char const * arg1, int arg2) [free function]", 
+    "__gmpf_fits_slong_p" : "extern int __gmpf_fits_slong_p(mpf_srcptr arg0) [free function]", 
+    "__gmpz_setbit" : "extern void __gmpz_setbit(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmp_randinit_lc_2exp" : "extern void __gmp_randinit_lc_2exp(__gmp_randstate_struct * arg0, mpz_srcptr arg1, long unsigned int arg2, long unsigned int arg3) [free function]", 
+    "__gmp_randinit_lc_2exp_size" : "extern int __gmp_randinit_lc_2exp_size(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_set_d" : "extern void __gmpz_set_d(mpz_ptr arg0, double arg1) [free function]", 
+    "__gmpz_jacobi" : "extern int __gmpz_jacobi(mpz_srcptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_set_f" : "extern void __gmpz_set_f(mpz_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpf_out_str" : "extern size_t __gmpf_out_str(FILE * arg0, int arg1, size_t arg2, mpf_srcptr arg3) [free function]", 
+    "__gmpf_fits_sshort_p" : "extern int __gmpf_fits_sshort_p(mpf_srcptr arg0) [free function]", 
+    "__gmpq_div_2exp" : "extern void __gmpq_div_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpf_get_prec" : "extern long unsigned int __gmpf_get_prec(mpf_srcptr arg0) [free function]", 
+    "__gmpz_kronecker_si" : "extern int __gmpz_kronecker_si(mpz_srcptr arg0, long int arg1) [free function]", 
+    "__gmpf_floor" : "extern void __gmpf_floor(mpf_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpq_cmp" : "extern int __gmpq_cmp(mpq_srcptr arg0, mpq_srcptr arg1) [free function]", 
+    "__gmpf_integer_p" : "extern int __gmpf_integer_p(mpf_srcptr arg0) [free function]", 
+    "__gmpz_powm" : "extern void __gmpz_powm(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]", 
+    "__gmpz_hamdist" : "extern long unsigned int __gmpz_hamdist(mpz_srcptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_fib_ui" : "extern void __gmpz_fib_ui(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_cmp_ui" : "extern int __gmpz_cmp_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpn_submul_1" : "extern mp_limb_t __gmpn_submul_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]", 
+    "__gmpf_init2" : "extern void __gmpf_init2(mpf_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpn_mul_1" : "extern mp_limb_t __gmpn_mul_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]", 
+    "__gmpn_mod_1" : "extern mp_limb_t __gmpn_mod_1(mp_srcptr arg0, mp_size_t arg1, mp_limb_t arg2) [free function]", 
+    "__gmpz_size" : "size_t __gmpz_size(mpz_srcptr __gmp_z) [free function]", 
+    "__gmpq_get_den" : "extern void __gmpq_get_den(mpz_ptr arg0, mpq_srcptr arg1) [free function]", 
+    "__gmpn_preinv_mod_1" : "extern mp_limb_t __gmpn_preinv_mod_1(mp_srcptr arg0, mp_size_t arg1, mp_limb_t arg2, mp_limb_t arg3) [free function]", 
+    "__gmpz_tdiv_ui" : "extern long unsigned int __gmpz_tdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpn_gcd_1" : "extern mp_limb_t __gmpn_gcd_1(mp_srcptr arg0, mp_size_t arg1, mp_limb_t arg2) [free function]", 
+    "__gmp_randinit" : "extern void __gmp_randinit(__gmp_randstate_struct * arg0, gmp_randalg_t arg1, ...) [free function]", 
+    "__gmpf_init" : "extern void __gmpf_init(mpf_ptr arg0) [free function]", 
+    "__gmpz_mul" : "extern void __gmpz_mul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpn_scan1" : "extern long unsigned int __gmpn_scan1(mp_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpq_set" : "extern void __gmpq_set(mpq_ptr arg0, mpq_srcptr arg1) [free function]", 
+    "__gmpz_fits_sint_p" : "extern int __gmpz_fits_sint_p(mpz_srcptr arg0) [free function]", 
+    "__gmpz_cdiv_qr_ui" : "extern long unsigned int __gmpz_cdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]", 
+    "__gmpz_clear" : "extern void __gmpz_clear(mpz_ptr arg0) [free function]", 
+    "__gmpn_mul" : "extern mp_limb_t __gmpn_mul(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_srcptr arg3, mp_size_t arg4) [free function]", 
+    "__gmpz_init_set_si" : "extern void __gmpz_init_set_si(mpz_ptr arg0, long int arg1) [free function]", 
+    "__gmpz_divisible_p" : "extern int __gmpz_divisible_p(mpz_srcptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmp_errno" : "__gmp_errno [variable]", 
+    "__gmpf_sub_ui" : "extern void __gmpf_sub_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_swap" : "extern void __gmpz_swap(mpz_ptr arg0, mpz_ptr arg1) [free function]", 
+    "__gmpz_cmp" : "extern int __gmpz_cmp(mpz_srcptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpf_init_set_si" : "extern void __gmpf_init_set_si(mpf_ptr arg0, long int arg1) [free function]", 
+    "__gmpn_lshift" : "extern mp_limb_t __gmpn_lshift(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, unsigned int arg3) [free function]", 
+    "__gmpq_cmp_si" : "extern int __gmpq_cmp_si(mpq_srcptr arg0, long int arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_abs" : "void __gmpz_abs(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) [free function]", 
+    "__gmp_fprintf" : "extern int __gmp_fprintf(FILE * arg0, char const * arg1, ...) [free function]", 
+    "__gmpf_set" : "extern void __gmpf_set(mpf_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpz_divisible_ui_p" : "extern int __gmpz_divisible_ui_p(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpf_cmp_d" : "extern int __gmpf_cmp_d(mpf_srcptr arg0, double arg1) [free function]", 
+    "__gmpf_get_str" : "extern char * __gmpf_get_str(char * arg0, mp_exp_t * arg1, int arg2, size_t arg3, mpf_srcptr arg4) [free function]", 
+    "__gmpz_fdiv_q_ui" : "extern long unsigned int __gmpz_fdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_urandomb" : "extern void __gmpz_urandomb(mpz_ptr arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_get_str" : "extern char * __gmpz_get_str(char * arg0, int arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_tdiv_r" : "extern void __gmpz_tdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_urandomm" : "extern void __gmpz_urandomm(mpz_ptr arg0, __gmp_randstate_struct * arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpq_mul" : "extern void __gmpq_mul(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]", 
+    "__gmpz_tdiv_q" : "extern void __gmpz_tdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpf_fits_uint_p" : "extern int __gmpf_fits_uint_p(mpf_srcptr arg0) [free function]", 
+    "__gmpz_realloc" : "extern void * __gmpz_realloc(mpz_ptr arg0, mp_size_t arg1) [free function]", 
+    "__gmp_urandomb_ui" : "extern long unsigned int __gmp_urandomb_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_perfect_power_p" : "extern int __gmpz_perfect_power_p(mpz_srcptr arg0) [free function]", 
+    "__gmpq_get_str" : "extern char * __gmpq_get_str(char * arg0, int arg1, mpq_srcptr arg2) [free function]", 
+    "__gmpn_perfect_square_p" : "extern int __gmpn_perfect_square_p(mp_srcptr arg0, mp_size_t arg1) [free function]", 
+    "__gmpz_addmul" : "extern void __gmpz_addmul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_fdiv_ui" : "extern long unsigned int __gmpz_fdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmp_sprintf" : "extern int __gmp_sprintf(char * arg0, char const * arg1, ...) [free function]", 
+    "__gmpz_bin_uiui" : "extern void __gmpz_bin_uiui(mpz_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_set_q" : "void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]", 
+    "__gmpn_neg_n" : "mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) [free function]", 
+    "__gmpf_neg" : "extern void __gmpf_neg(mpf_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmp_randseed" : "extern void __gmp_randseed(__gmp_randstate_struct * arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_scan1" : "extern long unsigned int __gmpz_scan1(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_nextprime" : "extern void __gmpz_nextprime(mpz_ptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_si_kronecker" : "extern int __gmpz_si_kronecker(long int arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_congruent_ui_p" : "extern int __gmpz_congruent_ui_p(mpz_srcptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_cdiv_ui" : "extern long unsigned int __gmpz_cdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_init_set_ui" : "extern void __gmpz_init_set_ui(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpn_sub_n" : "extern mp_limb_t __gmpn_sub_n(mp_ptr arg0, mp_srcptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]", 
+    "__gmpq_set_num" : "extern void __gmpq_set_num(mpq_ptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_kronecker_ui" : "extern int __gmpz_kronecker_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpf_add_ui" : "extern void __gmpf_add_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_gcdext" : "extern void __gmpz_gcdext(mpz_ptr arg0, mpz_ptr arg1, mpz_ptr arg2, mpz_srcptr arg3, mpz_srcptr arg4) [free function]", 
+    "__gmpq_get_num" : "extern void __gmpq_get_num(mpz_ptr arg0, mpq_srcptr arg1) [free function]", 
+    "__gmpf_size" : "extern size_t __gmpf_size(mpf_srcptr arg0) [free function]", 
+    "__gmpq_inv" : "extern void __gmpq_inv(mpq_ptr arg0, mpq_srcptr arg1) [free function]", 
+    "__gmpn_divrem_1" : "extern mp_limb_t __gmpn_divrem_1(mp_ptr arg0, mp_size_t arg1, mp_srcptr arg2, mp_size_t arg3, mp_limb_t arg4) [free function]", 
+    "__gmpq_canonicalize" : "extern void __gmpq_canonicalize(mpq_ptr arg0) [free function]", 
+    "__gmpz_popcount" : "long unsigned int __gmpz_popcount(mpz_srcptr __gmp_u) [free function]", 
+    "__gmpf_ui_sub" : "extern void __gmpf_ui_sub(mpf_ptr arg0, long unsigned int arg1, mpf_srcptr arg2) [free function]", 
+    "__gmpz_cmp_si" : "extern int __gmpz_cmp_si(mpz_srcptr arg0, long int arg1) [free function]", 
+    "__gmpz_set_str" : "extern int __gmpz_set_str(mpz_ptr arg0, char const * arg1, int arg2) [free function]", 
+    "__gmpz_tstbit" : "extern int __gmpz_tstbit(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_set_si" : "extern void __gmpz_set_si(mpz_ptr arg0, long int arg1) [free function]", 
+    "__gmpq_init" : "extern void __gmpq_init(mpq_ptr arg0) [free function]", 
+    "__gmpz_out_raw" : "extern size_t __gmpz_out_raw(FILE * arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpf_trunc" : "extern void __gmpf_trunc(mpf_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpn_gcdext_1" : "extern mp_limb_t __gmpn_gcdext_1(mp_ptr arg0, mp_ptr arg1, mp_limb_t arg2, mp_limb_t arg3) [free function]", 
+    "__gmpz_cmpabs_d" : "extern int __gmpz_cmpabs_d(mpz_srcptr arg0, double arg1) [free function]", 
+    "__gmpz_export" : "extern void * __gmpz_export(void * arg0, size_t * arg1, int arg2, size_t arg3, int arg4, size_t arg5, mpz_srcptr arg6) [free function]", 
+    "__gmpz_get_d_2exp" : "extern double __gmpz_get_d_2exp(long int * arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_add_ui" : "extern void __gmpz_add_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpn_gcdext" : "extern mp_size_t __gmpn_gcdext(mp_ptr arg0, mp_ptr arg1, mp_size_t * arg2, mp_ptr arg3, mp_size_t arg4, mp_ptr arg5, mp_size_t arg6) [free function]", 
+    "__gmpf_sqrt" : "extern void __gmpf_sqrt(mpf_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpz_sizeinbase" : "extern size_t __gmpz_sizeinbase(mpz_srcptr arg0, int arg1) [free function]", 
+    "__gmpz_fdiv_r_ui" : "extern long unsigned int __gmpz_fdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmp_randinit_default" : "extern void __gmp_randinit_default(__gmp_randstate_struct * arg0) [free function]", 
+    "__gmpz_getlimbn" : "mp_limb_t __gmpz_getlimbn(mpz_srcptr __gmp_z, mp_size_t __gmp_n) [free function]", 
+    "__gmpf_get_si" : "extern long int __gmpf_get_si(mpf_srcptr arg0) [free function]", 
+    "__gmpz_init" : "extern void __gmpz_init(mpz_ptr arg0) [free function]", 
+    "__gmpf_div_2exp" : "extern void __gmpf_div_2exp(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpf_set_si" : "extern void __gmpf_set_si(mpf_ptr arg0, long int arg1) [free function]", 
+    "__gmpq_equal" : "extern int __gmpq_equal(mpq_srcptr arg0, mpq_srcptr arg1) [free function]", 
+    "__gmpz_rrandomb" : "extern void __gmpz_rrandomb(mpz_ptr arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]", 
+    "__gmpf_cmp_si" : "extern int __gmpf_cmp_si(mpf_srcptr arg0, long int arg1) [free function]", 
+    "__gmpz_scan0" : "extern long unsigned int __gmpz_scan0(mpz_srcptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_init2" : "extern void __gmpz_init2(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_random2" : "extern void __gmpz_random2(mpz_ptr arg0, mp_size_t arg1) [free function]", 
+    "__gmpn_pow_1" : "extern mp_size_t __gmpn_pow_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3, mp_ptr arg4) [free function]", 
+    "__gmpz_gcd" : "extern void __gmpz_gcd(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpf_mul_2exp" : "extern void __gmpf_mul_2exp(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpq_get_d" : "extern double __gmpq_get_d(mpq_srcptr arg0) [free function]", 
+    "__gmpf_mul" : "extern void __gmpf_mul(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]", 
+    "__gmpf_div_ui" : "extern void __gmpf_div_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpq_mul_2exp" : "extern void __gmpq_mul_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_out_str" : "extern size_t __gmpz_out_str(FILE * arg0, int arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpn_divrem_2" : "extern mp_limb_t __gmpn_divrem_2(mp_ptr arg0, mp_size_t arg1, mp_ptr arg2, mp_size_t arg3, mp_srcptr arg4) [free function]", 
+    "__gmpz_cmpabs" : "extern int __gmpz_cmpabs(mpz_srcptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_powm_ui" : "extern void __gmpz_powm_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2, mpz_srcptr arg3) [free function]", 
+    "__gmpq_out_str" : "extern size_t __gmpq_out_str(FILE * arg0, int arg1, mpq_srcptr arg2) [free function]", 
+    "__gmpz_neg" : "void __gmpz_neg(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) [free function]", 
+    "__gmpf_swap" : "extern void __gmpf_swap(mpf_ptr arg0, mpf_ptr arg1) [free function]", 
+    "__gmp_randseed_ui" : "extern void __gmp_randseed_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_sqrtrem" : "extern void __gmpz_sqrtrem(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_tdiv_qr_ui" : "extern long unsigned int __gmpz_tdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]", 
+    "__gmpn_bdivmod" : "extern mp_limb_t __gmpn_bdivmod(mp_ptr arg0, mp_ptr arg1, mp_size_t arg2, mp_srcptr arg3, mp_size_t arg4, long unsigned int arg5) [free function]", 
+    "__gmpn_random" : "extern void __gmpn_random(mp_ptr arg0, mp_size_t arg1) [free function]", 
+    "__gmpq_set_z" : "extern void __gmpq_set_z(mpq_ptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpz_cdiv_q" : "extern void __gmpz_cdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpz_get_si" : "extern long int __gmpz_get_si(mpz_srcptr arg0) [free function]", 
+    "__gmpf_init_set" : "extern void __gmpf_init_set(mpf_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpf_init_set_d" : "extern void __gmpf_init_set_d(mpf_ptr arg0, double arg1) [free function]", 
+    "__gmpf_cmp" : "extern int __gmpf_cmp(mpf_srcptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpf_eq" : "extern int __gmpf_eq(mpf_srcptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpn_popcount" : "extern long unsigned int __gmpn_popcount(mp_srcptr arg0, mp_size_t arg1) [free function]", 
+    "__gmpf_ceil" : "extern void __gmpf_ceil(mpf_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpn_add_1" : "mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) [free function]", 
+    "__gmpz_fib2_ui" : "extern void __gmpz_fib2_ui(mpz_ptr arg0, mpz_ptr arg1, long unsigned int arg2) [free function]", 
+    "__gmp_printf" : "extern int __gmp_printf(char const * arg0, ...) [free function]", 
+    "__gmpq_set_f" : "extern void __gmpq_set_f(mpq_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmpf_clear" : "extern void __gmpf_clear(mpf_ptr arg0) [free function]", 
+    "__gmpn_get_str" : "extern size_t __gmpn_get_str(unsigned char * arg0, int arg1, mp_ptr arg2, mp_size_t arg3) [free function]", 
+    "__gmp_fscanf" : "extern int __gmp_fscanf(FILE * arg0, char const * arg1, ...) [free function]", 
+    "__gmpz_ui_kronecker" : "extern int __gmpz_ui_kronecker(long unsigned int arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpn_add" : "mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]", 
+    "__gmpn_sub" : "mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]", 
+    "__gmpz_bin_ui" : "extern void __gmpz_bin_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_fdiv_q_2exp" : "extern void __gmpz_fdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpf_dump" : "extern void __gmpf_dump(mpf_srcptr arg0) [free function]", 
+    "__gmpz_tdiv_r_2exp" : "extern void __gmpz_tdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_submul_ui" : "extern void __gmpz_submul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_cdiv_q_ui" : "extern long unsigned int __gmpz_cdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_dump" : "extern void __gmpz_dump(mpz_srcptr arg0) [free function]", 
+    "__gmp_randclear" : "extern void __gmp_randclear(__gmp_randstate_struct * arg0) [free function]", 
+    "__gmp_version" : "__gmp_version [variable]", 
+    "__gmpz_remove" : "extern long unsigned int __gmpz_remove(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpf_set_default_prec" : "extern void __gmpf_set_default_prec(long unsigned int arg0) [free function]", 
+    "__gmpz_congruent_p" : "extern int __gmpz_congruent_p(mpz_srcptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]", 
+    "__gmpf_pow_ui" : "extern void __gmpf_pow_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_lcm_ui" : "extern void __gmpz_lcm_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_rootrem" : "extern void __gmpz_rootrem(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]", 
+    "__gmpz_lucnum2_ui" : "extern void __gmpz_lucnum2_ui(mpz_ptr arg0, mpz_ptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_set_ui" : "extern void __gmpz_set_ui(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpq_abs" : "void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]", 
+    "__gmpn_hamdist" : "extern long unsigned int __gmpn_hamdist(mp_srcptr arg0, mp_srcptr arg1, mp_size_t arg2) [free function]", 
+    "__gmpf_fits_ushort_p" : "extern int __gmpf_fits_ushort_p(mpf_srcptr arg0) [free function]", 
+    "__gmpz_set" : "extern void __gmpz_set(mpz_ptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpq_set_den" : "extern void __gmpq_set_den(mpq_ptr arg0, mpz_srcptr arg1) [free function]", 
+    "__gmpf_abs" : "extern void __gmpf_abs(mpf_ptr arg0, mpf_srcptr arg1) [free function]", 
+    "__gmp_get_memory_functions" : "extern void __gmp_get_memory_functions(void * (*)( ::size_t ) * * arg0, void * (*)( void *,::size_t,::size_t ) * * arg1, void (*)( void *,::size_t ) * * arg2) [free function]", 
+    "__gmpf_ui_div" : "extern void __gmpf_ui_div(mpf_ptr arg0, long unsigned int arg1, mpf_srcptr arg2) [free function]", 
+    "__gmpn_gcd" : "extern mp_size_t __gmpn_gcd(mp_ptr arg0, mp_ptr arg1, mp_size_t arg2, mp_ptr arg3, mp_size_t arg4) [free function]", 
+    "__gmpn_add_n" : "extern mp_limb_t __gmpn_add_n(mp_ptr arg0, mp_srcptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]", 
+    "__gmpz_inp_raw" : "extern size_t __gmpz_inp_raw(mpz_ptr arg0, FILE * arg1) [free function]", 
+    "__gmpz_fits_ulong_p" : "int __gmpz_fits_ulong_p(mpz_srcptr __gmp_z) [free function]", 
+    "__gmpq_clear" : "extern void __gmpq_clear(mpq_ptr arg0) [free function]", 
+    "__gmpf_get_ui" : "extern long unsigned int __gmpf_get_ui(mpf_srcptr arg0) [free function]", 
+    "__gmpz_fdiv_qr" : "extern void __gmpz_fdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]", 
+    "__gmpf_mul_ui" : "extern void __gmpf_mul_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpz_combit" : "extern void __gmpz_combit(mpz_ptr arg0, long unsigned int arg1) [free function]", 
+    "__gmpz_addmul_ui" : "extern void __gmpz_addmul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]", 
+    "__gmpf_inp_str" : "extern size_t __gmpf_inp_str(mpf_ptr arg0, FILE * arg1, int arg2) [free function]", 
+    "__gmpf_init_set_str" : "extern int __gmpf_init_set_str(mpf_ptr arg0, char const * arg1, int arg2) [free function]", 
+}
+
+class gmp_randalg_t( ctypes_utils.Enumeration ):
+    GMP_RAND_ALG_DEFAULT = 0
+    GMP_RAND_ALG_LC = 0
+
+class _IO_FILE(ctypes.Structure):
+    """class _IO_FILE"""
+    
+    def __init__( self, *args, **keywd ):
+        raise RuntimeError( "Unable to create instance of opaque type." )
+
+class _IO_marker(ctypes.Structure):
+    """class _IO_marker"""
+    
+    def __init__( self, *args, **keywd ):
+        raise RuntimeError( "Unable to create instance of opaque type." )
+
+class __mpz_struct(ctypes.Structure):
+    """class __mpz_struct"""
+
+class __gmp_randstate_struct(ctypes.Structure):
+    """class __gmp_randstate_struct"""
+    
+    class _(ctypes.Union):
+        """class __gmp_randstate_struct"""
+
+class __mpf_struct(ctypes.Structure):
+    """class __mpf_struct"""
+
+class __mpq_struct(ctypes.Structure):
+    """class __mpq_struct"""
+
+__mpz_struct._fields_ = [ #class __mpz_struct
+    ("_mp_alloc", ctypes.c_int),
+    ("_mp_size", ctypes.c_int),
+    ("_mp_d", ctypes.POINTER( ctypes.c_ulong )),
+]
+
+__gmp_randstate_struct._._fields_ = [ #class __gmp_randstate_struct
+    ("_mp_lc", ctypes.c_void_p),
+]
+
+__gmp_randstate_struct._anonymous_ = ["_mp_algdata"]
+__gmp_randstate_struct._fields_ = [ #class __gmp_randstate_struct
+    ("_mp_seed", ( __mpz_struct * 1 )),
+    ("_mp_alg", gmp_randalg_t),
+    ("_mp_algdata", __gmp_randstate_struct._),
+]
+
+__mpf_struct._fields_ = [ #class __mpf_struct
+    ("_mp_prec", ctypes.c_int),
+    ("_mp_size", ctypes.c_int),
+    ("_mp_exp", ctypes.c_long),
+    ("_mp_d", ctypes.POINTER( ctypes.c_ulong )),
+]
+
+__mpq_struct._fields_ = [ #class __mpq_struct
+    ("_mp_num", __mpz_struct),
+    ("_mp_den", __mpz_struct),
+]
+
+gmpq_add_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_add = gmpq_add_type( ( libgmp_lib.undecorated_names["extern void __gmpq_add(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpq_canonicalize_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct )  )
+gmpq_canonicalize = gmpq_canonicalize_type( ( libgmp_lib.undecorated_names["extern void __gmpq_canonicalize(mpq_ptr arg0) [free function]"], libgmp_lib ) )
+
+gmpq_sub_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_sub = gmpq_sub_type( ( libgmp_lib.undecorated_names["extern void __gmpq_sub(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_tdiv_q_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_tdiv_q_ui = gmpz_tdiv_q_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_tdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_hamdist_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_hamdist = gmpz_hamdist_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_hamdist(mpz_srcptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpn_gcdext_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_long ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_gcdext = gmpn_gcdext_type( ( libgmp_lib.undecorated_names["extern mp_size_t __gmpn_gcdext(mp_ptr arg0, mp_ptr arg1, mp_size_t * arg2, mp_ptr arg3, mp_size_t arg4, mp_ptr arg5, mp_size_t arg6) [free function]"], libgmp_lib ) )
+
+gmpn_scan0_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_ulong  )
+gmpn_scan0 = gmpn_scan0_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpn_scan0(mp_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpn_scan1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_ulong  )
+gmpn_scan1 = gmpn_scan1_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpn_scan1(mp_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpn_gcdext_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_ulong, ctypes.c_ulong  )
+gmpn_gcdext_1 = gmpn_gcdext_1_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_gcdext_1(mp_ptr arg0, mp_ptr arg1, mp_limb_t arg2, mp_limb_t arg3) [free function]"], libgmp_lib ) )
+
+gmpz_init_set_d_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_double  )
+gmpz_init_set_d = gmpz_init_set_d_type( ( libgmp_lib.undecorated_names["extern void __gmpz_init_set_d(mpz_ptr arg0, double arg1) [free function]"], libgmp_lib ) )
+
+gmpz_popcount_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct )  )
+gmpz_popcount = gmpz_popcount_type( ( libgmp_lib.undecorated_names["long unsigned int __gmpz_popcount(mpz_srcptr __gmp_u) [free function]"], libgmp_lib ) )
+
+gmpz_get_d_2exp_type = ctypes.CFUNCTYPE( ctypes.c_double, ctypes.POINTER( ctypes.c_long ), ctypes.POINTER( __mpz_struct )  )
+gmpz_get_d_2exp = gmpz_get_d_2exp_type( ( libgmp_lib.undecorated_names["extern double __gmpz_get_d_2exp(long int * arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_powm_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.POINTER( __mpz_struct )  )
+gmpz_powm_ui = gmpz_powm_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_powm_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2, mpz_srcptr arg3) [free function]"], libgmp_lib ) )
+
+gmpn_add_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_add = gmpn_add_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]"], libgmp_lib ) )
+
+gmpz_ui_pow_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.c_ulong  )
+gmpz_ui_pow_ui = gmpz_ui_pow_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_ui_pow_ui(mpz_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_nextprime_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_nextprime = gmpz_nextprime_type( ( libgmp_lib.undecorated_names["extern void __gmpz_nextprime(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_size_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpz_struct )  )
+gmpz_size = gmpz_size_type( ( libgmp_lib.undecorated_names["size_t __gmpz_size(mpz_srcptr __gmp_z) [free function]"], libgmp_lib ) )
+
+gmpf_sqrt_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_sqrt = gmpf_sqrt_type( ( libgmp_lib.undecorated_names["extern void __gmpf_sqrt(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_ui_sub_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.POINTER( __mpz_struct )  )
+gmpz_ui_sub = gmpz_ui_sub_type( ( libgmp_lib.undecorated_names["extern void __gmpz_ui_sub(mpz_ptr arg0, long unsigned int arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmp_errno = ctypes.c_int.in_dll( libgmp_lib, libgmp_lib.undecorated_names["__gmp_errno [variable]"] )
+
+gmpn_bdivmod_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_bdivmod = gmpn_bdivmod_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_bdivmod(mp_ptr arg0, mp_ptr arg1, mp_size_t arg2, mp_srcptr arg3, mp_size_t arg4, long unsigned int arg5) [free function]"], libgmp_lib ) )
+
+gmpz_cdiv_q_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_cdiv_q_ui = gmpz_cdiv_q_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_cdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_tdiv_r_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_tdiv_r_ui = gmpz_tdiv_r_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_tdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_export_type = ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER( ctypes.c_uint ), ctypes.c_int, ctypes.c_uint, ctypes.c_int, ctypes.c_uint, ctypes.POINTER( __mpz_struct )  )
+gmpz_export = gmpz_export_type( ( libgmp_lib.undecorated_names["extern void * __gmpz_export(void * arg0, size_t * arg1, int arg2, size_t arg3, int arg4, size_t arg5, mpz_srcptr arg6) [free function]"], libgmp_lib ) )
+
+gmp_randseed_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong  )
+gmp_randseed_ui = gmp_randseed_ui_type( ( libgmp_lib.undecorated_names["extern void __gmp_randseed_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_mul_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_mul_2exp = gmpf_mul_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpf_mul_2exp(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpn_sub_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_sub_1 = gmpn_sub_1_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) [free function]"], libgmp_lib ) )
+
+gmpq_cmp_ui_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpq_struct ), ctypes.c_ulong, ctypes.c_ulong  )
+gmpq_cmp_ui = gmpq_cmp_ui_type( ( libgmp_lib.undecorated_names["extern int __gmpq_cmp_ui(mpq_srcptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_out_str_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( _IO_FILE ), ctypes.c_int, ctypes.POINTER( __mpq_struct )  )
+gmpq_out_str = gmpq_out_str_type( ( libgmp_lib.undecorated_names["extern size_t __gmpq_out_str(FILE * arg0, int arg1, mpq_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpn_hamdist_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_hamdist = gmpn_hamdist_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpn_hamdist(mp_srcptr arg0, mp_srcptr arg1, mp_size_t arg2) [free function]"], libgmp_lib ) )
+
+gmpz_submul_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_submul = gmpz_submul_type( ( libgmp_lib.undecorated_names["extern void __gmpz_submul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmp_randseed_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct ), ctypes.POINTER( __mpz_struct )  )
+gmp_randseed = gmp_randseed_type( ( libgmp_lib.undecorated_names["extern void __gmp_randseed(__gmp_randstate_struct * arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_divisible_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_divisible_p = gmpz_divisible_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_divisible_p(mpz_srcptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_get_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct )  )
+gmpz_get_ui = gmpz_get_ui_type( ( libgmp_lib.undecorated_names["long unsigned int __gmpz_get_ui(mpz_srcptr __gmp_z) [free function]"], libgmp_lib ) )
+
+gmpz_getlimbn_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.c_long  )
+gmpz_getlimbn = gmpz_getlimbn_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpz_getlimbn(mpz_srcptr __gmp_z, mp_size_t __gmp_n) [free function]"], libgmp_lib ) )
+
+gmp_randinit_lc_2exp_size_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong  )
+gmp_randinit_lc_2exp_size = gmp_randinit_lc_2exp_size_type( ( libgmp_lib.undecorated_names["extern int __gmp_randinit_lc_2exp_size(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_inp_raw_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( _IO_FILE )  )
+gmpz_inp_raw = gmpz_inp_raw_type( ( libgmp_lib.undecorated_names["extern size_t __gmpz_inp_raw(mpz_ptr arg0, FILE * arg1) [free function]"], libgmp_lib ) )
+
+gmp_version = ctypes.c_char_p.in_dll( libgmp_lib, libgmp_lib.undecorated_names["__gmp_version [variable]"] )
+
+gmpz_tdiv_qr_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_tdiv_qr_ui = gmpz_tdiv_qr_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_tdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_lib ) )
+
+gmpz_tdiv_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_tdiv_ui = gmpz_tdiv_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_tdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpq_set_num_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpq_set_num = gmpq_set_num_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_num(mpq_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_mul_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_mul_2exp = gmpz_mul_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_mul_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_mul_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_mul = gmpf_mul_type( ( libgmp_lib.undecorated_names["extern void __gmpf_mul(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_submul_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_submul_ui = gmpz_submul_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_submul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_div_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_div_ui = gmpf_div_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_div_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_size_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpf_struct )  )
+gmpf_size = gmpf_size_type( ( libgmp_lib.undecorated_names["extern size_t __gmpf_size(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpn_mul_n_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_mul_n = gmpn_mul_n_type( ( libgmp_lib.undecorated_names["extern void __gmpn_mul_n(mp_ptr arg0, mp_srcptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]"], libgmp_lib ) )
+
+gmpz_addmul_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_addmul = gmpz_addmul_type( ( libgmp_lib.undecorated_names["extern void __gmpz_addmul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmp_set_memory_functions_type = ctypes.CFUNCTYPE( None, ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.c_uint ), ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.c_uint ), ctypes.CFUNCTYPE( None, ctypes.c_void_p, ctypes.c_uint )  )
+gmp_set_memory_functions = gmp_set_memory_functions_type( ( libgmp_lib.undecorated_names["extern void __gmp_set_memory_functions(void * (*)( ::size_t ) * arg0, void * (*)( void *,::size_t,::size_t ) * arg1, void (*)( void *,::size_t ) * arg2) [free function]"], libgmp_lib ) )
+
+gmpz_sqrt_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_sqrt = gmpz_sqrt_type( ( libgmp_lib.undecorated_names["extern void __gmpz_sqrt(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpf_sqrt_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_sqrt_ui = gmpf_sqrt_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_sqrt_ui(mpf_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpn_sub_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_sub = gmpn_sub_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]"], libgmp_lib ) )
+
+gmpz_mod_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_mod = gmpz_mod_type( ( libgmp_lib.undecorated_names["extern void __gmpz_mod(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpq_get_d_type = ctypes.CFUNCTYPE( ctypes.c_double, ctypes.POINTER( __mpq_struct )  )
+gmpq_get_d = gmpq_get_d_type( ( libgmp_lib.undecorated_names["extern double __gmpq_get_d(mpq_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_set_str_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_char_p, ctypes.c_int  )
+gmpz_set_str = gmpz_set_str_type( ( libgmp_lib.undecorated_names["extern int __gmpz_set_str(mpz_ptr arg0, char const * arg1, int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_inv_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_inv = gmpq_inv_type( ( libgmp_lib.undecorated_names["extern void __gmpq_inv(mpq_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_rootrem_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_rootrem = gmpz_rootrem_type( ( libgmp_lib.undecorated_names["extern void __gmpz_rootrem(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_lib ) )
+
+gmpf_ceil_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_ceil = gmpf_ceil_type( ( libgmp_lib.undecorated_names["extern void __gmpf_ceil(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpf_fits_sshort_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct )  )
+gmpf_fits_sshort_p = gmpf_fits_sshort_p_type( ( libgmp_lib.undecorated_names["extern int __gmpf_fits_sshort_p(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_fits_ushort_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_fits_ushort_p = gmpz_fits_ushort_p_type( ( libgmp_lib.undecorated_names["int __gmpz_fits_ushort_p(mpz_srcptr __gmp_z) [free function]"], libgmp_lib ) )
+
+gmpz_sub_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_sub = gmpz_sub_type( ( libgmp_lib.undecorated_names["extern void __gmpz_sub(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_cdiv_r_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_cdiv_r_2exp = gmpz_cdiv_r_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_cdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmp_randinit_default_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct )  )
+gmp_randinit_default = gmp_randinit_default_type( ( libgmp_lib.undecorated_names["extern void __gmp_randinit_default(__gmp_randstate_struct * arg0) [free function]"], libgmp_lib ) )
+
+gmpf_integer_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct )  )
+gmpf_integer_p = gmpf_integer_p_type( ( libgmp_lib.undecorated_names["extern int __gmpf_integer_p(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_congruent_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_congruent_p = gmpz_congruent_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_congruent_p(mpz_srcptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_ui_div_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong, ctypes.POINTER( __mpf_struct )  )
+gmpf_ui_div = gmpf_ui_div_type( ( libgmp_lib.undecorated_names["extern void __gmpf_ui_div(mpf_ptr arg0, long unsigned int arg1, mpf_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_mul_si_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_long  )
+gmpz_mul_si = gmpz_mul_si_type( ( libgmp_lib.undecorated_names["extern void __gmpz_mul_si(mpz_ptr arg0, mpz_srcptr arg1, long int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_div_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.c_ulong  )
+gmpq_div_2exp = gmpq_div_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpq_div_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_neg_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_neg = gmpq_neg_type( ( libgmp_lib.undecorated_names["void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]"], libgmp_lib ) )
+
+gmpz_import_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_uint, ctypes.c_int, ctypes.c_uint, ctypes.c_int, ctypes.c_uint, ctypes.c_void_p  )
+gmpz_import = gmpz_import_type( ( libgmp_lib.undecorated_names["extern void __gmpz_import(mpz_ptr arg0, size_t arg1, int arg2, size_t arg3, int arg4, size_t arg5, void const * arg6) [free function]"], libgmp_lib ) )
+
+gmpz_set_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_set = gmpz_set_type( ( libgmp_lib.undecorated_names["extern void __gmpz_set(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_mul_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_mul_ui = gmpz_mul_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_mul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_get_num_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_get_num = gmpq_get_num_type( ( libgmp_lib.undecorated_names["extern void __gmpq_get_num(mpz_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpq_set_f_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpq_set_f = gmpq_set_f_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_f(mpq_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_random_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_long  )
+gmpz_random = gmpz_random_type( ( libgmp_lib.undecorated_names["extern void __gmpz_random(mpz_ptr arg0, mp_size_t arg1) [free function]"], libgmp_lib ) )
+
+gmpz_sub_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_sub_ui = gmpz_sub_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_sub_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_fdiv_qr_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_fdiv_qr = gmpz_fdiv_qr_type( ( libgmp_lib.undecorated_names["extern void __gmpz_fdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]"], libgmp_lib ) )
+
+gmpz_rrandomb_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong  )
+gmpz_rrandomb = gmpz_rrandomb_type( ( libgmp_lib.undecorated_names["extern void __gmpz_rrandomb(mpz_ptr arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpn_set_str_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ubyte ), ctypes.c_uint, ctypes.c_int  )
+gmpn_set_str = gmpn_set_str_type( ( libgmp_lib.undecorated_names["extern mp_size_t __gmpn_set_str(mp_ptr arg0, unsigned char const * arg1, size_t arg2, int arg3) [free function]"], libgmp_lib ) )
+
+gmpz_root_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_root = gmpz_root_type( ( libgmp_lib.undecorated_names["extern int __gmpz_root(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_fdiv_q_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_fdiv_q_ui = gmpz_fdiv_q_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_fdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_fdiv_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_fdiv_ui = gmpz_fdiv_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_fdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_cmpabs_ui_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_cmpabs_ui = gmpz_cmpabs_ui_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmpabs_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_cmpabs_d_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_double  )
+gmpz_cmpabs_d = gmpz_cmpabs_d_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmpabs_d(mpz_srcptr arg0, double arg1) [free function]"], libgmp_lib ) )
+
+gmpz_cmp_si_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_long  )
+gmpz_cmp_si = gmpz_cmp_si_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmp_si(mpz_srcptr arg0, long int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_cdiv_qr_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_cdiv_qr_ui = gmpz_cdiv_qr_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_cdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_lib ) )
+
+gmpz_cmp_ui_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_cmp_ui = gmpz_cmp_ui_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmp_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_clear_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct )  )
+gmpz_clear = gmpz_clear_type( ( libgmp_lib.undecorated_names["extern void __gmpz_clear(mpz_ptr arg0) [free function]"], libgmp_lib ) )
+
+gmpq_set_z_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpq_set_z = gmpq_set_z_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_z(mpq_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_bin_uiui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.c_ulong  )
+gmpz_bin_uiui = gmpz_bin_uiui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_bin_uiui(mpz_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_abs_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_abs = gmpz_abs_type( ( libgmp_lib.undecorated_names["void __gmpz_abs(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) [free function]"], libgmp_lib ) )
+
+gmpz_probab_prime_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_int  )
+gmpz_probab_prime_p = gmpz_probab_prime_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_probab_prime_p(mpz_srcptr arg0, int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_tdiv_q_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_tdiv_q = gmpz_tdiv_q_type( ( libgmp_lib.undecorated_names["extern void __gmpz_tdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_tdiv_r_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_tdiv_r = gmpz_tdiv_r_type( ( libgmp_lib.undecorated_names["extern void __gmpz_tdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_add_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_add = gmpz_add_type( ( libgmp_lib.undecorated_names["extern void __gmpz_add(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_set_str_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ), ctypes.c_char_p, ctypes.c_int  )
+gmpf_set_str = gmpf_set_str_type( ( libgmp_lib.undecorated_names["extern int __gmpf_set_str(mpf_ptr arg0, char const * arg1, int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_set_q_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpf_set_q = gmpf_set_q_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_q(mpf_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpq_set_d_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.c_double  )
+gmpq_set_d = gmpq_set_d_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_d(mpq_ptr arg0, double arg1) [free function]"], libgmp_lib ) )
+
+gmpn_neg_n_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_neg_n = gmpn_neg_n_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) [free function]"], libgmp_lib ) )
+
+gmpn_random2_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_random2 = gmpn_random2_type( ( libgmp_lib.undecorated_names["extern void __gmpn_random2(mp_ptr arg0, mp_size_t arg1) [free function]"], libgmp_lib ) )
+
+gmpz_lcm_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_lcm = gmpz_lcm_type( ( libgmp_lib.undecorated_names["extern void __gmpz_lcm(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpn_rshift_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_uint  )
+gmpn_rshift = gmpn_rshift_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_rshift(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, unsigned int arg3) [free function]"], libgmp_lib ) )
+
+gmpf_set_z_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpf_set_z = gmpf_set_z_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_z(mpf_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpq_set_den_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpq_set_den = gmpq_set_den_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_den(mpq_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_get_str_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_get_str = gmpz_get_str_type( ( libgmp_lib.undecorated_names["extern char * __gmpz_get_str(char * arg0, int arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_init_set_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_init_set = gmpf_init_set_type( ( libgmp_lib.undecorated_names["extern void __gmpf_init_set(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_ui_kronecker_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.c_ulong, ctypes.POINTER( __mpz_struct )  )
+gmpz_ui_kronecker = gmpz_ui_kronecker_type( ( libgmp_lib.undecorated_names["extern int __gmpz_ui_kronecker(long unsigned int arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpf_neg_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_neg = gmpf_neg_type( ( libgmp_lib.undecorated_names["extern void __gmpf_neg(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpf_get_si_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( __mpf_struct )  )
+gmpf_get_si = gmpf_get_si_type( ( libgmp_lib.undecorated_names["extern long int __gmpf_get_si(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmp_randinit_lc_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.c_ulong  )
+gmp_randinit_lc_2exp = gmp_randinit_lc_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmp_randinit_lc_2exp(__gmp_randstate_struct * arg0, mpz_srcptr arg1, long unsigned int arg2, long unsigned int arg3) [free function]"], libgmp_lib ) )
+
+gmpz_and_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_and = gmpz_and_type( ( libgmp_lib.undecorated_names["extern void __gmpz_and(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_get_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpf_struct )  )
+gmpf_get_ui = gmpf_get_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpf_get_ui(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_divisible_ui_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_divisible_ui_p = gmpz_divisible_ui_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_divisible_ui_p(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_fib2_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_fib2_ui = gmpz_fib2_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_fib2_ui(mpz_ptr arg0, mpz_ptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_cmp_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_cmp = gmpf_cmp_type( ( libgmp_lib.undecorated_names["extern int __gmpf_cmp(mpf_srcptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpq_cmp_si_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpq_struct ), ctypes.c_long, ctypes.c_ulong  )
+gmpq_cmp_si = gmpq_cmp_si_type( ( libgmp_lib.undecorated_names["extern int __gmpq_cmp_si(mpq_srcptr arg0, long int arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_divexact_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_divexact = gmpz_divexact_type( ( libgmp_lib.undecorated_names["extern void __gmpz_divexact(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_fib_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_fib_ui = gmpz_fib_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_fib_ui(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpn_get_str_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( ctypes.c_ubyte ), ctypes.c_int, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_get_str = gmpn_get_str_type( ( libgmp_lib.undecorated_names["extern size_t __gmpn_get_str(unsigned char * arg0, int arg1, mp_ptr arg2, mp_size_t arg3) [free function]"], libgmp_lib ) )
+
+gmpz_cdiv_r_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_cdiv_r_ui = gmpz_cdiv_r_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_cdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_ui_sub_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong, ctypes.POINTER( __mpf_struct )  )
+gmpf_ui_sub = gmpf_ui_sub_type( ( libgmp_lib.undecorated_names["extern void __gmpf_ui_sub(mpf_ptr arg0, long unsigned int arg1, mpf_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_random2_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_long  )
+gmpz_random2 = gmpz_random2_type( ( libgmp_lib.undecorated_names["extern void __gmpz_random2(mpz_ptr arg0, mp_size_t arg1) [free function]"], libgmp_lib ) )
+
+gmpn_add_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_add_1 = gmpn_add_1_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) [free function]"], libgmp_lib ) )
+
+gmp_randinit_set_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct ), ctypes.POINTER( __gmp_randstate_struct )  )
+gmp_randinit_set = gmp_randinit_set_type( ( libgmp_lib.undecorated_names["extern void __gmp_randinit_set(__gmp_randstate_struct * arg0, __gmp_randstate_struct const * arg1) [free function]"], libgmp_lib ) )
+
+gmpn_add_n_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_add_n = gmpn_add_n_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_add_n(mp_ptr arg0, mp_srcptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]"], libgmp_lib ) )
+
+gmp_randinit_mt_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct )  )
+gmp_randinit_mt = gmp_randinit_mt_type( ( libgmp_lib.undecorated_names["extern void __gmp_randinit_mt(__gmp_randstate_struct * arg0) [free function]"], libgmp_lib ) )
+
+gmpf_get_str_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER( ctypes.c_long ), ctypes.c_int, ctypes.c_uint, ctypes.POINTER( __mpf_struct )  )
+gmpf_get_str = gmpf_get_str_type( ( libgmp_lib.undecorated_names["extern char * __gmpf_get_str(char * arg0, mp_exp_t * arg1, int arg2, size_t arg3, mpf_srcptr arg4) [free function]"], libgmp_lib ) )
+
+gmp_get_memory_functions_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.c_uint ) ), ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.c_uint ) ), ctypes.POINTER( ctypes.CFUNCTYPE( None, ctypes.c_void_p, ctypes.c_uint ) )  )
+gmp_get_memory_functions = gmp_get_memory_functions_type( ( libgmp_lib.undecorated_names["extern void __gmp_get_memory_functions(void * (*)( ::size_t ) * * arg0, void * (*)( void *,::size_t,::size_t ) * * arg1, void (*)( void *,::size_t ) * * arg2) [free function]"], libgmp_lib ) )
+
+gmpz_out_raw_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( _IO_FILE ), ctypes.POINTER( __mpz_struct )  )
+gmpz_out_raw = gmpz_out_raw_type( ( libgmp_lib.undecorated_names["extern size_t __gmpz_out_raw(FILE * arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_congruent_ui_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.c_ulong  )
+gmpz_congruent_ui_p = gmpz_congruent_ui_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_congruent_ui_p(mpz_srcptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_congruent_2exp_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_congruent_2exp_p = gmpz_congruent_2exp_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_congruent_2exp_p(mpz_srcptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_get_den_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_get_den = gmpq_get_den_type( ( libgmp_lib.undecorated_names["extern void __gmpq_get_den(mpz_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpn_random_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_random = gmpn_random_type( ( libgmp_lib.undecorated_names["extern void __gmpn_random(mp_ptr arg0, mp_size_t arg1) [free function]"], libgmp_lib ) )
+
+gmp_randclear_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct )  )
+gmp_randclear = gmp_randclear_type( ( libgmp_lib.undecorated_names["extern void __gmp_randclear(__gmp_randstate_struct * arg0) [free function]"], libgmp_lib ) )
+
+gmpn_pow_1_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong )  )
+gmpn_pow_1 = gmpn_pow_1_type( ( libgmp_lib.undecorated_names["extern mp_size_t __gmpn_pow_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3, mp_ptr arg4) [free function]"], libgmp_lib ) )
+
+gmpz_inp_str_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( _IO_FILE ), ctypes.c_int  )
+gmpz_inp_str = gmpz_inp_str_type( ( libgmp_lib.undecorated_names["extern size_t __gmpz_inp_str(mpz_ptr arg0, FILE * arg1, int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_get_default_prec_type = ctypes.CFUNCTYPE( ctypes.c_ulong )
+gmpf_get_default_prec = gmpf_get_default_prec_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpf_get_default_prec() [free function]"], libgmp_lib ) )
+
+gmpn_mod_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_mod_1 = gmpn_mod_1_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_mod_1(mp_srcptr arg0, mp_size_t arg1, mp_limb_t arg2) [free function]"], libgmp_lib ) )
+
+gmpz_perfect_square_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_perfect_square_p = gmpz_perfect_square_p_type( ( libgmp_lib.undecorated_names["int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) [free function]"], libgmp_lib ) )
+
+gmpz_add_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_add_ui = gmpz_add_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_add_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_urandomb_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong  )
+gmpf_urandomb = gmpf_urandomb_type( ( libgmp_lib.undecorated_names["extern void __gmpf_urandomb(__mpf_struct * arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmp_bits_per_limb = ctypes.c_int.in_dll( libgmp_lib, libgmp_lib.undecorated_names["__gmp_bits_per_limb [variable]"] )
+
+gmpf_set_prec_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_set_prec = gmpf_set_prec_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_prec(mpf_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpq_set_si_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.c_long, ctypes.c_ulong  )
+gmpq_set_si = gmpq_set_si_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_si(mpq_ptr arg0, long int arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_mul_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_mul = gmpq_mul_type( ( libgmp_lib.undecorated_names["extern void __gmpq_mul(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_clear_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct )  )
+gmpf_clear = gmpf_clear_type( ( libgmp_lib.undecorated_names["extern void __gmpf_clear(mpf_ptr arg0) [free function]"], libgmp_lib ) )
+
+gmpq_set_str_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpq_struct ), ctypes.c_char_p, ctypes.c_int  )
+gmpq_set_str = gmpq_set_str_type( ( libgmp_lib.undecorated_names["extern int __gmpq_set_str(mpq_ptr arg0, char const * arg1, int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_set_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.c_ulong, ctypes.c_ulong  )
+gmpq_set_ui = gmpq_set_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_ui(mpq_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_set_si_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_long  )
+gmpf_set_si = gmpf_set_si_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_si(mpf_ptr arg0, long int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_init_set_d_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_double  )
+gmpf_init_set_d = gmpf_init_set_d_type( ( libgmp_lib.undecorated_names["extern void __gmpf_init_set_d(mpf_ptr arg0, double arg1) [free function]"], libgmp_lib ) )
+
+gmpz_jacobi_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_jacobi = gmpz_jacobi_type( ( libgmp_lib.undecorated_names["extern int __gmpz_jacobi(mpz_srcptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpf_set_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_set_ui = gmpf_set_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_ui(mpf_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_get_d_2exp_type = ctypes.CFUNCTYPE( ctypes.c_double, ctypes.POINTER( ctypes.c_long ), ctypes.POINTER( __mpf_struct )  )
+gmpf_get_d_2exp = gmpf_get_d_2exp_type( ( libgmp_lib.undecorated_names["extern double __gmpf_get_d_2exp(long int * arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpf_init_set_si_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_long  )
+gmpf_init_set_si = gmpf_init_set_si_type( ( libgmp_lib.undecorated_names["extern void __gmpf_init_set_si(mpf_ptr arg0, long int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_random2_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_long, ctypes.c_long  )
+gmpf_random2 = gmpf_random2_type( ( libgmp_lib.undecorated_names["extern void __gmpf_random2(mpf_ptr arg0, mp_size_t arg1, mp_exp_t arg2) [free function]"], libgmp_lib ) )
+
+gmpf_init_set_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_init_set_ui = gmpf_init_set_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_init_set_ui(mpf_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpq_swap_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_swap = gmpq_swap_type( ( libgmp_lib.undecorated_names["extern void __gmpq_swap(mpq_ptr arg0, mpq_ptr arg1) [free function]"], libgmp_lib ) )
+
+gmpq_clear_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct )  )
+gmpq_clear = gmpq_clear_type( ( libgmp_lib.undecorated_names["extern void __gmpq_clear(mpq_ptr arg0) [free function]"], libgmp_lib ) )
+
+gmpn_mul_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_mul = gmpn_mul_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_mul(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_srcptr arg3, mp_size_t arg4) [free function]"], libgmp_lib ) )
+
+gmpz_ior_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_ior = gmpz_ior_type( ( libgmp_lib.undecorated_names["extern void __gmpz_ior(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpq_cmp_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_cmp = gmpq_cmp_type( ( libgmp_lib.undecorated_names["extern int __gmpq_cmp(mpq_srcptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_cdiv_r_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_cdiv_r = gmpz_cdiv_r_type( ( libgmp_lib.undecorated_names["extern void __gmpz_cdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpn_divrem_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_divrem_1 = gmpn_divrem_1_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_divrem_1(mp_ptr arg0, mp_size_t arg1, mp_srcptr arg2, mp_size_t arg3, mp_limb_t arg4) [free function]"], libgmp_lib ) )
+
+gmpf_pow_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_pow_ui = gmpf_pow_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_pow_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_sizeinbase_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpz_struct ), ctypes.c_int  )
+gmpz_sizeinbase = gmpz_sizeinbase_type( ( libgmp_lib.undecorated_names["extern size_t __gmpz_sizeinbase(mpz_srcptr arg0, int arg1) [free function]"], libgmp_lib ) )
+
+gmpn_submul_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_submul_1 = gmpn_submul_1_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_submul_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]"], libgmp_lib ) )
+
+gmpz_invert_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_invert = gmpz_invert_type( ( libgmp_lib.undecorated_names["extern int __gmpz_invert(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_inp_str_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( _IO_FILE ), ctypes.c_int  )
+gmpf_inp_str = gmpf_inp_str_type( ( libgmp_lib.undecorated_names["extern size_t __gmpf_inp_str(mpf_ptr arg0, FILE * arg1, int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_init_set_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_init_set_ui = gmpz_init_set_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_init_set_ui(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_powm_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_powm = gmpz_powm_type( ( libgmp_lib.undecorated_names["extern void __gmpz_powm(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]"], libgmp_lib ) )
+
+gmpf_set_prec_raw_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_set_prec_raw = gmpf_set_prec_raw_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_prec_raw(mpf_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_cmp_si_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ), ctypes.c_long  )
+gmpf_cmp_si = gmpf_cmp_si_type( ( libgmp_lib.undecorated_names["extern int __gmpf_cmp_si(mpf_srcptr arg0, long int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_get_d_type = ctypes.CFUNCTYPE( ctypes.c_double, ctypes.POINTER( __mpz_struct )  )
+gmpz_get_d = gmpz_get_d_type( ( libgmp_lib.undecorated_names["extern double __gmpz_get_d(mpz_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_cdiv_q_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_cdiv_q_2exp = gmpz_cdiv_q_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_cdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_div_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_div = gmpf_div_type( ( libgmp_lib.undecorated_names["extern void __gmpf_div(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmp_urandomm_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong  )
+gmp_urandomm_ui = gmp_urandomm_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmp_urandomm_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpn_gcd_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_gcd_1 = gmpn_gcd_1_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_gcd_1(mp_srcptr arg0, mp_size_t arg1, mp_limb_t arg2) [free function]"], libgmp_lib ) )
+
+gmpn_sub_n_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_sub_n = gmpn_sub_n_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_sub_n(mp_ptr arg0, mp_srcptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]"], libgmp_lib ) )
+
+gmpz_setbit_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_setbit = gmpz_setbit_type( ( libgmp_lib.undecorated_names["extern void __gmpz_setbit(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_lucnum2_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_lucnum2_ui = gmpz_lucnum2_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_lucnum2_ui(mpz_ptr arg0, mpz_ptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_remove_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_remove = gmpz_remove_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_remove(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpq_mul_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.c_ulong  )
+gmpq_mul_2exp = gmpq_mul_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpq_mul_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_gcd_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_gcd_ui = gmpz_gcd_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_gcd_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpn_popcount_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_popcount = gmpn_popcount_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpn_popcount(mp_srcptr arg0, mp_size_t arg1) [free function]"], libgmp_lib ) )
+
+gmpz_init_set_str_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_char_p, ctypes.c_int  )
+gmpz_init_set_str = gmpz_init_set_str_type( ( libgmp_lib.undecorated_names["extern int __gmpz_init_set_str(mpz_ptr arg0, char const * arg1, int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_cmp_d_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_double  )
+gmpz_cmp_d = gmpz_cmp_d_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmp_d(mpz_srcptr arg0, double arg1) [free function]"], libgmp_lib ) )
+
+gmpz_xor_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_xor = gmpz_xor_type( ( libgmp_lib.undecorated_names["extern void __gmpz_xor(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_fits_sint_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct )  )
+gmpf_fits_sint_p = gmpf_fits_sint_p_type( ( libgmp_lib.undecorated_names["extern int __gmpf_fits_sint_p(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_cdiv_q_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_cdiv_q = gmpz_cdiv_q_type( ( libgmp_lib.undecorated_names["extern void __gmpz_cdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_sqrtrem_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_sqrtrem = gmpz_sqrtrem_type( ( libgmp_lib.undecorated_names["extern void __gmpz_sqrtrem(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_mul_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_mul = gmpz_mul_type( ( libgmp_lib.undecorated_names["extern void __gmpz_mul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpn_tdiv_qr_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_tdiv_qr = gmpn_tdiv_qr_type( ( libgmp_lib.undecorated_names["extern void __gmpn_tdiv_qr(mp_ptr arg0, mp_ptr arg1, mp_size_t arg2, mp_srcptr arg3, mp_size_t arg4, mp_srcptr arg5, mp_size_t arg6) [free function]"], libgmp_lib ) )
+
+gmpz_tdiv_qr_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_tdiv_qr = gmpz_tdiv_qr_type( ( libgmp_lib.undecorated_names["extern void __gmpz_tdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]"], libgmp_lib ) )
+
+gmpn_perfect_square_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_perfect_square_p = gmpn_perfect_square_p_type( ( libgmp_lib.undecorated_names["extern int __gmpn_perfect_square_p(mp_srcptr arg0, mp_size_t arg1) [free function]"], libgmp_lib ) )
+
+gmpf_get_prec_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpf_struct )  )
+gmpf_get_prec = gmpf_get_prec_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpf_get_prec(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_get_si_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( __mpz_struct )  )
+gmpz_get_si = gmpz_get_si_type( ( libgmp_lib.undecorated_names["extern long int __gmpz_get_si(mpz_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpf_set_default_prec_type = ctypes.CFUNCTYPE( None, ctypes.c_ulong  )
+gmpf_set_default_prec = gmpf_set_default_prec_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_default_prec(long unsigned int arg0) [free function]"], libgmp_lib ) )
+
+gmp_urandomb_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong  )
+gmp_urandomb_ui = gmp_urandomb_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmp_urandomb_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_init_set_str_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ), ctypes.c_char_p, ctypes.c_int  )
+gmpf_init_set_str = gmpf_init_set_str_type( ( libgmp_lib.undecorated_names["extern int __gmpf_init_set_str(mpf_ptr arg0, char const * arg1, int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_tstbit_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_tstbit = gmpz_tstbit_type( ( libgmp_lib.undecorated_names["extern int __gmpz_tstbit(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_fits_sint_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_fits_sint_p = gmpz_fits_sint_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_fits_sint_p(mpz_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_urandomb_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong  )
+gmpz_urandomb = gmpz_urandomb_type( ( libgmp_lib.undecorated_names["extern void __gmpz_urandomb(mpz_ptr arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_urandomm_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __gmp_randstate_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_urandomm = gmpz_urandomm_type( ( libgmp_lib.undecorated_names["extern void __gmpz_urandomm(mpz_ptr arg0, __gmp_randstate_struct * arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_set_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_set = gmpf_set_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpf_reldiff_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_reldiff = gmpf_reldiff_type( ( libgmp_lib.undecorated_names["extern void __gmpf_reldiff(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_gcd_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_gcd = gmpz_gcd_type( ( libgmp_lib.undecorated_names["extern void __gmpz_gcd(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_set_d_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_double  )
+gmpz_set_d = gmpz_set_d_type( ( libgmp_lib.undecorated_names["extern void __gmpz_set_d(mpz_ptr arg0, double arg1) [free function]"], libgmp_lib ) )
+
+gmpz_set_f_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpz_set_f = gmpz_set_f_type( ( libgmp_lib.undecorated_names["extern void __gmpz_set_f(mpz_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_set_q_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpz_set_q = gmpz_set_q_type( ( libgmp_lib.undecorated_names["void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]"], libgmp_lib ) )
+
+gmpn_addmul_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_addmul_1 = gmpn_addmul_1_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_addmul_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]"], libgmp_lib ) )
+
+gmpz_millerrabin_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_int  )
+gmpz_millerrabin = gmpz_millerrabin_type( ( libgmp_lib.undecorated_names["extern int __gmpz_millerrabin(mpz_srcptr arg0, int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_init2_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_init2 = gmpz_init2_type( ( libgmp_lib.undecorated_names["extern void __gmpz_init2(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_eq_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_eq = gmpf_eq_type( ( libgmp_lib.undecorated_names["extern int __gmpf_eq(mpf_srcptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpn_lshift_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_uint  )
+gmpn_lshift = gmpn_lshift_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_lshift(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, unsigned int arg3) [free function]"], libgmp_lib ) )
+
+gmpn_divrem_2_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong )  )
+gmpn_divrem_2 = gmpn_divrem_2_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_divrem_2(mp_ptr arg0, mp_size_t arg1, mp_ptr arg2, mp_size_t arg3, mp_srcptr arg4) [free function]"], libgmp_lib ) )
+
+gmpf_fits_ushort_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct )  )
+gmpf_fits_ushort_p = gmpf_fits_ushort_p_type( ( libgmp_lib.undecorated_names["extern int __gmpf_fits_ushort_p(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_init_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct )  )
+gmpz_init = gmpz_init_type( ( libgmp_lib.undecorated_names["extern void __gmpz_init(mpz_ptr arg0) [free function]"], libgmp_lib ) )
+
+gmpf_init_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct )  )
+gmpf_init = gmpf_init_type( ( libgmp_lib.undecorated_names["extern void __gmpf_init(mpf_ptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_out_str_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( _IO_FILE ), ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_out_str = gmpz_out_str_type( ( libgmp_lib.undecorated_names["extern size_t __gmpz_out_str(FILE * arg0, int arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_swap_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_swap = gmpz_swap_type( ( libgmp_lib.undecorated_names["extern void __gmpz_swap(mpz_ptr arg0, mpz_ptr arg1) [free function]"], libgmp_lib ) )
+
+gmpf_div_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_div_2exp = gmpf_div_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpf_div_2exp(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_cmpabs_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_cmpabs = gmpz_cmpabs_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmpabs(mpz_srcptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpq_inp_str_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( _IO_FILE ), ctypes.c_int  )
+gmpq_inp_str = gmpq_inp_str_type( ( libgmp_lib.undecorated_names["extern size_t __gmpq_inp_str(mpq_ptr arg0, FILE * arg1, int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_get_str_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int, ctypes.POINTER( __mpq_struct )  )
+gmpq_get_str = gmpq_get_str_type( ( libgmp_lib.undecorated_names["extern char * __gmpq_get_str(char * arg0, int arg1, mpq_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_abs_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_abs = gmpf_abs_type( ( libgmp_lib.undecorated_names["extern void __gmpf_abs(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_fdiv_q_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_fdiv_q_2exp = gmpz_fdiv_q_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_fdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpn_preinv_mod_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong, ctypes.c_ulong  )
+gmpn_preinv_mod_1 = gmpn_preinv_mod_1_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_preinv_mod_1(mp_srcptr arg0, mp_size_t arg1, mp_limb_t arg2, mp_limb_t arg3) [free function]"], libgmp_lib ) )
+
+gmpf_add_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_add = gmpf_add_type( ( libgmp_lib.undecorated_names["extern void __gmpf_add(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpn_cmp_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_cmp = gmpn_cmp_type( ( libgmp_lib.undecorated_names["int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) [free function]"], libgmp_lib ) )
+
+gmpz_bin_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_bin_ui = gmpz_bin_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_bin_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_sub_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_sub = gmpf_sub_type( ( libgmp_lib.undecorated_names["extern void __gmpf_sub(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_gcdext_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_gcdext = gmpz_gcdext_type( ( libgmp_lib.undecorated_names["extern void __gmpz_gcdext(mpz_ptr arg0, mpz_ptr arg1, mpz_ptr arg2, mpz_srcptr arg3, mpz_srcptr arg4) [free function]"], libgmp_lib ) )
+
+gmpz_cdiv_qr_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_cdiv_qr = gmpz_cdiv_qr_type( ( libgmp_lib.undecorated_names["extern void __gmpz_cdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]"], libgmp_lib ) )
+
+gmpz_realloc_type = ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( __mpz_struct ), ctypes.c_long  )
+gmpz_realloc = gmpz_realloc_type( ( libgmp_lib.undecorated_names["extern void * __gmpz_realloc(mpz_ptr arg0, mp_size_t arg1) [free function]"], libgmp_lib ) )
+
+gmpn_divexact_by3c_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_divexact_by3c = gmpn_divexact_by3c_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_divexact_by3c(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]"], libgmp_lib ) )
+
+gmpn_mul_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong  )
+gmpn_mul_1 = gmpn_mul_1_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_mul_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]"], libgmp_lib ) )
+
+gmpz_cdiv_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_cdiv_ui = gmpz_cdiv_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_cdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_get_d_type = ctypes.CFUNCTYPE( ctypes.c_double, ctypes.POINTER( __mpf_struct )  )
+gmpf_get_d = gmpf_get_d_type( ( libgmp_lib.undecorated_names["extern double __gmpf_get_d(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_fdiv_qr_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_fdiv_qr_ui = gmpz_fdiv_qr_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_fdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_lib ) )
+
+gmpq_div_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_div = gmpq_div_type( ( libgmp_lib.undecorated_names["extern void __gmpq_div(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_fits_ulong_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_fits_ulong_p = gmpz_fits_ulong_p_type( ( libgmp_lib.undecorated_names["int __gmpz_fits_ulong_p(mpz_srcptr __gmp_z) [free function]"], libgmp_lib ) )
+
+gmpz_fits_uint_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_fits_uint_p = gmpz_fits_uint_p_type( ( libgmp_lib.undecorated_names["int __gmpz_fits_uint_p(mpz_srcptr __gmp_z) [free function]"], libgmp_lib ) )
+
+gmpz_fac_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_fac_ui = gmpz_fac_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_fac_ui(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_swap_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_swap = gmpf_swap_type( ( libgmp_lib.undecorated_names["extern void __gmpf_swap(mpf_ptr arg0, mpf_ptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_init_set_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_init_set = gmpz_init_set_type( ( libgmp_lib.undecorated_names["extern void __gmpz_init_set(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_lcm_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_lcm_ui = gmpz_lcm_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_lcm_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpn_gcd_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_gcd = gmpn_gcd_type( ( libgmp_lib.undecorated_names["extern mp_size_t __gmpn_gcd(mp_ptr arg0, mp_ptr arg1, mp_size_t arg2, mp_ptr arg3, mp_size_t arg4) [free function]"], libgmp_lib ) )
+
+gmpz_addmul_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_addmul_ui = gmpz_addmul_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_addmul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_trunc_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_trunc = gmpf_trunc_type( ( libgmp_lib.undecorated_names["extern void __gmpf_trunc(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_fits_slong_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_fits_slong_p = gmpz_fits_slong_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_fits_slong_p(mpz_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpf_floor_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct )  )
+gmpf_floor = gmpf_floor_type( ( libgmp_lib.undecorated_names["extern void __gmpf_floor(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpf_out_str_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( _IO_FILE ), ctypes.c_int, ctypes.c_uint, ctypes.POINTER( __mpf_struct )  )
+gmpf_out_str = gmpf_out_str_type( ( libgmp_lib.undecorated_names["extern size_t __gmpf_out_str(FILE * arg0, int arg1, size_t arg2, mpf_srcptr arg3) [free function]"], libgmp_lib ) )
+
+gmpn_divrem_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_divrem = gmpn_divrem_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_divrem(mp_ptr arg0, mp_size_t arg1, mp_ptr arg2, mp_size_t arg3, mp_srcptr arg4, mp_size_t arg5) [free function]"], libgmp_lib ) )
+
+gmpz_set_si_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_long  )
+gmpz_set_si = gmpz_set_si_type( ( libgmp_lib.undecorated_names["extern void __gmpz_set_si(mpz_ptr arg0, long int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_combit_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_combit = gmpz_combit_type( ( libgmp_lib.undecorated_names["extern void __gmpz_combit(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_clrbit_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_clrbit = gmpz_clrbit_type( ( libgmp_lib.undecorated_names["extern void __gmpz_clrbit(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_fits_ulong_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct )  )
+gmpf_fits_ulong_p = gmpf_fits_ulong_p_type( ( libgmp_lib.undecorated_names["extern int __gmpf_fits_ulong_p(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpf_fits_uint_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct )  )
+gmpf_fits_uint_p = gmpf_fits_uint_p_type( ( libgmp_lib.undecorated_names["extern int __gmpf_fits_uint_p(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_set_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_set_ui = gmpz_set_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_set_ui(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_cmp_d_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ), ctypes.c_double  )
+gmpf_cmp_d = gmpf_cmp_d_type( ( libgmp_lib.undecorated_names["extern int __gmpf_cmp_d(mpf_srcptr arg0, double arg1) [free function]"], libgmp_lib ) )
+
+gmpz_scan0_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_scan0 = gmpz_scan0_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_scan0(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_scan1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_scan1 = gmpz_scan1_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_scan1(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_fdiv_r_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_fdiv_r_ui = gmpz_fdiv_r_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_fdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_divexact_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_divexact_ui = gmpz_divexact_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_divexact_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_fdiv_r_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_fdiv_r_2exp = gmpz_fdiv_r_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_fdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_tdiv_q_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_tdiv_q_2exp = gmpz_tdiv_q_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_tdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_lucnum_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_lucnum_ui = gmpz_lucnum_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_lucnum_ui(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_fits_slong_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct )  )
+gmpf_fits_slong_p = gmpf_fits_slong_p_type( ( libgmp_lib.undecorated_names["extern int __gmpf_fits_slong_p(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_neg_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_neg = gmpz_neg_type( ( libgmp_lib.undecorated_names["void __gmpz_neg(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) [free function]"], libgmp_lib ) )
+
+gmpq_init_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct )  )
+gmpq_init = gmpq_init_type( ( libgmp_lib.undecorated_names["extern void __gmpq_init(mpq_ptr arg0) [free function]"], libgmp_lib ) )
+
+gmpn_sqrtrem_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long  )
+gmpn_sqrtrem = gmpn_sqrtrem_type( ( libgmp_lib.undecorated_names["extern mp_size_t __gmpn_sqrtrem(mp_ptr arg0, mp_ptr arg1, mp_srcptr arg2, mp_size_t arg3) [free function]"], libgmp_lib ) )
+
+gmpz_com_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_com = gmpz_com_type( ( libgmp_lib.undecorated_names["extern void __gmpz_com(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_divisible_2exp_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_divisible_2exp_p = gmpz_divisible_2exp_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_divisible_2exp_p(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_perfect_power_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_perfect_power_p = gmpz_perfect_power_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_perfect_power_p(mpz_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_cmp_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_cmp = gmpz_cmp_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmp(mpz_srcptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_dump_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct )  )
+gmpz_dump = gmpz_dump_type( ( libgmp_lib.undecorated_names["extern void __gmpz_dump(mpz_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_init_set_si_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_long  )
+gmpz_init_set_si = gmpz_init_set_si_type( ( libgmp_lib.undecorated_names["extern void __gmpz_init_set_si(mpz_ptr arg0, long int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_mul_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_mul_ui = gmpf_mul_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_mul_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpq_set_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_set = gmpq_set_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set(mpq_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpq_equal_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_equal = gmpq_equal_type( ( libgmp_lib.undecorated_names["extern int __gmpq_equal(mpq_srcptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_pow_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_pow_ui = gmpz_pow_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_pow_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_sub_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_sub_ui = gmpf_sub_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_sub_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpz_realloc2_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_realloc2 = gmpz_realloc2_type( ( libgmp_lib.undecorated_names["extern void __gmpz_realloc2(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpq_abs_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct )  )
+gmpq_abs = gmpq_abs_type( ( libgmp_lib.undecorated_names["void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]"], libgmp_lib ) )
+
+gmpf_set_d_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_double  )
+gmpf_set_d = gmpf_set_d_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_d(mpf_ptr arg0, double arg1) [free function]"], libgmp_lib ) )
+
+gmpz_si_kronecker_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.c_long, ctypes.POINTER( __mpz_struct )  )
+gmpz_si_kronecker = gmpz_si_kronecker_type( ( libgmp_lib.undecorated_names["extern int __gmpz_si_kronecker(long int arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) )
+
+gmpz_array_init_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_long, ctypes.c_long  )
+gmpz_array_init = gmpz_array_init_type( ( libgmp_lib.undecorated_names["extern void __gmpz_array_init(mpz_ptr arg0, mp_size_t arg1, mp_size_t arg2) [free function]"], libgmp_lib ) )
+
+gmpz_fits_sshort_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct )  )
+gmpz_fits_sshort_p = gmpz_fits_sshort_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_fits_sshort_p(mpz_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_kronecker_si_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_long  )
+gmpz_kronecker_si = gmpz_kronecker_si_type( ( libgmp_lib.undecorated_names["extern int __gmpz_kronecker_si(mpz_srcptr arg0, long int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_init2_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_init2 = gmpf_init2_type( ( libgmp_lib.undecorated_names["extern void __gmpf_init2(mpf_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_kronecker_ui_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_kronecker_ui = gmpz_kronecker_ui_type( ( libgmp_lib.undecorated_names["extern int __gmpz_kronecker_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpf_cmp_ui_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_cmp_ui = gmpf_cmp_ui_type( ( libgmp_lib.undecorated_names["extern int __gmpf_cmp_ui(mpf_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) )
+
+gmpz_fdiv_q_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_fdiv_q = gmpz_fdiv_q_type( ( libgmp_lib.undecorated_names["extern void __gmpz_fdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpz_fdiv_r_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct )  )
+gmpz_fdiv_r = gmpz_fdiv_r_type( ( libgmp_lib.undecorated_names["extern void __gmpz_fdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) )
+
+gmpf_dump_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct )  )
+gmpf_dump = gmpf_dump_type( ( libgmp_lib.undecorated_names["extern void __gmpf_dump(mpf_srcptr arg0) [free function]"], libgmp_lib ) )
+
+gmpz_tdiv_r_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong  )
+gmpz_tdiv_r_2exp = gmpz_tdiv_r_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_tdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
+
+gmpf_add_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong  )
+gmpf_add_ui = gmpf_add_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_add_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) )
diff --git a/examples/gmplib_dev/pygmplib/ctypes_utils.py b/examples/gmplib_dev/pygmplib/ctypes_utils.py
new file mode 100644
index 0000000..d2cdcec
--- /dev/null
+++ b/examples/gmplib_dev/pygmplib/ctypes_utils.py
@@ -0,0 +1,135 @@
+# This file has been generated by Py++.
+
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import ctypes
+
+# what is the best way to treat overloaded constructors
+class native_callable( object ):
+    def __init__(self, dll, name, restype=None, argtypes=None ):
+        self.name = name
+        self.func = getattr( dll, dll.undecorated_names[name] )
+        self.func.restype = restype
+        self.func.argtypes = argtypes
+
+    def __call__(self, *args, **keywd ):
+        return self.func( *args,  **keywd )
+
+class native_overloaded_callable( object ):
+    def __init__(self, functions ):
+        self.__functions = functions
+
+    def __call__( self, *args ):
+        types = None
+        if args:
+            types = tuple(arg.__class__ for arg in args)
+        f = self.__functions.get(types)
+        if f is None:
+            msg = ['Unable to find a function that match the arguments you passed.']
+            msg.append( 'First argument type is "this" type.' )
+            msg.append( 'This function call argument types: ' + str( types ) )
+            msg.append( 'Registered methods argument types: ' )
+            for key in self.__functions.iterkeys():
+                msg.append('    ' + str(key))
+            raise TypeError(os.linesep.join(msg))
+        else:
+            return f(*args)
+
+class multi_method_registry_t:
+    def __init__( self, factory, restype ):
+        self.factory = factory
+        self.restype = restype
+        self.__functions = {}
+
+    def register( self, callable_or_name, argtypes=None ):
+        if isinstance( callable_or_name, native_callable ):
+            callable = callable_or_name
+        else:
+            name = callable_or_name
+            callable = self.factory( name, restype=self.restype, argtypes=argtypes )
+        self.__functions[ tuple(callable.func.argtypes) ] = callable.func
+        return self
+
+    def finalize(self):
+        return native_overloaded_callable( self.__functions )
+
+
+class mem_fun_factory( object ):
+    def __init__( self, dll, wrapper, class_name, namespace='' ):
+        self.dll = dll
+        self.namespace = namespace
+        self.class_name = class_name
+        self.this_type = ctypes.POINTER( wrapper )
+
+    def __call__( self, name, **keywd ):
+        if 'argtypes' not in keywd or keywd['argtypes'] is None:
+            keywd['argtypes'] = [ self.this_type ]
+        else:
+            keywd['argtypes'].insert( 0, self.this_type )
+        return native_callable( self.dll, name, **keywd )
+
+    def __get_ns_name(self):
+        if self.namespace:
+            return self.namespace + '::'
+        else:
+            return ''
+
+    def default_constructor( self ):
+        return self( '%(ns)s%(class_name)s::%(class_name)s(void)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name ) )
+
+    def constructor( self, argtypes_str, **keywd ):
+        return self( '%(ns)s%(class_name)s::%(class_name)s(%(args)s)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name
+                                , args=argtypes_str )
+                     , **keywd )
+
+    def copy_constructor( self ):
+        return self( '%(ns)s%(class_name)s::%(class_name)s(%(ns)s%(class_name)s const &)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name )
+                     , argtypes=[self.this_type] )
+
+    def destructor( self, is_virtual=False ):
+        virtuality = ''
+        if is_virtual:
+            virtuality = 'virtual '
+        return self( '%(virtuality)s%(ns)s%(class_name)s::~%(class_name)s(void)'
+                        % dict( ns=self.__get_ns_name()
+                                , virtuality=virtuality
+                                , class_name=self.class_name ) )
+
+    def operator_assign( self ):
+        return self( '%(ns)s%(class_name)s & %(class_name)s::operator=(%(class_name)s const &)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name )
+                     , restype=self.this_type
+                     , argtypes=[self.this_type] )
+
+    def method( self, name, restype_str=None, argtypes_str=None, **keywd ):
+        if None is restype_str:
+            restype_str = 'void'
+        if None is argtypes_str:
+            argtypes_str = 'void'
+
+        return self( '%(return_)s %(ns)s%(class_name)s::%(method_name)s(%(args)s)'
+                        % dict( return_=restype_str
+                                , ns=self.__get_ns_name()
+                                , class_name=self.class_name
+                                , method_name=name
+                                , args=argtypes_str )
+                     , **keywd )
+
+    def multi_method( self, restype=None ):
+        return multi_method_registry_t( self, restype )
+
+
+#take a look on http://code.activestate.com/recipes/413486/
+Enumeration = ctypes.c_int
+
diff --git a/examples/gmplib_dev/test.py b/examples/gmplib_dev/test.py
new file mode 100644
index 0000000..961c56f
--- /dev/null
+++ b/examples/gmplib_dev/test.py
@@ -0,0 +1,17 @@
+import ctypes
+import pygmplib as gmp
+
+print 'gmp version: ', gmp.gmp_version.value
+
+integ1 = ctypes.pointer( gmp.__mpz_struct() )
+integ2 = ctypes.pointer( gmp.__mpz_struct() )
+
+gmp.gmpz_init_set_ui( integ1, ctypes.c_ulong( 1900 ) )
+print 'integ1 : ', gmp.gmpz_get_si( integ1 )
+gmp.gmpz_init_set_ui( integ2, ctypes.c_ulong( 77 ) )
+print 'integ2 : ', gmp.gmpz_get_si( integ2 )
+
+gmp.gmpz_add( integ1, integ1, integ2 )
+
+print 'integ1 : ', gmp.gmpz_get_si( integ1 )
+
diff --git a/examples/libmemcached_dev/dev/generate_code.py b/examples/libmemcached_dev/dev/generate_code.py
new file mode 100644
index 0000000..5531be1
--- /dev/null
+++ b/examples/libmemcached_dev/dev/generate_code.py
@@ -0,0 +1,39 @@
+import os
+import sys
+
+import project_env
+
+from pygccxml import utils
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus.module_builder import ctypes_module_builder_t
+
+
+gccxml_cfg = parser.gccxml_configuration_t( gccxml_path=project_env.settings.gccxml_path
+                                            , include_paths=project_env.libmemcached.include_paths)
+
+mb = ctypes_module_builder_t( [project_env.libmemcached.header_file]
+                              , project_env.libmemcached.symbols_file, gccxml_cfg )
+
+#there is a bug in the code generator
+has_varargs = lambda f: f.arguments \
+                        and isinstance( f.arguments[-1].type, declarations.ellipsis_t )
+
+mb.calldefs( has_varargs ).exclude()
+
+#libmemcached uses strange convention: every function name starts with __gmp and than, it
+#introduces define, which aliass __gmpy to gmpy
+#for f in mb.calldefs( lambda x: x.name.startswith('__gmp') ):
+#    f.alias = f.name[2:]
+
+#for v in mb.vars( lambda x: x.name.startswith( '__gmp' ) ):
+#    v.alias = v.name[2:]
+
+#those structs are private implementation of FILE
+#mb.class_( '_IO_FILE' ).opaque = True
+#mb.class_( '_IO_marker' ).opaque = True
+
+
+mb.build_code_creator( project_env.libmemcached.shared_library_file )
+mb.write_module( os.path.join( project_env.libmemcached.generated_code_dir, '__init__.py' ) )
+
diff --git a/examples/libmemcached_dev/dev/project_env.py b/examples/libmemcached_dev/dev/project_env.py
new file mode 100644
index 0000000..e4b98fb
--- /dev/null
+++ b/examples/libmemcached_dev/dev/project_env.py
@@ -0,0 +1,14 @@
+import os
+import sys
+sys.path.append( os.path.join( '..', '..' ) )
+
+from environment import settings, complete_path
+
+clib_sources = complete_path( 'pyplusplus_dev', 'examples', 'libmemcached_dev', 'libmemcached-0.31' )
+
+class libmemcached:
+    include_paths = [ clib_sources ]
+    header_file = os.path.join( clib_sources, 'libmemcached/memcached.h' )
+    symbols_file = os.path.join( clib_sources, 'libmemcached/.libs/libmemcached.so' )
+    shared_library_file = os.path.join( clib_sources, 'libmemcached/.libs/libmemcached.so' )
+    generated_code_dir = complete_path( 'pyplusplus_dev', 'examples', 'libmemcached_dev', 'pymemcached' )
diff --git a/examples/libmemcached_dev/libmemcached-0.31.tar.gz b/examples/libmemcached_dev/libmemcached-0.31.tar.gz
new file mode 100644
index 0000000..46035ac
Binary files /dev/null and b/examples/libmemcached_dev/libmemcached-0.31.tar.gz differ
diff --git a/examples/libmemcached_dev/pymemcached/__init__.py b/examples/libmemcached_dev/pymemcached/__init__.py
new file mode 100644
index 0000000..210de22
--- /dev/null
+++ b/examples/libmemcached_dev/pymemcached/__init__.py
@@ -0,0 +1,686 @@
+# This file has been generated by Py++.
+
+import ctypes
+
+import ctypes_utils
+
+libmemcached_lib = ctypes.CDLL( r"/home/roman/language-binding/sources/pyplusplus_dev/examples/libmemcached_dev/libmemcached-0.31/libmemcached/.libs/libmemcached.so" )
+
+libmemcached_lib.undecorated_names = {#mapping between decorated and undecorated names
+    "extern memcached_return memcached_decrement(memcached_st * ptr, char const * key, size_t key_length, uint32_t offset, uint64_t * value) [free function]" : "memcached_decrement", 
+    "extern memcached_return memcached_string_reset(memcached_string_st * string) [free function]" : "memcached_string_reset", 
+    "extern uint32_t memcached_generate_hash_value(char const * key, size_t key_length, memcached_hash hash_algorithm) [free function]" : "memcached_generate_hash_value", 
+    "extern memcached_return memcached_decrement_with_initial(memcached_st * ptr, char const * key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t * value) [free function]" : "memcached_decrement_with_initial", 
+    "extern char * * memcached_stat_get_keys(memcached_st * ptr, memcached_stat_st * stat, memcached_return * error) [free function]" : "memcached_stat_get_keys", 
+    "extern memcached_return memcached_append(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_append", 
+    "extern memcached_return memcached_server_add_with_weight(memcached_st * ptr, char const * hostname, unsigned int port, uint32_t weight) [free function]" : "memcached_server_add_with_weight", 
+    "extern memcached_return memcached_dump(memcached_st * ptr, memcached_dump_func * function, void * context, uint32_t number_of_callbacks) [free function]" : "memcached_dump", 
+    "extern memcached_return memcached_server_push(memcached_st * ptr, memcached_server_st * list) [free function]" : "memcached_server_push", 
+    "extern memcached_return memcached_result_set_value(memcached_result_st * ptr, char * value, size_t length) [free function]" : "memcached_result_set_value", 
+    "extern memcached_return memcached_replace_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_replace_by_key", 
+    "extern memcached_return memcached_server_add_udp(memcached_st * ptr, char const * hostname, unsigned int port) [free function]" : "memcached_server_add_udp", 
+    "extern memcached_server_st * memcached_servers_parse(char const * server_strings) [free function]" : "memcached_servers_parse", 
+    "extern memcached_return memcached_set_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_set_by_key", 
+    "extern uint64_t memcached_behavior_get(memcached_st * ptr, memcached_behavior flag) [free function]" : "memcached_behavior_get", 
+    "extern char * memcached_fetch(memcached_st * ptr, char * key, size_t * key_length, size_t * value_length, uint32_t * flags, memcached_return * error) [free function]" : "memcached_fetch", 
+    "extern memcached_st * memcached_create(memcached_st * ptr) [free function]" : "memcached_create", 
+    "extern memcached_return memcached_replace(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_replace", 
+    "extern memcached_return memcached_callback_set(memcached_st * ptr, memcached_callback flag, void * data) [free function]" : "memcached_callback_set", 
+    "extern char * memcached_result_value(memcached_result_st * ptr) [free function]" : "memcached_result_value", 
+    "extern void memcached_result_free(memcached_result_st * result) [free function]" : "memcached_result_free", 
+    "extern memcached_server_st * memcached_server_create_with(memcached_st * memc, memcached_server_st * host, char const * hostname, unsigned int port, uint32_t weight, memcached_connection type) [free function]" : "memcached_server_create_with", 
+    "extern memcached_return memcached_verbosity(memcached_st * ptr, unsigned int verbosity) [free function]" : "memcached_verbosity", 
+    "extern void memcached_free(memcached_st * ptr) [free function]" : "memcached_free", 
+    "extern memcached_return memcached_mget_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char * * keys, size_t * key_length, unsigned int number_of_keys) [free function]" : "memcached_mget_by_key", 
+    "extern memcached_return memcached_version(memcached_st * ptr) [free function]" : "memcached_version", 
+    "extern void memcached_result_reset(memcached_result_st * ptr) [free function]" : "memcached_result_reset", 
+    "extern void memcached_quit(memcached_st * ptr) [free function]" : "memcached_quit", 
+    "extern memcached_analysis_st * memcached_analyze(memcached_st * memc, memcached_stat_st * stat, memcached_return * error) [free function]" : "memcached_analyze", 
+    "extern memcached_return memcached_fetch_execute(memcached_st * ptr, memcached_execute_function * callback, void * context, unsigned int number_of_callbacks) [free function]" : "memcached_fetch_execute", 
+    "extern memcached_return memcached_prepend_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_prepend_by_key", 
+    "extern char const * memcached_lib_version() [free function]" : "memcached_lib_version", 
+    "extern memcached_return memcached_server_remove(memcached_server_st * st_ptr) [free function]" : "memcached_server_remove", 
+    "extern memcached_return memcached_delete_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, time_t expiration) [free function]" : "memcached_delete_by_key", 
+    "extern uint32_t memcached_generate_hash(memcached_st * ptr, char const * key, size_t key_length) [free function]" : "memcached_generate_hash", 
+    "extern memcached_return memcached_set_memory_allocators(memcached_st * ptr, memcached_malloc_function mem_malloc, memcached_free_function mem_free, memcached_realloc_function mem_realloc, memcached_calloc_function mem_calloc) [free function]" : "memcached_set_memory_allocators", 
+    "extern memcached_return memcached_prepend(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_prepend", 
+    "extern void memcached_server_list_free(memcached_server_st * ptr) [free function]" : "memcached_server_list_free", 
+    "extern memcached_return memcached_add(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_add", 
+    "extern memcached_return memcached_flush(memcached_st * ptr, time_t expiration) [free function]" : "memcached_flush", 
+    "extern memcached_return memcached_string_append_character(memcached_string_st * string, char character) [free function]" : "memcached_string_append_character", 
+    "extern memcached_st * memcached_clone(memcached_st * clone, memcached_st * ptr) [free function]" : "memcached_clone", 
+    "extern memcached_return memcached_server_add_udp_with_weight(memcached_st * ptr, char const * hostname, unsigned int port, uint32_t weight) [free function]" : "memcached_server_add_udp_with_weight", 
+    "extern char * memcached_string_c_copy(memcached_string_st * string) [free function]" : "memcached_string_c_copy", 
+    "extern memcached_return memcached_string_append(memcached_string_st * string, char * value, size_t length) [free function]" : "memcached_string_append", 
+    "extern memcached_stat_st * memcached_stat(memcached_st * ptr, char * args, memcached_return * error) [free function]" : "memcached_stat", 
+    "extern char * memcached_get(memcached_st * ptr, char const * key, size_t key_length, size_t * value_length, uint32_t * flags, memcached_return * error) [free function]" : "memcached_get", 
+    "extern memcached_server_st * memcached_server_list_append(memcached_server_st * ptr, char const * hostname, unsigned int port, memcached_return * error) [free function]" : "memcached_server_list_append", 
+    "extern memcached_return memcached_server_cursor(memcached_st * ptr, memcached_server_function * callback, void * context, unsigned int number_of_callbacks) [free function]" : "memcached_server_cursor", 
+    "extern memcached_server_st * memcached_server_clone(memcached_server_st * clone, memcached_server_st * ptr) [free function]" : "memcached_server_clone", 
+    "extern memcached_result_st * memcached_result_create(memcached_st * ptr, memcached_result_st * result) [free function]" : "memcached_result_create", 
+    "extern memcached_server_st * memcached_server_list_append_with_weight(memcached_server_st * ptr, char const * hostname, unsigned int port, uint32_t weight, memcached_return * error) [free function]" : "memcached_server_list_append_with_weight", 
+    "extern memcached_return memcached_set(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_set", 
+    "extern void memcached_server_free(memcached_server_st * ptr) [free function]" : "memcached_server_free", 
+    "extern void memcached_stat_free(memcached_st * arg0, memcached_stat_st * arg1) [free function]" : "memcached_stat_free", 
+    "extern memcached_return memcached_cas_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas) [free function]" : "memcached_cas_by_key", 
+    "extern memcached_return memcached_cas(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas) [free function]" : "memcached_cas", 
+    "extern memcached_return memcached_server_add(memcached_st * ptr, char const * hostname, unsigned int port) [free function]" : "memcached_server_add", 
+    "extern memcached_return memcached_stat_servername(memcached_stat_st * stat, char * args, char * hostname, unsigned int port) [free function]" : "memcached_stat_servername", 
+    "extern memcached_return memcached_add_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_add_by_key", 
+    "extern void * memcached_callback_get(memcached_st * ptr, memcached_callback flag, memcached_return * error) [free function]" : "memcached_callback_get", 
+    "extern memcached_string_st * memcached_string_create(memcached_st * ptr, memcached_string_st * string, size_t initial_size) [free function]" : "memcached_string_create", 
+    "extern memcached_return memcached_server_add_unix_socket_with_weight(memcached_st * ptr, char const * filename, uint32_t weight) [free function]" : "memcached_server_add_unix_socket_with_weight", 
+    "extern char * memcached_get_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, size_t * value_length, uint32_t * flags, memcached_return * error) [free function]" : "memcached_get_by_key", 
+    "extern memcached_return memcached_server_add_unix_socket(memcached_st * ptr, char const * filename) [free function]" : "memcached_server_add_unix_socket", 
+    "extern memcached_server_st * memcached_server_by_key(memcached_st * ptr, char const * key, size_t key_length, memcached_return * error) [free function]" : "memcached_server_by_key", 
+    "extern memcached_return memcached_flush_buffers(memcached_st * mem) [free function]" : "memcached_flush_buffers", 
+    "extern void memcached_get_memory_allocators(memcached_st * ptr, memcached_malloc_function * mem_malloc, memcached_free_function * mem_free, memcached_realloc_function * mem_realloc, memcached_calloc_function * mem_calloc) [free function]" : "memcached_get_memory_allocators", 
+    "extern memcached_return memcached_delete(memcached_st * ptr, char const * key, size_t key_length, time_t expiration) [free function]" : "memcached_delete", 
+    "extern void * memcached_set_user_data(memcached_st * ptr, void * data) [free function]" : "memcached_set_user_data", 
+    "extern memcached_return memcached_increment(memcached_st * ptr, char const * key, size_t key_length, uint32_t offset, uint64_t * value) [free function]" : "memcached_increment", 
+    "extern memcached_return run_distribution(memcached_st * ptr) [free function]" : "run_distribution", 
+    "extern void memcached_string_free(memcached_string_st * string) [free function]" : "memcached_string_free", 
+    "extern memcached_return memcached_append_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]" : "memcached_append_by_key", 
+    "extern memcached_return memcached_string_check(memcached_string_st * string, size_t need) [free function]" : "memcached_string_check", 
+    "extern memcached_return memcached_behavior_set(memcached_st * ptr, memcached_behavior flag, uint64_t data) [free function]" : "memcached_behavior_set", 
+    "extern unsigned int memcached_server_list_count(memcached_server_st * ptr) [free function]" : "memcached_server_list_count", 
+    "extern memcached_return memcached_mget(memcached_st * ptr, char * * keys, size_t * key_length, unsigned int number_of_keys) [free function]" : "memcached_mget", 
+    "extern void * memcached_get_user_data(memcached_st * ptr) [free function]" : "memcached_get_user_data", 
+    "extern memcached_return memcached_increment_with_initial(memcached_st * ptr, char const * key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t * value) [free function]" : "memcached_increment_with_initial", 
+    "extern char * memcached_stat_get_value(memcached_st * ptr, memcached_stat_st * stat, char const * key, memcached_return * error) [free function]" : "memcached_stat_get_value", 
+    "extern memcached_result_st * memcached_fetch_result(memcached_st * ptr, memcached_result_st * result, memcached_return * error) [free function]" : "memcached_fetch_result", 
+    "extern memcached_server_st * memcached_server_create(memcached_st * memc, memcached_server_st * ptr) [free function]" : "memcached_server_create", 
+    "extern size_t memcached_result_length(memcached_result_st * ptr) [free function]" : "memcached_result_length", 
+    "extern char * memcached_strerror(memcached_st * ptr, memcached_return rc) [free function]" : "memcached_strerror", 
+    "memcached_decrement" : "extern memcached_return memcached_decrement(memcached_st * ptr, char const * key, size_t key_length, uint32_t offset, uint64_t * value) [free function]", 
+    "memcached_string_reset" : "extern memcached_return memcached_string_reset(memcached_string_st * string) [free function]", 
+    "memcached_generate_hash_value" : "extern uint32_t memcached_generate_hash_value(char const * key, size_t key_length, memcached_hash hash_algorithm) [free function]", 
+    "memcached_decrement_with_initial" : "extern memcached_return memcached_decrement_with_initial(memcached_st * ptr, char const * key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t * value) [free function]", 
+    "memcached_stat_get_keys" : "extern char * * memcached_stat_get_keys(memcached_st * ptr, memcached_stat_st * stat, memcached_return * error) [free function]", 
+    "memcached_append" : "extern memcached_return memcached_append(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_server_add_with_weight" : "extern memcached_return memcached_server_add_with_weight(memcached_st * ptr, char const * hostname, unsigned int port, uint32_t weight) [free function]", 
+    "memcached_dump" : "extern memcached_return memcached_dump(memcached_st * ptr, memcached_dump_func * function, void * context, uint32_t number_of_callbacks) [free function]", 
+    "memcached_server_push" : "extern memcached_return memcached_server_push(memcached_st * ptr, memcached_server_st * list) [free function]", 
+    "memcached_result_set_value" : "extern memcached_return memcached_result_set_value(memcached_result_st * ptr, char * value, size_t length) [free function]", 
+    "memcached_replace_by_key" : "extern memcached_return memcached_replace_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_server_add_udp" : "extern memcached_return memcached_server_add_udp(memcached_st * ptr, char const * hostname, unsigned int port) [free function]", 
+    "memcached_servers_parse" : "extern memcached_server_st * memcached_servers_parse(char const * server_strings) [free function]", 
+    "memcached_set_by_key" : "extern memcached_return memcached_set_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_behavior_get" : "extern uint64_t memcached_behavior_get(memcached_st * ptr, memcached_behavior flag) [free function]", 
+    "memcached_fetch" : "extern char * memcached_fetch(memcached_st * ptr, char * key, size_t * key_length, size_t * value_length, uint32_t * flags, memcached_return * error) [free function]", 
+    "memcached_create" : "extern memcached_st * memcached_create(memcached_st * ptr) [free function]", 
+    "memcached_replace" : "extern memcached_return memcached_replace(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_callback_set" : "extern memcached_return memcached_callback_set(memcached_st * ptr, memcached_callback flag, void * data) [free function]", 
+    "memcached_result_value" : "extern char * memcached_result_value(memcached_result_st * ptr) [free function]", 
+    "memcached_result_free" : "extern void memcached_result_free(memcached_result_st * result) [free function]", 
+    "memcached_server_create_with" : "extern memcached_server_st * memcached_server_create_with(memcached_st * memc, memcached_server_st * host, char const * hostname, unsigned int port, uint32_t weight, memcached_connection type) [free function]", 
+    "memcached_verbosity" : "extern memcached_return memcached_verbosity(memcached_st * ptr, unsigned int verbosity) [free function]", 
+    "memcached_free" : "extern void memcached_free(memcached_st * ptr) [free function]", 
+    "memcached_mget_by_key" : "extern memcached_return memcached_mget_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char * * keys, size_t * key_length, unsigned int number_of_keys) [free function]", 
+    "memcached_version" : "extern memcached_return memcached_version(memcached_st * ptr) [free function]", 
+    "memcached_result_reset" : "extern void memcached_result_reset(memcached_result_st * ptr) [free function]", 
+    "memcached_quit" : "extern void memcached_quit(memcached_st * ptr) [free function]", 
+    "memcached_analyze" : "extern memcached_analysis_st * memcached_analyze(memcached_st * memc, memcached_stat_st * stat, memcached_return * error) [free function]", 
+    "memcached_fetch_execute" : "extern memcached_return memcached_fetch_execute(memcached_st * ptr, memcached_execute_function * callback, void * context, unsigned int number_of_callbacks) [free function]", 
+    "memcached_prepend_by_key" : "extern memcached_return memcached_prepend_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_lib_version" : "extern char const * memcached_lib_version() [free function]", 
+    "memcached_server_remove" : "extern memcached_return memcached_server_remove(memcached_server_st * st_ptr) [free function]", 
+    "memcached_delete_by_key" : "extern memcached_return memcached_delete_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, time_t expiration) [free function]", 
+    "memcached_generate_hash" : "extern uint32_t memcached_generate_hash(memcached_st * ptr, char const * key, size_t key_length) [free function]", 
+    "memcached_set_memory_allocators" : "extern memcached_return memcached_set_memory_allocators(memcached_st * ptr, memcached_malloc_function mem_malloc, memcached_free_function mem_free, memcached_realloc_function mem_realloc, memcached_calloc_function mem_calloc) [free function]", 
+    "memcached_prepend" : "extern memcached_return memcached_prepend(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_server_list_free" : "extern void memcached_server_list_free(memcached_server_st * ptr) [free function]", 
+    "memcached_add" : "extern memcached_return memcached_add(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_flush" : "extern memcached_return memcached_flush(memcached_st * ptr, time_t expiration) [free function]", 
+    "memcached_string_append_character" : "extern memcached_return memcached_string_append_character(memcached_string_st * string, char character) [free function]", 
+    "memcached_clone" : "extern memcached_st * memcached_clone(memcached_st * clone, memcached_st * ptr) [free function]", 
+    "memcached_server_add_udp_with_weight" : "extern memcached_return memcached_server_add_udp_with_weight(memcached_st * ptr, char const * hostname, unsigned int port, uint32_t weight) [free function]", 
+    "memcached_string_c_copy" : "extern char * memcached_string_c_copy(memcached_string_st * string) [free function]", 
+    "memcached_string_append" : "extern memcached_return memcached_string_append(memcached_string_st * string, char * value, size_t length) [free function]", 
+    "memcached_stat" : "extern memcached_stat_st * memcached_stat(memcached_st * ptr, char * args, memcached_return * error) [free function]", 
+    "memcached_get" : "extern char * memcached_get(memcached_st * ptr, char const * key, size_t key_length, size_t * value_length, uint32_t * flags, memcached_return * error) [free function]", 
+    "memcached_server_list_append" : "extern memcached_server_st * memcached_server_list_append(memcached_server_st * ptr, char const * hostname, unsigned int port, memcached_return * error) [free function]", 
+    "memcached_server_cursor" : "extern memcached_return memcached_server_cursor(memcached_st * ptr, memcached_server_function * callback, void * context, unsigned int number_of_callbacks) [free function]", 
+    "memcached_server_clone" : "extern memcached_server_st * memcached_server_clone(memcached_server_st * clone, memcached_server_st * ptr) [free function]", 
+    "memcached_result_create" : "extern memcached_result_st * memcached_result_create(memcached_st * ptr, memcached_result_st * result) [free function]", 
+    "memcached_server_list_append_with_weight" : "extern memcached_server_st * memcached_server_list_append_with_weight(memcached_server_st * ptr, char const * hostname, unsigned int port, uint32_t weight, memcached_return * error) [free function]", 
+    "memcached_set" : "extern memcached_return memcached_set(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_server_free" : "extern void memcached_server_free(memcached_server_st * ptr) [free function]", 
+    "memcached_stat_free" : "extern void memcached_stat_free(memcached_st * arg0, memcached_stat_st * arg1) [free function]", 
+    "memcached_cas_by_key" : "extern memcached_return memcached_cas_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas) [free function]", 
+    "memcached_cas" : "extern memcached_return memcached_cas(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas) [free function]", 
+    "memcached_server_add" : "extern memcached_return memcached_server_add(memcached_st * ptr, char const * hostname, unsigned int port) [free function]", 
+    "memcached_stat_servername" : "extern memcached_return memcached_stat_servername(memcached_stat_st * stat, char * args, char * hostname, unsigned int port) [free function]", 
+    "memcached_add_by_key" : "extern memcached_return memcached_add_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_callback_get" : "extern void * memcached_callback_get(memcached_st * ptr, memcached_callback flag, memcached_return * error) [free function]", 
+    "memcached_string_create" : "extern memcached_string_st * memcached_string_create(memcached_st * ptr, memcached_string_st * string, size_t initial_size) [free function]", 
+    "memcached_server_add_unix_socket_with_weight" : "extern memcached_return memcached_server_add_unix_socket_with_weight(memcached_st * ptr, char const * filename, uint32_t weight) [free function]", 
+    "memcached_get_by_key" : "extern char * memcached_get_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, size_t * value_length, uint32_t * flags, memcached_return * error) [free function]", 
+    "memcached_server_add_unix_socket" : "extern memcached_return memcached_server_add_unix_socket(memcached_st * ptr, char const * filename) [free function]", 
+    "memcached_server_by_key" : "extern memcached_server_st * memcached_server_by_key(memcached_st * ptr, char const * key, size_t key_length, memcached_return * error) [free function]", 
+    "memcached_flush_buffers" : "extern memcached_return memcached_flush_buffers(memcached_st * mem) [free function]", 
+    "memcached_get_memory_allocators" : "extern void memcached_get_memory_allocators(memcached_st * ptr, memcached_malloc_function * mem_malloc, memcached_free_function * mem_free, memcached_realloc_function * mem_realloc, memcached_calloc_function * mem_calloc) [free function]", 
+    "memcached_delete" : "extern memcached_return memcached_delete(memcached_st * ptr, char const * key, size_t key_length, time_t expiration) [free function]", 
+    "memcached_set_user_data" : "extern void * memcached_set_user_data(memcached_st * ptr, void * data) [free function]", 
+    "memcached_increment" : "extern memcached_return memcached_increment(memcached_st * ptr, char const * key, size_t key_length, uint32_t offset, uint64_t * value) [free function]", 
+    "run_distribution" : "extern memcached_return run_distribution(memcached_st * ptr) [free function]", 
+    "memcached_string_free" : "extern void memcached_string_free(memcached_string_st * string) [free function]", 
+    "memcached_append_by_key" : "extern memcached_return memcached_append_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]", 
+    "memcached_string_check" : "extern memcached_return memcached_string_check(memcached_string_st * string, size_t need) [free function]", 
+    "memcached_behavior_set" : "extern memcached_return memcached_behavior_set(memcached_st * ptr, memcached_behavior flag, uint64_t data) [free function]", 
+    "memcached_server_list_count" : "extern unsigned int memcached_server_list_count(memcached_server_st * ptr) [free function]", 
+    "memcached_mget" : "extern memcached_return memcached_mget(memcached_st * ptr, char * * keys, size_t * key_length, unsigned int number_of_keys) [free function]", 
+    "memcached_get_user_data" : "extern void * memcached_get_user_data(memcached_st * ptr) [free function]", 
+    "memcached_increment_with_initial" : "extern memcached_return memcached_increment_with_initial(memcached_st * ptr, char const * key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t * value) [free function]", 
+    "memcached_stat_get_value" : "extern char * memcached_stat_get_value(memcached_st * ptr, memcached_stat_st * stat, char const * key, memcached_return * error) [free function]", 
+    "memcached_fetch_result" : "extern memcached_result_st * memcached_fetch_result(memcached_st * ptr, memcached_result_st * result, memcached_return * error) [free function]", 
+    "memcached_server_create" : "extern memcached_server_st * memcached_server_create(memcached_st * memc, memcached_server_st * ptr) [free function]", 
+    "memcached_result_length" : "extern size_t memcached_result_length(memcached_result_st * ptr) [free function]", 
+    "memcached_strerror" : "extern char * memcached_strerror(memcached_st * ptr, memcached_return rc) [free function]", 
+}
+
+class memcached_hash( ctypes_utils.Enumeration ):
+    MEMCACHED_HASH_DEFAULT = 0
+    MEMCACHED_HASH_MD5 = 1
+    MEMCACHED_HASH_CRC = 2
+    MEMCACHED_HASH_FNV1_64 = 3
+    MEMCACHED_HASH_FNV1A_64 = 4
+    MEMCACHED_HASH_FNV1_32 = 5
+    MEMCACHED_HASH_FNV1A_32 = 6
+    MEMCACHED_HASH_HSIEH = 7
+    MEMCACHED_HASH_MURMUR = 8
+    MEMCACHED_HASH_JENKINS = 9
+
+class memcached_behavior( ctypes_utils.Enumeration ):
+    MEMCACHED_BEHAVIOR_NO_BLOCK = 0
+    MEMCACHED_BEHAVIOR_TCP_NODELAY = 1
+    MEMCACHED_BEHAVIOR_HASH = 2
+    MEMCACHED_BEHAVIOR_KETAMA = 3
+    MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE = 4
+    MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE = 5
+    MEMCACHED_BEHAVIOR_CACHE_LOOKUPS = 6
+    MEMCACHED_BEHAVIOR_SUPPORT_CAS = 7
+    MEMCACHED_BEHAVIOR_POLL_TIMEOUT = 8
+    MEMCACHED_BEHAVIOR_DISTRIBUTION = 9
+    MEMCACHED_BEHAVIOR_BUFFER_REQUESTS = 10
+    MEMCACHED_BEHAVIOR_USER_DATA = 11
+    MEMCACHED_BEHAVIOR_SORT_HOSTS = 12
+    MEMCACHED_BEHAVIOR_VERIFY_KEY = 13
+    MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT = 14
+    MEMCACHED_BEHAVIOR_RETRY_TIMEOUT = 15
+    MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED = 16
+    MEMCACHED_BEHAVIOR_KETAMA_HASH = 17
+    MEMCACHED_BEHAVIOR_BINARY_PROTOCOL = 18
+    MEMCACHED_BEHAVIOR_SND_TIMEOUT = 19
+    MEMCACHED_BEHAVIOR_RCV_TIMEOUT = 20
+    MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT = 21
+    MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK = 22
+    MEMCACHED_BEHAVIOR_IO_BYTES_WATERMARK = 23
+    MEMCACHED_BEHAVIOR_IO_KEY_PREFETCH = 24
+    MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY = 25
+    MEMCACHED_BEHAVIOR_NOREPLY = 26
+    MEMCACHED_BEHAVIOR_USE_UDP = 27
+    MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS = 28
+    MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS = 29
+
+class memcached_callback( ctypes_utils.Enumeration ):
+    MEMCACHED_CALLBACK_PREFIX_KEY = 0
+    MEMCACHED_CALLBACK_USER_DATA = 1
+    MEMCACHED_CALLBACK_CLEANUP_FUNCTION = 2
+    MEMCACHED_CALLBACK_CLONE_FUNCTION = 3
+    MEMCACHED_CALLBACK_GET_FAILURE = 7
+    MEMCACHED_CALLBACK_DELETE_TRIGGER = 8
+
+class memcached_return( ctypes_utils.Enumeration ):
+    MEMCACHED_SUCCESS = 0
+    MEMCACHED_FAILURE = 1
+    MEMCACHED_HOST_LOOKUP_FAILURE = 2
+    MEMCACHED_CONNECTION_FAILURE = 3
+    MEMCACHED_CONNECTION_BIND_FAILURE = 4
+    MEMCACHED_WRITE_FAILURE = 5
+    MEMCACHED_READ_FAILURE = 6
+    MEMCACHED_UNKNOWN_READ_FAILURE = 7
+    MEMCACHED_PROTOCOL_ERROR = 8
+    MEMCACHED_CLIENT_ERROR = 9
+    MEMCACHED_SERVER_ERROR = 10
+    MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE = 11
+    MEMCACHED_DATA_EXISTS = 12
+    MEMCACHED_DATA_DOES_NOT_EXIST = 13
+    MEMCACHED_NOTSTORED = 14
+    MEMCACHED_STORED = 15
+    MEMCACHED_NOTFOUND = 16
+    MEMCACHED_MEMORY_ALLOCATION_FAILURE = 17
+    MEMCACHED_PARTIAL_READ = 18
+    MEMCACHED_SOME_ERRORS = 19
+    MEMCACHED_NO_SERVERS = 20
+    MEMCACHED_END = 21
+    MEMCACHED_DELETED = 22
+    MEMCACHED_VALUE = 23
+    MEMCACHED_STAT = 24
+    MEMCACHED_ITEM = 25
+    MEMCACHED_ERRNO = 26
+    MEMCACHED_FAIL_UNIX_SOCKET = 27
+    MEMCACHED_NOT_SUPPORTED = 28
+    MEMCACHED_NO_KEY_PROVIDED = 29
+    MEMCACHED_FETCH_NOTFINISHED = 30
+    MEMCACHED_TIMEOUT = 31
+    MEMCACHED_BUFFERED = 32
+    MEMCACHED_BAD_KEY_PROVIDED = 33
+    MEMCACHED_INVALID_HOST_PROTOCOL = 34
+    MEMCACHED_SERVER_MARKED_DEAD = 35
+    MEMCACHED_UNKNOWN_STAT_KEY = 36
+    MEMCACHED_MAXIMUM_RETURN = 37
+
+class memcached_connection( ctypes_utils.Enumeration ):
+    MEMCACHED_CONNECTION_UNKNOWN = 0
+    MEMCACHED_CONNECTION_TCP = 1
+    MEMCACHED_CONNECTION_UDP = 2
+    MEMCACHED_CONNECTION_UNIX_SOCKET = 3
+
+class memcached_analysis_st(ctypes.Structure):
+    """class memcached_analysis_st"""
+
+class memcached_string_st(ctypes.Structure):
+    """class memcached_string_st"""
+
+class memcached_result_st(ctypes.Structure):
+    """class memcached_result_st"""
+
+class memcached_server_st(ctypes.Structure):
+    """class memcached_server_st"""
+
+class memcached_st(ctypes.Structure):
+    """class memcached_st"""
+
+class memcached_stat_st(ctypes.Structure):
+    """class memcached_stat_st"""
+
+class addrinfo(ctypes.Structure):
+    """class declaration addrinfo"""
+    _fields_  = []
+
+class memcached_continuum_item_st(ctypes.Structure):
+    """class declaration memcached_continuum_item_st"""
+    _fields_  = []
+
+memcached_analysis_st._fields_ = [ #class memcached_analysis_st
+    ("average_item_size", ctypes.c_uint),
+    ("longest_uptime", ctypes.c_uint),
+    ("least_free_server", ctypes.c_uint),
+    ("most_consumed_server", ctypes.c_uint),
+    ("oldest_server", ctypes.c_uint),
+    ("pool_hit_ratio", ctypes.c_double),
+    ("most_used_bytes", ctypes.c_ulonglong),
+    ("least_remaining_bytes", ctypes.c_ulonglong),
+]
+
+memcached_string_st._fields_ = [ #class memcached_string_st
+    ("root", ctypes.POINTER( memcached_st )),
+    ("end", ctypes.c_char_p),
+    ("string", ctypes.c_char_p),
+    ("current_size", ctypes.c_uint),
+    ("block_size", ctypes.c_uint),
+    ("is_allocated", ctypes.c_bool),
+]
+
+memcached_result_st._fields_ = [ #class memcached_result_st
+    ("flags", ctypes.c_uint),
+    ("is_allocated", ctypes.c_bool),
+    ("expiration", ctypes.c_long),
+    ("root", ctypes.POINTER( memcached_st )),
+    ("key_length", ctypes.c_uint),
+    ("cas", ctypes.c_ulonglong),
+    ("value", memcached_string_st),
+    ("key", ( ctypes.c_char * 251 )),
+]
+
+memcached_server_st._fields_ = [ #class memcached_server_st
+    ("is_allocated", ctypes.c_bool),
+    ("sockaddr_inited", ctypes.c_bool),
+    ("count", ctypes.c_ushort),
+    ("cursor_active", ctypes.c_uint),
+    ("port", ctypes.c_uint),
+    ("cached_errno", ctypes.c_int),
+    ("fd", ctypes.c_int),
+    ("io_bytes_sent", ctypes.c_uint),
+    ("server_failure_counter", ctypes.c_uint),
+    ("weight", ctypes.c_uint),
+    ("major_version", ctypes.c_ubyte),
+    ("micro_version", ctypes.c_ubyte),
+    ("minor_version", ctypes.c_ubyte),
+    ("type", memcached_connection),
+    ("read_ptr", ctypes.c_char_p),
+    ("read_buffer_length", ctypes.c_uint),
+    ("read_data_length", ctypes.c_uint),
+    ("write_buffer_offset", ctypes.c_uint),
+    ("address_info", ctypes.POINTER( addrinfo )),
+    ("next_retry", ctypes.c_long),
+    ("root", ctypes.POINTER( memcached_st )),
+    ("limit_maxbytes", ctypes.c_ulonglong),
+    ("read_buffer", ( ctypes.c_char * 8196 )),
+    ("write_buffer", ( ctypes.c_char * 8196 )),
+    ("hostname", ( ctypes.c_char * 64 )),
+]
+
+memcached_st._fields_ = [ #class memcached_st
+    ("purging", ctypes.c_ubyte),
+    ("is_allocated", ctypes.c_bool),
+    ("distribution", ctypes.c_ubyte),
+    ("hash", ctypes.c_ubyte),
+    ("continuum_points_counter", ctypes.c_uint),
+    ("hosts", ctypes.POINTER( memcached_server_st )),
+    ("snd_timeout", ctypes.c_int),
+    ("rcv_timeout", ctypes.c_int),
+    ("server_failure_limit", ctypes.c_uint),
+    ("io_msg_watermark", ctypes.c_uint),
+    ("io_bytes_watermark", ctypes.c_uint),
+    ("io_key_prefetch", ctypes.c_uint),
+    ("number_of_hosts", ctypes.c_uint),
+    ("cursor_server", ctypes.c_uint),
+    ("cached_errno", ctypes.c_int),
+    ("flags", ctypes.c_uint),
+    ("poll_timeout", ctypes.c_int),
+    ("connect_timeout", ctypes.c_int),
+    ("retry_timeout", ctypes.c_int),
+    ("continuum_count", ctypes.c_uint),
+    ("send_size", ctypes.c_int),
+    ("recv_size", ctypes.c_int),
+    ("user_data", ctypes.c_void_p),
+    ("next_distribution_rebuild", ctypes.c_long),
+    ("prefix_key_length", ctypes.c_uint),
+    ("hash_continuum", memcached_hash),
+    ("result", memcached_result_st),
+    ("continuum", ctypes.POINTER( memcached_continuum_item_st )),
+    ("on_clone", ctypes.POINTER( ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_st ) ) )),
+    ("on_cleanup", ctypes.POINTER( ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ) ) )),
+    ("call_free", ctypes.POINTER( ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_st ), ctypes.c_void_p ) )),
+    ("call_malloc", ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st ), ctypes.c_uint ) )),
+    ("call_realloc", ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st ), ctypes.c_void_p, ctypes.c_uint ) )),
+    ("call_calloc", ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st ), ctypes.c_uint, ctypes.c_uint ) )),
+    ("get_key_failure", ctypes.POINTER( ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.POINTER( memcached_result_st ) ) )),
+    ("delete_trigger", ctypes.POINTER( ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint ) )),
+    ("prefix_key", ( ctypes.c_char * 128 )),
+    ("number_of_replicas", ctypes.c_uint),
+]
+
+memcached_stat_st._fields_ = [ #class memcached_stat_st
+    ("connection_structures", ctypes.c_uint),
+    ("curr_connections", ctypes.c_uint),
+    ("curr_items", ctypes.c_uint),
+    ("pid", ctypes.c_uint),
+    ("pointer_size", ctypes.c_uint),
+    ("rusage_system_microseconds", ctypes.c_uint),
+    ("rusage_system_seconds", ctypes.c_uint),
+    ("rusage_user_microseconds", ctypes.c_uint),
+    ("rusage_user_seconds", ctypes.c_uint),
+    ("threads", ctypes.c_uint),
+    ("time", ctypes.c_uint),
+    ("total_connections", ctypes.c_uint),
+    ("total_items", ctypes.c_uint),
+    ("uptime", ctypes.c_uint),
+    ("bytes", ctypes.c_ulonglong),
+    ("bytes_read", ctypes.c_ulonglong),
+    ("bytes_written", ctypes.c_ulonglong),
+    ("cmd_get", ctypes.c_ulonglong),
+    ("cmd_set", ctypes.c_ulonglong),
+    ("evictions", ctypes.c_ulonglong),
+    ("get_hits", ctypes.c_ulonglong),
+    ("get_misses", ctypes.c_ulonglong),
+    ("limit_maxbytes", ctypes.c_ulonglong),
+    ("version", ( ctypes.c_char * 24 )),
+]
+
+memcached_delete_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_long  )
+memcached_delete = memcached_delete_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_delete(memcached_st * ptr, char const * key, size_t key_length, time_t expiration) [free function]"], libmemcached_lib ) )
+
+memcached_stat_get_value_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_stat_st ), ctypes.c_char_p, ctypes.POINTER( memcached_return )  )
+memcached_stat_get_value = memcached_stat_get_value_type( ( libmemcached_lib.undecorated_names["extern char * memcached_stat_get_value(memcached_st * ptr, memcached_stat_st * stat, char const * key, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_analyze_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_analysis_st ), ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_stat_st ), ctypes.POINTER( memcached_return )  )
+memcached_analyze = memcached_analyze_type( ( libmemcached_lib.undecorated_names["extern memcached_analysis_st * memcached_analyze(memcached_st * memc, memcached_stat_st * stat, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_string_append_character_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_string_st ), ctypes.c_char  )
+memcached_string_append_character = memcached_string_append_character_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_string_append_character(memcached_string_st * string, char character) [free function]"], libmemcached_lib ) )
+
+memcached_dump_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.POINTER( ctypes.POINTER( ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_void_p ) ) ), ctypes.c_void_p, ctypes.c_uint  )
+memcached_dump = memcached_dump_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_dump(memcached_st * ptr, memcached_dump_func * function, void * context, uint32_t number_of_callbacks) [free function]"], libmemcached_lib ) )
+
+memcached_server_clone_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_server_st ), ctypes.POINTER( memcached_server_st ), ctypes.POINTER( memcached_server_st )  )
+memcached_server_clone = memcached_server_clone_type( ( libmemcached_lib.undecorated_names["extern memcached_server_st * memcached_server_clone(memcached_server_st * clone, memcached_server_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_delete_by_key_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long  )
+memcached_delete_by_key = memcached_delete_by_key_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_delete_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, time_t expiration) [free function]"], libmemcached_lib ) )
+
+memcached_stat_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_stat_st ), ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.POINTER( memcached_return )  )
+memcached_stat = memcached_stat_type( ( libmemcached_lib.undecorated_names["extern memcached_stat_st * memcached_stat(memcached_st * ptr, char * args, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_generate_hash_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint  )
+memcached_generate_hash = memcached_generate_hash_type( ( libmemcached_lib.undecorated_names["extern uint32_t memcached_generate_hash(memcached_st * ptr, char const * key, size_t key_length) [free function]"], libmemcached_lib ) )
+
+memcached_result_length_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( memcached_result_st )  )
+memcached_result_length = memcached_result_length_type( ( libmemcached_lib.undecorated_names["extern size_t memcached_result_length(memcached_result_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_set_user_data_type = ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st ), ctypes.c_void_p  )
+memcached_set_user_data = memcached_set_user_data_type( ( libmemcached_lib.undecorated_names["extern void * memcached_set_user_data(memcached_st * ptr, void * data) [free function]"], libmemcached_lib ) )
+
+memcached_flush_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_long  )
+memcached_flush = memcached_flush_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_flush(memcached_st * ptr, time_t expiration) [free function]"], libmemcached_lib ) )
+
+memcached_strerror_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.POINTER( memcached_st ), memcached_return  )
+memcached_strerror = memcached_strerror_type( ( libmemcached_lib.undecorated_names["extern char * memcached_strerror(memcached_st * ptr, memcached_return rc) [free function]"], libmemcached_lib ) )
+
+memcached_cas_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint, ctypes.c_ulonglong  )
+memcached_cas = memcached_cas_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_cas(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas) [free function]"], libmemcached_lib ) )
+
+memcached_server_free_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_server_st )  )
+memcached_server_free = memcached_server_free_type( ( libmemcached_lib.undecorated_names["extern void memcached_server_free(memcached_server_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_behavior_set_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), memcached_behavior, ctypes.c_ulonglong  )
+memcached_behavior_set = memcached_behavior_set_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_behavior_set(memcached_st * ptr, memcached_behavior flag, uint64_t data) [free function]"], libmemcached_lib ) )
+
+memcached_get_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.POINTER( ctypes.c_uint ), ctypes.POINTER( ctypes.c_uint ), ctypes.POINTER( memcached_return )  )
+memcached_get = memcached_get_type( ( libmemcached_lib.undecorated_names["extern char * memcached_get(memcached_st * ptr, char const * key, size_t key_length, size_t * value_length, uint32_t * flags, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_server_list_append_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_server_st ), ctypes.POINTER( memcached_server_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.POINTER( memcached_return )  )
+memcached_server_list_append = memcached_server_list_append_type( ( libmemcached_lib.undecorated_names["extern memcached_server_st * memcached_server_list_append(memcached_server_st * ptr, char const * hostname, unsigned int port, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_set_memory_allocators_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st ), ctypes.c_uint ) ), ctypes.POINTER( ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_st ), ctypes.c_void_p ) ), ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st ), ctypes.c_void_p, ctypes.c_uint ) ), ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memc [...]
+memcached_set_memory_allocators = memcached_set_memory_allocators_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_set_memory_allocators(memcached_st * ptr, memcached_malloc_function mem_malloc, memcached_free_function mem_free, memcached_realloc_function mem_realloc, memcached_calloc_function mem_calloc) [free function]"], libmemcached_lib ) )
+
+memcached_string_c_copy_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.POINTER( memcached_string_st )  )
+memcached_string_c_copy = memcached_string_c_copy_type( ( libmemcached_lib.undecorated_names["extern char * memcached_string_c_copy(memcached_string_st * string) [free function]"], libmemcached_lib ) )
+
+memcached_generate_hash_value_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, memcached_hash  )
+memcached_generate_hash_value = memcached_generate_hash_value_type( ( libmemcached_lib.undecorated_names["extern uint32_t memcached_generate_hash_value(char const * key, size_t key_length, memcached_hash hash_algorithm) [free function]"], libmemcached_lib ) )
+
+memcached_server_by_key_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_server_st ), ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.POINTER( memcached_return )  )
+memcached_server_by_key = memcached_server_by_key_type( ( libmemcached_lib.undecorated_names["extern memcached_server_st * memcached_server_by_key(memcached_st * ptr, char const * key, size_t key_length, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_set_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_set = memcached_set_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_set(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+memcached_fetch_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.POINTER( ctypes.c_uint ), ctypes.POINTER( ctypes.c_uint ), ctypes.POINTER( ctypes.c_uint ), ctypes.POINTER( memcached_return )  )
+memcached_fetch = memcached_fetch_type( ( libmemcached_lib.undecorated_names["extern char * memcached_fetch(memcached_st * ptr, char * key, size_t * key_length, size_t * value_length, uint32_t * flags, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_flush_buffers_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st )  )
+memcached_flush_buffers = memcached_flush_buffers_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_flush_buffers(memcached_st * mem) [free function]"], libmemcached_lib ) )
+
+memcached_server_create_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_server_st ), ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_server_st )  )
+memcached_server_create = memcached_server_create_type( ( libmemcached_lib.undecorated_names["extern memcached_server_st * memcached_server_create(memcached_st * memc, memcached_server_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_result_create_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_result_st ), ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_result_st )  )
+memcached_result_create = memcached_result_create_type( ( libmemcached_lib.undecorated_names["extern memcached_result_st * memcached_result_create(memcached_st * ptr, memcached_result_st * result) [free function]"], libmemcached_lib ) )
+
+memcached_cas_by_key_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint, ctypes.c_ulonglong  )
+memcached_cas_by_key = memcached_cas_by_key_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_cas_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas) [free function]"], libmemcached_lib ) )
+
+memcached_create_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_st )  )
+memcached_create = memcached_create_type( ( libmemcached_lib.undecorated_names["extern memcached_st * memcached_create(memcached_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_set_by_key_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_set_by_key = memcached_set_by_key_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_set_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+memcached_behavior_get_type = ctypes.CFUNCTYPE( ctypes.c_ulonglong, ctypes.POINTER( memcached_st ), memcached_behavior  )
+memcached_behavior_get = memcached_behavior_get_type( ( libmemcached_lib.undecorated_names["extern uint64_t memcached_behavior_get(memcached_st * ptr, memcached_behavior flag) [free function]"], libmemcached_lib ) )
+
+memcached_mget_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.POINTER( ctypes.c_char_p ), ctypes.POINTER( ctypes.c_uint ), ctypes.c_uint  )
+memcached_mget = memcached_mget_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_mget(memcached_st * ptr, char * * keys, size_t * key_length, unsigned int number_of_keys) [free function]"], libmemcached_lib ) )
+
+memcached_server_add_unix_socket_with_weight_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint  )
+memcached_server_add_unix_socket_with_weight = memcached_server_add_unix_socket_with_weight_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_server_add_unix_socket_with_weight(memcached_st * ptr, char const * filename, uint32_t weight) [free function]"], libmemcached_lib ) )
+
+memcached_fetch_result_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_result_st ), ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_result_st ), ctypes.POINTER( memcached_return )  )
+memcached_fetch_result = memcached_fetch_result_type( ( libmemcached_lib.undecorated_names["extern memcached_result_st * memcached_fetch_result(memcached_st * ptr, memcached_result_st * result, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_increment_with_initial_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_ulonglong, ctypes.c_ulonglong, ctypes.c_long, ctypes.POINTER( ctypes.c_ulonglong )  )
+memcached_increment_with_initial = memcached_increment_with_initial_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_increment_with_initial(memcached_st * ptr, char const * key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t * value) [free function]"], libmemcached_lib ) )
+
+memcached_mget_by_key_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.POINTER( ctypes.c_char_p ), ctypes.POINTER( ctypes.c_uint ), ctypes.c_uint  )
+memcached_mget_by_key = memcached_mget_by_key_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_mget_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char * * keys, size_t * key_length, unsigned int number_of_keys) [free function]"], libmemcached_lib ) )
+
+memcached_get_user_data_type = ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st )  )
+memcached_get_user_data = memcached_get_user_data_type( ( libmemcached_lib.undecorated_names["extern void * memcached_get_user_data(memcached_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_result_value_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.POINTER( memcached_result_st )  )
+memcached_result_value = memcached_result_value_type( ( libmemcached_lib.undecorated_names["extern char * memcached_result_value(memcached_result_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_version_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st )  )
+memcached_version = memcached_version_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_version(memcached_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_result_reset_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_result_st )  )
+memcached_result_reset = memcached_result_reset_type( ( libmemcached_lib.undecorated_names["extern void memcached_result_reset(memcached_result_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_add_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_add = memcached_add_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_add(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+memcached_string_append_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_string_st ), ctypes.c_char_p, ctypes.c_uint  )
+memcached_string_append = memcached_string_append_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_string_append(memcached_string_st * string, char * value, size_t length) [free function]"], libmemcached_lib ) )
+
+memcached_replace_by_key_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_replace_by_key = memcached_replace_by_key_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_replace_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+memcached_prepend_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_prepend = memcached_prepend_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_prepend(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+memcached_server_list_append_with_weight_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_server_st ), ctypes.POINTER( memcached_server_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint, ctypes.POINTER( memcached_return )  )
+memcached_server_list_append_with_weight = memcached_server_list_append_with_weight_type( ( libmemcached_lib.undecorated_names["extern memcached_server_st * memcached_server_list_append_with_weight(memcached_server_st * ptr, char const * hostname, unsigned int port, uint32_t weight, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_verbosity_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_uint  )
+memcached_verbosity = memcached_verbosity_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_verbosity(memcached_st * ptr, unsigned int verbosity) [free function]"], libmemcached_lib ) )
+
+memcached_stat_servername_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_stat_st ), ctypes.c_char_p, ctypes.c_char_p, ctypes.c_uint  )
+memcached_stat_servername = memcached_stat_servername_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_stat_servername(memcached_stat_st * stat, char * args, char * hostname, unsigned int port) [free function]"], libmemcached_lib ) )
+
+memcached_server_create_with_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_server_st ), ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_server_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint, memcached_connection  )
+memcached_server_create_with = memcached_server_create_with_type( ( libmemcached_lib.undecorated_names["extern memcached_server_st * memcached_server_create_with(memcached_st * memc, memcached_server_st * host, char const * hostname, unsigned int port, uint32_t weight, memcached_connection type) [free function]"], libmemcached_lib ) )
+
+memcached_server_add_udp_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint  )
+memcached_server_add_udp = memcached_server_add_udp_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_server_add_udp(memcached_st * ptr, char const * hostname, unsigned int port) [free function]"], libmemcached_lib ) )
+
+memcached_decrement_with_initial_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_ulonglong, ctypes.c_ulonglong, ctypes.c_long, ctypes.POINTER( ctypes.c_ulonglong )  )
+memcached_decrement_with_initial = memcached_decrement_with_initial_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_decrement_with_initial(memcached_st * ptr, char const * key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t * value) [free function]"], libmemcached_lib ) )
+
+memcached_string_reset_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_string_st )  )
+memcached_string_reset = memcached_string_reset_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_string_reset(memcached_string_st * string) [free function]"], libmemcached_lib ) )
+
+memcached_server_cursor_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.POINTER( ctypes.POINTER( ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_server_st ), ctypes.c_void_p ) ) ), ctypes.c_void_p, ctypes.c_uint  )
+memcached_server_cursor = memcached_server_cursor_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_server_cursor(memcached_st * ptr, memcached_server_function * callback, void * context, unsigned int number_of_callbacks) [free function]"], libmemcached_lib ) )
+
+memcached_fetch_execute_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.POINTER( ctypes.POINTER( ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_result_st ), ctypes.c_void_p ) ) ), ctypes.c_void_p, ctypes.c_uint  )
+memcached_fetch_execute = memcached_fetch_execute_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_fetch_execute(memcached_st * ptr, memcached_execute_function * callback, void * context, unsigned int number_of_callbacks) [free function]"], libmemcached_lib ) )
+
+memcached_clone_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_st )  )
+memcached_clone = memcached_clone_type( ( libmemcached_lib.undecorated_names["extern memcached_st * memcached_clone(memcached_st * clone, memcached_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_quit_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_st )  )
+memcached_quit = memcached_quit_type( ( libmemcached_lib.undecorated_names["extern void memcached_quit(memcached_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_string_create_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_string_st ), ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_string_st ), ctypes.c_uint  )
+memcached_string_create = memcached_string_create_type( ( libmemcached_lib.undecorated_names["extern memcached_string_st * memcached_string_create(memcached_st * ptr, memcached_string_st * string, size_t initial_size) [free function]"], libmemcached_lib ) )
+
+memcached_get_memory_allocators_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_st ), ctypes.POINTER( ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st ), ctypes.c_uint ) ) ), ctypes.POINTER( ctypes.POINTER( ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_st ), ctypes.c_void_p ) ) ), ctypes.POINTER( ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st ), ctypes.c_void_p, ctypes.c_uint ) ) ), ctypes.POINTER( ctypes.POINTE [...]
+memcached_get_memory_allocators = memcached_get_memory_allocators_type( ( libmemcached_lib.undecorated_names["extern void memcached_get_memory_allocators(memcached_st * ptr, memcached_malloc_function * mem_malloc, memcached_free_function * mem_free, memcached_realloc_function * mem_realloc, memcached_calloc_function * mem_calloc) [free function]"], libmemcached_lib ) )
+
+memcached_prepend_by_key_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_prepend_by_key = memcached_prepend_by_key_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_prepend_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+run_distribution_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st )  )
+run_distribution = run_distribution_type( ( libmemcached_lib.undecorated_names["extern memcached_return run_distribution(memcached_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_server_list_free_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_server_st )  )
+memcached_server_list_free = memcached_server_list_free_type( ( libmemcached_lib.undecorated_names["extern void memcached_server_list_free(memcached_server_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_lib_version_type = ctypes.CFUNCTYPE( ctypes.c_char_p )
+memcached_lib_version = memcached_lib_version_type( ( libmemcached_lib.undecorated_names["extern char const * memcached_lib_version() [free function]"], libmemcached_lib ) )
+
+memcached_get_by_key_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.POINTER( ctypes.c_uint ), ctypes.POINTER( ctypes.c_uint ), ctypes.POINTER( memcached_return )  )
+memcached_get_by_key = memcached_get_by_key_type( ( libmemcached_lib.undecorated_names["extern char * memcached_get_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, size_t * value_length, uint32_t * flags, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_server_add_with_weight_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint  )
+memcached_server_add_with_weight = memcached_server_add_with_weight_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_server_add_with_weight(memcached_st * ptr, char const * hostname, unsigned int port, uint32_t weight) [free function]"], libmemcached_lib ) )
+
+memcached_add_by_key_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_add_by_key = memcached_add_by_key_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_add_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+memcached_server_add_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint  )
+memcached_server_add = memcached_server_add_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_server_add(memcached_st * ptr, char const * hostname, unsigned int port) [free function]"], libmemcached_lib ) )
+
+memcached_servers_parse_type = ctypes.CFUNCTYPE( ctypes.POINTER( memcached_server_st ), ctypes.c_char_p  )
+memcached_servers_parse = memcached_servers_parse_type( ( libmemcached_lib.undecorated_names["extern memcached_server_st * memcached_servers_parse(char const * server_strings) [free function]"], libmemcached_lib ) )
+
+memcached_string_free_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_string_st )  )
+memcached_string_free = memcached_string_free_type( ( libmemcached_lib.undecorated_names["extern void memcached_string_free(memcached_string_st * string) [free function]"], libmemcached_lib ) )
+
+memcached_server_add_udp_with_weight_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint  )
+memcached_server_add_udp_with_weight = memcached_server_add_udp_with_weight_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_server_add_udp_with_weight(memcached_st * ptr, char const * hostname, unsigned int port, uint32_t weight) [free function]"], libmemcached_lib ) )
+
+memcached_callback_set_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), memcached_callback, ctypes.c_void_p  )
+memcached_callback_set = memcached_callback_set_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_callback_set(memcached_st * ptr, memcached_callback flag, void * data) [free function]"], libmemcached_lib ) )
+
+memcached_append_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_append = memcached_append_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_append(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+memcached_decrement_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint, ctypes.POINTER( ctypes.c_ulonglong )  )
+memcached_decrement = memcached_decrement_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_decrement(memcached_st * ptr, char const * key, size_t key_length, uint32_t offset, uint64_t * value) [free function]"], libmemcached_lib ) )
+
+memcached_server_remove_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_server_st )  )
+memcached_server_remove = memcached_server_remove_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_server_remove(memcached_server_st * st_ptr) [free function]"], libmemcached_lib ) )
+
+memcached_callback_get_type = ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.POINTER( memcached_st ), memcached_callback, ctypes.POINTER( memcached_return )  )
+memcached_callback_get = memcached_callback_get_type( ( libmemcached_lib.undecorated_names["extern void * memcached_callback_get(memcached_st * ptr, memcached_callback flag, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_result_set_value_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_result_st ), ctypes.c_char_p, ctypes.c_uint  )
+memcached_result_set_value = memcached_result_set_value_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_result_set_value(memcached_result_st * ptr, char * value, size_t length) [free function]"], libmemcached_lib ) )
+
+memcached_server_push_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_server_st )  )
+memcached_server_push = memcached_server_push_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_server_push(memcached_st * ptr, memcached_server_st * list) [free function]"], libmemcached_lib ) )
+
+memcached_server_list_count_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( memcached_server_st )  )
+memcached_server_list_count = memcached_server_list_count_type( ( libmemcached_lib.undecorated_names["extern unsigned int memcached_server_list_count(memcached_server_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_increment_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint, ctypes.POINTER( ctypes.c_ulonglong )  )
+memcached_increment = memcached_increment_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_increment(memcached_st * ptr, char const * key, size_t key_length, uint32_t offset, uint64_t * value) [free function]"], libmemcached_lib ) )
+
+memcached_free_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_st )  )
+memcached_free = memcached_free_type( ( libmemcached_lib.undecorated_names["extern void memcached_free(memcached_st * ptr) [free function]"], libmemcached_lib ) )
+
+memcached_replace_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_replace = memcached_replace_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_replace(memcached_st * ptr, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+memcached_append_by_key_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_long, ctypes.c_uint  )
+memcached_append_by_key = memcached_append_by_key_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_append_by_key(memcached_st * ptr, char const * master_key, size_t master_key_length, char const * key, size_t key_length, char const * value, size_t value_length, time_t expiration, uint32_t flags) [free function]"], libmemcached_lib ) )
+
+memcached_server_add_unix_socket_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_st ), ctypes.c_char_p  )
+memcached_server_add_unix_socket = memcached_server_add_unix_socket_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_server_add_unix_socket(memcached_st * ptr, char const * filename) [free function]"], libmemcached_lib ) )
+
+memcached_stat_free_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_stat_st )  )
+memcached_stat_free = memcached_stat_free_type( ( libmemcached_lib.undecorated_names["extern void memcached_stat_free(memcached_st * arg0, memcached_stat_st * arg1) [free function]"], libmemcached_lib ) )
+
+memcached_string_check_type = ctypes.CFUNCTYPE( memcached_return, ctypes.POINTER( memcached_string_st ), ctypes.c_uint  )
+memcached_string_check = memcached_string_check_type( ( libmemcached_lib.undecorated_names["extern memcached_return memcached_string_check(memcached_string_st * string, size_t need) [free function]"], libmemcached_lib ) )
+
+memcached_stat_get_keys_type = ctypes.CFUNCTYPE( ctypes.POINTER( ctypes.c_char_p ), ctypes.POINTER( memcached_st ), ctypes.POINTER( memcached_stat_st ), ctypes.POINTER( memcached_return )  )
+memcached_stat_get_keys = memcached_stat_get_keys_type( ( libmemcached_lib.undecorated_names["extern char * * memcached_stat_get_keys(memcached_st * ptr, memcached_stat_st * stat, memcached_return * error) [free function]"], libmemcached_lib ) )
+
+memcached_result_free_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( memcached_result_st )  )
+memcached_result_free = memcached_result_free_type( ( libmemcached_lib.undecorated_names["extern void memcached_result_free(memcached_result_st * result) [free function]"], libmemcached_lib ) )
diff --git a/examples/libmemcached_dev/pymemcached/ctypes_utils.py b/examples/libmemcached_dev/pymemcached/ctypes_utils.py
new file mode 100644
index 0000000..d2cdcec
--- /dev/null
+++ b/examples/libmemcached_dev/pymemcached/ctypes_utils.py
@@ -0,0 +1,135 @@
+# This file has been generated by Py++.
+
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import ctypes
+
+# what is the best way to treat overloaded constructors
+class native_callable( object ):
+    def __init__(self, dll, name, restype=None, argtypes=None ):
+        self.name = name
+        self.func = getattr( dll, dll.undecorated_names[name] )
+        self.func.restype = restype
+        self.func.argtypes = argtypes
+
+    def __call__(self, *args, **keywd ):
+        return self.func( *args,  **keywd )
+
+class native_overloaded_callable( object ):
+    def __init__(self, functions ):
+        self.__functions = functions
+
+    def __call__( self, *args ):
+        types = None
+        if args:
+            types = tuple(arg.__class__ for arg in args)
+        f = self.__functions.get(types)
+        if f is None:
+            msg = ['Unable to find a function that match the arguments you passed.']
+            msg.append( 'First argument type is "this" type.' )
+            msg.append( 'This function call argument types: ' + str( types ) )
+            msg.append( 'Registered methods argument types: ' )
+            for key in self.__functions.iterkeys():
+                msg.append('    ' + str(key))
+            raise TypeError(os.linesep.join(msg))
+        else:
+            return f(*args)
+
+class multi_method_registry_t:
+    def __init__( self, factory, restype ):
+        self.factory = factory
+        self.restype = restype
+        self.__functions = {}
+
+    def register( self, callable_or_name, argtypes=None ):
+        if isinstance( callable_or_name, native_callable ):
+            callable = callable_or_name
+        else:
+            name = callable_or_name
+            callable = self.factory( name, restype=self.restype, argtypes=argtypes )
+        self.__functions[ tuple(callable.func.argtypes) ] = callable.func
+        return self
+
+    def finalize(self):
+        return native_overloaded_callable( self.__functions )
+
+
+class mem_fun_factory( object ):
+    def __init__( self, dll, wrapper, class_name, namespace='' ):
+        self.dll = dll
+        self.namespace = namespace
+        self.class_name = class_name
+        self.this_type = ctypes.POINTER( wrapper )
+
+    def __call__( self, name, **keywd ):
+        if 'argtypes' not in keywd or keywd['argtypes'] is None:
+            keywd['argtypes'] = [ self.this_type ]
+        else:
+            keywd['argtypes'].insert( 0, self.this_type )
+        return native_callable( self.dll, name, **keywd )
+
+    def __get_ns_name(self):
+        if self.namespace:
+            return self.namespace + '::'
+        else:
+            return ''
+
+    def default_constructor( self ):
+        return self( '%(ns)s%(class_name)s::%(class_name)s(void)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name ) )
+
+    def constructor( self, argtypes_str, **keywd ):
+        return self( '%(ns)s%(class_name)s::%(class_name)s(%(args)s)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name
+                                , args=argtypes_str )
+                     , **keywd )
+
+    def copy_constructor( self ):
+        return self( '%(ns)s%(class_name)s::%(class_name)s(%(ns)s%(class_name)s const &)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name )
+                     , argtypes=[self.this_type] )
+
+    def destructor( self, is_virtual=False ):
+        virtuality = ''
+        if is_virtual:
+            virtuality = 'virtual '
+        return self( '%(virtuality)s%(ns)s%(class_name)s::~%(class_name)s(void)'
+                        % dict( ns=self.__get_ns_name()
+                                , virtuality=virtuality
+                                , class_name=self.class_name ) )
+
+    def operator_assign( self ):
+        return self( '%(ns)s%(class_name)s & %(class_name)s::operator=(%(class_name)s const &)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name )
+                     , restype=self.this_type
+                     , argtypes=[self.this_type] )
+
+    def method( self, name, restype_str=None, argtypes_str=None, **keywd ):
+        if None is restype_str:
+            restype_str = 'void'
+        if None is argtypes_str:
+            argtypes_str = 'void'
+
+        return self( '%(return_)s %(ns)s%(class_name)s::%(method_name)s(%(args)s)'
+                        % dict( return_=restype_str
+                                , ns=self.__get_ns_name()
+                                , class_name=self.class_name
+                                , method_name=name
+                                , args=argtypes_str )
+                     , **keywd )
+
+    def multi_method( self, restype=None ):
+        return multi_method_registry_t( self, restype )
+
+
+#take a look on http://code.activestate.com/recipes/413486/
+Enumeration = ctypes.c_int
+
diff --git a/examples/libmemcached_dev/pymemcached/exposed_decl.pypp.txt b/examples/libmemcached_dev/pymemcached/exposed_decl.pypp.txt
new file mode 100644
index 0000000..f9918ea
--- /dev/null
+++ b/examples/libmemcached_dev/pymemcached/exposed_decl.pypp.txt
@@ -0,0 +1,1144 @@
+~@destructor_t@~group_req@ ( ::group_req::* )(  )  ( ::group_req::* )(  ) 
+~@destructor_t@~cmsghdr@ ( ::cmsghdr::* )(  )  ( ::cmsghdr::* )(  ) 
+~@destructor_t@~__pthread_internal_slist@ ( ::__pthread_internal_slist::* )(  )  ( ::__pthread_internal_slist::* )(  ) 
+~@destructor_t@~ip_msfilter@ ( ::ip_msfilter::* )(  )  ( ::ip_msfilter::* )(  ) 
+~@destructor_t@~sockaddr_in@ ( ::sockaddr_in::* )(  )  ( ::sockaddr_in::* )(  ) 
+~@destructor_t@~ip_opts@ ( ::ip_opts::* )(  )  ( ::ip_opts::* )(  ) 
+~@destructor_t@~._9@ ( ::pthread_mutex_t::* )(  )  ( ::pthread_mutex_t::* )(  ) 
+~@destructor_t@~._8@ ( ::pthread_attr_t::* )(  )  ( ::pthread_attr_t::* )(  ) 
+~@destructor_t@~._5@ ( ::__fsid_t::* )(  )  ( ::__fsid_t::* )(  ) 
+~@destructor_t@~._4@ ( ::lldiv_t::* )(  )  ( ::lldiv_t::* )(  ) 
+~@destructor_t@~__locale_struct@ ( ::__locale_struct::* )(  )  ( ::__locale_struct::* )(  ) 
+~@destructor_t@~._6@ ( ::__sigset_t::* )(  )  ( ::__sigset_t::* )(  ) 
+~@destructor_t@~._1@ ( ::wait::* )(  )  ( ::wait::* )(  ) 
+~@destructor_t@~timespec@ ( ::timespec::* )(  )  ( ::timespec::* )(  ) 
+~@destructor_t@~._3@ ( ::ldiv_t::* )(  )  ( ::ldiv_t::* )(  ) 
+~@destructor_t@~._2@ ( ::div_t::* )(  )  ( ::div_t::* )(  ) 
++ at destructor_t@~memcached_string_st@ ( ::memcached_string_st::* )(  )  ( ::memcached_string_st::* )(  ) 
+~@destructor_t@~._26@ ( ::in6_addr::* )(  )  ( ::in6_addr::* )(  ) 
+~@destructor_t@~._20@ ( ::imaxdiv_t::* )(  )  ( ::imaxdiv_t::* )(  ) 
+~@destructor_t@~random_data@ ( ::random_data::* )(  )  ( ::random_data::* )(  ) 
++ at destructor_t@~memcached_st@ ( ::memcached_st::* )(  )  ( ::memcached_st::* )(  ) 
+~@destructor_t@~._7@ ( ::fd_set::* )(  )  ( ::fd_set::* )(  ) 
+~@destructor_t@~ip6_mtuinfo@ ( ::ip6_mtuinfo::* )(  )  ( ::ip6_mtuinfo::* )(  ) 
+~@destructor_t@~._0@ ( ::wait::* )(  )  ( ::wait::* )(  ) 
+~@destructor_t@~sockaddr@ ( ::sockaddr::* )(  )  ( ::sockaddr::* )(  ) 
+~@destructor_t@~sockaddr_storage@ ( ::sockaddr_storage::* )(  )  ( ::sockaddr_storage::* )(  ) 
+~@destructor_t@~__pthread_mutex_s@ ( ::pthread_mutex_t::__pthread_mutex_s::* )(  )  ( ::pthread_mutex_t::__pthread_mutex_s::* )(  ) 
+~@destructor_t@~ip_mreq@ ( ::ip_mreq::* )(  )  ( ::ip_mreq::* )(  ) 
+~@destructor_t@~osockaddr@ ( ::osockaddr::* )(  )  ( ::osockaddr::* )(  ) 
+~@destructor_t@~ip_mreqn@ ( ::ip_mreqn::* )(  )  ( ::ip_mreqn::* )(  ) 
+~@destructor_t@~wait@ ( ::wait::* )(  )  ( ::wait::* )(  ) 
+~@destructor_t@~in6_addr@ ( ::in6_addr::* )(  )  ( ::in6_addr::* )(  ) 
++ at destructor_t@~memcached_server_st@ ( ::memcached_server_st::* )(  )  ( ::memcached_server_st::* )(  ) 
+~@destructor_t@~msghdr@ ( ::msghdr::* )(  )  ( ::msghdr::* )(  ) 
++ at destructor_t@~memcached_result_st@ ( ::memcached_result_st::* )(  )  ( ::memcached_result_st::* )(  ) 
+~@destructor_t@~ip_mreq_source@ ( ::ip_mreq_source::* )(  )  ( ::ip_mreq_source::* )(  ) 
+~@destructor_t@~group_filter@ ( ::group_filter::* )(  )  ( ::group_filter::* )(  ) 
+~@destructor_t@~iovec@ ( ::iovec::* )(  )  ( ::iovec::* )(  ) 
+~@destructor_t@~timeval@ ( ::timeval::* )(  )  ( ::timeval::* )(  ) 
+~@destructor_t@~in6_pktinfo@ ( ::in6_pktinfo::* )(  )  ( ::in6_pktinfo::* )(  ) 
++ at destructor_t@~memcached_analysis_st@ ( ::memcached_analysis_st::* )(  )  ( ::memcached_analysis_st::* )(  ) 
+~@destructor_t@~in_pktinfo@ ( ::in_pktinfo::* )(  )  ( ::in_pktinfo::* )(  ) 
+~@destructor_t@~ipv6_mreq@ ( ::ipv6_mreq::* )(  )  ( ::ipv6_mreq::* )(  ) 
+~@destructor_t@~linger@ ( ::linger::* )(  )  ( ::linger::* )(  ) 
+~@destructor_t@~ucred@ ( ::ucred::* )(  )  ( ::ucred::* )(  ) 
+~@destructor_t@~group_source_req@ ( ::group_source_req::* )(  )  ( ::group_source_req::* )(  ) 
+~@destructor_t@~in_addr@ ( ::in_addr::* )(  )  ( ::in_addr::* )(  ) 
+~@destructor_t@~drand48_data@ ( ::drand48_data::* )(  )  ( ::drand48_data::* )(  ) 
+~@destructor_t@~sockaddr_in6@ ( ::sockaddr_in6::* )(  )  ( ::sockaddr_in6::* )(  ) 
++ at destructor_t@~memcached_stat_st@ ( ::memcached_stat_st::* )(  )  ( ::memcached_stat_st::* )(  ) 
+~@destructor_t@~._19@ ( ::pthread_barrierattr_t::* )(  )  ( ::pthread_barrierattr_t::* )(  ) 
+~@destructor_t@~._18@ ( ::pthread_barrier_t::* )(  )  ( ::pthread_barrier_t::* )(  ) 
+~@destructor_t@~._15@ ( ::pthread_rwlock_t::* )(  )  ( ::pthread_rwlock_t::* )(  ) 
+~@destructor_t@~._14@ ( ::pthread_condattr_t::* )(  )  ( ::pthread_condattr_t::* )(  ) 
+~@destructor_t@~._17@ ( ::pthread_rwlockattr_t::* )(  )  ( ::pthread_rwlockattr_t::* )(  ) 
+~@destructor_t@~._16@ ( ::pthread_rwlock_t::* )(  )  ( ::pthread_rwlock_t::* )(  ) 
+~@destructor_t@~._11@ ( ::pthread_mutexattr_t::* )(  )  ( ::pthread_mutexattr_t::* )(  ) 
+~@destructor_t@~._13@ ( ::pthread_cond_t::* )(  )  ( ::pthread_cond_t::* )(  ) 
+~@destructor_t@~._12@ ( ::pthread_cond_t::* )(  )  ( ::pthread_cond_t::* )(  ) 
+~@enumeration_t@('/usr/include/bits/socket.h', 320)@::
+~@enumeration_t at memcached_server_distribution@::memcached_server_distribution
++ at enumeration_t@memcached_behavior@::memcached_behavior
++ at enumeration_t@memcached_callback@::memcached_callback
++ at enumeration_t@memcached_connection@::memcached_connection
+~@enumeration_t at __socket_type@::__socket_type
++ at enumeration_t@memcached_hash@::memcached_hash
+~@enumeration_t@('/usr/include/netinet/in.h', 100)@::
++ at enumeration_t@memcached_return@::memcached_return
+~@enumeration_t@('/usr/include/sys/socket.h', 54)@::
+~@enumeration_t@('/usr/include/netinet/in.h', 32)@::
+~@enumeration_t@('/usr/include/bits/socket.h', 196)@::
+~@typedef_t at __uint16_t@::__uint16_t
+~@typedef_t at __int16_t@::__int16_t
+~@typedef_t at __u_char@::__u_char
+~@typedef_t at int_fast32_t@::int_fast32_t
+~@typedef_t at pthread_once_t@::pthread_once_t
+~@typedef_t at fsfilcnt_t@::fsfilcnt_t
+~@typedef_t at __swblk_t@::__swblk_t
+~@typedef_t at mode_t@::mode_t
+~@typedef_t at __off64_t@::__off64_t
+~@typedef_t at size_t@::size_t
+~@typedef_t at __uint32_t@::__uint32_t
+~@typedef_t at uint8_t@::uint8_t
+~@typedef_t at register_t@::register_t
+~@typedef_t at blkcnt_t@::blkcnt_t
+~@typedef_t at uint_least16_t@::uint_least16_t
+~@typedef_t at __ino64_t@::__ino64_t
+~@typedef_t at memcached_clone_func@::memcached_clone_func
+~@typedef_t at __qaddr_t@::__qaddr_t
+~@typedef_t at memcached_continuum_item_st@::memcached_continuum_item_st
+~@typedef_t at int32_t@::int32_t
+~@typedef_t at __loff_t@::__loff_t
+~@typedef_t at intptr_t@::intptr_t
+~@typedef_t at off64_t@::off64_t
+~@typedef_t at blksize_t@::blksize_t
+~@typedef_t at daddr_t@::daddr_t
+~@typedef_t at int_fast8_t@::int_fast8_t
+~@typedef_t at u_char@::u_char
+~@typedef_t at uid_t@::uid_t
+~@typedef_t at u_int64_t@::u_int64_t
+~@typedef_t at u_int16_t@::u_int16_t
+~@typedef_t at __u_quad_t@::__u_quad_t
+~@typedef_t at __time_t@::__time_t
+~@typedef_t at in_port_t@::in_port_t
+~@typedef_t at memcached_trigger_key@::memcached_trigger_key
+~@typedef_t at sigset_t@::sigset_t
+~@typedef_t at __blksize_t@::__blksize_t
+~@typedef_t at uint_fast16_t@::uint_fast16_t
+~@typedef_t at __int32_t@::__int32_t
+~@typedef_t at memcached_malloc_function@::memcached_malloc_function
+~@typedef_t at __nlink_t@::__nlink_t
+~@typedef_t at __compar_fn_t@::__compar_fn_t
+~@typedef_t at __timer_t@::__timer_t
+~@typedef_t at __uint64_t@::__uint64_t
+~@typedef_t at __ssize_t@::__ssize_t
+~@typedef_t at comparison_fn_t@::comparison_fn_t
+~@typedef_t at __fd_mask@::__fd_mask
+~@typedef_t at intmax_t@::intmax_t
+~@typedef_t at int16_t@::int16_t
+~@typedef_t at clock_t@::clock_t
+~@typedef_t at __id_t@::__id_t
+~@typedef_t at int_fast64_t@::int_fast64_t
+~@typedef_t at __clockid_t@::__clockid_t
+~@typedef_t at __useconds_t@::__useconds_t
+~@typedef_t at memcached_result_st@::memcached_result_st
+~@typedef_t at uint_fast32_t@::uint_fast32_t
+~@typedef_t at int_least8_t@::int_least8_t
+~@typedef_t at socklen_t@::socklen_t
+~@typedef_t at id_t@::id_t
+~@typedef_t at int_least16_t@::int_least16_t
+~@typedef_t at uint_least8_t@::uint_least8_t
+~@typedef_t at u_int32_t@::u_int32_t
+~@typedef_t at fd_mask@::fd_mask
+~@typedef_t at __intptr_t@::__intptr_t
+~@typedef_t at __u_long@::__u_long
+~@typedef_t at memcached_dump_func@::memcached_dump_func
+~@typedef_t at memcached_free_function@::memcached_free_function
+~@typedef_t at ushort@::ushort
+~@typedef_t at __blkcnt_t@::__blkcnt_t
+~@typedef_t at pthread_t@::pthread_t
+~@typedef_t at clockid_t@::clockid_t
+~@typedef_t at memcached_server_function@::memcached_server_function
+~@typedef_t at caddr_t@::caddr_t
+~@typedef_t at uint@::uint
+~@typedef_t at memcached_server_st@::memcached_server_st
+~@typedef_t at __rlim64_t@::__rlim64_t
+~@typedef_t at uint16_t@::uint16_t
+~@typedef_t at uint_fast8_t@::uint_fast8_t
+~@typedef_t at __mode_t@::__mode_t
+~@typedef_t at uint_least64_t@::uint_least64_t
+~@typedef_t at memcached_trigger_delete_key@::memcached_trigger_delete_key
+~@typedef_t at pthread_spinlock_t@::pthread_spinlock_t
+~@typedef_t at __off_t@::__off_t
+~@typedef_t at __pthread_slist_t@::__pthread_slist_t
+~@typedef_t at fsblkcnt_t@::fsblkcnt_t
+~@typedef_t at __gid_t@::__gid_t
+~@typedef_t at u_quad_t@::u_quad_t
+~@typedef_t at __compar_d_fn_t@::__compar_d_fn_t
+~@typedef_t at fsfilcnt64_t@::fsfilcnt64_t
+~@typedef_t at __daddr_t@::__daddr_t
+~@typedef_t at ino64_t@::ino64_t
+~@typedef_t at __sig_atomic_t@::__sig_atomic_t
+~@typedef_t at uint_least32_t@::uint_least32_t
+~@typedef_t at int_least64_t@::int_least64_t
+~@typedef_t at uintptr_t@::uintptr_t
+~@typedef_t at __uint8_t@::__uint8_t
+~@typedef_t at __int8_t@::__int8_t
+~@typedef_t at __fsblkcnt64_t@::__fsblkcnt64_t
+~@typedef_t at u_int@::u_int
+~@typedef_t at __caddr_t@::__caddr_t
+~@typedef_t at __blkcnt64_t@::__blkcnt64_t
+~@typedef_t at __dev_t@::__dev_t
+~@typedef_t at memcached_stat_st@::memcached_stat_st
+~@typedef_t at gid_t@::gid_t
+~@typedef_t at memcached_st@::memcached_st
+~@typedef_t at __suseconds_t@::__suseconds_t
+~@typedef_t at pid_t@::pid_t
+~@typedef_t at timer_t@::timer_t
+~@typedef_t at quad_t@::quad_t
+~@typedef_t at uint_fast64_t@::uint_fast64_t
+~@typedef_t at u_long@::u_long
+~@typedef_t at memcached_analysis_st@::memcached_analysis_st
+~@typedef_t at __fsfilcnt64_t@::__fsfilcnt64_t
+~@typedef_t at memcached_string_st@::memcached_string_st
+~@typedef_t at __socklen_t@::__socklen_t
+~@typedef_t at pthread_key_t@::pthread_key_t
+~@typedef_t at uint64_t@::uint64_t
+~@typedef_t at blkcnt64_t@::blkcnt64_t
+~@typedef_t at u_int8_t@::u_int8_t
+~@typedef_t at loff_t@::loff_t
+~@typedef_t at memcached_calloc_function@::memcached_calloc_function
+~@typedef_t at uintmax_t@::uintmax_t
+~@typedef_t at off_t@::off_t
+~@typedef_t at __fsblkcnt_t@::__fsblkcnt_t
+~@typedef_t at int64_t@::int64_t
+~@typedef_t at int_fast16_t@::int_fast16_t
+~@typedef_t at __locale_t@::__locale_t
+~@typedef_t at time_t@::time_t
+~@typedef_t at u_short@::u_short
+~@typedef_t at memcached_execute_function@::memcached_execute_function
+~@typedef_t at __rlim_t@::__rlim_t
+~@typedef_t at nlink_t@::nlink_t
+~@typedef_t at ino_t@::ino_t
+~@typedef_t at sa_family_t@::sa_family_t
+~@typedef_t at fsblkcnt64_t@::fsblkcnt64_t
+~@typedef_t at __u_short@::__u_short
+~@typedef_t at int_least32_t@::int_least32_t
+~@typedef_t at fsid_t@::fsid_t
+~@typedef_t at __pid_t@::__pid_t
+~@typedef_t at uint32_t@::uint32_t
+~@typedef_t at ulong@::ulong
+~@typedef_t at key_t@::key_t
+~@typedef_t at __ino_t@::__ino_t
+~@typedef_t at int8_t@::int8_t
+~@typedef_t at useconds_t@::useconds_t
+~@typedef_t at memcached_realloc_function@::memcached_realloc_function
+~@typedef_t at locale_t@::locale_t
+~@typedef_t at memcached_cleanup_func@::memcached_cleanup_func
+~@typedef_t at in_addr_t@::in_addr_t
+~@typedef_t at __u_int@::__u_int
+~@typedef_t at __quad_t@::__quad_t
+~@typedef_t at __int64_t@::__int64_t
+~@typedef_t at __key_t@::__key_t
+~@typedef_t at ssize_t@::ssize_t
+~@typedef_t at __clock_t@::__clock_t
+~@typedef_t at dev_t@::dev_t
+~@typedef_t at __uid_t@::__uid_t
+~@typedef_t at __fsfilcnt_t@::__fsfilcnt_t
+~@typedef_t at suseconds_t@::suseconds_t
+~@namespace_t at std@::std
+~@namespace_t at __cxxabiv1@::__cxxabiv1
++ at class_declaration_t@memcached_continuum_item_st@::memcached_continuum_item_st
++ at class_declaration_t@addrinfo@::addrinfo
+~@class_declaration_t at locale_data@::locale_data
++ at variable_t@continuum_points_counter@::memcached_st::continuum_points_counter
++ at variable_t@least_free_server@::memcached_analysis_st::least_free_server
++ at variable_t@most_used_bytes@::memcached_analysis_st::most_used_bytes
++ at variable_t@call_realloc@::memcached_st::call_realloc
+~@variable_t at __flags@::pthread_rwlock_t::__flags
+~@variable_t at sin_port@::sockaddr_in::sin_port
+~@variable_t at imr_address@::ip_mreqn::imr_address
+~@variable_t at __woken_seq@::pthread_cond_t::__woken_seq
+~@variable_t at __total_seq@::pthread_cond_t::__total_seq
++ at variable_t@oldest_server@::memcached_analysis_st::oldest_server
++ at variable_t@minor_version@::memcached_server_st::minor_version
+~@variable_t at imr_multiaddr@::ip_mreq::imr_multiaddr
+~@variable_t at imr_multiaddr@::ip_mreq_source::imr_multiaddr
+~@variable_t at imr_multiaddr@::ip_mreqn::imr_multiaddr
++ at variable_t@total_items@::memcached_stat_st::total_items
+~@variable_t at rand_type@::random_data::rand_type
++ at variable_t@curr_connections@::memcached_stat_st::curr_connections
+~@variable_t at ipi_spec_dst@::in_pktinfo::ipi_spec_dst
+~@variable_t at iov_base@::iovec::iov_base
++ at variable_t@snd_timeout@::memcached_st::snd_timeout
+~@variable_t at __spins@::pthread_mutex_t::__pthread_mutex_s::__spins
+~@variable_t at msg_namelen@::msghdr::msg_namelen
++ at variable_t@on_cleanup@::memcached_st::on_cleanup
++ at variable_t@on_clone@::memcached_st::on_clone
++ at variable_t@version@::memcached_stat_st::version
+~@variable_t at imsf_multiaddr@::ip_msfilter::imsf_multiaddr
+~@variable_t at __val@::__sigset_t::__val
+~@variable_t at __val@::__fsid_t::__val
++ at variable_t@micro_version@::memcached_server_st::micro_version
+~@variable_t at gf_fmode@::group_filter::gf_fmode
++ at variable_t@get_hits@::memcached_stat_st::get_hits
++ at variable_t@pool_hit_ratio@::memcached_analysis_st::pool_hit_ratio
+~@variable_t at sin6_family@::sockaddr_in6::sin6_family
++ at variable_t@string@::memcached_string_st::string
+~@variable_t at __u6_addr8@::in6_addr::__u6_addr8
+~@variable_t at __old_x@::drand48_data::__old_x
++ at variable_t@server_failure_counter@::memcached_server_st::server_failure_counter
+~@variable_t at ss_family@::sockaddr_storage::ss_family
+~@variable_t at imsf_numsrc@::ip_msfilter::imsf_numsrc
+~@variable_t at ipv6mr_interface@::ipv6_mreq::ipv6mr_interface
++ at variable_t@bytes_read@::memcached_stat_st::bytes_read
+~@variable_t at imsf_interface@::ip_msfilter::imsf_interface
+~@variable_t at gf_slist@::group_filter::gf_slist
+~@variable_t at msg_iov@::msghdr::msg_iov
++ at variable_t@continuum@::memcached_st::continuum
+~@variable_t at __w_termsig@::wait::__w_termsig
++ at variable_t@continuum_count@::memcached_st::continuum_count
+~@variable_t at __mutex@::pthread_cond_t::__mutex
+~@variable_t at rand_sep@::random_data::rand_sep
+~@variable_t at __align@::pthread_condattr_t::__align
+~@variable_t at __align@::pthread_mutexattr_t::__align
+~@variable_t at __align@::pthread_mutex_t::__align
+~@variable_t at __align@::pthread_cond_t::__align
+~@variable_t at __align@::pthread_barrier_t::__align
+~@variable_t at __align@::pthread_barrierattr_t::__align
+~@variable_t at __align@::pthread_rwlockattr_t::__align
+~@variable_t at __align@::pthread_attr_t::__align
+~@variable_t at __align@::pthread_rwlock_t::__align
+~@variable_t at __u6_addr32@::in6_addr::__u6_addr32
++ at variable_t@bytes@::memcached_stat_st::bytes
+~@variable_t at __readers_wakeup@::pthread_rwlock_t::__readers_wakeup
+~@variable_t at sin6_flowinfo@::sockaddr_in6::sin6_flowinfo
++ at variable_t@cas@::memcached_result_st::cas
+~@variable_t at gr_group@::group_req::gr_group
+~@variable_t at __ss_align@::sockaddr_storage::__ss_align
++ at variable_t@cursor_active@::memcached_server_st::cursor_active
++ at variable_t@rusage_system_seconds@::memcached_stat_st::rusage_system_seconds
++ at variable_t@write_buffer@::memcached_server_st::write_buffer
+~@variable_t at gf_interface@::group_filter::gf_interface
++ at variable_t@pointer_size@::memcached_stat_st::pointer_size
++ at variable_t@read_buffer_length@::memcached_server_st::read_buffer_length
+~@variable_t at __wait_stopped@::wait::__wait_stopped
++ at variable_t@retry_timeout@::memcached_st::retry_timeout
+~@variable_t at __owner@::pthread_mutex_t::__pthread_mutex_s::__owner
+~@variable_t at __ctype_tolower@::__locale_struct::__ctype_tolower
++ at variable_t@weight@::memcached_server_st::weight
++ at variable_t@number_of_replicas@::memcached_st::number_of_replicas
+~@variable_t at ip6m_mtu@::ip6_mtuinfo::ip6m_mtu
++ at variable_t@average_item_size@::memcached_analysis_st::average_item_size
+~@variable_t at __kind@::pthread_mutex_t::__pthread_mutex_s::__kind
+~@variable_t at iov_len@::iovec::iov_len
+~@variable_t at __locales@::__locale_struct::__locales
++ at variable_t@result@::memcached_st::result
+~@variable_t at tv_sec@::timeval::tv_sec
+~@variable_t at tv_sec@::timespec::tv_sec
+~@variable_t at gr_interface@::group_req::gr_interface
+~@variable_t at __lock@::pthread_mutex_t::__pthread_mutex_s::__lock
+~@variable_t at __lock@::pthread_cond_t::__lock
+~@variable_t at __lock@::pthread_rwlock_t::__lock
+~@variable_t at __a@::drand48_data::__a
+~@variable_t at ipi6_addr@::in6_pktinfo::ipi6_addr
++ at variable_t@major_version@::memcached_server_st::major_version
+~@variable_t at __writer@::pthread_rwlock_t::__writer
++ at variable_t@call_malloc@::memcached_st::call_malloc
+~@variable_t at end_ptr@::random_data::end_ptr
++ at variable_t@next_distribution_rebuild@::memcached_st::next_distribution_rebuild
+~@variable_t at state@::random_data::state
+~@variable_t at __pad2@::pthread_rwlock_t::__pad2
++ at variable_t@limit_maxbytes@::memcached_stat_st::limit_maxbytes
++ at variable_t@limit_maxbytes@::memcached_server_st::limit_maxbytes
+~@variable_t at rem@::imaxdiv_t::rem
+~@variable_t at rem@::div_t::rem
+~@variable_t at rem@::lldiv_t::rem
+~@variable_t at rem@::ldiv_t::rem
++ at variable_t@hosts@::memcached_st::hosts
+~@variable_t at __writer_wakeup@::pthread_rwlock_t::__writer_wakeup
++ at variable_t@least_remaining_bytes@::memcached_analysis_st::least_remaining_bytes
+~@variable_t at l_onoff@::linger::l_onoff
+~@variable_t at msg_control@::msghdr::msg_control
+~@variable_t at __next@::__pthread_internal_slist::__next
+~@variable_t at gf_numsrc@::group_filter::gf_numsrc
++ at variable_t@call_calloc@::memcached_st::call_calloc
++ at variable_t@hash@::memcached_st::hash
+~@variable_t at __nr_writers_queued@::pthread_rwlock_t::__nr_writers_queued
++ at variable_t@cmd_get@::memcached_stat_st::cmd_get
+~@variable_t at cmsg_len@::cmsghdr::cmsg_len
+~@variable_t at __list@::pthread_mutex_t::__pthread_mutex_s::__list
+~@variable_t at sin6_scope_id@::sockaddr_in6::sin6_scope_id
+~@variable_t at sin_zero@::sockaddr_in::sin_zero
++ at variable_t@threads@::memcached_stat_st::threads
++ at variable_t@key@::memcached_result_st::key
++ at variable_t@curr_items@::memcached_stat_st::curr_items
++ at variable_t@get_misses@::memcached_stat_st::get_misses
++ at variable_t@most_consumed_server@::memcached_analysis_st::most_consumed_server
++ at variable_t@key_length@::memcached_result_st::key_length
+~@variable_t at sin_addr@::sockaddr_in::sin_addr
++ at variable_t@next_retry@::memcached_server_st::next_retry
++ at variable_t@write_buffer_offset@::memcached_server_st::write_buffer_offset
+~@variable_t at ipi6_ifindex@::in6_pktinfo::ipi6_ifindex
+~@variable_t at __c@::drand48_data::__c
+~@variable_t at __w_coredump@::wait::__w_coredump
++ at variable_t@rusage_user_seconds@::memcached_stat_st::rusage_user_seconds
++ at variable_t@send_size@::memcached_st::send_size
+~@variable_t at fds_bits@::fd_set::fds_bits
++ at variable_t@hostname@::memcached_server_st::hostname
+~@variable_t at __ctype_toupper@::__locale_struct::__ctype_toupper
++ at variable_t@poll_timeout@::memcached_st::poll_timeout
+~@variable_t at in6addr_loopback@::in6addr_loopback
++ at variable_t@fd@::memcached_server_st::fd
+~@variable_t at __x@::drand48_data::__x
+~@variable_t at imr_sourceaddr@::ip_mreq_source::imr_sourceaddr
++ at variable_t@io_key_prefetch@::memcached_st::io_key_prefetch
+~@variable_t at __w_stopval@::wait::__w_stopval
+~@variable_t at imsf_slist@::ip_msfilter::imsf_slist
+~@variable_t at imr_interface@::ip_mreq::imr_interface
+~@variable_t at imr_interface@::ip_mreq_source::imr_interface
++ at variable_t@cursor_server@::memcached_st::cursor_server
++ at variable_t@block_size@::memcached_string_st::block_size
++ at variable_t@read_data_length@::memcached_server_st::read_data_length
+~@variable_t at __wakeup_seq@::pthread_cond_t::__wakeup_seq
++ at variable_t@current_size@::memcached_string_st::current_size
+~@variable_t at __shared@::pthread_rwlock_t::__shared
+~@variable_t at msg_name@::msghdr::msg_name
++ at variable_t@rusage_user_microseconds@::memcached_stat_st::rusage_user_microseconds
++ at variable_t@io_msg_watermark@::memcached_st::io_msg_watermark
+~@variable_t at in6addr_any@::in6addr_any
+~@variable_t at gid@::ucred::gid
++ at variable_t@type@::memcached_server_st::type
+~@variable_t at __nr_readers@::pthread_rwlock_t::__nr_readers
+~@variable_t at fptr@::random_data::fptr
+~@variable_t at __ss_padding@::sockaddr_storage::__ss_padding
++ at variable_t@read_buffer@::memcached_server_st::read_buffer
+~@variable_t at l_linger@::linger::l_linger
+~@variable_t at msg_iovlen@::msghdr::msg_iovlen
++ at variable_t@user_data@::memcached_st::user_data
+~@variable_t at __nusers@::pthread_mutex_t::__pthread_mutex_s::__nusers
+~@variable_t@('/usr/include/bits/waitstatus.h', 76)@::wait
+~@variable_t at gsr_group@::group_source_req::gsr_group
++ at variable_t@bytes_written@::memcached_stat_st::bytes_written
++ at variable_t@cached_errno@::memcached_st::cached_errno
++ at variable_t@cached_errno@::memcached_server_st::cached_errno
+~@variable_t at rptr@::random_data::rptr
+~@variable_t at cmsg_level@::cmsghdr::cmsg_level
++ at variable_t@count@::memcached_server_st::count
+~@variable_t at rand_deg@::random_data::rand_deg
+~@variable_t at gsr_interface@::group_source_req::gsr_interface
+~@variable_t@('/usr/include/bits/pthreadtypes.h', 99)@::pthread_mutex_t::__pthread_mutex_s
++ at variable_t@value@::memcached_result_st::value
+~@variable_t at tv_nsec@::timespec::tv_nsec
+~@variable_t at __pad1@::pthread_rwlock_t::__pad1
+~@variable_t at __names@::__locale_struct::__names
+~@variable_t at __init@::drand48_data::__init
+~@variable_t at sin6_addr@::sockaddr_in6::sin6_addr
+~@variable_t at __in6_u@::in6_addr::__in6_u
++ at variable_t@expiration@::memcached_result_st::expiration
++ at variable_t@call_free@::memcached_st::call_free
++ at variable_t@distribution@::memcached_st::distribution
++ at variable_t@root@::memcached_string_st::root
++ at variable_t@root@::memcached_result_st::root
++ at variable_t@root@::memcached_server_st::root
++ at variable_t@longest_uptime@::memcached_analysis_st::longest_uptime
+~@variable_t at __data@::pthread_mutex_t::__data
+~@variable_t at __data@::pthread_cond_t::__data
+~@variable_t at __data@::pthread_rwlock_t::__data
+~@variable_t at uid@::ucred::uid
+~@variable_t at tv_usec@::timeval::tv_usec
++ at variable_t@io_bytes_watermark@::memcached_st::io_bytes_watermark
+~@variable_t at ip_dst@::ip_opts::ip_dst
+~@variable_t at __nwaiters@::pthread_cond_t::__nwaiters
++ at variable_t@pid@::memcached_stat_st::pid
+~@variable_t at pid@::ucred::pid
+~@variable_t at s_addr@::in_addr::s_addr
++ at variable_t@evictions@::memcached_stat_st::evictions
+~@variable_t at __w_stopsig@::wait::__w_stopsig
+~@variable_t at __ctype_b@::__locale_struct::__ctype_b
+~@variable_t at sin_family@::sockaddr_in::sin_family
++ at variable_t@prefix_key@::memcached_st::prefix_key
+~@variable_t at ipi_addr@::in_pktinfo::ipi_addr
++ at variable_t@read_ptr@::memcached_server_st::read_ptr
++ at variable_t@connection_structures@::memcached_stat_st::connection_structures
++ at variable_t@uptime@::memcached_stat_st::uptime
++ at variable_t@end@::memcached_string_st::end
++ at variable_t@rcv_timeout@::memcached_st::rcv_timeout
+~@variable_t at quot@::imaxdiv_t::quot
+~@variable_t at quot@::div_t::quot
+~@variable_t at quot@::lldiv_t::quot
+~@variable_t at quot@::ldiv_t::quot
+~@variable_t at w_status@::wait::w_status
++ at variable_t@is_allocated@::memcached_string_st::is_allocated
++ at variable_t@is_allocated@::memcached_st::is_allocated
++ at variable_t@is_allocated@::memcached_result_st::is_allocated
++ at variable_t@is_allocated@::memcached_server_st::is_allocated
+~@variable_t at __size@::pthread_condattr_t::__size
+~@variable_t at __size@::pthread_mutexattr_t::__size
+~@variable_t at __size@::pthread_mutex_t::__size
+~@variable_t at __size@::pthread_cond_t::__size
+~@variable_t at __size@::pthread_barrier_t::__size
+~@variable_t at __size@::pthread_barrierattr_t::__size
+~@variable_t at __size@::pthread_rwlockattr_t::__size
+~@variable_t at __size@::pthread_attr_t::__size
+~@variable_t at __size@::pthread_rwlock_t::__size
+~@variable_t at __broadcast_seq@::pthread_cond_t::__broadcast_seq
++ at variable_t@delete_trigger@::memcached_st::delete_trigger
++ at variable_t@hash_continuum@::memcached_st::hash_continuum
++ at variable_t@port@::memcached_server_st::port
+~@variable_t at __futex@::pthread_cond_t::__futex
++ at variable_t@prefix_key_length@::memcached_st::prefix_key_length
+~@variable_t at __nr_readers_queued@::pthread_rwlock_t::__nr_readers_queued
++ at variable_t@cmd_set@::memcached_stat_st::cmd_set
+~@variable_t at imsf_fmode@::ip_msfilter::imsf_fmode
++ at variable_t@get_key_failure@::memcached_st::get_key_failure
++ at variable_t@connect_timeout@::memcached_st::connect_timeout
+~@variable_t at msg_flags@::msghdr::msg_flags
+~@variable_t at ip_opts@::ip_opts::ip_opts
++ at variable_t@number_of_hosts@::memcached_st::number_of_hosts
++ at variable_t@address_info@::memcached_server_st::address_info
+~@variable_t at ipi_ifindex@::in_pktinfo::ipi_ifindex
+~@variable_t at gsr_source@::group_source_req::gsr_source
++ at variable_t@recv_size@::memcached_st::recv_size
+~@variable_t at sa_data@::sockaddr::sa_data
+~@variable_t at sa_data@::osockaddr::sa_data
+~@variable_t at msg_controllen@::msghdr::msg_controllen
++ at variable_t@total_connections@::memcached_stat_st::total_connections
++ at variable_t@server_failure_limit@::memcached_st::server_failure_limit
++ at variable_t@sockaddr_inited@::memcached_server_st::sockaddr_inited
+~@variable_t at __cmsg_data@::cmsghdr::__cmsg_data
++ at variable_t@rusage_system_microseconds@::memcached_stat_st::rusage_system_microseconds
+~@variable_t at sin6_port@::sockaddr_in6::sin6_port
+~@variable_t at __count@::pthread_mutex_t::__pthread_mutex_s::__count
++ at variable_t@io_bytes_sent@::memcached_server_st::io_bytes_sent
+~@variable_t at __wait_terminated@::wait::__wait_terminated
+~@variable_t@('/usr/include/bits/waitstatus.h', 90)@::wait
+~@variable_t at ipv6mr_multiaddr@::ipv6_mreq::ipv6mr_multiaddr
+~@variable_t at imr_ifindex@::ip_mreqn::imr_ifindex
++ at variable_t@purging@::memcached_st::purging
+~@variable_t at cmsg_type@::cmsghdr::cmsg_type
+~@variable_t at __u6_addr16@::in6_addr::__u6_addr16
++ at variable_t@flags@::memcached_st::flags
++ at variable_t@flags@::memcached_result_st::flags
+~@variable_t at __w_retcode@::wait::__w_retcode
++ at variable_t@time@::memcached_stat_st::time
+~@variable_t at sa_family@::sockaddr::sa_family
+~@variable_t at sa_family@::osockaddr::sa_family
+~@variable_t at gf_group@::group_filter::gf_group
+~@variable_t at ip6m_addr@::ip6_mtuinfo::ip6m_addr
+~@class_t at __pthread_mutex_s@::pthread_mutex_t::__pthread_mutex_s
+~@class_t at pthread_cond_t@::pthread_cond_t
+~@class_t at fd_set@::fd_set
+~@class_t at timespec@::timespec
+~@class_t at sockaddr@::sockaddr
+~@class_t at sockaddr_in@::sockaddr_in
+~@class_t at pthread_mutexattr_t@::pthread_mutexattr_t
+~@class_t at group_filter@::group_filter
+~@class_t at ip_msfilter@::ip_msfilter
+~@class_t at pthread_condattr_t@::pthread_condattr_t
+~@class_t at in_pktinfo@::in_pktinfo
+~@class_t at __fsid_t@::__fsid_t
+~@class_t@('/usr/include/bits/waitstatus.h', 71)@::wait
+~@class_t at iovec@::iovec
+~@class_t at random_data@::random_data
+~@class_t at pthread_rwlock_t@::pthread_rwlock_t
+~@class_t at ip_mreqn@::ip_mreqn
+~@class_t at __sigset_t@::__sigset_t
+~@class_t@('/usr/include/bits/pthreadtypes.h', 118)@::pthread_cond_t
++ at class_t@memcached_result_st@::memcached_result_st
+~@class_t at group_source_req@::group_source_req
+~@class_t at imaxdiv_t@::imaxdiv_t
+~@class_t at lldiv_t@::lldiv_t
+~@class_t at ip6_mtuinfo@::ip6_mtuinfo
+~@class_t at div_t@::div_t
+~@class_t at timeval@::timeval
+~@class_t at ldiv_t@::ldiv_t
++ at class_t@memcached_analysis_st@::memcached_analysis_st
+~@class_t at pthread_rwlockattr_t@::pthread_rwlockattr_t
+~@class_t at ip_opts@::ip_opts
+~@class_t at pthread_barrier_t@::pthread_barrier_t
+~@class_t at ipv6_mreq@::ipv6_mreq
+~@class_t@('/usr/include/bits/pthreadtypes.h', 171)@::pthread_rwlock_t
+~@class_t at group_req@::group_req
+~@class_t at ucred@::ucred
+~@class_t@('/usr/include/bits/pthreadtypes.h', 96)@::pthread_mutex_t::__pthread_mutex_s
+~@class_t at in_addr@::in_addr
+~@class_t at sockaddr_storage@::sockaddr_storage
+~@class_t@('/usr/include/netinet/in.h', 201)@::in6_addr
+~@class_t at sockaddr_in6@::sockaddr_in6
++ at class_t@memcached_stat_st@::memcached_stat_st
+~@class_t at pthread_barrierattr_t@::pthread_barrierattr_t
+~@class_t at in6_addr@::in6_addr
+~@class_t at wait@::wait
++ at class_t@memcached_st@::memcached_st
+~@class_t at ip_mreq_source@::ip_mreq_source
+~@class_t at linger@::linger
+~@class_t at osockaddr@::osockaddr
+~@class_t at __pthread_internal_slist@::__pthread_internal_slist
+~@class_t at drand48_data@::drand48_data
+~@class_t at in6_pktinfo@::in6_pktinfo
+~@class_t at pthread_mutex_t@::pthread_mutex_t
++ at class_t@memcached_string_st@::memcached_string_st
+~@class_t at pthread_attr_t@::pthread_attr_t
+~@class_t at ip_mreq@::ip_mreq
+~@class_t at cmsghdr@::cmsghdr
+~@class_t@('/usr/include/bits/waitstatus.h', 86)@::wait
+~@class_t at msghdr@::msghdr
++ at class_t@memcached_server_st@::memcached_server_st
+~@class_t at __locale_struct@::__locale_struct
+~@constructor_t at __pthread_mutex_s@ ( ::pthread_mutex_t::__pthread_mutex_s::* )( ::pthread_mutex_t::__pthread_mutex_s const & )  ( ::pthread_mutex_t::__pthread_mutex_s::* )( ::pthread_mutex_t::__pthread_mutex_s const & ) 
+~@constructor_t at __pthread_mutex_s@ ( ::pthread_mutex_t::__pthread_mutex_s::* )(  )  ( ::pthread_mutex_t::__pthread_mutex_s::* )(  ) 
+~@constructor_t at pthread_cond_t@ ( ::pthread_cond_t::* )( ::pthread_cond_t const & )  ( ::pthread_cond_t::* )( ::pthread_cond_t const & ) 
+~@constructor_t at pthread_cond_t@ ( ::pthread_cond_t::* )(  )  ( ::pthread_cond_t::* )(  ) 
+~@constructor_t at fd_set@ ( ::fd_set::* )( ::fd_set const & )  ( ::fd_set::* )( ::fd_set const & ) 
+~@constructor_t at fd_set@ ( ::fd_set::* )(  )  ( ::fd_set::* )(  ) 
+~@constructor_t at timespec@ ( ::timespec::* )( ::timespec const & )  ( ::timespec::* )( ::timespec const & ) 
+~@constructor_t at timespec@ ( ::timespec::* )(  )  ( ::timespec::* )(  ) 
+~@constructor_t at sockaddr@ ( ::sockaddr::* )( ::sockaddr const & )  ( ::sockaddr::* )( ::sockaddr const & ) 
+~@constructor_t at sockaddr@ ( ::sockaddr::* )(  )  ( ::sockaddr::* )(  ) 
+~@constructor_t at sockaddr_in@ ( ::sockaddr_in::* )( ::sockaddr_in const & )  ( ::sockaddr_in::* )( ::sockaddr_in const & ) 
+~@constructor_t at sockaddr_in@ ( ::sockaddr_in::* )(  )  ( ::sockaddr_in::* )(  ) 
+~@constructor_t at pthread_mutexattr_t@ ( ::pthread_mutexattr_t::* )( ::pthread_mutexattr_t const & )  ( ::pthread_mutexattr_t::* )( ::pthread_mutexattr_t const & ) 
+~@constructor_t at pthread_mutexattr_t@ ( ::pthread_mutexattr_t::* )(  )  ( ::pthread_mutexattr_t::* )(  ) 
+~@constructor_t at group_filter@ ( ::group_filter::* )( ::group_filter const & )  ( ::group_filter::* )( ::group_filter const & ) 
+~@constructor_t at group_filter@ ( ::group_filter::* )(  )  ( ::group_filter::* )(  ) 
+~@constructor_t at ip_msfilter@ ( ::ip_msfilter::* )( ::ip_msfilter const & )  ( ::ip_msfilter::* )( ::ip_msfilter const & ) 
+~@constructor_t at ip_msfilter@ ( ::ip_msfilter::* )(  )  ( ::ip_msfilter::* )(  ) 
+~@constructor_t at pthread_condattr_t@ ( ::pthread_condattr_t::* )( ::pthread_condattr_t const & )  ( ::pthread_condattr_t::* )( ::pthread_condattr_t const & ) 
+~@constructor_t at pthread_condattr_t@ ( ::pthread_condattr_t::* )(  )  ( ::pthread_condattr_t::* )(  ) 
+~@constructor_t at in_pktinfo@ ( ::in_pktinfo::* )( ::in_pktinfo const & )  ( ::in_pktinfo::* )( ::in_pktinfo const & ) 
+~@constructor_t at in_pktinfo@ ( ::in_pktinfo::* )(  )  ( ::in_pktinfo::* )(  ) 
+~@constructor_t at __fsid_t@ ( ::__fsid_t::* )( ::__fsid_t const & )  ( ::__fsid_t::* )( ::__fsid_t const & ) 
+~@constructor_t at __fsid_t@ ( ::__fsid_t::* )(  )  ( ::__fsid_t::* )(  ) 
+~@constructor_t@('/usr/include/bits/waitstatus.h', 71)@ ( ::wait::* )( ::wait const & )  ( ::wait::* )( ::wait const & ) 
+~@constructor_t@('/usr/include/bits/waitstatus.h', 71)@ ( ::wait::* )(  )  ( ::wait::* )(  ) 
+~@constructor_t at iovec@ ( ::iovec::* )( ::iovec const & )  ( ::iovec::* )( ::iovec const & ) 
+~@constructor_t at iovec@ ( ::iovec::* )(  )  ( ::iovec::* )(  ) 
+~@constructor_t at random_data@ ( ::random_data::* )( ::random_data const & )  ( ::random_data::* )( ::random_data const & ) 
+~@constructor_t at random_data@ ( ::random_data::* )(  )  ( ::random_data::* )(  ) 
+~@constructor_t at ip_mreqn@ ( ::ip_mreqn::* )( ::ip_mreqn const & )  ( ::ip_mreqn::* )( ::ip_mreqn const & ) 
+~@constructor_t at ip_mreqn@ ( ::ip_mreqn::* )(  )  ( ::ip_mreqn::* )(  ) 
+~@constructor_t at __sigset_t@ ( ::__sigset_t::* )( ::__sigset_t const & )  ( ::__sigset_t::* )( ::__sigset_t const & ) 
+~@constructor_t at __sigset_t@ ( ::__sigset_t::* )(  )  ( ::__sigset_t::* )(  ) 
+~@constructor_t@('/usr/include/bits/pthreadtypes.h', 118)@ ( ::pthread_cond_t::* )( ::pthread_cond_t const & )  ( ::pthread_cond_t::* )( ::pthread_cond_t const & ) 
+~@constructor_t@('/usr/include/bits/pthreadtypes.h', 118)@ ( ::pthread_cond_t::* )(  )  ( ::pthread_cond_t::* )(  ) 
++ at constructor_t@memcached_result_st@ ( ::memcached_result_st::* )( ::memcached_result_st const & )  ( ::memcached_result_st::* )( ::memcached_result_st const & ) 
++ at constructor_t@memcached_result_st@ ( ::memcached_result_st::* )(  )  ( ::memcached_result_st::* )(  ) 
+~@constructor_t at group_source_req@ ( ::group_source_req::* )( ::group_source_req const & )  ( ::group_source_req::* )( ::group_source_req const & ) 
+~@constructor_t at group_source_req@ ( ::group_source_req::* )(  )  ( ::group_source_req::* )(  ) 
+~@constructor_t at imaxdiv_t@ ( ::imaxdiv_t::* )( ::imaxdiv_t const & )  ( ::imaxdiv_t::* )( ::imaxdiv_t const & ) 
+~@constructor_t at imaxdiv_t@ ( ::imaxdiv_t::* )(  )  ( ::imaxdiv_t::* )(  ) 
+~@constructor_t at lldiv_t@ ( ::lldiv_t::* )( ::lldiv_t const & )  ( ::lldiv_t::* )( ::lldiv_t const & ) 
+~@constructor_t at lldiv_t@ ( ::lldiv_t::* )(  )  ( ::lldiv_t::* )(  ) 
+~@constructor_t at ip6_mtuinfo@ ( ::ip6_mtuinfo::* )( ::ip6_mtuinfo const & )  ( ::ip6_mtuinfo::* )( ::ip6_mtuinfo const & ) 
+~@constructor_t at ip6_mtuinfo@ ( ::ip6_mtuinfo::* )(  )  ( ::ip6_mtuinfo::* )(  ) 
+~@constructor_t at div_t@ ( ::div_t::* )( ::div_t const & )  ( ::div_t::* )( ::div_t const & ) 
+~@constructor_t at div_t@ ( ::div_t::* )(  )  ( ::div_t::* )(  ) 
+~@constructor_t at timeval@ ( ::timeval::* )( ::timeval const & )  ( ::timeval::* )( ::timeval const & ) 
+~@constructor_t at timeval@ ( ::timeval::* )(  )  ( ::timeval::* )(  ) 
+~@constructor_t at ldiv_t@ ( ::ldiv_t::* )( ::ldiv_t const & )  ( ::ldiv_t::* )( ::ldiv_t const & ) 
+~@constructor_t at ldiv_t@ ( ::ldiv_t::* )(  )  ( ::ldiv_t::* )(  ) 
++ at constructor_t@memcached_analysis_st@ ( ::memcached_analysis_st::* )( ::memcached_analysis_st const & )  ( ::memcached_analysis_st::* )( ::memcached_analysis_st const & ) 
++ at constructor_t@memcached_analysis_st@ ( ::memcached_analysis_st::* )(  )  ( ::memcached_analysis_st::* )(  ) 
+~@constructor_t at pthread_rwlockattr_t@ ( ::pthread_rwlockattr_t::* )( ::pthread_rwlockattr_t const & )  ( ::pthread_rwlockattr_t::* )( ::pthread_rwlockattr_t const & ) 
+~@constructor_t at pthread_rwlockattr_t@ ( ::pthread_rwlockattr_t::* )(  )  ( ::pthread_rwlockattr_t::* )(  ) 
+~@constructor_t at ip_opts@ ( ::ip_opts::* )( ::ip_opts const & )  ( ::ip_opts::* )( ::ip_opts const & ) 
+~@constructor_t at ip_opts@ ( ::ip_opts::* )(  )  ( ::ip_opts::* )(  ) 
+~@constructor_t at pthread_barrier_t@ ( ::pthread_barrier_t::* )( ::pthread_barrier_t const & )  ( ::pthread_barrier_t::* )( ::pthread_barrier_t const & ) 
+~@constructor_t at pthread_barrier_t@ ( ::pthread_barrier_t::* )(  )  ( ::pthread_barrier_t::* )(  ) 
+~@constructor_t at ipv6_mreq@ ( ::ipv6_mreq::* )( ::ipv6_mreq const & )  ( ::ipv6_mreq::* )( ::ipv6_mreq const & ) 
+~@constructor_t at ipv6_mreq@ ( ::ipv6_mreq::* )(  )  ( ::ipv6_mreq::* )(  ) 
+~@constructor_t@('/usr/include/bits/pthreadtypes.h', 171)@ ( ::pthread_rwlock_t::* )( ::pthread_rwlock_t const & )  ( ::pthread_rwlock_t::* )( ::pthread_rwlock_t const & ) 
+~@constructor_t@('/usr/include/bits/pthreadtypes.h', 171)@ ( ::pthread_rwlock_t::* )(  )  ( ::pthread_rwlock_t::* )(  ) 
+~@constructor_t at group_req@ ( ::group_req::* )( ::group_req const & )  ( ::group_req::* )( ::group_req const & ) 
+~@constructor_t at group_req@ ( ::group_req::* )(  )  ( ::group_req::* )(  ) 
+~@constructor_t at ucred@ ( ::ucred::* )( ::ucred const & )  ( ::ucred::* )( ::ucred const & ) 
+~@constructor_t at ucred@ ( ::ucred::* )(  )  ( ::ucred::* )(  ) 
+~@constructor_t at pthread_rwlock_t@ ( ::pthread_rwlock_t::* )( ::pthread_rwlock_t const & )  ( ::pthread_rwlock_t::* )( ::pthread_rwlock_t const & ) 
+~@constructor_t at pthread_rwlock_t@ ( ::pthread_rwlock_t::* )(  )  ( ::pthread_rwlock_t::* )(  ) 
+~@constructor_t at in_addr@ ( ::in_addr::* )( ::in_addr const & )  ( ::in_addr::* )( ::in_addr const & ) 
+~@constructor_t at in_addr@ ( ::in_addr::* )(  )  ( ::in_addr::* )(  ) 
+~@constructor_t at sockaddr_storage@ ( ::sockaddr_storage::* )( ::sockaddr_storage const & )  ( ::sockaddr_storage::* )( ::sockaddr_storage const & ) 
+~@constructor_t at sockaddr_storage@ ( ::sockaddr_storage::* )(  )  ( ::sockaddr_storage::* )(  ) 
+~@constructor_t@('/usr/include/netinet/in.h', 201)@ ( ::in6_addr::* )( ::in6_addr const & )  ( ::in6_addr::* )( ::in6_addr const & ) 
+~@constructor_t@('/usr/include/netinet/in.h', 201)@ ( ::in6_addr::* )(  )  ( ::in6_addr::* )(  ) 
+~@constructor_t at sockaddr_in6@ ( ::sockaddr_in6::* )( ::sockaddr_in6 const & )  ( ::sockaddr_in6::* )( ::sockaddr_in6 const & ) 
+~@constructor_t at sockaddr_in6@ ( ::sockaddr_in6::* )(  )  ( ::sockaddr_in6::* )(  ) 
++ at constructor_t@memcached_stat_st@ ( ::memcached_stat_st::* )( ::memcached_stat_st const & )  ( ::memcached_stat_st::* )( ::memcached_stat_st const & ) 
++ at constructor_t@memcached_stat_st@ ( ::memcached_stat_st::* )(  )  ( ::memcached_stat_st::* )(  ) 
+~@constructor_t at pthread_barrierattr_t@ ( ::pthread_barrierattr_t::* )( ::pthread_barrierattr_t const & )  ( ::pthread_barrierattr_t::* )( ::pthread_barrierattr_t const & ) 
+~@constructor_t at pthread_barrierattr_t@ ( ::pthread_barrierattr_t::* )(  )  ( ::pthread_barrierattr_t::* )(  ) 
+~@constructor_t at in6_addr@ ( ::in6_addr::* )( ::in6_addr const & )  ( ::in6_addr::* )( ::in6_addr const & ) 
+~@constructor_t at in6_addr@ ( ::in6_addr::* )(  )  ( ::in6_addr::* )(  ) 
+~@constructor_t at wait@ ( ::wait::* )( ::wait const & )  ( ::wait::* )( ::wait const & ) 
+~@constructor_t at wait@ ( ::wait::* )(  )  ( ::wait::* )(  ) 
++ at constructor_t@memcached_st@ ( ::memcached_st::* )( ::memcached_st const & )  ( ::memcached_st::* )( ::memcached_st const & ) 
++ at constructor_t@memcached_st@ ( ::memcached_st::* )(  )  ( ::memcached_st::* )(  ) 
+~@constructor_t at ip_mreq_source@ ( ::ip_mreq_source::* )( ::ip_mreq_source const & )  ( ::ip_mreq_source::* )( ::ip_mreq_source const & ) 
+~@constructor_t at ip_mreq_source@ ( ::ip_mreq_source::* )(  )  ( ::ip_mreq_source::* )(  ) 
+~@constructor_t at linger@ ( ::linger::* )( ::linger const & )  ( ::linger::* )( ::linger const & ) 
+~@constructor_t at linger@ ( ::linger::* )(  )  ( ::linger::* )(  ) 
+~@constructor_t at osockaddr@ ( ::osockaddr::* )( ::osockaddr const & )  ( ::osockaddr::* )( ::osockaddr const & ) 
+~@constructor_t at osockaddr@ ( ::osockaddr::* )(  )  ( ::osockaddr::* )(  ) 
+~@constructor_t at __pthread_internal_slist@ ( ::__pthread_internal_slist::* )( ::__pthread_internal_slist const & )  ( ::__pthread_internal_slist::* )( ::__pthread_internal_slist const & ) 
+~@constructor_t at __pthread_internal_slist@ ( ::__pthread_internal_slist::* )(  )  ( ::__pthread_internal_slist::* )(  ) 
+~@constructor_t at drand48_data@ ( ::drand48_data::* )( ::drand48_data const & )  ( ::drand48_data::* )( ::drand48_data const & ) 
+~@constructor_t at drand48_data@ ( ::drand48_data::* )(  )  ( ::drand48_data::* )(  ) 
+~@constructor_t at in6_pktinfo@ ( ::in6_pktinfo::* )( ::in6_pktinfo const & )  ( ::in6_pktinfo::* )( ::in6_pktinfo const & ) 
+~@constructor_t at in6_pktinfo@ ( ::in6_pktinfo::* )(  )  ( ::in6_pktinfo::* )(  ) 
+~@constructor_t at pthread_mutex_t@ ( ::pthread_mutex_t::* )( ::pthread_mutex_t const & )  ( ::pthread_mutex_t::* )( ::pthread_mutex_t const & ) 
+~@constructor_t at pthread_mutex_t@ ( ::pthread_mutex_t::* )(  )  ( ::pthread_mutex_t::* )(  ) 
++ at constructor_t@memcached_string_st@ ( ::memcached_string_st::* )( ::memcached_string_st const & )  ( ::memcached_string_st::* )( ::memcached_string_st const & ) 
++ at constructor_t@memcached_string_st@ ( ::memcached_string_st::* )(  )  ( ::memcached_string_st::* )(  ) 
+~@constructor_t at pthread_attr_t@ ( ::pthread_attr_t::* )( ::pthread_attr_t const & )  ( ::pthread_attr_t::* )( ::pthread_attr_t const & ) 
+~@constructor_t at pthread_attr_t@ ( ::pthread_attr_t::* )(  )  ( ::pthread_attr_t::* )(  ) 
+~@constructor_t at ip_mreq@ ( ::ip_mreq::* )( ::ip_mreq const & )  ( ::ip_mreq::* )( ::ip_mreq const & ) 
+~@constructor_t at ip_mreq@ ( ::ip_mreq::* )(  )  ( ::ip_mreq::* )(  ) 
+~@constructor_t at cmsghdr@ ( ::cmsghdr::* )( ::cmsghdr const & )  ( ::cmsghdr::* )( ::cmsghdr const & ) 
+~@constructor_t at cmsghdr@ ( ::cmsghdr::* )(  )  ( ::cmsghdr::* )(  ) 
+~@constructor_t@('/usr/include/bits/waitstatus.h', 86)@ ( ::wait::* )( ::wait const & )  ( ::wait::* )( ::wait const & ) 
+~@constructor_t@('/usr/include/bits/waitstatus.h', 86)@ ( ::wait::* )(  )  ( ::wait::* )(  ) 
+~@constructor_t at msghdr@ ( ::msghdr::* )( ::msghdr const & )  ( ::msghdr::* )( ::msghdr const & ) 
+~@constructor_t at msghdr@ ( ::msghdr::* )(  )  ( ::msghdr::* )(  ) 
++ at constructor_t@memcached_server_st@ ( ::memcached_server_st::* )( ::memcached_server_st const & )  ( ::memcached_server_st::* )( ::memcached_server_st const & ) 
++ at constructor_t@memcached_server_st@ ( ::memcached_server_st::* )(  )  ( ::memcached_server_st::* )(  ) 
+~@constructor_t at __locale_struct@ ( ::__locale_struct::* )( ::__locale_struct const & )  ( ::__locale_struct::* )( ::__locale_struct const & ) 
+~@constructor_t at __locale_struct@ ( ::__locale_struct::* )(  )  ( ::__locale_struct::* )(  ) 
+~@member_operator_t at operator=@::timeval & ( ::timeval::* )( ::timeval const & ) ::timeval & ( ::timeval::* )( ::timeval const & ) 
+~@member_operator_t at operator=@::imaxdiv_t & ( ::imaxdiv_t::* )( ::imaxdiv_t const & ) ::imaxdiv_t & ( ::imaxdiv_t::* )( ::imaxdiv_t const & ) 
+~@member_operator_t at operator=@::in6_pktinfo & ( ::in6_pktinfo::* )( ::in6_pktinfo const & ) ::in6_pktinfo & ( ::in6_pktinfo::* )( ::in6_pktinfo const & ) 
+~@member_operator_t at operator=@::random_data & ( ::random_data::* )( ::random_data const & ) ::random_data & ( ::random_data::* )( ::random_data const & ) 
+~@member_operator_t at operator=@::pthread_condattr_t & ( ::pthread_condattr_t::* )( ::pthread_condattr_t const & ) ::pthread_condattr_t & ( ::pthread_condattr_t::* )( ::pthread_condattr_t const & ) 
+~@member_operator_t at operator=@::in_addr & ( ::in_addr::* )( ::in_addr const & ) ::in_addr & ( ::in_addr::* )( ::in_addr const & ) 
+~@member_operator_t at operator=@::__sigset_t & ( ::__sigset_t::* )( ::__sigset_t const & ) ::__sigset_t & ( ::__sigset_t::* )( ::__sigset_t const & ) 
+~@member_operator_t at operator=@::__pthread_internal_slist & ( ::__pthread_internal_slist::* )( ::__pthread_internal_slist const & ) ::__pthread_internal_slist & ( ::__pthread_internal_slist::* )( ::__pthread_internal_slist const & ) 
+~@member_operator_t at operator=@::ip6_mtuinfo & ( ::ip6_mtuinfo::* )( ::ip6_mtuinfo const & ) ::ip6_mtuinfo & ( ::ip6_mtuinfo::* )( ::ip6_mtuinfo const & ) 
+~@member_operator_t at operator=@::ipv6_mreq & ( ::ipv6_mreq::* )( ::ipv6_mreq const & ) ::ipv6_mreq & ( ::ipv6_mreq::* )( ::ipv6_mreq const & ) 
+~@member_operator_t at operator=@::ip_mreq & ( ::ip_mreq::* )( ::ip_mreq const & ) ::ip_mreq & ( ::ip_mreq::* )( ::ip_mreq const & ) 
+~@member_operator_t at operator=@::in_pktinfo & ( ::in_pktinfo::* )( ::in_pktinfo const & ) ::in_pktinfo & ( ::in_pktinfo::* )( ::in_pktinfo const & ) 
+~@member_operator_t at operator=@::pthread_mutexattr_t & ( ::pthread_mutexattr_t::* )( ::pthread_mutexattr_t const & ) ::pthread_mutexattr_t & ( ::pthread_mutexattr_t::* )( ::pthread_mutexattr_t const & ) 
+~@member_operator_t at operator=@::msghdr & ( ::msghdr::* )( ::msghdr const & ) ::msghdr & ( ::msghdr::* )( ::msghdr const & ) 
+~@member_operator_t at operator=@::div_t & ( ::div_t::* )( ::div_t const & ) ::div_t & ( ::div_t::* )( ::div_t const & ) 
+~@member_operator_t at operator=@::pthread_mutex_t::__pthread_mutex_s & ( ::pthread_mutex_t::__pthread_mutex_s::* )( ::pthread_mutex_t::__pthread_mutex_s const & ) ::pthread_mutex_t::__pthread_mutex_s & ( ::pthread_mutex_t::__pthread_mutex_s::* )( ::pthread_mutex_t::__pthread_mutex_s const & ) 
+~@member_operator_t at operator=@::pthread_mutex_t & ( ::pthread_mutex_t::* )( ::pthread_mutex_t const & ) ::pthread_mutex_t & ( ::pthread_mutex_t::* )( ::pthread_mutex_t const & ) 
+~@member_operator_t at operator=@::iovec & ( ::iovec::* )( ::iovec const & ) ::iovec & ( ::iovec::* )( ::iovec const & ) 
+~@member_operator_t at operator=@::ip_msfilter & ( ::ip_msfilter::* )( ::ip_msfilter const & ) ::ip_msfilter & ( ::ip_msfilter::* )( ::ip_msfilter const & ) 
+~@member_operator_t at operator=@::__locale_struct & ( ::__locale_struct::* )( ::__locale_struct const & ) ::__locale_struct & ( ::__locale_struct::* )( ::__locale_struct const & ) 
+~@member_operator_t at operator=@::linger & ( ::linger::* )( ::linger const & ) ::linger & ( ::linger::* )( ::linger const & ) 
+~@member_operator_t at operator=@::pthread_cond_t & ( ::pthread_cond_t::* )( ::pthread_cond_t const & ) ::pthread_cond_t & ( ::pthread_cond_t::* )( ::pthread_cond_t const & ) 
+~@member_operator_t at operator=@::pthread_cond_t & ( ::pthread_cond_t::* )( ::pthread_cond_t const & ) ::pthread_cond_t & ( ::pthread_cond_t::* )( ::pthread_cond_t const & ) 
+~@member_operator_t at operator=@::in6_addr & ( ::in6_addr::* )( ::in6_addr const & ) ::in6_addr & ( ::in6_addr::* )( ::in6_addr const & ) 
+~@member_operator_t at operator=@::in6_addr & ( ::in6_addr::* )( ::in6_addr const & ) ::in6_addr & ( ::in6_addr::* )( ::in6_addr const & ) 
+~@member_operator_t at operator=@::sockaddr_in6 & ( ::sockaddr_in6::* )( ::sockaddr_in6 const & ) ::sockaddr_in6 & ( ::sockaddr_in6::* )( ::sockaddr_in6 const & ) 
+~@member_operator_t at operator=@::pthread_barrier_t & ( ::pthread_barrier_t::* )( ::pthread_barrier_t const & ) ::pthread_barrier_t & ( ::pthread_barrier_t::* )( ::pthread_barrier_t const & ) 
+~@member_operator_t at operator=@::__fsid_t & ( ::__fsid_t::* )( ::__fsid_t const & ) ::__fsid_t & ( ::__fsid_t::* )( ::__fsid_t const & ) 
+~@member_operator_t at operator=@::ip_mreq_source & ( ::ip_mreq_source::* )( ::ip_mreq_source const & ) ::ip_mreq_source & ( ::ip_mreq_source::* )( ::ip_mreq_source const & ) 
+~@member_operator_t at operator=@::ip_opts & ( ::ip_opts::* )( ::ip_opts const & ) ::ip_opts & ( ::ip_opts::* )( ::ip_opts const & ) 
++ at member_operator_t@operator=@::memcached_string_st & ( ::memcached_string_st::* )( ::memcached_string_st const & ) ::memcached_string_st & ( ::memcached_string_st::* )( ::memcached_string_st const & ) 
+~@member_operator_t at operator=@::cmsghdr & ( ::cmsghdr::* )( ::cmsghdr const & ) ::cmsghdr & ( ::cmsghdr::* )( ::cmsghdr const & ) 
+~@member_operator_t at operator=@::sockaddr & ( ::sockaddr::* )( ::sockaddr const & ) ::sockaddr & ( ::sockaddr::* )( ::sockaddr const & ) 
+~@member_operator_t at operator=@::timespec & ( ::timespec::* )( ::timespec const & ) ::timespec & ( ::timespec::* )( ::timespec const & ) 
+~@member_operator_t at operator=@::wait & ( ::wait::* )( ::wait const & ) ::wait & ( ::wait::* )( ::wait const & ) 
+~@member_operator_t at operator=@::wait & ( ::wait::* )( ::wait const & ) ::wait & ( ::wait::* )( ::wait const & ) 
+~@member_operator_t at operator=@::wait & ( ::wait::* )( ::wait const & ) ::wait & ( ::wait::* )( ::wait const & ) 
+~@member_operator_t at operator=@::lldiv_t & ( ::lldiv_t::* )( ::lldiv_t const & ) ::lldiv_t & ( ::lldiv_t::* )( ::lldiv_t const & ) 
+~@member_operator_t at operator=@::pthread_barrierattr_t & ( ::pthread_barrierattr_t::* )( ::pthread_barrierattr_t const & ) ::pthread_barrierattr_t & ( ::pthread_barrierattr_t::* )( ::pthread_barrierattr_t const & ) 
+~@member_operator_t at operator=@::pthread_rwlockattr_t & ( ::pthread_rwlockattr_t::* )( ::pthread_rwlockattr_t const & ) ::pthread_rwlockattr_t & ( ::pthread_rwlockattr_t::* )( ::pthread_rwlockattr_t const & ) 
+~@member_operator_t at operator=@::sockaddr_storage & ( ::sockaddr_storage::* )( ::sockaddr_storage const & ) ::sockaddr_storage & ( ::sockaddr_storage::* )( ::sockaddr_storage const & ) 
+~@member_operator_t at operator=@::ldiv_t & ( ::ldiv_t::* )( ::ldiv_t const & ) ::ldiv_t & ( ::ldiv_t::* )( ::ldiv_t const & ) 
+~@member_operator_t at operator=@::fd_set & ( ::fd_set::* )( ::fd_set const & ) ::fd_set & ( ::fd_set::* )( ::fd_set const & ) 
+~@member_operator_t at operator=@::pthread_attr_t & ( ::pthread_attr_t::* )( ::pthread_attr_t const & ) ::pthread_attr_t & ( ::pthread_attr_t::* )( ::pthread_attr_t const & ) 
+~@member_operator_t at operator=@::ip_mreqn & ( ::ip_mreqn::* )( ::ip_mreqn const & ) ::ip_mreqn & ( ::ip_mreqn::* )( ::ip_mreqn const & ) 
+~@member_operator_t at operator=@::group_filter & ( ::group_filter::* )( ::group_filter const & ) ::group_filter & ( ::group_filter::* )( ::group_filter const & ) 
+~@member_operator_t at operator=@::sockaddr_in & ( ::sockaddr_in::* )( ::sockaddr_in const & ) ::sockaddr_in & ( ::sockaddr_in::* )( ::sockaddr_in const & ) 
+~@member_operator_t at operator=@::group_req & ( ::group_req::* )( ::group_req const & ) ::group_req & ( ::group_req::* )( ::group_req const & ) 
+~@member_operator_t at operator=@::group_source_req & ( ::group_source_req::* )( ::group_source_req const & ) ::group_source_req & ( ::group_source_req::* )( ::group_source_req const & ) 
++ at member_operator_t@operator=@::memcached_st & ( ::memcached_st::* )( ::memcached_st const & ) ::memcached_st & ( ::memcached_st::* )( ::memcached_st const & ) 
++ at member_operator_t@operator=@::memcached_analysis_st & ( ::memcached_analysis_st::* )( ::memcached_analysis_st const & ) ::memcached_analysis_st & ( ::memcached_analysis_st::* )( ::memcached_analysis_st const & ) 
+~@member_operator_t at operator=@::pthread_rwlock_t & ( ::pthread_rwlock_t::* )( ::pthread_rwlock_t const & ) ::pthread_rwlock_t & ( ::pthread_rwlock_t::* )( ::pthread_rwlock_t const & ) 
+~@member_operator_t at operator=@::pthread_rwlock_t & ( ::pthread_rwlock_t::* )( ::pthread_rwlock_t const & ) ::pthread_rwlock_t & ( ::pthread_rwlock_t::* )( ::pthread_rwlock_t const & ) 
++ at member_operator_t@operator=@::memcached_result_st & ( ::memcached_result_st::* )( ::memcached_result_st const & ) ::memcached_result_st & ( ::memcached_result_st::* )( ::memcached_result_st const & ) 
++ at member_operator_t@operator=@::memcached_stat_st & ( ::memcached_stat_st::* )( ::memcached_stat_st const & ) ::memcached_stat_st & ( ::memcached_stat_st::* )( ::memcached_stat_st const & ) 
+~@member_operator_t at operator=@::osockaddr & ( ::osockaddr::* )( ::osockaddr const & ) ::osockaddr & ( ::osockaddr::* )( ::osockaddr const & ) 
++ at member_operator_t@operator=@::memcached_server_st & ( ::memcached_server_st::* )( ::memcached_server_st const & ) ::memcached_server_st & ( ::memcached_server_st::* )( ::memcached_server_st const & ) 
+~@member_operator_t at operator=@::ucred & ( ::ucred::* )( ::ucred const & ) ::ucred & ( ::ucred::* )( ::ucred const & ) 
+~@member_operator_t at operator=@::drand48_data & ( ::drand48_data::* )( ::drand48_data const & ) ::drand48_data & ( ::drand48_data::* )( ::drand48_data const & ) 
+~@free_function_t at wctomb@int (*)( char *,wchar_t )int (*)( char *,wchar_t )
+~@free_function_t at bindresvport6@int (*)( int,::sockaddr_in6 * )int (*)( int,::sockaddr_in6 * )
+~@free_function_t at send@::ssize_t (*)( int,void const *,::size_t,int )::ssize_t (*)( int,void const *,::size_t,int )
++ at free_function_t@memcached_clone@::memcached_st * (*)( ::memcached_st *,::memcached_st * )::memcached_st * (*)( ::memcached_st *,::memcached_st * )
+~@free_function_t at rand_r@int (*)( unsigned int * )int (*)( unsigned int * )
+~@free_function_t at getpt@int (*)(  )int (*)(  )
+~@free_function_t at preadv64@::ssize_t (*)( int,::iovec const *,int,::__off64_t )::ssize_t (*)( int,::iovec const *,int,::__off64_t )
+~@free_function_t at __builtin_tan@double (*)( double )double (*)( double )
+~@free_function_t at __builtin_csinf@complex float (*)( complex float )complex float (*)( complex float )
++ at free_function_t@memcached_add_by_key@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
+~@free_function_t at getloadavg@int (*)( double *,int )int (*)( double *,int )
+~@free_function_t at __builtin_cpowf@complex float (*)( complex float,complex float )complex float (*)( complex float,complex float )
+~@free_function_t at getipv4sourcefilter@int (*)( int,::in_addr,::in_addr,::uint32_t *,::uint32_t *,::in_addr * )int (*)( int,::in_addr,::in_addr,::uint32_t *,::uint32_t *,::in_addr * )
+~@free_function_t at __builtin_ccosl@complex long double (*)( complex long double )complex long double (*)( complex long double )
+~@free_function_t at __builtin_ccosh@complex double (*)( complex double )complex double (*)( complex double )
+~@free_function_t at __builtin_cabsf@float (*)( complex float )float (*)( complex float )
+~@free_function_t at __builtin_ccosf@complex float (*)( complex float )complex float (*)( complex float )
+~@free_function_t at recvfrom@::ssize_t (*)( int,__restrict__ void *,::size_t,int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t * )::ssize_t (*)( int,__restrict__ void *,::size_t,int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t * )
+~@free_function_t at inet6_option_init@int (*)( void *,::cmsghdr * *,int )int (*)( void *,::cmsghdr * *,int )
++ at free_function_t@memcached_increment_with_initial@::memcached_return (*)( ::memcached_st *,char const *,::size_t,::uint64_t,::uint64_t,::time_t,::uint64_t * )::memcached_return (*)( ::memcached_st *,char const *,::size_t,::uint64_t,::uint64_t,::time_t,::uint64_t * )
+~@free_function_t at div@::div_t (*)( int,int )::div_t (*)( int,int )
+~@free_function_t at gnu_dev_makedev@long long unsigned int (*)( unsigned int,unsigned int )long long unsigned int (*)( unsigned int,unsigned int )
++ at free_function_t@memcached_string_reset@::memcached_return (*)( ::memcached_string_st * )::memcached_return (*)( ::memcached_string_st * )
+~@free_function_t at __builtin_fabsf@float (*)( float )float (*)( float )
+~@free_function_t at ecvt@char * (*)( double,int,__restrict__ int *,__restrict__ int * )char * (*)( double,int,__restrict__ int *,__restrict__ int * )
+~@free_function_t at strtoull@long long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int )long long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int )
+~@free_function_t at __builtin_fabsl@long double (*)( long double )long double (*)( long double )
++ at free_function_t@memcached_server_add_udp@::memcached_return (*)( ::memcached_st *,char const *,unsigned int )::memcached_return (*)( ::memcached_st *,char const *,unsigned int )
+~@free_function_t at __ctype_get_mb_cur_max@::size_t (*)(  )::size_t (*)(  )
++ at free_function_t@memcached_flush@::memcached_return (*)( ::memcached_st *,::time_t )::memcached_return (*)( ::memcached_st *,::time_t )
+~@free_function_t at pwritev@::ssize_t (*)( int,::iovec const *,int,::__off_t )::ssize_t (*)( int,::iovec const *,int,::__off_t )
++ at free_function_t@memcached_server_create_with@::memcached_server_st * (*)( ::memcached_st *,::memcached_server_st *,char const *,unsigned int,::uint32_t,::memcached_connection )::memcached_server_st * (*)( ::memcached_st *,::memcached_server_st *,char const *,unsigned int,::uint32_t,::memcached_connection )
+~@free_function_t at mktemp@char * (*)( char * )char * (*)( char * )
++ at free_function_t@memcached_lib_version at char const * (*)(  )char const * (*)(  )
+~@free_function_t at abs@int (*)( int )int (*)( int )
++ at free_function_t@memcached_create@::memcached_st * (*)( ::memcached_st * )::memcached_st * (*)( ::memcached_st * )
+~@free_function_t at socketpair@int (*)( int,int,int,int * )int (*)( int,int,int,int * )
++ at free_function_t@memcached_free at void (*)( ::memcached_st * )void (*)( ::memcached_st * )
++ at free_function_t@memcached_get at char * (*)( ::memcached_st *,char const *,::size_t,::size_t *,::uint32_t *,::memcached_return * )char * (*)( ::memcached_st *,char const *,::size_t,::size_t *,::uint32_t *,::memcached_return * )
+~@free_function_t at setstate_r@int (*)( __restrict__ char *,__restrict__ ::random_data * )int (*)( __restrict__ char *,__restrict__ ::random_data * )
+~@free_function_t at __builtin_isinf@bool (*)( ... )bool (*)( ... )
+~@free_function_t at __builtin_cexpl@complex long double (*)( complex long double )complex long double (*)( complex long double )
++ at free_function_t@memcached_server_add_unix_socket@::memcached_return (*)( ::memcached_st *,char const * )::memcached_return (*)( ::memcached_st *,char const * )
++ at free_function_t@memcached_strerror at char * (*)( ::memcached_st *,::memcached_return )char * (*)( ::memcached_st *,::memcached_return )
+~@free_function_t at __builtin_cexpf@complex float (*)( complex float )complex float (*)( complex float )
+~@free_function_t at sendmsg@::ssize_t (*)( int,::msghdr const *,int )::ssize_t (*)( int,::msghdr const *,int )
+~@free_function_t at __builtin_cexp@complex double (*)( complex double )complex double (*)( complex double )
+~@free_function_t at realloc@void * (*)( void *,::size_t )void * (*)( void *,::size_t )
++ at free_function_t@memcached_increment@::memcached_return (*)( ::memcached_st *,char const *,::size_t,::uint32_t,::uint64_t * )::memcached_return (*)( ::memcached_st *,char const *,::size_t,::uint32_t,::uint64_t * )
+~@free_function_t at qecvt@char * (*)( long double,int,__restrict__ int *,__restrict__ int * )char * (*)( long double,int,__restrict__ int *,__restrict__ int * )
+~@free_function_t at unlockpt@int (*)( int )int (*)( int )
++ at free_function_t@memcached_replace@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
+~@free_function_t at select@int (*)( int,__restrict__ ::fd_set *,__restrict__ ::fd_set *,__restrict__ ::fd_set *,__restrict__ ::timeval * )int (*)( int,__restrict__ ::fd_set *,__restrict__ ::fd_set *,__restrict__ ::fd_set *,__restrict__ ::timeval * )
+~@free_function_t at getsockopt@int (*)( int,int,int,__restrict__ void *,__restrict__ ::socklen_t * )int (*)( int,int,int,__restrict__ void *,__restrict__ ::socklen_t * )
+~@free_function_t at canonicalize_file_name@char * (*)( char const * )char * (*)( char const * )
+~@free_function_t at recv@::ssize_t (*)( int,void *,::size_t,int )::ssize_t (*)( int,void *,::size_t,int )
+~@free_function_t at __builtin_islessequal@bool (*)( ... )bool (*)( ... )
+~@free_function_t at __builtin_carg@double (*)( complex double )double (*)( complex double )
+~@free_function_t at cfree@void (*)( void * )void (*)( void * )
++ at free_function_t@memcached_delete_by_key@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t )
++ at free_function_t@memcached_generate_hash@::uint32_t (*)( ::memcached_st *,char const *,::size_t )::uint32_t (*)( ::memcached_st *,char const *,::size_t )
+~@free_function_t at wcstoimax@::intmax_t (*)( __restrict__ wchar_t const *,__restrict__ wchar_t * *,int )::intmax_t (*)( __restrict__ wchar_t const *,__restrict__ wchar_t * *,int )
++ at free_function_t@memcached_server_create@::memcached_server_st * (*)( ::memcached_st *,::memcached_server_st * )::memcached_server_st * (*)( ::memcached_st *,::memcached_server_st * )
+~@free_function_t at erand48_r@int (*)( short unsigned int *,__restrict__ ::drand48_data *,__restrict__ double * )int (*)( short unsigned int *,__restrict__ ::drand48_data *,__restrict__ double * )
+~@free_function_t at __builtin_csinh@complex double (*)( complex double )complex double (*)( complex double )
+~@free_function_t at accept@int (*)( int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t * )int (*)( int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t * )
+~@free_function_t at strtold@long double (*)( __restrict__ char const *,__restrict__ char * * )long double (*)( __restrict__ char const *,__restrict__ char * * )
+~@free_function_t at abort@void (*)(  )void (*)(  )
+~@free_function_t at strtoll@long long int (*)( __restrict__ char const *,__restrict__ char * *,int )long long int (*)( __restrict__ char const *,__restrict__ char * *,int )
+~@free_function_t at lcong48@void (*)( short unsigned int * )void (*)( short unsigned int * )
+~@free_function_t at __builtin_logl@long double (*)( long double )long double (*)( long double )
+~@free_function_t at __builtin_logf@float (*)( float )float (*)( float )
+~@free_function_t at lrand48@long int (*)(  )long int (*)(  )
+~@free_function_t at __builtin_isgreater@bool (*)( ... )bool (*)( ... )
+~@free_function_t at on_exit@int (*)( void (*)( int,void * ) *,void * )int (*)( void (*)( int,void * ) *,void * )
+~@free_function_t at unsetenv@int (*)( char const * )int (*)( char const * )
+~@free_function_t at mrand48_r@int (*)( __restrict__ ::drand48_data *,__restrict__ long int * )int (*)( __restrict__ ::drand48_data *,__restrict__ long int * )
+~@free_function_t at srand48_r@int (*)( long int,::drand48_data * )int (*)( long int,::drand48_data * )
+~@free_function_t at random_r@int (*)( __restrict__ ::random_data *,__restrict__ ::int32_t * )int (*)( __restrict__ ::random_data *,__restrict__ ::int32_t * )
+~@free_function_t at setkey@void (*)( char const * )void (*)( char const * )
++ at free_function_t@memcached_stat_free at void (*)( ::memcached_st *,::memcached_stat_st * )void (*)( ::memcached_st *,::memcached_stat_st * )
+~@free_function_t at valloc@void * (*)( ::size_t )void * (*)( ::size_t )
+~@free_function_t at at_quick_exit@int (*)( void (*)(  ) * )int (*)( void (*)(  ) * )
+~@free_function_t at __secure_getenv@char * (*)( char const * )char * (*)( char const * )
+~@free_function_t at getsourcefilter@int (*)( int,::uint32_t,::sockaddr const *,::socklen_t,::uint32_t *,::uint32_t *,::sockaddr_storage * )int (*)( int,::uint32_t,::sockaddr const *,::socklen_t,::uint32_t *,::uint32_t *,::sockaddr_storage * )
+~@free_function_t at bind@int (*)( int,::sockaddr const *,::socklen_t )int (*)( int,::sockaddr const *,::socklen_t )
+~@free_function_t at __builtin_cos@double (*)( double )double (*)( double )
+~@free_function_t at __builtin_ldexpf@float (*)( float,int )float (*)( float,int )
+~@free_function_t at __builtin_ldexpl@long double (*)( long double,int )long double (*)( long double,int )
+~@free_function_t at strtouq@long long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int )long long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int )
+~@free_function_t at __builtin_expf@float (*)( float )float (*)( float )
+~@free_function_t at strtoul@long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int )long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int )
+~@free_function_t at __builtin_cosf@float (*)( float )float (*)( float )
+~@free_function_t at __builtin_expl@long double (*)( long double )long double (*)( long double )
+~@free_function_t at strtol_l@long int (*)( __restrict__ char const *,__restrict__ char * *,int,::__locale_t )long int (*)( __restrict__ char const *,__restrict__ char * *,int,::__locale_t )
++ at free_function_t@memcached_mget_by_key@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char * *,::size_t *,unsigned int )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char * *,::size_t *,unsigned int )
+~@free_function_t at inet6_rth_init@void * (*)( void *,::socklen_t,int,int )void * (*)( void *,::socklen_t,int,int )
+~@free_function_t at __builtin_popcountll@int (*)( long long int )int (*)( long long int )
+~@free_function_t at __builtin_cargf@float (*)( complex float )float (*)( complex float )
+~@free_function_t at __builtin_cargl@long double (*)( complex long double )long double (*)( complex long double )
++ at free_function_t@memcached_server_clone@::memcached_server_st * (*)( ::memcached_server_st *,::memcached_server_st * )::memcached_server_st * (*)( ::memcached_server_st *,::memcached_server_st * )
+~@free_function_t at __builtin_frame_address@void * (*)( unsigned int )void * (*)( unsigned int )
+~@free_function_t at bindresvport@int (*)( int,::sockaddr_in * )int (*)( int,::sockaddr_in * )
+~@free_function_t at inet6_opt_get_val@int (*)( void *,int,void *,::socklen_t )int (*)( void *,int,void *,::socklen_t )
+~@free_function_t at gcvt@char * (*)( double,int,char * )char * (*)( double,int,char * )
+~@free_function_t at seed48@short unsigned int * (*)( short unsigned int * )short unsigned int * (*)( short unsigned int * )
+~@free_function_t at __builtin_modff@float (*)( float,float * )float (*)( float,float * )
+~@free_function_t at sendto@::ssize_t (*)( int,void const *,::size_t,int,::sockaddr const *,::socklen_t )::ssize_t (*)( int,void const *,::size_t,int,::sockaddr const *,::socklen_t )
+~@free_function_t at __builtin_modfl@long double (*)( long double,long double * )long double (*)( long double,long double * )
+~@free_function_t at inet6_rth_reverse@int (*)( void const *,void * )int (*)( void const *,void * )
+~@free_function_t at __builtin_popcountl@int (*)( long int )int (*)( long int )
+~@free_function_t at __builtin_ceilf@float (*)( float )float (*)( float )
+~@free_function_t at __builtin_ceill@long double (*)( long double )long double (*)( long double )
++ at free_function_t@memcached_result_create@::memcached_result_st * (*)( ::memcached_st *,::memcached_result_st * )::memcached_result_st * (*)( ::memcached_st *,::memcached_result_st * )
+~@free_function_t at inet6_rth_getaddr@::in6_addr * (*)( void const *,int )::in6_addr * (*)( void const *,int )
+~@free_function_t at initstate_r@int (*)( unsigned int,__restrict__ char *,::size_t,__restrict__ ::random_data * )int (*)( unsigned int,__restrict__ char *,::size_t,__restrict__ ::random_data * )
+~@free_function_t at setipv4sourcefilter@int (*)( int,::in_addr,::in_addr,::uint32_t,::uint32_t,::in_addr const * )int (*)( int,::in_addr,::in_addr,::uint32_t,::uint32_t,::in_addr const * )
++ at free_function_t@memcached_version@::memcached_return (*)( ::memcached_st * )::memcached_return (*)( ::memcached_st * )
+~@free_function_t at __builtin_fabs@double (*)( double )double (*)( double )
+~@free_function_t at __builtin_infl@long double (*)(  )long double (*)(  )
+~@free_function_t at __builtin_prefetch@void (*)( void const *,... )void (*)( void const *,... )
++ at free_function_t@memcached_prepend_by_key@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
++ at free_function_t@memcached_prepend@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
++ at free_function_t@memcached_string_c_copy at char * (*)( ::memcached_string_st * )char * (*)( ::memcached_string_st * )
+~@free_function_t at free@void (*)( void * )void (*)( void * )
+~@free_function_t at labs@long int (*)( long int )long int (*)( long int )
+~@free_function_t at __builtin_csinhl@complex long double (*)( complex long double )complex long double (*)( complex long double )
++ at free_function_t@memcached_cas_by_key@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t,::uint64_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t,::uint64_t )
+~@free_function_t at __builtin_coshf@float (*)( float )float (*)( float )
+~@free_function_t at qsort_r@void (*)( void *,::size_t,::size_t,::__compar_d_fn_t,void * )void (*)( void *,::size_t,::size_t,::__compar_d_fn_t,void * )
+~@free_function_t at getpeername@int (*)( int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t * )int (*)( int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t * )
+~@free_function_t at __builtin_csinhf@complex float (*)( complex float )complex float (*)( complex float )
+~@free_function_t at __builtin_coshl@long double (*)( long double )long double (*)( long double )
+~@free_function_t at __builtin_powf@float (*)( float,float )float (*)( float,float )
+~@free_function_t at inet6_rth_add@int (*)( void *,::in6_addr const * )int (*)( void *,::in6_addr const * )
++ at free_function_t@memcached_set_user_data at void * (*)( ::memcached_st *,void * )void * (*)( ::memcached_st *,void * )
+~@free_function_t at __builtin_powi@double (*)( double,int )double (*)( double,int )
+~@free_function_t at __builtin_asin@double (*)( double )double (*)( double )
+~@free_function_t at __builtin_powl@long double (*)( long double,long double )long double (*)( long double,long double )
+~@free_function_t at inet6_rth_space@::socklen_t (*)( int,int )::socklen_t (*)( int,int )
++ at free_function_t@memcached_mget@::memcached_return (*)( ::memcached_st *,char * *,::size_t *,unsigned int )::memcached_return (*)( ::memcached_st *,char * *,::size_t *,unsigned int )
++ at free_function_t@memcached_get_user_data at void * (*)( ::memcached_st * )void * (*)( ::memcached_st * )
+~@free_function_t at rand@int (*)(  )int (*)(  )
+~@free_function_t at setsourcefilter@int (*)( int,::uint32_t,::sockaddr const *,::socklen_t,::uint32_t,::uint32_t,::sockaddr_storage const * )int (*)( int,::uint32_t,::sockaddr const *,::socklen_t,::uint32_t,::uint32_t,::sockaddr_storage const * )
+~@free_function_t at inet6_opt_next@int (*)( void *,::socklen_t,int,::uint8_t *,::socklen_t *,void * * )int (*)( void *,::socklen_t,int,::uint8_t *,::socklen_t *,void * * )
+~@free_function_t at qsort@void (*)( void *,::size_t,::size_t,::__compar_fn_t )void (*)( void *,::size_t,::size_t,::__compar_fn_t )
+~@free_function_t at inet6_option_find@int (*)( ::cmsghdr const *,::uint8_t * *,int )int (*)( ::cmsghdr const *,::uint8_t * *,int )
++ at free_function_t@memcached_replace_by_key@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
+~@free_function_t at __builtin_atan2@double (*)( double,double )double (*)( double,double )
++ at free_function_t@memcached_result_free at void (*)( ::memcached_result_st * )void (*)( ::memcached_result_st * )
+~@free_function_t at strtoull_l@long long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int,::__locale_t )long long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int,::__locale_t )
++ at free_function_t@memcached_string_create@::memcached_string_st * (*)( ::memcached_st *,::memcached_string_st *,::size_t )::memcached_string_st * (*)( ::memcached_st *,::memcached_string_st *,::size_t )
+~@free_function_t at strtoll_l@long long int (*)( __restrict__ char const *,__restrict__ char * *,int,::__locale_t )long long int (*)( __restrict__ char const *,__restrict__ char * *,int,::__locale_t )
+~@free_function_t at ntohl@::uint32_t (*)( ::uint32_t )::uint32_t (*)( ::uint32_t )
+~@free_function_t at system@int (*)( char const * )int (*)( char const * )
+~@free_function_t at __builtin_memchr@void * (*)( void const *,int,unsigned int )void * (*)( void const *,int,unsigned int )
+~@free_function_t at ntohs@::uint16_t (*)( ::uint16_t )::uint16_t (*)( ::uint16_t )
+~@free_function_t at __builtin_isnormal@bool (*)( ... )bool (*)( ... )
+~@free_function_t at mkstemp64@int (*)( char * )int (*)( char * )
+~@free_function_t at ecvt_r@int (*)( double,int,__restrict__ int *,__restrict__ int *,__restrict__ char *,::size_t )int (*)( double,int,__restrict__ int *,__restrict__ int *,__restrict__ char *,::size_t )
+~@free_function_t at __builtin_atanf@float (*)( float )float (*)( float )
+~@free_function_t at __builtin_clog@complex double (*)( complex double )complex double (*)( complex double )
+~@free_function_t at __builtin_log@double (*)( double )double (*)( double )
+~@free_function_t at __builtin_atanl@long double (*)( long double )long double (*)( long double )
+~@free_function_t at mkostemp@int (*)( char *,int )int (*)( char *,int )
+~@free_function_t at __builtin_log10l@long double (*)( long double )long double (*)( long double )
++ at free_function_t@memcached_server_add@::memcached_return (*)( ::memcached_st *,char const *,unsigned int )::memcached_return (*)( ::memcached_st *,char const *,unsigned int )
+~@free_function_t at _Exit@void (*)( int )void (*)( int )
+~@free_function_t at __builtin_log10f@float (*)( float )float (*)( float )
+~@free_function_t at lcong48_r@int (*)( short unsigned int *,::drand48_data * )int (*)( short unsigned int *,::drand48_data * )
+~@free_function_t at __builtin_atan@double (*)( double )double (*)( double )
++ at free_function_t@memcached_fetch at char * (*)( ::memcached_st *,char *,::size_t *,::size_t *,::uint32_t *,::memcached_return * )char * (*)( ::memcached_st *,char *,::size_t *,::size_t *,::uint32_t *,::memcached_return * )
+~@free_function_t at listen@int (*)( int,int )int (*)( int,int )
+~@free_function_t at __builtin_csinl@complex long double (*)( complex long double )complex long double (*)( complex long double )
+~@free_function_t at __builtin_sinhl@long double (*)( long double )long double (*)( long double )
+~@free_function_t at __builtin_powif@float (*)( float,int )float (*)( float,int )
+~@free_function_t at __builtin_sinhf@float (*)( float )float (*)( float )
++ at free_function_t@memcached_server_add_with_weight@::memcached_return (*)( ::memcached_st *,char const *,unsigned int,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,unsigned int,::uint32_t )
+~@free_function_t at __builtin_powil@long double (*)( long double,int )long double (*)( long double,int )
+~@free_function_t at pselect@int (*)( int,__restrict__ ::fd_set *,__restrict__ ::fd_set *,__restrict__ ::fd_set *,__restrict__ ::timespec const *,__restrict__ ::__sigset_t const * )int (*)( int,__restrict__ ::fd_set *,__restrict__ ::fd_set *,__restrict__ ::fd_set *,__restrict__ ::timespec const *,__restrict__ ::__sigset_t const * )
+~@free_function_t at __builtin_ctan@complex double (*)( complex double )complex double (*)( complex double )
+~@free_function_t at isfdtype@int (*)( int,int )int (*)( int,int )
++ at free_function_t@memcached_add@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
+~@free_function_t at realpath@char * (*)( __restrict__ char const *,__restrict__ char * )char * (*)( __restrict__ char const *,__restrict__ char * )
+~@free_function_t at __builtin_nansl@long double (*)( char const * )long double (*)( char const * )
+~@free_function_t at __builtin_return_address@void * (*)( unsigned int )void * (*)( unsigned int )
+~@free_function_t at inet6_option_next@int (*)( ::cmsghdr const *,::uint8_t * * )int (*)( ::cmsghdr const *,::uint8_t * * )
+~@free_function_t at __builtin_cosh@double (*)( double )double (*)( double )
++ at free_function_t@memcached_callback_get at void * (*)( ::memcached_st *,::memcached_callback,::memcached_return * )void * (*)( ::memcached_st *,::memcached_callback,::memcached_return * )
+~@free_function_t at __builtin_cosl@long double (*)( long double )long double (*)( long double )
+~@free_function_t at inet6_option_append@int (*)( ::cmsghdr *,::uint8_t const *,int,int )int (*)( ::cmsghdr *,::uint8_t const *,int,int )
+~@free_function_t at srand48@void (*)( long int )void (*)( long int )
++ at free_function_t@memcached_cas@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t,::uint64_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t,::uint64_t )
+~@free_function_t at strtold_l@long double (*)( __restrict__ char const *,__restrict__ char * *,::__locale_t )long double (*)( __restrict__ char const *,__restrict__ char * *,::__locale_t )
+~@free_function_t at __builtin_cpowl@complex long double (*)( complex long double,complex long double )complex long double (*)( complex long double,complex long double )
+~@free_function_t at a64l@long int (*)( char const * )long int (*)( char const * )
+~@free_function_t at random@long int (*)(  )long int (*)(  )
+~@free_function_t at inet6_opt_init@int (*)( void *,::socklen_t )int (*)( void *,::socklen_t )
+~@free_function_t at __builtin_inf@double (*)(  )double (*)(  )
+~@free_function_t at nrand48_r@int (*)( short unsigned int *,__restrict__ ::drand48_data *,__restrict__ long int * )int (*)( short unsigned int *,__restrict__ ::drand48_data *,__restrict__ long int * )
+~@free_function_t at __builtin_ctzl@int (*)( long int )int (*)( long int )
+~@free_function_t at strtol@long int (*)( __restrict__ char const *,__restrict__ char * *,int )long int (*)( __restrict__ char const *,__restrict__ char * *,int )
+~@free_function_t at grantpt@int (*)( int )int (*)( int )
+~@free_function_t at strtod@double (*)( __restrict__ char const *,__restrict__ char * * )double (*)( __restrict__ char const *,__restrict__ char * * )
+~@free_function_t at strtof@float (*)( __restrict__ char const *,__restrict__ char * * )float (*)( __restrict__ char const *,__restrict__ char * * )
+~@free_function_t at __builtin_log10@double (*)( double )double (*)( double )
+~@free_function_t at writev@::ssize_t (*)( int,::iovec const *,int )::ssize_t (*)( int,::iovec const *,int )
+~@free_function_t at __builtin_exp@double (*)( double )double (*)( double )
+~@free_function_t at lrand48_r@int (*)( __restrict__ ::drand48_data *,__restrict__ long int * )int (*)( __restrict__ ::drand48_data *,__restrict__ long int * )
+~@free_function_t at strtof_l@float (*)( __restrict__ char const *,__restrict__ char * *,::__locale_t )float (*)( __restrict__ char const *,__restrict__ char * *,::__locale_t )
+~@free_function_t at strtoq@long long int (*)( __restrict__ char const *,__restrict__ char * *,int )long long int (*)( __restrict__ char const *,__restrict__ char * *,int )
+~@free_function_t at __builtin_acosf@float (*)( float )float (*)( float )
++ at free_function_t@memcached_server_add_udp_with_weight@::memcached_return (*)( ::memcached_st *,char const *,unsigned int,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,unsigned int,::uint32_t )
+~@free_function_t at __builtin_acosl@long double (*)( long double )long double (*)( long double )
++ at free_function_t@memcached_string_free at void (*)( ::memcached_string_st * )void (*)( ::memcached_string_st * )
+~@free_function_t at ptsname_r@int (*)( int,char *,::size_t )int (*)( int,char *,::size_t )
+~@free_function_t at strtod_l@double (*)( __restrict__ char const *,__restrict__ char * *,::__locale_t )double (*)( __restrict__ char const *,__restrict__ char * *,::__locale_t )
++ at free_function_t@memcached_server_by_key@::memcached_server_st * (*)( ::memcached_st *,char const *,::size_t,::memcached_return * )::memcached_server_st * (*)( ::memcached_st *,char const *,::size_t,::memcached_return * )
+~@free_function_t at srandom@void (*)( unsigned int )void (*)( unsigned int )
++ at free_function_t@memcached_string_check@::memcached_return (*)( ::memcached_string_st *,::size_t )::memcached_return (*)( ::memcached_string_st *,::size_t )
+~@free_function_t at mbtowc@int (*)( __restrict__ wchar_t *,__restrict__ char const *,::size_t )int (*)( __restrict__ wchar_t *,__restrict__ char const *,::size_t )
+~@free_function_t at __builtin_ctanhf@complex float (*)( complex float )complex float (*)( complex float )
+~@free_function_t at mkdtemp@char * (*)( char * )char * (*)( char * )
+~@free_function_t at __builtin_ctanhl@complex long double (*)( complex long double )complex long double (*)( complex long double )
+~@free_function_t at qgcvt@char * (*)( long double,int,char * )char * (*)( long double,int,char * )
+~@free_function_t at atexit@int (*)( void (*)(  ) * )int (*)( void (*)(  ) * )
+~@free_function_t at quick_exit@void (*)( int )void (*)( int )
+~@free_function_t at getsockname@int (*)( int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t * )int (*)( int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t * )
+~@free_function_t at jrand48@long int (*)( short unsigned int * )long int (*)( short unsigned int * )
+~@free_function_t at __builtin_atan2l@long double (*)( long double,long double )long double (*)( long double,long double )
+~@free_function_t at __builtin_atan2f@float (*)( float,float )float (*)( float,float )
++ at free_function_t@memcached_analyze@::memcached_analysis_st * (*)( ::memcached_st *,::memcached_stat_st *,::memcached_return * )::memcached_analysis_st * (*)( ::memcached_st *,::memcached_stat_st *,::memcached_return * )
+~@free_function_t at __builtin_floor@double (*)( double )double (*)( double )
+~@free_function_t at posix_memalign@int (*)( void * *,::size_t,::size_t )int (*)( void * *,::size_t,::size_t )
+~@free_function_t at __builtin_acos@double (*)( double )double (*)( double )
+~@free_function_t at atoll@long long int (*)( char const * )long long int (*)( char const * )
++ at free_function_t@memcached_result_length@::size_t (*)( ::memcached_result_st * )::size_t (*)( ::memcached_result_st * )
+~@free_function_t at __builtin_csqrtl@complex long double (*)( complex long double )complex long double (*)( complex long double )
+~@free_function_t at __builtin_csqrtf@complex float (*)( complex float )complex float (*)( complex float )
+~@free_function_t at __builtin_ccos@complex double (*)( complex double )complex double (*)( complex double )
+~@free_function_t at inet6_option_alloc@::uint8_t * (*)( ::cmsghdr *,int,int,int )::uint8_t * (*)( ::cmsghdr *,int,int,int )
+~@free_function_t at seed48_r@int (*)( short unsigned int *,::drand48_data * )int (*)( short unsigned int *,::drand48_data * )
+~@free_function_t at setsockopt@int (*)( int,int,int,void const *,::socklen_t )int (*)( int,int,int,void const *,::socklen_t )
+~@free_function_t at __builtin_ctzll@int (*)( long long int )int (*)( long long int )
+~@free_function_t at __builtin_csqrt@complex double (*)( complex double )complex double (*)( complex double )
+~@free_function_t at inet6_opt_set_val@int (*)( void *,int,void *,::socklen_t )int (*)( void *,int,void *,::socklen_t )
+~@free_function_t at wcstoumax@::uintmax_t (*)( __restrict__ wchar_t const *,__restrict__ wchar_t * *,int )::uintmax_t (*)( __restrict__ wchar_t const *,__restrict__ wchar_t * *,int )
+~@free_function_t at __builtin_cpow@complex double (*)( complex double,complex double )complex double (*)( complex double,complex double )
++ at free_function_t@memcached_append@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
+~@free_function_t at __builtin_cabs@double (*)( complex double )double (*)( complex double )
+~@free_function_t at alloca@void * (*)( ::size_t )void * (*)( ::size_t )
+~@free_function_t at __cmsg_nxthdr@::cmsghdr * (*)( ::msghdr *,::cmsghdr * )::cmsghdr * (*)( ::msghdr *,::cmsghdr * )
+~@free_function_t at shutdown@int (*)( int,int )int (*)( int,int )
+~@free_function_t at getsubopt@int (*)( __restrict__ char * *,__restrict__ char * const *,__restrict__ char * * )int (*)( __restrict__ char * *,__restrict__ char * const *,__restrict__ char * * )
+~@free_function_t at __builtin_expect@long int (*)( long int,long int )long int (*)( long int,long int )
+~@free_function_t at __builtin_ctanf@complex float (*)( complex float )complex float (*)( complex float )
+~@free_function_t at __builtin_ctanh@complex double (*)( complex double )complex double (*)( complex double )
+~@free_function_t at __builtin_ctanl@complex long double (*)( complex long double )complex long double (*)( complex long double )
++ at free_function_t@memcached_result_reset at void (*)( ::memcached_result_st * )void (*)( ::memcached_result_st * )
+~@free_function_t at gnu_dev_major@unsigned int (*)( long long unsigned int )unsigned int (*)( long long unsigned int )
+~@free_function_t at strtoimax@::intmax_t (*)( __restrict__ char const *,__restrict__ char * *,int )::intmax_t (*)( __restrict__ char const *,__restrict__ char * *,int )
+~@free_function_t at __builtin_frexpl@long double (*)( long double,int * )long double (*)( long double,int * )
++ at free_function_t@memcached_set_memory_allocators@::memcached_return (*)( ::memcached_st *,::memcached_malloc_function,::memcached_free_function,::memcached_realloc_function,::memcached_calloc_function )::memcached_return (*)( ::memcached_st *,::memcached_malloc_function,::memcached_free_function,::memcached_realloc_function,::memcached_calloc_function )
+~@free_function_t at fcvt_r@int (*)( double,int,__restrict__ int *,__restrict__ int *,__restrict__ char *,::size_t )int (*)( double,int,__restrict__ int *,__restrict__ int *,__restrict__ char *,::size_t )
+~@free_function_t at strtoumax@::uintmax_t (*)( __restrict__ char const *,__restrict__ char * *,int )::uintmax_t (*)( __restrict__ char const *,__restrict__ char * *,int )
+~@free_function_t at __builtin_floorl@long double (*)( long double )long double (*)( long double )
++ at free_function_t@memcached_dump@::memcached_return (*)( ::memcached_st *,::memcached_dump_func *,void *,::uint32_t )::memcached_return (*)( ::memcached_st *,::memcached_dump_func *,void *,::uint32_t )
++ at free_function_t@memcached_server_push@::memcached_return (*)( ::memcached_st *,::memcached_server_st * )::memcached_return (*)( ::memcached_st *,::memcached_server_st * )
++ at free_function_t@memcached_server_add_unix_socket_with_weight@::memcached_return (*)( ::memcached_st *,char const *,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::uint32_t )
+~@free_function_t at drand48@double (*)(  )double (*)(  )
++ at free_function_t@memcached_flush_buffers@::memcached_return (*)( ::memcached_st * )::memcached_return (*)( ::memcached_st * )
+~@free_function_t at __builtin_frexp@double (*)( double,int * )double (*)( double,int * )
++ at free_function_t@run_distribution@::memcached_return (*)( ::memcached_st * )::memcached_return (*)( ::memcached_st * )
++ at free_function_t@memcached_append_by_key@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
+~@free_function_t at __builtin_ldexp@double (*)( double,int )double (*)( double,int )
+~@free_function_t at qfcvt@char * (*)( long double,int,__restrict__ int *,__restrict__ int * )char * (*)( long double,int,__restrict__ int *,__restrict__ int * )
+~@free_function_t at clearenv@int (*)(  )int (*)(  )
+~@free_function_t at malloc@void * (*)( ::size_t )void * (*)( ::size_t )
+~@free_function_t at inet6_opt_finish@int (*)( void *,::socklen_t,int )int (*)( void *,::socklen_t,int )
+~@free_function_t at srand@void (*)( unsigned int )void (*)( unsigned int )
+~@free_function_t at __builtin_return@void (*)( void * )void (*)( void * )
++ at free_function_t@memcached_get_by_key at char * (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::size_t *,::uint32_t *,::memcached_return * )char * (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::size_t *,::uint32_t *,::memcached_return * )
+~@free_function_t at __builtin_sin@double (*)( double )double (*)( double )
+~@free_function_t at readv@::ssize_t (*)( int,::iovec const *,int )::ssize_t (*)( int,::iovec const *,int )
+~@free_function_t at inet6_opt_find@int (*)( void *,::socklen_t,int,::uint8_t,::socklen_t *,void * * )int (*)( void *,::socklen_t,int,::uint8_t,::socklen_t *,void * * )
++ at free_function_t@memcached_quit at void (*)( ::memcached_st * )void (*)( ::memcached_st * )
+~@free_function_t at qfcvt_r@int (*)( long double,int,__restrict__ int *,__restrict__ int *,__restrict__ char *,::size_t )int (*)( long double,int,__restrict__ int *,__restrict__ int *,__restrict__ char *,::size_t )
+~@free_function_t at recvmsg@::ssize_t (*)( int,::msghdr *,int )::ssize_t (*)( int,::msghdr *,int )
+~@free_function_t at __builtin_isless@bool (*)( ... )bool (*)( ... )
+~@free_function_t at setstate@char * (*)( char * )char * (*)( char * )
++ at free_function_t@memcached_string_append@::memcached_return (*)( ::memcached_string_st *,char *,::size_t )::memcached_return (*)( ::memcached_string_st *,char *,::size_t )
+~@free_function_t at __builtin_isnan@bool (*)( ... )bool (*)( ... )
++ at free_function_t@memcached_server_free at void (*)( ::memcached_server_st * )void (*)( ::memcached_server_st * )
+~@free_function_t at calloc@void * (*)( ::size_t,::size_t )void * (*)( ::size_t,::size_t )
+~@free_function_t at __builtin_isgreaterequal@bool (*)( ... )bool (*)( ... )
+~@free_function_t at wcstombs@::size_t (*)( __restrict__ char *,__restrict__ wchar_t const *,::size_t )::size_t (*)( __restrict__ char *,__restrict__ wchar_t const *,::size_t )
+~@free_function_t at drand48_r@int (*)( __restrict__ ::drand48_data *,__restrict__ double * )int (*)( __restrict__ ::drand48_data *,__restrict__ double * )
+~@free_function_t at nrand48@long int (*)( short unsigned int * )long int (*)( short unsigned int * )
++ at free_function_t@memcached_behavior_set@::memcached_return (*)( ::memcached_st *,::memcached_behavior,::uint64_t )::memcached_return (*)( ::memcached_st *,::memcached_behavior,::uint64_t )
++ at free_function_t@memcached_decrement@::memcached_return (*)( ::memcached_st *,char const *,::size_t,::uint32_t,::uint64_t * )::memcached_return (*)( ::memcached_st *,char const *,::size_t,::uint32_t,::uint64_t * )
++ at free_function_t@memcached_stat_get_keys at char * * (*)( ::memcached_st *,::memcached_stat_st *,::memcached_return * )char * * (*)( ::memcached_st *,::memcached_stat_st *,::memcached_return * )
+~@free_function_t at __builtin_tanhf@float (*)( float )float (*)( float )
+~@free_function_t at __builtin_tanhl@long double (*)( long double )long double (*)( long double )
++ at free_function_t@memcached_result_set_value@::memcached_return (*)( ::memcached_result_st *,char *,::size_t )::memcached_return (*)( ::memcached_result_st *,char *,::size_t )
+~@free_function_t at __builtin_popcount@int (*)( int )int (*)( int )
++ at free_function_t@memcached_server_list_free at void (*)( ::memcached_server_st * )void (*)( ::memcached_server_st * )
+~@free_function_t at preadv@::ssize_t (*)( int,::iovec const *,int,::__off_t )::ssize_t (*)( int,::iovec const *,int,::__off_t )
+~@free_function_t at ldiv@::ldiv_t (*)( long int,long int )::ldiv_t (*)( long int,long int )
+~@free_function_t at ptsname@char * (*)( int )char * (*)( int )
++ at free_function_t@memcached_fetch_execute@::memcached_return (*)( ::memcached_st *,::memcached_execute_function *,void *,unsigned int )::memcached_return (*)( ::memcached_st *,::memcached_execute_function *,void *,unsigned int )
+~@free_function_t at __builtin_csin@complex double (*)( complex double )complex double (*)( complex double )
+~@free_function_t at imaxabs@::intmax_t (*)( ::intmax_t )::intmax_t (*)( ::intmax_t )
+~@free_function_t at srandom_r@int (*)( unsigned int,::random_data * )int (*)( unsigned int,::random_data * )
+~@free_function_t at mkstemp@int (*)( char * )int (*)( char * )
+~@free_function_t at gnu_dev_minor@unsigned int (*)( long long unsigned int )unsigned int (*)( long long unsigned int )
+~@free_function_t at __builtin_tanf@float (*)( float )float (*)( float )
++ at free_function_t@memcached_delete@::memcached_return (*)( ::memcached_st *,char const *,::size_t,::time_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,::time_t )
+~@free_function_t at __builtin_tanh@double (*)( double )double (*)( double )
+~@free_function_t at __builtin_tanl@long double (*)( long double )long double (*)( long double )
++ at free_function_t@memcached_verbosity@::memcached_return (*)( ::memcached_st *,unsigned int )::memcached_return (*)( ::memcached_st *,unsigned int )
+~@free_function_t at __builtin_clogf@complex float (*)( complex float )complex float (*)( complex float )
+~@free_function_t at __builtin_clogl@complex long double (*)( complex long double )complex long double (*)( complex long double )
++ at free_function_t@memcached_stat_get_value at char * (*)( ::memcached_st *,::memcached_stat_st *,char const *,::memcached_return * )char * (*)( ::memcached_st *,::memcached_stat_st *,char const *,::memcached_return * )
+~@free_function_t at __builtin_sqrt@double (*)( double )double (*)( double )
+~@free_function_t at __builtin_isunordered@bool (*)( ... )bool (*)( ... )
+~@free_function_t at lldiv@::lldiv_t (*)( long long int,long long int )::lldiv_t (*)( long long int,long long int )
+~@free_function_t at rpmatch@int (*)( char const * )int (*)( char const * )
+~@free_function_t at __builtin_nansf@float (*)( char const * )float (*)( char const * )
++ at free_function_t@memcached_decrement_with_initial@::memcached_return (*)( ::memcached_st *,char const *,::size_t,::uint64_t,::uint64_t,::time_t,::uint64_t * )::memcached_return (*)( ::memcached_st *,char const *,::size_t,::uint64_t,::uint64_t,::time_t,::uint64_t * )
+~@free_function_t at inet6_opt_append@int (*)( void *,::socklen_t,int,::uint8_t,::socklen_t,::uint8_t,void * * )int (*)( void *,::socklen_t,int,::uint8_t,::socklen_t,::uint8_t,void * * )
++ at free_function_t@memcached_set_by_key@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
+~@free_function_t at mblen@int (*)( char const *,::size_t )int (*)( char const *,::size_t )
+~@free_function_t at __builtin_sinf@float (*)( float )float (*)( float )
+~@free_function_t at __builtin_sinl@long double (*)( long double )long double (*)( long double )
+~@free_function_t at accept4@int (*)( int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t *,int )int (*)( int,__restrict__ ::sockaddr *,__restrict__ ::socklen_t *,int )
+~@free_function_t at __builtin_isfinite@bool (*)( ... )bool (*)( ... )
+~@free_function_t at __builtin_sinh@double (*)( double )double (*)( double )
+~@free_function_t at qecvt_r@int (*)( long double,int,__restrict__ int *,__restrict__ int *,__restrict__ char *,::size_t )int (*)( long double,int,__restrict__ int *,__restrict__ int *,__restrict__ char *,::size_t )
++ at free_function_t@memcached_server_remove@::memcached_return (*)( ::memcached_server_st * )::memcached_return (*)( ::memcached_server_st * )
+~@free_function_t at exit@void (*)( int )void (*)( int )
+~@free_function_t at __builtin_cabsl@long double (*)( complex long double )long double (*)( complex long double )
+~@free_function_t at mbstowcs@::size_t (*)( __restrict__ wchar_t *,__restrict__ char const *,::size_t )::size_t (*)( __restrict__ wchar_t *,__restrict__ char const *,::size_t )
++ at free_function_t@memcached_servers_parse@::memcached_server_st * (*)( char const * )::memcached_server_st * (*)( char const * )
++ at free_function_t@memcached_server_cursor@::memcached_return (*)( ::memcached_st *,::memcached_server_function *,void *,unsigned int )::memcached_return (*)( ::memcached_st *,::memcached_server_function *,void *,unsigned int )
+~@free_function_t at socket@int (*)( int,int,int )int (*)( int,int,int )
+~@free_function_t at __builtin_ctz@int (*)( int )int (*)( int )
+~@free_function_t at bsearch@void * (*)( void const *,void const *,::size_t,::size_t,::__compar_fn_t )void * (*)( void const *,void const *,::size_t,::size_t,::__compar_fn_t )
+~@free_function_t at fcvt@char * (*)( double,int,__restrict__ int *,__restrict__ int * )char * (*)( double,int,__restrict__ int *,__restrict__ int * )
+~@free_function_t at __builtin_asinf@float (*)( float )float (*)( float )
+~@free_function_t at __builtin_asinl@long double (*)( long double )long double (*)( long double )
++ at free_function_t@memcached_get_memory_allocators at void (*)( ::memcached_st *,::memcached_malloc_function *,::memcached_free_function *,::memcached_realloc_function *,::memcached_calloc_function * )void (*)( ::memcached_st *,::memcached_malloc_function *,::memcached_free_function *,::memcached_realloc_function *,::memcached_calloc_function * )
++ at free_function_t@memcached_set@::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )::memcached_return (*)( ::memcached_st *,char const *,::size_t,char const *,::size_t,::time_t,::uint32_t )
++ at free_function_t@memcached_behavior_get@::uint64_t (*)( ::memcached_st *,::memcached_behavior )::uint64_t (*)( ::memcached_st *,::memcached_behavior )
+~@free_function_t at sockatmark@int (*)( int )int (*)( int )
+~@free_function_t at putenv@int (*)( char * )int (*)( char * )
++ at free_function_t@memcached_generate_hash_value@::uint32_t (*)( char const *,::size_t,::memcached_hash )::uint32_t (*)( char const *,::size_t,::memcached_hash )
++ at free_function_t@memcached_result_value at char * (*)( ::memcached_result_st * )char * (*)( ::memcached_result_st * )
+~@free_function_t at __builtin_sqrtl@long double (*)( long double )long double (*)( long double )
+~@free_function_t at __builtin_nans@double (*)( char const * )double (*)( char const * )
+~@free_function_t at __builtin_sqrtf@float (*)( float )float (*)( float )
+~@free_function_t at l64a@char * (*)( long int )char * (*)( long int )
+~@free_function_t at mrand48@long int (*)(  )long int (*)(  )
++ at free_function_t@memcached_stat@::memcached_stat_st * (*)( ::memcached_st *,char *,::memcached_return * )::memcached_stat_st * (*)( ::memcached_st *,char *,::memcached_return * )
+~@free_function_t at getenv@char * (*)( char const * )char * (*)( char const * )
++ at free_function_t@memcached_server_list_append_with_weight@::memcached_server_st * (*)( ::memcached_server_st *,char const *,unsigned int,::uint32_t,::memcached_return * )::memcached_server_st * (*)( ::memcached_server_st *,char const *,unsigned int,::uint32_t,::memcached_return * )
+~@free_function_t at atoi@int (*)( char const * )int (*)( char const * )
+~@free_function_t at atol@long int (*)( char const * )long int (*)( char const * )
+~@free_function_t at atof@double (*)( char const * )double (*)( char const * )
+~@free_function_t at erand48@double (*)( short unsigned int * )double (*)( short unsigned int * )
+~@free_function_t at __builtin_islessgreater@bool (*)( ... )bool (*)( ... )
+~@free_function_t at imaxdiv@::imaxdiv_t (*)( ::intmax_t,::intmax_t )::imaxdiv_t (*)( ::intmax_t,::intmax_t )
++ at free_function_t@memcached_fetch_result@::memcached_result_st * (*)( ::memcached_st *,::memcached_result_st *,::memcached_return * )::memcached_result_st * (*)( ::memcached_st *,::memcached_result_st *,::memcached_return * )
+~@free_function_t at connect@int (*)( int,::sockaddr const *,::socklen_t )int (*)( int,::sockaddr const *,::socklen_t )
+~@free_function_t at llabs@long long int (*)( long long int )long long int (*)( long long int )
+~@free_function_t at __builtin_frexpf@float (*)( float,int * )float (*)( float,int * )
+~@free_function_t at htonl@::uint32_t (*)( ::uint32_t )::uint32_t (*)( ::uint32_t )
+~@free_function_t at inet6_option_space@int (*)( int )int (*)( int )
+~@free_function_t at __builtin_floorf@float (*)( float )float (*)( float )
+~@free_function_t at jrand48_r@int (*)( short unsigned int *,__restrict__ ::drand48_data *,__restrict__ long int * )int (*)( short unsigned int *,__restrict__ ::drand48_data *,__restrict__ long int * )
+~@free_function_t at initstate@char * (*)( unsigned int,char *,::size_t )char * (*)( unsigned int,char *,::size_t )
++ at free_function_t@memcached_callback_set@::memcached_return (*)( ::memcached_st *,::memcached_callback,void * )::memcached_return (*)( ::memcached_st *,::memcached_callback,void * )
+~@free_function_t at htons@::uint16_t (*)( ::uint16_t )::uint16_t (*)( ::uint16_t )
+~@free_function_t at posix_openpt@int (*)( int )int (*)( int )
+~@free_function_t at setenv@int (*)( char const *,char const *,int )int (*)( char const *,char const *,int )
++ at free_function_t@memcached_stat_servername@::memcached_return (*)( ::memcached_stat_st *,char *,char *,unsigned int )::memcached_return (*)( ::memcached_stat_st *,char *,char *,unsigned int )
+~@free_function_t at inet6_rth_segments@int (*)( void const * )int (*)( void const * )
++ at free_function_t@memcached_string_append_character@::memcached_return (*)( ::memcached_string_st *,char )::memcached_return (*)( ::memcached_string_st *,char )
+~@free_function_t at __builtin_ccoshl@complex long double (*)( complex long double )complex long double (*)( complex long double )
+~@free_function_t at __builtin_inff@float (*)(  )float (*)(  )
+~@free_function_t at __builtin_ccoshf@complex float (*)( complex float )complex float (*)( complex float )
+~@free_function_t at pwritev64@::ssize_t (*)( int,::iovec const *,int,::__off64_t )::ssize_t (*)( int,::iovec const *,int,::__off64_t )
++ at free_function_t@memcached_server_list_append@::memcached_server_st * (*)( ::memcached_server_st *,char const *,unsigned int,::memcached_return * )::memcached_server_st * (*)( ::memcached_server_st *,char const *,unsigned int,::memcached_return * )
+~@free_function_t at mkostemp64@int (*)( char *,int )int (*)( char *,int )
+~@free_function_t at strtoul_l@long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int,::__locale_t )long unsigned int (*)( __restrict__ char const *,__restrict__ char * *,int,::__locale_t )
+~@free_function_t at __builtin_ceil@double (*)( double )double (*)( double )
+~@free_function_t at __builtin_fmodf@float (*)( float,float )float (*)( float,float )
++ at free_function_t@memcached_server_list_count at unsigned int (*)( ::memcached_server_st * )unsigned int (*)( ::memcached_server_st * )
+~@free_function_t at __builtin_fmodl@long double (*)( long double,long double )long double (*)( long double,long double )
diff --git a/examples/libmemcached_dev/test.py b/examples/libmemcached_dev/test.py
new file mode 100644
index 0000000..157c0f4
--- /dev/null
+++ b/examples/libmemcached_dev/test.py
@@ -0,0 +1,27 @@
+import ctypes
+import pymemcached as mmc
+
+print 'memcached version: ', mmc.memcached_lib_version()
+
+memc = mmc.memcached_create(None)
+servers = mmc.memcached_servers_parse( "localhost:11211" )
+mmc.memcached_server_push(memc, servers);
+mmc.memcached_server_list_free(servers);
+
+key = "1"
+value = "Python is better!"
+
+result = mmc.memcached_add( memc, key, len(key), value, len(value), 0, 0);
+print "key/value (%s/%s ) was stored?: " % ( key, value ) + mmc.memcached_strerror(memc, result);
+
+result = mmc.memcached_delete( memc, key, len(key), 0);
+print "key/value (%s/%s ) was deleted?: " % ( key, value ) + mmc.memcached_strerror(memc, result);
+
+for key in 'abcdefghijklmnopqrstuvwxyz':
+    value_length = ctypes.c_size_t()
+    flags = ctypes.c_ulong()
+    result = mmc.memcached_return()
+    value = mmc.memcached_get( memc, key, len(key), ctypes.byref( value_length ), ctypes.byref( flags ), ctypes.byref( result ) )
+    print 'key/value (%s/%s)' % ( key, value )
+    print   mmc.memcached_strerror(memc, result);
+
diff --git a/examples/pyboost_dev/MANIFEST.in b/examples/pyboost_dev/MANIFEST.in
new file mode 100644
index 0000000..1d10fdb
--- /dev/null
+++ b/examples/pyboost_dev/MANIFEST.in
@@ -0,0 +1,6 @@
+include LICENSE_1_0.txt
+recursive-include dev/*.py
+recursive-include dev/*.hpp
+recursive-include dev/sconscript*
+prune dev/*/.svn
+
diff --git a/examples/pyboost_dev/crc_example.py b/examples/pyboost_dev/crc_example.py
new file mode 100644
index 0000000..795b46f
--- /dev/null
+++ b/examples/pyboost_dev/crc_example.py
@@ -0,0 +1,20 @@
+import os
+import sys
+from pyboost import crc
+
+if __name__ == '__main__':
+    if sys.argv:
+        files = sys.argv
+    else:
+        files = [ sys.executable ]
+        
+    try:
+        result = crc.crc_32_type()
+        for file_name in files:
+            ifs = file( file_name, 'rb' )
+            for line in ifs:
+                result.process_bytes( line )
+        print hex( result.checksum() ).upper()
+    except Exception, error:
+        sys.stderr.write( "Found an exception with'%s'%s" %( str( error ), os.linesep ) )
+        sys.exit( 1 )
\ No newline at end of file
diff --git a/examples/pyboost_dev/date_time_example.py b/examples/pyboost_dev/date_time_example.py
new file mode 100644
index 0000000..f84f50c
--- /dev/null
+++ b/examples/pyboost_dev/date_time_example.py
@@ -0,0 +1,70 @@
+import os
+from pyboost import date_time
+from pyboost.date_time import gregorian 
+from pyboost.date_time import posix_time
+from pyboost.date_time import local_time
+from pyboost.date_time import to_simple_string
+
+#Date programming
+weekstart = gregorian.date(2002, date_time.Feb,1)
+print 'weekstart: ', to_simple_string( weekstart )
+
+weekend  = weekstart + gregorian.weeks(1)
+print 'weekend: ', to_simple_string( weekend )
+
+today = gregorian.day_clock.local_day()
+d2 = weekstart + gregorian.days(5)
+if d2 >= today: #comparison operator
+    pass
+
+thisWeek = gregorian.date_period(today,d2)
+if thisWeek.contains(today):
+    pass
+
+#date generator functions 
+d5 = gregorian.next_weekday(today, date_time.Sunday); #calculate Sunday following d4
+print 'd5: ', to_simple_string( d5 )
+
+#US labor day is first Monday in Sept 
+first = gregorian.nth_day_of_the_week_in_month.first
+labor_day = gregorian.nth_day_of_the_week_in_month(first, date_time.Monday, date_time.Sep)
+#calculate a specific date for 2004 from functor 
+print 'labor day 2004: ', to_simple_string( labor_day.get_date(2004) )
+
+#Time programming:
+d = gregorian.date(2002,date_time.Feb,1)#an arbitrary date 
+t1 = posix_time.ptime(d, posix_time.hours(5) + posix_time.millisec(100)); #date + time of day offset 
+print 't1: ', to_simple_string( t1 )
+
+t2 = t1 - posix_time.minutes(4) + posix_time.seconds(2)
+print 't2: ', to_simple_string( t2 )
+
+now = posix_time.second_clock.local_time(); #use the clock 
+print 'now: ', to_simple_string( now )
+today = now.date() #Get the date part out of the time 
+print 'today: ', to_simple_string( today )
+tomorrow = today + gregorian.date_duration(1)
+print 'tomorrow: ', to_simple_string( tomorrow )
+
+#Local time programming:
+#setup some timezones for creating and adjusting times
+#first time zone uses the time zone file for regional timezone definitions
+tz_db = local_time.time_zone_database()
+tz_db.load_from_file( os.path.join( date_time.__path__[0], "date_time_zonespec.csv") )
+nyc_tz = tz_db.time_zone_from_region("America/New_York")
+#This timezone uses a posix time zone string definition to create a time zone
+phx_tz = local_time.posix_time_zone("MST-07:00:00")
+
+#local departure time in phoenix is 11 pm on April 2 2005 
+#Note that New York changes to daylight savings on Apr 3 at 2 am)
+phx_departure = local_time.local_date_time( 
+    gregorian.date(2005, date_time.Apr, 2)
+    , posix_time.hours(23)
+    , phx_tz
+    , local_time.local_date_time.NOT_DATE_TIME_ON_ERROR)
+
+flight_length = posix_time.hours(4) + posix_time.minutes(30)
+phx_arrival = phx_departure + flight_length
+#//convert the phx time to a nyz time
+nyc_arrival = phx_arrival.local_time_in(nyc_tz, posix_time.time_duration() )
+print "New York arrival: ", nyc_arrival.to_string() #//2005-Apr-03 06:30:00 EDT
diff --git a/examples/pyboost_dev/dev/boost_random/generate_code.py b/examples/pyboost_dev/dev/boost_random/generate_code.py
new file mode 100644
index 0000000..b643c52
--- /dev/null
+++ b/examples/pyboost_dev/dev/boost_random/generate_code.py
@@ -0,0 +1,161 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import time
+import logging
+import random_settings
+from pygccxml import parser
+from pyplusplus import module_builder
+from pyplusplus.module_builder import call_policies
+
+
+LICENSE = """// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+"""
+
+class code_generator_t(object):    
+    def __init__(self):
+        self.__file = os.path.join( random_settings.working_dir, 'random_export.hpp' )
+        self.__mb = module_builder.module_builder_t( 
+                        [ parser.create_cached_source_fc( 
+                            self.__file
+                            , os.path.join( random_settings.generated_files_dir, 'random.xml' ) ) ]
+                        , gccxml_path=random_settings.gccxml.executable
+                        , include_paths=[random_settings.boost.include]
+                        , define_symbols=random_settings.defined_symbols
+                        , undefine_symbols=random_settings.undefined_symbols
+                        , indexing_suite_version=2)
+        self.generators = [   "ecuyer1988"
+                              , "hellekalek1995"
+                              , "kreutzer1986"
+                              , "lagged_fibonacci1279"
+                              , "lagged_fibonacci19937"
+                              , "lagged_fibonacci2281"
+                              , "lagged_fibonacci23209"
+                              , "lagged_fibonacci3217"
+                              , "lagged_fibonacci4423"
+                              , "lagged_fibonacci44497"
+                              , "lagged_fibonacci607"
+                              , "lagged_fibonacci9689"
+                              , "minstd_rand"
+                              , "minstd_rand0"
+                              , "mt11213b"
+                              , "mt19937"
+                              , "ranlux3"
+                              , "ranlux3_01"
+                              , "ranlux4"
+                              , "ranlux4_01"
+                              , "ranlux64_3_01"
+                              , "ranlux64_4_01"
+                              , "taus88" ]
+    
+        self.no_min_max = [ 'py_cauchy_distribution'
+                            , 'py_bernoulli_distribution'
+                            , 'py_binomial_distribution'
+                            , 'py_poisson_distribution'
+                            , 'py_normal_distribution'
+                            , 'py_gamma_distribution'
+                            , 'py_triangle_distribution'
+                            , 'py_uniform_on_sphere'
+                            , 'py_exponential_distribution'
+                            , 'py_geometric_distribution'
+                            , 'py_lognormal_distribution'
+                            ]
+        
+    def typedef2class( self, scope, name ):
+        typedef = scope.typedef( name )
+        return typedef.type.declaration
+    
+    def filter_declarations(self ):
+        self.__mb.global_ns.exclude()
+        boost_ns = self.__mb.global_ns.namespace( 'boost', recursive=False )
+        for name in self.generators:
+            gen_cls = self.typedef2class( boost_ns, name )
+            gen_cls.include()
+            #TODO: find out why compiler complains
+            gen_cls.member_functions( 'seed' ).create_with_signature = True
+        
+        pyimpl_ns = boost_ns.namespace( 'pyimpl' )
+        helpers = pyimpl_ns.classes( lambda decl: decl.name.startswith( 'py_') )
+        helpers.include()
+        for helper in helpers:
+            distrib_cls = self.typedef2class( helper, "distribution" )
+            distrib_cls.include()
+            var_gen_typedefs = helper.typedefs( lambda decl: decl.name.startswith( 'variate_generator_' ) )
+            for var_gen_typedef in var_gen_typedefs:
+                var_gen_cls = var_gen_typedef.type.declaration
+                var_gen_cls.include()
+                var_gen_cls.member_operators( symbol='()' ).create_with_signature = True
+                if helper.name in self.no_min_max:
+                    var_gen_cls.member_function( 'max' ).exclude()
+                    var_gen_cls.member_function( 'min' ).exclude()
+                
+        ecuyer1988 = self.typedef2class( boost_ns, 'ecuyer1988' )
+        ecuyer1988.member_function( 'seed', arg_types=[None, None] ).exclude()
+        
+    def prepare_declarations( self ):
+        boost_ns = self.__mb.namespace( 'boost' )
+        for name in self.generators:
+            gen_cls = self.typedef2class( boost_ns, name )
+            gen_cls.alias = name
+
+        pyimpl_ns = boost_ns.namespace( 'pyimpl' )
+        helpers = pyimpl_ns.classes( lambda decl: decl.name.startswith( 'py_') )
+        for helper in helpers:
+            distrib_cls = self.typedef2class( helper, "distribution" )
+            distrib_cls.alias = helper.name[3:] #py_
+            var_gen_typedefs = helper.typedefs( lambda decl: decl.name.startswith( 'variate_generator_' ) )
+            for var_gen_typedef in var_gen_typedefs:
+                var_gen_cls = var_gen_typedef.type.declaration
+                var_gen_cls.alias = var_gen_typedef.name + '__' + distrib_cls.alias
+                
+        self.set_call_policies()
+        boost_ns.classes().add_properties( exclude_accessors=True )
+
+    def set_call_policies( self ):
+        boost_ns = self.__mb.namespace( 'boost' )
+        engine_funcs = boost_ns.member_functions( name="engine"
+                                                  , function=lambda decl: not decl.has_const )
+        engine_funcs.call_policies = call_policies.return_internal_reference()
+
+        distribution_funcs = boost_ns.member_functions( name="distribution"
+                                                        , function=lambda decl: not decl.has_const )
+        distribution_funcs.call_policies = call_policies.return_internal_reference()
+        
+    def customize_extmodule( self ):
+        global LICENSE
+        extmodule = self.__mb.code_creator
+        extmodule.license = LICENSE
+        extmodule.user_defined_directories.append( random_settings.boost.include )
+        extmodule.user_defined_directories.append( random_settings.working_dir )
+        extmodule.user_defined_directories.append( random_settings.generated_files_dir )
+        extmodule.replace_included_headers( ['boost/random.hpp', 'boost/nondet_random.hpp', 'random_export.hpp' ] )
+        
+    def write_files( self ):
+        self.__mb.split_module( random_settings.generated_files_dir )
+
+    def create(self):
+        start_time = time.clock()      
+        self.filter_declarations()
+        self.prepare_declarations()
+        self.__mb.build_code_creator( random_settings.module_name )
+        
+        self.customize_extmodule()
+        self.write_files( )
+        print 'time taken : ', time.clock() - start_time, ' seconds'
+
+def export():
+    cg = code_generator_t()
+    cg.create()
+
+if __name__ == '__main__':
+    export()
+    print 'done'
+    
+    
diff --git a/examples/pyboost_dev/dev/boost_random/random_export.hpp b/examples/pyboost_dev/dev/boost_random/random_export.hpp
new file mode 100644
index 0000000..ba9fd43
--- /dev/null
+++ b/examples/pyboost_dev/dev/boost_random/random_export.hpp
@@ -0,0 +1,472 @@
+#include <boost/random.hpp>
+
+namespace boost{ namespace random{ namespace pyimpl{
+
+struct generators{
+    static void instantiate(){
+        sizeof( ecuyer1988            );
+        sizeof( hellekalek1995        );
+        sizeof( kreutzer1986          );
+        sizeof( lagged_fibonacci1279  );
+        sizeof( lagged_fibonacci19937 );
+        sizeof( lagged_fibonacci2281  );
+        sizeof( lagged_fibonacci23209 );
+        sizeof( lagged_fibonacci3217  );
+        sizeof( lagged_fibonacci4423  );
+        sizeof( lagged_fibonacci44497 );
+        sizeof( lagged_fibonacci607   );
+        sizeof( lagged_fibonacci9689  );
+        sizeof( minstd_rand           );
+        sizeof( minstd_rand0          );
+        sizeof( mt11213b              );
+        sizeof( mt19937               );
+        sizeof( ranlux3               );
+        sizeof( ranlux3_01            );
+        sizeof( ranlux4               );
+        sizeof( ranlux4_01            );
+        sizeof( ranlux64_3_01         );
+        sizeof( ranlux64_4_01         );
+        sizeof( taus88                );
+    }
+};
+
+#define CREATE_INSTANTIATION( GENERATOR_TYPE )                                                      \
+    static result_type                                                                              \
+    inline call( distribution& dist, GENERATOR_TYPE& gen ){                                         \
+        return dist( gen );                                                                         \
+    }                                                                                               \
+                                                                                                    \
+    typedef variate_generator< GENERATOR_TYPE, distribution > variate_generator_##GENERATOR_TYPE;   \
+                                                                                                    \
+    variate_generator< GENERATOR_TYPE, distribution >                                               \
+    create_vg(distribution dist, GENERATOR_TYPE gen ){                                              \
+        return variate_generator< GENERATOR_TYPE, distribution >(gen, dist);                        \
+    }
+    
+struct py_uniform_smallint{
+    
+    typedef uniform_smallint<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    //CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    //CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    //CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    //CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    //CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    //CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    //CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    //CREATE_INSTANTIATION( lagged_fibonacci607   );
+    //CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    //CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    //CREATE_INSTANTIATION( ranlux4_01          );
+    //CREATE_INSTANTIATION( ranlux64_3_01       );
+    //CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+
+struct py_uniform_int{
+        
+    typedef uniform_int<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    //CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    //CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    //CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    //CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    //CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    //CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    //CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    //CREATE_INSTANTIATION( lagged_fibonacci607   );
+    //CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    //CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    //CREATE_INSTANTIATION( ranlux4_01          );
+    //CREATE_INSTANTIATION( ranlux64_3_01       );
+    //CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+ 
+ 
+struct py_uniform_real{
+    
+    typedef uniform_real<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+  
+struct py_bernoulli_distribution{
+    
+    typedef bernoulli_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+}; 
+ 
+  
+struct py_geometric_distribution{
+    
+    typedef geometric_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};  
+ 
+struct py_triangle_distribution{
+    
+    typedef triangle_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+}; 
+
+
+struct py_exponential_distribution{
+    
+    typedef exponential_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+
+
+struct py_normal_distribution{
+    
+    typedef normal_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+
+struct py_uniform_on_sphere{
+    
+    typedef uniform_on_sphere<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+
+struct py_lognormal_distribution{
+    
+    typedef lognormal_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+
+struct py_gamma_distribution{
+    
+    typedef gamma_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+
+struct py_binomial_distribution{
+    
+    typedef binomial_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+
+struct py_poisson_distribution{
+    
+    typedef poisson_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+
+struct py_cauchy_distribution{
+    
+    typedef cauchy_distribution<> distribution;
+    typedef distribution::result_type result_type;
+
+    CREATE_INSTANTIATION( ecuyer1988          );
+    CREATE_INSTANTIATION( hellekalek1995      );
+    CREATE_INSTANTIATION( kreutzer1986        );
+    CREATE_INSTANTIATION( lagged_fibonacci1279  );
+    CREATE_INSTANTIATION( lagged_fibonacci19937 );
+    CREATE_INSTANTIATION( lagged_fibonacci2281  );
+    CREATE_INSTANTIATION( lagged_fibonacci23209 );
+    CREATE_INSTANTIATION( lagged_fibonacci3217  );
+    CREATE_INSTANTIATION( lagged_fibonacci4423  );
+    CREATE_INSTANTIATION( lagged_fibonacci44497 );
+    CREATE_INSTANTIATION( lagged_fibonacci607   );
+    CREATE_INSTANTIATION( lagged_fibonacci9689  );
+    CREATE_INSTANTIATION( minstd_rand         );
+    CREATE_INSTANTIATION( minstd_rand0        );
+    CREATE_INSTANTIATION( mt11213b            );
+    CREATE_INSTANTIATION( mt19937             );
+    CREATE_INSTANTIATION( ranlux3             );
+    CREATE_INSTANTIATION( ranlux3_01          );
+    CREATE_INSTANTIATION( ranlux4             );
+    CREATE_INSTANTIATION( ranlux4_01          );
+    CREATE_INSTANTIATION( ranlux64_3_01       );
+    CREATE_INSTANTIATION( ranlux64_4_01       );
+    CREATE_INSTANTIATION( taus88              );
+};
+
+} } }
+
+
diff --git a/examples/pyboost_dev/dev/boost_random/random_settings.py b/examples/pyboost_dev/dev/boost_random/random_settings.py
new file mode 100644
index 0000000..59a7b0e
--- /dev/null
+++ b/examples/pyboost_dev/dev/boost_random/random_settings.py
@@ -0,0 +1,22 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+
+_script_dir = os.path.abspath( os.getcwd() )
+environment_path = os.path.realpath( os.path.join( _script_dir, '..', '..', '..', '..' ) )
+sys.path.append( environment_path )
+
+from environment import boost, scons, gccxml, python
+
+module_name = '_random_'
+working_dir = _script_dir
+generated_files_dir = os.path.join( _script_dir, 'generated' )
+generated_files_dir = os.path.join( _script_dir, '..', '..', 'pyboost', 'boost_random', 'generated' )
+
+defined_symbols = [ 'BOOST_NO_INCLASS_MEMBER_INITIALIZATION', 'BOOST_NO_INT64_T' ]
+undefined_symbols = [ '__MINGW32__' ]
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/boost_random/sconscript b/examples/pyboost_dev/dev/boost_random/sconscript
new file mode 100644
index 0000000..36b598d
--- /dev/null
+++ b/examples/pyboost_dev/dev/boost_random/sconscript
@@ -0,0 +1,35 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import random_settings
+
+Import( 'env' )
+
+def get_ccflags():
+    if sys.platform == 'win32':
+        return random_settings.scons.ccflags \
+               + map( lambda ds: '/D%s' % ds, random_settings.defined_symbols )
+    else:
+        return map( lambda ds: '-D' + ds, random_settings.defined_symbols )
+
+def get_source_files():
+    source_files = filter( lambda s: s.endswith( '.cpp' ), os.listdir(random_settings.generated_files_dir) )
+    return map( lambda fname: os.path.join( random_settings.generated_files_dir, fname ), source_files )
+
+def get_target():
+    return os.path.join( random_settings.generated_files_dir
+                         , random_settings.module_name + random_settings.scons.suffix )
+
+local_env = env.Copy()
+local_env.Append( CPPPATH=[ random_settings.working_dir, random_settings.generated_files_dir ] )
+local_env.Append( CCFLAGS=get_ccflags() )
+
+_random_ = local_env.SharedLibrary( target=random_settings.module_name 
+                                 , source=get_source_files() )
+
+local_env.Install( '#pyboost/boost_random', _random_ )
diff --git a/examples/pyboost_dev/dev/crc/crc_export.hpp b/examples/pyboost_dev/dev/crc/crc_export.hpp
new file mode 100644
index 0000000..691963b
--- /dev/null
+++ b/examples/pyboost_dev/dev/crc/crc_export.hpp
@@ -0,0 +1,23 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost 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/crc.hpp"
+
+namespace boost{ namespace details{
+
+inline void export_crc(){
+    sizeof( crc_16_type );
+    sizeof( crc_ccitt_type );
+    sizeof( crc_xmodem_type );
+    sizeof( crc_32_type );
+    sizeof( crc_basic<1> );
+    sizeof( crc_basic<3> );
+    sizeof( crc_basic<7> );
+    sizeof( crc_basic<16> );
+    sizeof( crc_basic<32> );
+}
+
+} }
+
diff --git a/examples/pyboost_dev/dev/crc/crc_settings.py b/examples/pyboost_dev/dev/crc/crc_settings.py
new file mode 100644
index 0000000..98faebd
--- /dev/null
+++ b/examples/pyboost_dev/dev/crc/crc_settings.py
@@ -0,0 +1,23 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+
+_script_dir = os.path.abspath( os.getcwd() )
+environment_path = os.path.realpath( os.path.join( _script_dir, '..', '..', '..', '..' ) )
+sys.path.append( environment_path )
+
+from environment import boost, scons, gccxml, python
+
+module_name = '_crc_'
+working_dir = _script_dir
+generated_files_dir = os.path.join( _script_dir, '..', '..', 'pyboost', 'crc', 'generated' )
+
+defined_symbols = ['BOOST_NO_INCLASS_MEMBER_INITIALIZATION']
+undefined_symbols = [ '__MINGW32__' ]
+    
+    
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/crc/generate_code.py b/examples/pyboost_dev/dev/crc/generate_code.py
new file mode 100644
index 0000000..efbfc8f
--- /dev/null
+++ b/examples/pyboost_dev/dev/crc/generate_code.py
@@ -0,0 +1,107 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+
+import os
+import time
+import logging
+import crc_settings
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+LICENSE = """// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+"""
+
+class code_generator_t(object):    
+    def __init__(self):
+        self.__file = os.path.join( crc_settings.working_dir, 'crc_export.hpp' )
+        
+        self.__mb = module_builder.module_builder_t( 
+                        [ parser.create_cached_source_fc( 
+                            self.__file
+                            , os.path.join( crc_settings.generated_files_dir, 'crc.xml' ) ) ]
+                        , gccxml_path=crc_settings.gccxml.executable
+                        , include_paths=[crc_settings.boost.include]
+                        , define_symbols=crc_settings.defined_symbols
+                        , undefine_symbols=crc_settings.undefined_symbols
+                        , indexing_suite_version=2)
+        
+    def filter_declarations(self ):
+        self.__mb.global_ns.exclude()
+        boost_ns = self.__mb.global_ns.namespace( 'boost', recursive=False )
+        boost_ns.classes( lambda decl: decl.name.startswith( 'crc_basic' ) ).include()
+        boost_ns.classes( lambda decl: decl.name.startswith( 'crc_optimal' ) ).include()
+        boost_ns.member_functions( 'process_bytes' ).exclude()
+        boost_ns.member_functions( 'process_block' ).exclude()
+        boost_ns.member_operators( symbol='()' ).exclude()
+        
+    def prepare_declarations( self ):
+        boost_ns = self.__mb.namespace( 'boost' )
+        classes = boost_ns.classes( lambda decl: decl.name.startswith( 'crc_basic' ) )
+        classes.always_expose_using_scope = True
+        for cls in classes:
+            name, args = declarations.templates.split(cls.name)
+            cls.alias = name + '_' + args[0]
+            
+        classes = boost_ns.classes( lambda decl: decl.name.startswith( 'crc_optimal' ) )
+        classes.always_expose_using_scope = True
+        for cls in classes:
+            name, args = declarations.templates.split(cls.name)
+            InitRem = args[2]
+            for f in cls.calldefs():
+                for arg in f.arguments:
+                    if arg.default_value == 'InitRem':
+                        arg.default_value = InitRem
+            aliases = set( map( lambda decl: decl.name, cls.aliases ) )
+            if 'optimal_crc_type' in aliases:
+                aliases.remove( 'optimal_crc_type' )
+            if len( aliases ) == 1:
+                cls.alias = list(aliases)[0]
+            elif cls.name == 'crc_optimal<32, 79764919, 0, 0, false, false>':
+                cls.alias = 'fast_crc_type'
+            elif cls.name == 'crc_optimal<32, 0, 0, 0, false, false>':
+                cls.alias = 'slow_crc_type'
+            else:
+                print 'no alias for class ', cls.name
+                
+    def customize_extmodule( self ):
+        global LICENSE
+        extmodule = self.__mb.code_creator
+        #beautifying include code generation
+        extmodule.license = LICENSE
+        extmodule.user_defined_directories.append( crc_settings.boost.include )
+        extmodule.user_defined_directories.append( crc_settings.working_dir )
+        extmodule.user_defined_directories.append( crc_settings.generated_files_dir )
+        self.__mb.code_creator.replace_included_headers( ['boost/crc.hpp'] )
+
+    def write_files( self ):
+        self.__mb.write_module( os.path.join( crc_settings.generated_files_dir, 'crc.pypp.cpp' ) )
+
+    def create(self):
+        start_time = time.clock()      
+        self.filter_declarations()
+
+        self.prepare_declarations()
+        
+        self.__mb.build_code_creator( crc_settings.module_name )
+        
+        self.customize_extmodule()
+        self.write_files( )
+        print 'time taken : ', time.clock() - start_time, ' seconds'
+
+def export():
+    cg = code_generator_t()
+    cg.create()
+
+if __name__ == '__main__':
+    export()
+    print 'done'
+    
+    
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/crc/sconscript b/examples/pyboost_dev/dev/crc/sconscript
new file mode 100644
index 0000000..cf9649e
--- /dev/null
+++ b/examples/pyboost_dev/dev/crc/sconscript
@@ -0,0 +1,35 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import crc_settings
+
+Import( 'env' )
+
+def get_ccflags():
+    if sys.platform == 'win32':
+        return crc_settings.scons.ccflags \
+               + map( lambda ds: '/D%s' % ds, crc_settings.defined_symbols )
+    else:
+        return map( lambda ds: '-D' + ds, crc_settings.defined_symbols )
+
+def get_source_files():
+    source_files = filter( lambda s: s.endswith( '.cpp' ), os.listdir(crc_settings.generated_files_dir) )
+    return map( lambda fname: os.path.join( crc_settings.generated_files_dir, fname ), source_files )
+
+def get_target():
+    return os.path.join( crc_settings.generated_files_dir
+                         , crc_settings.module_name + crc_settings.scons.suffix )
+
+local_env = env.Copy()
+local_env.Append( CPPPATH=[ crc_settings.generated_files_dir ] )
+local_env.Append( CCFLAGS=get_ccflags() )
+
+_crc_ = local_env.SharedLibrary( target=crc_settings.module_name 
+                                 , source=get_source_files() )
+
+local_env.Install( '#pyboost/crc', _crc_ )
diff --git a/examples/pyboost_dev/dev/date_time/customization_data.py b/examples/pyboost_dev/dev/date_time/customization_data.py
new file mode 100644
index 0000000..b55fd90
--- /dev/null
+++ b/examples/pyboost_dev/dev/date_time/customization_data.py
@@ -0,0 +1,225 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import date_time_settings
+
+includes = [
+    "boost/date_time/special_defs.hpp"
+    , "boost/date_time/time_defs.hpp" 
+    , "boost/date_time/date_defs.hpp" 
+    , "boost/date_time/int_adapter.hpp"
+    , "boost/date_time/gregorian/gregorian.hpp" 
+    , "boost/date_time/posix_time/posix_time.hpp"
+    , "boost/date_time/local_time/local_time.hpp"
+    ,  os.path.join( date_time_settings.generated_files_dir, 'date_time_wrapper.hpp' )
+]
+
+name2alias = {    
+    "months_duration<boost::gregorian::greg_durations_config>" 
+        : "months"
+    , "date_duration<boost::date_time::duration_traits_adapted>" 
+        : "date_duration"
+    , "counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >" 
+        : "counted_time_system_pyplusplus"
+    , "gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>" 
+        : "gregorian_calendar_base_pyplusplus"
+    , "year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>" 
+        : "year_month_day"
+    , "date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >" 
+        : "date_pyplusplus"
+    , "years_duration<boost::gregorian::greg_durations_config>" 
+        : "years"
+    , "base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >" 
+        : "base_time_pyplusplus"
+    , "month_functor<boost::gregorian::date>" 
+        : "month_functor_pyplusplus"
+    , "period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >" 
+        : "date_period"
+    , "subsecond_duration<boost::posix_time::time_duration, (long long)1000>" 
+        : "milliseconds"
+    , "subsecond_duration<boost::posix_time::time_duration, (long long)1000000>" 
+        : "microseconds"
+    , "partial_date<boost::gregorian::date>" 
+        : "partial_date"
+    , "nth_kday_of_month<boost::gregorian::date>" 
+        : "nth_kday_of_month"
+    , "first_kday_of_month<boost::gregorian::date>" 
+        : "first_kday_of_month"
+    , "last_kday_of_month<boost::gregorian::date>" 
+        : "last_kday_of_month"
+    , "year_based_generator<boost::gregorian::date>" 
+        : "gregorian_year_based_generator"
+    , "first_kday_after<boost::gregorian::date>" 
+        : "first_kday_after"
+    , "first_kday_before<boost::gregorian::date>" 
+        : "first_kday_before"
+    , "constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >" 
+        : 'day_of_year_type'
+    , "int_adapter<unsigned long>" 
+        : "int_adapter_ulong"
+    , "int_adapter<long>" 
+        : "int_adapter_long"
+    , "int_adapter<int>" 
+        : "int_adapter_int"
+    , "int_adapter<long long>" 
+        : "int_adapter_long_long_int"
+    , "equality_comparable1<boost::posix_time::time_duration, boost::detail::empty_base>"
+        : "__impl_details_1"
+    , "equality_comparable1<boost::posix_time::ptime, boost::detail::empty_base>"
+        : "__impl_details_2"
+    , "subtractable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base>" 
+        : "__impl_details_3"
+    , "subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t>" 
+        : "__impl_details_4"
+    , "addable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t> >" 
+        : "__impl_details_5"
+    , "equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t>" 
+        : "__impl_details_6"
+    , "less_than_comparable1<boost::posix_time::time_duration, boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t> >" 
+        : "__impl_details_7"
+    , "equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t>" 
+        : "__impl_details_8"
+    , "less_than_comparable1<boost::posix_time::ptime, boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t> >" 
+        : "__impl_details_9"
+    , "less_than_comparable<boost::posix_time::ptime, boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t>, boost::detail::empty_base, boost::detail::true_t>" 
+        : "__impl_details_10"
+    , "addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t>, boost::detail::empty_base, boost::detail::true_t>" 
+        : "__impl_details_11"
+    , "equality_comparable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t>, boost::detail::empty_base, boost::detail::true_t> >" 
+        : "__impl_details_12"
+    , "equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t>, boost::detail::empty_base, boost::detail::true_t>, boost::detail::empty_ba [...]
+        : "__impl_details_13"
+    , "less_than_comparable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_ [...]
+        : "__impl_details_14"
+    , "less_than_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_b [...]
+        : "__impl_details_15"
+    , "equality_comparable1<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base>" 
+        : "__impl_details_16"
+    , "equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base, boost::detail::false_t>" 
+        : "__impl_details_17"
+    , "less_than_comparable1<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base, boost::detail::false_t> >" 
+        : "__impl_details_18"
+    , "less_than_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base, boost::detail::false_t>, boost::detail::empty_base, boost::detail::true_t>" 
+        : "__impl_details_19"
+    , "equality_comparable1<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::detail::empty_base>" 
+        : "__impl_details_20"
+    , "equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::detail::empty_base, boost::detail::false_t>" 
+        : "__impl_details_21"
+    , "less_than_comparable1<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::detail::empty_base, boost::detail::false_t> >" 
+        : "__impl_details_22"
+    , "less_than_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::detail::empty_base, boost::detail::false_t>, boos [...]
+        : "__impl_details_23"
+    , "equality_comparable1<boost::gregorian::date, boost::detail::empty_base>" 
+        : "__impl_details_24"
+    , "equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t>" 
+        : "__impl_details_25"
+    , "less_than_comparable1<boost::gregorian::date, boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t> >" 
+        : "__impl_details_26"
+    , "less_than_comparable<boost::gregorian::date, boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t>, boost::detail::empty_base, boost::detail::true_t>" 
+        : "__impl_details_27"
+    , "less_than_comparable<boost::posix_time::time_duration, boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t>, boost::detail::empty_base, boost::detail::true_t>" 
+        : "__impl_details_28"    
+    , "equality_comparable1<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>, boost::detail::empty_base>" 
+        : "__impl_details_29"
+    , "equality_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>, boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>, boost::detail::empty_base, boost::date_time::period<boost::local_time::local_ [...]
+        : "__impl_details_30"
+    , "less_than_comparable1<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>, boost::equality_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>, boost::date_time::period<boost::local_time::loca [...]
+        : "__impl_details_31"
+    , "less_than_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>, boost::equality_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>, boost::date_time::period<boost::local_time::local [...]
+        : "__impl_details_32"
+    , "wrapping_int2<short, 1, 12>"
+        : "__impl_details_33"
+    , "time_zone_base<boost::posix_time::ptime, char>" 
+        : "time_zone_base"
+    , "dst_day_calc_rule<boost::gregorian::date>" 
+        : "dst_calc_rule"
+    , "day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>"
+        : "nth_kday_dst_rule"
+    , "local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >"
+        : "local_date_time"
+    , "dst_calculator<boost::gregorian::date, boost::posix_time::time_duration>" 
+        : "dst_calculator"   
+    , "ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_extended_format<wchar_t>, wchar_t>"
+        : "ymd_iso_extended_wformatter"
+    , "ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_format<wchar_t>, wchar_t>"
+        : "ymd_iso_wformatter"
+    , "ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::simple_format<wchar_t>, wchar_t>"
+        : "ymd_simple_wformatter"
+    , "ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_extended_format<char>, char>"
+        : "ymd_iso_extended_formatter"
+    , "ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_format<char>, char>"
+        : "ymd_iso_formatter"
+    , "ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::simple_format<char>, char>"
+        : "ymd_simple_formatter"
+    , "date_formatter<boost::gregorian::date, boost::date_time::iso_format<wchar_t>, wchar_t>"
+        : "date_iso_wformatter"
+    , "date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<wchar_t>, wchar_t>"
+        : "date_iso_extended_wformatter"
+    , "date_formatter<boost::gregorian::date, boost::date_time::simple_format<wchar_t>, wchar_t>"
+        : "date_simple_wformatter"
+    , "date_formatter<boost::gregorian::date, boost::date_time::iso_format<char>, char>"
+        : "date_iso_formatter"
+    , "date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<char>, char>"
+        : "date_iso_extended_formatter"
+    , "date_formatter<boost::gregorian::date, boost::date_time::simple_format<char>, char>"
+        : "date_simple_formatter"
+    , "month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<wchar_t>, wchar_t>"
+        : "month_iso_extended_wformatter"
+    , "month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<wchar_t>, wchar_t>"
+        : "month_iso_wformatter"
+    , "month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<wchar_t>, wchar_t>"
+        : "month_simple_wformatter"
+    , "month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<char>, char>"
+        : "month_iso_extended_formatter"
+    , "month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<char>, char>"
+        : "month_iso_formatter"
+    , "month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<char>, char>"
+        : "month_simple_formatter"
+    , "iso_extended_format<wchar_t>"
+        : "iso_extended_wformat"
+    , "iso_extended_format<char>"
+        : "iso_extended_format"
+    , "iso_format<wchar_t>"
+        : "iso_wformat"
+    , "iso_format<char>"
+        : "iso_format"
+    , "iso_format_base<char>"
+        : "iso_format_base"
+    , "iso_format_base<wchar_t>"
+        : "iso_wformat_base"
+    , "simple_format<char>"
+        : "simple_format"
+    , "simple_format<wchar_t>"
+        : "simple_wformat"
+}
+
+if sys.platform == 'win32':
+    name2alias[ "time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, long> >" ] \
+        = "time_duration_impl"
+else:
+    name2alias[ "time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int> >" ] \
+        = "time_duration_impl"
+
+alias2name = {}
+for name, alias in name2alias.items():
+    alias2name[ alias ] = name
+
+#may be those names are uglier, but they are much short
+ns_aliases = {
+    '::boost::date_time' : 'dt'
+    , '::boost::gregorian' : 'gr'
+    , '::boost::posix_time' : 'pt'
+    , '::boost::local_time' : 'lt'
+}
+
+
+license = """// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+"""
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/date_time/date_time_settings.py b/examples/pyboost_dev/dev/date_time/date_time_settings.py
new file mode 100644
index 0000000..0426bfa
--- /dev/null
+++ b/examples/pyboost_dev/dev/date_time/date_time_settings.py
@@ -0,0 +1,26 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+
+_script_dir = os.path.abspath( os.getcwd() )
+environment_path = os.path.realpath( os.path.join( _script_dir, '..', '..', '..', '..' ) )
+sys.path.append( environment_path )
+
+from environment import boost, scons, gccxml, python
+
+module_name = '_date_time_'
+working_dir = _script_dir
+generated_files_dir = os.path.join( _script_dir, 'generated' )
+generated_files_dir = os.path.join( _script_dir, '..', '..', 'pyboost', 'date_time', 'generated' )
+
+date_time_pypp_include = os.path.join( _script_dir, 'include' )
+
+undefined_symbols = [ '__MINGW32__' ]
+defined_symbols = ['BOOST_DATE_TIME_NO_MEMBER_INIT']
+if sys.platform == 'win32':
+    defined_symbols.extend( [ 'BOOST_DATE_TIME_DYN_LINK' ] )
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/date_time/generate_code.py b/examples/pyboost_dev/dev/date_time/generate_code.py
new file mode 100644
index 0000000..2d8310d
--- /dev/null
+++ b/examples/pyboost_dev/dev/date_time/generate_code.py
@@ -0,0 +1,220 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+
+import os
+import sys
+import time
+import shutil
+import logging
+import date_time_settings
+import customization_data
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+class code_generator_t(object):    
+    def __init__(self):
+        self.__file = os.path.join( date_time_settings.date_time_pypp_include, 'date_time.pypp.hpp' )                        
+
+    def _create_xml_file( self ):
+        #On windows I have some problems to compile boost.date_time
+        #library, so I use xml files generated on linux
+        config = parser.config_t( gccxml_path=date_time_settings.gccxml.executable
+                                  , include_paths=[date_time_settings.boost.include]
+                                  , define_symbols=date_time_settings.defined_symbols
+                                  , undefine_symbols=date_time_settings.undefined_symbols )
+
+        reader = parser.source_reader_t( config )
+        destination = os.path.join( date_time_settings.date_time_pypp_include, 'date_time.pypp.xml' )
+        if sys.platform == 'linux2':
+            reader.create_xml_file( self.__file, destination )
+        return destination
+    
+    def create_module_builder(self):
+        date_time_xml_file = self._create_xml_file()
+        mb = module_builder.module_builder_t( [ parser.create_gccxml_fc( date_time_xml_file ) ]
+                                              , gccxml_path=date_time_settings.gccxml.executable
+                                              , include_paths=[date_time_settings.boost.include]
+                                              , define_symbols=date_time_settings.defined_symbols
+                                              , undefine_symbols=date_time_settings.undefined_symbols
+                                              , optimize_queries=False
+                                              , indexing_suite_version=2)
+        if sys.platform == 'win32':
+            linux_name = "time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int> >"
+            win_name = "time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, long> >"
+            time_duration_impl = mb.class_( linux_name )            
+            #small price for generating code from xml and not from sources
+            time_duration_impl.name = win_name
+            time_duration_impl.demangled = None
+            
+        for f_decl in  mb.free_functions():
+            f_decl.alias = f_decl.name
+            f_decl.name = f_decl.demangled_name
+            #f_decl.create_with_signature = True
+
+        local_date_time = mb.class_( lambda decl: decl.name.startswith( 'local_date_time_base<' ) )
+        for c in local_date_time.constructors():
+            if not c.is_copy_constructor:
+                local_date_time.remove_declaration( c )
+
+        mb.run_query_optimizer()
+
+        for name, alias in customization_data.name2alias.items():
+            decl = mb.class_( name )
+            decl.alias = alias
+            if isinstance( decl, declarations.class_t ):
+                decl.wrapper_alias = alias + '_wrapper'
+        
+        return mb
+    
+    def filter_declarations(self, mb ):
+        mb.global_ns.exclude()
+        mb.global_ns.namespace( 'pyplusplus', recursive=False ).include()
+        boost_ns = mb.global_ns.namespace( 'boost', recursive=False )
+        boost_ns.namespace( 'posix_time', recursive=False ).include()
+        boost_ns.namespace( 'date_time', recursive=False ).include()
+        boost_ns.namespace( 'gregorian', recursive=False ).include()
+        boost_ns.namespace( 'local_time', recursive=False ).include()
+        boost_ns.classes( lambda decl: decl.name.startswith( 'constrained_value<' ) ).include()
+        ## Exclude protected and private that are not pure virtual
+        query = ~declarations.access_type_matcher_t( 'public' ) \
+            & ~declarations.virtuality_type_matcher_t( declarations.VIRTUALITY_TYPES.PURE_VIRTUAL )
+        non_public_non_pure_virtual = boost_ns.calldefs( query )
+        non_public_non_pure_virtual.exclude()
+    
+        for name in [ 'month_str_to_ushort', 'from_stream_type', 'parse_date' ]:
+            boost_ns.calldefs( lambda decl: decl.name.startswith( name ) ).exclude()
+
+        to_be_removed = [ 'c_time'
+                          , 'duration_traits_long'
+                          , 'duration_traits_adapted'
+                          , 'posix_time_system_config' #TODO find out link bug
+                          , 'millisec_posix_time_system_config' ]
+        boost_ns.classes( lambda decl: decl.name in to_be_removed ).exclude()
+        
+        starts_with = [ 'time_resolution_traits<'
+                        , 'counted_time_rep<'
+                        , 'date_facet<'
+                        , 'period_formatter<'
+                        , 'date_generator_formatter<'
+                        , 'special_values_formatter<' ]       
+        for name in starts_with:
+            boost_ns.classes( lambda decl: decl.name.startswith( name ) ).exclude()
+                
+        ends_with = [ '_impl', '_config' ]
+        for name in ends_with:
+            boost_ns.classes( lambda decl: decl.name.endswith( name ) ).exclude()        
+
+        boost_ns.classes( lambda decl: decl.alias.endswith( 'formatter' ) ).exclude()        
+
+        #boost.date_time has problem to create local_[micro]sec_clock
+        #variable, it has nothing to do with Py++
+        empty_classes = ['local_microsec_clock', 'local_sec_clock']
+        for alias in empty_classes:
+            class_ = boost_ns.class_( lambda decl: decl.alias == alias )
+            class_.exclude()
+            class_.ignore = False
+        
+        for alias in [ 'microsec_clock', 'second_clock' ]:
+            class_ = boost_ns.class_( lambda decl: decl.alias == alias )
+            class_.calldefs().create_with_signature = True
+            
+        tdi = mb.class_( lambda decl: decl.alias == 'time_duration_impl' )
+        tdi_init = tdi.constructor( arg_types=[None, None, None, None], recursive=False)
+        tdi_init.ignore=True
+        #next declarations are not exported, but Py++ writes warnings about them:
+        boost_ns.operators( '<<' ).exclude()
+        boost_ns.operators( '>>' ).exclude()
+        boost_ns.operators( '=' ).exclude()
+        #next function uses non public class in its definition.
+        microsec_clocks = boost_ns.classes( lambda decl: decl.name.startswith( 'microsec_clock<') )
+        for mc in microsec_clocks:
+            mc.member_functions( 'create_time' ).exclude()        
+
+        #TODO: add FT
+        #next function takes reference to int. This function could not be called
+        #from Python. Function transformation feature solves this problem
+        tz_db_base = boost_ns.class_( lambda decl: decl.name.startswith( 'tz_db_base<' ) )
+        tz_db_base.member_functions( 'split_rule_spec' ).exclude()
+                
+    def add_code( self, mb ):
+        mb.classes().add_properties( exclude_accessors=True )
+        
+        as_number_template = 'def( "as_number", &%(class_def)s::operator %(class_def)s::value_type, bp::default_call_policies() )'
+        
+        classes = mb.classes()
+        classes.always_expose_using_scope = True #better error reporting from compiler
+
+        classes = mb.classes(lambda decl: decl.alias != 'local_date_time' )
+        classes.redefine_operators = True #redefine all operators found in base classes
+        
+        classes = mb.classes(lambda decl: decl.name.startswith('constrained_value<') )
+        for cls in classes:
+            cls.add_code( as_number_template % { 'class_def' : declarations.full_name( cls ) } )
+
+        classes = mb.classes(lambda decl: decl.alias in [ 'date_duration', 'time_duration' ] )
+        for operator in [ '>', '>=', '<=', '<', '+', '-' ]:
+            classes.add_code( 'def( bp::self %s  bp::self )' % operator )
+
+        ptime = mb.class_( lambda decl: decl.alias == 'ptime' )
+        for operator in [ '>', '>=', '<=', '<', '-' ]:
+            ptime.add_code( 'def( bp::self %s  bp::self )' % operator )
+                
+    def beautify_code( self, mb ):
+        
+        def is_vector_of_strings( decl ):
+            if not declarations.vector_traits.is_my_case( decl ):
+                return False
+            return declarations.is_std_string( declarations.vector_traits.element_type(decl) )
+
+        str_vec = mb.class_( is_vector_of_strings )
+        str_vec.alias = "strings"
+            
+        extmodule = mb.code_creator
+        extmodule.add_namespace_usage( 'boost' )
+        extmodule.add_namespace_usage( 'boost::date_time' )
+        for full_ns_name, alias in customization_data.ns_aliases.items():
+            extmodule.add_namespace_alias( alias, full_ns_name )
+            
+    def customize_extmodule( self, mb ):
+        extmodule = mb.code_creator
+        #beautifying include code generation
+        extmodule.license = customization_data.license
+        extmodule.user_defined_directories.append( date_time_settings.boost.include )
+        extmodule.user_defined_directories.append( date_time_settings.working_dir )
+        extmodule.user_defined_directories.append( date_time_settings.generated_files_dir )
+        extmodule.license = customization_data.license
+        extmodule.replace_included_headers( customization_data.includes )
+
+        self.beautify_code( mb )
+        
+    def write_files( self, mb ):
+        mb.split_module( date_time_settings.generated_files_dir )
+        shutil.copyfile( os.path.join( date_time_settings.date_time_pypp_include, 'date_time_wrapper.hpp' )
+                         , os.path.join( date_time_settings.generated_files_dir, 'date_time_wrapper.hpp' ) )
+
+    def create(self):
+        start_time = time.clock()      
+        mb = self.create_module_builder()
+        self.filter_declarations(mb)
+        self.add_code( mb )        
+        
+        mb.build_code_creator( date_time_settings.module_name )
+        
+        self.customize_extmodule( mb )
+        self.write_files( mb )
+        print 'time taken : ', time.clock() - start_time, ' seconds'
+
+def export():
+    cg = code_generator_t()
+    cg.create()
+
+if __name__ == '__main__':
+    export()
+    print 'done'
+    
+    
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/date_time/include/date_time.pypp.hpp b/examples/pyboost_dev/dev/date_time/include/date_time.pypp.hpp
new file mode 100644
index 0000000..ed74585
--- /dev/null
+++ b/examples/pyboost_dev/dev/date_time/include/date_time.pypp.hpp
@@ -0,0 +1,68 @@
+#ifndef __date_time__pypp__hpp_
+#define __date_time__pypp__hpp_
+
+#include "boost/date_time/special_defs.hpp"
+#include "boost/date_time/gregorian/gregorian.hpp"
+#include "boost/date_time/posix_time/posix_time.hpp"
+#include "boost/date_time/local_time/local_time.hpp"
+#include "date_time_wrapper.hpp"
+
+namespace details{
+
+inline void export_templates(){
+    sizeof( boost::posix_time::time_period );
+    sizeof( boost::gregorian::date_period );
+    sizeof( boost::gregorian::weeks );
+    sizeof( boost::posix_time::milliseconds );
+    sizeof( boost::posix_time::microseconds );
+    //In order to get nanoseconds boost::date_time should be compiled with BOOST_DATE_TIME_HAS_NANOSECONDS
+    //sizeof( boost::posix_time::nanoseconds );
+    sizeof( boost::gregorian::day_clock );
+    sizeof( boost::gregorian::gregorian_calendar::day_of_year_type(1) ); 
+    sizeof( boost::gregorian::greg_weekday_rep(1) ); 
+    sizeof( boost::gregorian::greg_day_rep(1) ); 
+    sizeof( boost::gregorian::greg_month_rep(1) ); 
+    sizeof( boost::gregorian::greg_year_rep(1) ); 
+    sizeof( boost::date_time::year_based_generator<boost::gregorian::date> );
+    sizeof( boost::date_time::partial_date<boost::gregorian::date> );
+    sizeof( boost::date_time::nth_kday_of_month<boost::gregorian::date> );
+    sizeof( boost::date_time::first_kday_of_month<boost::gregorian::date> );
+    sizeof( boost::date_time::last_kday_of_month<boost::gregorian::date> );
+    sizeof( boost::date_time::first_kday_after<boost::gregorian::date> );
+    sizeof( boost::date_time::first_kday_before<boost::gregorian::date> );
+    sizeof( boost::date_time::time_zone_names_base<char> );
+    
+    //exporting 4 functions
+    boost::gregorian::date sunday(2003, boost::date_time::Feb,2);
+    boost::gregorian::greg_weekday sat(boost::date_time::Saturday);
+    boost::gregorian::days_until_weekday(sunday, sat);
+    boost::gregorian::days_before_weekday(sunday, sat);
+    boost::gregorian::next_weekday(sunday, sat);
+    boost::gregorian::previous_weekday(sunday, sat);
+    //exporting static function
+    boost::date_time::int_adapter<int>::from_special( boost::date_time::not_a_date_time );
+    boost::date_time::int_adapter<long int>::from_special( boost::date_time::not_a_date_time );
+    boost::date_time::int_adapter<long unsigned int>::from_special( boost::date_time::not_a_date_time );
+    
+    sizeof( boost::local_time::first_last_dst_rule );
+    sizeof( boost::local_time::last_last_dst_rule );
+    sizeof( boost::local_time::nth_day_of_the_week_in_month_dst_rule );
+    sizeof( boost::local_time::posix_time_zone );
+    sizeof( boost::local_time::tz_database );
+    sizeof( boost::local_time::partial_date_dst_rule );
+    sizeof( boost::local_time::nth_last_dst_rule );
+    sizeof( boost::local_time::nth_day_of_the_week_in_month_dst_rule );
+    sizeof( boost::local_time::local_time_period );
+    sizeof( boost::local_time::local_sec_clock );
+    sizeof( boost::local_time::local_microsec_clock );
+
+    sizeof( boost::posix_time::second_clock );
+    sizeof( boost::posix_time::microsec_clock );
+    sizeof( boost::posix_time::no_dst );
+    sizeof( boost::posix_time::us_dst );
+
+}
+
+}
+
+#endif//__date_time__pypp__hpp_
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/date_time/include/date_time.pypp.xml b/examples/pyboost_dev/dev/date_time/include/date_time.pypp.xml
new file mode 100644
index 0000000..ec697f6
--- /dev/null
+++ b/examples/pyboost_dev/dev/date_time/include/date_time.pypp.xml
@@ -0,0 +1,36630 @@
+<?xml version="1.0"?>
+<GCC_XML cvs_revision="1.114">
+  <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 _32 _33 _34 _35 _36 _37 _38 _39 _40 _41 _42 _43 _44 _45 _46 _47 _48 _49 _50 _51 _52 _53 _54 _55 _56 _57 _58 _59 _60 _61 _62 _63 _64 _65 _66 _67 _68 _69 _70 _71 _72 _73 _74 _75 _76 _77 _78 _79 _80 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _93 _94 _95 _96 _97 _98 _99 _100 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _ [...]
+  <Namespace id="_2" name="std" context="_1" members="_1897 _1898 _1899 _1900 _1901 _1902 _1903 _1904 _1905 _1906 _1907 _1908 _1909 _1910 _1911 _1912 _1913 _1914 _1915 _1916 _1917 _1918 _1919 _1920 _1921 _1922 _1923 _1924 _1925 _1926 _1927 _1928 _1929 _1930 _1931 _1932 _1933 _1934 _1935 _1936 _1937 _1938 _1939 _1940 _1941 _1942 _1943 _1944 _1945 _1946 _1951 _1952 _1957 _1958 _1971 _1972 _1977 _1978 _1983 _1984 _1985 _1986 _1987 _1988 _1989 _1990 _1991 _1992 _1993 _2007 _2008 _2009 _2010  [...]
+  <Function id="_3" name="_GLOBAL__D__home_roman_language_binding_sources_pyplusplus_dev_examples_pyboost_dev_dev_date_time_include_date_time.pypp.hppStu8kb" returns="_1194" context="_1" location="f0:131" file="f0" line="131" endline="131"/>
+  <Function id="_4" name="_GLOBAL__I__home_roman_language_binding_sources_pyplusplus_dev_examples_pyboost_dev_dev_date_time_include_date_time.pypp.hppStu8kb" returns="_1194" context="_1" location="f0:131" file="f0" line="131" endline="131"/>
+  <Variable id="_5" name="_ZGVN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE" type="_1290" context="_1" location="f1:372" file="f1" line="372" artificial="1"/>
+  <Function id="_6" name="__static_initialization_and_destruction_0" returns="_1194" context="_1" mangled="_Z41__static_initialization_and_destruction_0ii" demangled="__static_initialization_and_destruction_0(int, int)" location="f0:131" file="f0" line="131" endline="76">
+    <Argument name="__initialize_p" type="_503" location="f0:131" file="f0" line="131"/>
+    <Argument name="__priority" type="_503" location="f0:131" file="f0" line="131"/>
+  </Function>
+  <Variable id="_7" name="_ZTSSt12out_of_range" type="_2718c" init=""St12out_of_range"" context="_1" location="f0:131" file="f0" line="131" artificial="1"/>
+  <Variable id="_8" name="_ZTSN5boost9gregorian11bad_weekdayE" type="_2720c" init=""N5boost9gregorian11bad_weekdayE"" context="_1" location="f0:131" file="f0" line="131" artificial="1"/>
+  <Variable id="_9" name="_ZTSN5boost9gregorian15bad_day_of_yearE" type="_2722c" init=""N5boost9gregorian15bad_day_of_yearE"" context="_1" location="f0:131" file="f0" line="131" artificial="1"/>
+  <Variable id="_10" name="_ZTSN5boost9gregorian16bad_day_of_monthE" type="_2724c" init=""N5boost9gregorian16bad_day_of_monthE"" context="_1" location="f0:131" file="f0" line="131" artificial="1"/>
+  <Variable id="_11" name="_ZTSN5boost9gregorian8bad_yearE" type="_2726c" init=""N5boost9gregorian8bad_yearE"" context="_1" location="f0:131" file="f0" line="131" artificial="1"/>
+  <Variable id="_12" name="_ZTSN5boost12bad_weak_ptrE" type="_2728c" init=""N5boost12bad_weak_ptrE"" context="_1" location="f0:131" file="f0" line="131" artificial="1"/>
+  <Variable id="_13" name="_ZTSN5boost9gregorian9bad_monthE" type="_2730c" init=""N5boost9gregorian9bad_monthE"" context="_1" location="f0:131" file="f0" line="131" artificial="1"/>
+  <Variable id="_14" name="_ZTSN5boost16bad_lexical_castE" type="_2732c" init=""N5boost16bad_lexical_castE"" context="_1" location="f0:131" file="f0" line="131" artificial="1"/>
+  <Variable id="_15" name="_ZTIs" type="_2734c" context="_1" location="f2:1054" file="f2" line="1054" extern="1" artificial="1"/>
+  <Function id="_16" name="__cxa_rethrow" returns="_1194" context="_1" location="f3:575" file="f3" line="575" extern="1"/>
+  <Variable id="_17" name="_ZTIx" type="_2734c" context="_1" location="f2:1054" file="f2" line="1054" extern="1" artificial="1"/>
+  <Variable id="_18" name="_ZTIi" type="_2734c" context="_1" location="f2:1054" file="f2" line="1054" extern="1" artificial="1"/>
+  <Variable id="_19" name="_ZTIt" type="_2734c" context="_1" location="f2:1054" file="f2" line="1054" extern="1" artificial="1"/>
+  <Variable id="_20" name="_ZTISs" type="_2736c" context="_1" location="f2:1054" file="f2" line="1054" extern="1" artificial="1"/>
+  <Variable id="_21" name="_ZTIN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEEE" type="_2738c" context="_1" location="f2:593" file="f2" line="593" extern="1" artificial="1"/>
+  <Variable id="_22" name="_ZTIN5boost6detail17lexical_streambufIcEE" type="_2738c" context="_1" location="f2:407" file="f2" line="407" extern="1" artificial="1"/>
+  <Variable id="_23" name="_ZTIN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE" type="_2738c" context="_1" location="f1:45" file="f1" line="45" extern="1" artificial="1"/>
+  <Variable id="_24" name="_ZTIN5boost10local_time21custom_time_zone_baseIcEE" type="_2738c" context="_1" location="f4:29" file="f4" line="29" extern="1" artificial="1"/>
+  <Variable id="_25" name="_ZTIN5boost10local_time20posix_time_zone_baseIcEE" type="_2738c" context="_1" location="f5:64" file="f5" line="64" extern="1" artificial="1"/>
+  <Variable id="_26" name="_ZTIN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEEE" type="_2738c" context="_1" location="f6:38" file="f6" line="38" extern="1" artificial="1"/>
+  <Variable id="_27" name="_ZTIN5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEEE" type="_2738c" context="_1" location="f6:38" file="f6" line="38" extern="1" artificial="1"/>
+  <Variable id="_28" name="_ZTIN5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEEE" type="_2738c" context="_1" location="f6:38" file="f6" line="38" extern="1" artificial="1"/>
+  <Variable id="_29" name="_ZTIN5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcEE" type="_2736c" context="_1" location="f7:34" file="f7" line="34" extern="1" artificial="1"/>
+  <Variable id="_30" name="_ZTIN5boost9date_time15bad_field_countE" type="_2738c" context="_1" location="f8:40" file="f8" line="40" extern="1" artificial="1"/>
+  <Variable id="_31" name="_ZTIN5boost9date_time19data_not_accessibleE" type="_2738c" context="_1" location="f8:28" file="f8" line="28" extern="1" artificial="1"/>
+  <Variable id="_32" name="_ZTISt13basic_fstreamIwSt11char_traitsIwEE" type="_2738c" context="_1" location="f9:95" file="f9" line="95" extern="1" artificial="1"/>
+  <Variable id="_33" name="_ZTISt14basic_ofstreamIwSt11char_traitsIwEE" type="_2738c" context="_1" location="f9:92" file="f9" line="92" extern="1" artificial="1"/>
+  <Variable id="_34" name="_ZTISt14basic_ifstreamIwSt11char_traitsIwEE" type="_2738c" context="_1" location="f9:89" file="f9" line="89" extern="1" artificial="1"/>
+  <Variable id="_35" name="_ZTISt13basic_filebufIwSt11char_traitsIwEE" type="_2738c" context="_1" location="f9:86" file="f9" line="86" extern="1" artificial="1"/>
+  <Variable id="_36" name="_ZTISt13basic_fstreamIcSt11char_traitsIcEE" type="_2738c" context="_1" location="f9:95" file="f9" line="95" extern="1" artificial="1"/>
+  <Variable id="_37" name="_ZTISt14basic_ofstreamIcSt11char_traitsIcEE" type="_2738c" context="_1" location="f9:92" file="f9" line="92" extern="1" artificial="1"/>
+  <Variable id="_38" name="_ZTISt14basic_ifstreamIcSt11char_traitsIcEE" type="_2738c" context="_1" location="f9:89" file="f9" line="89" extern="1" artificial="1"/>
+  <Variable id="_39" name="_ZTISt13basic_filebufIcSt11char_traitsIcEE" type="_2738c" context="_1" location="f9:86" file="f9" line="86" extern="1" artificial="1"/>
+  <Variable id="_40" name="_ZTIN5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEEE" type="_2738c" context="_1" location="f6:38" file="f6" line="38" extern="1" artificial="1"/>
+  <Variable id="_41" name="_ZTIN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEEE" type="_2738c" context="_1" location="f6:38" file="f6" line="38" extern="1" artificial="1"/>
+  <Variable id="_42" name="_ZTIN5boost9date_time17dst_day_calc_ruleINS_9gregorian4dateEEE" type="_2736c" context="_1" location="f6:18" file="f6" line="18" extern="1" artificial="1"/>
+  <Variable id="_43" name="_ZTIN5boost10local_time14bad_adjustmentE" type="_2738c" context="_1" location="f5:33" file="f5" line="33" extern="1" artificial="1"/>
+  <Variable id="_44" name="_ZTIN5boost10local_time10bad_offsetE" type="_2738c" context="_1" location="f5:28" file="f5" line="28" extern="1" artificial="1"/>
+  <Variable id="_45" name="_ZTIN5boost10local_time13dst_not_validE" type="_2738c" context="_1" location="f10:37" file="f10" line="37" extern="1" artificial="1"/>
+  <Variable id="_46" name="_ZTIN5boost10local_time18time_label_invalidE" type="_2738c" context="_1" location="f10:32" file="f10" line="32" extern="1" artificial="1"/>
+  <Variable id="_47" name="_ZTIN5boost10local_time16ambiguous_resultE" type="_2738c" context="_1" location="f10:26" file="f10" line="26" extern="1" artificial="1"/>
+  <Function id="_48" name="matherr" returns="_503" throw="" context="_1" location="f11:320" file="f11" line="320" extern="1">
+    <Argument name="__exc" type="_2740" location="f11:320" file="f11" line="320"/>
+  </Function>
+  <Struct id="_49" name="__exception" context="_1" mangled="11__exception" demangled="__exception" location="f11:311" file="f11" line="311" artificial="1" size="256" align="32" members="_2741 _2742 _2743 _2744 _2745 _2746 _2747 " bases=""/>
+  <Variable id="_50" name="_LIB_VERSION" type="_51" context="_1" location="f11:296" file="f11" line="296" extern="1"/>
+  <Enumeration id="_51" name="_LIB_VERSION_TYPE" context="_1" location="f11:291" file="f11" line="291" size="32" align="32">
+    <EnumValue name="_IEEE_" init="-1"/>
+    <EnumValue name="_SVID_" init="0"/>
+    <EnumValue name="_XOPEN_" init="1"/>
+    <EnumValue name="_POSIX_" init="2"/>
+    <EnumValue name="_ISOC_" init="3"/>
+  </Enumeration>
+  <Enumeration id="_52" name="._104" context="_1" location="f11:199" file="f11" line="199" artificial="1" size="32" align="32">
+    <EnumValue name="FP_NAN" init="0"/>
+    <EnumValue name="FP_INFINITE" init="1"/>
+    <EnumValue name="FP_ZERO" init="2"/>
+    <EnumValue name="FP_SUBNORMAL" init="3"/>
+    <EnumValue name="FP_NORMAL" init="4"/>
+  </Enumeration>
+  <Variable id="_53" name="signgam" type="_503" context="_1" location="f11:157" file="f11" line="157" extern="1"/>
+  <Function id="_54" name="__scalbl" returns="_483" throw="" context="_1" location="f12:364" file="f12" line="364" extern="1">
+    <Argument name="__x" type="_483" location="f12:364" file="f12" line="364"/>
+    <Argument name="__n" type="_483" location="f12:364" file="f12" line="364"/>
+  </Function>
+  <Function id="_55" name="scalbl" returns="_483" throw="" context="_1" location="f12:364" file="f12" line="364" extern="1">
+    <Argument name="__x" type="_483" location="f12:364" file="f12" line="364"/>
+    <Argument name="__n" type="_483" location="f12:364" file="f12" line="364"/>
+  </Function>
+  <Function id="_56" name="__fmal" returns="_483" throw="" context="_1" location="f12:355" file="f12" line="355" extern="1">
+    <Argument name="__x" type="_483" location="f12:355" file="f12" line="355"/>
+    <Argument name="__y" type="_483" location="f12:355" file="f12" line="355"/>
+    <Argument name="__z" type="_483" location="f12:355" file="f12" line="355"/>
+  </Function>
+  <Function id="_57" name="fmal" returns="_483" throw="" context="_1" location="f12:355" file="f12" line="355" extern="1">
+    <Argument name="__x" type="_483" location="f12:355" file="f12" line="355"/>
+    <Argument name="__y" type="_483" location="f12:355" file="f12" line="355"/>
+    <Argument name="__z" type="_483" location="f12:355" file="f12" line="355"/>
+  </Function>
+  <Function id="_58" name="__signbitl" returns="_503" throw="" context="_1" location="f12:351" file="f12" line="351" extern="1" attributes="const">
+    <Argument name="__value" type="_483" location="f12:351" file="f12" line="351"/>
+  </Function>
+  <Function id="_59" name="__fpclassifyl" returns="_503" throw="" context="_1" location="f12:347" file="f12" line="347" extern="1" attributes="const">
+    <Argument name="__value" type="_483" location="f12:347" file="f12" line="347"/>
+  </Function>
+  <Function id="_60" name="__fminl" returns="_483" throw="" context="_1" location="f12:342" file="f12" line="342" extern="1">
+    <Argument name="__x" type="_483" location="f12:342" file="f12" line="342"/>
+    <Argument name="__y" type="_483" location="f12:342" file="f12" line="342"/>
+  </Function>
+  <Function id="_61" name="fminl" returns="_483" throw="" context="_1" location="f12:342" file="f12" line="342" extern="1">
+    <Argument name="__x" type="_483" location="f12:342" file="f12" line="342"/>
+    <Argument name="__y" type="_483" location="f12:342" file="f12" line="342"/>
+  </Function>
+  <Function id="_62" name="__fmaxl" returns="_483" throw="" context="_1" location="f12:339" file="f12" line="339" extern="1">
+    <Argument name="__x" type="_483" location="f12:339" file="f12" line="339"/>
+    <Argument name="__y" type="_483" location="f12:339" file="f12" line="339"/>
+  </Function>
+  <Function id="_63" name="fmaxl" returns="_483" throw="" context="_1" location="f12:339" file="f12" line="339" extern="1">
+    <Argument name="__x" type="_483" location="f12:339" file="f12" line="339"/>
+    <Argument name="__y" type="_483" location="f12:339" file="f12" line="339"/>
+  </Function>
+  <Function id="_64" name="__fdiml" returns="_483" throw="" context="_1" location="f12:336" file="f12" line="336" extern="1">
+    <Argument name="__x" type="_483" location="f12:336" file="f12" line="336"/>
+    <Argument name="__y" type="_483" location="f12:336" file="f12" line="336"/>
+  </Function>
+  <Function id="_65" name="fdiml" returns="_483" throw="" context="_1" location="f12:336" file="f12" line="336" extern="1">
+    <Argument name="__x" type="_483" location="f12:336" file="f12" line="336"/>
+    <Argument name="__y" type="_483" location="f12:336" file="f12" line="336"/>
+  </Function>
+  <Function id="_66" name="__llroundl" returns="_1290" throw="" context="_1" location="f12:332" file="f12" line="332" extern="1">
+    <Argument name="__x" type="_483" location="f12:332" file="f12" line="332"/>
+  </Function>
+  <Function id="_67" name="llroundl" returns="_1290" throw="" context="_1" location="f12:332" file="f12" line="332" extern="1">
+    <Argument name="__x" type="_483" location="f12:332" file="f12" line="332"/>
+  </Function>
+  <Function id="_68" name="__lroundl" returns="_1553" throw="" context="_1" location="f12:331" file="f12" line="331" extern="1">
+    <Argument name="__x" type="_483" location="f12:331" file="f12" line="331"/>
+  </Function>
+  <Function id="_69" name="lroundl" returns="_1553" throw="" context="_1" location="f12:331" file="f12" line="331" extern="1">
+    <Argument name="__x" type="_483" location="f12:331" file="f12" line="331"/>
+  </Function>
+  <Function id="_70" name="__llrintl" returns="_1290" throw="" context="_1" location="f12:327" file="f12" line="327" extern="1">
+    <Argument name="__x" type="_483" location="f12:327" file="f12" line="327"/>
+  </Function>
+  <Function id="_71" name="llrintl" returns="_1290" throw="" context="_1" location="f12:327" file="f12" line="327" extern="1">
+    <Argument name="__x" type="_483" location="f12:327" file="f12" line="327"/>
+  </Function>
+  <Function id="_72" name="__lrintl" returns="_1553" throw="" context="_1" location="f12:326" file="f12" line="326" extern="1">
+    <Argument name="__x" type="_483" location="f12:326" file="f12" line="326"/>
+  </Function>
+  <Function id="_73" name="lrintl" returns="_1553" throw="" context="_1" location="f12:326" file="f12" line="326" extern="1">
+    <Argument name="__x" type="_483" location="f12:326" file="f12" line="326"/>
+  </Function>
+  <Function id="_74" name="__remquol" returns="_483" throw="" context="_1" location="f12:319" file="f12" line="319" extern="1">
+    <Argument name="__x" type="_483" location="f12:319" file="f12" line="319"/>
+    <Argument name="__y" type="_483" location="f12:319" file="f12" line="319"/>
+    <Argument name="__quo" type="_2748" location="f12:319" file="f12" line="319"/>
+  </Function>
+  <Function id="_75" name="remquol" returns="_483" throw="" context="_1" location="f12:319" file="f12" line="319" extern="1">
+    <Argument name="__x" type="_483" location="f12:319" file="f12" line="319"/>
+    <Argument name="__y" type="_483" location="f12:319" file="f12" line="319"/>
+    <Argument name="__quo" type="_2748" location="f12:319" file="f12" line="319"/>
+  </Function>
+  <Function id="_76" name="__truncl" returns="_483" throw="" context="_1" location="f12:314" file="f12" line="314" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:314" file="f12" line="314"/>
+  </Function>
+  <Function id="_77" name="truncl" returns="_483" throw="" context="_1" location="f12:314" file="f12" line="314" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:314" file="f12" line="314"/>
+  </Function>
+  <Function id="_78" name="__roundl" returns="_483" throw="" context="_1" location="f12:310" file="f12" line="310" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:310" file="f12" line="310"/>
+  </Function>
+  <Function id="_79" name="roundl" returns="_483" throw="" context="_1" location="f12:310" file="f12" line="310" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:310" file="f12" line="310"/>
+  </Function>
+  <Function id="_80" name="__nearbyintl" returns="_483" throw="" context="_1" location="f12:306" file="f12" line="306" extern="1">
+    <Argument name="__x" type="_483" location="f12:306" file="f12" line="306"/>
+  </Function>
+  <Function id="_81" name="nearbyintl" returns="_483" throw="" context="_1" location="f12:306" file="f12" line="306" extern="1">
+    <Argument name="__x" type="_483" location="f12:306" file="f12" line="306"/>
+  </Function>
+  <Function id="_82" name="__scalblnl" returns="_483" throw="" context="_1" location="f12:302" file="f12" line="302" extern="1">
+    <Argument name="__x" type="_483" location="f12:302" file="f12" line="302"/>
+    <Argument name="__n" type="_1553" location="f12:302" file="f12" line="302"/>
+  </Function>
+  <Function id="_83" name="scalblnl" returns="_483" throw="" context="_1" location="f12:302" file="f12" line="302" extern="1">
+    <Argument name="__x" type="_483" location="f12:302" file="f12" line="302"/>
+    <Argument name="__n" type="_1553" location="f12:302" file="f12" line="302"/>
+  </Function>
+  <Function id="_84" name="__ilogbl" returns="_503" throw="" context="_1" location="f12:297" file="f12" line="297" extern="1">
+    <Argument name="__x" type="_483" location="f12:297" file="f12" line="297"/>
+  </Function>
+  <Function id="_85" name="ilogbl" returns="_503" throw="" context="_1" location="f12:297" file="f12" line="297" extern="1">
+    <Argument name="__x" type="_483" location="f12:297" file="f12" line="297"/>
+  </Function>
+  <Function id="_86" name="__scalbnl" returns="_483" throw="" context="_1" location="f12:293" file="f12" line="293" extern="1">
+    <Argument name="__x" type="_483" location="f12:293" file="f12" line="293"/>
+    <Argument name="__n" type="_503" location="f12:293" file="f12" line="293"/>
+  </Function>
+  <Function id="_87" name="scalbnl" returns="_483" throw="" context="_1" location="f12:293" file="f12" line="293" extern="1">
+    <Argument name="__x" type="_483" location="f12:293" file="f12" line="293"/>
+    <Argument name="__n" type="_503" location="f12:293" file="f12" line="293"/>
+  </Function>
+  <Function id="_88" name="__remainderl" returns="_483" throw="" context="_1" location="f12:289" file="f12" line="289" extern="1">
+    <Argument name="__x" type="_483" location="f12:289" file="f12" line="289"/>
+    <Argument name="__y" type="_483" location="f12:289" file="f12" line="289"/>
+  </Function>
+  <Function id="_89" name="remainderl" returns="_483" throw="" context="_1" location="f12:289" file="f12" line="289" extern="1">
+    <Argument name="__x" type="_483" location="f12:289" file="f12" line="289"/>
+    <Argument name="__y" type="_483" location="f12:289" file="f12" line="289"/>
+  </Function>
+  <Function id="_90" name="__nexttowardl" returns="_483" throw="" context="_1" location="f12:285" file="f12" line="285" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:285" file="f12" line="285"/>
+    <Argument name="__y" type="_483" location="f12:285" file="f12" line="285"/>
+  </Function>
+  <Function id="_91" name="nexttowardl" returns="_483" throw="" context="_1" location="f12:285" file="f12" line="285" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:285" file="f12" line="285"/>
+    <Argument name="__y" type="_483" location="f12:285" file="f12" line="285"/>
+  </Function>
+  <Function id="_92" name="__nextafterl" returns="_483" throw="" context="_1" location="f12:283" file="f12" line="283" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:283" file="f12" line="283"/>
+    <Argument name="__y" type="_483" location="f12:283" file="f12" line="283"/>
+  </Function>
+  <Function id="_93" name="nextafterl" returns="_483" throw="" context="_1" location="f12:283" file="f12" line="283" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:283" file="f12" line="283"/>
+    <Argument name="__y" type="_483" location="f12:283" file="f12" line="283"/>
+  </Function>
+  <Function id="_94" name="__rintl" returns="_483" throw="" context="_1" location="f12:280" file="f12" line="280" extern="1">
+    <Argument name="__x" type="_483" location="f12:280" file="f12" line="280"/>
+  </Function>
+  <Function id="_95" name="rintl" returns="_483" throw="" context="_1" location="f12:280" file="f12" line="280" extern="1">
+    <Argument name="__x" type="_483" location="f12:280" file="f12" line="280"/>
+  </Function>
+  <Function id="_96" name="__lgammal_r" returns="_483" throw="" context="_1" location="f12:272" file="f12" line="272" extern="1">
+    <Argument type="_483" location="f12:272" file="f12" line="272"/>
+    <Argument name="__signgamp" type="_2748" location="f12:272" file="f12" line="272"/>
+  </Function>
+  <Function id="_97" name="lgammal_r" returns="_483" throw="" context="_1" location="f12:272" file="f12" line="272" extern="1">
+    <Argument type="_483" location="f12:272" file="f12" line="272"/>
+    <Argument name="__signgamp" type="_2748" location="f12:272" file="f12" line="272"/>
+  </Function>
+  <Function id="_98" name="__gammal" returns="_483" throw="" context="_1" location="f12:265" file="f12" line="265" extern="1">
+    <Argument type="_483" location="f12:265" file="f12" line="265"/>
+  </Function>
+  <Function id="_99" name="gammal" returns="_483" throw="" context="_1" location="f12:265" file="f12" line="265" extern="1">
+    <Argument type="_483" location="f12:265" file="f12" line="265"/>
+  </Function>
+  <Function id="_100" name="__tgammal" returns="_483" throw="" context="_1" location="f12:259" file="f12" line="259" extern="1">
+    <Argument type="_483" location="f12:259" file="f12" line="259"/>
+  </Function>
+  <Function id="_101" name="tgammal" returns="_483" throw="" context="_1" location="f12:259" file="f12" line="259" extern="1">
+    <Argument type="_483" location="f12:259" file="f12" line="259"/>
+  </Function>
+  <Function id="_102" name="__lgammal" returns="_483" throw="" context="_1" location="f12:252" file="f12" line="252" extern="1">
+    <Argument type="_483" location="f12:252" file="f12" line="252"/>
+  </Function>
+  <Function id="_103" name="lgammal" returns="_483" throw="" context="_1" location="f12:252" file="f12" line="252" extern="1">
+    <Argument type="_483" location="f12:252" file="f12" line="252"/>
+  </Function>
+  <Function id="_104" name="__erfcl" returns="_483" throw="" context="_1" location="f12:251" file="f12" line="251" extern="1">
+    <Argument type="_483" location="f12:251" file="f12" line="251"/>
+  </Function>
+  <Function id="_105" name="erfcl" returns="_483" throw="" context="_1" location="f12:251" file="f12" line="251" extern="1">
+    <Argument type="_483" location="f12:251" file="f12" line="251"/>
+  </Function>
+  <Function id="_106" name="__erfl" returns="_483" throw="" context="_1" location="f12:250" file="f12" line="250" extern="1">
+    <Argument type="_483" location="f12:250" file="f12" line="250"/>
+  </Function>
+  <Function id="_107" name="erfl" returns="_483" throw="" context="_1" location="f12:250" file="f12" line="250" extern="1">
+    <Argument type="_483" location="f12:250" file="f12" line="250"/>
+  </Function>
+  <Function id="_108" name="__ynl" returns="_483" throw="" context="_1" location="f12:243" file="f12" line="243" extern="1">
+    <Argument type="_503" location="f12:243" file="f12" line="243"/>
+    <Argument type="_483" location="f12:243" file="f12" line="243"/>
+  </Function>
+  <Function id="_109" name="ynl" returns="_483" throw="" context="_1" location="f12:243" file="f12" line="243" extern="1">
+    <Argument type="_503" location="f12:243" file="f12" line="243"/>
+    <Argument type="_483" location="f12:243" file="f12" line="243"/>
+  </Function>
+  <Function id="_110" name="__y1l" returns="_483" throw="" context="_1" location="f12:242" file="f12" line="242" extern="1">
+    <Argument type="_483" location="f12:242" file="f12" line="242"/>
+  </Function>
+  <Function id="_111" name="y1l" returns="_483" throw="" context="_1" location="f12:242" file="f12" line="242" extern="1">
+    <Argument type="_483" location="f12:242" file="f12" line="242"/>
+  </Function>
+  <Function id="_112" name="__y0l" returns="_483" throw="" context="_1" location="f12:241" file="f12" line="241" extern="1">
+    <Argument type="_483" location="f12:241" file="f12" line="241"/>
+  </Function>
+  <Function id="_113" name="y0l" returns="_483" throw="" context="_1" location="f12:241" file="f12" line="241" extern="1">
+    <Argument type="_483" location="f12:241" file="f12" line="241"/>
+  </Function>
+  <Function id="_114" name="__jnl" returns="_483" throw="" context="_1" location="f12:240" file="f12" line="240" extern="1">
+    <Argument type="_503" location="f12:240" file="f12" line="240"/>
+    <Argument type="_483" location="f12:240" file="f12" line="240"/>
+  </Function>
+  <Function id="_115" name="jnl" returns="_483" throw="" context="_1" location="f12:240" file="f12" line="240" extern="1">
+    <Argument type="_503" location="f12:240" file="f12" line="240"/>
+    <Argument type="_483" location="f12:240" file="f12" line="240"/>
+  </Function>
+  <Function id="_116" name="__j1l" returns="_483" throw="" context="_1" location="f12:239" file="f12" line="239" extern="1">
+    <Argument type="_483" location="f12:239" file="f12" line="239"/>
+  </Function>
+  <Function id="_117" name="j1l" returns="_483" throw="" context="_1" location="f12:239" file="f12" line="239" extern="1">
+    <Argument type="_483" location="f12:239" file="f12" line="239"/>
+  </Function>
+  <Function id="_118" name="__j0l" returns="_483" throw="" context="_1" location="f12:238" file="f12" line="238" extern="1">
+    <Argument type="_483" location="f12:238" file="f12" line="238"/>
+  </Function>
+  <Function id="_119" name="j0l" returns="_483" throw="" context="_1" location="f12:238" file="f12" line="238" extern="1">
+    <Argument type="_483" location="f12:238" file="f12" line="238"/>
+  </Function>
+  <Function id="_120" name="isnanl" returns="_503" throw="" context="_1" location="f12:235" file="f12" line="235" extern="1" attributes="const">
+    <Argument name="__value" type="_483" location="f12:235" file="f12" line="235"/>
+  </Function>
+  <Function id="_121" name="__isnanl" returns="_503" throw="" context="_1" location="f12:231" file="f12" line="231" extern="1" attributes="const">
+    <Argument name="__value" type="_483" location="f12:231" file="f12" line="231"/>
+  </Function>
+  <Function id="_122" name="__nanl" returns="_483" throw="" context="_1" location="f12:225" file="f12" line="225" extern="1" attributes="const">
+    <Argument name="__tagb" type="_2749" location="f12:225" file="f12" line="225"/>
+  </Function>
+  <Function id="_123" name="__copysignl" returns="_483" throw="" context="_1" location="f12:218" file="f12" line="218" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:218" file="f12" line="218"/>
+    <Argument name="__y" type="_483" location="f12:218" file="f12" line="218"/>
+  </Function>
+  <Function id="_124" name="copysignl" returns="_483" throw="" context="_1" location="f12:218" file="f12" line="218" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:218" file="f12" line="218"/>
+    <Argument name="__y" type="_483" location="f12:218" file="f12" line="218"/>
+  </Function>
+  <Function id="_125" name="__significandl" returns="_483" throw="" context="_1" location="f12:212" file="f12" line="212" extern="1">
+    <Argument name="__x" type="_483" location="f12:212" file="f12" line="212"/>
+  </Function>
+  <Function id="_126" name="significandl" returns="_483" throw="" context="_1" location="f12:212" file="f12" line="212" extern="1">
+    <Argument name="__x" type="_483" location="f12:212" file="f12" line="212"/>
+  </Function>
+  <Function id="_127" name="__dreml" returns="_483" throw="" context="_1" location="f12:208" file="f12" line="208" extern="1">
+    <Argument name="__x" type="_483" location="f12:208" file="f12" line="208"/>
+    <Argument name="__y" type="_483" location="f12:208" file="f12" line="208"/>
+  </Function>
+  <Function id="_128" name="dreml" returns="_483" throw="" context="_1" location="f12:208" file="f12" line="208" extern="1">
+    <Argument name="__x" type="_483" location="f12:208" file="f12" line="208"/>
+    <Argument name="__y" type="_483" location="f12:208" file="f12" line="208"/>
+  </Function>
+  <Function id="_129" name="finitel" returns="_503" throw="" context="_1" location="f12:205" file="f12" line="205" extern="1" attributes="const">
+    <Argument name="__value" type="_483" location="f12:205" file="f12" line="205"/>
+  </Function>
+  <Function id="_130" name="isinfl" returns="_503" throw="" context="_1" location="f12:202" file="f12" line="202" extern="1" attributes="const">
+    <Argument name="__value" type="_483" location="f12:202" file="f12" line="202"/>
+  </Function>
+  <Function id="_131" name="__finitel" returns="_503" throw="" context="_1" location="f12:196" file="f12" line="196" extern="1" attributes="const">
+    <Argument name="__value" type="_483" location="f12:196" file="f12" line="196"/>
+  </Function>
+  <Function id="_132" name="__isinfl" returns="_503" throw="" context="_1" location="f12:193" file="f12" line="193" extern="1" attributes="const">
+    <Argument name="__value" type="_483" location="f12:193" file="f12" line="193"/>
+  </Function>
+  <Function id="_133" name="__fmodl" returns="_483" throw="" context="_1" location="f12:188" file="f12" line="188" extern="1">
+    <Argument name="__x" type="_483" location="f12:188" file="f12" line="188"/>
+    <Argument name="__y" type="_483" location="f12:188" file="f12" line="188"/>
+  </Function>
+  <Function id="_134" name="fmodl" returns="_483" throw="" context="_1" location="f12:188" file="f12" line="188" extern="1">
+    <Argument name="__x" type="_483" location="f12:188" file="f12" line="188"/>
+    <Argument name="__y" type="_483" location="f12:188" file="f12" line="188"/>
+  </Function>
+  <Function id="_135" name="__floorl" returns="_483" throw="" context="_1" location="f12:185" file="f12" line="185" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:185" file="f12" line="185"/>
+  </Function>
+  <Function id="_136" name="floorl" returns="_483" throw="" context="_1" location="f12:185" file="f12" line="185" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:185" file="f12" line="185"/>
+  </Function>
+  <Function id="_137" name="__fabsl" returns="_483" throw="" context="_1" location="f12:182" file="f12" line="182" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:182" file="f12" line="182"/>
+  </Function>
+  <Function id="_138" name="__ceill" returns="_483" throw="" context="_1" location="f12:179" file="f12" line="179" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:179" file="f12" line="179"/>
+  </Function>
+  <Function id="_139" name="ceill" returns="_483" throw="" context="_1" location="f12:179" file="f12" line="179" extern="1" attributes="const">
+    <Argument name="__x" type="_483" location="f12:179" file="f12" line="179"/>
+  </Function>
+  <Function id="_140" name="__cbrtl" returns="_483" throw="" context="_1" location="f12:170" file="f12" line="170" extern="1">
+    <Argument name="__x" type="_483" location="f12:170" file="f12" line="170"/>
+  </Function>
+  <Function id="_141" name="cbrtl" returns="_483" throw="" context="_1" location="f12:170" file="f12" line="170" extern="1">
+    <Argument name="__x" type="_483" location="f12:170" file="f12" line="170"/>
+  </Function>
+  <Function id="_142" name="__hypotl" returns="_483" throw="" context="_1" location="f12:163" file="f12" line="163" extern="1">
+    <Argument name="__x" type="_483" location="f12:163" file="f12" line="163"/>
+    <Argument name="__y" type="_483" location="f12:163" file="f12" line="163"/>
+  </Function>
+  <Function id="_143" name="hypotl" returns="_483" throw="" context="_1" location="f12:163" file="f12" line="163" extern="1">
+    <Argument name="__x" type="_483" location="f12:163" file="f12" line="163"/>
+    <Argument name="__y" type="_483" location="f12:163" file="f12" line="163"/>
+  </Function>
+  <Function id="_144" name="__sqrtl" returns="_483" throw="" context="_1" location="f12:157" file="f12" line="157" extern="1">
+    <Argument name="__x" type="_483" location="f12:157" file="f12" line="157"/>
+  </Function>
+  <Function id="_145" name="__powl" returns="_483" throw="" context="_1" location="f12:154" file="f12" line="154" extern="1">
+    <Argument name="__x" type="_483" location="f12:154" file="f12" line="154"/>
+    <Argument name="__y" type="_483" location="f12:154" file="f12" line="154"/>
+  </Function>
+  <Function id="_146" name="powl" returns="_483" throw="" context="_1" location="f12:154" file="f12" line="154" extern="1">
+    <Argument name="__x" type="_483" location="f12:154" file="f12" line="154"/>
+    <Argument name="__y" type="_483" location="f12:154" file="f12" line="154"/>
+  </Function>
+  <Function id="_147" name="__log2l" returns="_483" throw="" context="_1" location="f12:145" file="f12" line="145" extern="1">
+    <Argument name="__x" type="_483" location="f12:145" file="f12" line="145"/>
+  </Function>
+  <Function id="_148" name="log2l" returns="_483" throw="" context="_1" location="f12:145" file="f12" line="145" extern="1">
+    <Argument name="__x" type="_483" location="f12:145" file="f12" line="145"/>
+  </Function>
+  <Function id="_149" name="__exp2l" returns="_483" throw="" context="_1" location="f12:142" file="f12" line="142" extern="1">
+    <Argument name="__x" type="_483" location="f12:142" file="f12" line="142"/>
+  </Function>
+  <Function id="_150" name="exp2l" returns="_483" throw="" context="_1" location="f12:142" file="f12" line="142" extern="1">
+    <Argument name="__x" type="_483" location="f12:142" file="f12" line="142"/>
+  </Function>
+  <Function id="_151" name="__logbl" returns="_483" throw="" context="_1" location="f12:135" file="f12" line="135" extern="1">
+    <Argument name="__x" type="_483" location="f12:135" file="f12" line="135"/>
+  </Function>
+  <Function id="_152" name="logbl" returns="_483" throw="" context="_1" location="f12:135" file="f12" line="135" extern="1">
+    <Argument name="__x" type="_483" location="f12:135" file="f12" line="135"/>
+  </Function>
+  <Function id="_153" name="__log1pl" returns="_483" throw="" context="_1" location="f12:132" file="f12" line="132" extern="1">
+    <Argument name="__x" type="_483" location="f12:132" file="f12" line="132"/>
+  </Function>
+  <Function id="_154" name="log1pl" returns="_483" throw="" context="_1" location="f12:132" file="f12" line="132" extern="1">
+    <Argument name="__x" type="_483" location="f12:132" file="f12" line="132"/>
+  </Function>
+  <Function id="_155" name="__expm1l" returns="_483" throw="" context="_1" location="f12:129" file="f12" line="129" extern="1">
+    <Argument name="__x" type="_483" location="f12:129" file="f12" line="129"/>
+  </Function>
+  <Function id="_156" name="expm1l" returns="_483" throw="" context="_1" location="f12:129" file="f12" line="129" extern="1">
+    <Argument name="__x" type="_483" location="f12:129" file="f12" line="129"/>
+  </Function>
+  <Function id="_157" name="__pow10l" returns="_483" throw="" context="_1" location="f12:123" file="f12" line="123" extern="1">
+    <Argument name="__x" type="_483" location="f12:123" file="f12" line="123"/>
+  </Function>
+  <Function id="_158" name="pow10l" returns="_483" throw="" context="_1" location="f12:123" file="f12" line="123" extern="1">
+    <Argument name="__x" type="_483" location="f12:123" file="f12" line="123"/>
+  </Function>
+  <Function id="_159" name="__exp10l" returns="_483" throw="" context="_1" location="f12:121" file="f12" line="121" extern="1">
+    <Argument name="__x" type="_483" location="f12:121" file="f12" line="121"/>
+  </Function>
+  <Function id="_160" name="exp10l" returns="_483" throw="" context="_1" location="f12:121" file="f12" line="121" extern="1">
+    <Argument name="__x" type="_483" location="f12:121" file="f12" line="121"/>
+  </Function>
+  <Function id="_161" name="__modfl" returns="_483" throw="" context="_1" location="f12:116" file="f12" line="116" extern="1">
+    <Argument name="__x" type="_483" location="f12:116" file="f12" line="116"/>
+    <Argument name="__iptr" type="_2750" location="f12:116" file="f12" line="116"/>
+  </Function>
+  <Function id="_162" name="modfl" returns="_483" throw="" context="_1" location="f12:116" file="f12" line="116" extern="1">
+    <Argument name="__x" type="_483" location="f12:116" file="f12" line="116"/>
+    <Argument name="__iptr" type="_2750" location="f12:116" file="f12" line="116"/>
+  </Function>
+  <Function id="_163" name="__log10l" returns="_483" throw="" context="_1" location="f12:113" file="f12" line="113" extern="1">
+    <Argument name="__x" type="_483" location="f12:113" file="f12" line="113"/>
+  </Function>
+  <Function id="_164" name="log10l" returns="_483" throw="" context="_1" location="f12:113" file="f12" line="113" extern="1">
+    <Argument name="__x" type="_483" location="f12:113" file="f12" line="113"/>
+  </Function>
+  <Function id="_165" name="__logl" returns="_483" throw="" context="_1" location="f12:110" file="f12" line="110" extern="1">
+    <Argument name="__x" type="_483" location="f12:110" file="f12" line="110"/>
+  </Function>
+  <Function id="_166" name="__ldexpl" returns="_483" throw="" context="_1" location="f12:107" file="f12" line="107" extern="1">
+    <Argument name="__x" type="_483" location="f12:107" file="f12" line="107"/>
+    <Argument name="__exponent" type="_503" location="f12:107" file="f12" line="107"/>
+  </Function>
+  <Function id="_167" name="ldexpl" returns="_483" throw="" context="_1" location="f12:107" file="f12" line="107" extern="1">
+    <Argument name="__x" type="_483" location="f12:107" file="f12" line="107"/>
+    <Argument name="__exponent" type="_503" location="f12:107" file="f12" line="107"/>
+  </Function>
+  <Function id="_168" name="__frexpl" returns="_483" throw="" context="_1" location="f12:104" file="f12" line="104" extern="1">
+    <Argument name="__x" type="_483" location="f12:104" file="f12" line="104"/>
+    <Argument name="__exponent" type="_2748" location="f12:104" file="f12" line="104"/>
+  </Function>
+  <Function id="_169" name="frexpl" returns="_483" throw="" context="_1" location="f12:104" file="f12" line="104" extern="1">
+    <Argument name="__x" type="_483" location="f12:104" file="f12" line="104"/>
+    <Argument name="__exponent" type="_2748" location="f12:104" file="f12" line="104"/>
+  </Function>
+  <Function id="_170" name="__expl" returns="_483" throw="" context="_1" location="f12:101" file="f12" line="101" extern="1">
+    <Argument name="__x" type="_483" location="f12:101" file="f12" line="101"/>
+  </Function>
+  <Function id="_171" name="__atanhl" returns="_483" throw="" context="_1" location="f12:93" file="f12" line="93" extern="1">
+    <Argument name="__x" type="_483" location="f12:93" file="f12" line="93"/>
+  </Function>
+  <Function id="_172" name="atanhl" returns="_483" throw="" context="_1" location="f12:93" file="f12" line="93" extern="1">
+    <Argument name="__x" type="_483" location="f12:93" file="f12" line="93"/>
+  </Function>
+  <Function id="_173" name="__asinhl" returns="_483" throw="" context="_1" location="f12:91" file="f12" line="91" extern="1">
+    <Argument name="__x" type="_483" location="f12:91" file="f12" line="91"/>
+  </Function>
+  <Function id="_174" name="asinhl" returns="_483" throw="" context="_1" location="f12:91" file="f12" line="91" extern="1">
+    <Argument name="__x" type="_483" location="f12:91" file="f12" line="91"/>
+  </Function>
+  <Function id="_175" name="__acoshl" returns="_483" throw="" context="_1" location="f12:89" file="f12" line="89" extern="1">
+    <Argument name="__x" type="_483" location="f12:89" file="f12" line="89"/>
+  </Function>
+  <Function id="_176" name="acoshl" returns="_483" throw="" context="_1" location="f12:89" file="f12" line="89" extern="1">
+    <Argument name="__x" type="_483" location="f12:89" file="f12" line="89"/>
+  </Function>
+  <Function id="_177" name="__sincosl" returns="_1194" throw="" context="_1" location="f12:82" file="f12" line="82" extern="1">
+    <Argument name="__x" type="_483" location="f12:82" file="f12" line="82"/>
+    <Argument name="__sinx" type="_2750" location="f12:82" file="f12" line="82"/>
+    <Argument name="__cosx" type="_2750" location="f12:82" file="f12" line="82"/>
+  </Function>
+  <Function id="_178" name="sincosl" returns="_1194" throw="" context="_1" location="f12:82" file="f12" line="82" extern="1">
+    <Argument name="__x" type="_483" location="f12:82" file="f12" line="82"/>
+    <Argument name="__sinx" type="_2750" location="f12:82" file="f12" line="82"/>
+    <Argument name="__cosx" type="_2750" location="f12:82" file="f12" line="82"/>
+  </Function>
+  <Function id="_179" name="__tanhl" returns="_483" throw="" context="_1" location="f12:77" file="f12" line="77" extern="1">
+    <Argument name="__x" type="_483" location="f12:77" file="f12" line="77"/>
+  </Function>
+  <Function id="_180" name="tanhl" returns="_483" throw="" context="_1" location="f12:77" file="f12" line="77" extern="1">
+    <Argument name="__x" type="_483" location="f12:77" file="f12" line="77"/>
+  </Function>
+  <Function id="_181" name="__sinhl" returns="_483" throw="" context="_1" location="f12:75" file="f12" line="75" extern="1">
+    <Argument name="__x" type="_483" location="f12:75" file="f12" line="75"/>
+  </Function>
+  <Function id="_182" name="sinhl" returns="_483" throw="" context="_1" location="f12:75" file="f12" line="75" extern="1">
+    <Argument name="__x" type="_483" location="f12:75" file="f12" line="75"/>
+  </Function>
+  <Function id="_183" name="__coshl" returns="_483" throw="" context="_1" location="f12:73" file="f12" line="73" extern="1">
+    <Argument name="__x" type="_483" location="f12:73" file="f12" line="73"/>
+  </Function>
+  <Function id="_184" name="coshl" returns="_483" throw="" context="_1" location="f12:73" file="f12" line="73" extern="1">
+    <Argument name="__x" type="_483" location="f12:73" file="f12" line="73"/>
+  </Function>
+  <Function id="_185" name="__tanl" returns="_483" throw="" context="_1" location="f12:68" file="f12" line="68" extern="1">
+    <Argument name="__x" type="_483" location="f12:68" file="f12" line="68"/>
+  </Function>
+  <Function id="_186" name="tanl" returns="_483" throw="" context="_1" location="f12:68" file="f12" line="68" extern="1">
+    <Argument name="__x" type="_483" location="f12:68" file="f12" line="68"/>
+  </Function>
+  <Function id="_187" name="__sinl" returns="_483" throw="" context="_1" location="f12:66" file="f12" line="66" extern="1">
+    <Argument name="__x" type="_483" location="f12:66" file="f12" line="66"/>
+  </Function>
+  <Function id="_188" name="__cosl" returns="_483" throw="" context="_1" location="f12:64" file="f12" line="64" extern="1">
+    <Argument name="__x" type="_483" location="f12:64" file="f12" line="64"/>
+  </Function>
+  <Function id="_189" name="__atan2l" returns="_483" throw="" context="_1" location="f12:61" file="f12" line="61" extern="1">
+    <Argument name="__y" type="_483" location="f12:61" file="f12" line="61"/>
+    <Argument name="__x" type="_483" location="f12:61" file="f12" line="61"/>
+  </Function>
+  <Function id="_190" name="atan2l" returns="_483" throw="" context="_1" location="f12:61" file="f12" line="61" extern="1">
+    <Argument name="__y" type="_483" location="f12:61" file="f12" line="61"/>
+    <Argument name="__x" type="_483" location="f12:61" file="f12" line="61"/>
+  </Function>
+  <Function id="_191" name="__atanl" returns="_483" throw="" context="_1" location="f12:59" file="f12" line="59" extern="1">
+    <Argument name="__x" type="_483" location="f12:59" file="f12" line="59"/>
+  </Function>
+  <Function id="_192" name="atanl" returns="_483" throw="" context="_1" location="f12:59" file="f12" line="59" extern="1">
+    <Argument name="__x" type="_483" location="f12:59" file="f12" line="59"/>
+  </Function>
+  <Function id="_193" name="__asinl" returns="_483" throw="" context="_1" location="f12:57" file="f12" line="57" extern="1">
+    <Argument name="__x" type="_483" location="f12:57" file="f12" line="57"/>
+  </Function>
+  <Function id="_194" name="asinl" returns="_483" throw="" context="_1" location="f12:57" file="f12" line="57" extern="1">
+    <Argument name="__x" type="_483" location="f12:57" file="f12" line="57"/>
+  </Function>
+  <Function id="_195" name="__acosl" returns="_483" throw="" context="_1" location="f12:55" file="f12" line="55" extern="1">
+    <Argument name="__x" type="_483" location="f12:55" file="f12" line="55"/>
+  </Function>
+  <Function id="_196" name="acosl" returns="_483" throw="" context="_1" location="f12:55" file="f12" line="55" extern="1">
+    <Argument name="__x" type="_483" location="f12:55" file="f12" line="55"/>
+  </Function>
+  <Function id="_197" name="__scalbf" returns="_2751" throw="" context="_1" location="f12:364" file="f12" line="364" extern="1">
+    <Argument name="__x" type="_2751" location="f12:364" file="f12" line="364"/>
+    <Argument name="__n" type="_2751" location="f12:364" file="f12" line="364"/>
+  </Function>
+  <Function id="_198" name="scalbf" returns="_2751" throw="" context="_1" location="f12:364" file="f12" line="364" extern="1">
+    <Argument name="__x" type="_2751" location="f12:364" file="f12" line="364"/>
+    <Argument name="__n" type="_2751" location="f12:364" file="f12" line="364"/>
+  </Function>
+  <Function id="_199" name="__fmaf" returns="_2751" throw="" context="_1" location="f12:355" file="f12" line="355" extern="1">
+    <Argument name="__x" type="_2751" location="f12:355" file="f12" line="355"/>
+    <Argument name="__y" type="_2751" location="f12:355" file="f12" line="355"/>
+    <Argument name="__z" type="_2751" location="f12:355" file="f12" line="355"/>
+  </Function>
+  <Function id="_200" name="fmaf" returns="_2751" throw="" context="_1" location="f12:355" file="f12" line="355" extern="1">
+    <Argument name="__x" type="_2751" location="f12:355" file="f12" line="355"/>
+    <Argument name="__y" type="_2751" location="f12:355" file="f12" line="355"/>
+    <Argument name="__z" type="_2751" location="f12:355" file="f12" line="355"/>
+  </Function>
+  <Function id="_201" name="__signbitf" returns="_503" throw="" context="_1" location="f12:351" file="f12" line="351" extern="1" attributes="const">
+    <Argument name="__value" type="_2751" location="f12:351" file="f12" line="351"/>
+  </Function>
+  <Function id="_202" name="__fpclassifyf" returns="_503" throw="" context="_1" location="f12:347" file="f12" line="347" extern="1" attributes="const">
+    <Argument name="__value" type="_2751" location="f12:347" file="f12" line="347"/>
+  </Function>
+  <Function id="_203" name="__fminf" returns="_2751" throw="" context="_1" location="f12:342" file="f12" line="342" extern="1">
+    <Argument name="__x" type="_2751" location="f12:342" file="f12" line="342"/>
+    <Argument name="__y" type="_2751" location="f12:342" file="f12" line="342"/>
+  </Function>
+  <Function id="_204" name="fminf" returns="_2751" throw="" context="_1" location="f12:342" file="f12" line="342" extern="1">
+    <Argument name="__x" type="_2751" location="f12:342" file="f12" line="342"/>
+    <Argument name="__y" type="_2751" location="f12:342" file="f12" line="342"/>
+  </Function>
+  <Function id="_205" name="__fmaxf" returns="_2751" throw="" context="_1" location="f12:339" file="f12" line="339" extern="1">
+    <Argument name="__x" type="_2751" location="f12:339" file="f12" line="339"/>
+    <Argument name="__y" type="_2751" location="f12:339" file="f12" line="339"/>
+  </Function>
+  <Function id="_206" name="fmaxf" returns="_2751" throw="" context="_1" location="f12:339" file="f12" line="339" extern="1">
+    <Argument name="__x" type="_2751" location="f12:339" file="f12" line="339"/>
+    <Argument name="__y" type="_2751" location="f12:339" file="f12" line="339"/>
+  </Function>
+  <Function id="_207" name="__fdimf" returns="_2751" throw="" context="_1" location="f12:336" file="f12" line="336" extern="1">
+    <Argument name="__x" type="_2751" location="f12:336" file="f12" line="336"/>
+    <Argument name="__y" type="_2751" location="f12:336" file="f12" line="336"/>
+  </Function>
+  <Function id="_208" name="fdimf" returns="_2751" throw="" context="_1" location="f12:336" file="f12" line="336" extern="1">
+    <Argument name="__x" type="_2751" location="f12:336" file="f12" line="336"/>
+    <Argument name="__y" type="_2751" location="f12:336" file="f12" line="336"/>
+  </Function>
+  <Function id="_209" name="__llroundf" returns="_1290" throw="" context="_1" location="f12:332" file="f12" line="332" extern="1">
+    <Argument name="__x" type="_2751" location="f12:332" file="f12" line="332"/>
+  </Function>
+  <Function id="_210" name="llroundf" returns="_1290" throw="" context="_1" location="f12:332" file="f12" line="332" extern="1">
+    <Argument name="__x" type="_2751" location="f12:332" file="f12" line="332"/>
+  </Function>
+  <Function id="_211" name="__lroundf" returns="_1553" throw="" context="_1" location="f12:331" file="f12" line="331" extern="1">
+    <Argument name="__x" type="_2751" location="f12:331" file="f12" line="331"/>
+  </Function>
+  <Function id="_212" name="lroundf" returns="_1553" throw="" context="_1" location="f12:331" file="f12" line="331" extern="1">
+    <Argument name="__x" type="_2751" location="f12:331" file="f12" line="331"/>
+  </Function>
+  <Function id="_213" name="__llrintf" returns="_1290" throw="" context="_1" location="f12:327" file="f12" line="327" extern="1">
+    <Argument name="__x" type="_2751" location="f12:327" file="f12" line="327"/>
+  </Function>
+  <Function id="_214" name="llrintf" returns="_1290" throw="" context="_1" location="f12:327" file="f12" line="327" extern="1">
+    <Argument name="__x" type="_2751" location="f12:327" file="f12" line="327"/>
+  </Function>
+  <Function id="_215" name="__lrintf" returns="_1553" throw="" context="_1" location="f12:326" file="f12" line="326" extern="1">
+    <Argument name="__x" type="_2751" location="f12:326" file="f12" line="326"/>
+  </Function>
+  <Function id="_216" name="lrintf" returns="_1553" throw="" context="_1" location="f12:326" file="f12" line="326" extern="1">
+    <Argument name="__x" type="_2751" location="f12:326" file="f12" line="326"/>
+  </Function>
+  <Function id="_217" name="__remquof" returns="_2751" throw="" context="_1" location="f12:319" file="f12" line="319" extern="1">
+    <Argument name="__x" type="_2751" location="f12:319" file="f12" line="319"/>
+    <Argument name="__y" type="_2751" location="f12:319" file="f12" line="319"/>
+    <Argument name="__quo" type="_2748" location="f12:319" file="f12" line="319"/>
+  </Function>
+  <Function id="_218" name="remquof" returns="_2751" throw="" context="_1" location="f12:319" file="f12" line="319" extern="1">
+    <Argument name="__x" type="_2751" location="f12:319" file="f12" line="319"/>
+    <Argument name="__y" type="_2751" location="f12:319" file="f12" line="319"/>
+    <Argument name="__quo" type="_2748" location="f12:319" file="f12" line="319"/>
+  </Function>
+  <Function id="_219" name="__truncf" returns="_2751" throw="" context="_1" location="f12:314" file="f12" line="314" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:314" file="f12" line="314"/>
+  </Function>
+  <Function id="_220" name="truncf" returns="_2751" throw="" context="_1" location="f12:314" file="f12" line="314" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:314" file="f12" line="314"/>
+  </Function>
+  <Function id="_221" name="__roundf" returns="_2751" throw="" context="_1" location="f12:310" file="f12" line="310" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:310" file="f12" line="310"/>
+  </Function>
+  <Function id="_222" name="roundf" returns="_2751" throw="" context="_1" location="f12:310" file="f12" line="310" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:310" file="f12" line="310"/>
+  </Function>
+  <Function id="_223" name="__nearbyintf" returns="_2751" throw="" context="_1" location="f12:306" file="f12" line="306" extern="1">
+    <Argument name="__x" type="_2751" location="f12:306" file="f12" line="306"/>
+  </Function>
+  <Function id="_224" name="nearbyintf" returns="_2751" throw="" context="_1" location="f12:306" file="f12" line="306" extern="1">
+    <Argument name="__x" type="_2751" location="f12:306" file="f12" line="306"/>
+  </Function>
+  <Function id="_225" name="__scalblnf" returns="_2751" throw="" context="_1" location="f12:302" file="f12" line="302" extern="1">
+    <Argument name="__x" type="_2751" location="f12:302" file="f12" line="302"/>
+    <Argument name="__n" type="_1553" location="f12:302" file="f12" line="302"/>
+  </Function>
+  <Function id="_226" name="scalblnf" returns="_2751" throw="" context="_1" location="f12:302" file="f12" line="302" extern="1">
+    <Argument name="__x" type="_2751" location="f12:302" file="f12" line="302"/>
+    <Argument name="__n" type="_1553" location="f12:302" file="f12" line="302"/>
+  </Function>
+  <Function id="_227" name="__ilogbf" returns="_503" throw="" context="_1" location="f12:297" file="f12" line="297" extern="1">
+    <Argument name="__x" type="_2751" location="f12:297" file="f12" line="297"/>
+  </Function>
+  <Function id="_228" name="ilogbf" returns="_503" throw="" context="_1" location="f12:297" file="f12" line="297" extern="1">
+    <Argument name="__x" type="_2751" location="f12:297" file="f12" line="297"/>
+  </Function>
+  <Function id="_229" name="__scalbnf" returns="_2751" throw="" context="_1" location="f12:293" file="f12" line="293" extern="1">
+    <Argument name="__x" type="_2751" location="f12:293" file="f12" line="293"/>
+    <Argument name="__n" type="_503" location="f12:293" file="f12" line="293"/>
+  </Function>
+  <Function id="_230" name="scalbnf" returns="_2751" throw="" context="_1" location="f12:293" file="f12" line="293" extern="1">
+    <Argument name="__x" type="_2751" location="f12:293" file="f12" line="293"/>
+    <Argument name="__n" type="_503" location="f12:293" file="f12" line="293"/>
+  </Function>
+  <Function id="_231" name="__remainderf" returns="_2751" throw="" context="_1" location="f12:289" file="f12" line="289" extern="1">
+    <Argument name="__x" type="_2751" location="f12:289" file="f12" line="289"/>
+    <Argument name="__y" type="_2751" location="f12:289" file="f12" line="289"/>
+  </Function>
+  <Function id="_232" name="remainderf" returns="_2751" throw="" context="_1" location="f12:289" file="f12" line="289" extern="1">
+    <Argument name="__x" type="_2751" location="f12:289" file="f12" line="289"/>
+    <Argument name="__y" type="_2751" location="f12:289" file="f12" line="289"/>
+  </Function>
+  <Function id="_233" name="__nexttowardf" returns="_2751" throw="" context="_1" location="f12:285" file="f12" line="285" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:285" file="f12" line="285"/>
+    <Argument name="__y" type="_483" location="f12:285" file="f12" line="285"/>
+  </Function>
+  <Function id="_234" name="nexttowardf" returns="_2751" throw="" context="_1" location="f12:285" file="f12" line="285" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:285" file="f12" line="285"/>
+    <Argument name="__y" type="_483" location="f12:285" file="f12" line="285"/>
+  </Function>
+  <Function id="_235" name="__nextafterf" returns="_2751" throw="" context="_1" location="f12:283" file="f12" line="283" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:283" file="f12" line="283"/>
+    <Argument name="__y" type="_2751" location="f12:283" file="f12" line="283"/>
+  </Function>
+  <Function id="_236" name="nextafterf" returns="_2751" throw="" context="_1" location="f12:283" file="f12" line="283" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:283" file="f12" line="283"/>
+    <Argument name="__y" type="_2751" location="f12:283" file="f12" line="283"/>
+  </Function>
+  <Function id="_237" name="__rintf" returns="_2751" throw="" context="_1" location="f12:280" file="f12" line="280" extern="1">
+    <Argument name="__x" type="_2751" location="f12:280" file="f12" line="280"/>
+  </Function>
+  <Function id="_238" name="rintf" returns="_2751" throw="" context="_1" location="f12:280" file="f12" line="280" extern="1">
+    <Argument name="__x" type="_2751" location="f12:280" file="f12" line="280"/>
+  </Function>
+  <Function id="_239" name="__lgammaf_r" returns="_2751" throw="" context="_1" location="f12:272" file="f12" line="272" extern="1">
+    <Argument type="_2751" location="f12:272" file="f12" line="272"/>
+    <Argument name="__signgamp" type="_2748" location="f12:272" file="f12" line="272"/>
+  </Function>
+  <Function id="_240" name="lgammaf_r" returns="_2751" throw="" context="_1" location="f12:272" file="f12" line="272" extern="1">
+    <Argument type="_2751" location="f12:272" file="f12" line="272"/>
+    <Argument name="__signgamp" type="_2748" location="f12:272" file="f12" line="272"/>
+  </Function>
+  <Function id="_241" name="__gammaf" returns="_2751" throw="" context="_1" location="f12:265" file="f12" line="265" extern="1">
+    <Argument type="_2751" location="f12:265" file="f12" line="265"/>
+  </Function>
+  <Function id="_242" name="gammaf" returns="_2751" throw="" context="_1" location="f12:265" file="f12" line="265" extern="1">
+    <Argument type="_2751" location="f12:265" file="f12" line="265"/>
+  </Function>
+  <Function id="_243" name="__tgammaf" returns="_2751" throw="" context="_1" location="f12:259" file="f12" line="259" extern="1">
+    <Argument type="_2751" location="f12:259" file="f12" line="259"/>
+  </Function>
+  <Function id="_244" name="tgammaf" returns="_2751" throw="" context="_1" location="f12:259" file="f12" line="259" extern="1">
+    <Argument type="_2751" location="f12:259" file="f12" line="259"/>
+  </Function>
+  <Function id="_245" name="__lgammaf" returns="_2751" throw="" context="_1" location="f12:252" file="f12" line="252" extern="1">
+    <Argument type="_2751" location="f12:252" file="f12" line="252"/>
+  </Function>
+  <Function id="_246" name="lgammaf" returns="_2751" throw="" context="_1" location="f12:252" file="f12" line="252" extern="1">
+    <Argument type="_2751" location="f12:252" file="f12" line="252"/>
+  </Function>
+  <Function id="_247" name="__erfcf" returns="_2751" throw="" context="_1" location="f12:251" file="f12" line="251" extern="1">
+    <Argument type="_2751" location="f12:251" file="f12" line="251"/>
+  </Function>
+  <Function id="_248" name="erfcf" returns="_2751" throw="" context="_1" location="f12:251" file="f12" line="251" extern="1">
+    <Argument type="_2751" location="f12:251" file="f12" line="251"/>
+  </Function>
+  <Function id="_249" name="__erff" returns="_2751" throw="" context="_1" location="f12:250" file="f12" line="250" extern="1">
+    <Argument type="_2751" location="f12:250" file="f12" line="250"/>
+  </Function>
+  <Function id="_250" name="erff" returns="_2751" throw="" context="_1" location="f12:250" file="f12" line="250" extern="1">
+    <Argument type="_2751" location="f12:250" file="f12" line="250"/>
+  </Function>
+  <Function id="_251" name="__ynf" returns="_2751" throw="" context="_1" location="f12:243" file="f12" line="243" extern="1">
+    <Argument type="_503" location="f12:243" file="f12" line="243"/>
+    <Argument type="_2751" location="f12:243" file="f12" line="243"/>
+  </Function>
+  <Function id="_252" name="ynf" returns="_2751" throw="" context="_1" location="f12:243" file="f12" line="243" extern="1">
+    <Argument type="_503" location="f12:243" file="f12" line="243"/>
+    <Argument type="_2751" location="f12:243" file="f12" line="243"/>
+  </Function>
+  <Function id="_253" name="__y1f" returns="_2751" throw="" context="_1" location="f12:242" file="f12" line="242" extern="1">
+    <Argument type="_2751" location="f12:242" file="f12" line="242"/>
+  </Function>
+  <Function id="_254" name="y1f" returns="_2751" throw="" context="_1" location="f12:242" file="f12" line="242" extern="1">
+    <Argument type="_2751" location="f12:242" file="f12" line="242"/>
+  </Function>
+  <Function id="_255" name="__y0f" returns="_2751" throw="" context="_1" location="f12:241" file="f12" line="241" extern="1">
+    <Argument type="_2751" location="f12:241" file="f12" line="241"/>
+  </Function>
+  <Function id="_256" name="y0f" returns="_2751" throw="" context="_1" location="f12:241" file="f12" line="241" extern="1">
+    <Argument type="_2751" location="f12:241" file="f12" line="241"/>
+  </Function>
+  <Function id="_257" name="__jnf" returns="_2751" throw="" context="_1" location="f12:240" file="f12" line="240" extern="1">
+    <Argument type="_503" location="f12:240" file="f12" line="240"/>
+    <Argument type="_2751" location="f12:240" file="f12" line="240"/>
+  </Function>
+  <Function id="_258" name="jnf" returns="_2751" throw="" context="_1" location="f12:240" file="f12" line="240" extern="1">
+    <Argument type="_503" location="f12:240" file="f12" line="240"/>
+    <Argument type="_2751" location="f12:240" file="f12" line="240"/>
+  </Function>
+  <Function id="_259" name="__j1f" returns="_2751" throw="" context="_1" location="f12:239" file="f12" line="239" extern="1">
+    <Argument type="_2751" location="f12:239" file="f12" line="239"/>
+  </Function>
+  <Function id="_260" name="j1f" returns="_2751" throw="" context="_1" location="f12:239" file="f12" line="239" extern="1">
+    <Argument type="_2751" location="f12:239" file="f12" line="239"/>
+  </Function>
+  <Function id="_261" name="__j0f" returns="_2751" throw="" context="_1" location="f12:238" file="f12" line="238" extern="1">
+    <Argument type="_2751" location="f12:238" file="f12" line="238"/>
+  </Function>
+  <Function id="_262" name="j0f" returns="_2751" throw="" context="_1" location="f12:238" file="f12" line="238" extern="1">
+    <Argument type="_2751" location="f12:238" file="f12" line="238"/>
+  </Function>
+  <Function id="_263" name="isnanf" returns="_503" throw="" context="_1" location="f12:235" file="f12" line="235" extern="1" attributes="const">
+    <Argument name="__value" type="_2751" location="f12:235" file="f12" line="235"/>
+  </Function>
+  <Function id="_264" name="__isnanf" returns="_503" throw="" context="_1" location="f12:231" file="f12" line="231" extern="1" attributes="const">
+    <Argument name="__value" type="_2751" location="f12:231" file="f12" line="231"/>
+  </Function>
+  <Function id="_265" name="__nanf" returns="_2751" throw="" context="_1" location="f12:225" file="f12" line="225" extern="1" attributes="const">
+    <Argument name="__tagb" type="_2749" location="f12:225" file="f12" line="225"/>
+  </Function>
+  <Function id="_266" name="__copysignf" returns="_2751" throw="" context="_1" location="f12:218" file="f12" line="218" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:218" file="f12" line="218"/>
+    <Argument name="__y" type="_2751" location="f12:218" file="f12" line="218"/>
+  </Function>
+  <Function id="_267" name="copysignf" returns="_2751" throw="" context="_1" location="f12:218" file="f12" line="218" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:218" file="f12" line="218"/>
+    <Argument name="__y" type="_2751" location="f12:218" file="f12" line="218"/>
+  </Function>
+  <Function id="_268" name="__significandf" returns="_2751" throw="" context="_1" location="f12:212" file="f12" line="212" extern="1">
+    <Argument name="__x" type="_2751" location="f12:212" file="f12" line="212"/>
+  </Function>
+  <Function id="_269" name="significandf" returns="_2751" throw="" context="_1" location="f12:212" file="f12" line="212" extern="1">
+    <Argument name="__x" type="_2751" location="f12:212" file="f12" line="212"/>
+  </Function>
+  <Function id="_270" name="__dremf" returns="_2751" throw="" context="_1" location="f12:208" file="f12" line="208" extern="1">
+    <Argument name="__x" type="_2751" location="f12:208" file="f12" line="208"/>
+    <Argument name="__y" type="_2751" location="f12:208" file="f12" line="208"/>
+  </Function>
+  <Function id="_271" name="dremf" returns="_2751" throw="" context="_1" location="f12:208" file="f12" line="208" extern="1">
+    <Argument name="__x" type="_2751" location="f12:208" file="f12" line="208"/>
+    <Argument name="__y" type="_2751" location="f12:208" file="f12" line="208"/>
+  </Function>
+  <Function id="_272" name="finitef" returns="_503" throw="" context="_1" location="f12:205" file="f12" line="205" extern="1" attributes="const">
+    <Argument name="__value" type="_2751" location="f12:205" file="f12" line="205"/>
+  </Function>
+  <Function id="_273" name="isinff" returns="_503" throw="" context="_1" location="f12:202" file="f12" line="202" extern="1" attributes="const">
+    <Argument name="__value" type="_2751" location="f12:202" file="f12" line="202"/>
+  </Function>
+  <Function id="_274" name="__finitef" returns="_503" throw="" context="_1" location="f12:196" file="f12" line="196" extern="1" attributes="const">
+    <Argument name="__value" type="_2751" location="f12:196" file="f12" line="196"/>
+  </Function>
+  <Function id="_275" name="__isinff" returns="_503" throw="" context="_1" location="f12:193" file="f12" line="193" extern="1" attributes="const">
+    <Argument name="__value" type="_2751" location="f12:193" file="f12" line="193"/>
+  </Function>
+  <Function id="_276" name="__fmodf" returns="_2751" throw="" context="_1" location="f12:188" file="f12" line="188" extern="1">
+    <Argument name="__x" type="_2751" location="f12:188" file="f12" line="188"/>
+    <Argument name="__y" type="_2751" location="f12:188" file="f12" line="188"/>
+  </Function>
+  <Function id="_277" name="fmodf" returns="_2751" throw="" context="_1" location="f12:188" file="f12" line="188" extern="1">
+    <Argument name="__x" type="_2751" location="f12:188" file="f12" line="188"/>
+    <Argument name="__y" type="_2751" location="f12:188" file="f12" line="188"/>
+  </Function>
+  <Function id="_278" name="__floorf" returns="_2751" throw="" context="_1" location="f12:185" file="f12" line="185" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:185" file="f12" line="185"/>
+  </Function>
+  <Function id="_279" name="floorf" returns="_2751" throw="" context="_1" location="f12:185" file="f12" line="185" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:185" file="f12" line="185"/>
+  </Function>
+  <Function id="_280" name="__fabsf" returns="_2751" throw="" context="_1" location="f12:182" file="f12" line="182" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:182" file="f12" line="182"/>
+  </Function>
+  <Function id="_281" name="__ceilf" returns="_2751" throw="" context="_1" location="f12:179" file="f12" line="179" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:179" file="f12" line="179"/>
+  </Function>
+  <Function id="_282" name="ceilf" returns="_2751" throw="" context="_1" location="f12:179" file="f12" line="179" extern="1" attributes="const">
+    <Argument name="__x" type="_2751" location="f12:179" file="f12" line="179"/>
+  </Function>
+  <Function id="_283" name="__cbrtf" returns="_2751" throw="" context="_1" location="f12:170" file="f12" line="170" extern="1">
+    <Argument name="__x" type="_2751" location="f12:170" file="f12" line="170"/>
+  </Function>
+  <Function id="_284" name="cbrtf" returns="_2751" throw="" context="_1" location="f12:170" file="f12" line="170" extern="1">
+    <Argument name="__x" type="_2751" location="f12:170" file="f12" line="170"/>
+  </Function>
+  <Function id="_285" name="__hypotf" returns="_2751" throw="" context="_1" location="f12:163" file="f12" line="163" extern="1">
+    <Argument name="__x" type="_2751" location="f12:163" file="f12" line="163"/>
+    <Argument name="__y" type="_2751" location="f12:163" file="f12" line="163"/>
+  </Function>
+  <Function id="_286" name="hypotf" returns="_2751" throw="" context="_1" location="f12:163" file="f12" line="163" extern="1">
+    <Argument name="__x" type="_2751" location="f12:163" file="f12" line="163"/>
+    <Argument name="__y" type="_2751" location="f12:163" file="f12" line="163"/>
+  </Function>
+  <Function id="_287" name="__sqrtf" returns="_2751" throw="" context="_1" location="f12:157" file="f12" line="157" extern="1">
+    <Argument name="__x" type="_2751" location="f12:157" file="f12" line="157"/>
+  </Function>
+  <Function id="_288" name="__powf" returns="_2751" throw="" context="_1" location="f12:154" file="f12" line="154" extern="1">
+    <Argument name="__x" type="_2751" location="f12:154" file="f12" line="154"/>
+    <Argument name="__y" type="_2751" location="f12:154" file="f12" line="154"/>
+  </Function>
+  <Function id="_289" name="powf" returns="_2751" throw="" context="_1" location="f12:154" file="f12" line="154" extern="1">
+    <Argument name="__x" type="_2751" location="f12:154" file="f12" line="154"/>
+    <Argument name="__y" type="_2751" location="f12:154" file="f12" line="154"/>
+  </Function>
+  <Function id="_290" name="__log2f" returns="_2751" throw="" context="_1" location="f12:145" file="f12" line="145" extern="1">
+    <Argument name="__x" type="_2751" location="f12:145" file="f12" line="145"/>
+  </Function>
+  <Function id="_291" name="log2f" returns="_2751" throw="" context="_1" location="f12:145" file="f12" line="145" extern="1">
+    <Argument name="__x" type="_2751" location="f12:145" file="f12" line="145"/>
+  </Function>
+  <Function id="_292" name="__exp2f" returns="_2751" throw="" context="_1" location="f12:142" file="f12" line="142" extern="1">
+    <Argument name="__x" type="_2751" location="f12:142" file="f12" line="142"/>
+  </Function>
+  <Function id="_293" name="exp2f" returns="_2751" throw="" context="_1" location="f12:142" file="f12" line="142" extern="1">
+    <Argument name="__x" type="_2751" location="f12:142" file="f12" line="142"/>
+  </Function>
+  <Function id="_294" name="__logbf" returns="_2751" throw="" context="_1" location="f12:135" file="f12" line="135" extern="1">
+    <Argument name="__x" type="_2751" location="f12:135" file="f12" line="135"/>
+  </Function>
+  <Function id="_295" name="logbf" returns="_2751" throw="" context="_1" location="f12:135" file="f12" line="135" extern="1">
+    <Argument name="__x" type="_2751" location="f12:135" file="f12" line="135"/>
+  </Function>
+  <Function id="_296" name="__log1pf" returns="_2751" throw="" context="_1" location="f12:132" file="f12" line="132" extern="1">
+    <Argument name="__x" type="_2751" location="f12:132" file="f12" line="132"/>
+  </Function>
+  <Function id="_297" name="log1pf" returns="_2751" throw="" context="_1" location="f12:132" file="f12" line="132" extern="1">
+    <Argument name="__x" type="_2751" location="f12:132" file="f12" line="132"/>
+  </Function>
+  <Function id="_298" name="__expm1f" returns="_2751" throw="" context="_1" location="f12:129" file="f12" line="129" extern="1">
+    <Argument name="__x" type="_2751" location="f12:129" file="f12" line="129"/>
+  </Function>
+  <Function id="_299" name="expm1f" returns="_2751" throw="" context="_1" location="f12:129" file="f12" line="129" extern="1">
+    <Argument name="__x" type="_2751" location="f12:129" file="f12" line="129"/>
+  </Function>
+  <Function id="_300" name="__pow10f" returns="_2751" throw="" context="_1" location="f12:123" file="f12" line="123" extern="1">
+    <Argument name="__x" type="_2751" location="f12:123" file="f12" line="123"/>
+  </Function>
+  <Function id="_301" name="pow10f" returns="_2751" throw="" context="_1" location="f12:123" file="f12" line="123" extern="1">
+    <Argument name="__x" type="_2751" location="f12:123" file="f12" line="123"/>
+  </Function>
+  <Function id="_302" name="__exp10f" returns="_2751" throw="" context="_1" location="f12:121" file="f12" line="121" extern="1">
+    <Argument name="__x" type="_2751" location="f12:121" file="f12" line="121"/>
+  </Function>
+  <Function id="_303" name="exp10f" returns="_2751" throw="" context="_1" location="f12:121" file="f12" line="121" extern="1">
+    <Argument name="__x" type="_2751" location="f12:121" file="f12" line="121"/>
+  </Function>
+  <Function id="_304" name="__modff" returns="_2751" throw="" context="_1" location="f12:116" file="f12" line="116" extern="1">
+    <Argument name="__x" type="_2751" location="f12:116" file="f12" line="116"/>
+    <Argument name="__iptr" type="_2752" location="f12:116" file="f12" line="116"/>
+  </Function>
+  <Function id="_305" name="modff" returns="_2751" throw="" context="_1" location="f12:116" file="f12" line="116" extern="1">
+    <Argument name="__x" type="_2751" location="f12:116" file="f12" line="116"/>
+    <Argument name="__iptr" type="_2752" location="f12:116" file="f12" line="116"/>
+  </Function>
+  <Function id="_306" name="__log10f" returns="_2751" throw="" context="_1" location="f12:113" file="f12" line="113" extern="1">
+    <Argument name="__x" type="_2751" location="f12:113" file="f12" line="113"/>
+  </Function>
+  <Function id="_307" name="log10f" returns="_2751" throw="" context="_1" location="f12:113" file="f12" line="113" extern="1">
+    <Argument name="__x" type="_2751" location="f12:113" file="f12" line="113"/>
+  </Function>
+  <Function id="_308" name="__logf" returns="_2751" throw="" context="_1" location="f12:110" file="f12" line="110" extern="1">
+    <Argument name="__x" type="_2751" location="f12:110" file="f12" line="110"/>
+  </Function>
+  <Function id="_309" name="__ldexpf" returns="_2751" throw="" context="_1" location="f12:107" file="f12" line="107" extern="1">
+    <Argument name="__x" type="_2751" location="f12:107" file="f12" line="107"/>
+    <Argument name="__exponent" type="_503" location="f12:107" file="f12" line="107"/>
+  </Function>
+  <Function id="_310" name="ldexpf" returns="_2751" throw="" context="_1" location="f12:107" file="f12" line="107" extern="1">
+    <Argument name="__x" type="_2751" location="f12:107" file="f12" line="107"/>
+    <Argument name="__exponent" type="_503" location="f12:107" file="f12" line="107"/>
+  </Function>
+  <Function id="_311" name="__frexpf" returns="_2751" throw="" context="_1" location="f12:104" file="f12" line="104" extern="1">
+    <Argument name="__x" type="_2751" location="f12:104" file="f12" line="104"/>
+    <Argument name="__exponent" type="_2748" location="f12:104" file="f12" line="104"/>
+  </Function>
+  <Function id="_312" name="frexpf" returns="_2751" throw="" context="_1" location="f12:104" file="f12" line="104" extern="1">
+    <Argument name="__x" type="_2751" location="f12:104" file="f12" line="104"/>
+    <Argument name="__exponent" type="_2748" location="f12:104" file="f12" line="104"/>
+  </Function>
+  <Function id="_313" name="__expf" returns="_2751" throw="" context="_1" location="f12:101" file="f12" line="101" extern="1">
+    <Argument name="__x" type="_2751" location="f12:101" file="f12" line="101"/>
+  </Function>
+  <Function id="_314" name="__atanhf" returns="_2751" throw="" context="_1" location="f12:93" file="f12" line="93" extern="1">
+    <Argument name="__x" type="_2751" location="f12:93" file="f12" line="93"/>
+  </Function>
+  <Function id="_315" name="atanhf" returns="_2751" throw="" context="_1" location="f12:93" file="f12" line="93" extern="1">
+    <Argument name="__x" type="_2751" location="f12:93" file="f12" line="93"/>
+  </Function>
+  <Function id="_316" name="__asinhf" returns="_2751" throw="" context="_1" location="f12:91" file="f12" line="91" extern="1">
+    <Argument name="__x" type="_2751" location="f12:91" file="f12" line="91"/>
+  </Function>
+  <Function id="_317" name="asinhf" returns="_2751" throw="" context="_1" location="f12:91" file="f12" line="91" extern="1">
+    <Argument name="__x" type="_2751" location="f12:91" file="f12" line="91"/>
+  </Function>
+  <Function id="_318" name="__acoshf" returns="_2751" throw="" context="_1" location="f12:89" file="f12" line="89" extern="1">
+    <Argument name="__x" type="_2751" location="f12:89" file="f12" line="89"/>
+  </Function>
+  <Function id="_319" name="acoshf" returns="_2751" throw="" context="_1" location="f12:89" file="f12" line="89" extern="1">
+    <Argument name="__x" type="_2751" location="f12:89" file="f12" line="89"/>
+  </Function>
+  <Function id="_320" name="__sincosf" returns="_1194" throw="" context="_1" location="f12:82" file="f12" line="82" extern="1">
+    <Argument name="__x" type="_2751" location="f12:82" file="f12" line="82"/>
+    <Argument name="__sinx" type="_2752" location="f12:82" file="f12" line="82"/>
+    <Argument name="__cosx" type="_2752" location="f12:82" file="f12" line="82"/>
+  </Function>
+  <Function id="_321" name="sincosf" returns="_1194" throw="" context="_1" location="f12:82" file="f12" line="82" extern="1">
+    <Argument name="__x" type="_2751" location="f12:82" file="f12" line="82"/>
+    <Argument name="__sinx" type="_2752" location="f12:82" file="f12" line="82"/>
+    <Argument name="__cosx" type="_2752" location="f12:82" file="f12" line="82"/>
+  </Function>
+  <Function id="_322" name="__tanhf" returns="_2751" throw="" context="_1" location="f12:77" file="f12" line="77" extern="1">
+    <Argument name="__x" type="_2751" location="f12:77" file="f12" line="77"/>
+  </Function>
+  <Function id="_323" name="tanhf" returns="_2751" throw="" context="_1" location="f12:77" file="f12" line="77" extern="1">
+    <Argument name="__x" type="_2751" location="f12:77" file="f12" line="77"/>
+  </Function>
+  <Function id="_324" name="__sinhf" returns="_2751" throw="" context="_1" location="f12:75" file="f12" line="75" extern="1">
+    <Argument name="__x" type="_2751" location="f12:75" file="f12" line="75"/>
+  </Function>
+  <Function id="_325" name="sinhf" returns="_2751" throw="" context="_1" location="f12:75" file="f12" line="75" extern="1">
+    <Argument name="__x" type="_2751" location="f12:75" file="f12" line="75"/>
+  </Function>
+  <Function id="_326" name="__coshf" returns="_2751" throw="" context="_1" location="f12:73" file="f12" line="73" extern="1">
+    <Argument name="__x" type="_2751" location="f12:73" file="f12" line="73"/>
+  </Function>
+  <Function id="_327" name="coshf" returns="_2751" throw="" context="_1" location="f12:73" file="f12" line="73" extern="1">
+    <Argument name="__x" type="_2751" location="f12:73" file="f12" line="73"/>
+  </Function>
+  <Function id="_328" name="__tanf" returns="_2751" throw="" context="_1" location="f12:68" file="f12" line="68" extern="1">
+    <Argument name="__x" type="_2751" location="f12:68" file="f12" line="68"/>
+  </Function>
+  <Function id="_329" name="tanf" returns="_2751" throw="" context="_1" location="f12:68" file="f12" line="68" extern="1">
+    <Argument name="__x" type="_2751" location="f12:68" file="f12" line="68"/>
+  </Function>
+  <Function id="_330" name="__sinf" returns="_2751" throw="" context="_1" location="f12:66" file="f12" line="66" extern="1">
+    <Argument name="__x" type="_2751" location="f12:66" file="f12" line="66"/>
+  </Function>
+  <Function id="_331" name="__cosf" returns="_2751" throw="" context="_1" location="f12:64" file="f12" line="64" extern="1">
+    <Argument name="__x" type="_2751" location="f12:64" file="f12" line="64"/>
+  </Function>
+  <Function id="_332" name="__atan2f" returns="_2751" throw="" context="_1" location="f12:61" file="f12" line="61" extern="1">
+    <Argument name="__y" type="_2751" location="f12:61" file="f12" line="61"/>
+    <Argument name="__x" type="_2751" location="f12:61" file="f12" line="61"/>
+  </Function>
+  <Function id="_333" name="atan2f" returns="_2751" throw="" context="_1" location="f12:61" file="f12" line="61" extern="1">
+    <Argument name="__y" type="_2751" location="f12:61" file="f12" line="61"/>
+    <Argument name="__x" type="_2751" location="f12:61" file="f12" line="61"/>
+  </Function>
+  <Function id="_334" name="__atanf" returns="_2751" throw="" context="_1" location="f12:59" file="f12" line="59" extern="1">
+    <Argument name="__x" type="_2751" location="f12:59" file="f12" line="59"/>
+  </Function>
+  <Function id="_335" name="atanf" returns="_2751" throw="" context="_1" location="f12:59" file="f12" line="59" extern="1">
+    <Argument name="__x" type="_2751" location="f12:59" file="f12" line="59"/>
+  </Function>
+  <Function id="_336" name="__asinf" returns="_2751" throw="" context="_1" location="f12:57" file="f12" line="57" extern="1">
+    <Argument name="__x" type="_2751" location="f12:57" file="f12" line="57"/>
+  </Function>
+  <Function id="_337" name="asinf" returns="_2751" throw="" context="_1" location="f12:57" file="f12" line="57" extern="1">
+    <Argument name="__x" type="_2751" location="f12:57" file="f12" line="57"/>
+  </Function>
+  <Function id="_338" name="__acosf" returns="_2751" throw="" context="_1" location="f12:55" file="f12" line="55" extern="1">
+    <Argument name="__x" type="_2751" location="f12:55" file="f12" line="55"/>
+  </Function>
+  <Function id="_339" name="acosf" returns="_2751" throw="" context="_1" location="f12:55" file="f12" line="55" extern="1">
+    <Argument name="__x" type="_2751" location="f12:55" file="f12" line="55"/>
+  </Function>
+  <Function id="_340" name="__scalb" returns="_2753" throw="" context="_1" location="f12:364" file="f12" line="364" extern="1">
+    <Argument name="__x" type="_2753" location="f12:364" file="f12" line="364"/>
+    <Argument name="__n" type="_2753" location="f12:364" file="f12" line="364"/>
+  </Function>
+  <Function id="_341" name="scalb" returns="_2753" throw="" context="_1" location="f12:364" file="f12" line="364" extern="1">
+    <Argument name="__x" type="_2753" location="f12:364" file="f12" line="364"/>
+    <Argument name="__n" type="_2753" location="f12:364" file="f12" line="364"/>
+  </Function>
+  <Function id="_342" name="__fma" returns="_2753" throw="" context="_1" location="f12:355" file="f12" line="355" extern="1">
+    <Argument name="__x" type="_2753" location="f12:355" file="f12" line="355"/>
+    <Argument name="__y" type="_2753" location="f12:355" file="f12" line="355"/>
+    <Argument name="__z" type="_2753" location="f12:355" file="f12" line="355"/>
+  </Function>
+  <Function id="_343" name="fma" returns="_2753" throw="" context="_1" location="f12:355" file="f12" line="355" extern="1">
+    <Argument name="__x" type="_2753" location="f12:355" file="f12" line="355"/>
+    <Argument name="__y" type="_2753" location="f12:355" file="f12" line="355"/>
+    <Argument name="__z" type="_2753" location="f12:355" file="f12" line="355"/>
+  </Function>
+  <Function id="_344" name="__signbit" returns="_503" throw="" context="_1" location="f12:351" file="f12" line="351" extern="1" attributes="const">
+    <Argument name="__value" type="_2753" location="f12:351" file="f12" line="351"/>
+  </Function>
+  <Function id="_345" name="__fpclassify" returns="_503" throw="" context="_1" location="f12:347" file="f12" line="347" extern="1" attributes="const">
+    <Argument name="__value" type="_2753" location="f12:347" file="f12" line="347"/>
+  </Function>
+  <Function id="_346" name="__fmin" returns="_2753" throw="" context="_1" location="f12:342" file="f12" line="342" extern="1">
+    <Argument name="__x" type="_2753" location="f12:342" file="f12" line="342"/>
+    <Argument name="__y" type="_2753" location="f12:342" file="f12" line="342"/>
+  </Function>
+  <Function id="_347" name="fmin" returns="_2753" throw="" context="_1" location="f12:342" file="f12" line="342" extern="1">
+    <Argument name="__x" type="_2753" location="f12:342" file="f12" line="342"/>
+    <Argument name="__y" type="_2753" location="f12:342" file="f12" line="342"/>
+  </Function>
+  <Function id="_348" name="__fmax" returns="_2753" throw="" context="_1" location="f12:339" file="f12" line="339" extern="1">
+    <Argument name="__x" type="_2753" location="f12:339" file="f12" line="339"/>
+    <Argument name="__y" type="_2753" location="f12:339" file="f12" line="339"/>
+  </Function>
+  <Function id="_349" name="fmax" returns="_2753" throw="" context="_1" location="f12:339" file="f12" line="339" extern="1">
+    <Argument name="__x" type="_2753" location="f12:339" file="f12" line="339"/>
+    <Argument name="__y" type="_2753" location="f12:339" file="f12" line="339"/>
+  </Function>
+  <Function id="_350" name="__fdim" returns="_2753" throw="" context="_1" location="f12:336" file="f12" line="336" extern="1">
+    <Argument name="__x" type="_2753" location="f12:336" file="f12" line="336"/>
+    <Argument name="__y" type="_2753" location="f12:336" file="f12" line="336"/>
+  </Function>
+  <Function id="_351" name="fdim" returns="_2753" throw="" context="_1" location="f12:336" file="f12" line="336" extern="1">
+    <Argument name="__x" type="_2753" location="f12:336" file="f12" line="336"/>
+    <Argument name="__y" type="_2753" location="f12:336" file="f12" line="336"/>
+  </Function>
+  <Function id="_352" name="__llround" returns="_1290" throw="" context="_1" location="f12:332" file="f12" line="332" extern="1">
+    <Argument name="__x" type="_2753" location="f12:332" file="f12" line="332"/>
+  </Function>
+  <Function id="_353" name="llround" returns="_1290" throw="" context="_1" location="f12:332" file="f12" line="332" extern="1">
+    <Argument name="__x" type="_2753" location="f12:332" file="f12" line="332"/>
+  </Function>
+  <Function id="_354" name="__lround" returns="_1553" throw="" context="_1" location="f12:331" file="f12" line="331" extern="1">
+    <Argument name="__x" type="_2753" location="f12:331" file="f12" line="331"/>
+  </Function>
+  <Function id="_355" name="lround" returns="_1553" throw="" context="_1" location="f12:331" file="f12" line="331" extern="1">
+    <Argument name="__x" type="_2753" location="f12:331" file="f12" line="331"/>
+  </Function>
+  <Function id="_356" name="__llrint" returns="_1290" throw="" context="_1" location="f12:327" file="f12" line="327" extern="1">
+    <Argument name="__x" type="_2753" location="f12:327" file="f12" line="327"/>
+  </Function>
+  <Function id="_357" name="llrint" returns="_1290" throw="" context="_1" location="f12:327" file="f12" line="327" extern="1">
+    <Argument name="__x" type="_2753" location="f12:327" file="f12" line="327"/>
+  </Function>
+  <Function id="_358" name="__lrint" returns="_1553" throw="" context="_1" location="f12:326" file="f12" line="326" extern="1">
+    <Argument name="__x" type="_2753" location="f12:326" file="f12" line="326"/>
+  </Function>
+  <Function id="_359" name="lrint" returns="_1553" throw="" context="_1" location="f12:326" file="f12" line="326" extern="1">
+    <Argument name="__x" type="_2753" location="f12:326" file="f12" line="326"/>
+  </Function>
+  <Function id="_360" name="__remquo" returns="_2753" throw="" context="_1" location="f12:319" file="f12" line="319" extern="1">
+    <Argument name="__x" type="_2753" location="f12:319" file="f12" line="319"/>
+    <Argument name="__y" type="_2753" location="f12:319" file="f12" line="319"/>
+    <Argument name="__quo" type="_2748" location="f12:319" file="f12" line="319"/>
+  </Function>
+  <Function id="_361" name="remquo" returns="_2753" throw="" context="_1" location="f12:319" file="f12" line="319" extern="1">
+    <Argument name="__x" type="_2753" location="f12:319" file="f12" line="319"/>
+    <Argument name="__y" type="_2753" location="f12:319" file="f12" line="319"/>
+    <Argument name="__quo" type="_2748" location="f12:319" file="f12" line="319"/>
+  </Function>
+  <Function id="_362" name="__trunc" returns="_2753" throw="" context="_1" location="f12:314" file="f12" line="314" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:314" file="f12" line="314"/>
+  </Function>
+  <Function id="_363" name="trunc" returns="_2753" throw="" context="_1" location="f12:314" file="f12" line="314" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:314" file="f12" line="314"/>
+  </Function>
+  <Function id="_364" name="__round" returns="_2753" throw="" context="_1" location="f12:310" file="f12" line="310" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:310" file="f12" line="310"/>
+  </Function>
+  <Function id="_365" name="round" returns="_2753" throw="" context="_1" location="f12:310" file="f12" line="310" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:310" file="f12" line="310"/>
+  </Function>
+  <Function id="_366" name="__nearbyint" returns="_2753" throw="" context="_1" location="f12:306" file="f12" line="306" extern="1">
+    <Argument name="__x" type="_2753" location="f12:306" file="f12" line="306"/>
+  </Function>
+  <Function id="_367" name="nearbyint" returns="_2753" throw="" context="_1" location="f12:306" file="f12" line="306" extern="1">
+    <Argument name="__x" type="_2753" location="f12:306" file="f12" line="306"/>
+  </Function>
+  <Function id="_368" name="__scalbln" returns="_2753" throw="" context="_1" location="f12:302" file="f12" line="302" extern="1">
+    <Argument name="__x" type="_2753" location="f12:302" file="f12" line="302"/>
+    <Argument name="__n" type="_1553" location="f12:302" file="f12" line="302"/>
+  </Function>
+  <Function id="_369" name="scalbln" returns="_2753" throw="" context="_1" location="f12:302" file="f12" line="302" extern="1">
+    <Argument name="__x" type="_2753" location="f12:302" file="f12" line="302"/>
+    <Argument name="__n" type="_1553" location="f12:302" file="f12" line="302"/>
+  </Function>
+  <Function id="_370" name="__ilogb" returns="_503" throw="" context="_1" location="f12:297" file="f12" line="297" extern="1">
+    <Argument name="__x" type="_2753" location="f12:297" file="f12" line="297"/>
+  </Function>
+  <Function id="_371" name="ilogb" returns="_503" throw="" context="_1" location="f12:297" file="f12" line="297" extern="1">
+    <Argument name="__x" type="_2753" location="f12:297" file="f12" line="297"/>
+  </Function>
+  <Function id="_372" name="__scalbn" returns="_2753" throw="" context="_1" location="f12:293" file="f12" line="293" extern="1">
+    <Argument name="__x" type="_2753" location="f12:293" file="f12" line="293"/>
+    <Argument name="__n" type="_503" location="f12:293" file="f12" line="293"/>
+  </Function>
+  <Function id="_373" name="scalbn" returns="_2753" throw="" context="_1" location="f12:293" file="f12" line="293" extern="1">
+    <Argument name="__x" type="_2753" location="f12:293" file="f12" line="293"/>
+    <Argument name="__n" type="_503" location="f12:293" file="f12" line="293"/>
+  </Function>
+  <Function id="_374" name="__remainder" returns="_2753" throw="" context="_1" location="f12:289" file="f12" line="289" extern="1">
+    <Argument name="__x" type="_2753" location="f12:289" file="f12" line="289"/>
+    <Argument name="__y" type="_2753" location="f12:289" file="f12" line="289"/>
+  </Function>
+  <Function id="_375" name="remainder" returns="_2753" throw="" context="_1" location="f12:289" file="f12" line="289" extern="1">
+    <Argument name="__x" type="_2753" location="f12:289" file="f12" line="289"/>
+    <Argument name="__y" type="_2753" location="f12:289" file="f12" line="289"/>
+  </Function>
+  <Function id="_376" name="__nexttoward" returns="_2753" throw="" context="_1" location="f12:285" file="f12" line="285" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:285" file="f12" line="285"/>
+    <Argument name="__y" type="_483" location="f12:285" file="f12" line="285"/>
+  </Function>
+  <Function id="_377" name="nexttoward" returns="_2753" throw="" context="_1" location="f12:285" file="f12" line="285" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:285" file="f12" line="285"/>
+    <Argument name="__y" type="_483" location="f12:285" file="f12" line="285"/>
+  </Function>
+  <Function id="_378" name="__nextafter" returns="_2753" throw="" context="_1" location="f12:283" file="f12" line="283" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:283" file="f12" line="283"/>
+    <Argument name="__y" type="_2753" location="f12:283" file="f12" line="283"/>
+  </Function>
+  <Function id="_379" name="nextafter" returns="_2753" throw="" context="_1" location="f12:283" file="f12" line="283" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:283" file="f12" line="283"/>
+    <Argument name="__y" type="_2753" location="f12:283" file="f12" line="283"/>
+  </Function>
+  <Function id="_380" name="__rint" returns="_2753" throw="" context="_1" location="f12:280" file="f12" line="280" extern="1">
+    <Argument name="__x" type="_2753" location="f12:280" file="f12" line="280"/>
+  </Function>
+  <Function id="_381" name="rint" returns="_2753" throw="" context="_1" location="f12:280" file="f12" line="280" extern="1">
+    <Argument name="__x" type="_2753" location="f12:280" file="f12" line="280"/>
+  </Function>
+  <Function id="_382" name="__lgamma_r" returns="_2753" throw="" context="_1" location="f12:272" file="f12" line="272" extern="1">
+    <Argument type="_2753" location="f12:272" file="f12" line="272"/>
+    <Argument name="__signgamp" type="_2748" location="f12:272" file="f12" line="272"/>
+  </Function>
+  <Function id="_383" name="lgamma_r" returns="_2753" throw="" context="_1" location="f12:272" file="f12" line="272" extern="1">
+    <Argument type="_2753" location="f12:272" file="f12" line="272"/>
+    <Argument name="__signgamp" type="_2748" location="f12:272" file="f12" line="272"/>
+  </Function>
+  <Function id="_384" name="__gamma" returns="_2753" throw="" context="_1" location="f12:265" file="f12" line="265" extern="1">
+    <Argument type="_2753" location="f12:265" file="f12" line="265"/>
+  </Function>
+  <Function id="_385" name="gamma" returns="_2753" throw="" context="_1" location="f12:265" file="f12" line="265" extern="1">
+    <Argument type="_2753" location="f12:265" file="f12" line="265"/>
+  </Function>
+  <Function id="_386" name="__tgamma" returns="_2753" throw="" context="_1" location="f12:259" file="f12" line="259" extern="1">
+    <Argument type="_2753" location="f12:259" file="f12" line="259"/>
+  </Function>
+  <Function id="_387" name="tgamma" returns="_2753" throw="" context="_1" location="f12:259" file="f12" line="259" extern="1">
+    <Argument type="_2753" location="f12:259" file="f12" line="259"/>
+  </Function>
+  <Function id="_388" name="__lgamma" returns="_2753" throw="" context="_1" location="f12:252" file="f12" line="252" extern="1">
+    <Argument type="_2753" location="f12:252" file="f12" line="252"/>
+  </Function>
+  <Function id="_389" name="lgamma" returns="_2753" throw="" context="_1" location="f12:252" file="f12" line="252" extern="1">
+    <Argument type="_2753" location="f12:252" file="f12" line="252"/>
+  </Function>
+  <Function id="_390" name="__erfc" returns="_2753" throw="" context="_1" location="f12:251" file="f12" line="251" extern="1">
+    <Argument type="_2753" location="f12:251" file="f12" line="251"/>
+  </Function>
+  <Function id="_391" name="erfc" returns="_2753" throw="" context="_1" location="f12:251" file="f12" line="251" extern="1">
+    <Argument type="_2753" location="f12:251" file="f12" line="251"/>
+  </Function>
+  <Function id="_392" name="__erf" returns="_2753" throw="" context="_1" location="f12:250" file="f12" line="250" extern="1">
+    <Argument type="_2753" location="f12:250" file="f12" line="250"/>
+  </Function>
+  <Function id="_393" name="erf" returns="_2753" throw="" context="_1" location="f12:250" file="f12" line="250" extern="1">
+    <Argument type="_2753" location="f12:250" file="f12" line="250"/>
+  </Function>
+  <Function id="_394" name="__yn" returns="_2753" throw="" context="_1" location="f12:243" file="f12" line="243" extern="1">
+    <Argument type="_503" location="f12:243" file="f12" line="243"/>
+    <Argument type="_2753" location="f12:243" file="f12" line="243"/>
+  </Function>
+  <Function id="_395" name="yn" returns="_2753" throw="" context="_1" location="f12:243" file="f12" line="243" extern="1">
+    <Argument type="_503" location="f12:243" file="f12" line="243"/>
+    <Argument type="_2753" location="f12:243" file="f12" line="243"/>
+  </Function>
+  <Function id="_396" name="__y1" returns="_2753" throw="" context="_1" location="f12:242" file="f12" line="242" extern="1">
+    <Argument type="_2753" location="f12:242" file="f12" line="242"/>
+  </Function>
+  <Function id="_397" name="y1" returns="_2753" throw="" context="_1" location="f12:242" file="f12" line="242" extern="1">
+    <Argument type="_2753" location="f12:242" file="f12" line="242"/>
+  </Function>
+  <Function id="_398" name="__y0" returns="_2753" throw="" context="_1" location="f12:241" file="f12" line="241" extern="1">
+    <Argument type="_2753" location="f12:241" file="f12" line="241"/>
+  </Function>
+  <Function id="_399" name="y0" returns="_2753" throw="" context="_1" location="f12:241" file="f12" line="241" extern="1">
+    <Argument type="_2753" location="f12:241" file="f12" line="241"/>
+  </Function>
+  <Function id="_400" name="__jn" returns="_2753" throw="" context="_1" location="f12:240" file="f12" line="240" extern="1">
+    <Argument type="_503" location="f12:240" file="f12" line="240"/>
+    <Argument type="_2753" location="f12:240" file="f12" line="240"/>
+  </Function>
+  <Function id="_401" name="jn" returns="_2753" throw="" context="_1" location="f12:240" file="f12" line="240" extern="1">
+    <Argument type="_503" location="f12:240" file="f12" line="240"/>
+    <Argument type="_2753" location="f12:240" file="f12" line="240"/>
+  </Function>
+  <Function id="_402" name="__j1" returns="_2753" throw="" context="_1" location="f12:239" file="f12" line="239" extern="1">
+    <Argument type="_2753" location="f12:239" file="f12" line="239"/>
+  </Function>
+  <Function id="_403" name="j1" returns="_2753" throw="" context="_1" location="f12:239" file="f12" line="239" extern="1">
+    <Argument type="_2753" location="f12:239" file="f12" line="239"/>
+  </Function>
+  <Function id="_404" name="__j0" returns="_2753" throw="" context="_1" location="f12:238" file="f12" line="238" extern="1">
+    <Argument type="_2753" location="f12:238" file="f12" line="238"/>
+  </Function>
+  <Function id="_405" name="j0" returns="_2753" throw="" context="_1" location="f12:238" file="f12" line="238" extern="1">
+    <Argument type="_2753" location="f12:238" file="f12" line="238"/>
+  </Function>
+  <Function id="_406" name="isnan" returns="_503" throw="" context="_1" location="f12:235" file="f12" line="235" extern="1" attributes="const">
+    <Argument name="__value" type="_2753" location="f12:235" file="f12" line="235"/>
+  </Function>
+  <Function id="_407" name="__isnan" returns="_503" throw="" context="_1" location="f12:231" file="f12" line="231" extern="1" attributes="const">
+    <Argument name="__value" type="_2753" location="f12:231" file="f12" line="231"/>
+  </Function>
+  <Function id="_408" name="__nan" returns="_2753" throw="" context="_1" location="f12:225" file="f12" line="225" extern="1" attributes="const">
+    <Argument name="__tagb" type="_2749" location="f12:225" file="f12" line="225"/>
+  </Function>
+  <Function id="_409" name="__copysign" returns="_2753" throw="" context="_1" location="f12:218" file="f12" line="218" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:218" file="f12" line="218"/>
+    <Argument name="__y" type="_2753" location="f12:218" file="f12" line="218"/>
+  </Function>
+  <Function id="_410" name="copysign" returns="_2753" throw="" context="_1" location="f12:218" file="f12" line="218" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:218" file="f12" line="218"/>
+    <Argument name="__y" type="_2753" location="f12:218" file="f12" line="218"/>
+  </Function>
+  <Function id="_411" name="__significand" returns="_2753" throw="" context="_1" location="f12:212" file="f12" line="212" extern="1">
+    <Argument name="__x" type="_2753" location="f12:212" file="f12" line="212"/>
+  </Function>
+  <Function id="_412" name="significand" returns="_2753" throw="" context="_1" location="f12:212" file="f12" line="212" extern="1">
+    <Argument name="__x" type="_2753" location="f12:212" file="f12" line="212"/>
+  </Function>
+  <Function id="_413" name="__drem" returns="_2753" throw="" context="_1" location="f12:208" file="f12" line="208" extern="1">
+    <Argument name="__x" type="_2753" location="f12:208" file="f12" line="208"/>
+    <Argument name="__y" type="_2753" location="f12:208" file="f12" line="208"/>
+  </Function>
+  <Function id="_414" name="drem" returns="_2753" throw="" context="_1" location="f12:208" file="f12" line="208" extern="1">
+    <Argument name="__x" type="_2753" location="f12:208" file="f12" line="208"/>
+    <Argument name="__y" type="_2753" location="f12:208" file="f12" line="208"/>
+  </Function>
+  <Function id="_415" name="finite" returns="_503" throw="" context="_1" location="f12:205" file="f12" line="205" extern="1" attributes="const">
+    <Argument name="__value" type="_2753" location="f12:205" file="f12" line="205"/>
+  </Function>
+  <Function id="_416" name="isinf" returns="_503" throw="" context="_1" location="f12:202" file="f12" line="202" extern="1" attributes="const">
+    <Argument name="__value" type="_2753" location="f12:202" file="f12" line="202"/>
+  </Function>
+  <Function id="_417" name="__finite" returns="_503" throw="" context="_1" location="f12:196" file="f12" line="196" extern="1" attributes="const">
+    <Argument name="__value" type="_2753" location="f12:196" file="f12" line="196"/>
+  </Function>
+  <Function id="_418" name="__isinf" returns="_503" throw="" context="_1" location="f12:193" file="f12" line="193" extern="1" attributes="const">
+    <Argument name="__value" type="_2753" location="f12:193" file="f12" line="193"/>
+  </Function>
+  <Function id="_419" name="__fmod" returns="_2753" throw="" context="_1" location="f12:188" file="f12" line="188" extern="1">
+    <Argument name="__x" type="_2753" location="f12:188" file="f12" line="188"/>
+    <Argument name="__y" type="_2753" location="f12:188" file="f12" line="188"/>
+  </Function>
+  <Function id="_420" name="fmod" returns="_2753" throw="" context="_1" location="f12:188" file="f12" line="188" extern="1">
+    <Argument name="__x" type="_2753" location="f12:188" file="f12" line="188"/>
+    <Argument name="__y" type="_2753" location="f12:188" file="f12" line="188"/>
+  </Function>
+  <Function id="_421" name="__floor" returns="_2753" throw="" context="_1" location="f12:185" file="f12" line="185" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:185" file="f12" line="185"/>
+  </Function>
+  <Function id="_422" name="floor" returns="_2753" throw="" context="_1" location="f12:185" file="f12" line="185" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:185" file="f12" line="185"/>
+  </Function>
+  <Function id="_423" name="__fabs" returns="_2753" throw="" context="_1" location="f12:182" file="f12" line="182" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:182" file="f12" line="182"/>
+  </Function>
+  <Function id="_424" name="__ceil" returns="_2753" throw="" context="_1" location="f12:179" file="f12" line="179" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:179" file="f12" line="179"/>
+  </Function>
+  <Function id="_425" name="ceil" returns="_2753" throw="" context="_1" location="f12:179" file="f12" line="179" extern="1" attributes="const">
+    <Argument name="__x" type="_2753" location="f12:179" file="f12" line="179"/>
+  </Function>
+  <Function id="_426" name="__cbrt" returns="_2753" throw="" context="_1" location="f12:170" file="f12" line="170" extern="1">
+    <Argument name="__x" type="_2753" location="f12:170" file="f12" line="170"/>
+  </Function>
+  <Function id="_427" name="cbrt" returns="_2753" throw="" context="_1" location="f12:170" file="f12" line="170" extern="1">
+    <Argument name="__x" type="_2753" location="f12:170" file="f12" line="170"/>
+  </Function>
+  <Function id="_428" name="__hypot" returns="_2753" throw="" context="_1" location="f12:163" file="f12" line="163" extern="1">
+    <Argument name="__x" type="_2753" location="f12:163" file="f12" line="163"/>
+    <Argument name="__y" type="_2753" location="f12:163" file="f12" line="163"/>
+  </Function>
+  <Function id="_429" name="hypot" returns="_2753" throw="" context="_1" location="f12:163" file="f12" line="163" extern="1">
+    <Argument name="__x" type="_2753" location="f12:163" file="f12" line="163"/>
+    <Argument name="__y" type="_2753" location="f12:163" file="f12" line="163"/>
+  </Function>
+  <Function id="_430" name="__sqrt" returns="_2753" throw="" context="_1" location="f12:157" file="f12" line="157" extern="1">
+    <Argument name="__x" type="_2753" location="f12:157" file="f12" line="157"/>
+  </Function>
+  <Function id="_431" name="__pow" returns="_2753" throw="" context="_1" location="f12:154" file="f12" line="154" extern="1">
+    <Argument name="__x" type="_2753" location="f12:154" file="f12" line="154"/>
+    <Argument name="__y" type="_2753" location="f12:154" file="f12" line="154"/>
+  </Function>
+  <Function id="_432" name="pow" returns="_2753" throw="" context="_1" location="f12:154" file="f12" line="154" extern="1">
+    <Argument name="__x" type="_2753" location="f12:154" file="f12" line="154"/>
+    <Argument name="__y" type="_2753" location="f12:154" file="f12" line="154"/>
+  </Function>
+  <Function id="_433" name="__log2" returns="_2753" throw="" context="_1" location="f12:145" file="f12" line="145" extern="1">
+    <Argument name="__x" type="_2753" location="f12:145" file="f12" line="145"/>
+  </Function>
+  <Function id="_434" name="log2" returns="_2753" throw="" context="_1" location="f12:145" file="f12" line="145" extern="1">
+    <Argument name="__x" type="_2753" location="f12:145" file="f12" line="145"/>
+  </Function>
+  <Function id="_435" name="__exp2" returns="_2753" throw="" context="_1" location="f12:142" file="f12" line="142" extern="1">
+    <Argument name="__x" type="_2753" location="f12:142" file="f12" line="142"/>
+  </Function>
+  <Function id="_436" name="exp2" returns="_2753" throw="" context="_1" location="f12:142" file="f12" line="142" extern="1">
+    <Argument name="__x" type="_2753" location="f12:142" file="f12" line="142"/>
+  </Function>
+  <Function id="_437" name="__logb" returns="_2753" throw="" context="_1" location="f12:135" file="f12" line="135" extern="1">
+    <Argument name="__x" type="_2753" location="f12:135" file="f12" line="135"/>
+  </Function>
+  <Function id="_438" name="logb" returns="_2753" throw="" context="_1" location="f12:135" file="f12" line="135" extern="1">
+    <Argument name="__x" type="_2753" location="f12:135" file="f12" line="135"/>
+  </Function>
+  <Function id="_439" name="__log1p" returns="_2753" throw="" context="_1" location="f12:132" file="f12" line="132" extern="1">
+    <Argument name="__x" type="_2753" location="f12:132" file="f12" line="132"/>
+  </Function>
+  <Function id="_440" name="log1p" returns="_2753" throw="" context="_1" location="f12:132" file="f12" line="132" extern="1">
+    <Argument name="__x" type="_2753" location="f12:132" file="f12" line="132"/>
+  </Function>
+  <Function id="_441" name="__expm1" returns="_2753" throw="" context="_1" location="f12:129" file="f12" line="129" extern="1">
+    <Argument name="__x" type="_2753" location="f12:129" file="f12" line="129"/>
+  </Function>
+  <Function id="_442" name="expm1" returns="_2753" throw="" context="_1" location="f12:129" file="f12" line="129" extern="1">
+    <Argument name="__x" type="_2753" location="f12:129" file="f12" line="129"/>
+  </Function>
+  <Function id="_443" name="__pow10" returns="_2753" throw="" context="_1" location="f12:123" file="f12" line="123" extern="1">
+    <Argument name="__x" type="_2753" location="f12:123" file="f12" line="123"/>
+  </Function>
+  <Function id="_444" name="pow10" returns="_2753" throw="" context="_1" location="f12:123" file="f12" line="123" extern="1">
+    <Argument name="__x" type="_2753" location="f12:123" file="f12" line="123"/>
+  </Function>
+  <Function id="_445" name="__exp10" returns="_2753" throw="" context="_1" location="f12:121" file="f12" line="121" extern="1">
+    <Argument name="__x" type="_2753" location="f12:121" file="f12" line="121"/>
+  </Function>
+  <Function id="_446" name="exp10" returns="_2753" throw="" context="_1" location="f12:121" file="f12" line="121" extern="1">
+    <Argument name="__x" type="_2753" location="f12:121" file="f12" line="121"/>
+  </Function>
+  <Function id="_447" name="__modf" returns="_2753" throw="" context="_1" location="f12:116" file="f12" line="116" extern="1">
+    <Argument name="__x" type="_2753" location="f12:116" file="f12" line="116"/>
+    <Argument name="__iptr" type="_2754" location="f12:116" file="f12" line="116"/>
+  </Function>
+  <Function id="_448" name="modf" returns="_2753" throw="" context="_1" location="f12:116" file="f12" line="116" extern="1">
+    <Argument name="__x" type="_2753" location="f12:116" file="f12" line="116"/>
+    <Argument name="__iptr" type="_2754" location="f12:116" file="f12" line="116"/>
+  </Function>
+  <Function id="_449" name="__log10" returns="_2753" throw="" context="_1" location="f12:113" file="f12" line="113" extern="1">
+    <Argument name="__x" type="_2753" location="f12:113" file="f12" line="113"/>
+  </Function>
+  <Function id="_450" name="log10" returns="_2753" throw="" context="_1" location="f12:113" file="f12" line="113" extern="1">
+    <Argument name="__x" type="_2753" location="f12:113" file="f12" line="113"/>
+  </Function>
+  <Function id="_451" name="__log" returns="_2753" throw="" context="_1" location="f12:110" file="f12" line="110" extern="1">
+    <Argument name="__x" type="_2753" location="f12:110" file="f12" line="110"/>
+  </Function>
+  <Function id="_452" name="__ldexp" returns="_2753" throw="" context="_1" location="f12:107" file="f12" line="107" extern="1">
+    <Argument name="__x" type="_2753" location="f12:107" file="f12" line="107"/>
+    <Argument name="__exponent" type="_503" location="f12:107" file="f12" line="107"/>
+  </Function>
+  <Function id="_453" name="ldexp" returns="_2753" throw="" context="_1" location="f12:107" file="f12" line="107" extern="1">
+    <Argument name="__x" type="_2753" location="f12:107" file="f12" line="107"/>
+    <Argument name="__exponent" type="_503" location="f12:107" file="f12" line="107"/>
+  </Function>
+  <Function id="_454" name="__frexp" returns="_2753" throw="" context="_1" location="f12:104" file="f12" line="104" extern="1">
+    <Argument name="__x" type="_2753" location="f12:104" file="f12" line="104"/>
+    <Argument name="__exponent" type="_2748" location="f12:104" file="f12" line="104"/>
+  </Function>
+  <Function id="_455" name="frexp" returns="_2753" throw="" context="_1" location="f12:104" file="f12" line="104" extern="1">
+    <Argument name="__x" type="_2753" location="f12:104" file="f12" line="104"/>
+    <Argument name="__exponent" type="_2748" location="f12:104" file="f12" line="104"/>
+  </Function>
+  <Function id="_456" name="__exp" returns="_2753" throw="" context="_1" location="f12:101" file="f12" line="101" extern="1">
+    <Argument name="__x" type="_2753" location="f12:101" file="f12" line="101"/>
+  </Function>
+  <Function id="_457" name="__atanh" returns="_2753" throw="" context="_1" location="f12:93" file="f12" line="93" extern="1">
+    <Argument name="__x" type="_2753" location="f12:93" file="f12" line="93"/>
+  </Function>
+  <Function id="_458" name="atanh" returns="_2753" throw="" context="_1" location="f12:93" file="f12" line="93" extern="1">
+    <Argument name="__x" type="_2753" location="f12:93" file="f12" line="93"/>
+  </Function>
+  <Function id="_459" name="__asinh" returns="_2753" throw="" context="_1" location="f12:91" file="f12" line="91" extern="1">
+    <Argument name="__x" type="_2753" location="f12:91" file="f12" line="91"/>
+  </Function>
+  <Function id="_460" name="asinh" returns="_2753" throw="" context="_1" location="f12:91" file="f12" line="91" extern="1">
+    <Argument name="__x" type="_2753" location="f12:91" file="f12" line="91"/>
+  </Function>
+  <Function id="_461" name="__acosh" returns="_2753" throw="" context="_1" location="f12:89" file="f12" line="89" extern="1">
+    <Argument name="__x" type="_2753" location="f12:89" file="f12" line="89"/>
+  </Function>
+  <Function id="_462" name="acosh" returns="_2753" throw="" context="_1" location="f12:89" file="f12" line="89" extern="1">
+    <Argument name="__x" type="_2753" location="f12:89" file="f12" line="89"/>
+  </Function>
+  <Function id="_463" name="__sincos" returns="_1194" throw="" context="_1" location="f12:82" file="f12" line="82" extern="1">
+    <Argument name="__x" type="_2753" location="f12:82" file="f12" line="82"/>
+    <Argument name="__sinx" type="_2754" location="f12:82" file="f12" line="82"/>
+    <Argument name="__cosx" type="_2754" location="f12:82" file="f12" line="82"/>
+  </Function>
+  <Function id="_464" name="sincos" returns="_1194" throw="" context="_1" location="f12:82" file="f12" line="82" extern="1">
+    <Argument name="__x" type="_2753" location="f12:82" file="f12" line="82"/>
+    <Argument name="__sinx" type="_2754" location="f12:82" file="f12" line="82"/>
+    <Argument name="__cosx" type="_2754" location="f12:82" file="f12" line="82"/>
+  </Function>
+  <Function id="_465" name="__tanh" returns="_2753" throw="" context="_1" location="f12:77" file="f12" line="77" extern="1">
+    <Argument name="__x" type="_2753" location="f12:77" file="f12" line="77"/>
+  </Function>
+  <Function id="_466" name="tanh" returns="_2753" throw="" context="_1" location="f12:77" file="f12" line="77" extern="1">
+    <Argument name="__x" type="_2753" location="f12:77" file="f12" line="77"/>
+  </Function>
+  <Function id="_467" name="__sinh" returns="_2753" throw="" context="_1" location="f12:75" file="f12" line="75" extern="1">
+    <Argument name="__x" type="_2753" location="f12:75" file="f12" line="75"/>
+  </Function>
+  <Function id="_468" name="sinh" returns="_2753" throw="" context="_1" location="f12:75" file="f12" line="75" extern="1">
+    <Argument name="__x" type="_2753" location="f12:75" file="f12" line="75"/>
+  </Function>
+  <Function id="_469" name="__cosh" returns="_2753" throw="" context="_1" location="f12:73" file="f12" line="73" extern="1">
+    <Argument name="__x" type="_2753" location="f12:73" file="f12" line="73"/>
+  </Function>
+  <Function id="_470" name="cosh" returns="_2753" throw="" context="_1" location="f12:73" file="f12" line="73" extern="1">
+    <Argument name="__x" type="_2753" location="f12:73" file="f12" line="73"/>
+  </Function>
+  <Function id="_471" name="__tan" returns="_2753" throw="" context="_1" location="f12:68" file="f12" line="68" extern="1">
+    <Argument name="__x" type="_2753" location="f12:68" file="f12" line="68"/>
+  </Function>
+  <Function id="_472" name="tan" returns="_2753" throw="" context="_1" location="f12:68" file="f12" line="68" extern="1">
+    <Argument name="__x" type="_2753" location="f12:68" file="f12" line="68"/>
+  </Function>
+  <Function id="_473" name="__sin" returns="_2753" throw="" context="_1" location="f12:66" file="f12" line="66" extern="1">
+    <Argument name="__x" type="_2753" location="f12:66" file="f12" line="66"/>
+  </Function>
+  <Function id="_474" name="__cos" returns="_2753" throw="" context="_1" location="f12:64" file="f12" line="64" extern="1">
+    <Argument name="__x" type="_2753" location="f12:64" file="f12" line="64"/>
+  </Function>
+  <Function id="_475" name="__atan2" returns="_2753" throw="" context="_1" location="f12:61" file="f12" line="61" extern="1">
+    <Argument name="__y" type="_2753" location="f12:61" file="f12" line="61"/>
+    <Argument name="__x" type="_2753" location="f12:61" file="f12" line="61"/>
+  </Function>
+  <Function id="_476" name="atan2" returns="_2753" throw="" context="_1" location="f12:61" file="f12" line="61" extern="1">
+    <Argument name="__y" type="_2753" location="f12:61" file="f12" line="61"/>
+    <Argument name="__x" type="_2753" location="f12:61" file="f12" line="61"/>
+  </Function>
+  <Function id="_477" name="__atan" returns="_2753" throw="" context="_1" location="f12:59" file="f12" line="59" extern="1">
+    <Argument name="__x" type="_2753" location="f12:59" file="f12" line="59"/>
+  </Function>
+  <Function id="_478" name="atan" returns="_2753" throw="" context="_1" location="f12:59" file="f12" line="59" extern="1">
+    <Argument name="__x" type="_2753" location="f12:59" file="f12" line="59"/>
+  </Function>
+  <Function id="_479" name="__asin" returns="_2753" throw="" context="_1" location="f12:57" file="f12" line="57" extern="1">
+    <Argument name="__x" type="_2753" location="f12:57" file="f12" line="57"/>
+  </Function>
+  <Function id="_480" name="asin" returns="_2753" throw="" context="_1" location="f12:57" file="f12" line="57" extern="1">
+    <Argument name="__x" type="_2753" location="f12:57" file="f12" line="57"/>
+  </Function>
+  <Function id="_481" name="__acos" returns="_2753" throw="" context="_1" location="f12:55" file="f12" line="55" extern="1">
+    <Argument name="__x" type="_2753" location="f12:55" file="f12" line="55"/>
+  </Function>
+  <Function id="_482" name="acos" returns="_2753" throw="" context="_1" location="f12:55" file="f12" line="55" extern="1">
+    <Argument name="__x" type="_2753" location="f12:55" file="f12" line="55"/>
+  </Function>
+  <FundamentalType id="_483" name="long double" size="96" align="32"/>
+  <Typedef id="_484" name="double_t" type="_483" context="_1" location="f13:38" file="f13" line="38"/>
+  <Typedef id="_485" name="float_t" type="_483" context="_1" location="f13:36" file="f13" line="36"/>
+  <Function id="_486" name="__tcf_0" returns="_1194" context="_1" location="f14:44" file="f14" line="44" endline="44"/>
+  <Variable id="_487" name="_ZGVZN5boost9date_time16convert_to_lowerERKSsE3loc" type="_1290" context="_1" location="f14:44" file="f14" line="44" artificial="1"/>
+  <Variable id="_488" name="_ZTIN5boost18escaped_list_errorE" type="_2738c" context="_1" location="f15:76" file="f15" line="76" extern="1" artificial="1"/>
+  <Variable id="_489" name="_ZTIN5boost9date_time12partial_dateINS_9gregorian4dateEEE" type="_2738c" context="_1" location="f16:55" file="f16" line="55" extern="1" artificial="1"/>
+  <Variable id="_490" name="_ZTIN5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEEE" type="_2738c" context="_1" location="f16:176" file="f16" line="176" extern="1" artificial="1"/>
+  <Variable id="_491" name="_ZTIN5boost9date_time19first_kday_of_monthINS_9gregorian4dateEEE" type="_2738c" context="_1" location="f16:254" file="f16" line="254" extern="1" artificial="1"/>
+  <Variable id="_492" name="_ZTIN5boost9date_time18last_kday_of_monthINS_9gregorian4dateEEE" type="_2738c" context="_1" location="f16:315" file="f16" line="315" extern="1" artificial="1"/>
+  <Variable id="_493" name="_ZTIN5boost9date_time20year_based_generatorINS_9gregorian4dateEEE" type="_2736c" context="_1" location="f16:31" file="f16" line="31" extern="1" artificial="1"/>
+  <Variable id="_494" name="_ZTIN5boost17bad_function_callE" type="_2738c" context="_1" location="f17:570" file="f17" line="570" extern="1" artificial="1"/>
+  <Variable id="_495" name="_ZTIv" type="_2734c" context="_1" location="f2:51" file="f2" line="51" extern="1" artificial="1"/>
+  <Variable id="_496" name="_ZTIN5boost16bad_lexical_castE" type="_2738c" init="{__type_info_pseudo(), &_ZTISt8bad_cast}" context="_1" location="f2:48" file="f2" line="48" artificial="1"/>
+  <Function id="_497" name="futimesat" returns="_503" throw="" context="_1" location="f18:157" file="f18" line="157" extern="1">
+    <Argument name="__fd" type="_503" location="f18:157" file="f18" line="157"/>
+    <Argument name="__file" type="_2749" location="f18:157" file="f18" line="157"/>
+    <Argument name="__tvp" type="_2755" location="f18:157" file="f18" line="157"/>
+  </Function>
+  <Function id="_498" name="futimes" returns="_503" throw="" context="_1" location="f18:149" file="f18" line="149" extern="1">
+    <Argument name="__fd" type="_503" location="f18:149" file="f18" line="149"/>
+    <Argument name="__tvp" type="_2755" location="f18:149" file="f18" line="149"/>
+  </Function>
+  <Function id="_499" name="lutimes" returns="_503" throw="" context="_1" location="f18:146" file="f18" line="146" extern="1" attributes="__nonnull__()">
+    <Argument name="__file" type="_2749" location="f18:146" file="f18" line="146"/>
+    <Argument name="__tvp" type="_2755" location="f18:146" file="f18" line="146"/>
+  </Function>
+  <Function id="_500" name="utimes" returns="_503" throw="" context="_1" location="f18:141" file="f18" line="141" extern="1" attributes="__nonnull__()">
+    <Argument name="__file" type="_2749" location="f18:141" file="f18" line="141"/>
+    <Argument name="__tvp" type="_2755" location="f18:141" file="f18" line="141"/>
+  </Function>
+  <Function id="_501" name="setitimer" returns="_503" throw="" context="_1" location="f18:135" file="f18" line="135" extern="1">
+    <Argument name="__which" type="_504" location="f18:135" file="f18" line="135"/>
+    <Argument name="__new" type="_2756r" location="f18:135" file="f18" line="135"/>
+    <Argument name="__old" type="_2758r" location="f18:135" file="f18" line="135"/>
+  </Function>
+  <Function id="_502" name="getitimer" returns="_503" throw="" context="_1" location="f18:128" file="f18" line="128" extern="1">
+    <Argument name="__which" type="_504" location="f18:128" file="f18" line="128"/>
+    <Argument name="__value" type="_2758" location="f18:128" file="f18" line="128"/>
+  </Function>
+  <FundamentalType id="_503" name="int" size="32" align="32"/>
+  <Typedef id="_504" name="__itimer_which_t" type="_503" context="_1" location="f18:122" file="f18" line="122"/>
+  <Struct id="_505" name="itimerval" context="_1" mangled="9itimerval" demangled="itimerval" location="f18:110" file="f18" line="110" artificial="1" size="128" align="32" members="_2760 _2761 _2762 _2763 " bases=""/>
+  <Enumeration id="_506" name="__itimer_which" context="_1" location="f18:94" file="f18" line="94" artificial="1" size="32" align="32">
+    <EnumValue name="ITIMER_REAL" init="0"/>
+    <EnumValue name="ITIMER_VIRTUAL" init="1"/>
+    <EnumValue name="ITIMER_PROF" init="2"/>
+  </Enumeration>
+  <Function id="_507" name="adjtime" returns="_503" throw="" context="_1" location="f18:88" file="f18" line="88" extern="1">
+    <Argument name="__delta" type="_2755" location="f18:88" file="f18" line="88"/>
+    <Argument name="__olddelta" type="_2764" location="f18:88" file="f18" line="88"/>
+  </Function>
+  <Function id="_508" name="settimeofday" returns="_503" throw="" context="_1" location="f18:81" file="f18" line="81" extern="1" attributes="__nonnull__()">
+    <Argument name="__tv" type="_2755" location="f18:81" file="f18" line="81"/>
+    <Argument name="__tz" type="_2765" location="f18:81" file="f18" line="81"/>
+  </Function>
+  <Function id="_509" name="gettimeofday" returns="_503" throw="" context="_1" location="f18:74" file="f18" line="74" extern="1" attributes="__nonnull__()">
+    <Argument name="__tv" type="_2764r" location="f18:74" file="f18" line="74"/>
+    <Argument name="__tz" type="_511" location="f18:74" file="f18" line="74"/>
+  </Function>
+  <PointerType id="_510" type="_512" size="32" align="32"/>
+  <Typedef id="_511" name="__timezone_ptr_t" type="_510r" context="_1" location="f18:63" file="f18" line="63"/>
+  <Struct id="_512" name="timezone" context="_1" mangled="8timezone" demangled="timezone" location="f18:58" file="f18" line="58" artificial="1" size="64" align="32" members="_2768 _2769 _2770 _2771 " bases=""/>
+  <Variable id="_513" name="_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE" type="_2738c" context="_1" location="f9:83" file="f9" line="83" extern="1" artificial="1"/>
+  <Variable id="_514" name="_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE" type="_2738c" context="_1" location="f9:79" file="f9" line="79" extern="1" artificial="1"/>
+  <Variable id="_515" name="_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE" type="_2738c" context="_1" location="f9:75" file="f9" line="75" extern="1" artificial="1"/>
+  <Variable id="_516" name="_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE" type="_2738c" context="_1" location="f9:71" file="f9" line="71" extern="1" artificial="1"/>
+  <Variable id="_517" name="_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE" type="_2738c" context="_1" location="f9:83" file="f9" line="83" extern="1" artificial="1"/>
+  <Variable id="_518" name="_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE" type="_2738c" context="_1" location="f9:79" file="f9" line="79" extern="1" artificial="1"/>
+  <Variable id="_519" name="_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE" type="_2738c" context="_1" location="f9:75" file="f9" line="75" extern="1" artificial="1"/>
+  <Variable id="_520" name="_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE" type="_2738c" context="_1" location="f9:71" file="f9" line="71" extern="1" artificial="1"/>
+  <Variable id="_521" name="_ZTIN5boost9gregorian9bad_monthE" type="_2738c" init="{__type_info_pseudo(), &_ZTISt12out_of_range}" context="_1" location="f19:45" file="f19" line="45" artificial="1"/>
+  <Variable id="_522" name="_ZTIN5boost6detail15sp_counted_baseE" type="_2736c" context="_1" location="f20:98" file="f20" line="98" extern="1" artificial="1"/>
+  <Variable id="_523" name="_ZTIN5boost12bad_weak_ptrE" type="_2738c" init="{__type_info_pseudo(), &_ZTISt9exception}" context="_1" location="f21:40" file="f21" line="40" artificial="1"/>
+  <Function id="_524" name="__assert" returns="_1194" throw="" context="_1" location="f22:84" file="f22" line="84" extern="1" attributes="__noreturn__">
+    <Argument name="__assertion" type="_2749" location="f22:84" file="f22" line="84"/>
+    <Argument name="__file" type="_2749" location="f22:84" file="f22" line="84"/>
+    <Argument name="__line" type="_503" location="f22:84" file="f22" line="84"/>
+  </Function>
+  <Function id="_525" name="__assert_perror_fail" returns="_1194" throw="" context="_1" location="f22:78" file="f22" line="78" extern="1" attributes="__noreturn__">
+    <Argument name="__errnum" type="_503" location="f22:78" file="f22" line="78"/>
+    <Argument name="__file" type="_2749" location="f22:78" file="f22" line="78"/>
+    <Argument name="__line" type="_837" location="f22:78" file="f22" line="78"/>
+    <Argument name="__function" type="_2749" location="f22:78" file="f22" line="78"/>
+  </Function>
+  <Function id="_526" name="__assert_fail" returns="_1194" throw="" context="_1" location="f22:72" file="f22" line="72" extern="1" attributes="__noreturn__">
+    <Argument name="__assertion" type="_2749" location="f22:72" file="f22" line="72"/>
+    <Argument name="__file" type="_2749" location="f22:72" file="f22" line="72"/>
+    <Argument name="__line" type="_837" location="f22:72" file="f22" line="72"/>
+    <Argument name="__function" type="_2749" location="f22:72" file="f22" line="72"/>
+  </Function>
+  <Variable id="_527" name="_ZTIN5boost9gregorian8bad_yearE" type="_2738c" init="{__type_info_pseudo(), &_ZTISt12out_of_range}" context="_1" location="f23:21" file="f23" line="21" artificial="1"/>
+  <Variable id="_528" name="_ZTIN5boost9gregorian16bad_day_of_monthE" type="_2738c" init="{__type_info_pseudo(), &_ZTISt12out_of_range}" context="_1" location="f24:21" file="f24" line="21" artificial="1"/>
+  <Variable id="_529" name="_ZTIN5boost9gregorian15bad_day_of_yearE" type="_2738c" init="{__type_info_pseudo(), &_ZTISt12out_of_range}" context="_1" location="f25:21" file="f25" line="21" artificial="1"/>
+  <Function id="_530" name="__cxa_allocate_exception" returns="_1042" context="_1" location="f26:87" file="f26" line="87" extern="1">
+    <Argument type="_837"/>
+  </Function>
+  <Function id="_531" name="__cxa_throw" returns="_1194" context="_1" location="f26:87" file="f26" line="87" extern="1">
+    <Argument type="_1042"/>
+    <Argument type="_1042"/>
+    <Argument type="_1208"/>
+  </Function>
+  <Variable id="_532" name="_ZTIN5boost9gregorian11bad_weekdayE" type="_2738c" init="{__type_info_pseudo(), &_ZTISt12out_of_range}" context="_1" location="f27:33" file="f27" line="33" artificial="1"/>
+  <Variable id="_533" name="_ZTISt15underflow_error" type="_2738c" context="_1" location="f28:141" file="f28" line="141" extern="1" artificial="1"/>
+  <Variable id="_534" name="_ZTISt14overflow_error" type="_2738c" context="_1" location="f28:134" file="f28" line="134" extern="1" artificial="1"/>
+  <Variable id="_535" name="_ZTISt11range_error" type="_2738c" context="_1" location="f28:127" file="f28" line="127" extern="1" artificial="1"/>
+  <Variable id="_536" name="_ZTISt13runtime_error" type="_2738c" context="_1" location="f28:108" file="f28" line="108" extern="1" artificial="1"/>
+  <Variable id="_537" name="_ZTISt12out_of_range" type="_2738c" init="{__type_info_pseudo(), &_ZTISt11logic_error}" context="_1" location="f28:97" file="f28" line="97" artificial="1"/>
+  <Variable id="_538" name="_ZTISt12length_error" type="_2738c" context="_1" location="f28:89" file="f28" line="89" extern="1" artificial="1"/>
+  <Variable id="_539" name="_ZTISt16invalid_argument" type="_2738c" context="_1" location="f28:81" file="f28" line="81" extern="1" artificial="1"/>
+  <Variable id="_540" name="_ZTISt12domain_error" type="_2738c" context="_1" location="f28:74" file="f28" line="74" extern="1" artificial="1"/>
+  <Variable id="_541" name="_ZTISt11logic_error" type="_2738c" context="_1" location="f28:54" file="f28" line="54" extern="1" artificial="1"/>
+  <Variable id="_542" name="_ZTISt14basic_iostreamIwSt11char_traitsIwEE" type="_2772c" context="_1" location="f9:67" file="f9" line="67" extern="1" artificial="1"/>
+  <Variable id="_543" name="_ZTISd" type="_2772c" context="_1" location="f9:67" file="f9" line="67" extern="1" artificial="1"/>
+  <Variable id="_544" name="_ZTISt13basic_istreamIwSt11char_traitsIwEE" type="_2774c" context="_1" location="f9:61" file="f9" line="61" extern="1" artificial="1"/>
+  <Variable id="_545" name="_ZTISi" type="_2774c" context="_1" location="f9:61" file="f9" line="61" extern="1" artificial="1"/>
+  <Variable id="_546" name="_ZTISt13basic_ostreamIwSt11char_traitsIwEE" type="_2774c" context="_1" location="f9:64" file="f9" line="64" extern="1" artificial="1"/>
+  <Variable id="_547" name="_ZTISo" type="_2774c" context="_1" location="f9:64" file="f9" line="64" extern="1" artificial="1"/>
+  <Variable id="_548" name="_ZTISt14collate_bynameIwE" type="_2738c" context="_1" location="f29:2643" file="f29" line="2643" extern="1" artificial="1"/>
+  <Variable id="_549" name="_ZTISt14codecvt_bynameIwc11__mbstate_tE" type="_2738c" context="_1" location="f30:452" file="f30" line="452" extern="1" artificial="1"/>
+  <Variable id="_550" name="_ZTISt15messages_bynameIwE" type="_2738c" context="_1" location="f29:4476" file="f29" line="4476" extern="1" artificial="1"/>
+  <Variable id="_551" name="_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE" type="_2738c" context="_1" location="f29:3296" file="f29" line="3296" extern="1" artificial="1"/>
+  <Variable id="_552" name="_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE" type="_2772c" context="_1" location="f29:2983" file="f29" line="2983" extern="1" artificial="1"/>
+  <Variable id="_553" name="_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE" type="_2738c" context="_1" location="f29:3420" file="f29" line="3420" extern="1" artificial="1"/>
+  <Variable id="_554" name="_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE" type="_2738c" context="_1" location="f29:3324" file="f29" line="3324" extern="1" artificial="1"/>
+  <Variable id="_555" name="_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE" type="_2738c" context="_1" location="f29:2206" file="f29" line="2206" extern="1" artificial="1"/>
+  <Variable id="_556" name="_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE" type="_2738c" context="_1" location="f29:1927" file="f29" line="1927" extern="1" artificial="1"/>
+  <Variable id="_557" name="_ZTISt15numpunct_bynameIwE" type="_2738c" context="_1" location="f29:1890" file="f29" line="1890" extern="1" artificial="1"/>
+  <Variable id="_558" name="_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE" type="_2738c" context="_1" location="f29:4105" file="f29" line="4105" extern="1" artificial="1"/>
+  <Variable id="_559" name="_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE" type="_2738c" context="_1" location="f29:3970" file="f29" line="3970" extern="1" artificial="1"/>
+  <Variable id="_560" name="_ZTISt17moneypunct_bynameIwLb1EE" type="_2738c" context="_1" location="f29:3928" file="f29" line="3928" extern="1" artificial="1"/>
+  <Variable id="_561" name="_ZTISt17moneypunct_bynameIwLb0EE" type="_2738c" context="_1" location="f29:3928" file="f29" line="3928" extern="1" artificial="1"/>
+  <Variable id="_562" name="_ZTISt14collate_bynameIcE" type="_2738c" context="_1" location="f29:2643" file="f29" line="2643" extern="1" artificial="1"/>
+  <Variable id="_563" name="_ZTISt14codecvt_bynameIcc11__mbstate_tE" type="_2738c" context="_1" location="f30:452" file="f30" line="452" extern="1" artificial="1"/>
+  <Variable id="_564" name="_ZTISt15messages_bynameIcE" type="_2738c" context="_1" location="f29:4476" file="f29" line="4476" extern="1" artificial="1"/>
+  <Variable id="_565" name="_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE" type="_2738c" context="_1" location="f29:3296" file="f29" line="3296" extern="1" artificial="1"/>
+  <Variable id="_566" name="_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE" type="_2772c" context="_1" location="f29:2983" file="f29" line="2983" extern="1" artificial="1"/>
+  <Variable id="_567" name="_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE" type="_2738c" context="_1" location="f29:3420" file="f29" line="3420" extern="1" artificial="1"/>
+  <Variable id="_568" name="_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE" type="_2738c" context="_1" location="f29:3324" file="f29" line="3324" extern="1" artificial="1"/>
+  <Variable id="_569" name="_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE" type="_2738c" context="_1" location="f29:2206" file="f29" line="2206" extern="1" artificial="1"/>
+  <Variable id="_570" name="_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE" type="_2738c" context="_1" location="f29:1927" file="f29" line="1927" extern="1" artificial="1"/>
+  <Variable id="_571" name="_ZTISt15numpunct_bynameIcE" type="_2738c" context="_1" location="f29:1890" file="f29" line="1890" extern="1" artificial="1"/>
+  <Variable id="_572" name="_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE" type="_2738c" context="_1" location="f29:4105" file="f29" line="4105" extern="1" artificial="1"/>
+  <Variable id="_573" name="_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE" type="_2738c" context="_1" location="f29:3970" file="f29" line="3970" extern="1" artificial="1"/>
+  <Variable id="_574" name="_ZTISt17moneypunct_bynameIcLb1EE" type="_2738c" context="_1" location="f29:3928" file="f29" line="3928" extern="1" artificial="1"/>
+  <Variable id="_575" name="_ZTISt17moneypunct_bynameIcLb0EE" type="_2738c" context="_1" location="f29:3928" file="f29" line="3928" extern="1" artificial="1"/>
+  <Variable id="_576" name="_ZTISt10bad_typeid" type="_2738c" context="_1" location="f31:150" file="f31" line="150" extern="1" artificial="1"/>
+  <Variable id="_577" name="_ZTISt8bad_cast" type="_2738c" context="_1" location="f31:140" file="f31" line="140" extern="1" artificial="1"/>
+  <Variable id="_578" name="_ZTISt9type_info" type="_2736c" context="_1" location="f31:68" file="f31" line="68" extern="1" artificial="1"/>
+  <Variable id="_579" name="_ZTISt9basic_iosIwSt11char_traitsIwEE" type="_2738c" context="_1" location="f9:55" file="f9" line="55" extern="1" artificial="1"/>
+  <Variable id="_580" name="_ZTISt9basic_iosIcSt11char_traitsIcEE" type="_2738c" context="_1" location="f9:55" file="f9" line="55" extern="1" artificial="1"/>
+  <Variable id="_581" name="_ZTISt8messagesIwE" type="_2772c" context="_1" location="f29:4259" file="f29" line="4259" extern="1" artificial="1"/>
+  <Variable id="_582" name="_ZTISt8messagesIcE" type="_2772c" context="_1" location="f29:4259" file="f29" line="4259" extern="1" artificial="1"/>
+  <Variable id="_583" name="_ZTISt10moneypunctIwLb0EE" type="_2772c" context="_1" location="f29:3541" file="f29" line="3541" extern="1" artificial="1"/>
+  <Variable id="_584" name="_ZTISt10moneypunctIwLb1EE" type="_2772c" context="_1" location="f29:3541" file="f29" line="3541" extern="1" artificial="1"/>
+  <Variable id="_585" name="_ZTISt10moneypunctIcLb0EE" type="_2772c" context="_1" location="f29:3541" file="f29" line="3541" extern="1" artificial="1"/>
+  <Variable id="_586" name="_ZTISt10moneypunctIcLb1EE" type="_2772c" context="_1" location="f29:3541" file="f29" line="3541" extern="1" artificial="1"/>
+  <Variable id="_587" name="_ZTISt11__timepunctIwE" type="_2738c" context="_1" location="f29:2800" file="f29" line="2800" extern="1" artificial="1"/>
+  <Variable id="_588" name="_ZTISt11__timepunctIcE" type="_2738c" context="_1" location="f29:2800" file="f29" line="2800" extern="1" artificial="1"/>
+  <Variable id="_589" name="_ZTISt17__timepunct_cacheIwE" type="_2738c" context="_1" location="f29:2682" file="f29" line="2682" extern="1" artificial="1"/>
+  <Variable id="_590" name="_ZTISt17__timepunct_cacheIcE" type="_2738c" context="_1" location="f29:2682" file="f29" line="2682" extern="1" artificial="1"/>
+  <Variable id="_591" name="_ZTISt7collateIwE" type="_2738c" context="_1" location="f29:2467" file="f29" line="2467" extern="1" artificial="1"/>
+  <Variable id="_592" name="_ZTISt7collateIcE" type="_2738c" context="_1" location="f29:2467" file="f29" line="2467" extern="1" artificial="1"/>
+  <Variable id="_593" name="_ZTISt8numpunctIwE" type="_2738c" context="_1" location="f29:1658" file="f29" line="1658" extern="1" artificial="1"/>
+  <Variable id="_594" name="_ZTISt8numpunctIcE" type="_2738c" context="_1" location="f29:1658" file="f29" line="1658" extern="1" artificial="1"/>
+  <Variable id="_595" name="_ZTISt7codecvtIwc11__mbstate_tE" type="_2738c" context="_1" location="f30:393" file="f30" line="393" extern="1" artificial="1"/>
+  <Variable id="_596" name="_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE" type="_2772c" context="_1" location="f30:72" file="f30" line="72" extern="1" artificial="1"/>
+  <Variable id="_597" name="_ZTISt7codecvtIcc11__mbstate_tE" type="_2738c" context="_1" location="f30:335" file="f30" line="335" extern="1" artificial="1"/>
+  <Variable id="_598" name="_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE" type="_2772c" context="_1" location="f30:72" file="f30" line="72" extern="1" artificial="1"/>
+  <Variable id="_599" name="_ZTISt12ctype_bynameIwE" type="_2738c" context="_1" location="f29:1513" file="f29" line="1513" extern="1" artificial="1"/>
+  <Variable id="_600" name="_ZTISt12ctype_bynameIcE" type="_2738c" context="_1" location="f29:1513" file="f29" line="1513" extern="1" artificial="1"/>
+  <Variable id="_601" name="_ZTISt5ctypeIwE" type="_2738c" context="_1" location="f29:1214" file="f29" line="1214" extern="1" artificial="1"/>
+  <Variable id="_602" name="_ZTISt21__ctype_abstract_baseIwE" type="_2772c" context="_1" location="f29:146" file="f29" line="146" extern="1" artificial="1"/>
+  <Variable id="_603" name="_ZTISt5ctypeIcE" type="_2772c" context="_1" location="f29:676" file="f29" line="676" extern="1" artificial="1"/>
+  <Function id="_604" name="towctrans_l" returns="_1232" throw="" context="_1" location="f32:324" file="f32" line="324" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:324" file="f32" line="324"/>
+    <Argument name="__desc" type="_627" location="f32:324" file="f32" line="324"/>
+    <Argument name="__locale" type="_1677" location="f32:324" file="f32" line="324"/>
+  </Function>
+  <Function id="_605" name="wctrans_l" returns="_627" throw="" context="_1" location="f32:320" file="f32" line="320" extern="1">
+    <Argument name="__property" type="_2749" location="f32:320" file="f32" line="320"/>
+    <Argument name="__locale" type="_1677" location="f32:320" file="f32" line="320"/>
+  </Function>
+  <Function id="_606" name="towupper_l" returns="_1232" throw="" context="_1" location="f32:315" file="f32" line="315" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:315" file="f32" line="315"/>
+    <Argument name="__locale" type="_1677" location="f32:315" file="f32" line="315"/>
+  </Function>
+  <Function id="_607" name="towlower_l" returns="_1232" throw="" context="_1" location="f32:312" file="f32" line="312" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:312" file="f32" line="312"/>
+    <Argument name="__locale" type="_1677" location="f32:312" file="f32" line="312"/>
+  </Function>
+  <Function id="_608" name="iswctype_l" returns="_503" throw="" context="_1" location="f32:304" file="f32" line="304" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:304" file="f32" line="304"/>
+    <Argument name="__desc" type="_644" location="f32:304" file="f32" line="304"/>
+    <Argument name="__locale" type="_1677" location="f32:304" file="f32" line="304"/>
+  </Function>
+  <Function id="_609" name="wctype_l" returns="_644" throw="" context="_1" location="f32:299" file="f32" line="299" extern="1">
+    <Argument name="__property" type="_2749" location="f32:299" file="f32" line="299"/>
+    <Argument name="__locale" type="_1677" location="f32:299" file="f32" line="299"/>
+  </Function>
+  <Function id="_610" name="iswblank_l" returns="_503" throw="" context="_1" location="f32:294" file="f32" line="294" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:294" file="f32" line="294"/>
+    <Argument name="__locale" type="_1677" location="f32:294" file="f32" line="294"/>
+  </Function>
+  <Function id="_611" name="iswxdigit_l" returns="_503" throw="" context="_1" location="f32:289" file="f32" line="289" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:289" file="f32" line="289"/>
+    <Argument name="__locale" type="_1677" location="f32:289" file="f32" line="289"/>
+  </Function>
+  <Function id="_612" name="iswupper_l" returns="_503" throw="" context="_1" location="f32:284" file="f32" line="284" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:284" file="f32" line="284"/>
+    <Argument name="__locale" type="_1677" location="f32:284" file="f32" line="284"/>
+  </Function>
+  <Function id="_613" name="iswspace_l" returns="_503" throw="" context="_1" location="f32:279" file="f32" line="279" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:279" file="f32" line="279"/>
+    <Argument name="__locale" type="_1677" location="f32:279" file="f32" line="279"/>
+  </Function>
+  <Function id="_614" name="iswpunct_l" returns="_503" throw="" context="_1" location="f32:274" file="f32" line="274" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:274" file="f32" line="274"/>
+    <Argument name="__locale" type="_1677" location="f32:274" file="f32" line="274"/>
+  </Function>
+  <Function id="_615" name="iswprint_l" returns="_503" throw="" context="_1" location="f32:269" file="f32" line="269" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:269" file="f32" line="269"/>
+    <Argument name="__locale" type="_1677" location="f32:269" file="f32" line="269"/>
+  </Function>
+  <Function id="_616" name="iswlower_l" returns="_503" throw="" context="_1" location="f32:266" file="f32" line="266" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:266" file="f32" line="266"/>
+    <Argument name="__locale" type="_1677" location="f32:266" file="f32" line="266"/>
+  </Function>
+  <Function id="_617" name="iswgraph_l" returns="_503" throw="" context="_1" location="f32:261" file="f32" line="261" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:261" file="f32" line="261"/>
+    <Argument name="__locale" type="_1677" location="f32:261" file="f32" line="261"/>
+  </Function>
+  <Function id="_618" name="iswdigit_l" returns="_503" throw="" context="_1" location="f32:257" file="f32" line="257" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:257" file="f32" line="257"/>
+    <Argument name="__locale" type="_1677" location="f32:257" file="f32" line="257"/>
+  </Function>
+  <Function id="_619" name="iswcntrl_l" returns="_503" throw="" context="_1" location="f32:253" file="f32" line="253" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:253" file="f32" line="253"/>
+    <Argument name="__locale" type="_1677" location="f32:253" file="f32" line="253"/>
+  </Function>
+  <Function id="_620" name="iswalpha_l" returns="_503" throw="" context="_1" location="f32:250" file="f32" line="250" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:250" file="f32" line="250"/>
+    <Argument name="__locale" type="_1677" location="f32:250" file="f32" line="250"/>
+  </Function>
+  <Function id="_621" name="iswalnum_l" returns="_503" throw="" context="_1" location="f32:244" file="f32" line="244" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:244" file="f32" line="244"/>
+    <Argument name="__locale" type="_1677" location="f32:244" file="f32" line="244"/>
+  </Function>
+  <Function id="_622" name="towctrans" returns="_1232" throw="" context="_1" location="f32:235" file="f32" line="235" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:235" file="f32" line="235"/>
+    <Argument name="__desc" type="_627" location="f32:235" file="f32" line="235"/>
+  </Function>
+  <Function id="_623" name="wctrans" returns="_627" throw="" context="_1" location="f32:232" file="f32" line="232" extern="1">
+    <Argument name="__property" type="_2749" location="f32:232" file="f32" line="232"/>
+  </Function>
+  <Function id="_624" name="towupper" returns="_1232" throw="" context="_1" location="f32:211" file="f32" line="211" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:211" file="f32" line="211"/>
+  </Function>
+  <Function id="_625" name="towlower" returns="_1232" throw="" context="_1" location="f32:208" file="f32" line="208" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:208" file="f32" line="208"/>
+  </Function>
+  <PointerType id="_626" type="_1652c" size="32" align="32"/>
+  <Typedef id="_627" name="wctrans_t" type="_626" context="_1" location="f32:200" file="f32" line="200"/>
+  <Function id="_628" name="iswctype" returns="_503" throw="" context="_1" location="f32:189" file="f32" line="189" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:189" file="f32" line="189"/>
+    <Argument name="__desc" type="_644" location="f32:189" file="f32" line="189"/>
+  </Function>
+  <Function id="_629" name="wctype" returns="_644" throw="" context="_1" location="f32:185" file="f32" line="185" extern="1">
+    <Argument name="__property" type="_2749" location="f32:185" file="f32" line="185"/>
+  </Function>
+  <Function id="_630" name="iswblank" returns="_503" throw="" context="_1" location="f32:176" file="f32" line="176" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:176" file="f32" line="176"/>
+  </Function>
+  <Function id="_631" name="iswxdigit" returns="_503" throw="" context="_1" location="f32:170" file="f32" line="170" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:170" file="f32" line="170"/>
+  </Function>
+  <Function id="_632" name="iswupper" returns="_503" throw="" context="_1" location="f32:165" file="f32" line="165" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:165" file="f32" line="165"/>
+  </Function>
+  <Function id="_633" name="iswspace" returns="_503" throw="" context="_1" location="f32:160" file="f32" line="160" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:160" file="f32" line="160"/>
+  </Function>
+  <Function id="_634" name="iswpunct" returns="_503" throw="" context="_1" location="f32:155" file="f32" line="155" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:155" file="f32" line="155"/>
+  </Function>
+  <Function id="_635" name="iswprint" returns="_503" throw="" context="_1" location="f32:150" file="f32" line="150" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:150" file="f32" line="150"/>
+  </Function>
+  <Function id="_636" name="iswlower" returns="_503" throw="" context="_1" location="f32:147" file="f32" line="147" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:147" file="f32" line="147"/>
+  </Function>
+  <Function id="_637" name="iswgraph" returns="_503" throw="" context="_1" location="f32:142" file="f32" line="142" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:142" file="f32" line="142"/>
+  </Function>
+  <Function id="_638" name="iswdigit" returns="_503" throw="" context="_1" location="f32:138" file="f32" line="138" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:138" file="f32" line="138"/>
+  </Function>
+  <Function id="_639" name="iswcntrl" returns="_503" throw="" context="_1" location="f32:134" file="f32" line="134" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:134" file="f32" line="134"/>
+  </Function>
+  <Function id="_640" name="iswalpha" returns="_503" throw="" context="_1" location="f32:131" file="f32" line="131" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:131" file="f32" line="131"/>
+  </Function>
+  <Function id="_641" name="iswalnum" returns="_503" throw="" context="_1" location="f32:125" file="f32" line="125" extern="1">
+    <Argument name="__wc" type="_1232" location="f32:125" file="f32" line="125"/>
+  </Function>
+  <Enumeration id="_642" name="._81" context="_1" location="f32:86" file="f32" line="86" artificial="1" size="32" align="32">
+    <EnumValue name="__ISwupper" init="0"/>
+    <EnumValue name="__ISwlower" init="1"/>
+    <EnumValue name="__ISwalpha" init="2"/>
+    <EnumValue name="__ISwdigit" init="3"/>
+    <EnumValue name="__ISwxdigit" init="4"/>
+    <EnumValue name="__ISwspace" init="5"/>
+    <EnumValue name="__ISwprint" init="6"/>
+    <EnumValue name="__ISwgraph" init="7"/>
+    <EnumValue name="__ISwblank" init="8"/>
+    <EnumValue name="__ISwcntrl" init="9"/>
+    <EnumValue name="__ISwpunct" init="10"/>
+    <EnumValue name="__ISwalnum" init="11"/>
+    <EnumValue name="_ISwupper" init="16777216"/>
+    <EnumValue name="_ISwlower" init="33554432"/>
+    <EnumValue name="_ISwalpha" init="67108864"/>
+    <EnumValue name="_ISwdigit" init="134217728"/>
+    <EnumValue name="_ISwxdigit" init="268435456"/>
+    <EnumValue name="_ISwspace" init="536870912"/>
+    <EnumValue name="_ISwprint" init="1073741824"/>
+    <EnumValue name="_ISwgraph" init="-2147483648"/>
+    <EnumValue name="_ISwblank" init="65536"/>
+    <EnumValue name="_ISwcntrl" init="131072"/>
+    <EnumValue name="_ISwpunct" init="262144"/>
+    <EnumValue name="_ISwalnum" init="524288"/>
+  </Enumeration>
+  <FundamentalType id="_643" name="long unsigned int" size="32" align="32"/>
+  <Typedef id="_644" name="wctype_t" type="_643" context="_1" location="f32:66" file="f32" line="66"/>
+  <Variable id="_645" name="_ZTISt15basic_streambufIwSt11char_traitsIwEE" type="_2736c" context="_1" location="f9:58" file="f9" line="58" extern="1" artificial="1"/>
+  <Variable id="_646" name="_ZTISt15basic_streambufIcSt11char_traitsIcEE" type="_2736c" context="_1" location="f9:58" file="f9" line="58" extern="1" artificial="1"/>
+  <Variable id="_647" name="_ZTISt8ios_base" type="_2736c" context="_1" location="f33:202" file="f33" line="202" extern="1" artificial="1"/>
+  <Variable id="_648" name="_ZTINSt8ios_base7failureE" type="_2738c" context="_1" location="f33:208" file="f33" line="208" extern="1" artificial="1"/>
+  <Function id="_649" name="__cxa_end_catch" returns="_1194" context="_1" location="f3:412" file="f3" line="412" extern="1"/>
+  <Function id="_650" name="__cxa_begin_catch" returns="_1042" context="_1" location="f3:412" file="f3" line="412" extern="1">
+    <Argument type="_1042"/>
+  </Function>
+  <Variable id="_651" name="_ZTINSt6locale5facetE" type="_2736c" context="_1" location="f3:344" file="f3" line="344" extern="1" artificial="1"/>
+  <OperatorFunction id="_652" name="delete []" returns="_1194" throw="" context="_1" mangled="_ZdaPvS_" demangled="operator delete[](void*, void*)" location="f34:99" file="f34" line="99" endline="99" inline="1">
+    <Argument type="_1042" location="f34:99" file="f34" line="99"/>
+    <Argument type="_1042" location="f34:99" file="f34" line="99"/>
+  </OperatorFunction>
+  <OperatorFunction id="_653" name="delete" returns="_1194" throw="" context="_1" mangled="_ZdlPvS_" demangled="operator delete(void*, void*)" location="f34:98" file="f34" line="98" endline="98" inline="1">
+    <Argument type="_1042" location="f34:98" file="f34" line="98"/>
+    <Argument type="_1042" location="f34:98" file="f34" line="98"/>
+  </OperatorFunction>
+  <OperatorFunction id="_654" name="new []" returns="_1042" throw="" context="_1" mangled="_ZnajPv" demangled="operator new[](unsigned, void*)" location="f34:95" file="f34" line="95" endline="95" inline="1">
+    <Argument type="_1698" location="f34:95" file="f34" line="95"/>
+    <Argument name="__p" type="_1042" location="f34:95" file="f34" line="95"/>
+  </OperatorFunction>
+  <OperatorFunction id="_655" name="new" returns="_1042" throw="" context="_1" mangled="_ZnwjPv" demangled="operator new(unsigned, void*)" location="f34:94" file="f34" line="94" endline="94" inline="1">
+    <Argument type="_1698" location="f34:94" file="f34" line="94"/>
+    <Argument name="__p" type="_1042" location="f34:94" file="f34" line="94"/>
+  </OperatorFunction>
+  <OperatorFunction id="_656" name="delete []" returns="_1194" throw="" context="_1" mangled="_ZdaPvRKSt9nothrow_t" demangled="operator delete[](void*, std::nothrow_t const&)" location="f34:91" file="f34" line="91" extern="1">
+    <Argument type="_1042" location="f34:91" file="f34" line="91"/>
+    <Argument type="_2777" location="f34:91" file="f34" line="91"/>
+  </OperatorFunction>
+  <OperatorFunction id="_657" name="delete" returns="_1194" throw="" context="_1" mangled="_ZdlPvRKSt9nothrow_t" demangled="operator delete(void*, std::nothrow_t const&)" location="f34:90" file="f34" line="90" extern="1">
+    <Argument type="_1042" location="f34:90" file="f34" line="90"/>
+    <Argument type="_2777" location="f34:90" file="f34" line="90"/>
+  </OperatorFunction>
+  <OperatorFunction id="_658" name="new []" returns="_1042" throw="" context="_1" mangled="_ZnajRKSt9nothrow_t" demangled="operator new[](unsigned, std::nothrow_t const&)" location="f34:89" file="f34" line="89" extern="1">
+    <Argument type="_1698" location="f34:89" file="f34" line="89"/>
+    <Argument type="_2777" location="f34:89" file="f34" line="89"/>
+  </OperatorFunction>
+  <OperatorFunction id="_659" name="new" returns="_1042" throw="" context="_1" mangled="_ZnwjRKSt9nothrow_t" demangled="operator new(unsigned, std::nothrow_t const&)" location="f34:88" file="f34" line="88" extern="1">
+    <Argument type="_1698" location="f34:88" file="f34" line="88"/>
+    <Argument type="_2777" location="f34:88" file="f34" line="88"/>
+  </OperatorFunction>
+  <Variable id="_660" name="_ZTISt9bad_alloc" type="_2738c" context="_1" location="f34:56" file="f34" line="56" extern="1" artificial="1"/>
+  <Typedef id="_661" name="_Atomic_word" type="_503" context="_1" location="f35:33" file="f35" line="33"/>
+  <Variable id="_662" name="_ZTISt13bad_exception" type="_2738c" context="_1" location="f36:67" file="f36" line="67" extern="1" artificial="1"/>
+  <Variable id="_663" name="_ZTISt9exception" type="_2736c" context="_1" location="f36:55" file="f36" line="55" extern="1" artificial="1"/>
+  <Function id="_664" name="wcsftime_l" returns="_1698" throw="" context="_1" location="f37:822" file="f37" line="822" extern="1">
+    <Argument name="__s" type="_2778r" location="f37:822" file="f37" line="822"/>
+    <Argument name="__maxsize" type="_1698" location="f37:822" file="f37" line="822"/>
+    <Argument name="__format" type="_2780r" location="f37:822" file="f37" line="822"/>
+    <Argument name="__tp" type="_2782r" location="f37:822" file="f37" line="822"/>
+    <Argument name="__loc" type="_1677" location="f37:822" file="f37" line="822"/>
+  </Function>
+  <Function id="_665" name="wcsftime" returns="_1698" throw="" context="_1" location="f37:811" file="f37" line="811" extern="1">
+    <Argument name="__s" type="_2778r" location="f37:811" file="f37" line="811"/>
+    <Argument name="__maxsize" type="_1698" location="f37:811" file="f37" line="811"/>
+    <Argument name="__format" type="_2780r" location="f37:811" file="f37" line="811"/>
+    <Argument name="__tp" type="_2782r" location="f37:811" file="f37" line="811"/>
+  </Function>
+  <Function id="_666" name="fputws_unlocked" returns="_503" context="_1" location="f37:801" file="f37" line="801" extern="1">
+    <Argument name="__ws" type="_2780r" location="f37:801" file="f37" line="801"/>
+    <Argument name="__stream" type="_2784r" location="f37:801" file="f37" line="801"/>
+  </Function>
+  <Function id="_667" name="fgetws_unlocked" returns="_2778" context="_1" location="f37:792" file="f37" line="792" extern="1">
+    <Argument name="__ws" type="_2778r" location="f37:792" file="f37" line="792"/>
+    <Argument name="__n" type="_503" location="f37:792" file="f37" line="792"/>
+    <Argument name="__stream" type="_2784r" location="f37:792" file="f37" line="792"/>
+  </Function>
+  <Function id="_668" name="putwchar_unlocked" returns="_1232" context="_1" location="f37:782" file="f37" line="782" extern="1">
+    <Argument name="__wc" type="_2786" location="f37:782" file="f37" line="782"/>
+  </Function>
+  <Function id="_669" name="putwc_unlocked" returns="_1232" context="_1" location="f37:781" file="f37" line="781" extern="1">
+    <Argument name="__wc" type="_2786" location="f37:781" file="f37" line="781"/>
+    <Argument name="__stream" type="_2784" location="f37:781" file="f37" line="781"/>
+  </Function>
+  <Function id="_670" name="fputwc_unlocked" returns="_1232" context="_1" location="f37:772" file="f37" line="772" extern="1">
+    <Argument name="__wc" type="_2786" location="f37:772" file="f37" line="772"/>
+    <Argument name="__stream" type="_2784" location="f37:772" file="f37" line="772"/>
+  </Function>
+  <Function id="_671" name="fgetwc_unlocked" returns="_1232" context="_1" location="f37:764" file="f37" line="764" extern="1">
+    <Argument name="__stream" type="_2784" location="f37:764" file="f37" line="764"/>
+  </Function>
+  <Function id="_672" name="getwchar_unlocked" returns="_1232" context="_1" location="f37:756" file="f37" line="756" extern="1"/>
+  <Function id="_673" name="getwc_unlocked" returns="_1232" context="_1" location="f37:755" file="f37" line="755" extern="1">
+    <Argument name="__stream" type="_2784" location="f37:755" file="f37" line="755"/>
+  </Function>
+  <Function id="_674" name="ungetwc" returns="_1232" context="_1" location="f37:743" file="f37" line="743" extern="1">
+    <Argument name="__wc" type="_1232" location="f37:743" file="f37" line="743"/>
+    <Argument name="__stream" type="_2784" location="f37:743" file="f37" line="743"/>
+  </Function>
+  <Function id="_675" name="fputws" returns="_503" context="_1" location="f37:736" file="f37" line="736" extern="1">
+    <Argument name="__ws" type="_2780r" location="f37:736" file="f37" line="736"/>
+    <Argument name="__stream" type="_2784r" location="f37:736" file="f37" line="736"/>
+  </Function>
+  <Function id="_676" name="fgetws" returns="_2778" context="_1" location="f37:729" file="f37" line="729" extern="1">
+    <Argument name="__ws" type="_2778r" location="f37:729" file="f37" line="729"/>
+    <Argument name="__n" type="_503" location="f37:729" file="f37" line="729"/>
+    <Argument name="__stream" type="_2784r" location="f37:729" file="f37" line="729"/>
+  </Function>
+  <Function id="_677" name="putwchar" returns="_1232" context="_1" location="f37:720" file="f37" line="720" extern="1">
+    <Argument name="__wc" type="_2786" location="f37:720" file="f37" line="720"/>
+  </Function>
+  <Function id="_678" name="putwc" returns="_1232" context="_1" location="f37:714" file="f37" line="714" extern="1">
+    <Argument name="__wc" type="_2786" location="f37:714" file="f37" line="714"/>
+    <Argument name="__stream" type="_2784" location="f37:714" file="f37" line="714"/>
+  </Function>
+  <Function id="_679" name="fputwc" returns="_1232" context="_1" location="f37:713" file="f37" line="713" extern="1">
+    <Argument name="__wc" type="_2786" location="f37:713" file="f37" line="713"/>
+    <Argument name="__stream" type="_2784" location="f37:713" file="f37" line="713"/>
+  </Function>
+  <Function id="_680" name="getwchar" returns="_1232" context="_1" location="f37:706" file="f37" line="706" extern="1"/>
+  <Function id="_681" name="getwc" returns="_1232" context="_1" location="f37:700" file="f37" line="700" extern="1">
+    <Argument name="__stream" type="_2784" location="f37:700" file="f37" line="700"/>
+  </Function>
+  <Function id="_682" name="fgetwc" returns="_1232" context="_1" location="f37:699" file="f37" line="699" extern="1">
+    <Argument name="__stream" type="_2784" location="f37:699" file="f37" line="699"/>
+  </Function>
+  <Function id="_683" name="vswscanf" returns="_503" throw="" context="_1" location="f37:688" file="f37" line="688" extern="1">
+    <Argument name="__s" type="_2780r" location="f37:688" file="f37" line="688"/>
+    <Argument name="__format" type="_2780r" location="f37:688" file="f37" line="688"/>
+    <Argument name="__arg" type="_1197" location="f37:688" file="f37" line="688"/>
+  </Function>
+  <Function id="_684" name="vwscanf" returns="_503" context="_1" location="f37:683" file="f37" line="683" extern="1">
+    <Argument name="__format" type="_2780r" location="f37:683" file="f37" line="683"/>
+    <Argument name="__arg" type="_1197" location="f37:683" file="f37" line="683"/>
+  </Function>
+  <Function id="_685" name="vfwscanf" returns="_503" context="_1" location="f37:676" file="f37" line="676" extern="1">
+    <Argument name="__s" type="_2784r" location="f37:676" file="f37" line="676"/>
+    <Argument name="__format" type="_2780r" location="f37:676" file="f37" line="676"/>
+    <Argument name="__arg" type="_1197" location="f37:676" file="f37" line="676"/>
+  </Function>
+  <Function id="_686" name="swscanf" returns="_503" throw="" context="_1" location="f37:661" file="f37" line="661" extern="1">
+    <Argument name="__s" type="_2780r" location="f37:661" file="f37" line="661"/>
+    <Argument name="__format" type="_2780r" location="f37:661" file="f37" line="661"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_687" name="wscanf" returns="_503" context="_1" location="f37:657" file="f37" line="657" extern="1">
+    <Argument name="__format" type="_2780r" location="f37:657" file="f37" line="657"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_688" name="fwscanf" returns="_503" context="_1" location="f37:651" file="f37" line="651" extern="1">
+    <Argument name="__stream" type="_2784r" location="f37:651" file="f37" line="651"/>
+    <Argument name="__format" type="_2780r" location="f37:651" file="f37" line="651"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_689" name="vswprintf" returns="_503" throw="" context="_1" location="f37:642" file="f37" line="642" extern="1">
+    <Argument name="__s" type="_2778r" location="f37:642" file="f37" line="642"/>
+    <Argument name="__n" type="_1698" location="f37:642" file="f37" line="642"/>
+    <Argument name="__format" type="_2780r" location="f37:642" file="f37" line="642"/>
+    <Argument name="__arg" type="_1197" location="f37:642" file="f37" line="642"/>
+  </Function>
+  <Function id="_690" name="vwprintf" returns="_503" context="_1" location="f37:636" file="f37" line="636" extern="1">
+    <Argument name="__format" type="_2780r" location="f37:636" file="f37" line="636"/>
+    <Argument name="__arg" type="_1197" location="f37:636" file="f37" line="636"/>
+  </Function>
+  <Function id="_691" name="vfwprintf" returns="_503" context="_1" location="f37:629" file="f37" line="629" extern="1">
+    <Argument name="__s" type="_2784r" location="f37:629" file="f37" line="629"/>
+    <Argument name="__format" type="_2780r" location="f37:629" file="f37" line="629"/>
+    <Argument name="__arg" type="_1197" location="f37:629" file="f37" line="629"/>
+  </Function>
+  <Function id="_692" name="swprintf" returns="_503" throw="" context="_1" location="f37:620" file="f37" line="620" extern="1">
+    <Argument name="__s" type="_2778r" location="f37:620" file="f37" line="620"/>
+    <Argument name="__n" type="_1698" location="f37:620" file="f37" line="620"/>
+    <Argument name="__format" type="_2780r" location="f37:620" file="f37" line="620"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_693" name="wprintf" returns="_503" context="_1" location="f37:616" file="f37" line="616" extern="1">
+    <Argument name="__format" type="_2780r" location="f37:616" file="f37" line="616"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_694" name="fwprintf" returns="_503" context="_1" location="f37:610" file="f37" line="610" extern="1">
+    <Argument name="__stream" type="_2784r" location="f37:610" file="f37" line="610"/>
+    <Argument name="__format" type="_2780r" location="f37:610" file="f37" line="610"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_695" name="fwide" returns="_503" throw="" context="_1" location="f37:601" file="f37" line="601" extern="1">
+    <Argument name="__fp" type="_2784" location="f37:601" file="f37" line="601"/>
+    <Argument name="__mode" type="_503" location="f37:601" file="f37" line="601"/>
+  </Function>
+  <Function id="_696" name="wcpncpy" returns="_2778" throw="" context="_1" location="f37:592" file="f37" line="592" extern="1">
+    <Argument name="__dest" type="_2778" location="f37:592" file="f37" line="592"/>
+    <Argument name="__src" type="_2780" location="f37:592" file="f37" line="592"/>
+    <Argument name="__n" type="_1698" location="f37:592" file="f37" line="592"/>
+  </Function>
+  <Function id="_697" name="wcpcpy" returns="_2778" throw="" context="_1" location="f37:587" file="f37" line="587" extern="1">
+    <Argument name="__dest" type="_2778" location="f37:587" file="f37" line="587"/>
+    <Argument name="__src" type="_2780" location="f37:587" file="f37" line="587"/>
+  </Function>
+  <Function id="_698" name="__wcstoull_internal" returns="_1288" throw="" context="_1" location="f37:536" file="f37" line="536" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:536" file="f37" line="536"/>
+    <Argument name="__endptr" type="_2787r" location="f37:536" file="f37" line="536"/>
+    <Argument name="__base" type="_503" location="f37:536" file="f37" line="536"/>
+    <Argument name="__group" type="_503" location="f37:536" file="f37" line="536"/>
+  </Function>
+  <Function id="_699" name="__wcstoll_internal" returns="_1290" throw="" context="_1" location="f37:526" file="f37" line="526" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:526" file="f37" line="526"/>
+    <Argument name="__endptr" type="_2787r" location="f37:526" file="f37" line="526"/>
+    <Argument name="__base" type="_503" location="f37:526" file="f37" line="526"/>
+    <Argument name="__group" type="_503" location="f37:526" file="f37" line="526"/>
+  </Function>
+  <Function id="_700" name="__wcstoul_internal" returns="_643" throw="" context="_1" location="f37:519" file="f37" line="519" extern="1">
+    <Argument name="__npt" type="_2780r" location="f37:519" file="f37" line="519"/>
+    <Argument name="__endptr" type="_2787r" location="f37:519" file="f37" line="519"/>
+    <Argument name="__base" type="_503" location="f37:519" file="f37" line="519"/>
+    <Argument name="__group" type="_503" location="f37:519" file="f37" line="519"/>
+  </Function>
+  <Function id="_701" name="__wcstol_internal" returns="_1553" throw="" context="_1" location="f37:513" file="f37" line="513" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:513" file="f37" line="513"/>
+    <Argument name="__endptr" type="_2787r" location="f37:513" file="f37" line="513"/>
+    <Argument name="__base" type="_503" location="f37:513" file="f37" line="513"/>
+    <Argument name="__group" type="_503" location="f37:513" file="f37" line="513"/>
+  </Function>
+  <Function id="_702" name="__wcstold_internal" returns="_483" throw="" context="_1" location="f37:508" file="f37" line="508" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:508" file="f37" line="508"/>
+    <Argument name="__endptr" type="_2787r" location="f37:508" file="f37" line="508"/>
+    <Argument name="__group" type="_503" location="f37:508" file="f37" line="508"/>
+  </Function>
+  <Function id="_703" name="__wcstof_internal" returns="_2751" throw="" context="_1" location="f37:505" file="f37" line="505" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:505" file="f37" line="505"/>
+    <Argument name="__endptr" type="_2787r" location="f37:505" file="f37" line="505"/>
+    <Argument name="__group" type="_503" location="f37:505" file="f37" line="505"/>
+  </Function>
+  <Function id="_704" name="__wcstod_internal" returns="_2753" throw="" context="_1" location="f37:502" file="f37" line="502" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:502" file="f37" line="502"/>
+    <Argument name="__endptr" type="_2787r" location="f37:502" file="f37" line="502"/>
+    <Argument name="__group" type="_503" location="f37:502" file="f37" line="502"/>
+  </Function>
+  <Function id="_705" name="wcstold_l" returns="_483" throw="" context="_1" location="f37:494" file="f37" line="494" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:494" file="f37" line="494"/>
+    <Argument name="__endptr" type="_2787r" location="f37:494" file="f37" line="494"/>
+    <Argument name="__loc" type="_1677" location="f37:494" file="f37" line="494"/>
+  </Function>
+  <Function id="_706" name="wcstof_l" returns="_2751" throw="" context="_1" location="f37:490" file="f37" line="490" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:490" file="f37" line="490"/>
+    <Argument name="__endptr" type="_2787r" location="f37:490" file="f37" line="490"/>
+    <Argument name="__loc" type="_1677" location="f37:490" file="f37" line="490"/>
+  </Function>
+  <Function id="_707" name="wcstod_l" returns="_2753" throw="" context="_1" location="f37:486" file="f37" line="486" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:486" file="f37" line="486"/>
+    <Argument name="__endptr" type="_2787r" location="f37:486" file="f37" line="486"/>
+    <Argument name="__loc" type="_1677" location="f37:486" file="f37" line="486"/>
+  </Function>
+  <Function id="_708" name="wcstoull_l" returns="_1288" throw="" context="_1" location="f37:482" file="f37" line="482" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:482" file="f37" line="482"/>
+    <Argument name="__endptr" type="_2787r" location="f37:482" file="f37" line="482"/>
+    <Argument name="__base" type="_503" location="f37:482" file="f37" line="482"/>
+    <Argument name="__loc" type="_1677" location="f37:482" file="f37" line="482"/>
+  </Function>
+  <Function id="_709" name="wcstoll_l" returns="_1290" throw="" context="_1" location="f37:476" file="f37" line="476" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:476" file="f37" line="476"/>
+    <Argument name="__endptr" type="_2787r" location="f37:476" file="f37" line="476"/>
+    <Argument name="__base" type="_503" location="f37:476" file="f37" line="476"/>
+    <Argument name="__loc" type="_1677" location="f37:476" file="f37" line="476"/>
+  </Function>
+  <Function id="_710" name="wcstoul_l" returns="_643" throw="" context="_1" location="f37:471" file="f37" line="471" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:471" file="f37" line="471"/>
+    <Argument name="__endptr" type="_2787r" location="f37:471" file="f37" line="471"/>
+    <Argument name="__base" type="_503" location="f37:471" file="f37" line="471"/>
+    <Argument name="__loc" type="_1677" location="f37:471" file="f37" line="471"/>
+  </Function>
+  <Function id="_711" name="wcstol_l" returns="_1553" throw="" context="_1" location="f37:467" file="f37" line="467" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:467" file="f37" line="467"/>
+    <Argument name="__endptr" type="_2787r" location="f37:467" file="f37" line="467"/>
+    <Argument name="__base" type="_503" location="f37:467" file="f37" line="467"/>
+    <Argument name="__loc" type="_1677" location="f37:467" file="f37" line="467"/>
+  </Function>
+  <Function id="_712" name="wcstouq" returns="_1288" throw="" context="_1" location="f37:444" file="f37" line="444" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:444" file="f37" line="444"/>
+    <Argument name="__endptr" type="_2787r" location="f37:444" file="f37" line="444"/>
+    <Argument name="__base" type="_503" location="f37:444" file="f37" line="444"/>
+  </Function>
+  <Function id="_713" name="wcstoq" returns="_1290" throw="" context="_1" location="f37:437" file="f37" line="437" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:437" file="f37" line="437"/>
+    <Argument name="__endptr" type="_2787r" location="f37:437" file="f37" line="437"/>
+    <Argument name="__base" type="_503" location="f37:437" file="f37" line="437"/>
+  </Function>
+  <Function id="_714" name="wcstoull" returns="_1288" throw="" context="_1" location="f37:427" file="f37" line="427" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:427" file="f37" line="427"/>
+    <Argument name="__endptr" type="_2787r" location="f37:427" file="f37" line="427"/>
+    <Argument name="__base" type="_503" location="f37:427" file="f37" line="427"/>
+  </Function>
+  <Function id="_715" name="wcstoll" returns="_1290" throw="" context="_1" location="f37:420" file="f37" line="420" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:420" file="f37" line="420"/>
+    <Argument name="__endptr" type="_2787r" location="f37:420" file="f37" line="420"/>
+    <Argument name="__base" type="_503" location="f37:420" file="f37" line="420"/>
+  </Function>
+  <Function id="_716" name="wcstoul" returns="_643" throw="" context="_1" location="f37:412" file="f37" line="412" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:412" file="f37" line="412"/>
+    <Argument name="__endptr" type="_2787r" location="f37:412" file="f37" line="412"/>
+    <Argument name="__base" type="_503" location="f37:412" file="f37" line="412"/>
+  </Function>
+  <Function id="_717" name="wcstol" returns="_1553" throw="" context="_1" location="f37:406" file="f37" line="406" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:406" file="f37" line="406"/>
+    <Argument name="__endptr" type="_2787r" location="f37:406" file="f37" line="406"/>
+    <Argument name="__base" type="_503" location="f37:406" file="f37" line="406"/>
+  </Function>
+  <Function id="_718" name="wcstold" returns="_483" throw="" context="_1" location="f37:399" file="f37" line="399" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:399" file="f37" line="399"/>
+    <Argument name="__endptr" type="_2787r" location="f37:399" file="f37" line="399"/>
+  </Function>
+  <Function id="_719" name="wcstof" returns="_2751" throw="" context="_1" location="f37:397" file="f37" line="397" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:397" file="f37" line="397"/>
+    <Argument name="__endptr" type="_2787r" location="f37:397" file="f37" line="397"/>
+  </Function>
+  <Function id="_720" name="wcstod" returns="_2753" throw="" context="_1" location="f37:392" file="f37" line="392" extern="1">
+    <Argument name="__nptr" type="_2780r" location="f37:392" file="f37" line="392"/>
+    <Argument name="__endptr" type="_2787r" location="f37:392" file="f37" line="392"/>
+  </Function>
+  <Function id="_721" name="wcswidth" returns="_503" throw="" context="_1" location="f37:384" file="f37" line="384" extern="1">
+    <Argument name="__s" type="_2780" location="f37:384" file="f37" line="384"/>
+    <Argument name="__n" type="_1698" location="f37:384" file="f37" line="384"/>
+  </Function>
+  <Function id="_722" name="wcwidth" returns="_503" throw="" context="_1" location="f37:380" file="f37" line="380" extern="1">
+    <Argument name="__c" type="_2786" location="f37:380" file="f37" line="380"/>
+  </Function>
+  <Function id="_723" name="wcsnrtombs" returns="_1698" throw="" context="_1" location="f37:373" file="f37" line="373" extern="1">
+    <Argument name="__dst" type="_1149r" location="f37:373" file="f37" line="373"/>
+    <Argument name="__src" type="_2790r" location="f37:373" file="f37" line="373"/>
+    <Argument name="__nwc" type="_1698" location="f37:373" file="f37" line="373"/>
+    <Argument name="__len" type="_1698" location="f37:373" file="f37" line="373"/>
+    <Argument name="__ps" type="_2792r" location="f37:373" file="f37" line="373"/>
+  </Function>
+  <Function id="_724" name="mbsnrtowcs" returns="_1698" throw="" context="_1" location="f37:366" file="f37" line="366" extern="1">
+    <Argument name="__dst" type="_2778r" location="f37:366" file="f37" line="366"/>
+    <Argument name="__src" type="_2794r" location="f37:366" file="f37" line="366"/>
+    <Argument name="__nmc" type="_1698" location="f37:366" file="f37" line="366"/>
+    <Argument name="__len" type="_1698" location="f37:366" file="f37" line="366"/>
+    <Argument name="__ps" type="_2792r" location="f37:366" file="f37" line="366"/>
+  </Function>
+  <Function id="_725" name="wcsrtombs" returns="_1698" throw="" context="_1" location="f37:357" file="f37" line="357" extern="1">
+    <Argument name="__dst" type="_1149r" location="f37:357" file="f37" line="357"/>
+    <Argument name="__src" type="_2790r" location="f37:357" file="f37" line="357"/>
+    <Argument name="__len" type="_1698" location="f37:357" file="f37" line="357"/>
+    <Argument name="__ps" type="_2792r" location="f37:357" file="f37" line="357"/>
+  </Function>
+  <Function id="_726" name="mbsrtowcs" returns="_1698" throw="" context="_1" location="f37:351" file="f37" line="351" extern="1">
+    <Argument name="__dst" type="_2778r" location="f37:351" file="f37" line="351"/>
+    <Argument name="__src" type="_2794r" location="f37:351" file="f37" line="351"/>
+    <Argument name="__len" type="_1698" location="f37:351" file="f37" line="351"/>
+    <Argument name="__ps" type="_2792r" location="f37:351" file="f37" line="351"/>
+  </Function>
+  <Function id="_727" name="mbrlen" returns="_1698" throw="" context="_1" location="f37:318" file="f37" line="318" extern="1">
+    <Argument name="__s" type="_2749r" location="f37:318" file="f37" line="318"/>
+    <Argument name="__n" type="_1698" location="f37:318" file="f37" line="318"/>
+    <Argument name="__ps" type="_2792r" location="f37:318" file="f37" line="318"/>
+  </Function>
+  <Function id="_728" name="__mbrlen" returns="_1698" throw="" context="_1" location="f37:316" file="f37" line="316" extern="1">
+    <Argument name="__s" type="_2749r" location="f37:316" file="f37" line="316"/>
+    <Argument name="__n" type="_1698" location="f37:316" file="f37" line="316"/>
+    <Argument name="__ps" type="_2792r" location="f37:316" file="f37" line="316"/>
+  </Function>
+  <Function id="_729" name="wcrtomb" returns="_1698" throw="" context="_1" location="f37:312" file="f37" line="312" extern="1">
+    <Argument name="__s" type="_1149r" location="f37:312" file="f37" line="312"/>
+    <Argument name="__wc" type="_2786" location="f37:312" file="f37" line="312"/>
+    <Argument name="__ps" type="_2792r" location="f37:312" file="f37" line="312"/>
+  </Function>
+  <Function id="_730" name="mbrtowc" returns="_1698" throw="" context="_1" location="f37:308" file="f37" line="308" extern="1">
+    <Argument name="__pwc" type="_2778r" location="f37:308" file="f37" line="308"/>
+    <Argument name="__s" type="_2749r" location="f37:308" file="f37" line="308"/>
+    <Argument name="__n" type="_1698" location="f37:308" file="f37" line="308"/>
+    <Argument name="__p" type="_2792" location="f37:308" file="f37" line="308"/>
+  </Function>
+  <Function id="_731" name="mbsinit" returns="_503" throw="" context="_1" location="f37:302" file="f37" line="302" extern="1" attributes="__pure__">
+    <Argument name="__ps" type="_2797" location="f37:302" file="f37" line="302"/>
+  </Function>
+  <Function id="_732" name="wctob" returns="_503" throw="" context="_1" location="f37:298" file="f37" line="298" extern="1">
+    <Argument name="__c" type="_1232" location="f37:298" file="f37" line="298"/>
+  </Function>
+  <Function id="_733" name="btowc" returns="_1232" throw="" context="_1" location="f37:294" file="f37" line="294" extern="1">
+    <Argument name="__c" type="_503" location="f37:294" file="f37" line="294"/>
+  </Function>
+  <Function id="_734" name="wmempcpy" returns="_2778" throw="" context="_1" location="f37:287" file="f37" line="287" extern="1">
+    <Argument name="__s1" type="_2778r" location="f37:287" file="f37" line="287"/>
+    <Argument name="__s2" type="_2780r" location="f37:287" file="f37" line="287"/>
+    <Argument name="__n" type="_1698" location="f37:287" file="f37" line="287"/>
+  </Function>
+  <Function id="_735" name="wmemset" returns="_2778" throw="" context="_1" location="f37:279" file="f37" line="279" extern="1">
+    <Argument name="__s" type="_2778" location="f37:279" file="f37" line="279"/>
+    <Argument name="__c" type="_2786" location="f37:279" file="f37" line="279"/>
+    <Argument name="__n" type="_1698" location="f37:279" file="f37" line="279"/>
+  </Function>
+  <Function id="_736" name="wmemmove" returns="_2778" throw="" context="_1" location="f37:276" file="f37" line="276" extern="1">
+    <Argument name="__s1" type="_2778" location="f37:276" file="f37" line="276"/>
+    <Argument name="__s2" type="_2780" location="f37:276" file="f37" line="276"/>
+    <Argument name="__n" type="_1698" location="f37:276" file="f37" line="276"/>
+  </Function>
+  <Function id="_737" name="wmemcpy" returns="_2778" throw="" context="_1" location="f37:271" file="f37" line="271" extern="1">
+    <Argument name="__s1" type="_2778r" location="f37:271" file="f37" line="271"/>
+    <Argument name="__s2" type="_2780r" location="f37:271" file="f37" line="271"/>
+    <Argument name="__n" type="_1698" location="f37:271" file="f37" line="271"/>
+  </Function>
+  <Function id="_738" name="wmemcmp" returns="_503" throw="" context="_1" location="f37:267" file="f37" line="267" extern="1" attributes="__pure__">
+    <Argument name="__s1" type="_2780r" location="f37:267" file="f37" line="267"/>
+    <Argument name="__s2" type="_2780r" location="f37:267" file="f37" line="267"/>
+    <Argument name="__n" type="_1698" location="f37:267" file="f37" line="267"/>
+  </Function>
+  <Function id="_739" name="wmemchr" returns="_2778" throw="" context="_1" location="f37:262" file="f37" line="262" extern="1" attributes="__pure__">
+    <Argument name="__s" type="_2780" location="f37:262" file="f37" line="262"/>
+    <Argument name="__c" type="_2786" location="f37:262" file="f37" line="262"/>
+    <Argument name="__n" type="_1698" location="f37:262" file="f37" line="262"/>
+  </Function>
+  <Function id="_740" name="wcsnlen" returns="_1698" throw="" context="_1" location="f37:255" file="f37" line="255" extern="1" attributes="__pure__">
+    <Argument name="__s" type="_2780" location="f37:255" file="f37" line="255"/>
+    <Argument name="__maxlen" type="_1698" location="f37:255" file="f37" line="255"/>
+  </Function>
+  <Function id="_741" name="wcswcs" returns="_2778" throw="" context="_1" location="f37:249" file="f37" line="249" extern="1" attributes="__pure__">
+    <Argument name="__haystack" type="_2780" location="f37:249" file="f37" line="249"/>
+    <Argument name="__needle" type="_2780" location="f37:249" file="f37" line="249"/>
+  </Function>
+  <Function id="_742" name="wcslen" returns="_1698" throw="" context="_1" location="f37:243" file="f37" line="243" extern="1" attributes="__pure__">
+    <Argument name="__s" type="_2780" location="f37:243" file="f37" line="243"/>
+  </Function>
+  <Function id="_743" name="wcstok" returns="_2778" throw="" context="_1" location="f37:240" file="f37" line="240" extern="1">
+    <Argument name="__s" type="_2778r" location="f37:240" file="f37" line="240"/>
+    <Argument name="__delim" type="_2780r" location="f37:240" file="f37" line="240"/>
+    <Argument name="__ptr" type="_2787r" location="f37:240" file="f37" line="240"/>
+  </Function>
+  <Function id="_744" name="wcsstr" returns="_2778" throw="" context="_1" location="f37:235" file="f37" line="235" extern="1" attributes="__pure__">
+    <Argument name="__haystack" type="_2780" location="f37:235" file="f37" line="235"/>
+    <Argument name="__needle" type="_2780" location="f37:235" file="f37" line="235"/>
+  </Function>
+  <Function id="_745" name="wcspbrk" returns="_2778" throw="" context="_1" location="f37:232" file="f37" line="232" extern="1" attributes="__pure__">
+    <Argument name="__wcs" type="_2780" location="f37:232" file="f37" line="232"/>
+    <Argument name="__accept" type="_2780" location="f37:232" file="f37" line="232"/>
+  </Function>
+  <Function id="_746" name="wcsspn" returns="_1698" throw="" context="_1" location="f37:229" file="f37" line="229" extern="1" attributes="__pure__">
+    <Argument name="__wcs" type="_2780" location="f37:229" file="f37" line="229"/>
+    <Argument name="__accept" type="_2780" location="f37:229" file="f37" line="229"/>
+  </Function>
+  <Function id="_747" name="wcscspn" returns="_1698" throw="" context="_1" location="f37:225" file="f37" line="225" extern="1" attributes="__pure__">
+    <Argument name="__wcs" type="_2780" location="f37:225" file="f37" line="225"/>
+    <Argument name="__reject" type="_2780" location="f37:225" file="f37" line="225"/>
+  </Function>
+  <Function id="_748" name="wcschrnul" returns="_2778" throw="" context="_1" location="f37:218" file="f37" line="218" extern="1" attributes="__pure__">
+    <Argument name="__s" type="_2780" location="f37:218" file="f37" line="218"/>
+    <Argument name="__wc" type="_2786" location="f37:218" file="f37" line="218"/>
+  </Function>
+  <Function id="_749" name="wcsrchr" returns="_2778" throw="" context="_1" location="f37:211" file="f37" line="211" extern="1" attributes="__pure__">
+    <Argument name="__wcs" type="_2780" location="f37:211" file="f37" line="211"/>
+    <Argument name="__wc" type="_2786" location="f37:211" file="f37" line="211"/>
+  </Function>
+  <Function id="_750" name="wcschr" returns="_2778" throw="" context="_1" location="f37:208" file="f37" line="208" extern="1" attributes="__pure__">
+    <Argument name="__wcs" type="_2780" location="f37:208" file="f37" line="208"/>
+    <Argument name="__wc" type="_2786" location="f37:208" file="f37" line="208"/>
+  </Function>
+  <Function id="_751" name="wcsdup" returns="_2778" throw="" context="_1" location="f37:202" file="f37" line="202" extern="1" attributes="__malloc__">
+    <Argument name="__s" type="_2780" location="f37:202" file="f37" line="202"/>
+  </Function>
+  <Function id="_752" name="wcsxfrm_l" returns="_1698" throw="" context="_1" location="f37:199" file="f37" line="199" extern="1">
+    <Argument name="__s1" type="_2778" location="f37:199" file="f37" line="199"/>
+    <Argument name="__s2" type="_2780" location="f37:199" file="f37" line="199"/>
+    <Argument name="__n" type="_1698" location="f37:199" file="f37" line="199"/>
+    <Argument name="__loc" type="_1677" location="f37:199" file="f37" line="199"/>
+  </Function>
+  <Function id="_753" name="wcscoll_l" returns="_503" throw="" context="_1" location="f37:193" file="f37" line="193" extern="1">
+    <Argument name="__s1" type="_2780" location="f37:193" file="f37" line="193"/>
+    <Argument name="__s2" type="_2780" location="f37:193" file="f37" line="193"/>
+    <Argument name="__loc" type="_1677" location="f37:193" file="f37" line="193"/>
+  </Function>
+  <Function id="_754" name="wcsxfrm" returns="_1698" throw="" context="_1" location="f37:183" file="f37" line="183" extern="1">
+    <Argument name="__s1" type="_2778r" location="f37:183" file="f37" line="183"/>
+    <Argument name="__s2" type="_2780r" location="f37:183" file="f37" line="183"/>
+    <Argument name="__n" type="_1698" location="f37:183" file="f37" line="183"/>
+  </Function>
+  <Function id="_755" name="wcscoll" returns="_503" throw="" context="_1" location="f37:178" file="f37" line="178" extern="1">
+    <Argument name="__s1" type="_2780" location="f37:178" file="f37" line="178"/>
+    <Argument name="__s2" type="_2780" location="f37:178" file="f37" line="178"/>
+  </Function>
+  <Function id="_756" name="wcsncasecmp_l" returns="_503" throw="" context="_1" location="f37:172" file="f37" line="172" extern="1">
+    <Argument name="__s1" type="_2780" location="f37:172" file="f37" line="172"/>
+    <Argument name="__s2" type="_2780" location="f37:172" file="f37" line="172"/>
+    <Argument name="__n" type="_1698" location="f37:172" file="f37" line="172"/>
+    <Argument name="__loc" type="_1677" location="f37:172" file="f37" line="172"/>
+  </Function>
+  <Function id="_757" name="wcscasecmp_l" returns="_503" throw="" context="_1" location="f37:169" file="f37" line="169" extern="1">
+    <Argument name="__s1" type="_2780" location="f37:169" file="f37" line="169"/>
+    <Argument name="__s2" type="_2780" location="f37:169" file="f37" line="169"/>
+    <Argument name="__loc" type="_1677" location="f37:169" file="f37" line="169"/>
+  </Function>
+  <Function id="_758" name="wcsncasecmp" returns="_503" throw="" context="_1" location="f37:162" file="f37" line="162" extern="1">
+    <Argument name="__s1" type="_2780" location="f37:162" file="f37" line="162"/>
+    <Argument name="__s2" type="_2780" location="f37:162" file="f37" line="162"/>
+    <Argument name="__n" type="_1698" location="f37:162" file="f37" line="162"/>
+  </Function>
+  <Function id="_759" name="wcscasecmp" returns="_503" throw="" context="_1" location="f37:158" file="f37" line="158" extern="1">
+    <Argument name="__s1" type="_2780" location="f37:158" file="f37" line="158"/>
+    <Argument name="__s2" type="_2780" location="f37:158" file="f37" line="158"/>
+  </Function>
+  <Function id="_760" name="wcsncmp" returns="_503" throw="" context="_1" location="f37:153" file="f37" line="153" extern="1" attributes="__pure__">
+    <Argument name="__s1" type="_2780" location="f37:153" file="f37" line="153"/>
+    <Argument name="__s2" type="_2780" location="f37:153" file="f37" line="153"/>
+    <Argument name="__n" type="_1698" location="f37:153" file="f37" line="153"/>
+  </Function>
+  <Function id="_761" name="wcscmp" returns="_503" throw="" context="_1" location="f37:150" file="f37" line="150" extern="1" attributes="__pure__">
+    <Argument name="__s1" type="_2780" location="f37:150" file="f37" line="150"/>
+    <Argument name="__s2" type="_2780" location="f37:150" file="f37" line="150"/>
+  </Function>
+  <Function id="_762" name="wcsncat" returns="_2778" throw="" context="_1" location="f37:146" file="f37" line="146" extern="1">
+    <Argument name="__dest" type="_2778r" location="f37:146" file="f37" line="146"/>
+    <Argument name="__src" type="_2780r" location="f37:146" file="f37" line="146"/>
+    <Argument name="__n" type="_1698" location="f37:146" file="f37" line="146"/>
+  </Function>
+  <Function id="_763" name="wcscat" returns="_2778" throw="" context="_1" location="f37:142" file="f37" line="142" extern="1">
+    <Argument name="__dest" type="_2778r" location="f37:142" file="f37" line="142"/>
+    <Argument name="__src" type="_2780r" location="f37:142" file="f37" line="142"/>
+  </Function>
+  <Function id="_764" name="wcsncpy" returns="_2778" throw="" context="_1" location="f37:138" file="f37" line="138" extern="1">
+    <Argument name="__dest" type="_2778r" location="f37:138" file="f37" line="138"/>
+    <Argument name="__src" type="_2780r" location="f37:138" file="f37" line="138"/>
+    <Argument name="__n" type="_1698" location="f37:138" file="f37" line="138"/>
+  </Function>
+  <Function id="_765" name="wcscpy" returns="_2778" throw="" context="_1" location="f37:134" file="f37" line="134" extern="1">
+    <Argument name="__dest" type="_2778r" location="f37:134" file="f37" line="134"/>
+    <Argument name="__src" type="_2780r" location="f37:134" file="f37" line="134"/>
+  </Function>
+  <Struct id="_766" name="__mbstate_t" context="_1" mangled="11__mbstate_t" demangled="__mbstate_t" location="f37:84" file="f37" line="84" size="64" align="32" members="_2798 _2799 _2800 _2801 _2802 " bases=""/>
+  <Typedef id="_767" name="mbstate_t" type="_766" context="_1" location="f37:95" file="f37" line="95"/>
+  <Function id="_768" name="toupper_l" returns="_503" throw="" context="_1" location="f38:268" file="f38" line="268" extern="1">
+    <Argument name="__c" type="_503" location="f38:268" file="f38" line="268"/>
+    <Argument name="__l" type="_1677" location="f38:268" file="f38" line="268"/>
+  </Function>
+  <Function id="_769" name="__toupper_l" returns="_503" throw="" context="_1" location="f38:267" file="f38" line="267" extern="1">
+    <Argument name="__c" type="_503" location="f38:267" file="f38" line="267"/>
+    <Argument name="__l" type="_1677" location="f38:267" file="f38" line="267"/>
+  </Function>
+  <Function id="_770" name="tolower_l" returns="_503" throw="" context="_1" location="f38:264" file="f38" line="264" extern="1">
+    <Argument name="__c" type="_503" location="f38:264" file="f38" line="264"/>
+    <Argument name="__l" type="_1677" location="f38:264" file="f38" line="264"/>
+  </Function>
+  <Function id="_771" name="__tolower_l" returns="_503" throw="" context="_1" location="f38:263" file="f38" line="263" extern="1">
+    <Argument name="__c" type="_503" location="f38:263" file="f38" line="263"/>
+    <Argument name="__l" type="_1677" location="f38:263" file="f38" line="263"/>
+  </Function>
+  <Function id="_772" name="isblank_l" returns="_503" throw="" context="_1" location="f38:259" file="f38" line="259" extern="1">
+    <Argument type="_503" location="f38:259" file="f38" line="259"/>
+    <Argument type="_1677" location="f38:259" file="f38" line="259"/>
+  </Function>
+  <Function id="_773" name="isxdigit_l" returns="_503" throw="" context="_1" location="f38:257" file="f38" line="257" extern="1">
+    <Argument type="_503" location="f38:257" file="f38" line="257"/>
+    <Argument type="_1677" location="f38:257" file="f38" line="257"/>
+  </Function>
+  <Function id="_774" name="isupper_l" returns="_503" throw="" context="_1" location="f38:256" file="f38" line="256" extern="1">
+    <Argument type="_503" location="f38:256" file="f38" line="256"/>
+    <Argument type="_1677" location="f38:256" file="f38" line="256"/>
+  </Function>
+  <Function id="_775" name="isspace_l" returns="_503" throw="" context="_1" location="f38:255" file="f38" line="255" extern="1">
+    <Argument type="_503" location="f38:255" file="f38" line="255"/>
+    <Argument type="_1677" location="f38:255" file="f38" line="255"/>
+  </Function>
+  <Function id="_776" name="ispunct_l" returns="_503" throw="" context="_1" location="f38:254" file="f38" line="254" extern="1">
+    <Argument type="_503" location="f38:254" file="f38" line="254"/>
+    <Argument type="_1677" location="f38:254" file="f38" line="254"/>
+  </Function>
+  <Function id="_777" name="isprint_l" returns="_503" throw="" context="_1" location="f38:253" file="f38" line="253" extern="1">
+    <Argument type="_503" location="f38:253" file="f38" line="253"/>
+    <Argument type="_1677" location="f38:253" file="f38" line="253"/>
+  </Function>
+  <Function id="_778" name="isgraph_l" returns="_503" throw="" context="_1" location="f38:252" file="f38" line="252" extern="1">
+    <Argument type="_503" location="f38:252" file="f38" line="252"/>
+    <Argument type="_1677" location="f38:252" file="f38" line="252"/>
+  </Function>
+  <Function id="_779" name="islower_l" returns="_503" throw="" context="_1" location="f38:251" file="f38" line="251" extern="1">
+    <Argument type="_503" location="f38:251" file="f38" line="251"/>
+    <Argument type="_1677" location="f38:251" file="f38" line="251"/>
+  </Function>
+  <Function id="_780" name="isdigit_l" returns="_503" throw="" context="_1" location="f38:250" file="f38" line="250" extern="1">
+    <Argument type="_503" location="f38:250" file="f38" line="250"/>
+    <Argument type="_1677" location="f38:250" file="f38" line="250"/>
+  </Function>
+  <Function id="_781" name="iscntrl_l" returns="_503" throw="" context="_1" location="f38:249" file="f38" line="249" extern="1">
+    <Argument type="_503" location="f38:249" file="f38" line="249"/>
+    <Argument type="_1677" location="f38:249" file="f38" line="249"/>
+  </Function>
+  <Function id="_782" name="isalpha_l" returns="_503" throw="" context="_1" location="f38:248" file="f38" line="248" extern="1">
+    <Argument type="_503" location="f38:248" file="f38" line="248"/>
+    <Argument type="_1677" location="f38:248" file="f38" line="248"/>
+  </Function>
+  <Function id="_783" name="isalnum_l" returns="_503" throw="" context="_1" location="f38:247" file="f38" line="247" extern="1">
+    <Argument type="_503" location="f38:247" file="f38" line="247"/>
+    <Argument type="_1677" location="f38:247" file="f38" line="247"/>
+  </Function>
+  <Function id="_784" name="_tolower" returns="_503" throw="" context="_1" location="f38:151" file="f38" line="151" extern="1">
+    <Argument type="_503" location="f38:151" file="f38" line="151"/>
+  </Function>
+  <Function id="_785" name="_toupper" returns="_503" throw="" context="_1" location="f38:150" file="f38" line="150" extern="1">
+    <Argument type="_503" location="f38:150" file="f38" line="150"/>
+  </Function>
+  <Function id="_786" name="toascii" returns="_503" throw="" context="_1" location="f38:146" file="f38" line="146" extern="1">
+    <Argument name="__c" type="_503" location="f38:146" file="f38" line="146"/>
+  </Function>
+  <Function id="_787" name="isascii" returns="_503" throw="" context="_1" location="f38:142" file="f38" line="142" extern="1">
+    <Argument name="__c" type="_503" location="f38:142" file="f38" line="142"/>
+  </Function>
+  <Function id="_788" name="isctype" returns="_503" throw="" context="_1" location="f38:135" file="f38" line="135" extern="1">
+    <Argument name="__c" type="_503" location="f38:135" file="f38" line="135"/>
+    <Argument name="__mask" type="_503" location="f38:135" file="f38" line="135"/>
+  </Function>
+  <Function id="_789" name="isblank" returns="_503" throw="" context="_1" location="f38:128" file="f38" line="128" extern="1">
+    <Argument type="_503" location="f38:128" file="f38" line="128"/>
+  </Function>
+  <Function id="_790" name="toupper" returns="_503" throw="" context="_1" location="f38:119" file="f38" line="119" extern="1">
+    <Argument name="__c" type="_503" location="f38:119" file="f38" line="119"/>
+  </Function>
+  <Function id="_791" name="tolower" returns="_503" throw="" context="_1" location="f38:116" file="f38" line="116" extern="1">
+    <Argument name="__c" type="_503" location="f38:116" file="f38" line="116"/>
+  </Function>
+  <Function id="_792" name="isxdigit" returns="_503" throw="" context="_1" location="f38:112" file="f38" line="112" extern="1">
+    <Argument type="_503" location="f38:112" file="f38" line="112"/>
+  </Function>
+  <Function id="_793" name="isupper" returns="_503" throw="" context="_1" location="f38:111" file="f38" line="111" extern="1">
+    <Argument type="_503" location="f38:111" file="f38" line="111"/>
+  </Function>
+  <Function id="_794" name="isspace" returns="_503" throw="" context="_1" location="f38:110" file="f38" line="110" extern="1">
+    <Argument type="_503" location="f38:110" file="f38" line="110"/>
+  </Function>
+  <Function id="_795" name="ispunct" returns="_503" throw="" context="_1" location="f38:109" file="f38" line="109" extern="1">
+    <Argument type="_503" location="f38:109" file="f38" line="109"/>
+  </Function>
+  <Function id="_796" name="isprint" returns="_503" throw="" context="_1" location="f38:108" file="f38" line="108" extern="1">
+    <Argument type="_503" location="f38:108" file="f38" line="108"/>
+  </Function>
+  <Function id="_797" name="isgraph" returns="_503" throw="" context="_1" location="f38:107" file="f38" line="107" extern="1">
+    <Argument type="_503" location="f38:107" file="f38" line="107"/>
+  </Function>
+  <Function id="_798" name="islower" returns="_503" throw="" context="_1" location="f38:106" file="f38" line="106" extern="1">
+    <Argument type="_503" location="f38:106" file="f38" line="106"/>
+  </Function>
+  <Function id="_799" name="isdigit" returns="_503" throw="" context="_1" location="f38:105" file="f38" line="105" extern="1">
+    <Argument type="_503" location="f38:105" file="f38" line="105"/>
+  </Function>
+  <Function id="_800" name="iscntrl" returns="_503" throw="" context="_1" location="f38:104" file="f38" line="104" extern="1">
+    <Argument type="_503" location="f38:104" file="f38" line="104"/>
+  </Function>
+  <Function id="_801" name="isalpha" returns="_503" throw="" context="_1" location="f38:103" file="f38" line="103" extern="1">
+    <Argument type="_503" location="f38:103" file="f38" line="103"/>
+  </Function>
+  <Function id="_802" name="isalnum" returns="_503" throw="" context="_1" location="f38:102" file="f38" line="102" extern="1">
+    <Argument type="_503" location="f38:102" file="f38" line="102"/>
+  </Function>
+  <Function id="_803" name="__ctype_toupper_loc" returns="_2803" context="_1" location="f38:86" file="f38" line="86" extern="1" attributes="const"/>
+  <Function id="_804" name="__ctype_tolower_loc" returns="_2803" context="_1" location="f38:84" file="f38" line="84" extern="1" attributes="const"/>
+  <Function id="_805" name="__ctype_b_loc" returns="_2804" context="_1" location="f38:82" file="f38" line="82" extern="1" attributes="const"/>
+  <Enumeration id="_806" name="._76" context="_1" location="f38:49" file="f38" line="49" artificial="1" size="32" align="32">
+    <EnumValue name="_ISupper" init="256"/>
+    <EnumValue name="_ISlower" init="512"/>
+    <EnumValue name="_ISalpha" init="1024"/>
+    <EnumValue name="_ISdigit" init="2048"/>
+    <EnumValue name="_ISxdigit" init="4096"/>
+    <EnumValue name="_ISspace" init="8192"/>
+    <EnumValue name="_ISprint" init="16384"/>
+    <EnumValue name="_ISgraph" init="32768"/>
+    <EnumValue name="_ISblank" init="1"/>
+    <EnumValue name="_IScntrl" init="2"/>
+    <EnumValue name="_ISpunct" init="4"/>
+    <EnumValue name="_ISalnum" init="8"/>
+  </Enumeration>
+  <Function id="_807" name="__gthread_recursive_mutex_unlock" returns="_503" context="_1" mangled="_Z32__gthread_recursive_mutex_unlockP15pthread_mutex_t" demangled="__gthread_recursive_mutex_unlock(pthread_mutex_t*)" location="f39:608" file="f39" line="608" endline="610" inline="1">
+    <Argument name="mutex" type="_2805" location="f39:608" file="f39" line="608"/>
+  </Function>
+  <Function id="_808" name="__gthread_recursive_mutex_trylock" returns="_503" context="_1" mangled="_Z33__gthread_recursive_mutex_trylockP15pthread_mutex_t" demangled="__gthread_recursive_mutex_trylock(pthread_mutex_t*)" location="f39:602" file="f39" line="602" endline="604" inline="1">
+    <Argument name="mutex" type="_2805" location="f39:602" file="f39" line="602"/>
+  </Function>
+  <Function id="_809" name="__gthread_recursive_mutex_lock" returns="_503" context="_1" mangled="_Z30__gthread_recursive_mutex_lockP15pthread_mutex_t" demangled="__gthread_recursive_mutex_lock(pthread_mutex_t*)" location="f39:596" file="f39" line="596" endline="598" inline="1">
+    <Argument name="mutex" type="_2805" location="f39:596" file="f39" line="596"/>
+  </Function>
+  <Function id="_810" name="__gthread_mutex_unlock" returns="_503" context="_1" mangled="_Z22__gthread_mutex_unlockP15pthread_mutex_t" demangled="__gthread_mutex_unlock(pthread_mutex_t*)" location="f39:565" file="f39" line="565" endline="570" inline="1">
+    <Argument name="mutex" type="_2806" location="f39:565" file="f39" line="565"/>
+  </Function>
+  <Function id="_811" name="__gthread_mutex_trylock" returns="_503" context="_1" mangled="_Z23__gthread_mutex_trylockP15pthread_mutex_t" demangled="__gthread_mutex_trylock(pthread_mutex_t*)" location="f39:556" file="f39" line="556" endline="561" inline="1">
+    <Argument name="mutex" type="_2806" location="f39:556" file="f39" line="556"/>
+  </Function>
+  <Function id="_812" name="__gthread_mutex_lock" returns="_503" context="_1" mangled="_Z20__gthread_mutex_lockP15pthread_mutex_t" demangled="__gthread_mutex_lock(pthread_mutex_t*)" location="f39:547" file="f39" line="547" endline="552" inline="1">
+    <Argument name="mutex" type="_2806" location="f39:547" file="f39" line="547"/>
+  </Function>
+  <Function id="_813" name="__gthread_setspecific" returns="_503" context="_1" mangled="_Z21__gthread_setspecificjPKv" demangled="__gthread_setspecific(unsigned, void const*)" location="f39:541" file="f39" line="541" endline="543" inline="1">
+    <Argument name="key" type="_838" location="f39:541" file="f39" line="541"/>
+    <Argument name="ptr" type="_2807" location="f39:541" file="f39" line="541"/>
+  </Function>
+  <Function id="_814" name="__gthread_getspecific" returns="_1042" context="_1" mangled="_Z21__gthread_getspecificj" demangled="__gthread_getspecific(unsigned)" location="f39:535" file="f39" line="535" endline="537" inline="1">
+    <Argument name="key" type="_838" location="f39:535" file="f39" line="535"/>
+  </Function>
+  <Function id="_815" name="__gthread_key_delete" returns="_503" context="_1" mangled="_Z20__gthread_key_deletej" demangled="__gthread_key_delete(unsigned)" location="f39:529" file="f39" line="529" endline="531" inline="1">
+    <Argument name="key" type="_838" location="f39:529" file="f39" line="529"/>
+  </Function>
+  <Function id="_816" name="__gthread_key_create" returns="_503" context="_1" mangled="_Z20__gthread_key_createPjPFvPvE" demangled="__gthread_key_create(unsigned*, void (*)(void*))" location="f39:523" file="f39" line="523" endline="525" inline="1">
+    <Argument name="key" type="_2808" location="f39:523" file="f39" line="523"/>
+    <Argument name="dtor" type="_1208" location="f39:523" file="f39" line="523"/>
+  </Function>
+  <Function id="_817" name="__gthread_once" returns="_503" context="_1" mangled="_Z14__gthread_oncePiPFvvE" demangled="__gthread_once(int*, void (*)())" location="f39:514" file="f39" line="514" endline="519" inline="1">
+    <Argument name="once" type="_2809" location="f39:514" file="f39" line="514"/>
+    <Argument name="func" type="_2254" location="f39:514" file="f39" line="514"/>
+  </Function>
+  <Function id="_818" name="__gthread_active_p" returns="_503" context="_1" mangled="_Z18__gthread_active_pv" demangled="__gthread_active_p()" location="f39:147" file="f39" line="147" endline="151" inline="1"/>
+  <Function id="_819" name="__gthrw_pthread_mutexattr_destroy" returns="_503" throw="" context="_1" mangled="_Z33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t" demangled="__gthrw_pthread_mutexattr_destroy(pthread_mutexattr_t*)" location="f39:103" file="f39" line="103" extern="1">
+    <Argument type="_2810" location="f39:103" file="f39" line="103"/>
+  </Function>
+  <Function id="_820" name="__gthrw_pthread_mutexattr_settype" returns="_503" throw="" context="_1" mangled="_Z33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti" demangled="__gthrw_pthread_mutexattr_settype(pthread_mutexattr_t*, int)" location="f39:102" file="f39" line="102" extern="1">
+    <Argument type="_2810" location="f39:102" file="f39" line="102"/>
+    <Argument type="_503" location="f39:102" file="f39" line="102"/>
+  </Function>
+  <Function id="_821" name="__gthrw_pthread_mutexattr_init" returns="_503" throw="" context="_1" mangled="_Z30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t" demangled="__gthrw_pthread_mutexattr_init(pthread_mutexattr_t*)" location="f39:101" file="f39" line="101" extern="1">
+    <Argument type="_2810" location="f39:101" file="f39" line="101"/>
+  </Function>
+  <Function id="_822" name="__gthrw_pthread_key_delete" returns="_503" throw="" context="_1" mangled="_Z26__gthrw_pthread_key_deletej" demangled="__gthrw_pthread_key_delete(unsigned)" location="f39:100" file="f39" line="100" extern="1">
+    <Argument type="_837" location="f39:100" file="f39" line="100"/>
+  </Function>
+  <Function id="_823" name="__gthrw_pthread_key_create" returns="_503" throw="" context="_1" mangled="_Z26__gthrw_pthread_key_createPjPFvPvE" demangled="__gthrw_pthread_key_create(unsigned*, void (*)(void*))" location="f39:99" file="f39" line="99" extern="1">
+    <Argument type="_2811" location="f39:99" file="f39" line="99"/>
+    <Argument type="_1208" location="f39:99" file="f39" line="99"/>
+  </Function>
+  <Function id="_824" name="__gthrw_pthread_mutex_init" returns="_503" throw="" context="_1" mangled="_Z26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t" demangled="__gthrw_pthread_mutex_init(pthread_mutex_t*, pthread_mutexattr_t const*)" location="f39:96" file="f39" line="96" extern="1">
+    <Argument type="_2812" location="f39:96" file="f39" line="96"/>
+    <Argument type="_2813" location="f39:96" file="f39" line="96"/>
+  </Function>
+  <Function id="_825" name="__gthrw_pthread_mutex_unlock" returns="_503" throw="" context="_1" mangled="_Z28__gthrw_pthread_mutex_unlockP15pthread_mutex_t" demangled="__gthrw_pthread_mutex_unlock(pthread_mutex_t*)" location="f39:95" file="f39" line="95" extern="1">
+    <Argument type="_2812" location="f39:95" file="f39" line="95"/>
+  </Function>
+  <Function id="_826" name="__gthrw_pthread_mutex_trylock" returns="_503" throw="" context="_1" mangled="_Z29__gthrw_pthread_mutex_trylockP15pthread_mutex_t" demangled="__gthrw_pthread_mutex_trylock(pthread_mutex_t*)" location="f39:94" file="f39" line="94" extern="1">
+    <Argument type="_2812" location="f39:94" file="f39" line="94"/>
+  </Function>
+  <Function id="_827" name="__gthrw_pthread_mutex_lock" returns="_503" throw="" context="_1" mangled="_Z26__gthrw_pthread_mutex_lockP15pthread_mutex_t" demangled="__gthrw_pthread_mutex_lock(pthread_mutex_t*)" location="f39:93" file="f39" line="93" extern="1">
+    <Argument type="_2812" location="f39:93" file="f39" line="93"/>
+  </Function>
+  <Function id="_828" name="__gthrw_pthread_cancel" returns="_503" context="_1" mangled="_Z22__gthrw_pthread_cancelm" demangled="__gthrw_pthread_cancel(unsigned long)" location="f39:92" file="f39" line="92" extern="1">
+    <Argument type="_643" location="f39:92" file="f39" line="92"/>
+  </Function>
+  <Function id="_829" name="__gthrw_pthread_create" returns="_503" throw="" context="_1" mangled="_Z22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_" demangled="__gthrw_pthread_create(unsigned long*, pthread_attr_t const*, void* (*)(void*), void*)" location="f39:91" file="f39" line="91" extern="1">
+    <Argument type="_2814" location="f39:91" file="f39" line="91"/>
+    <Argument type="_2815" location="f39:91" file="f39" line="91"/>
+    <Argument type="_2816" location="f39:91" file="f39" line="91"/>
+    <Argument type="_1042" location="f39:91" file="f39" line="91"/>
+  </Function>
+  <Function id="_830" name="__gthrw_pthread_setspecific" returns="_503" throw="" context="_1" mangled="_Z27__gthrw_pthread_setspecificjPKv" demangled="__gthrw_pthread_setspecific(unsigned, void const*)" location="f39:90" file="f39" line="90" extern="1">
+    <Argument type="_837" location="f39:90" file="f39" line="90"/>
+    <Argument type="_2807" location="f39:90" file="f39" line="90"/>
+  </Function>
+  <Function id="_831" name="__gthrw_pthread_getspecific" returns="_1042" throw="" context="_1" mangled="_Z27__gthrw_pthread_getspecificj" demangled="__gthrw_pthread_getspecific(unsigned)" location="f39:89" file="f39" line="89" extern="1">
+    <Argument type="_837" location="f39:89" file="f39" line="89"/>
+  </Function>
+  <Function id="_832" name="__gthrw_pthread_once" returns="_503" context="_1" mangled="_Z20__gthrw_pthread_oncePiPFvvE" demangled="__gthrw_pthread_once(int*, void (*)())" location="f39:88" file="f39" line="88" extern="1">
+    <Argument type="_2817" location="f39:88" file="f39" line="88"/>
+    <Argument type="_2254" location="f39:88" file="f39" line="88"/>
+  </Function>
+  <Union id="_833" name="pthread_mutex_t" context="_1" mangled="15pthread_mutex_t" demangled="pthread_mutex_t" location="f40:73" file="f40" line="73" size="192" align="32" members="_2818 _2819 _2820 _2821 _2822 _2823 " bases=""/>
+  <Typedef id="_834" name="__gthread_recursive_mutex_t" type="_833" context="_1" location="f39:49" file="f39" line="49"/>
+  <Typedef id="_835" name="__gthread_mutex_t" type="_833" context="_1" location="f39:48" file="f39" line="48"/>
+  <Typedef id="_836" name="__gthread_once_t" type="_1539" context="_1" location="f39:47" file="f39" line="47"/>
+  <FundamentalType id="_837" name="unsigned int" size="32" align="32"/>
+  <Typedef id="_838" name="__gthread_key_t" type="_1540" context="_1" location="f39:46" file="f39" line="46"/>
+  <Function id="_839" name="pthread_atfork" returns="_503" throw="" context="_1" location="f41:1041" file="f41" line="1041" extern="1">
+    <Argument name="__prepare" type="_2254" location="f41:1041" file="f41" line="1041"/>
+    <Argument name="__parent" type="_2254" location="f41:1041" file="f41" line="1041"/>
+    <Argument name="__child" type="_2254" location="f41:1041" file="f41" line="1041"/>
+  </Function>
+  <Function id="_840" name="pthread_getcpuclockid" returns="_503" throw="" context="_1" location="f41:1024" file="f41" line="1024" extern="1">
+    <Argument name="__thread_id" type="_1547" location="f41:1024" file="f41" line="1024"/>
+    <Argument name="__clock_id" type="_2824" location="f41:1024" file="f41" line="1024"/>
+  </Function>
+  <Function id="_841" name="pthread_setspecific" returns="_503" throw="" context="_1" location="f41:1018" file="f41" line="1018" extern="1">
+    <Argument name="__key" type="_1540" location="f41:1018" file="f41" line="1018"/>
+    <Argument name="__pointer" type="_2807" location="f41:1018" file="f41" line="1018"/>
+  </Function>
+  <Function id="_842" name="pthread_getspecific" returns="_1042" throw="" context="_1" location="f41:1014" file="f41" line="1014" extern="1">
+    <Argument name="__key" type="_1540" location="f41:1014" file="f41" line="1014"/>
+  </Function>
+  <Function id="_843" name="pthread_key_delete" returns="_503" throw="" context="_1" location="f41:1011" file="f41" line="1011" extern="1">
+    <Argument name="__key" type="_1540" location="f41:1011" file="f41" line="1011"/>
+  </Function>
+  <Function id="_844" name="pthread_key_create" returns="_503" throw="" context="_1" location="f41:1008" file="f41" line="1008" extern="1">
+    <Argument name="__key" type="_2811" location="f41:1008" file="f41" line="1008"/>
+    <Argument name="__destr_function" type="_1208" location="f41:1008" file="f41" line="1008"/>
+  </Function>
+  <Function id="_845" name="pthread_barrierattr_setpshared" returns="_503" throw="" context="_1" location="f41:995" file="f41" line="995" extern="1">
+    <Argument name="__attr" type="_2825" location="f41:995" file="f41" line="995"/>
+    <Argument name="__pshared" type="_503" location="f41:995" file="f41" line="995"/>
+  </Function>
+  <Function id="_846" name="pthread_barrierattr_getpshared" returns="_503" throw="" context="_1" location="f41:991" file="f41" line="991" extern="1">
+    <Argument name="__attr" type="_2826r" location="f41:991" file="f41" line="991"/>
+    <Argument name="__pshared" type="_2748r" location="f41:991" file="f41" line="991"/>
+  </Function>
+  <Function id="_847" name="pthread_barrierattr_destroy" returns="_503" throw="" context="_1" location="f41:986" file="f41" line="986" extern="1">
+    <Argument name="__attr" type="_2825" location="f41:986" file="f41" line="986"/>
+  </Function>
+  <Function id="_848" name="pthread_barrierattr_init" returns="_503" throw="" context="_1" location="f41:983" file="f41" line="983" extern="1">
+    <Argument name="__attr" type="_2825" location="f41:983" file="f41" line="983"/>
+  </Function>
+  <Function id="_849" name="pthread_barrier_wait" returns="_503" throw="" context="_1" location="f41:979" file="f41" line="979" extern="1">
+    <Argument name="__barrier" type="_2829" location="f41:979" file="f41" line="979"/>
+  </Function>
+  <Function id="_850" name="pthread_barrier_destroy" returns="_503" throw="" context="_1" location="f41:976" file="f41" line="976" extern="1">
+    <Argument name="__barrier" type="_2829" location="f41:976" file="f41" line="976"/>
+  </Function>
+  <Function id="_851" name="pthread_barrier_init" returns="_503" throw="" context="_1" location="f41:973" file="f41" line="973" extern="1">
+    <Argument name="__barrier" type="_2829r" location="f41:973" file="f41" line="973"/>
+    <Argument name="__attr" type="_2826r" location="f41:973" file="f41" line="973"/>
+    <Argument name="__count" type="_837" location="f41:973" file="f41" line="973"/>
+  </Function>
+  <Function id="_852" name="pthread_spin_unlock" returns="_503" throw="" context="_1" location="f41:964" file="f41" line="964" extern="1">
+    <Argument name="__lock" type="_2831" location="f41:964" file="f41" line="964"/>
+  </Function>
+  <Function id="_853" name="pthread_spin_trylock" returns="_503" throw="" context="_1" location="f41:961" file="f41" line="961" extern="1">
+    <Argument name="__lock" type="_2831" location="f41:961" file="f41" line="961"/>
+  </Function>
+  <Function id="_854" name="pthread_spin_lock" returns="_503" throw="" context="_1" location="f41:958" file="f41" line="958" extern="1">
+    <Argument name="__lock" type="_2831" location="f41:958" file="f41" line="958"/>
+  </Function>
+  <Function id="_855" name="pthread_spin_destroy" returns="_503" throw="" context="_1" location="f41:955" file="f41" line="955" extern="1">
+    <Argument name="__lock" type="_2831" location="f41:955" file="f41" line="955"/>
+  </Function>
+  <Function id="_856" name="pthread_spin_init" returns="_503" throw="" context="_1" location="f41:952" file="f41" line="952" extern="1">
+    <Argument name="__lock" type="_2831" location="f41:952" file="f41" line="952"/>
+    <Argument name="__pshared" type="_503" location="f41:952" file="f41" line="952"/>
+  </Function>
+  <Function id="_857" name="pthread_condattr_setclock" returns="_503" throw="" context="_1" location="f41:941" file="f41" line="941" extern="1">
+    <Argument name="__attr" type="_2832" location="f41:941" file="f41" line="941"/>
+    <Argument name="__clock_id" type="_1626" location="f41:941" file="f41" line="941"/>
+  </Function>
+  <Function id="_858" name="pthread_condattr_getclock" returns="_503" throw="" context="_1" location="f41:937" file="f41" line="937" extern="1">
+    <Argument name="__attr" type="_2833r" location="f41:937" file="f41" line="937"/>
+    <Argument name="__clock_id" type="_2824r" location="f41:937" file="f41" line="937"/>
+  </Function>
+  <Function id="_859" name="pthread_condattr_setpshared" returns="_503" throw="" context="_1" location="f41:930" file="f41" line="930" extern="1">
+    <Argument name="__attr" type="_2832" location="f41:930" file="f41" line="930"/>
+    <Argument name="__pshared" type="_503" location="f41:930" file="f41" line="930"/>
+  </Function>
+  <Function id="_860" name="pthread_condattr_getpshared" returns="_503" throw="" context="_1" location="f41:926" file="f41" line="926" extern="1">
+    <Argument name="__attr" type="_2833r" location="f41:926" file="f41" line="926"/>
+    <Argument name="__pshared" type="_2748r" location="f41:926" file="f41" line="926"/>
+  </Function>
+  <Function id="_861" name="pthread_condattr_destroy" returns="_503" throw="" context="_1" location="f41:921" file="f41" line="921" extern="1">
+    <Argument name="__attr" type="_2832" location="f41:921" file="f41" line="921"/>
+  </Function>
+  <Function id="_862" name="pthread_condattr_init" returns="_503" throw="" context="_1" location="f41:918" file="f41" line="918" extern="1">
+    <Argument name="__attr" type="_2832" location="f41:918" file="f41" line="918"/>
+  </Function>
+  <Function id="_863" name="pthread_cond_timedwait" returns="_503" context="_1" location="f41:913" file="f41" line="913" extern="1">
+    <Argument name="__cond" type="_2836r" location="f41:913" file="f41" line="913"/>
+    <Argument name="__mutex" type="_2812r" location="f41:913" file="f41" line="913"/>
+    <Argument name="__abstime" type="_2839r" location="f41:913" file="f41" line="913"/>
+  </Function>
+  <Function id="_864" name="pthread_cond_wait" returns="_503" context="_1" location="f41:901" file="f41" line="901" extern="1">
+    <Argument name="__cond" type="_2836r" location="f41:901" file="f41" line="901"/>
+    <Argument name="__mutex" type="_2812r" location="f41:901" file="f41" line="901"/>
+  </Function>
+  <Function id="_865" name="pthread_cond_broadcast" returns="_503" throw="" context="_1" location="f41:893" file="f41" line="893" extern="1">
+    <Argument name="__cond" type="_2836" location="f41:893" file="f41" line="893"/>
+  </Function>
+  <Function id="_866" name="pthread_cond_signal" returns="_503" throw="" context="_1" location="f41:890" file="f41" line="890" extern="1">
+    <Argument name="__cond" type="_2836" location="f41:890" file="f41" line="890"/>
+  </Function>
+  <Function id="_867" name="pthread_cond_destroy" returns="_503" throw="" context="_1" location="f41:887" file="f41" line="887" extern="1">
+    <Argument name="__cond" type="_2836" location="f41:887" file="f41" line="887"/>
+  </Function>
+  <Function id="_868" name="pthread_cond_init" returns="_503" throw="" context="_1" location="f41:884" file="f41" line="884" extern="1">
+    <Argument name="__cond" type="_2836r" location="f41:884" file="f41" line="884"/>
+    <Argument name="__cond_attr" type="_2833r" location="f41:884" file="f41" line="884"/>
+  </Function>
+  <Function id="_869" name="pthread_rwlockattr_setkind_np" returns="_503" throw="" context="_1" location="f41:874" file="f41" line="874" extern="1">
+    <Argument name="__attr" type="_2841" location="f41:874" file="f41" line="874"/>
+    <Argument name="__pref" type="_503" location="f41:874" file="f41" line="874"/>
+  </Function>
+  <Function id="_870" name="pthread_rwlockattr_getkind_np" returns="_503" throw="" context="_1" location="f41:870" file="f41" line="870" extern="1">
+    <Argument name="__attr" type="_2842r" location="f41:870" file="f41" line="870"/>
+    <Argument name="__pref" type="_2748r" location="f41:870" file="f41" line="870"/>
+  </Function>
+  <Function id="_871" name="pthread_rwlockattr_setpshared" returns="_503" throw="" context="_1" location="f41:865" file="f41" line="865" extern="1">
+    <Argument name="__attr" type="_2841" location="f41:865" file="f41" line="865"/>
+    <Argument name="__pshared" type="_503" location="f41:865" file="f41" line="865"/>
+  </Function>
+  <Function id="_872" name="pthread_rwlockattr_getpshared" returns="_503" throw="" context="_1" location="f41:861" file="f41" line="861" extern="1">
+    <Argument name="__attr" type="_2842r" location="f41:861" file="f41" line="861"/>
+    <Argument name="__pshared" type="_2748r" location="f41:861" file="f41" line="861"/>
+  </Function>
+  <Function id="_873" name="pthread_rwlockattr_destroy" returns="_503" throw="" context="_1" location="f41:856" file="f41" line="856" extern="1">
+    <Argument name="__attr" type="_2841" location="f41:856" file="f41" line="856"/>
+  </Function>
+  <Function id="_874" name="pthread_rwlockattr_init" returns="_503" throw="" context="_1" location="f41:853" file="f41" line="853" extern="1">
+    <Argument name="__attr" type="_2841" location="f41:853" file="f41" line="853"/>
+  </Function>
+  <Function id="_875" name="pthread_rwlock_unlock" returns="_503" throw="" context="_1" location="f41:847" file="f41" line="847" extern="1">
+    <Argument name="__rwlock" type="_2844" location="f41:847" file="f41" line="847"/>
+  </Function>
+  <Function id="_876" name="pthread_rwlock_timedwrlock" returns="_503" throw="" context="_1" location="f41:843" file="f41" line="843" extern="1">
+    <Argument name="__rwlock" type="_2844r" location="f41:843" file="f41" line="843"/>
+    <Argument name="__abstime" type="_2839r" location="f41:843" file="f41" line="843"/>
+  </Function>
+  <Function id="_877" name="pthread_rwlock_trywrlock" returns="_503" throw="" context="_1" location="f41:837" file="f41" line="837" extern="1">
+    <Argument name="__rwlock" type="_2844" location="f41:837" file="f41" line="837"/>
+  </Function>
+  <Function id="_878" name="pthread_rwlock_wrlock" returns="_503" throw="" context="_1" location="f41:834" file="f41" line="834" extern="1">
+    <Argument name="__rwlock" type="_2844" location="f41:834" file="f41" line="834"/>
+  </Function>
+  <Function id="_879" name="pthread_rwlock_timedrdlock" returns="_503" throw="" context="_1" location="f41:830" file="f41" line="830" extern="1">
+    <Argument name="__rwlock" type="_2844r" location="f41:830" file="f41" line="830"/>
+    <Argument name="__abstime" type="_2839r" location="f41:830" file="f41" line="830"/>
+  </Function>
+  <Function id="_880" name="pthread_rwlock_tryrdlock" returns="_503" throw="" context="_1" location="f41:824" file="f41" line="824" extern="1">
+    <Argument name="__rwlock" type="_2844" location="f41:824" file="f41" line="824"/>
+  </Function>
+  <Function id="_881" name="pthread_rwlock_rdlock" returns="_503" throw="" context="_1" location="f41:821" file="f41" line="821" extern="1">
+    <Argument name="__rwlock" type="_2844" location="f41:821" file="f41" line="821"/>
+  </Function>
+  <Function id="_882" name="pthread_rwlock_destroy" returns="_503" throw="" context="_1" location="f41:818" file="f41" line="818" extern="1">
+    <Argument name="__rwlock" type="_2844" location="f41:818" file="f41" line="818"/>
+  </Function>
+  <Function id="_883" name="pthread_rwlock_init" returns="_503" throw="" context="_1" location="f41:815" file="f41" line="815" extern="1">
+    <Argument name="__rwlock" type="_2844r" location="f41:815" file="f41" line="815"/>
+    <Argument name="__attr" type="_2842r" location="f41:815" file="f41" line="815"/>
+  </Function>
+  <Function id="_884" name="pthread_mutexattr_setrobust_np" returns="_503" throw="" context="_1" location="f41:804" file="f41" line="804" extern="1">
+    <Argument name="__attr" type="_2810" location="f41:804" file="f41" line="804"/>
+    <Argument name="__robustness" type="_503" location="f41:804" file="f41" line="804"/>
+  </Function>
+  <Function id="_885" name="pthread_mutexattr_getrobust_np" returns="_503" throw="" context="_1" location="f41:800" file="f41" line="800" extern="1">
+    <Argument name="__attr" type="_2813" location="f41:800" file="f41" line="800"/>
+    <Argument name="__robustness" type="_2748" location="f41:800" file="f41" line="800"/>
+  </Function>
+  <Function id="_886" name="pthread_mutexattr_setprioceiling" returns="_503" throw="" context="_1" location="f41:794" file="f41" line="794" extern="1">
+    <Argument name="__attr" type="_2810" location="f41:794" file="f41" line="794"/>
+    <Argument name="__prioceiling" type="_503" location="f41:794" file="f41" line="794"/>
+  </Function>
+  <Function id="_887" name="pthread_mutexattr_getprioceiling" returns="_503" throw="" context="_1" location="f41:790" file="f41" line="790" extern="1">
+    <Argument name="__attr" type="_2813r" location="f41:790" file="f41" line="790"/>
+    <Argument name="__prioceiling" type="_2748r" location="f41:790" file="f41" line="790"/>
+  </Function>
+  <Function id="_888" name="pthread_mutexattr_setprotocol" returns="_503" throw="" context="_1" location="f41:784" file="f41" line="784" extern="1">
+    <Argument name="__attr" type="_2810" location="f41:784" file="f41" line="784"/>
+    <Argument name="__protocol" type="_503" location="f41:784" file="f41" line="784"/>
+  </Function>
+  <Function id="_889" name="pthread_mutexattr_getprotocol" returns="_503" throw="" context="_1" location="f41:779" file="f41" line="779" extern="1">
+    <Argument name="__attr" type="_2813r" location="f41:779" file="f41" line="779"/>
+    <Argument name="__protocol" type="_2748r" location="f41:779" file="f41" line="779"/>
+  </Function>
+  <Function id="_890" name="pthread_mutexattr_settype" returns="_503" throw="" context="_1" location="f41:774" file="f41" line="774" extern="1">
+    <Argument name="__attr" type="_2810" location="f41:774" file="f41" line="774"/>
+    <Argument name="__kind" type="_503" location="f41:774" file="f41" line="774"/>
+  </Function>
+  <Function id="_891" name="pthread_mutexattr_gettype" returns="_503" throw="" context="_1" location="f41:768" file="f41" line="768" extern="1">
+    <Argument name="__attr" type="_2813r" location="f41:768" file="f41" line="768"/>
+    <Argument name="__kind" type="_2748r" location="f41:768" file="f41" line="768"/>
+  </Function>
+  <Function id="_892" name="pthread_mutexattr_setpshared" returns="_503" throw="" context="_1" location="f41:763" file="f41" line="763" extern="1">
+    <Argument name="__attr" type="_2810" location="f41:763" file="f41" line="763"/>
+    <Argument name="__pshared" type="_503" location="f41:763" file="f41" line="763"/>
+  </Function>
+  <Function id="_893" name="pthread_mutexattr_getpshared" returns="_503" throw="" context="_1" location="f41:759" file="f41" line="759" extern="1">
+    <Argument name="__attr" type="_2813r" location="f41:759" file="f41" line="759"/>
+    <Argument name="__pshared" type="_2748r" location="f41:759" file="f41" line="759"/>
+  </Function>
+  <Function id="_894" name="pthread_mutexattr_destroy" returns="_503" throw="" context="_1" location="f41:754" file="f41" line="754" extern="1">
+    <Argument name="__attr" type="_2810" location="f41:754" file="f41" line="754"/>
+  </Function>
+  <Function id="_895" name="pthread_mutexattr_init" returns="_503" throw="" context="_1" location="f41:751" file="f41" line="751" extern="1">
+    <Argument name="__attr" type="_2810" location="f41:751" file="f41" line="751"/>
+  </Function>
+  <Function id="_896" name="pthread_mutex_consistent_np" returns="_503" throw="" context="_1" location="f41:743" file="f41" line="743" extern="1">
+    <Argument name="__mutex" type="_2812" location="f41:743" file="f41" line="743"/>
+  </Function>
+  <Function id="_897" name="pthread_mutex_setprioceiling" returns="_503" throw="" context="_1" location="f41:737" file="f41" line="737" extern="1">
+    <Argument name="__mutex" type="_2812r" location="f41:737" file="f41" line="737"/>
+    <Argument name="__prioceiling" type="_503" location="f41:737" file="f41" line="737"/>
+    <Argument name="__old_ceiling" type="_2748r" location="f41:737" file="f41" line="737"/>
+  </Function>
+  <Function id="_898" name="pthread_mutex_getprioceiling" returns="_503" throw="" context="_1" location="f41:730" file="f41" line="730" extern="1">
+    <Argument name="__mutex" type="_2847r" location="f41:730" file="f41" line="730"/>
+    <Argument name="__prioceiling" type="_2748r" location="f41:730" file="f41" line="730"/>
+  </Function>
+  <Function id="_899" name="pthread_mutex_unlock" returns="_503" throw="" context="_1" location="f41:722" file="f41" line="722" extern="1">
+    <Argument name="__mutex" type="_2812" location="f41:722" file="f41" line="722"/>
+  </Function>
+  <Function id="_900" name="pthread_mutex_timedlock" returns="_503" throw="" context="_1" location="f41:718" file="f41" line="718" extern="1">
+    <Argument name="__mutex" type="_2812r" location="f41:718" file="f41" line="718"/>
+    <Argument name="__abstime" type="_2839r" location="f41:718" file="f41" line="718"/>
+  </Function>
+  <Function id="_901" name="pthread_mutex_lock" returns="_503" throw="" context="_1" location="f41:712" file="f41" line="712" extern="1">
+    <Argument name="__mutex" type="_2812" location="f41:712" file="f41" line="712"/>
+  </Function>
+  <Function id="_902" name="pthread_mutex_trylock" returns="_503" throw="" context="_1" location="f41:709" file="f41" line="709" extern="1">
+    <Argument name="_mutex" type="_2812" location="f41:709" file="f41" line="709"/>
+  </Function>
+  <Function id="_903" name="pthread_mutex_destroy" returns="_503" throw="" context="_1" location="f41:706" file="f41" line="706" extern="1">
+    <Argument name="__mutex" type="_2812" location="f41:706" file="f41" line="706"/>
+  </Function>
+  <Function id="_904" name="pthread_mutex_init" returns="_503" throw="" context="_1" location="f41:703" file="f41" line="703" extern="1">
+    <Argument name="__mutex" type="_2812" location="f41:703" file="f41" line="703"/>
+    <Argument name="__mutexattr" type="_2813" location="f41:703" file="f41" line="703"/>
+  </Function>
+  <Function id="_905" name="__sigsetjmp" returns="_503" throw="" context="_1" location="f41:695" file="f41" line="695" extern="1">
+    <Argument name="__env" type="_2849" location="f41:695" file="f41" line="695"/>
+    <Argument name="__savemask" type="_503" location="f41:695" file="f41" line="695"/>
+  </Function>
+  <Struct id="_906" name="__jmp_buf_tag" context="_1" incomplete="1" mangled="13__jmp_buf_tag" demangled="__jmp_buf_tag" location="f41:694" file="f41" line="694" artificial="1" align="8"/>
+  <Class id="_907" name="__pthread_cleanup_class" context="_1" mangled="23__pthread_cleanup_class" demangled="__pthread_cleanup_class" location="f41:506" file="f41" line="506" artificial="1" size="128" align="32" members="_2850 _2851 _2852 _2853 _2854 _2855 _2856 _2857 _2858 _2859 " bases=""/>
+  <Struct id="_908" name="__pthread_cleanup_frame" context="_1" mangled="23__pthread_cleanup_frame" demangled="__pthread_cleanup_frame" location="f41:495" file="f41" line="495" artificial="1" size="128" align="32" members="_2860 _2861 _2862 _2863 _2864 _2865 " bases=""/>
+  <Struct id="_909" context="_1" mangled="4._74" demangled="._74" location="f41:478" file="f41" line="478" artificial="1" size="352" align="32" members="_2866 _2867 _2868 _2869 _2870 " bases=""/>
+  <Typedef id="_910" name="__pthread_unwind_buf_t" type="_909" context="_1" location="f41:485" file="f41" line="485" attributes="__aligned__"/>
+  <Function id="_911" name="pthread_testcancel" returns="_1194" context="_1" location="f41:472" file="f41" line="472" extern="1"/>
+  <Function id="_912" name="pthread_cancel" returns="_503" context="_1" location="f41:467" file="f41" line="467" extern="1">
+    <Argument name="__th" type="_1547" location="f41:467" file="f41" line="467"/>
+  </Function>
+  <Function id="_913" name="pthread_setcanceltype" returns="_503" context="_1" location="f41:464" file="f41" line="464" extern="1">
+    <Argument name="__type" type="_503" location="f41:464" file="f41" line="464"/>
+    <Argument name="__oldtype" type="_2748" location="f41:464" file="f41" line="464"/>
+  </Function>
+  <Function id="_914" name="pthread_setcancelstate" returns="_503" context="_1" location="f41:460" file="f41" line="460" extern="1">
+    <Argument name="__state" type="_503" location="f41:460" file="f41" line="460"/>
+    <Argument name="__oldstate" type="_2748" location="f41:460" file="f41" line="460"/>
+  </Function>
+  <Function id="_915" name="pthread_once" returns="_503" context="_1" location="f41:449" file="f41" line="449" extern="1">
+    <Argument name="__once_control" type="_2817" location="f41:449" file="f41" line="449"/>
+    <Argument name="__init_routine" type="_2254" location="f41:449" file="f41" line="449"/>
+  </Function>
+  <Function id="_916" name="pthread_getaffinity_np" returns="_503" throw="" context="_1" location="f41:435" file="f41" line="435" extern="1">
+    <Argument name="__th" type="_1547" location="f41:435" file="f41" line="435"/>
+    <Argument name="__cpusetsize" type="_1698" location="f41:435" file="f41" line="435"/>
+    <Argument name="__cpuset" type="_2871" location="f41:435" file="f41" line="435"/>
+  </Function>
+  <Function id="_917" name="pthread_setaffinity_np" returns="_503" throw="" context="_1" location="f41:431" file="f41" line="431" extern="1">
+    <Argument name="__th" type="_1547" location="f41:431" file="f41" line="431"/>
+    <Argument name="__cpusetsize" type="_1698" location="f41:431" file="f41" line="431"/>
+    <Argument name="__cpuset" type="_2872" location="f41:431" file="f41" line="431"/>
+  </Function>
+  <Function id="_918" name="pthread_yield" returns="_503" throw="" context="_1" location="f41:425" file="f41" line="425" extern="1"/>
+  <Function id="_919" name="pthread_setconcurrency" returns="_503" throw="" context="_1" location="f41:417" file="f41" line="417" extern="1">
+    <Argument name="__level" type="_503" location="f41:417" file="f41" line="417"/>
+  </Function>
+  <Function id="_920" name="pthread_getconcurrency" returns="_503" throw="" context="_1" location="f41:414" file="f41" line="414" extern="1"/>
+  <Function id="_921" name="pthread_setschedprio" returns="_503" throw="" context="_1" location="f41:409" file="f41" line="409" extern="1">
+    <Argument name="__target_thread" type="_1547" location="f41:409" file="f41" line="409"/>
+    <Argument name="__prio" type="_503" location="f41:409" file="f41" line="409"/>
+  </Function>
+  <Function id="_922" name="pthread_getschedparam" returns="_503" throw="" context="_1" location="f41:405" file="f41" line="405" extern="1">
+    <Argument name="__target_thread" type="_1547" location="f41:405" file="f41" line="405"/>
+    <Argument name="__policy" type="_2748r" location="f41:405" file="f41" line="405"/>
+    <Argument name="__param" type="_2873r" location="f41:405" file="f41" line="405"/>
+  </Function>
+  <Function id="_923" name="pthread_setschedparam" returns="_503" throw="" context="_1" location="f41:399" file="f41" line="399" extern="1">
+    <Argument name="__target_thread" type="_1547" location="f41:399" file="f41" line="399"/>
+    <Argument name="__policy" type="_503" location="f41:399" file="f41" line="399"/>
+    <Argument name="__param" type="_2875" location="f41:399" file="f41" line="399"/>
+  </Function>
+  <Function id="_924" name="pthread_getattr_np" returns="_503" throw="" context="_1" location="f41:389" file="f41" line="389" extern="1">
+    <Argument name="__th" type="_1547" location="f41:389" file="f41" line="389"/>
+    <Argument name="__attr" type="_2876" location="f41:389" file="f41" line="389"/>
+  </Function>
+  <Function id="_925" name="pthread_attr_getaffinity_np" returns="_503" throw="" context="_1" location="f41:383" file="f41" line="383" extern="1">
+    <Argument name="__attr" type="_2815" location="f41:383" file="f41" line="383"/>
+    <Argument name="__cpusetsize" type="_1698" location="f41:383" file="f41" line="383"/>
+    <Argument name="__cpuset" type="_2871" location="f41:383" file="f41" line="383"/>
+  </Function>
+  <Function id="_926" name="pthread_attr_setaffinity_np" returns="_503" throw="" context="_1" location="f41:377" file="f41" line="377" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:377" file="f41" line="377"/>
+    <Argument name="__cpusetsize" type="_1698" location="f41:377" file="f41" line="377"/>
+    <Argument name="__cpuset" type="_2872" location="f41:377" file="f41" line="377"/>
+  </Function>
+  <Function id="_927" name="pthread_attr_setstack" returns="_503" throw="" context="_1" location="f41:369" file="f41" line="369" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:369" file="f41" line="369"/>
+    <Argument name="__stackaddr" type="_1042" location="f41:369" file="f41" line="369"/>
+    <Argument name="__stacksize" type="_1698" location="f41:369" file="f41" line="369"/>
+  </Function>
+  <Function id="_928" name="pthread_attr_getstack" returns="_503" throw="" context="_1" location="f41:363" file="f41" line="363" extern="1">
+    <Argument name="__attr" type="_2815r" location="f41:363" file="f41" line="363"/>
+    <Argument name="__stackaddr" type="_2878r" location="f41:363" file="f41" line="363"/>
+    <Argument name="__stacksize" type="_2880r" location="f41:363" file="f41" line="363"/>
+  </Function>
+  <Function id="_929" name="pthread_attr_setstacksize" returns="_503" throw="" context="_1" location="f41:357" file="f41" line="357" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:357" file="f41" line="357"/>
+    <Argument name="__stacksize" type="_1698" location="f41:357" file="f41" line="357"/>
+  </Function>
+  <Function id="_930" name="pthread_attr_getstacksize" returns="_503" throw="" context="_1" location="f41:351" file="f41" line="351" extern="1">
+    <Argument name="__attr" type="_2815r" location="f41:351" file="f41" line="351"/>
+    <Argument name="__stacksize" type="_2880r" location="f41:351" file="f41" line="351"/>
+  </Function>
+  <Function id="_931" name="pthread_attr_setstackaddr" returns="_503" throw="" context="_1" location="f41:346" file="f41" line="346" extern="1" attributes="__deprecated__">
+    <Argument name="__attr" type="_2876" location="f41:346" file="f41" line="346"/>
+    <Argument name="__stackaddr" type="_1042" location="f41:346" file="f41" line="346"/>
+  </Function>
+  <Function id="_932" name="pthread_attr_getstackaddr" returns="_503" throw="" context="_1" location="f41:338" file="f41" line="338" extern="1" attributes="__deprecated__">
+    <Argument name="__attr" type="_2815r" location="f41:338" file="f41" line="338"/>
+    <Argument name="__stackaddr" type="_2878r" location="f41:338" file="f41" line="338"/>
+  </Function>
+  <Function id="_933" name="pthread_attr_setscope" returns="_503" throw="" context="_1" location="f41:333" file="f41" line="333" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:333" file="f41" line="333"/>
+    <Argument name="__scope" type="_503" location="f41:333" file="f41" line="333"/>
+  </Function>
+  <Function id="_934" name="pthread_attr_getscope" returns="_503" throw="" context="_1" location="f41:329" file="f41" line="329" extern="1">
+    <Argument name="__attr" type="_2815r" location="f41:329" file="f41" line="329"/>
+    <Argument name="__scope" type="_2748r" location="f41:329" file="f41" line="329"/>
+  </Function>
+  <Function id="_935" name="pthread_attr_setinheritsched" returns="_503" throw="" context="_1" location="f41:324" file="f41" line="324" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:324" file="f41" line="324"/>
+    <Argument name="__inherit" type="_503" location="f41:324" file="f41" line="324"/>
+  </Function>
+  <Function id="_936" name="pthread_attr_getinheritsched" returns="_503" throw="" context="_1" location="f41:320" file="f41" line="320" extern="1">
+    <Argument name="__attr" type="_2815r" location="f41:320" file="f41" line="320"/>
+    <Argument name="__inherit" type="_2748r" location="f41:320" file="f41" line="320"/>
+  </Function>
+  <Function id="_937" name="pthread_attr_setschedpolicy" returns="_503" throw="" context="_1" location="f41:315" file="f41" line="315" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:315" file="f41" line="315"/>
+    <Argument name="__policy" type="_503" location="f41:315" file="f41" line="315"/>
+  </Function>
+  <Function id="_938" name="pthread_attr_getschedpolicy" returns="_503" throw="" context="_1" location="f41:311" file="f41" line="311" extern="1">
+    <Argument name="__attr" type="_2815r" location="f41:311" file="f41" line="311"/>
+    <Argument name="__policy" type="_2748r" location="f41:311" file="f41" line="311"/>
+  </Function>
+  <Function id="_939" name="pthread_attr_setschedparam" returns="_503" throw="" context="_1" location="f41:306" file="f41" line="306" extern="1">
+    <Argument name="__attr" type="_2876r" location="f41:306" file="f41" line="306"/>
+    <Argument name="__param" type="_2875r" location="f41:306" file="f41" line="306"/>
+  </Function>
+  <Function id="_940" name="pthread_attr_getschedparam" returns="_503" throw="" context="_1" location="f41:301" file="f41" line="301" extern="1">
+    <Argument name="__attr" type="_2815r" location="f41:301" file="f41" line="301"/>
+    <Argument name="__param" type="_2873r" location="f41:301" file="f41" line="301"/>
+  </Function>
+  <Function id="_941" name="pthread_attr_setguardsize" returns="_503" throw="" context="_1" location="f41:294" file="f41" line="294" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:294" file="f41" line="294"/>
+    <Argument name="__guardsize" type="_1698" location="f41:294" file="f41" line="294"/>
+  </Function>
+  <Function id="_942" name="pthread_attr_getguardsize" returns="_503" throw="" context="_1" location="f41:290" file="f41" line="290" extern="1">
+    <Argument name="__attr" type="_2815" location="f41:290" file="f41" line="290"/>
+    <Argument name="__guardsize" type="_2880" location="f41:290" file="f41" line="290"/>
+  </Function>
+  <Function id="_943" name="pthread_attr_setdetachstate" returns="_503" throw="" context="_1" location="f41:285" file="f41" line="285" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:285" file="f41" line="285"/>
+    <Argument name="__detachstate" type="_503" location="f41:285" file="f41" line="285"/>
+  </Function>
+  <Function id="_944" name="pthread_attr_getdetachstate" returns="_503" throw="" context="_1" location="f41:281" file="f41" line="281" extern="1">
+    <Argument name="__attr" type="_2815" location="f41:281" file="f41" line="281"/>
+    <Argument name="__detachstate" type="_2748" location="f41:281" file="f41" line="281"/>
+  </Function>
+  <Function id="_945" name="pthread_attr_destroy" returns="_503" throw="" context="_1" location="f41:277" file="f41" line="277" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:277" file="f41" line="277"/>
+  </Function>
+  <Function id="_946" name="pthread_attr_init" returns="_503" throw="" context="_1" location="f41:274" file="f41" line="274" extern="1">
+    <Argument name="__attr" type="_2876" location="f41:274" file="f41" line="274"/>
+  </Function>
+  <Function id="_947" name="pthread_equal" returns="_503" throw="" context="_1" location="f41:266" file="f41" line="266" extern="1">
+    <Argument name="__thread1" type="_1547" location="f41:266" file="f41" line="266"/>
+    <Argument name="__thread2" type="_1547" location="f41:266" file="f41" line="266"/>
+  </Function>
+  <Function id="_948" name="pthread_self" returns="_1547" throw="" context="_1" location="f41:263" file="f41" line="263" extern="1" attributes="const"/>
+  <Function id="_949" name="pthread_detach" returns="_503" throw="" context="_1" location="f41:259" file="f41" line="259" extern="1">
+    <Argument name="__th" type="_1547" location="f41:259" file="f41" line="259"/>
+  </Function>
+  <Function id="_950" name="pthread_timedjoin_np" returns="_503" context="_1" location="f41:252" file="f41" line="252" extern="1">
+    <Argument name="__th" type="_1547" location="f41:252" file="f41" line="252"/>
+    <Argument name="__thread_return" type="_2878" location="f41:252" file="f41" line="252"/>
+    <Argument name="__abstime" type="_2839" location="f41:252" file="f41" line="252"/>
+  </Function>
+  <Function id="_951" name="pthread_tryjoin_np" returns="_503" throw="" context="_1" location="f41:243" file="f41" line="243" extern="1">
+    <Argument name="__th" type="_1547" location="f41:243" file="f41" line="243"/>
+    <Argument name="__thread_return" type="_2878" location="f41:243" file="f41" line="243"/>
+  </Function>
+  <Function id="_952" name="pthread_join" returns="_503" context="_1" location="f41:238" file="f41" line="238" extern="1">
+    <Argument name="__th" type="_1547" location="f41:238" file="f41" line="238"/>
+    <Argument name="__thread_return" type="_2878" location="f41:238" file="f41" line="238"/>
+  </Function>
+  <Function id="_953" name="pthread_exit" returns="_1194" context="_1" location="f41:230" file="f41" line="230" extern="1" attributes="__noreturn__">
+    <Argument name="__retval" type="_1042" location="f41:230" file="f41" line="230"/>
+  </Function>
+  <Function id="_954" name="pthread_create" returns="_503" throw="" context="_1" location="f41:224" file="f41" line="224" extern="1">
+    <Argument name="__newthread" type="_2814r" location="f41:224" file="f41" line="224"/>
+    <Argument name="__attr" type="_2815r" location="f41:224" file="f41" line="224"/>
+    <Argument name="__start_routine" type="_2816" location="f41:224" file="f41" line="224"/>
+    <Argument name="__arg" type="_1042r" location="f41:224" file="f41" line="224"/>
+  </Function>
+  <Enumeration id="_955" name="._73" context="_1" location="f41:195" file="f41" line="195" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_CANCEL_DEFERRED" init="0"/>
+    <EnumValue name="PTHREAD_CANCEL_ASYNCHRONOUS" init="1"/>
+  </Enumeration>
+  <Enumeration id="_956" name="._72" context="_1" location="f41:188" file="f41" line="188" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_CANCEL_ENABLE" init="0"/>
+    <EnumValue name="PTHREAD_CANCEL_DISABLE" init="1"/>
+  </Enumeration>
+  <Struct id="_957" name="_pthread_cleanup_buffer" context="_1" mangled="23_pthread_cleanup_buffer" demangled="_pthread_cleanup_buffer" location="f41:179" file="f41" line="179" artificial="1" size="128" align="32" members="_2886 _2887 _2888 _2889 _2890 _2891 " bases=""/>
+  <Enumeration id="_958" name="._71" context="_1" location="f41:164" file="f41" line="164" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_PROCESS_PRIVATE" init="0"/>
+    <EnumValue name="PTHREAD_PROCESS_SHARED" init="1"/>
+  </Enumeration>
+  <Enumeration id="_959" name="._70" context="_1" location="f41:154" file="f41" line="154" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_SCOPE_SYSTEM" init="0"/>
+    <EnumValue name="PTHREAD_SCOPE_PROCESS" init="1"/>
+  </Enumeration>
+  <Enumeration id="_960" name="._69" context="_1" location="f41:144" file="f41" line="144" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_INHERIT_SCHED" init="0"/>
+    <EnumValue name="PTHREAD_EXPLICIT_SCHED" init="1"/>
+  </Enumeration>
+  <Enumeration id="_961" name="._68" context="_1" location="f41:114" file="f41" line="114" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_RWLOCK_PREFER_READER_NP" init="0"/>
+    <EnumValue name="PTHREAD_RWLOCK_PREFER_WRITER_NP" init="1"/>
+    <EnumValue name="PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP" init="2"/>
+    <EnumValue name="PTHREAD_RWLOCK_DEFAULT_NP" init="0"/>
+  </Enumeration>
+  <Enumeration id="_962" name="._67" context="_1" location="f41:77" file="f41" line="77" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_PRIO_NONE" init="0"/>
+    <EnumValue name="PTHREAD_PRIO_INHERIT" init="1"/>
+    <EnumValue name="PTHREAD_PRIO_PROTECT" init="2"/>
+  </Enumeration>
+  <Enumeration id="_963" name="._66" context="_1" location="f41:67" file="f41" line="67" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_MUTEX_STALLED_NP" init="0"/>
+    <EnumValue name="PTHREAD_MUTEX_ROBUST_NP" init="1"/>
+  </Enumeration>
+  <Enumeration id="_964" name="._65" context="_1" location="f41:45" file="f41" line="45" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_MUTEX_TIMED_NP" init="0"/>
+    <EnumValue name="PTHREAD_MUTEX_RECURSIVE_NP" init="1"/>
+    <EnumValue name="PTHREAD_MUTEX_ERRORCHECK_NP" init="2"/>
+    <EnumValue name="PTHREAD_MUTEX_ADAPTIVE_NP" init="3"/>
+    <EnumValue name="PTHREAD_MUTEX_NORMAL" init="0"/>
+    <EnumValue name="PTHREAD_MUTEX_RECURSIVE" init="1"/>
+    <EnumValue name="PTHREAD_MUTEX_ERRORCHECK" init="2"/>
+    <EnumValue name="PTHREAD_MUTEX_DEFAULT" init="0"/>
+    <EnumValue name="PTHREAD_MUTEX_FAST_NP" init="0"/>
+  </Enumeration>
+  <Enumeration id="_965" name="._64" context="_1" location="f41:35" file="f41" line="35" artificial="1" size="32" align="32">
+    <EnumValue name="PTHREAD_CREATE_JOINABLE" init="0"/>
+    <EnumValue name="PTHREAD_CREATE_DETACHED" init="1"/>
+  </Enumeration>
+  <ArrayType id="_966" min="0" max="5" type="_503" size="192" align="32"/>
+  <Typedef id="_967" name="__jmp_buf" type="_966" context="_1" location="f42:29" file="f42" line="29"/>
+  <Function id="_968" name="getdate_r" returns="_503" context="_1" location="f43:413" file="f43" line="413" extern="1">
+    <Argument name="__string" type="_2749r" location="f43:413" file="f43" line="413"/>
+    <Argument name="__resbufp" type="_2892r" location="f43:413" file="f43" line="413"/>
+  </Function>
+  <Function id="_969" name="getdate" returns="_2892" context="_1" location="f43:398" file="f43" line="398" extern="1">
+    <Argument name="__string" type="_2749" location="f43:398" file="f43" line="398"/>
+  </Function>
+  <Variable id="_970" name="getdate_err" type="_503" context="_1" location="f43:389" file="f43" line="389" extern="1"/>
+  <Function id="_971" name="timer_getoverrun" returns="_503" throw="" context="_1" location="f43:373" file="f43" line="373" extern="1">
+    <Argument name="__timerid" type="_1583" location="f43:373" file="f43" line="373"/>
+  </Function>
+  <Function id="_972" name="timer_gettime" returns="_503" throw="" context="_1" location="f43:370" file="f43" line="370" extern="1">
+    <Argument name="__timerid" type="_1583" location="f43:370" file="f43" line="370"/>
+    <Argument name="__value" type="_2894" location="f43:370" file="f43" line="370"/>
+  </Function>
+  <Function id="_973" name="timer_settime" returns="_503" throw="" context="_1" location="f43:366" file="f43" line="366" extern="1">
+    <Argument name="__timerid" type="_1583" location="f43:366" file="f43" line="366"/>
+    <Argument name="__flags" type="_503" location="f43:366" file="f43" line="366"/>
+    <Argument name="__value" type="_2895r" location="f43:366" file="f43" line="366"/>
+    <Argument name="__ovalue" type="_2894r" location="f43:366" file="f43" line="366"/>
+  </Function>
+  <Function id="_974" name="timer_delete" returns="_503" throw="" context="_1" location="f43:361" file="f43" line="361" extern="1">
+    <Argument name="__timerid" type="_1583" location="f43:361" file="f43" line="361"/>
+  </Function>
+  <Function id="_975" name="timer_create" returns="_503" throw="" context="_1" location="f43:358" file="f43" line="358" extern="1">
+    <Argument name="__clock_id" type="_1584" location="f43:358" file="f43" line="358"/>
+    <Argument name="__evp" type="_2898r" location="f43:358" file="f43" line="358"/>
+    <Argument name="__timerid" type="_2900r" location="f43:358" file="f43" line="358"/>
+  </Function>
+  <Function id="_976" name="clock_getcpuclockid" returns="_503" throw="" context="_1" location="f43:351" file="f43" line="351" extern="1">
+    <Argument name="__pid" type="_1592" location="f43:351" file="f43" line="351"/>
+    <Argument name="__clock_id" type="_2902" location="f43:351" file="f43" line="351"/>
+  </Function>
+  <Function id="_977" name="clock_nanosleep" returns="_503" context="_1" location="f43:348" file="f43" line="348" extern="1">
+    <Argument name="__clock_id" type="_1584" location="f43:348" file="f43" line="348"/>
+    <Argument name="__flags" type="_503" location="f43:348" file="f43" line="348"/>
+    <Argument name="__req" type="_2839" location="f43:348" file="f43" line="348"/>
+    <Argument name="__rem" type="_2903" location="f43:348" file="f43" line="348"/>
+  </Function>
+  <Function id="_978" name="clock_settime" returns="_503" throw="" context="_1" location="f43:339" file="f43" line="339" extern="1">
+    <Argument name="__clock_id" type="_1584" location="f43:339" file="f43" line="339"/>
+    <Argument name="__tp" type="_2839" location="f43:339" file="f43" line="339"/>
+  </Function>
+  <Function id="_979" name="clock_gettime" returns="_503" throw="" context="_1" location="f43:335" file="f43" line="335" extern="1">
+    <Argument name="__clock_id" type="_1584" location="f43:335" file="f43" line="335"/>
+    <Argument name="__tp" type="_2903" location="f43:335" file="f43" line="335"/>
+  </Function>
+  <Function id="_980" name="clock_getres" returns="_503" throw="" context="_1" location="f43:332" file="f43" line="332" extern="1">
+    <Argument name="__clock_id" type="_1584" location="f43:332" file="f43" line="332"/>
+    <Argument name="__res" type="_2903" location="f43:332" file="f43" line="332"/>
+  </Function>
+  <Function id="_981" name="nanosleep" returns="_503" context="_1" location="f43:328" file="f43" line="328" extern="1">
+    <Argument name="__requested_time" type="_2839" location="f43:328" file="f43" line="328"/>
+    <Argument name="__remaining" type="_2903" location="f43:328" file="f43" line="328"/>
+  </Function>
+  <Function id="_982" name="dysize" returns="_503" throw="" context="_1" location="f43:318" file="f43" line="318" extern="1" attributes="const">
+    <Argument name="__year" type="_503" location="f43:318" file="f43" line="318"/>
+  </Function>
+  <Function id="_983" name="timelocal" returns="_1585" throw="" context="_1" location="f43:315" file="f43" line="315" extern="1">
+    <Argument name="__tp" type="_2892" location="f43:315" file="f43" line="315"/>
+  </Function>
+  <Function id="_984" name="timegm" returns="_1585" throw="" context="_1" location="f43:312" file="f43" line="312" extern="1">
+    <Argument name="__tp" type="_2892" location="f43:312" file="f43" line="312"/>
+  </Function>
+  <Function id="_985" name="stime" returns="_503" throw="" context="_1" location="f43:297" file="f43" line="297" extern="1">
+    <Argument name="__when" type="_2904" location="f43:297" file="f43" line="297"/>
+  </Function>
+  <Variable id="_986" name="timezone" type="_1553" context="_1" location="f43:291" file="f43" line="291" extern="1"/>
+  <Variable id="_987" name="daylight" type="_503" context="_1" location="f43:290" file="f43" line="290" extern="1"/>
+  <Function id="_988" name="tzset" returns="_1194" throw="" context="_1" location="f43:286" file="f43" line="286" extern="1"/>
+  <Variable id="_989" name="tzname" type="_2905" context="_1" location="f43:282" file="f43" line="282" extern="1"/>
+  <Variable id="_990" name="__timezone" type="_1553" context="_1" location="f43:277" file="f43" line="277" extern="1"/>
+  <Variable id="_991" name="__daylight" type="_503" context="_1" location="f43:276" file="f43" line="276" extern="1"/>
+  <Variable id="_992" name="__tzname" type="_2905" context="_1" location="f43:275" file="f43" line="275" extern="1"/>
+  <Function id="_993" name="ctime_r" returns="_1149" throw="" context="_1" location="f43:270" file="f43" line="270" extern="1">
+    <Argument name="__timer" type="_2904r" location="f43:270" file="f43" line="270"/>
+    <Argument name="__buf" type="_1149r" location="f43:270" file="f43" line="270"/>
+  </Function>
+  <Function id="_994" name="asctime_r" returns="_1149" throw="" context="_1" location="f43:266" file="f43" line="266" extern="1">
+    <Argument name="__tp" type="_2782r" location="f43:266" file="f43" line="266"/>
+    <Argument name="__buf" type="_1149r" location="f43:266" file="f43" line="266"/>
+  </Function>
+  <Function id="_995" name="ctime" returns="_1149" throw="" context="_1" location="f43:257" file="f43" line="257" extern="1">
+    <Argument name="__timer" type="_2904" location="f43:257" file="f43" line="257"/>
+  </Function>
+  <Function id="_996" name="asctime" returns="_1149" throw="" context="_1" location="f43:254" file="f43" line="254" extern="1">
+    <Argument name="__tp" type="_2782" location="f43:254" file="f43" line="254"/>
+  </Function>
+  <Function id="_997" name="localtime_r" returns="_2892" throw="" context="_1" location="f43:248" file="f43" line="248" extern="1">
+    <Argument name="__timer" type="_2904r" location="f43:248" file="f43" line="248"/>
+    <Argument name="__tp" type="_2892r" location="f43:248" file="f43" line="248"/>
+  </Function>
+  <Function id="_998" name="gmtime_r" returns="_2892" throw="" context="_1" location="f43:243" file="f43" line="243" extern="1">
+    <Argument name="__timer" type="_2904r" location="f43:243" file="f43" line="243"/>
+    <Argument name="__tp" type="_2892r" location="f43:243" file="f43" line="243"/>
+  </Function>
+  <Function id="_999" name="localtime" returns="_2892" throw="" context="_1" location="f43:236" file="f43" line="236" extern="1">
+    <Argument name="__timer" type="_2904" location="f43:236" file="f43" line="236"/>
+  </Function>
+  <Function id="_1000" name="gmtime" returns="_2892" throw="" context="_1" location="f43:232" file="f43" line="232" extern="1">
+    <Argument name="__timer" type="_2904" location="f43:232" file="f43" line="232"/>
+  </Function>
+  <Function id="_1001" name="strptime_l" returns="_1149" throw="" context="_1" location="f43:225" file="f43" line="225" extern="1">
+    <Argument name="__s" type="_2749r" location="f43:225" file="f43" line="225"/>
+    <Argument name="__fmt" type="_2749r" location="f43:225" file="f43" line="225"/>
+    <Argument name="__tp" type="_2892" location="f43:225" file="f43" line="225"/>
+    <Argument name="__loc" type="_1677" location="f43:225" file="f43" line="225"/>
+  </Function>
+  <Function id="_1002" name="strftime_l" returns="_1698" throw="" context="_1" location="f43:221" file="f43" line="221" extern="1">
+    <Argument name="__s" type="_1149r" location="f43:221" file="f43" line="221"/>
+    <Argument name="__maxsize" type="_1698" location="f43:221" file="f43" line="221"/>
+    <Argument name="__format" type="_2749r" location="f43:221" file="f43" line="221"/>
+    <Argument name="__tp" type="_2782r" location="f43:221" file="f43" line="221"/>
+    <Argument name="__loc" type="_1677" location="f43:221" file="f43" line="221"/>
+  </Function>
+  <Function id="_1003" name="strptime" returns="_1149" throw="" context="_1" location="f43:210" file="f43" line="210" extern="1">
+    <Argument name="__s" type="_2749r" location="f43:210" file="f43" line="210"/>
+    <Argument name="__fmt" type="_2749r" location="f43:210" file="f43" line="210"/>
+    <Argument name="__tp" type="_2892" location="f43:210" file="f43" line="210"/>
+  </Function>
+  <Function id="_1004" name="strftime" returns="_1698" throw="" context="_1" location="f43:202" file="f43" line="202" extern="1" attributes="nothrow nonnull() format(,,)">
+    <Argument name="__s" type="_1149r" location="f43:202" file="f43" line="202"/>
+    <Argument name="__maxsize" type="_1698" location="f43:202" file="f43" line="202"/>
+    <Argument name="__format" type="_2749r" location="f43:202" file="f43" line="202"/>
+    <Argument name="__tp" type="_2782r" location="f43:202" file="f43" line="202"/>
+  </Function>
+  <Function id="_1005" name="mktime" returns="_1585" throw="" context="_1" location="f43:194" file="f43" line="194" extern="1">
+    <Argument name="__tp" type="_2892" location="f43:194" file="f43" line="194"/>
+  </Function>
+  <Function id="_1006" name="difftime" returns="_2753" throw="" context="_1" location="f43:191" file="f43" line="191" extern="1" attributes="const">
+    <Argument name="__time1" type="_1585" location="f43:191" file="f43" line="191"/>
+    <Argument name="__time0" type="_1585" location="f43:191" file="f43" line="191"/>
+  </Function>
+  <Function id="_1007" name="time" returns="_1585" throw="" context="_1" location="f43:187" file="f43" line="187" extern="1">
+    <Argument name="__timer" type="_2907" location="f43:187" file="f43" line="187"/>
+  </Function>
+  <Function id="_1008" name="clock" returns="_1586" throw="" context="_1" location="f43:184" file="f43" line="184" extern="1"/>
+  <Struct id="_1009" name="sigevent" context="_1" incomplete="1" mangled="8sigevent" demangled="sigevent" location="f43:169" file="f43" line="169" artificial="1" align="8"/>
+  <Struct id="_1010" name="itimerspec" context="_1" mangled="10itimerspec" demangled="itimerspec" location="f43:163" file="f43" line="163" artificial="1" size="128" align="32" members="_2908 _2909 _2910 _2911 " bases=""/>
+  <Struct id="_1011" name="tm" context="_1" mangled="2tm" demangled="tm" location="f43:135" file="f43" line="135" artificial="1" size="352" align="32" members="_2912 _2913 _2914 _2915 _2916 _2917 _2918 _2919 _2920 _2921 _2922 _2923 _2924 " bases=""/>
+  <Function id="_1012" name="sched_getaffinity" returns="_503" throw="" context="_1" location="f44:81" file="f44" line="81" extern="1">
+    <Argument name="__pid" type="_1637" location="f44:81" file="f44" line="81"/>
+    <Argument name="__cpusetsize" type="_1698" location="f44:81" file="f44" line="81"/>
+    <Argument name="__cpuset" type="_2871" location="f44:81" file="f44" line="81"/>
+  </Function>
+  <Function id="_1013" name="sched_setaffinity" returns="_503" throw="" context="_1" location="f44:77" file="f44" line="77" extern="1">
+    <Argument name="__pid" type="_1637" location="f44:77" file="f44" line="77"/>
+    <Argument name="__cpusetsize" type="_1698" location="f44:77" file="f44" line="77"/>
+    <Argument name="__cpuset" type="_2872" location="f44:77" file="f44" line="77"/>
+  </Function>
+  <Function id="_1014" name="sched_rr_get_interval" returns="_503" throw="" context="_1" location="f44:63" file="f44" line="63" extern="1">
+    <Argument name="__pid" type="_1637" location="f44:63" file="f44" line="63"/>
+    <Argument name="__t" type="_2903" location="f44:63" file="f44" line="63"/>
+  </Function>
+  <Function id="_1015" name="sched_get_priority_min" returns="_503" throw="" context="_1" location="f44:60" file="f44" line="60" extern="1">
+    <Argument name="__algorithm" type="_503" location="f44:60" file="f44" line="60"/>
+  </Function>
+  <Function id="_1016" name="sched_get_priority_max" returns="_503" throw="" context="_1" location="f44:57" file="f44" line="57" extern="1">
+    <Argument name="__algorithm" type="_503" location="f44:57" file="f44" line="57"/>
+  </Function>
+  <Function id="_1017" name="sched_yield" returns="_503" throw="" context="_1" location="f44:54" file="f44" line="54" extern="1"/>
+  <Function id="_1018" name="sched_getscheduler" returns="_503" throw="" context="_1" location="f44:51" file="f44" line="51" extern="1">
+    <Argument name="__pid" type="_1637" location="f44:51" file="f44" line="51"/>
+  </Function>
+  <Function id="_1019" name="sched_setscheduler" returns="_503" throw="" context="_1" location="f44:48" file="f44" line="48" extern="1">
+    <Argument name="__pid" type="_1637" location="f44:48" file="f44" line="48"/>
+    <Argument name="__policy" type="_503" location="f44:48" file="f44" line="48"/>
+    <Argument name="__param" type="_2875" location="f44:48" file="f44" line="48"/>
+  </Function>
+  <Function id="_1020" name="sched_getparam" returns="_503" throw="" context="_1" location="f44:44" file="f44" line="44" extern="1">
+    <Argument name="__pid" type="_1637" location="f44:44" file="f44" line="44"/>
+    <Argument name="__param" type="_2873" location="f44:44" file="f44" line="44"/>
+  </Function>
+  <Function id="_1021" name="sched_setparam" returns="_503" throw="" context="_1" location="f44:41" file="f44" line="41" extern="1">
+    <Argument name="__pid" type="_1637" location="f44:41" file="f44" line="41"/>
+    <Argument name="__param" type="_2875" location="f44:41" file="f44" line="41"/>
+  </Function>
+  <Struct id="_1022" name="cpu_set_t" context="_1" mangled="9cpu_set_t" demangled="cpu_set_t" location="f45:114" file="f45" line="114" size="1024" align="32" members="_2925 _2926 _2927 " bases=""/>
+  <Typedef id="_1023" name="__cpu_mask" type="_643" context="_1" location="f45:104" file="f45" line="104"/>
+  <Struct id="_1024" name="__sched_param" context="_1" mangled="13__sched_param" demangled="__sched_param" location="f45:90" file="f45" line="90" artificial="1" size="32" align="32" members="_2928 _2929 _2930 " bases=""/>
+  <Function id="_1025" name="unshare" returns="_503" throw="" context="_1" location="f45:78" file="f45" line="78" extern="1">
+    <Argument name="__flags" type="_503" location="f45:78" file="f45" line="78"/>
+  </Function>
+  <Function id="_1026" name="clone" returns="_503" throw="" context="_1" location="f45:75" file="f45" line="75" extern="1">
+    <Argument name="__fn" type="_2931" location="f45:75" file="f45" line="75"/>
+    <Argument name="__child_stack" type="_1042" location="f45:75" file="f45" line="75"/>
+    <Argument name="__flags" type="_503" location="f45:75" file="f45" line="75"/>
+    <Argument name="__arg" type="_1042" location="f45:75" file="f45" line="75"/>
+    <Ellipsis/>
+  </Function>
+  <Struct id="_1027" name="sched_param" context="_1" mangled="11sched_param" demangled="sched_param" location="f45:66" file="f45" line="66" artificial="1" size="32" align="32" members="_2932 _2933 _2934 " bases=""/>
+  <Function id="_1028" name="bind_textdomain_codeset" returns="_1149" throw="" context="_1" location="f46:93" file="f46" line="93" extern="1">
+    <Argument name="__domainname" type="_2749" location="f46:93" file="f46" line="93"/>
+    <Argument name="__codeset" type="_2749" location="f46:93" file="f46" line="93"/>
+  </Function>
+  <Function id="_1029" name="bindtextdomain" returns="_1149" throw="" context="_1" location="f46:88" file="f46" line="88" extern="1">
+    <Argument name="__domainname" type="_2749" location="f46:88" file="f46" line="88"/>
+    <Argument name="__dirname" type="_2749" location="f46:88" file="f46" line="88"/>
+  </Function>
+  <Function id="_1030" name="textdomain" returns="_1149" throw="" context="_1" location="f46:83" file="f46" line="83" extern="1">
+    <Argument name="__domainname" type="_2749" location="f46:83" file="f46" line="83"/>
+  </Function>
+  <Function id="_1031" name="dcngettext" returns="_1149" throw="" context="_1" location="f46:77" file="f46" line="77" extern="1">
+    <Argument name="__domainname" type="_2749" location="f46:77" file="f46" line="77"/>
+    <Argument name="__msgid1" type="_2749" location="f46:77" file="f46" line="77"/>
+    <Argument name="__msgid2" type="_2749" location="f46:77" file="f46" line="77"/>
+    <Argument name="__n" type="_643" location="f46:77" file="f46" line="77"/>
+    <Argument name="__category" type="_503" location="f46:77" file="f46" line="77"/>
+  </Function>
+  <Function id="_1032" name="dngettext" returns="_1149" throw="" context="_1" location="f46:70" file="f46" line="70" extern="1">
+    <Argument name="__domainname" type="_2749" location="f46:70" file="f46" line="70"/>
+    <Argument name="__msgid1" type="_2749" location="f46:70" file="f46" line="70"/>
+    <Argument name="__msgid2" type="_2749" location="f46:70" file="f46" line="70"/>
+    <Argument name="__n" type="_643" location="f46:70" file="f46" line="70"/>
+  </Function>
+  <Function id="_1033" name="ngettext" returns="_1149" throw="" context="_1" location="f46:64" file="f46" line="64" extern="1">
+    <Argument name="__msgid1" type="_2749" location="f46:64" file="f46" line="64"/>
+    <Argument name="__msgid2" type="_2749" location="f46:64" file="f46" line="64"/>
+    <Argument name="__n" type="_643" location="f46:64" file="f46" line="64"/>
+  </Function>
+  <Function id="_1034" name="__dcgettext" returns="_1149" throw="" context="_1" location="f46:57" file="f46" line="57" extern="1">
+    <Argument name="__domainname" type="_2749" location="f46:57" file="f46" line="57"/>
+    <Argument name="__msgid" type="_2749" location="f46:57" file="f46" line="57"/>
+    <Argument name="__category" type="_503" location="f46:57" file="f46" line="57"/>
+  </Function>
+  <Function id="_1035" name="dcgettext" returns="_1149" throw="" context="_1" location="f46:54" file="f46" line="54" extern="1" attributes="nothrow nonnull() format_arg()">
+    <Argument name="__domainname" type="_2749" location="f46:54" file="f46" line="54"/>
+    <Argument name="__msgid" type="_2749" location="f46:54" file="f46" line="54"/>
+    <Argument name="__category" type="_503" location="f46:54" file="f46" line="54"/>
+  </Function>
+  <Function id="_1036" name="__dgettext" returns="_1149" throw="" context="_1" location="f46:48" file="f46" line="48" extern="1">
+    <Argument name="__domainname" type="_2749" location="f46:48" file="f46" line="48"/>
+    <Argument name="__msgid" type="_2749" location="f46:48" file="f46" line="48"/>
+  </Function>
+  <Function id="_1037" name="dgettext" returns="_1149" throw="" context="_1" location="f46:46" file="f46" line="46" extern="1" attributes="nothrow nonnull() format_arg()">
+    <Argument name="__domainname" type="_2749" location="f46:46" file="f46" line="46"/>
+    <Argument name="__msgid" type="_2749" location="f46:46" file="f46" line="46"/>
+  </Function>
+  <Function id="_1038" name="gettext" returns="_1149" throw="" context="_1" location="f46:41" file="f46" line="41" extern="1" attributes="nothrow nonnull() format_arg()">
+    <Argument name="__msgid" type="_2749" location="f46:41" file="f46" line="41"/>
+  </Function>
+  <Function id="_1039" name="iconv_close" returns="_503" context="_1" location="f47:52" file="f47" line="52" extern="1">
+    <Argument name="__cd" type="_1043" location="f47:52" file="f47" line="52"/>
+  </Function>
+  <Function id="_1040" name="iconv" returns="_1698" context="_1" location="f47:46" file="f47" line="46" extern="1">
+    <Argument name="__cd" type="_1043" location="f47:46" file="f47" line="46"/>
+    <Argument name="__inbuf" type="_2935r" location="f47:46" file="f47" line="46"/>
+    <Argument name="__inbytesleft" type="_2880r" location="f47:46" file="f47" line="46"/>
+    <Argument name="__outbuf" type="_2935r" location="f47:46" file="f47" line="46"/>
+    <Argument name="__outbytesleft" type="_2880r" location="f47:46" file="f47" line="46"/>
+  </Function>
+  <Function id="_1041" name="iconv_open" returns="_1043" context="_1" location="f47:38" file="f47" line="38" extern="1">
+    <Argument name="__tocode" type="_2749" location="f47:38" file="f47" line="38"/>
+    <Argument name="__fromcode" type="_2749" location="f47:38" file="f47" line="38"/>
+  </Function>
+  <PointerType id="_1042" type="_1194" size="32" align="32"/>
+  <Typedef id="_1043" name="iconv_t" type="_1042" context="_1" location="f47:30" file="f47" line="30"/>
+  <Function id="_1044" name="nl_langinfo_l" returns="_1149" context="_1" location="f48:593" file="f48" line="593" extern="1">
+    <Argument name="__item" type="_1050" location="f48:593" file="f48" line="593"/>
+    <Argument name="l" type="_1677" location="f48:593" file="f48" line="593"/>
+  </Function>
+  <Function id="_1045" name="nl_langinfo" returns="_1149" throw="" context="_1" location="f48:582" file="f48" line="582" extern="1">
+    <Argument name="__item" type="_1050" location="f48:582" file="f48" line="582"/>
+  </Function>
+  <Enumeration id="_1046" name="._62" context="_1" location="f48:43" file="f48" line="43" artificial="1" size="32" align="32">
+    <EnumValue name="ABDAY_1" init="131072"/>
+    <EnumValue name="ABDAY_2" init="131073"/>
+    <EnumValue name="ABDAY_3" init="131074"/>
+    <EnumValue name="ABDAY_4" init="131075"/>
+    <EnumValue name="ABDAY_5" init="131076"/>
+    <EnumValue name="ABDAY_6" init="131077"/>
+    <EnumValue name="ABDAY_7" init="131078"/>
+    <EnumValue name="DAY_1" init="131079"/>
+    <EnumValue name="DAY_2" init="131080"/>
+    <EnumValue name="DAY_3" init="131081"/>
+    <EnumValue name="DAY_4" init="131082"/>
+    <EnumValue name="DAY_5" init="131083"/>
+    <EnumValue name="DAY_6" init="131084"/>
+    <EnumValue name="DAY_7" init="131085"/>
+    <EnumValue name="ABMON_1" init="131086"/>
+    <EnumValue name="ABMON_2" init="131087"/>
+    <EnumValue name="ABMON_3" init="131088"/>
+    <EnumValue name="ABMON_4" init="131089"/>
+    <EnumValue name="ABMON_5" init="131090"/>
+    <EnumValue name="ABMON_6" init="131091"/>
+    <EnumValue name="ABMON_7" init="131092"/>
+    <EnumValue name="ABMON_8" init="131093"/>
+    <EnumValue name="ABMON_9" init="131094"/>
+    <EnumValue name="ABMON_10" init="131095"/>
+    <EnumValue name="ABMON_11" init="131096"/>
+    <EnumValue name="ABMON_12" init="131097"/>
+    <EnumValue name="MON_1" init="131098"/>
+    <EnumValue name="MON_2" init="131099"/>
+    <EnumValue name="MON_3" init="131100"/>
+    <EnumValue name="MON_4" init="131101"/>
+    <EnumValue name="MON_5" init="131102"/>
+    <EnumValue name="MON_6" init="131103"/>
+    <EnumValue name="MON_7" init="131104"/>
+    <EnumValue name="MON_8" init="131105"/>
+    <EnumValue name="MON_9" init="131106"/>
+    <EnumValue name="MON_10" init="131107"/>
+    <EnumValue name="MON_11" init="131108"/>
+    <EnumValue name="MON_12" init="131109"/>
+    <EnumValue name="AM_STR" init="131110"/>
+    <EnumValue name="PM_STR" init="131111"/>
+    <EnumValue name="D_T_FMT" init="131112"/>
+    <EnumValue name="D_FMT" init="131113"/>
+    <EnumValue name="T_FMT" init="131114"/>
+    <EnumValue name="T_FMT_AMPM" init="131115"/>
+    <EnumValue name="ERA" init="131116"/>
+    <EnumValue name="__ERA_YEAR" init="131117"/>
+    <EnumValue name="ERA_D_FMT" init="131118"/>
+    <EnumValue name="ALT_DIGITS" init="131119"/>
+    <EnumValue name="ERA_D_T_FMT" init="131120"/>
+    <EnumValue name="ERA_T_FMT" init="131121"/>
+    <EnumValue name="_NL_TIME_ERA_NUM_ENTRIES" init="131122"/>
+    <EnumValue name="_NL_TIME_ERA_ENTRIES" init="131123"/>
+    <EnumValue name="_NL_WABDAY_1" init="131124"/>
+    <EnumValue name="_NL_WABDAY_2" init="131125"/>
+    <EnumValue name="_NL_WABDAY_3" init="131126"/>
+    <EnumValue name="_NL_WABDAY_4" init="131127"/>
+    <EnumValue name="_NL_WABDAY_5" init="131128"/>
+    <EnumValue name="_NL_WABDAY_6" init="131129"/>
+    <EnumValue name="_NL_WABDAY_7" init="131130"/>
+    <EnumValue name="_NL_WDAY_1" init="131131"/>
+    <EnumValue name="_NL_WDAY_2" init="131132"/>
+    <EnumValue name="_NL_WDAY_3" init="131133"/>
+    <EnumValue name="_NL_WDAY_4" init="131134"/>
+    <EnumValue name="_NL_WDAY_5" init="131135"/>
+    <EnumValue name="_NL_WDAY_6" init="131136"/>
+    <EnumValue name="_NL_WDAY_7" init="131137"/>
+    <EnumValue name="_NL_WABMON_1" init="131138"/>
+    <EnumValue name="_NL_WABMON_2" init="131139"/>
+    <EnumValue name="_NL_WABMON_3" init="131140"/>
+    <EnumValue name="_NL_WABMON_4" init="131141"/>
+    <EnumValue name="_NL_WABMON_5" init="131142"/>
+    <EnumValue name="_NL_WABMON_6" init="131143"/>
+    <EnumValue name="_NL_WABMON_7" init="131144"/>
+    <EnumValue name="_NL_WABMON_8" init="131145"/>
+    <EnumValue name="_NL_WABMON_9" init="131146"/>
+    <EnumValue name="_NL_WABMON_10" init="131147"/>
+    <EnumValue name="_NL_WABMON_11" init="131148"/>
+    <EnumValue name="_NL_WABMON_12" init="131149"/>
+    <EnumValue name="_NL_WMON_1" init="131150"/>
+    <EnumValue name="_NL_WMON_2" init="131151"/>
+    <EnumValue name="_NL_WMON_3" init="131152"/>
+    <EnumValue name="_NL_WMON_4" init="131153"/>
+    <EnumValue name="_NL_WMON_5" init="131154"/>
+    <EnumValue name="_NL_WMON_6" init="131155"/>
+    <EnumValue name="_NL_WMON_7" init="131156"/>
+    <EnumValue name="_NL_WMON_8" init="131157"/>
+    <EnumValue name="_NL_WMON_9" init="131158"/>
+    <EnumValue name="_NL_WMON_10" init="131159"/>
+    <EnumValue name="_NL_WMON_11" init="131160"/>
+    <EnumValue name="_NL_WMON_12" init="131161"/>
+    <EnumValue name="_NL_WAM_STR" init="131162"/>
+    <EnumValue name="_NL_WPM_STR" init="131163"/>
+    <EnumValue name="_NL_WD_T_FMT" init="131164"/>
+    <EnumValue name="_NL_WD_FMT" init="131165"/>
+    <EnumValue name="_NL_WT_FMT" init="131166"/>
+    <EnumValue name="_NL_WT_FMT_AMPM" init="131167"/>
+    <EnumValue name="_NL_WERA_YEAR" init="131168"/>
+    <EnumValue name="_NL_WERA_D_FMT" init="131169"/>
+    <EnumValue name="_NL_WALT_DIGITS" init="131170"/>
+    <EnumValue name="_NL_WERA_D_T_FMT" init="131171"/>
+    <EnumValue name="_NL_WERA_T_FMT" init="131172"/>
+    <EnumValue name="_NL_TIME_WEEK_NDAYS" init="131173"/>
+    <EnumValue name="_NL_TIME_WEEK_1STDAY" init="131174"/>
+    <EnumValue name="_NL_TIME_WEEK_1STWEEK" init="131175"/>
+    <EnumValue name="_NL_TIME_FIRST_WEEKDAY" init="131176"/>
+    <EnumValue name="_NL_TIME_FIRST_WORKDAY" init="131177"/>
+    <EnumValue name="_NL_TIME_CAL_DIRECTION" init="131178"/>
+    <EnumValue name="_NL_TIME_TIMEZONE" init="131179"/>
+    <EnumValue name="_DATE_FMT" init="131180"/>
+    <EnumValue name="_NL_W_DATE_FMT" init="131181"/>
+    <EnumValue name="_NL_TIME_CODESET" init="131182"/>
+    <EnumValue name="_NL_NUM_LC_TIME" init="131183"/>
+    <EnumValue name="_NL_COLLATE_NRULES" init="196608"/>
+    <EnumValue name="_NL_COLLATE_RULESETS" init="196609"/>
+    <EnumValue name="_NL_COLLATE_TABLEMB" init="196610"/>
+    <EnumValue name="_NL_COLLATE_WEIGHTMB" init="196611"/>
+    <EnumValue name="_NL_COLLATE_EXTRAMB" init="196612"/>
+    <EnumValue name="_NL_COLLATE_INDIRECTMB" init="196613"/>
+    <EnumValue name="_NL_COLLATE_GAP1" init="196614"/>
+    <EnumValue name="_NL_COLLATE_GAP2" init="196615"/>
+    <EnumValue name="_NL_COLLATE_GAP3" init="196616"/>
+    <EnumValue name="_NL_COLLATE_TABLEWC" init="196617"/>
+    <EnumValue name="_NL_COLLATE_WEIGHTWC" init="196618"/>
+    <EnumValue name="_NL_COLLATE_EXTRAWC" init="196619"/>
+    <EnumValue name="_NL_COLLATE_INDIRECTWC" init="196620"/>
+    <EnumValue name="_NL_COLLATE_SYMB_HASH_SIZEMB" init="196621"/>
+    <EnumValue name="_NL_COLLATE_SYMB_TABLEMB" init="196622"/>
+    <EnumValue name="_NL_COLLATE_SYMB_EXTRAMB" init="196623"/>
+    <EnumValue name="_NL_COLLATE_COLLSEQMB" init="196624"/>
+    <EnumValue name="_NL_COLLATE_COLLSEQWC" init="196625"/>
+    <EnumValue name="_NL_COLLATE_CODESET" init="196626"/>
+    <EnumValue name="_NL_NUM_LC_COLLATE" init="196627"/>
+    <EnumValue name="_NL_CTYPE_CLASS" init="0"/>
+    <EnumValue name="_NL_CTYPE_TOUPPER" init="1"/>
+    <EnumValue name="_NL_CTYPE_GAP1" init="2"/>
+    <EnumValue name="_NL_CTYPE_TOLOWER" init="3"/>
+    <EnumValue name="_NL_CTYPE_GAP2" init="4"/>
+    <EnumValue name="_NL_CTYPE_CLASS32" init="5"/>
+    <EnumValue name="_NL_CTYPE_GAP3" init="6"/>
+    <EnumValue name="_NL_CTYPE_GAP4" init="7"/>
+    <EnumValue name="_NL_CTYPE_GAP5" init="8"/>
+    <EnumValue name="_NL_CTYPE_GAP6" init="9"/>
+    <EnumValue name="_NL_CTYPE_CLASS_NAMES" init="10"/>
+    <EnumValue name="_NL_CTYPE_MAP_NAMES" init="11"/>
+    <EnumValue name="_NL_CTYPE_WIDTH" init="12"/>
+    <EnumValue name="_NL_CTYPE_MB_CUR_MAX" init="13"/>
+    <EnumValue name="_NL_CTYPE_CODESET_NAME" init="14"/>
+    <EnumValue name="CODESET" init="14"/>
+    <EnumValue name="_NL_CTYPE_TOUPPER32" init="15"/>
+    <EnumValue name="_NL_CTYPE_TOLOWER32" init="16"/>
+    <EnumValue name="_NL_CTYPE_CLASS_OFFSET" init="17"/>
+    <EnumValue name="_NL_CTYPE_MAP_OFFSET" init="18"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS_MB_LEN" init="19"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS0_MB" init="20"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS1_MB" init="21"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS2_MB" init="22"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS3_MB" init="23"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS4_MB" init="24"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS5_MB" init="25"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS6_MB" init="26"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS7_MB" init="27"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS8_MB" init="28"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS9_MB" init="29"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS_WC_LEN" init="30"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS0_WC" init="31"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS1_WC" init="32"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS2_WC" init="33"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS3_WC" init="34"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS4_WC" init="35"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS5_WC" init="36"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS6_WC" init="37"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS7_WC" init="38"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS8_WC" init="39"/>
+    <EnumValue name="_NL_CTYPE_INDIGITS9_WC" init="40"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT0_MB" init="41"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT1_MB" init="42"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT2_MB" init="43"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT3_MB" init="44"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT4_MB" init="45"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT5_MB" init="46"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT6_MB" init="47"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT7_MB" init="48"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT8_MB" init="49"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT9_MB" init="50"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT0_WC" init="51"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT1_WC" init="52"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT2_WC" init="53"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT3_WC" init="54"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT4_WC" init="55"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT5_WC" init="56"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT6_WC" init="57"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT7_WC" init="58"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT8_WC" init="59"/>
+    <EnumValue name="_NL_CTYPE_OUTDIGIT9_WC" init="60"/>
+    <EnumValue name="_NL_CTYPE_TRANSLIT_TAB_SIZE" init="61"/>
+    <EnumValue name="_NL_CTYPE_TRANSLIT_FROM_IDX" init="62"/>
+    <EnumValue name="_NL_CTYPE_TRANSLIT_FROM_TBL" init="63"/>
+    <EnumValue name="_NL_CTYPE_TRANSLIT_TO_IDX" init="64"/>
+    <EnumValue name="_NL_CTYPE_TRANSLIT_TO_TBL" init="65"/>
+    <EnumValue name="_NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN" init="66"/>
+    <EnumValue name="_NL_CTYPE_TRANSLIT_DEFAULT_MISSING" init="67"/>
+    <EnumValue name="_NL_CTYPE_TRANSLIT_IGNORE_LEN" init="68"/>
+    <EnumValue name="_NL_CTYPE_TRANSLIT_IGNORE" init="69"/>
+    <EnumValue name="_NL_CTYPE_MAP_TO_NONASCII" init="70"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_1" init="71"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_2" init="72"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_3" init="73"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_4" init="74"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_5" init="75"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_6" init="76"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_7" init="77"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_8" init="78"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_9" init="79"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_10" init="80"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_11" init="81"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_12" init="82"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_13" init="83"/>
+    <EnumValue name="_NL_CTYPE_EXTRA_MAP_14" init="84"/>
+    <EnumValue name="_NL_NUM_LC_CTYPE" init="85"/>
+    <EnumValue name="__INT_CURR_SYMBOL" init="262144"/>
+    <EnumValue name="__CURRENCY_SYMBOL" init="262145"/>
+    <EnumValue name="__MON_DECIMAL_POINT" init="262146"/>
+    <EnumValue name="__MON_THOUSANDS_SEP" init="262147"/>
+    <EnumValue name="__MON_GROUPING" init="262148"/>
+    <EnumValue name="__POSITIVE_SIGN" init="262149"/>
+    <EnumValue name="__NEGATIVE_SIGN" init="262150"/>
+    <EnumValue name="__INT_FRAC_DIGITS" init="262151"/>
+    <EnumValue name="__FRAC_DIGITS" init="262152"/>
+    <EnumValue name="__P_CS_PRECEDES" init="262153"/>
+    <EnumValue name="__P_SEP_BY_SPACE" init="262154"/>
+    <EnumValue name="__N_CS_PRECEDES" init="262155"/>
+    <EnumValue name="__N_SEP_BY_SPACE" init="262156"/>
+    <EnumValue name="__P_SIGN_POSN" init="262157"/>
+    <EnumValue name="__N_SIGN_POSN" init="262158"/>
+    <EnumValue name="_NL_MONETARY_CRNCYSTR" init="262159"/>
+    <EnumValue name="__INT_P_CS_PRECEDES" init="262160"/>
+    <EnumValue name="__INT_P_SEP_BY_SPACE" init="262161"/>
+    <EnumValue name="__INT_N_CS_PRECEDES" init="262162"/>
+    <EnumValue name="__INT_N_SEP_BY_SPACE" init="262163"/>
+    <EnumValue name="__INT_P_SIGN_POSN" init="262164"/>
+    <EnumValue name="__INT_N_SIGN_POSN" init="262165"/>
+    <EnumValue name="_NL_MONETARY_DUO_INT_CURR_SYMBOL" init="262166"/>
+    <EnumValue name="_NL_MONETARY_DUO_CURRENCY_SYMBOL" init="262167"/>
+    <EnumValue name="_NL_MONETARY_DUO_INT_FRAC_DIGITS" init="262168"/>
+    <EnumValue name="_NL_MONETARY_DUO_FRAC_DIGITS" init="262169"/>
+    <EnumValue name="_NL_MONETARY_DUO_P_CS_PRECEDES" init="262170"/>
+    <EnumValue name="_NL_MONETARY_DUO_P_SEP_BY_SPACE" init="262171"/>
+    <EnumValue name="_NL_MONETARY_DUO_N_CS_PRECEDES" init="262172"/>
+    <EnumValue name="_NL_MONETARY_DUO_N_SEP_BY_SPACE" init="262173"/>
+    <EnumValue name="_NL_MONETARY_DUO_INT_P_CS_PRECEDES" init="262174"/>
+    <EnumValue name="_NL_MONETARY_DUO_INT_P_SEP_BY_SPACE" init="262175"/>
+    <EnumValue name="_NL_MONETARY_DUO_INT_N_CS_PRECEDES" init="262176"/>
+    <EnumValue name="_NL_MONETARY_DUO_INT_N_SEP_BY_SPACE" init="262177"/>
+    <EnumValue name="_NL_MONETARY_DUO_P_SIGN_POSN" init="262178"/>
+    <EnumValue name="_NL_MONETARY_DUO_N_SIGN_POSN" init="262179"/>
+    <EnumValue name="_NL_MONETARY_DUO_INT_P_SIGN_POSN" init="262180"/>
+    <EnumValue name="_NL_MONETARY_DUO_INT_N_SIGN_POSN" init="262181"/>
+    <EnumValue name="_NL_MONETARY_UNO_VALID_FROM" init="262182"/>
+    <EnumValue name="_NL_MONETARY_UNO_VALID_TO" init="262183"/>
+    <EnumValue name="_NL_MONETARY_DUO_VALID_FROM" init="262184"/>
+    <EnumValue name="_NL_MONETARY_DUO_VALID_TO" init="262185"/>
+    <EnumValue name="_NL_MONETARY_CONVERSION_RATE" init="262186"/>
+    <EnumValue name="_NL_MONETARY_DECIMAL_POINT_WC" init="262187"/>
+    <EnumValue name="_NL_MONETARY_THOUSANDS_SEP_WC" init="262188"/>
+    <EnumValue name="_NL_MONETARY_CODESET" init="262189"/>
+    <EnumValue name="_NL_NUM_LC_MONETARY" init="262190"/>
+    <EnumValue name="__DECIMAL_POINT" init="65536"/>
+    <EnumValue name="RADIXCHAR" init="65536"/>
+    <EnumValue name="__THOUSANDS_SEP" init="65537"/>
+    <EnumValue name="THOUSEP" init="65537"/>
+    <EnumValue name="__GROUPING" init="65538"/>
+    <EnumValue name="_NL_NUMERIC_DECIMAL_POINT_WC" init="65539"/>
+    <EnumValue name="_NL_NUMERIC_THOUSANDS_SEP_WC" init="65540"/>
+    <EnumValue name="_NL_NUMERIC_CODESET" init="65541"/>
+    <EnumValue name="_NL_NUM_LC_NUMERIC" init="65542"/>
+    <EnumValue name="__YESEXPR" init="327680"/>
+    <EnumValue name="__NOEXPR" init="327681"/>
+    <EnumValue name="__YESSTR" init="327682"/>
+    <EnumValue name="__NOSTR" init="327683"/>
+    <EnumValue name="_NL_MESSAGES_CODESET" init="327684"/>
+    <EnumValue name="_NL_NUM_LC_MESSAGES" init="327685"/>
+    <EnumValue name="_NL_PAPER_HEIGHT" init="458752"/>
+    <EnumValue name="_NL_PAPER_WIDTH" init="458753"/>
+    <EnumValue name="_NL_PAPER_CODESET" init="458754"/>
+    <EnumValue name="_NL_NUM_LC_PAPER" init="458755"/>
+    <EnumValue name="_NL_NAME_NAME_FMT" init="524288"/>
+    <EnumValue name="_NL_NAME_NAME_GEN" init="524289"/>
+    <EnumValue name="_NL_NAME_NAME_MR" init="524290"/>
+    <EnumValue name="_NL_NAME_NAME_MRS" init="524291"/>
+    <EnumValue name="_NL_NAME_NAME_MISS" init="524292"/>
+    <EnumValue name="_NL_NAME_NAME_MS" init="524293"/>
+    <EnumValue name="_NL_NAME_CODESET" init="524294"/>
+    <EnumValue name="_NL_NUM_LC_NAME" init="524295"/>
+    <EnumValue name="_NL_ADDRESS_POSTAL_FMT" init="589824"/>
+    <EnumValue name="_NL_ADDRESS_COUNTRY_NAME" init="589825"/>
+    <EnumValue name="_NL_ADDRESS_COUNTRY_POST" init="589826"/>
+    <EnumValue name="_NL_ADDRESS_COUNTRY_AB2" init="589827"/>
+    <EnumValue name="_NL_ADDRESS_COUNTRY_AB3" init="589828"/>
+    <EnumValue name="_NL_ADDRESS_COUNTRY_CAR" init="589829"/>
+    <EnumValue name="_NL_ADDRESS_COUNTRY_NUM" init="589830"/>
+    <EnumValue name="_NL_ADDRESS_COUNTRY_ISBN" init="589831"/>
+    <EnumValue name="_NL_ADDRESS_LANG_NAME" init="589832"/>
+    <EnumValue name="_NL_ADDRESS_LANG_AB" init="589833"/>
+    <EnumValue name="_NL_ADDRESS_LANG_TERM" init="589834"/>
+    <EnumValue name="_NL_ADDRESS_LANG_LIB" init="589835"/>
+    <EnumValue name="_NL_ADDRESS_CODESET" init="589836"/>
+    <EnumValue name="_NL_NUM_LC_ADDRESS" init="589837"/>
+    <EnumValue name="_NL_TELEPHONE_TEL_INT_FMT" init="655360"/>
+    <EnumValue name="_NL_TELEPHONE_TEL_DOM_FMT" init="655361"/>
+    <EnumValue name="_NL_TELEPHONE_INT_SELECT" init="655362"/>
+    <EnumValue name="_NL_TELEPHONE_INT_PREFIX" init="655363"/>
+    <EnumValue name="_NL_TELEPHONE_CODESET" init="655364"/>
+    <EnumValue name="_NL_NUM_LC_TELEPHONE" init="655365"/>
+    <EnumValue name="_NL_MEASUREMENT_MEASUREMENT" init="720896"/>
+    <EnumValue name="_NL_MEASUREMENT_CODESET" init="720897"/>
+    <EnumValue name="_NL_NUM_LC_MEASUREMENT" init="720898"/>
+    <EnumValue name="_NL_IDENTIFICATION_TITLE" init="786432"/>
+    <EnumValue name="_NL_IDENTIFICATION_SOURCE" init="786433"/>
+    <EnumValue name="_NL_IDENTIFICATION_ADDRESS" init="786434"/>
+    <EnumValue name="_NL_IDENTIFICATION_CONTACT" init="786435"/>
+    <EnumValue name="_NL_IDENTIFICATION_EMAIL" init="786436"/>
+    <EnumValue name="_NL_IDENTIFICATION_TEL" init="786437"/>
+    <EnumValue name="_NL_IDENTIFICATION_FAX" init="786438"/>
+    <EnumValue name="_NL_IDENTIFICATION_LANGUAGE" init="786439"/>
+    <EnumValue name="_NL_IDENTIFICATION_TERRITORY" init="786440"/>
+    <EnumValue name="_NL_IDENTIFICATION_AUDIENCE" init="786441"/>
+    <EnumValue name="_NL_IDENTIFICATION_APPLICATION" init="786442"/>
+    <EnumValue name="_NL_IDENTIFICATION_ABBREVIATION" init="786443"/>
+    <EnumValue name="_NL_IDENTIFICATION_REVISION" init="786444"/>
+    <EnumValue name="_NL_IDENTIFICATION_DATE" init="786445"/>
+    <EnumValue name="_NL_IDENTIFICATION_CATEGORY" init="786446"/>
+    <EnumValue name="_NL_IDENTIFICATION_CODESET" init="786447"/>
+    <EnumValue name="_NL_NUM_LC_IDENTIFICATION" init="786448"/>
+    <EnumValue name="_NL_NUM" init="786449"/>
+  </Enumeration>
+  <Function id="_1047" name="catclose" returns="_503" throw="" context="_1" location="f49:51" file="f49" line="51" extern="1">
+    <Argument name="__catalog" type="_1051" location="f49:51" file="f49" line="51"/>
+  </Function>
+  <Function id="_1048" name="catgets" returns="_1149" throw="" context="_1" location="f49:48" file="f49" line="48" extern="1">
+    <Argument name="__catalog" type="_1051" location="f49:48" file="f49" line="48"/>
+    <Argument name="__set" type="_503" location="f49:48" file="f49" line="48"/>
+    <Argument name="__number" type="_503" location="f49:48" file="f49" line="48"/>
+    <Argument name="__string" type="_2749" location="f49:48" file="f49" line="48"/>
+  </Function>
+  <Function id="_1049" name="catopen" returns="_1051" context="_1" location="f49:43" file="f49" line="43" extern="1">
+    <Argument name="__cat_name" type="_2749" location="f49:43" file="f49" line="43"/>
+    <Argument name="__flag" type="_503" location="f49:43" file="f49" line="43"/>
+  </Function>
+  <Typedef id="_1050" name="nl_item" type="_503" context="_1" location="f49:37" file="f49" line="37"/>
+  <Typedef id="_1051" name="nl_catd" type="_1042" context="_1" location="f49:34" file="f49" line="34"/>
+  <Function id="_1052" name="funlockfile" returns="_1194" throw="" context="_1" location="f50:825" file="f50" line="825" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:825" file="f50" line="825"/>
+  </Function>
+  <Function id="_1053" name="ftrylockfile" returns="_503" throw="" context="_1" location="f50:822" file="f50" line="822" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:822" file="f50" line="822"/>
+  </Function>
+  <Function id="_1054" name="flockfile" returns="_1194" throw="" context="_1" location="f50:818" file="f50" line="818" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:818" file="f50" line="818"/>
+  </Function>
+  <Function id="_1055" name="obstack_vprintf" returns="_503" throw="" context="_1" location="f50:810" file="f50" line="810" extern="1" attributes="__format__(,,)">
+    <Argument name="__obstack" type="_2938r" location="f50:810" file="f50" line="810"/>
+    <Argument name="__format" type="_2749r" location="f50:810" file="f50" line="810"/>
+    <Argument name="__args" type="_1197" location="f50:810" file="f50" line="810"/>
+  </Function>
+  <Function id="_1056" name="obstack_printf" returns="_503" throw="" context="_1" location="f50:806" file="f50" line="806" extern="1" attributes="__format__(,,)">
+    <Argument name="__obstack" type="_2938r" location="f50:806" file="f50" line="806"/>
+    <Argument name="__format" type="_2749r" location="f50:806" file="f50" line="806"/>
+    <Ellipsis/>
+  </Function>
+  <Struct id="_1057" name="obstack" context="_1" incomplete="1" mangled="7obstack" demangled="obstack" location="f50:801" file="f50" line="801" artificial="1" align="8"/>
+  <Function id="_1058" name="cuserid" returns="_1149" context="_1" location="f50:796" file="f50" line="796" extern="1">
+    <Argument name="__s" type="_1149" location="f50:796" file="f50" line="796"/>
+  </Function>
+  <Function id="_1059" name="pclose" returns="_503" context="_1" location="f50:784" file="f50" line="784" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:784" file="f50" line="784"/>
+  </Function>
+  <Function id="_1060" name="popen" returns="_2937" context="_1" location="f50:778" file="f50" line="778" extern="1">
+    <Argument name="__command" type="_2749" location="f50:778" file="f50" line="778"/>
+    <Argument name="__modes" type="_2749" location="f50:778" file="f50" line="778"/>
+  </Function>
+  <Function id="_1061" name="fileno_unlocked" returns="_503" throw="" context="_1" location="f50:768" file="f50" line="768" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:768" file="f50" line="768"/>
+  </Function>
+  <Function id="_1062" name="fileno" returns="_503" throw="" context="_1" location="f50:763" file="f50" line="763" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:763" file="f50" line="763"/>
+  </Function>
+  <Variable id="_1063" name="_sys_errlist" type="_2940c" context="_1" location="f51:32" file="f51" line="32" extern="1"/>
+  <Variable id="_1064" name="_sys_nerr" type="_503" context="_1" location="f51:31" file="f51" line="31" extern="1"/>
+  <Variable id="_1065" name="sys_errlist" type="_2942c" context="_1" location="f51:28" file="f51" line="28" extern="1"/>
+  <Variable id="_1066" name="sys_nerr" type="_503" context="_1" location="f51:27" file="f51" line="27" extern="1"/>
+  <Function id="_1067" name="perror" returns="_1194" context="_1" location="f50:751" file="f50" line="751" extern="1">
+    <Argument name="__s" type="_2749" location="f50:751" file="f50" line="751"/>
+  </Function>
+  <Function id="_1068" name="ferror_unlocked" returns="_503" throw="" context="_1" location="f50:742" file="f50" line="742" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:742" file="f50" line="742"/>
+  </Function>
+  <Function id="_1069" name="feof_unlocked" returns="_503" throw="" context="_1" location="f50:741" file="f50" line="741" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:741" file="f50" line="741"/>
+  </Function>
+  <Function id="_1070" name="clearerr_unlocked" returns="_1194" throw="" context="_1" location="f50:740" file="f50" line="740" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:740" file="f50" line="740"/>
+  </Function>
+  <Function id="_1071" name="ferror" returns="_503" throw="" context="_1" location="f50:735" file="f50" line="735" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:735" file="f50" line="735"/>
+  </Function>
+  <Function id="_1072" name="feof" returns="_503" throw="" context="_1" location="f50:733" file="f50" line="733" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:733" file="f50" line="733"/>
+  </Function>
+  <Function id="_1073" name="clearerr" returns="_1194" throw="" context="_1" location="f50:731" file="f50" line="731" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:731" file="f50" line="731"/>
+  </Function>
+  <Function id="_1074" name="fsetpos64" returns="_503" context="_1" location="f50:726" file="f50" line="726" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:726" file="f50" line="726"/>
+    <Argument name="__pos" type="_2944" location="f50:726" file="f50" line="726"/>
+  </Function>
+  <Function id="_1075" name="fgetpos64" returns="_503" context="_1" location="f50:725" file="f50" line="725" extern="1">
+    <Argument name="__stream" type="_2937r" location="f50:725" file="f50" line="725"/>
+    <Argument name="__pos" type="_2946r" location="f50:725" file="f50" line="725"/>
+  </Function>
+  <Function id="_1076" name="ftello64" returns="_1638" context="_1" location="f50:724" file="f50" line="724" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:724" file="f50" line="724"/>
+  </Function>
+  <Function id="_1077" name="fseeko64" returns="_503" context="_1" location="f50:723" file="f50" line="723" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:723" file="f50" line="723"/>
+    <Argument name="__off" type="_1638" location="f50:723" file="f50" line="723"/>
+    <Argument name="__whence" type="_503" location="f50:723" file="f50" line="723"/>
+  </Function>
+  <Function id="_1078" name="fsetpos" returns="_503" context="_1" location="f50:708" file="f50" line="708" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:708" file="f50" line="708"/>
+    <Argument name="__pos" type="_2948" location="f50:708" file="f50" line="708"/>
+  </Function>
+  <Function id="_1079" name="fgetpos" returns="_503" context="_1" location="f50:703" file="f50" line="703" extern="1">
+    <Argument name="__stream" type="_2937r" location="f50:703" file="f50" line="703"/>
+    <Argument name="__pos" type="_2949r" location="f50:703" file="f50" line="703"/>
+  </Function>
+  <Function id="_1080" name="ftello" returns="_1639" context="_1" location="f50:683" file="f50" line="683" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:683" file="f50" line="683"/>
+  </Function>
+  <Function id="_1081" name="fseeko" returns="_503" context="_1" location="f50:678" file="f50" line="678" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:678" file="f50" line="678"/>
+    <Argument name="__off" type="_1639" location="f50:678" file="f50" line="678"/>
+    <Argument name="__whence" type="_503" location="f50:678" file="f50" line="678"/>
+  </Function>
+  <Function id="_1082" name="rewind" returns="_1194" context="_1" location="f50:664" file="f50" line="664" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:664" file="f50" line="664"/>
+  </Function>
+  <Function id="_1083" name="ftell" returns="_1553" context="_1" location="f50:659" file="f50" line="659" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:659" file="f50" line="659"/>
+  </Function>
+  <Function id="_1084" name="fseek" returns="_503" context="_1" location="f50:654" file="f50" line="654" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:654" file="f50" line="654"/>
+    <Argument name="__off" type="_1553" location="f50:654" file="f50" line="654"/>
+    <Argument name="__whence" type="_503" location="f50:654" file="f50" line="654"/>
+  </Function>
+  <Function id="_1085" name="fwrite_unlocked" returns="_1698" context="_1" location="f50:645" file="f50" line="645" extern="1">
+    <Argument name="__ptr" type="_2807r" location="f50:645" file="f50" line="645"/>
+    <Argument name="__size" type="_1698" location="f50:645" file="f50" line="645"/>
+    <Argument name="__n" type="_1698" location="f50:645" file="f50" line="645"/>
+    <Argument name="__stream" type="_2937r" location="f50:645" file="f50" line="645"/>
+  </Function>
+  <Function id="_1086" name="fread_unlocked" returns="_1698" context="_1" location="f50:643" file="f50" line="643" extern="1">
+    <Argument name="__ptr" type="_1042r" location="f50:643" file="f50" line="643"/>
+    <Argument name="__size" type="_1698" location="f50:643" file="f50" line="643"/>
+    <Argument name="__n" type="_1698" location="f50:643" file="f50" line="643"/>
+    <Argument name="__stream" type="_2937r" location="f50:643" file="f50" line="643"/>
+  </Function>
+  <Function id="_1087" name="fwrite" returns="_1698" context="_1" location="f50:621" file="f50" line="621" extern="1">
+    <Argument name="__ptr" type="_2807r" location="f50:621" file="f50" line="621"/>
+    <Argument name="__size" type="_1698" location="f50:621" file="f50" line="621"/>
+    <Argument name="__n" type="_1698" location="f50:621" file="f50" line="621"/>
+    <Argument name="__s" type="_2937r" location="f50:621" file="f50" line="621"/>
+  </Function>
+  <Function id="_1088" name="fread" returns="_1698" context="_1" location="f50:615" file="f50" line="615" extern="1">
+    <Argument name="__ptr" type="_1042r" location="f50:615" file="f50" line="615"/>
+    <Argument name="__size" type="_1698" location="f50:615" file="f50" line="615"/>
+    <Argument name="__n" type="_1698" location="f50:615" file="f50" line="615"/>
+    <Argument name="__stream" type="_2937r" location="f50:615" file="f50" line="615"/>
+  </Function>
+  <Function id="_1089" name="ungetc" returns="_503" context="_1" location="f50:607" file="f50" line="607" extern="1">
+    <Argument name="__c" type="_503" location="f50:607" file="f50" line="607"/>
+    <Argument name="__stream" type="_2937" location="f50:607" file="f50" line="607"/>
+  </Function>
+  <Function id="_1090" name="getline" returns="_1617" context="_1" location="f50:585" file="f50" line="585" extern="1">
+    <Argument name="__lineptr" type="_2935r" location="f50:585" file="f50" line="585"/>
+    <Argument name="__n" type="_2880r" location="f50:585" file="f50" line="585"/>
+    <Argument name="__stream" type="_2937r" location="f50:585" file="f50" line="585"/>
+  </Function>
+  <Function id="_1091" name="getdelim" returns="_1617" context="_1" location="f50:575" file="f50" line="575" extern="1">
+    <Argument name="__lineptr" type="_2935r" location="f50:575" file="f50" line="575"/>
+    <Argument name="__n" type="_2880r" location="f50:575" file="f50" line="575"/>
+    <Argument name="__delimiter" type="_503" location="f50:575" file="f50" line="575"/>
+    <Argument name="__stream" type="_2937r" location="f50:575" file="f50" line="575"/>
+  </Function>
+  <Function id="_1092" name="__getdelim" returns="_1617" context="_1" location="f50:572" file="f50" line="572" extern="1">
+    <Argument name="__lineptr" type="_2935r" location="f50:572" file="f50" line="572"/>
+    <Argument name="__n" type="_2880r" location="f50:572" file="f50" line="572"/>
+    <Argument name="__delimiter" type="_503" location="f50:572" file="f50" line="572"/>
+    <Argument name="__stream" type="_2937r" location="f50:572" file="f50" line="572"/>
+  </Function>
+  <Function id="_1093" name="fgets_unlocked" returns="_1149" context="_1" location="f50:555" file="f50" line="555" extern="1">
+    <Argument name="__s" type="_1149r" location="f50:555" file="f50" line="555"/>
+    <Argument name="__n" type="_503" location="f50:555" file="f50" line="555"/>
+    <Argument name="__stream" type="_2937r" location="f50:555" file="f50" line="555"/>
+  </Function>
+  <Function id="_1094" name="gets" returns="_1149" context="_1" location="f50:544" file="f50" line="544" extern="1">
+    <Argument name="__s" type="_1149" location="f50:544" file="f50" line="544"/>
+  </Function>
+  <Function id="_1095" name="fgets" returns="_1149" context="_1" location="f50:537" file="f50" line="537" extern="1">
+    <Argument name="__s" type="_1149r" location="f50:537" file="f50" line="537"/>
+    <Argument name="__n" type="_503" location="f50:537" file="f50" line="537"/>
+    <Argument name="__stream" type="_2937r" location="f50:537" file="f50" line="537"/>
+  </Function>
+  <Function id="_1096" name="putw" returns="_503" context="_1" location="f50:527" file="f50" line="527" extern="1">
+    <Argument name="__w" type="_503" location="f50:527" file="f50" line="527"/>
+    <Argument name="__stream" type="_2937" location="f50:527" file="f50" line="527"/>
+  </Function>
+  <Function id="_1097" name="getw" returns="_503" context="_1" location="f50:524" file="f50" line="524" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:524" file="f50" line="524"/>
+  </Function>
+  <Function id="_1098" name="putchar_unlocked" returns="_503" context="_1" location="f50:517" file="f50" line="517" extern="1">
+    <Argument name="__c" type="_503" location="f50:517" file="f50" line="517"/>
+  </Function>
+  <Function id="_1099" name="putc_unlocked" returns="_503" context="_1" location="f50:516" file="f50" line="516" extern="1">
+    <Argument name="__c" type="_503" location="f50:516" file="f50" line="516"/>
+    <Argument name="__stream" type="_2937" location="f50:516" file="f50" line="516"/>
+  </Function>
+  <Function id="_1100" name="fputc_unlocked" returns="_503" context="_1" location="f50:508" file="f50" line="508" extern="1">
+    <Argument name="__c" type="_503" location="f50:508" file="f50" line="508"/>
+    <Argument name="__stream" type="_2937" location="f50:508" file="f50" line="508"/>
+  </Function>
+  <Function id="_1101" name="putc" returns="_503" context="_1" location="f50:488" file="f50" line="488" extern="1">
+    <Argument name="__c" type="_503" location="f50:488" file="f50" line="488"/>
+    <Argument name="__stream" type="_2937" location="f50:488" file="f50" line="488"/>
+  </Function>
+  <Function id="_1102" name="fputc" returns="_503" context="_1" location="f50:487" file="f50" line="487" extern="1">
+    <Argument name="__c" type="_503" location="f50:487" file="f50" line="487"/>
+    <Argument name="__stream" type="_2937" location="f50:487" file="f50" line="487"/>
+  </Function>
+  <Function id="_1103" name="fgetc_unlocked" returns="_503" context="_1" location="f50:475" file="f50" line="475" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:475" file="f50" line="475"/>
+  </Function>
+  <Function id="_1104" name="getchar_unlocked" returns="_503" context="_1" location="f50:465" file="f50" line="465" extern="1"/>
+  <Function id="_1105" name="getc_unlocked" returns="_503" context="_1" location="f50:464" file="f50" line="464" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:464" file="f50" line="464"/>
+  </Function>
+  <Function id="_1106" name="getchar" returns="_503" context="_1" location="f50:452" file="f50" line="452" extern="1"/>
+  <Function id="_1107" name="getc" returns="_503" context="_1" location="f50:446" file="f50" line="446" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:446" file="f50" line="446"/>
+  </Function>
+  <Function id="_1108" name="fgetc" returns="_503" context="_1" location="f50:445" file="f50" line="445" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:445" file="f50" line="445"/>
+  </Function>
+  <Function id="_1109" name="vfscanf" returns="_503" context="_1" location="f50:423" file="f50" line="423" extern="1" attributes="nothrow __format__(,,) nonnull() format(,,)">
+    <Argument name="__s" type="_2937r" location="f50:423" file="f50" line="423"/>
+    <Argument name="__format" type="_2749r" location="f50:423" file="f50" line="423"/>
+    <Argument name="__arg" type="_1197" location="f50:423" file="f50" line="423"/>
+  </Function>
+  <Function id="_1110" name="fscanf" returns="_503" context="_1" location="f50:404" file="f50" line="404" extern="1" attributes="nothrow nonnull() format(,,)">
+    <Argument name="__stream" type="_2937r" location="f50:404" file="f50" line="404"/>
+    <Argument name="__format" type="_2749r" location="f50:404" file="f50" line="404"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1111" name="dprintf" returns="_503" context="_1" location="f50:394" file="f50" line="394" extern="1" attributes="__format__(,,)">
+    <Argument name="__fd" type="_503" location="f50:394" file="f50" line="394"/>
+    <Argument name="__fmt" type="_2749r" location="f50:394" file="f50" line="394"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1112" name="vdprintf" returns="_503" context="_1" location="f50:392" file="f50" line="392" extern="1" attributes="__format__(,,)">
+    <Argument name="__fd" type="_503" location="f50:392" file="f50" line="392"/>
+    <Argument name="__fmt" type="_2749r" location="f50:392" file="f50" line="392"/>
+    <Argument name="__arg" type="_1197" location="f50:392" file="f50" line="392"/>
+  </Function>
+  <Function id="_1113" name="asprintf" returns="_503" throw="" context="_1" location="f50:382" file="f50" line="382" extern="1" attributes="__format__(,,)">
+    <Argument name="__ptr" type="_2935r" location="f50:382" file="f50" line="382"/>
+    <Argument name="__fmt" type="_2749r" location="f50:382" file="f50" line="382"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1114" name="__asprintf" returns="_503" throw="" context="_1" location="f50:379" file="f50" line="379" extern="1" attributes="__format__(,,)">
+    <Argument name="__ptr" type="_2935r" location="f50:379" file="f50" line="379"/>
+    <Argument name="__fmt" type="_2749r" location="f50:379" file="f50" line="379"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1115" name="vasprintf" returns="_503" throw="" context="_1" location="f50:376" file="f50" line="376" extern="1" attributes="__format__(,,)">
+    <Argument name="__ptr" type="_2935r" location="f50:376" file="f50" line="376"/>
+    <Argument name="__f" type="_2749r" location="f50:376" file="f50" line="376"/>
+    <Argument name="__arg" type="_1197" location="f50:376" file="f50" line="376"/>
+  </Function>
+  <Function id="_1116" name="vfprintf" returns="_503" context="_1" location="f50:347" file="f50" line="347" extern="1" attributes="nothrow nonnull() format(,,)">
+    <Argument name="__s" type="_2937r" location="f50:347" file="f50" line="347"/>
+    <Argument name="__format" type="_2749r" location="f50:347" file="f50" line="347"/>
+    <Argument name="__arg" type="_1197" location="f50:347" file="f50" line="347"/>
+  </Function>
+  <Function id="_1117" name="setlinebuf" returns="_1194" throw="" context="_1" location="f50:322" file="f50" line="322" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:322" file="f50" line="322"/>
+  </Function>
+  <Function id="_1118" name="setbuffer" returns="_1194" throw="" context="_1" location="f50:319" file="f50" line="319" extern="1">
+    <Argument name="__stream" type="_2937r" location="f50:319" file="f50" line="319"/>
+    <Argument name="__buf" type="_1149r" location="f50:319" file="f50" line="319"/>
+    <Argument name="__size" type="_1698" location="f50:319" file="f50" line="319"/>
+  </Function>
+  <Function id="_1119" name="setvbuf" returns="_503" throw="" context="_1" location="f50:312" file="f50" line="312" extern="1">
+    <Argument name="__stream" type="_2937r" location="f50:312" file="f50" line="312"/>
+    <Argument name="__buf" type="_1149r" location="f50:312" file="f50" line="312"/>
+    <Argument name="__modes" type="_503" location="f50:312" file="f50" line="312"/>
+    <Argument name="__n" type="_1698" location="f50:312" file="f50" line="312"/>
+  </Function>
+  <Function id="_1120" name="setbuf" returns="_1194" throw="" context="_1" location="f50:307" file="f50" line="307" extern="1">
+    <Argument name="__stream" type="_2937r" location="f50:307" file="f50" line="307"/>
+    <Argument name="__buf" type="_1149r" location="f50:307" file="f50" line="307"/>
+  </Function>
+  <Function id="_1121" name="open_wmemstream" returns="_2937" throw="" context="_1" location="f50:300" file="f50" line="300" extern="1">
+    <Argument name="__bufloc" type="_2787r" location="f50:300" file="f50" line="300"/>
+    <Argument name="__sizeloc" type="_2880r" location="f50:300" file="f50" line="300"/>
+  </Function>
+  <Function id="_1122" name="open_memstream" returns="_2937" throw="" context="_1" location="f50:295" file="f50" line="295" extern="1">
+    <Argument name="__bufloc" type="_2935r" location="f50:295" file="f50" line="295"/>
+    <Argument name="__sizeloc" type="_2880r" location="f50:295" file="f50" line="295"/>
+  </Function>
+  <Function id="_1123" name="fmemopen" returns="_2937" throw="" context="_1" location="f50:289" file="f50" line="289" extern="1">
+    <Argument name="__s" type="_1042" location="f50:289" file="f50" line="289"/>
+    <Argument name="__len" type="_1698" location="f50:289" file="f50" line="289"/>
+    <Argument name="__modes" type="_2749" location="f50:289" file="f50" line="289"/>
+  </Function>
+  <Function id="_1124" name="fopencookie" returns="_2937" throw="" context="_1" location="f50:286" file="f50" line="286" extern="1">
+    <Argument name="__magic_cookie" type="_1042r" location="f50:286" file="f50" line="286"/>
+    <Argument name="__modes" type="_2749r" location="f50:286" file="f50" line="286"/>
+    <Argument name="__io_funcs" type="_1174" location="f50:286" file="f50" line="286"/>
+  </Function>
+  <Function id="_1125" name="fdopen" returns="_2937" throw="" context="_1" location="f50:278" file="f50" line="278" extern="1">
+    <Argument name="__fd" type="_503" location="f50:278" file="f50" line="278"/>
+    <Argument name="__modes" type="_2749" location="f50:278" file="f50" line="278"/>
+  </Function>
+  <Function id="_1126" name="freopen64" returns="_2937" context="_1" location="f50:273" file="f50" line="273" extern="1">
+    <Argument name="__filename" type="_2749r" location="f50:273" file="f50" line="273"/>
+    <Argument name="__modes" type="_2749r" location="f50:273" file="f50" line="273"/>
+    <Argument name="__stream" type="_2937r" location="f50:273" file="f50" line="273"/>
+  </Function>
+  <Function id="_1127" name="fopen64" returns="_2937" context="_1" location="f50:270" file="f50" line="270" extern="1">
+    <Argument name="__filename" type="_2749r" location="f50:270" file="f50" line="270"/>
+    <Argument name="__modes" type="_2749r" location="f50:270" file="f50" line="270"/>
+  </Function>
+  <Function id="_1128" name="freopen" returns="_2937" context="_1" location="f50:254" file="f50" line="254" extern="1">
+    <Argument name="__filename" type="_2749r" location="f50:254" file="f50" line="254"/>
+    <Argument name="__modes" type="_2749r" location="f50:254" file="f50" line="254"/>
+    <Argument name="__stream" type="_2937r" location="f50:254" file="f50" line="254"/>
+  </Function>
+  <Function id="_1129" name="fopen" returns="_2937" context="_1" location="f50:247" file="f50" line="247" extern="1">
+    <Argument name="__filename" type="_2749r" location="f50:247" file="f50" line="247"/>
+    <Argument name="__modes" type="_2749r" location="f50:247" file="f50" line="247"/>
+  </Function>
+  <Function id="_1130" name="fcloseall" returns="_503" context="_1" location="f50:236" file="f50" line="236" extern="1"/>
+  <Function id="_1131" name="fflush_unlocked" returns="_503" context="_1" location="f50:226" file="f50" line="226" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:226" file="f50" line="226"/>
+  </Function>
+  <Function id="_1132" name="fflush" returns="_503" context="_1" location="f50:216" file="f50" line="216" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:216" file="f50" line="216"/>
+  </Function>
+  <Function id="_1133" name="fclose" returns="_503" context="_1" location="f50:211" file="f50" line="211" extern="1">
+    <Argument name="__stream" type="_2937" location="f50:211" file="f50" line="211"/>
+  </Function>
+  <Function id="_1134" name="tempnam" returns="_1149" throw="" context="_1" location="f50:202" file="f50" line="202" extern="1" attributes="__malloc__">
+    <Argument name="__dir" type="_2749" location="f50:202" file="f50" line="202"/>
+    <Argument name="__pfx" type="_2749" location="f50:202" file="f50" line="202"/>
+  </Function>
+  <Function id="_1135" name="tmpnam_r" returns="_1149" throw="" context="_1" location="f50:189" file="f50" line="189" extern="1">
+    <Argument name="__s" type="_1149" location="f50:189" file="f50" line="189"/>
+  </Function>
+  <Function id="_1136" name="tmpnam" returns="_1149" throw="" context="_1" location="f50:183" file="f50" line="183" extern="1">
+    <Argument name="__s" type="_1149" location="f50:183" file="f50" line="183"/>
+  </Function>
+  <Function id="_1137" name="tmpfile64" returns="_2937" context="_1" location="f50:179" file="f50" line="179" extern="1"/>
+  <Function id="_1138" name="tmpfile" returns="_2937" context="_1" location="f50:169" file="f50" line="169" extern="1"/>
+  <Function id="_1139" name="renameat" returns="_503" throw="" context="_1" location="f50:160" file="f50" line="160" extern="1">
+    <Argument name="__oldfd" type="_503" location="f50:160" file="f50" line="160"/>
+    <Argument name="__old" type="_2749" location="f50:160" file="f50" line="160"/>
+    <Argument name="__newfd" type="_503" location="f50:160" file="f50" line="160"/>
+    <Argument name="__new" type="_2749" location="f50:160" file="f50" line="160"/>
+  </Function>
+  <Function id="_1140" name="rename" returns="_503" throw="" context="_1" location="f50:154" file="f50" line="154" extern="1">
+    <Argument name="__old" type="_2749" location="f50:154" file="f50" line="154"/>
+    <Argument name="__new" type="_2749" location="f50:154" file="f50" line="154"/>
+  </Function>
+  <Function id="_1141" name="remove" returns="_503" throw="" context="_1" location="f50:152" file="f50" line="152" extern="1">
+    <Argument name="__filename" type="_2749" location="f50:152" file="f50" line="152"/>
+  </Function>
+  <Variable id="_1142" name="stderr" type="_2952" context="_1" location="f50:144" file="f50" line="144" extern="1"/>
+  <Variable id="_1143" name="stdout" type="_2952" context="_1" location="f50:143" file="f50" line="143" extern="1"/>
+  <Variable id="_1144" name="stdin" type="_2952" context="_1" location="f50:142" file="f50" line="142" extern="1"/>
+  <Struct id="_1145" name="_G_fpos64_t" context="_1" mangled="11_G_fpos64_t" demangled="_G_fpos64_t" location="f52:35" file="f52" line="35" size="128" align="32" members="_2953 _2954 _2955 _2956 " bases=""/>
+  <Typedef id="_1146" name="fpos64_t" type="_1145" context="_1" location="f50:94" file="f50" line="94"/>
+  <Struct id="_1147" name="_G_fpos_t" context="_1" mangled="9_G_fpos_t" demangled="_G_fpos_t" location="f52:30" file="f52" line="30" size="96" align="32" members="_2957 _2958 _2959 _2960 " bases=""/>
+  <Typedef id="_1148" name="fpos_t" type="_1147" context="_1" location="f50:88" file="f50" line="88"/>
+  <PointerType id="_1149" type="_2961" size="32" align="32"/>
+  <Typedef id="_1150" name="va_list" type="_1197" context="_1" location="f50:77" file="f50" line="77"/>
+  <Function id="_1151" name="_IO_free_backup_area" returns="_1194" throw="" context="_1" location="f53:490" file="f53" line="490" extern="1">
+    <Argument type="_2952" location="f53:490" file="f53" line="490"/>
+  </Function>
+  <Function id="_1152" name="_IO_seekpos" returns="_1638" throw="" context="_1" location="f53:488" file="f53" line="488" extern="1">
+    <Argument type="_2952" location="f53:488" file="f53" line="488"/>
+    <Argument type="_1638" location="f53:488" file="f53" line="488"/>
+    <Argument type="_503" location="f53:488" file="f53" line="488"/>
+  </Function>
+  <Function id="_1153" name="_IO_seekoff" returns="_1638" throw="" context="_1" location="f53:487" file="f53" line="487" extern="1">
+    <Argument type="_2952" location="f53:487" file="f53" line="487"/>
+    <Argument type="_1638" location="f53:487" file="f53" line="487"/>
+    <Argument type="_503" location="f53:487" file="f53" line="487"/>
+    <Argument type="_503" location="f53:487" file="f53" line="487"/>
+  </Function>
+  <Function id="_1154" name="_IO_sgetn" returns="_1698" throw="" context="_1" location="f53:485" file="f53" line="485" extern="1">
+    <Argument type="_2952" location="f53:485" file="f53" line="485"/>
+    <Argument type="_1042" location="f53:485" file="f53" line="485"/>
+    <Argument type="_1698" location="f53:485" file="f53" line="485"/>
+  </Function>
+  <Function id="_1155" name="_IO_padn" returns="_1617" throw="" context="_1" location="f53:484" file="f53" line="484" extern="1">
+    <Argument type="_2952" location="f53:484" file="f53" line="484"/>
+    <Argument type="_503" location="f53:484" file="f53" line="484"/>
+    <Argument type="_1617" location="f53:484" file="f53" line="484"/>
+  </Function>
+  <Function id="_1156" name="_IO_vfprintf" returns="_503" context="_1" location="f53:483" file="f53" line="483" extern="1">
+    <Argument type="_2952r" location="f53:483" file="f53" line="483"/>
+    <Argument type="_2749r" location="f53:483" file="f53" line="483"/>
+    <Argument type="_1197" location="f53:483" file="f53" line="483"/>
+  </Function>
+  <Function id="_1157" name="_IO_vfscanf" returns="_503" context="_1" location="f53:481" file="f53" line="481" extern="1">
+    <Argument type="_2952r" location="f53:481" file="f53" line="481"/>
+    <Argument type="_2749r" location="f53:481" file="f53" line="481"/>
+    <Argument type="_1197" location="f53:481" file="f53" line="481"/>
+    <Argument type="_2748r" location="f53:481" file="f53" line="481"/>
+  </Function>
+  <Function id="_1158" name="_IO_ftrylockfile" returns="_503" throw="" context="_1" location="f53:463" file="f53" line="463" extern="1">
+    <Argument type="_2952" location="f53:463" file="f53" line="463"/>
+  </Function>
+  <Function id="_1159" name="_IO_funlockfile" returns="_1194" throw="" context="_1" location="f53:462" file="f53" line="462" extern="1">
+    <Argument type="_2952" location="f53:462" file="f53" line="462"/>
+  </Function>
+  <Function id="_1160" name="_IO_flockfile" returns="_1194" throw="" context="_1" location="f53:461" file="f53" line="461" extern="1">
+    <Argument type="_2952" location="f53:461" file="f53" line="461"/>
+  </Function>
+  <Function id="_1161" name="_IO_peekc_locked" returns="_503" throw="" context="_1" location="f53:455" file="f53" line="455" extern="1">
+    <Argument name="__fp" type="_2952" location="f53:455" file="f53" line="455"/>
+  </Function>
+  <Function id="_1162" name="_IO_ferror" returns="_503" throw="" context="_1" location="f53:453" file="f53" line="453" extern="1">
+    <Argument name="__fp" type="_2952" location="f53:453" file="f53" line="453"/>
+  </Function>
+  <Function id="_1163" name="_IO_feof" returns="_503" throw="" context="_1" location="f53:452" file="f53" line="452" extern="1">
+    <Argument name="__fp" type="_2952" location="f53:452" file="f53" line="452"/>
+  </Function>
+  <Function id="_1164" name="_IO_putc" returns="_503" throw="" context="_1" location="f53:451" file="f53" line="451" extern="1">
+    <Argument name="__c" type="_503" location="f53:451" file="f53" line="451"/>
+    <Argument name="__fp" type="_2952" location="f53:451" file="f53" line="451"/>
+  </Function>
+  <Function id="_1165" name="_IO_getc" returns="_503" throw="" context="_1" location="f53:450" file="f53" line="450" extern="1">
+    <Argument name="__fp" type="_2952" location="f53:450" file="f53" line="450"/>
+  </Function>
+  <Function id="_1166" name="__woverflow" returns="_1232" throw="" context="_1" location="f53:417" file="f53" line="417" extern="1">
+    <Argument type="_2952" location="f53:417" file="f53" line="417"/>
+    <Argument type="_1232" location="f53:417" file="f53" line="417"/>
+  </Function>
+  <Function id="_1167" name="__wuflow" returns="_1232" throw="" context="_1" location="f53:416" file="f53" line="416" extern="1">
+    <Argument type="_2952" location="f53:416" file="f53" line="416"/>
+  </Function>
+  <Function id="_1168" name="__wunderflow" returns="_1232" throw="" context="_1" location="f53:415" file="f53" line="415" extern="1">
+    <Argument type="_2952" location="f53:415" file="f53" line="415"/>
+  </Function>
+  <Function id="_1169" name="__overflow" returns="_503" throw="" context="_1" location="f53:414" file="f53" line="414" extern="1">
+    <Argument type="_2952" location="f53:414" file="f53" line="414"/>
+    <Argument type="_503" location="f53:414" file="f53" line="414"/>
+  </Function>
+  <Function id="_1170" name="__uflow" returns="_503" throw="" context="_1" location="f53:413" file="f53" line="413" extern="1">
+    <Argument type="_2952" location="f53:413" file="f53" line="413"/>
+  </Function>
+  <Function id="_1171" name="__underflow" returns="_503" throw="" context="_1" location="f53:412" file="f53" line="412" extern="1">
+    <Argument type="_2952" location="f53:412" file="f53" line="412"/>
+  </Function>
+  <Function id="_1172" name="_IO_cookie_init" returns="_1194" context="_1" location="f53:404" file="f53" line="404" extern="1">
+    <Argument name="__cfile" type="_2963" location="f53:404" file="f53" line="404"/>
+    <Argument name="__read_write" type="_503" location="f53:404" file="f53" line="404"/>
+    <Argument name="__cookie" type="_1042" location="f53:404" file="f53" line="404"/>
+    <Argument name="__fns" type="_1174" location="f53:404" file="f53" line="404"/>
+  </Function>
+  <Struct id="_1173" name="_IO_cookie_file" context="_1" incomplete="1" mangled="15_IO_cookie_file" demangled="_IO_cookie_file" location="f53:400" file="f53" line="400" artificial="1" align="8"/>
+  <Struct id="_1174" name="_IO_cookie_io_functions_t" context="_1" mangled="25_IO_cookie_io_functions_t" demangled="_IO_cookie_io_functions_t" location="f53:397" file="f53" line="397" size="128" align="32" members="_2964 _2965 _2966 _2967 _2968 _2969 " bases=""/>
+  <Typedef id="_1175" name="cookie_io_functions_t" type="_1174" context="_1" location="f53:398" file="f53" line="398"/>
+  <FunctionType id="_1176" returns="_503">
+    <Argument type="_1042"/>
+  </FunctionType>
+  <Typedef id="_1177" name="cookie_close_function_t" type="_1184" context="_1" location="f53:388" file="f53" line="388"/>
+  <FunctionType id="_1178" returns="_503">
+    <Argument type="_1042"/>
+    <Argument type="_2970"/>
+    <Argument type="_503"/>
+  </FunctionType>
+  <Typedef id="_1179" name="cookie_seek_function_t" type="_1185" context="_1" location="f53:387" file="f53" line="387"/>
+  <FunctionType id="_1180" returns="_1617">
+    <Argument type="_1042"/>
+    <Argument type="_2749"/>
+    <Argument type="_837"/>
+  </FunctionType>
+  <Typedef id="_1181" name="cookie_write_function_t" type="_1186" context="_1" location="f53:386" file="f53" line="386"/>
+  <FunctionType id="_1182" returns="_1617">
+    <Argument type="_1042"/>
+    <Argument type="_1149"/>
+    <Argument type="_837"/>
+  </FunctionType>
+  <Typedef id="_1183" name="cookie_read_function_t" type="_1187" context="_1" location="f53:385" file="f53" line="385"/>
+  <Typedef id="_1184" name="__io_close_fn" type="_1176" context="_1" location="f53:380" file="f53" line="380"/>
+  <Typedef id="_1185" name="__io_seek_fn" type="_1178" context="_1" location="f53:377" file="f53" line="377"/>
+  <Typedef id="_1186" name="__io_write_fn" type="_1180" context="_1" location="f53:369" file="f53" line="369"/>
+  <Typedef id="_1187" name="__io_read_fn" type="_1182" context="_1" location="f53:360" file="f53" line="360"/>
+  <Variable id="_1188" name="_IO_2_1_stderr_" type="_1191" context="_1" location="f53:344" file="f53" line="344" extern="1"/>
+  <Variable id="_1189" name="_IO_2_1_stdout_" type="_1191" context="_1" location="f53:343" file="f53" line="343" extern="1"/>
+  <Variable id="_1190" name="_IO_2_1_stdin_" type="_1191" context="_1" location="f53:342" file="f53" line="342" extern="1"/>
+  <Struct id="_1191" name="_IO_FILE_plus" context="_1" incomplete="1" mangled="13_IO_FILE_plus" demangled="_IO_FILE_plus" location="f53:340" file="f53" line="340" artificial="1" align="8"/>
+  <Enumeration id="_1192" name="__codecvt_result" context="_1" location="f53:203" file="f53" line="203" artificial="1" size="32" align="32">
+    <EnumValue name="__codecvt_ok" init="0"/>
+    <EnumValue name="__codecvt_partial" init="1"/>
+    <EnumValue name="__codecvt_error" init="2"/>
+    <EnumValue name="__codecvt_noconv" init="3"/>
+  </Enumeration>
+  <Struct id="_1193" name="_IO_marker" context="_1" mangled="10_IO_marker" demangled="_IO_marker" location="f53:182" file="f53" line="182" artificial="1" size="96" align="32" members="_2971 _2972 _2973 _2974 _2975 " bases=""/>
+  <FundamentalType id="_1194" name="void" align="8"/>
+  <Typedef id="_1195" name="_IO_lock_t" type="_1194" context="_1" location="f53:176" file="f53" line="176"/>
+  <Struct id="_1196" name="_IO_jump_t" context="_1" incomplete="1" mangled="10_IO_jump_t" demangled="_IO_jump_t" location="f53:166" file="f53" line="166" artificial="1" align="8"/>
+  <Typedef id="_1197" name="__gnuc_va_list" type="_1149" context="_1" location="f54:43" file="f54" line="43"/>
+  <Typedef id="_1198" name="_G_uint32_t" type="_837" context="_1" location="f52:58" file="f52" line="58"/>
+  <FundamentalType id="_1199" name="short unsigned int" size="16" align="16"/>
+  <Typedef id="_1200" name="_G_uint16_t" type="_1199" context="_1" location="f52:57" file="f52" line="57"/>
+  <Typedef id="_1201" name="_G_int32_t" type="_503" context="_1" location="f52:56" file="f52" line="56"/>
+  <FundamentalType id="_1202" name="short int" size="16" align="16"/>
+  <Typedef id="_1203" name="_G_int16_t" type="_1202" context="_1" location="f52:55" file="f52" line="55"/>
+  <Union id="_1204" name="_G_iconv_t" context="_1" mangled="10_G_iconv_t" demangled="_G_iconv_t" location="f52:53" file="f52" line="53" size="352" align="32" members="_2977 _2978 _2979 _2980 _2981 " bases=""/>
+  <PointerType id="_1205" type="_1207" size="32" align="32"/>
+  <Typedef id="_1206" name="__gconv_t" type="_1205" context="_1" location="f55:177" file="f55" line="177"/>
+  <Struct id="_1207" name="__gconv_info" context="_1" mangled="12__gconv_info" demangled="__gconv_info" location="f55:173" file="f55" line="173" artificial="1" size="64" align="32" members="_2982 _2983 _2984 _2985 _2986 " bases=""/>
+  <PointerType id="_1208" type="_2987" size="32" align="32"/>
+  <Typedef id="_1209" name="__gconv_trans_end_fct" type="_1208" context="_1" location="f55:101" file="f55" line="101"/>
+  <PointerType id="_1210" type="_2988" size="32" align="32"/>
+  <Typedef id="_1211" name="__gconv_trans_init_fct" type="_1210" context="_1" location="f55:100" file="f55" line="100"/>
+  <PointerType id="_1212" type="_2989" size="32" align="32"/>
+  <Typedef id="_1213" name="__gconv_trans_query_fct" type="_1212" context="_1" location="f55:97" file="f55" line="97"/>
+  <PointerType id="_1214" type="_2990" size="32" align="32"/>
+  <Typedef id="_1215" name="__gconv_trans_context_fct" type="_1214" context="_1" location="f55:93" file="f55" line="93"/>
+  <PointerType id="_1216" type="_2991" size="32" align="32"/>
+  <Typedef id="_1217" name="__gconv_trans_fct" type="_1216" context="_1" location="f55:88" file="f55" line="88"/>
+  <PointerType id="_1218" type="_2992" size="32" align="32"/>
+  <Typedef id="_1219" name="__gconv_end_fct" type="_1218" context="_1" location="f55:79" file="f55" line="79"/>
+  <PointerType id="_1220" type="_2993" size="32" align="32"/>
+  <Typedef id="_1221" name="__gconv_init_fct" type="_1220" context="_1" location="f55:78" file="f55" line="78"/>
+  <PointerType id="_1222" type="_2994" size="32" align="32"/>
+  <Typedef id="_1223" name="__gconv_btowc_fct" type="_1222" context="_1" location="f55:75" file="f55" line="75"/>
+  <PointerType id="_1224" type="_2995" size="32" align="32"/>
+  <Typedef id="_1225" name="__gconv_fct" type="_1224" context="_1" location="f55:72" file="f55" line="72"/>
+  <Struct id="_1226" name="__gconv_trans_data" context="_1" mangled="18__gconv_trans_data" demangled="__gconv_trans_data" location="f55:104" file="f55" line="104" artificial="1" size="160" align="32" members="_2996 _2997 _2998 _2999 _3000 _3001 _3002 " bases=""/>
+  <Struct id="_1227" name="__gconv_loaded_object" context="_1" incomplete="1" mangled="21__gconv_loaded_object" demangled="__gconv_loaded_object" location="f55:65" file="f55" line="65" artificial="1" align="8"/>
+  <Struct id="_1228" name="__gconv_step_data" context="_1" mangled="17__gconv_step_data" demangled="__gconv_step_data" location="f55:146" file="f55" line="146" artificial="1" size="288" align="32" members="_3003 _3004 _3005 _3006 _3007 _3008 _3009 _3010 _3011 _3012 " bases=""/>
+  <Struct id="_1229" name="__gconv_step" context="_1" mangled="12__gconv_step" demangled="__gconv_step" location="f55:116" file="f55" line="116" artificial="1" size="480" align="32" members="_3013 _3014 _3015 _3016 _3017 _3018 _3019 _3020 _3021 _3022 _3023 _3024 _3025 _3026 _3027 _3028 _3029 " bases=""/>
+  <Enumeration id="_1230" name="._58" context="_1" location="f55:56" file="f55" line="56" artificial="1" size="32" align="32">
+    <EnumValue name="__GCONV_IS_LAST" init="1"/>
+    <EnumValue name="__GCONV_IGNORE_ERRORS" init="2"/>
+  </Enumeration>
+  <Enumeration id="_1231" name="._57" context="_1" location="f55:38" file="f55" line="38" artificial="1" size="32" align="32">
+    <EnumValue name="__GCONV_OK" init="0"/>
+    <EnumValue name="__GCONV_NOCONV" init="1"/>
+    <EnumValue name="__GCONV_NODB" init="2"/>
+    <EnumValue name="__GCONV_NOMEM" init="3"/>
+    <EnumValue name="__GCONV_EMPTY_INPUT" init="4"/>
+    <EnumValue name="__GCONV_FULL_OUTPUT" init="5"/>
+    <EnumValue name="__GCONV_ILLEGAL_INPUT" init="6"/>
+    <EnumValue name="__GCONV_INCOMPLETE_INPUT" init="7"/>
+    <EnumValue name="__GCONV_ILLEGAL_DESCRIPTOR" init="8"/>
+    <EnumValue name="__GCONV_INTERNAL_ERROR" init="9"/>
+  </Enumeration>
+  <Typedef id="_1232" name="wint_t" type="_837" context="_1" location="f56:355" file="f56" line="355"/>
+  <Struct id="_1233" name="_IO_FILE" context="_1" mangled="8_IO_FILE" demangled="_IO_FILE" location="f53:267" file="f53" line="267" artificial="1" size="1184" align="32" members="_3030 _3031 _3032 _3033 _3034 _3035 _3036 _3037 _3038 _3039 _3040 _3041 _3042 _3043 _3044 _3045 _3046 _3047 _3048 _3049 _3050 _3051 _3052 _3053 _3054 _3055 _3056 _3057 _3058 _3059 _3060 " bases=""/>
+  <Typedef id="_1234" name="__FILE" type="_1233" context="_1" location="f50:62" file="f50" line="62"/>
+  <Typedef id="_1235" name="FILE" type="_1233" context="_1" location="f50:46" file="f50" line="46"/>
+  <Function id="_1236" name="basename" returns="_1149" throw="" context="_1" location="f57:387" file="f57" line="387" extern="1" attributes="__nonnull__()">
+    <Argument name="__filename" type="_2749" location="f57:387" file="f57" line="387"/>
+  </Function>
+  <Function id="_1237" name="memfrob" returns="_1042" throw="" context="_1" location="f57:380" file="f57" line="380" extern="1" attributes="__nonnull__()">
+    <Argument name="__s" type="_1042" location="f57:380" file="f57" line="380"/>
+    <Argument name="__n" type="_1698" location="f57:380" file="f57" line="380"/>
+  </Function>
+  <Function id="_1238" name="strfry" returns="_1149" throw="" context="_1" location="f57:377" file="f57" line="377" extern="1" attributes="__nonnull__()">
+    <Argument name="__string" type="_1149" location="f57:377" file="f57" line="377"/>
+  </Function>
+  <Function id="_1239" name="stpncpy" returns="_1149" throw="" context="_1" location="f57:374" file="f57" line="374" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__dest" type="_1149r" location="f57:374" file="f57" line="374"/>
+    <Argument name="__src" type="_2749r" location="f57:374" file="f57" line="374"/>
+    <Argument name="__n" type="_1698" location="f57:374" file="f57" line="374"/>
+  </Function>
+  <Function id="_1240" name="__stpncpy" returns="_1149" throw="" context="_1" location="f57:371" file="f57" line="371" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__dest" type="_1149r" location="f57:371" file="f57" line="371"/>
+    <Argument name="__src" type="_2749r" location="f57:371" file="f57" line="371"/>
+    <Argument name="__n" type="_1698" location="f57:371" file="f57" line="371"/>
+  </Function>
+  <Function id="_1241" name="stpcpy" returns="_1149" throw="" context="_1" location="f57:365" file="f57" line="365" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__dest" type="_1149r" location="f57:365" file="f57" line="365"/>
+    <Argument name="__src" type="_2749r" location="f57:365" file="f57" line="365"/>
+  </Function>
+  <Function id="_1242" name="__stpcpy" returns="_1149" throw="" context="_1" location="f57:363" file="f57" line="363" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__dest" type="_1149r" location="f57:363" file="f57" line="363"/>
+    <Argument name="__src" type="_2749r" location="f57:363" file="f57" line="363"/>
+  </Function>
+  <Function id="_1243" name="strsignal" returns="_1149" throw="" context="_1" location="f57:359" file="f57" line="359" extern="1">
+    <Argument name="__sig" type="_503" location="f57:359" file="f57" line="359"/>
+  </Function>
+  <Function id="_1244" name="strverscmp" returns="_503" throw="" context="_1" location="f57:356" file="f57" line="356" extern="1" attributes="__pure__ __nonnull__(,)">
+    <Argument name="__s1" type="_2749" location="f57:356" file="f57" line="356"/>
+    <Argument name="__s2" type="_2749" location="f57:356" file="f57" line="356"/>
+  </Function>
+  <Function id="_1245" name="strsep" returns="_1149" throw="" context="_1" location="f57:350" file="f57" line="350" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__stringp" type="_2935r" location="f57:350" file="f57" line="350"/>
+    <Argument name="__delim" type="_2749r" location="f57:350" file="f57" line="350"/>
+  </Function>
+  <Function id="_1246" name="strncasecmp_l" returns="_503" throw="" context="_1" location="f57:342" file="f57" line="342" extern="1" attributes="__pure__ __nonnull__(,,)">
+    <Argument name="__s1" type="_2749" location="f57:342" file="f57" line="342"/>
+    <Argument name="__s2" type="_2749" location="f57:342" file="f57" line="342"/>
+    <Argument name="__n" type="_1698" location="f57:342" file="f57" line="342"/>
+    <Argument name="__loc" type="_1677" location="f57:342" file="f57" line="342"/>
+  </Function>
+  <Function id="_1247" name="strcasecmp_l" returns="_503" throw="" context="_1" location="f57:338" file="f57" line="338" extern="1" attributes="__pure__ __nonnull__(,,)">
+    <Argument name="__s1" type="_2749" location="f57:338" file="f57" line="338"/>
+    <Argument name="__s2" type="_2749" location="f57:338" file="f57" line="338"/>
+    <Argument name="__loc" type="_1677" location="f57:338" file="f57" line="338"/>
+  </Function>
+  <Function id="_1248" name="strncasecmp" returns="_503" throw="" context="_1" location="f57:330" file="f57" line="330" extern="1" attributes="__pure__ __nonnull__(,)">
+    <Argument name="__s1" type="_2749" location="f57:330" file="f57" line="330"/>
+    <Argument name="__s2" type="_2749" location="f57:330" file="f57" line="330"/>
+    <Argument name="__n" type="_1698" location="f57:330" file="f57" line="330"/>
+  </Function>
+  <Function id="_1249" name="strcasecmp" returns="_503" throw="" context="_1" location="f57:326" file="f57" line="326" extern="1" attributes="__pure__ __nonnull__(,)">
+    <Argument name="__s1" type="_2749" location="f57:326" file="f57" line="326"/>
+    <Argument name="__s2" type="_2749" location="f57:326" file="f57" line="326"/>
+  </Function>
+  <Function id="_1250" name="ffsll" returns="_503" throw="" context="_1" location="f57:320" file="f57" line="320" extern="1" attributes="const">
+    <Argument name="__ll" type="_1290" location="f57:320" file="f57" line="320"/>
+  </Function>
+  <Function id="_1251" name="ffsl" returns="_503" throw="" context="_1" location="f57:317" file="f57" line="317" extern="1" attributes="const">
+    <Argument name="__l" type="_1553" location="f57:317" file="f57" line="317"/>
+  </Function>
+  <Function id="_1252" name="bcopy" returns="_1194" throw="" context="_1" location="f57:293" file="f57" line="293" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__src" type="_2807" location="f57:293" file="f57" line="293"/>
+    <Argument name="__dest" type="_1042" location="f57:293" file="f57" line="293"/>
+    <Argument name="__n" type="_1698" location="f57:293" file="f57" line="293"/>
+  </Function>
+  <Function id="_1253" name="__bzero" returns="_1194" throw="" context="_1" location="f57:288" file="f57" line="288" extern="1" attributes="__nonnull__()">
+    <Argument name="__s" type="_1042" location="f57:288" file="f57" line="288"/>
+    <Argument name="__n" type="_1698" location="f57:288" file="f57" line="288"/>
+  </Function>
+  <Function id="_1254" name="strerror_r" returns="_1149" throw="" context="_1" location="f57:282" file="f57" line="282" extern="1" attributes="__nonnull__()">
+    <Argument name="__errnum" type="_503" location="f57:282" file="f57" line="282"/>
+    <Argument name="__buf" type="_1149" location="f57:282" file="f57" line="282"/>
+    <Argument name="__buflen" type="_1698" location="f57:282" file="f57" line="282"/>
+  </Function>
+  <Function id="_1255" name="strerror" returns="_1149" throw="" context="_1" location="f57:256" file="f57" line="256" extern="1">
+    <Argument name="__errnum" type="_503" location="f57:256" file="f57" line="256"/>
+  </Function>
+  <Function id="_1256" name="strnlen" returns="_1698" throw="" context="_1" location="f57:250" file="f57" line="250" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__string" type="_2749" location="f57:250" file="f57" line="250"/>
+    <Argument name="__maxlen" type="_1698" location="f57:250" file="f57" line="250"/>
+  </Function>
+  <Function id="_1257" name="mempcpy" returns="_1042" throw="" context="_1" location="f57:236" file="f57" line="236" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__dest" type="_1042r" location="f57:236" file="f57" line="236"/>
+    <Argument name="__src" type="_2807r" location="f57:236" file="f57" line="236"/>
+    <Argument name="__n" type="_1698" location="f57:236" file="f57" line="236"/>
+  </Function>
+  <Function id="_1258" name="__mempcpy" returns="_1042" throw="" context="_1" location="f57:233" file="f57" line="233" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__dest" type="_1042r" location="f57:233" file="f57" line="233"/>
+    <Argument name="__src" type="_2807r" location="f57:233" file="f57" line="233"/>
+    <Argument name="__n" type="_1698" location="f57:233" file="f57" line="233"/>
+  </Function>
+  <Function id="_1259" name="memmem" returns="_1042" throw="" context="_1" location="f57:227" file="f57" line="227" extern="1" attributes="__pure__ __nonnull__(,)">
+    <Argument name="__haystack" type="_2807" location="f57:227" file="f57" line="227"/>
+    <Argument name="__haystacklen" type="_1698" location="f57:227" file="f57" line="227"/>
+    <Argument name="__needle" type="_2807" location="f57:227" file="f57" line="227"/>
+    <Argument name="__needlelen" type="_1698" location="f57:227" file="f57" line="227"/>
+  </Function>
+  <Function id="_1260" name="strcasestr" returns="_1149" throw="" context="_1" location="f57:218" file="f57" line="218" extern="1" attributes="__pure__ __nonnull__(,)">
+    <Argument name="__haystack" type="_2749" location="f57:218" file="f57" line="218"/>
+    <Argument name="__needle" type="_2749" location="f57:218" file="f57" line="218"/>
+  </Function>
+  <Function id="_1261" name="strtok_r" returns="_1149" throw="" context="_1" location="f57:212" file="f57" line="212" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__s" type="_1149r" location="f57:212" file="f57" line="212"/>
+    <Argument name="__delim" type="_2749r" location="f57:212" file="f57" line="212"/>
+    <Argument name="__save_ptr" type="_2935r" location="f57:212" file="f57" line="212"/>
+  </Function>
+  <Function id="_1262" name="__strtok_r" returns="_1149" throw="" context="_1" location="f57:208" file="f57" line="208" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__s" type="_1149r" location="f57:208" file="f57" line="208"/>
+    <Argument name="__delim" type="_2749r" location="f57:208" file="f57" line="208"/>
+    <Argument name="__save_ptr" type="_2935r" location="f57:208" file="f57" line="208"/>
+  </Function>
+  <Function id="_1263" name="strtok" returns="_1149" throw="" context="_1" location="f57:200" file="f57" line="200" extern="1" attributes="__nonnull__()">
+    <Argument name="__s" type="_1149r" location="f57:200" file="f57" line="200"/>
+    <Argument name="__delim" type="_2749r" location="f57:200" file="f57" line="200"/>
+  </Function>
+  <Function id="_1264" name="strchrnul" returns="_1149" throw="" context="_1" location="f57:178" file="f57" line="178" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__s" type="_2749" location="f57:178" file="f57" line="178"/>
+    <Argument name="__c" type="_503" location="f57:178" file="f57" line="178"/>
+  </Function>
+  <Function id="_1265" name="strndup" returns="_1149" throw="" context="_1" location="f57:139" file="f57" line="139" extern="1" attributes="__malloc__ __nonnull__()">
+    <Argument name="__string" type="_2749" location="f57:139" file="f57" line="139"/>
+    <Argument name="__n" type="_1698" location="f57:139" file="f57" line="139"/>
+  </Function>
+  <Function id="_1266" name="strdup" returns="_1149" throw="" context="_1" location="f57:131" file="f57" line="131" extern="1" attributes="__malloc__ __nonnull__()">
+    <Argument name="__s" type="_2749" location="f57:131" file="f57" line="131"/>
+  </Function>
+  <Function id="_1267" name="strxfrm_l" returns="_1698" throw="" context="_1" location="f57:125" file="f57" line="125" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__dest" type="_1149" location="f57:125" file="f57" line="125"/>
+    <Argument name="__src" type="_2749" location="f57:125" file="f57" line="125"/>
+    <Argument name="__n" type="_1698" location="f57:125" file="f57" line="125"/>
+    <Argument name="__l" type="_1677" location="f57:125" file="f57" line="125"/>
+  </Function>
+  <Function id="_1268" name="strcoll_l" returns="_503" throw="" context="_1" location="f57:122" file="f57" line="122" extern="1" attributes="__pure__ __nonnull__(,,)">
+    <Argument name="__s1" type="_2749" location="f57:122" file="f57" line="122"/>
+    <Argument name="__s2" type="_2749" location="f57:122" file="f57" line="122"/>
+    <Argument name="__l" type="_1677" location="f57:122" file="f57" line="122"/>
+  </Function>
+  <Function id="_1269" name="strxfrm" returns="_1698" throw="" context="_1" location="f57:111" file="f57" line="111" extern="1" attributes="__nonnull__()">
+    <Argument name="__dest" type="_1149r" location="f57:111" file="f57" line="111"/>
+    <Argument name="__src" type="_2749r" location="f57:111" file="f57" line="111"/>
+    <Argument name="__n" type="_1698" location="f57:111" file="f57" line="111"/>
+  </Function>
+  <Function id="_1270" name="strcoll" returns="_503" throw="" context="_1" location="f57:107" file="f57" line="107" extern="1" attributes="__pure__ __nonnull__(,)">
+    <Argument name="__s1" type="_2749" location="f57:107" file="f57" line="107"/>
+    <Argument name="__s2" type="_2749" location="f57:107" file="f57" line="107"/>
+  </Function>
+  <Function id="_1271" name="memrchr" returns="_1042" throw="" context="_1" location="f57:78" file="f57" line="78" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__s" type="_2807" location="f57:78" file="f57" line="78"/>
+    <Argument name="__c" type="_503" location="f57:78" file="f57" line="78"/>
+    <Argument name="__n" type="_1698" location="f57:78" file="f57" line="78"/>
+  </Function>
+  <Function id="_1272" name="rawmemchr" returns="_1042" throw="" context="_1" location="f57:74" file="f57" line="74" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__s" type="_2807" location="f57:74" file="f57" line="74"/>
+    <Argument name="__c" type="_503" location="f57:74" file="f57" line="74"/>
+  </Function>
+  <Function id="_1273" name="memchr" returns="_1042" throw="" context="_1" location="f57:67" file="f57" line="67" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__s" type="_2807" location="f57:67" file="f57" line="67"/>
+    <Argument name="__c" type="_503" location="f57:67" file="f57" line="67"/>
+    <Argument name="__n" type="_1698" location="f57:67" file="f57" line="67"/>
+  </Function>
+  <Function id="_1274" name="memccpy" returns="_1042" throw="" context="_1" location="f57:53" file="f57" line="53" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__dest" type="_1042r" location="f57:53" file="f57" line="53"/>
+    <Argument name="__src" type="_2807r" location="f57:53" file="f57" line="53"/>
+    <Argument name="__c" type="_503" location="f57:53" file="f57" line="53"/>
+    <Argument name="__n" type="_1698" location="f57:53" file="f57" line="53"/>
+  </Function>
+  <Function id="_1275" name="memmove" returns="_1042" throw="" context="_1" location="f57:44" file="f57" line="44" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__dest" type="_1042" location="f57:44" file="f57" line="44"/>
+    <Argument name="__src" type="_2807" location="f57:44" file="f57" line="44"/>
+    <Argument name="__n" type="_1698" location="f57:44" file="f57" line="44"/>
+  </Function>
+  <Function id="_1276" name="uselocale" returns="_1677" throw="" context="_1" location="f58:200" file="f58" line="200" extern="1">
+    <Argument name="__dataset" type="_1677" location="f58:200" file="f58" line="200"/>
+  </Function>
+  <Function id="_1277" name="freelocale" returns="_1194" throw="" context="_1" location="f58:193" file="f58" line="193" extern="1">
+    <Argument name="__dataset" type="_1677" location="f58:193" file="f58" line="193"/>
+  </Function>
+  <Function id="_1278" name="duplocale" returns="_1677" throw="" context="_1" location="f58:189" file="f58" line="189" extern="1">
+    <Argument name="__dataset" type="_1677" location="f58:189" file="f58" line="189"/>
+  </Function>
+  <Function id="_1279" name="newlocale" returns="_1677" throw="" context="_1" location="f58:155" file="f58" line="155" extern="1">
+    <Argument name="__category_mask" type="_503" location="f58:155" file="f58" line="155"/>
+    <Argument name="__locale" type="_2749" location="f58:155" file="f58" line="155"/>
+    <Argument name="__base" type="_1677" location="f58:155" file="f58" line="155"/>
+  </Function>
+  <PointerType id="_1280" type="_1679" size="32" align="32"/>
+  <Typedef id="_1281" name="locale_t" type="_1677" context="_1" location="f58:148" file="f58" line="148"/>
+  <Function id="_1282" name="localeconv" returns="_3061" throw="" context="_1" location="f58:128" file="f58" line="128" extern="1"/>
+  <Function id="_1283" name="setlocale" returns="_1149" throw="" context="_1" location="f58:125" file="f58" line="125" extern="1">
+    <Argument name="__category" type="_503" location="f58:125" file="f58" line="125"/>
+    <Argument name="__locale" type="_2749" location="f58:125" file="f58" line="125"/>
+  </Function>
+  <Struct id="_1284" name="lconv" context="_1" mangled="5lconv" demangled="lconv" location="f58:53" file="f58" line="53" artificial="1" size="448" align="32" members="_3062 _3063 _3064 _3065 _3066 _3067 _3068 _3069 _3070 _3071 _3072 _3073 _3074 _3075 _3076 _3077 _3078 _3079 _3080 _3081 _3082 _3083 _3084 _3085 _3086 _3087 " bases=""/>
+  <Enumeration id="_1285" name="._52" context="_1" location="f59:28" file="f59" line="28" artificial="1" size="32" align="32">
+    <EnumValue name="__LC_CTYPE" init="0"/>
+    <EnumValue name="__LC_NUMERIC" init="1"/>
+    <EnumValue name="__LC_TIME" init="2"/>
+    <EnumValue name="__LC_COLLATE" init="3"/>
+    <EnumValue name="__LC_MONETARY" init="4"/>
+    <EnumValue name="__LC_MESSAGES" init="5"/>
+    <EnumValue name="__LC_ALL" init="6"/>
+    <EnumValue name="__LC_PAPER" init="7"/>
+    <EnumValue name="__LC_NAME" init="8"/>
+    <EnumValue name="__LC_ADDRESS" init="9"/>
+    <EnumValue name="__LC_TELEPHONE" init="10"/>
+    <EnumValue name="__LC_MEASUREMENT" init="11"/>
+    <EnumValue name="__LC_IDENTIFICATION" init="12"/>
+  </Enumeration>
+  <Struct id="_1286" name="__false_type" context="_1" mangled="12__false_type" demangled="__false_type" location="f60:94" file="f60" line="94" artificial="1" size="8" align="8" members="_3088 _3089 " bases=""/>
+  <Struct id="_1287" name="__true_type" context="_1" mangled="11__true_type" demangled="__true_type" location="f60:93" file="f60" line="93" artificial="1" size="8" align="8" members="_3090 _3091 " bases=""/>
+  <FundamentalType id="_1288" name="long long unsigned int" size="64" align="64"/>
+  <Typedef id="_1289" name="uintmax_t" type="_1288" context="_1" location="f61:141" file="f61" line="141"/>
+  <FundamentalType id="_1290" name="long long int" size="64" align="64"/>
+  <Typedef id="_1291" name="intmax_t" type="_1290" context="_1" location="f61:139" file="f61" line="139"/>
+  <Typedef id="_1292" name="uintptr_t" type="_837" context="_1" location="f61:129" file="f61" line="129"/>
+  <Typedef id="_1293" name="uint_fast64_t" type="_1288" context="_1" location="f61:113" file="f61" line="113"/>
+  <Typedef id="_1294" name="uint_fast32_t" type="_837" context="_1" location="f61:111" file="f61" line="111"/>
+  <Typedef id="_1295" name="uint_fast16_t" type="_837" context="_1" location="f61:110" file="f61" line="110"/>
+  <FundamentalType id="_1296" name="unsigned char" size="8" align="8"/>
+  <Typedef id="_1297" name="uint_fast8_t" type="_1296" context="_1" location="f61:104" file="f61" line="104"/>
+  <Typedef id="_1298" name="int_fast64_t" type="_1290" context="_1" location="f61:100" file="f61" line="100"/>
+  <Typedef id="_1299" name="int_fast32_t" type="_503" context="_1" location="f61:98" file="f61" line="98"/>
+  <Typedef id="_1300" name="int_fast16_t" type="_503" context="_1" location="f61:97" file="f61" line="97"/>
+  <FundamentalType id="_1301" name="signed char" size="8" align="8"/>
+  <Typedef id="_1302" name="int_fast8_t" type="_1301" context="_1" location="f61:91" file="f61" line="91"/>
+  <Typedef id="_1303" name="uint_least64_t" type="_1288" context="_1" location="f61:84" file="f61" line="84"/>
+  <Typedef id="_1304" name="uint_least32_t" type="_837" context="_1" location="f61:79" file="f61" line="79"/>
+  <Typedef id="_1305" name="uint_least16_t" type="_1199" context="_1" location="f61:78" file="f61" line="78"/>
+  <Typedef id="_1306" name="uint_least8_t" type="_1296" context="_1" location="f61:77" file="f61" line="77"/>
+  <Typedef id="_1307" name="int_least64_t" type="_1290" context="_1" location="f61:73" file="f61" line="73"/>
+  <Typedef id="_1308" name="int_least32_t" type="_503" context="_1" location="f61:68" file="f61" line="68"/>
+  <Typedef id="_1309" name="int_least16_t" type="_1202" context="_1" location="f61:67" file="f61" line="67"/>
+  <Typedef id="_1310" name="int_least8_t" type="_1301" context="_1" location="f61:66" file="f61" line="66"/>
+  <Typedef id="_1311" name="uint64_t" type="_1288" context="_1" location="f61:59" file="f61" line="59"/>
+  <Typedef id="_1312" name="uint32_t" type="_837" context="_1" location="f61:52" file="f61" line="52"/>
+  <Typedef id="_1313" name="uint16_t" type="_1199" context="_1" location="f61:50" file="f61" line="50"/>
+  <Typedef id="_1314" name="uint8_t" type="_1296" context="_1" location="f61:49" file="f61" line="49"/>
+  <Function id="_1315" name="ctermid" returns="_1149" throw="" context="_1" location="f50:790" file="f50" line="790" extern="1">
+    <Argument name="__s" type="_1149" location="f62:1091" file="f62" line="1091"/>
+  </Function>
+  <Function id="_1316" name="swab" returns="_1194" throw="" context="_1" location="f62:1083" file="f62" line="1083" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__from" type="_2807r" location="f62:1083" file="f62" line="1083"/>
+    <Argument name="__to" type="_1042r" location="f62:1083" file="f62" line="1083"/>
+    <Argument name="__n" type="_1590" location="f62:1083" file="f62" line="1083"/>
+  </Function>
+  <Function id="_1317" name="encrypt" returns="_1194" throw="" context="_1" location="f62:1075" file="f62" line="1075" extern="1" attributes="__nonnull__()">
+    <Argument name="__block" type="_1149" location="f62:1075" file="f62" line="1075"/>
+    <Argument name="__edflag" type="_503" location="f62:1075" file="f62" line="1075"/>
+  </Function>
+  <Function id="_1318" name="crypt" returns="_1149" throw="" context="_1" location="f62:1071" file="f62" line="1071" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__key" type="_2749" location="f62:1071" file="f62" line="1071"/>
+    <Argument name="__salt" type="_2749" location="f62:1071" file="f62" line="1071"/>
+  </Function>
+  <Function id="_1319" name="fdatasync" returns="_503" throw="" context="_1" location="f62:1062" file="f62" line="1062" extern="1">
+    <Argument name="__fildes" type="_503" location="f62:1062" file="f62" line="1062"/>
+  </Function>
+  <Function id="_1320" name="lockf64" returns="_503" context="_1" location="f62:1041" file="f62" line="1041" extern="1">
+    <Argument name="__fd" type="_503" location="f62:1041" file="f62" line="1041"/>
+    <Argument name="__cmd" type="_503" location="f62:1041" file="f62" line="1041"/>
+    <Argument name="__len" type="_1638" location="f62:1041" file="f62" line="1041"/>
+  </Function>
+  <Function id="_1321" name="lockf" returns="_503" context="_1" location="f62:1031" file="f62" line="1031" extern="1">
+    <Argument name="__fd" type="_503" location="f62:1031" file="f62" line="1031"/>
+    <Argument name="__cmd" type="_503" location="f62:1031" file="f62" line="1031"/>
+    <Argument name="__len" type="_1639" location="f62:1031" file="f62" line="1031"/>
+  </Function>
+  <Function id="_1322" name="syscall" returns="_1553" throw="" context="_1" location="f62:1008" file="f62" line="1008" extern="1">
+    <Argument name="__sysno" type="_1553" location="f62:1008" file="f62" line="1008"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1323" name="sbrk" returns="_1042" throw="" context="_1" location="f62:993" file="f62" line="993" extern="1">
+    <Argument name="__delta" type="_1447" location="f62:993" file="f62" line="993"/>
+  </Function>
+  <Function id="_1324" name="brk" returns="_503" throw="" context="_1" location="f62:987" file="f62" line="987" extern="1">
+    <Argument name="__addr" type="_1042" location="f62:987" file="f62" line="987"/>
+  </Function>
+  <Function id="_1325" name="ftruncate64" returns="_503" throw="" context="_1" location="f62:977" file="f62" line="977" extern="1">
+    <Argument name="__fd" type="_503" location="f62:977" file="f62" line="977"/>
+    <Argument name="__length" type="_1638" location="f62:977" file="f62" line="977"/>
+  </Function>
+  <Function id="_1326" name="ftruncate" returns="_503" throw="" context="_1" location="f62:967" file="f62" line="967" extern="1">
+    <Argument name="__fd" type="_503" location="f62:967" file="f62" line="967"/>
+    <Argument name="__length" type="_1639" location="f62:967" file="f62" line="967"/>
+  </Function>
+  <Function id="_1327" name="truncate64" returns="_503" throw="" context="_1" location="f62:958" file="f62" line="958" extern="1" attributes="__nonnull__()">
+    <Argument name="__file" type="_2749" location="f62:958" file="f62" line="958"/>
+    <Argument name="__length" type="_1638" location="f62:958" file="f62" line="958"/>
+  </Function>
+  <Function id="_1328" name="truncate" returns="_503" throw="" context="_1" location="f62:946" file="f62" line="946" extern="1" attributes="__nonnull__()">
+    <Argument name="__file" type="_2749" location="f62:946" file="f62" line="946"/>
+    <Argument name="__length" type="_1639" location="f62:946" file="f62" line="946"/>
+  </Function>
+  <Function id="_1329" name="getdtablesize" returns="_503" throw="" context="_1" location="f62:940" file="f62" line="940" extern="1"/>
+  <Function id="_1330" name="getpagesize" returns="_503" throw="" context="_1" location="f62:935" file="f62" line="935" extern="1" attributes="const"/>
+  <Function id="_1331" name="sync" returns="_1194" throw="" context="_1" location="f62:930" file="f62" line="930" extern="1"/>
+  <Function id="_1332" name="gethostid" returns="_1553" context="_1" location="f62:927" file="f62" line="927" extern="1"/>
+  <Function id="_1333" name="fsync" returns="_503" context="_1" location="f62:920" file="f62" line="920" extern="1">
+    <Argument name="__fd" type="_503" location="f62:920" file="f62" line="920"/>
+  </Function>
+  <Function id="_1334" name="getpass" returns="_1149" context="_1" location="f62:911" file="f62" line="911" extern="1" attributes="__nonnull__()">
+    <Argument name="__prompt" type="_2749" location="f62:911" file="f62" line="911"/>
+  </Function>
+  <Function id="_1335" name="chroot" returns="_503" throw="" context="_1" location="f62:907" file="f62" line="907" extern="1" attributes="__nonnull__()">
+    <Argument name="__path" type="_2749" location="f62:907" file="f62" line="907"/>
+  </Function>
+  <Function id="_1336" name="daemon" returns="_503" throw="" context="_1" location="f62:900" file="f62" line="900" extern="1">
+    <Argument name="__nochdir" type="_503" location="f62:900" file="f62" line="900"/>
+    <Argument name="__noclose" type="_503" location="f62:900" file="f62" line="900"/>
+  </Function>
+  <Function id="_1337" name="setusershell" returns="_1194" throw="" context="_1" location="f62:894" file="f62" line="894" extern="1"/>
+  <Function id="_1338" name="endusershell" returns="_1194" throw="" context="_1" location="f62:893" file="f62" line="893" extern="1"/>
+  <Function id="_1339" name="getusershell" returns="_1149" throw="" context="_1" location="f62:892" file="f62" line="892" extern="1"/>
+  <Function id="_1340" name="acct" returns="_503" throw="" context="_1" location="f62:888" file="f62" line="888" extern="1">
+    <Argument name="__name" type="_2749" location="f62:888" file="f62" line="888"/>
+  </Function>
+  <Function id="_1341" name="profil" returns="_503" throw="" context="_1" location="f62:882" file="f62" line="882" extern="1" attributes="__nonnull__()">
+    <Argument name="__sample_buffer" type="_3092" location="f62:882" file="f62" line="882"/>
+    <Argument name="__size" type="_1698" location="f62:882" file="f62" line="882"/>
+    <Argument name="__offset" type="_1698" location="f62:882" file="f62" line="882"/>
+    <Argument name="__scale" type="_837" location="f62:882" file="f62" line="882"/>
+  </Function>
+  <Function id="_1342" name="revoke" returns="_503" throw="" context="_1" location="f62:872" file="f62" line="872" extern="1" attributes="__nonnull__()">
+    <Argument name="__file" type="_2749" location="f62:872" file="f62" line="872"/>
+  </Function>
+  <Function id="_1343" name="vhangup" returns="_503" throw="" context="_1" location="f62:869" file="f62" line="869" extern="1"/>
+  <Function id="_1344" name="setdomainname" returns="_503" throw="" context="_1" location="f62:863" file="f62" line="863" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f62:863" file="f62" line="863"/>
+    <Argument name="__len" type="_1698" location="f62:863" file="f62" line="863"/>
+  </Function>
+  <Function id="_1345" name="getdomainname" returns="_503" throw="" context="_1" location="f62:861" file="f62" line="861" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_1149" location="f62:861" file="f62" line="861"/>
+    <Argument name="__len" type="_1698" location="f62:861" file="f62" line="861"/>
+  </Function>
+  <Function id="_1346" name="sethostid" returns="_503" throw="" context="_1" location="f62:854" file="f62" line="854" extern="1">
+    <Argument name="__id" type="_1553" location="f62:854" file="f62" line="854"/>
+  </Function>
+  <Function id="_1347" name="sethostname" returns="_503" throw="" context="_1" location="f62:850" file="f62" line="850" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f62:850" file="f62" line="850"/>
+    <Argument name="__len" type="_1698" location="f62:850" file="f62" line="850"/>
+  </Function>
+  <Function id="_1348" name="gethostname" returns="_503" throw="" context="_1" location="f62:842" file="f62" line="842" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_1149" location="f62:842" file="f62" line="842"/>
+    <Argument name="__len" type="_1698" location="f62:842" file="f62" line="842"/>
+  </Function>
+  <Function id="_1349" name="getopt" returns="_503" throw="" context="_1" location="f63:153" file="f63" line="153" extern="1">
+    <Argument name="___argc" type="_503" location="f63:153" file="f63" line="153"/>
+    <Argument name="___argv" type="_3093" location="f63:153" file="f63" line="153"/>
+    <Argument name="__shortopts" type="_2749" location="f63:153" file="f63" line="153"/>
+  </Function>
+  <Variable id="_1350" name="optopt" type="_503" context="_1" location="f63:82" file="f63" line="82" extern="1"/>
+  <Variable id="_1351" name="opterr" type="_503" context="_1" location="f63:78" file="f63" line="78" extern="1"/>
+  <Variable id="_1352" name="optind" type="_503" context="_1" location="f63:73" file="f63" line="73" extern="1"/>
+  <Variable id="_1353" name="optarg" type="_1149" context="_1" location="f63:59" file="f63" line="59" extern="1"/>
+  <Function id="_1354" name="setlogin" returns="_503" throw="" context="_1" location="f62:825" file="f62" line="825" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f62:825" file="f62" line="825"/>
+  </Function>
+  <Function id="_1355" name="getlogin_r" returns="_503" context="_1" location="f62:820" file="f62" line="820" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_1149" location="f62:820" file="f62" line="820"/>
+    <Argument name="__name_len" type="_1698" location="f62:820" file="f62" line="820"/>
+  </Function>
+  <Function id="_1356" name="getlogin" returns="_1149" context="_1" location="f62:812" file="f62" line="812" extern="1"/>
+  <Function id="_1357" name="tcsetpgrp" returns="_503" throw="" context="_1" location="f62:805" file="f62" line="805" extern="1">
+    <Argument name="__fd" type="_503" location="f62:805" file="f62" line="805"/>
+    <Argument name="__pgrp_id" type="_1637" location="f62:805" file="f62" line="805"/>
+  </Function>
+  <Function id="_1358" name="tcgetpgrp" returns="_1637" throw="" context="_1" location="f62:802" file="f62" line="802" extern="1">
+    <Argument name="__fd" type="_503" location="f62:802" file="f62" line="802"/>
+  </Function>
+  <Function id="_1359" name="rmdir" returns="_503" throw="" context="_1" location="f62:798" file="f62" line="798" extern="1" attributes="__nonnull__()">
+    <Argument name="__path" type="_2749" location="f62:798" file="f62" line="798"/>
+  </Function>
+  <Function id="_1360" name="unlinkat" returns="_503" throw="" context="_1" location="f62:794" file="f62" line="794" extern="1" attributes="__nonnull__()">
+    <Argument name="__fd" type="_503" location="f62:794" file="f62" line="794"/>
+    <Argument name="__name" type="_2749" location="f62:794" file="f62" line="794"/>
+    <Argument name="__flag" type="_503" location="f62:794" file="f62" line="794"/>
+  </Function>
+  <Function id="_1361" name="unlink" returns="_503" throw="" context="_1" location="f62:789" file="f62" line="789" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f62:789" file="f62" line="789"/>
+  </Function>
+  <Function id="_1362" name="readlinkat" returns="_503" throw="" context="_1" location="f62:785" file="f62" line="785" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__fd" type="_503" location="f62:785" file="f62" line="785"/>
+    <Argument name="__path" type="_2749r" location="f62:785" file="f62" line="785"/>
+    <Argument name="__buf" type="_1149r" location="f62:785" file="f62" line="785"/>
+    <Argument name="__len" type="_1698" location="f62:785" file="f62" line="785"/>
+  </Function>
+  <Function id="_1363" name="symlinkat" returns="_503" throw="" context="_1" location="f62:780" file="f62" line="780" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__from" type="_2749" location="f62:780" file="f62" line="780"/>
+    <Argument name="__tofd" type="_503" location="f62:780" file="f62" line="780"/>
+    <Argument name="__to" type="_2749" location="f62:780" file="f62" line="780"/>
+  </Function>
+  <Function id="_1364" name="readlink" returns="_503" throw="" context="_1" location="f62:774" file="f62" line="774" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__path" type="_2749r" location="f62:774" file="f62" line="774"/>
+    <Argument name="__buf" type="_1149r" location="f62:774" file="f62" line="774"/>
+    <Argument name="__len" type="_1698" location="f62:774" file="f62" line="774"/>
+  </Function>
+  <Function id="_1365" name="symlink" returns="_503" throw="" context="_1" location="f62:768" file="f62" line="768" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__from" type="_2749" location="f62:768" file="f62" line="768"/>
+    <Argument name="__to" type="_2749" location="f62:768" file="f62" line="768"/>
+  </Function>
+  <Function id="_1366" name="linkat" returns="_503" throw="" context="_1" location="f62:762" file="f62" line="762" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__fromfd" type="_503" location="f62:762" file="f62" line="762"/>
+    <Argument name="__from" type="_2749" location="f62:762" file="f62" line="762"/>
+    <Argument name="__tofd" type="_503" location="f62:762" file="f62" line="762"/>
+    <Argument name="__to" type="_2749" location="f62:762" file="f62" line="762"/>
+    <Argument name="__flags" type="_503" location="f62:762" file="f62" line="762"/>
+  </Function>
+  <Function id="_1367" name="link" returns="_503" throw="" context="_1" location="f62:755" file="f62" line="755" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__from" type="_2749" location="f62:755" file="f62" line="755"/>
+    <Argument name="__to" type="_2749" location="f62:755" file="f62" line="755"/>
+  </Function>
+  <Function id="_1368" name="ttyslot" returns="_503" throw="" context="_1" location="f62:749" file="f62" line="749" extern="1"/>
+  <Function id="_1369" name="isatty" returns="_503" throw="" context="_1" location="f62:743" file="f62" line="743" extern="1">
+    <Argument name="__fd" type="_503" location="f62:743" file="f62" line="743"/>
+  </Function>
+  <Function id="_1370" name="ttyname_r" returns="_503" throw="" context="_1" location="f62:739" file="f62" line="739" extern="1" attributes="__nonnull__()">
+    <Argument name="__fd" type="_503" location="f62:739" file="f62" line="739"/>
+    <Argument name="__buf" type="_1149" location="f62:739" file="f62" line="739"/>
+    <Argument name="__buflen" type="_1698" location="f62:739" file="f62" line="739"/>
+  </Function>
+  <Function id="_1371" name="ttyname" returns="_1149" throw="" context="_1" location="f62:734" file="f62" line="734" extern="1">
+    <Argument name="__fd" type="_503" location="f62:734" file="f62" line="734"/>
+  </Function>
+  <Function id="_1372" name="vfork" returns="_1637" throw="" context="_1" location="f62:728" file="f62" line="728" extern="1"/>
+  <Function id="_1373" name="fork" returns="_1637" throw="" context="_1" location="f62:721" file="f62" line="721" extern="1"/>
+  <Function id="_1374" name="setresgid" returns="_503" throw="" context="_1" location="f62:714" file="f62" line="714" extern="1">
+    <Argument name="__rgid" type="_1644" location="f62:714" file="f62" line="714"/>
+    <Argument name="__egid" type="_1644" location="f62:714" file="f62" line="714"/>
+    <Argument name="__sgid" type="_1644" location="f62:714" file="f62" line="714"/>
+  </Function>
+  <Function id="_1375" name="setresuid" returns="_503" throw="" context="_1" location="f62:709" file="f62" line="709" extern="1">
+    <Argument name="__ruid" type="_1645" location="f62:709" file="f62" line="709"/>
+    <Argument name="__euid" type="_1645" location="f62:709" file="f62" line="709"/>
+    <Argument name="__suid" type="_1645" location="f62:709" file="f62" line="709"/>
+  </Function>
+  <Function id="_1376" name="getresgid" returns="_503" throw="" context="_1" location="f62:704" file="f62" line="704" extern="1">
+    <Argument name="__rgid" type="_3094" location="f62:704" file="f62" line="704"/>
+    <Argument name="__egid" type="_3094" location="f62:704" file="f62" line="704"/>
+    <Argument name="__sgid" type="_3094" location="f62:704" file="f62" line="704"/>
+  </Function>
+  <Function id="_1377" name="getresuid" returns="_503" throw="" context="_1" location="f62:699" file="f62" line="699" extern="1">
+    <Argument name="__ruid" type="_3095" location="f62:699" file="f62" line="699"/>
+    <Argument name="__euid" type="_3095" location="f62:699" file="f62" line="699"/>
+    <Argument name="__suid" type="_3095" location="f62:699" file="f62" line="699"/>
+  </Function>
+  <Function id="_1378" name="setegid" returns="_503" throw="" context="_1" location="f62:692" file="f62" line="692" extern="1">
+    <Argument name="__gid" type="_1644" location="f62:692" file="f62" line="692"/>
+  </Function>
+  <Function id="_1379" name="setregid" returns="_503" throw="" context="_1" location="f62:687" file="f62" line="687" extern="1">
+    <Argument name="__rgid" type="_1644" location="f62:687" file="f62" line="687"/>
+    <Argument name="__egid" type="_1644" location="f62:687" file="f62" line="687"/>
+  </Function>
+  <Function id="_1380" name="setgid" returns="_503" throw="" context="_1" location="f62:682" file="f62" line="682" extern="1">
+    <Argument name="__gid" type="_1644" location="f62:682" file="f62" line="682"/>
+  </Function>
+  <Function id="_1381" name="seteuid" returns="_503" throw="" context="_1" location="f62:675" file="f62" line="675" extern="1">
+    <Argument name="__uid" type="_1645" location="f62:675" file="f62" line="675"/>
+  </Function>
+  <Function id="_1382" name="setreuid" returns="_503" throw="" context="_1" location="f62:670" file="f62" line="670" extern="1">
+    <Argument name="__ruid" type="_1645" location="f62:670" file="f62" line="670"/>
+    <Argument name="__euid" type="_1645" location="f62:670" file="f62" line="670"/>
+  </Function>
+  <Function id="_1383" name="setuid" returns="_503" throw="" context="_1" location="f62:665" file="f62" line="665" extern="1">
+    <Argument name="__uid" type="_1645" location="f62:665" file="f62" line="665"/>
+  </Function>
+  <Function id="_1384" name="group_member" returns="_503" throw="" context="_1" location="f62:658" file="f62" line="658" extern="1">
+    <Argument name="__gid" type="_1644" location="f62:658" file="f62" line="658"/>
+  </Function>
+  <Function id="_1385" name="getgroups" returns="_503" throw="" context="_1" location="f62:654" file="f62" line="654" extern="1">
+    <Argument name="__size" type="_503" location="f62:654" file="f62" line="654"/>
+    <Argument name="__list" type="_3094" location="f62:654" file="f62" line="654"/>
+  </Function>
+  <Function id="_1386" name="getegid" returns="_1644" throw="" context="_1" location="f62:649" file="f62" line="649" extern="1"/>
+  <Function id="_1387" name="getgid" returns="_1644" throw="" context="_1" location="f62:646" file="f62" line="646" extern="1"/>
+  <Function id="_1388" name="geteuid" returns="_1645" throw="" context="_1" location="f62:643" file="f62" line="643" extern="1"/>
+  <Function id="_1389" name="getuid" returns="_1645" throw="" context="_1" location="f62:640" file="f62" line="640" extern="1"/>
+  <Function id="_1390" name="getsid" returns="_1637" throw="" context="_1" location="f62:636" file="f62" line="636" extern="1">
+    <Argument name="__pid" type="_1637" location="f62:636" file="f62" line="636"/>
+  </Function>
+  <Function id="_1391" name="setsid" returns="_1637" throw="" context="_1" location="f62:632" file="f62" line="632" extern="1"/>
+  <Function id="_1392" name="setpgrp" returns="_503" throw="" context="_1" location="f62:615" file="f62" line="615" extern="1"/>
+  <Function id="_1393" name="setpgid" returns="_503" throw="" context="_1" location="f62:598" file="f62" line="598" extern="1">
+    <Argument name="__pid" type="_1637" location="f62:598" file="f62" line="598"/>
+    <Argument name="__pgid" type="_1637" location="f62:598" file="f62" line="598"/>
+  </Function>
+  <Function id="_1394" name="getpgid" returns="_1637" throw="" context="_1" location="f62:591" file="f62" line="591" extern="1">
+    <Argument name="__pid" type="_1637" location="f62:591" file="f62" line="591"/>
+  </Function>
+  <Function id="_1395" name="__getpgid" returns="_1637" throw="" context="_1" location="f62:589" file="f62" line="589" extern="1">
+    <Argument name="__pid" type="_1637" location="f62:589" file="f62" line="589"/>
+  </Function>
+  <Function id="_1396" name="getpgrp" returns="_1637" throw="" context="_1" location="f62:579" file="f62" line="579" extern="1"/>
+  <Function id="_1397" name="getppid" returns="_1637" throw="" context="_1" location="f62:574" file="f62" line="574" extern="1"/>
+  <Function id="_1398" name="getpid" returns="_1637" throw="" context="_1" location="f62:571" file="f62" line="571" extern="1"/>
+  <Function id="_1399" name="confstr" returns="_1698" throw="" context="_1" location="f62:566" file="f62" line="566" extern="1">
+    <Argument name="__name" type="_503" location="f62:566" file="f62" line="566"/>
+    <Argument name="__buf" type="_1149" location="f62:566" file="f62" line="566"/>
+    <Argument name="__len" type="_1698" location="f62:566" file="f62" line="566"/>
+  </Function>
+  <Function id="_1400" name="sysconf" returns="_1553" throw="" context="_1" location="f62:562" file="f62" line="562" extern="1" attributes="const">
+    <Argument name="__name" type="_503" location="f62:562" file="f62" line="562"/>
+  </Function>
+  <Function id="_1401" name="fpathconf" returns="_1553" throw="" context="_1" location="f62:559" file="f62" line="559" extern="1">
+    <Argument name="__fd" type="_503" location="f62:559" file="f62" line="559"/>
+    <Argument name="__name" type="_503" location="f62:559" file="f62" line="559"/>
+  </Function>
+  <Function id="_1402" name="pathconf" returns="_1553" throw="" context="_1" location="f62:556" file="f62" line="556" extern="1" attributes="__nonnull__()">
+    <Argument name="__path" type="_2749" location="f62:556" file="f62" line="556"/>
+    <Argument name="__name" type="_503" location="f62:556" file="f62" line="556"/>
+  </Function>
+  <Enumeration id="_1403" name="._22" context="_1" location="f64:507" file="f64" line="507" artificial="1" size="32" align="32">
+    <EnumValue name="_CS_PATH" init="0"/>
+    <EnumValue name="_CS_V6_WIDTH_RESTRICTED_ENVS" init="1"/>
+    <EnumValue name="_CS_GNU_LIBC_VERSION" init="2"/>
+    <EnumValue name="_CS_GNU_LIBPTHREAD_VERSION" init="3"/>
+    <EnumValue name="_CS_LFS_CFLAGS" init="1000"/>
+    <EnumValue name="_CS_LFS_LDFLAGS" init="1001"/>
+    <EnumValue name="_CS_LFS_LIBS" init="1002"/>
+    <EnumValue name="_CS_LFS_LINTFLAGS" init="1003"/>
+    <EnumValue name="_CS_LFS64_CFLAGS" init="1004"/>
+    <EnumValue name="_CS_LFS64_LDFLAGS" init="1005"/>
+    <EnumValue name="_CS_LFS64_LIBS" init="1006"/>
+    <EnumValue name="_CS_LFS64_LINTFLAGS" init="1007"/>
+    <EnumValue name="_CS_XBS5_ILP32_OFF32_CFLAGS" init="1100"/>
+    <EnumValue name="_CS_XBS5_ILP32_OFF32_LDFLAGS" init="1101"/>
+    <EnumValue name="_CS_XBS5_ILP32_OFF32_LIBS" init="1102"/>
+    <EnumValue name="_CS_XBS5_ILP32_OFF32_LINTFLAGS" init="1103"/>
+    <EnumValue name="_CS_XBS5_ILP32_OFFBIG_CFLAGS" init="1104"/>
+    <EnumValue name="_CS_XBS5_ILP32_OFFBIG_LDFLAGS" init="1105"/>
+    <EnumValue name="_CS_XBS5_ILP32_OFFBIG_LIBS" init="1106"/>
+    <EnumValue name="_CS_XBS5_ILP32_OFFBIG_LINTFLAGS" init="1107"/>
+    <EnumValue name="_CS_XBS5_LP64_OFF64_CFLAGS" init="1108"/>
+    <EnumValue name="_CS_XBS5_LP64_OFF64_LDFLAGS" init="1109"/>
+    <EnumValue name="_CS_XBS5_LP64_OFF64_LIBS" init="1110"/>
+    <EnumValue name="_CS_XBS5_LP64_OFF64_LINTFLAGS" init="1111"/>
+    <EnumValue name="_CS_XBS5_LPBIG_OFFBIG_CFLAGS" init="1112"/>
+    <EnumValue name="_CS_XBS5_LPBIG_OFFBIG_LDFLAGS" init="1113"/>
+    <EnumValue name="_CS_XBS5_LPBIG_OFFBIG_LIBS" init="1114"/>
+    <EnumValue name="_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS" init="1115"/>
+    <EnumValue name="_CS_POSIX_V6_ILP32_OFF32_CFLAGS" init="1116"/>
+    <EnumValue name="_CS_POSIX_V6_ILP32_OFF32_LDFLAGS" init="1117"/>
+    <EnumValue name="_CS_POSIX_V6_ILP32_OFF32_LIBS" init="1118"/>
+    <EnumValue name="_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS" init="1119"/>
+    <EnumValue name="_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS" init="1120"/>
+    <EnumValue name="_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS" init="1121"/>
+    <EnumValue name="_CS_POSIX_V6_ILP32_OFFBIG_LIBS" init="1122"/>
+    <EnumValue name="_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS" init="1123"/>
+    <EnumValue name="_CS_POSIX_V6_LP64_OFF64_CFLAGS" init="1124"/>
+    <EnumValue name="_CS_POSIX_V6_LP64_OFF64_LDFLAGS" init="1125"/>
+    <EnumValue name="_CS_POSIX_V6_LP64_OFF64_LIBS" init="1126"/>
+    <EnumValue name="_CS_POSIX_V6_LP64_OFF64_LINTFLAGS" init="1127"/>
+    <EnumValue name="_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS" init="1128"/>
+    <EnumValue name="_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS" init="1129"/>
+    <EnumValue name="_CS_POSIX_V6_LPBIG_OFFBIG_LIBS" init="1130"/>
+    <EnumValue name="_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS" init="1131"/>
+  </Enumeration>
+  <Enumeration id="_1404" name="._21" context="_1" location="f64:74" file="f64" line="74" artificial="1" size="32" align="32">
+    <EnumValue name="_SC_ARG_MAX" init="0"/>
+    <EnumValue name="_SC_CHILD_MAX" init="1"/>
+    <EnumValue name="_SC_CLK_TCK" init="2"/>
+    <EnumValue name="_SC_NGROUPS_MAX" init="3"/>
+    <EnumValue name="_SC_OPEN_MAX" init="4"/>
+    <EnumValue name="_SC_STREAM_MAX" init="5"/>
+    <EnumValue name="_SC_TZNAME_MAX" init="6"/>
+    <EnumValue name="_SC_JOB_CONTROL" init="7"/>
+    <EnumValue name="_SC_SAVED_IDS" init="8"/>
+    <EnumValue name="_SC_REALTIME_SIGNALS" init="9"/>
+    <EnumValue name="_SC_PRIORITY_SCHEDULING" init="10"/>
+    <EnumValue name="_SC_TIMERS" init="11"/>
+    <EnumValue name="_SC_ASYNCHRONOUS_IO" init="12"/>
+    <EnumValue name="_SC_PRIORITIZED_IO" init="13"/>
+    <EnumValue name="_SC_SYNCHRONIZED_IO" init="14"/>
+    <EnumValue name="_SC_FSYNC" init="15"/>
+    <EnumValue name="_SC_MAPPED_FILES" init="16"/>
+    <EnumValue name="_SC_MEMLOCK" init="17"/>
+    <EnumValue name="_SC_MEMLOCK_RANGE" init="18"/>
+    <EnumValue name="_SC_MEMORY_PROTECTION" init="19"/>
+    <EnumValue name="_SC_MESSAGE_PASSING" init="20"/>
+    <EnumValue name="_SC_SEMAPHORES" init="21"/>
+    <EnumValue name="_SC_SHARED_MEMORY_OBJECTS" init="22"/>
+    <EnumValue name="_SC_AIO_LISTIO_MAX" init="23"/>
+    <EnumValue name="_SC_AIO_MAX" init="24"/>
+    <EnumValue name="_SC_AIO_PRIO_DELTA_MAX" init="25"/>
+    <EnumValue name="_SC_DELAYTIMER_MAX" init="26"/>
+    <EnumValue name="_SC_MQ_OPEN_MAX" init="27"/>
+    <EnumValue name="_SC_MQ_PRIO_MAX" init="28"/>
+    <EnumValue name="_SC_VERSION" init="29"/>
+    <EnumValue name="_SC_PAGESIZE" init="30"/>
+    <EnumValue name="_SC_RTSIG_MAX" init="31"/>
+    <EnumValue name="_SC_SEM_NSEMS_MAX" init="32"/>
+    <EnumValue name="_SC_SEM_VALUE_MAX" init="33"/>
+    <EnumValue name="_SC_SIGQUEUE_MAX" init="34"/>
+    <EnumValue name="_SC_TIMER_MAX" init="35"/>
+    <EnumValue name="_SC_BC_BASE_MAX" init="36"/>
+    <EnumValue name="_SC_BC_DIM_MAX" init="37"/>
+    <EnumValue name="_SC_BC_SCALE_MAX" init="38"/>
+    <EnumValue name="_SC_BC_STRING_MAX" init="39"/>
+    <EnumValue name="_SC_COLL_WEIGHTS_MAX" init="40"/>
+    <EnumValue name="_SC_EQUIV_CLASS_MAX" init="41"/>
+    <EnumValue name="_SC_EXPR_NEST_MAX" init="42"/>
+    <EnumValue name="_SC_LINE_MAX" init="43"/>
+    <EnumValue name="_SC_RE_DUP_MAX" init="44"/>
+    <EnumValue name="_SC_CHARCLASS_NAME_MAX" init="45"/>
+    <EnumValue name="_SC_2_VERSION" init="46"/>
+    <EnumValue name="_SC_2_C_BIND" init="47"/>
+    <EnumValue name="_SC_2_C_DEV" init="48"/>
+    <EnumValue name="_SC_2_FORT_DEV" init="49"/>
+    <EnumValue name="_SC_2_FORT_RUN" init="50"/>
+    <EnumValue name="_SC_2_SW_DEV" init="51"/>
+    <EnumValue name="_SC_2_LOCALEDEF" init="52"/>
+    <EnumValue name="_SC_PII" init="53"/>
+    <EnumValue name="_SC_PII_XTI" init="54"/>
+    <EnumValue name="_SC_PII_SOCKET" init="55"/>
+    <EnumValue name="_SC_PII_INTERNET" init="56"/>
+    <EnumValue name="_SC_PII_OSI" init="57"/>
+    <EnumValue name="_SC_POLL" init="58"/>
+    <EnumValue name="_SC_SELECT" init="59"/>
+    <EnumValue name="_SC_UIO_MAXIOV" init="60"/>
+    <EnumValue name="_SC_IOV_MAX" init="60"/>
+    <EnumValue name="_SC_PII_INTERNET_STREAM" init="61"/>
+    <EnumValue name="_SC_PII_INTERNET_DGRAM" init="62"/>
+    <EnumValue name="_SC_PII_OSI_COTS" init="63"/>
+    <EnumValue name="_SC_PII_OSI_CLTS" init="64"/>
+    <EnumValue name="_SC_PII_OSI_M" init="65"/>
+    <EnumValue name="_SC_T_IOV_MAX" init="66"/>
+    <EnumValue name="_SC_THREADS" init="67"/>
+    <EnumValue name="_SC_THREAD_SAFE_FUNCTIONS" init="68"/>
+    <EnumValue name="_SC_GETGR_R_SIZE_MAX" init="69"/>
+    <EnumValue name="_SC_GETPW_R_SIZE_MAX" init="70"/>
+    <EnumValue name="_SC_LOGIN_NAME_MAX" init="71"/>
+    <EnumValue name="_SC_TTY_NAME_MAX" init="72"/>
+    <EnumValue name="_SC_THREAD_DESTRUCTOR_ITERATIONS" init="73"/>
+    <EnumValue name="_SC_THREAD_KEYS_MAX" init="74"/>
+    <EnumValue name="_SC_THREAD_STACK_MIN" init="75"/>
+    <EnumValue name="_SC_THREAD_THREADS_MAX" init="76"/>
+    <EnumValue name="_SC_THREAD_ATTR_STACKADDR" init="77"/>
+    <EnumValue name="_SC_THREAD_ATTR_STACKSIZE" init="78"/>
+    <EnumValue name="_SC_THREAD_PRIORITY_SCHEDULING" init="79"/>
+    <EnumValue name="_SC_THREAD_PRIO_INHERIT" init="80"/>
+    <EnumValue name="_SC_THREAD_PRIO_PROTECT" init="81"/>
+    <EnumValue name="_SC_THREAD_PROCESS_SHARED" init="82"/>
+    <EnumValue name="_SC_NPROCESSORS_CONF" init="83"/>
+    <EnumValue name="_SC_NPROCESSORS_ONLN" init="84"/>
+    <EnumValue name="_SC_PHYS_PAGES" init="85"/>
+    <EnumValue name="_SC_AVPHYS_PAGES" init="86"/>
+    <EnumValue name="_SC_ATEXIT_MAX" init="87"/>
+    <EnumValue name="_SC_PASS_MAX" init="88"/>
+    <EnumValue name="_SC_XOPEN_VERSION" init="89"/>
+    <EnumValue name="_SC_XOPEN_XCU_VERSION" init="90"/>
+    <EnumValue name="_SC_XOPEN_UNIX" init="91"/>
+    <EnumValue name="_SC_XOPEN_CRYPT" init="92"/>
+    <EnumValue name="_SC_XOPEN_ENH_I18N" init="93"/>
+    <EnumValue name="_SC_XOPEN_SHM" init="94"/>
+    <EnumValue name="_SC_2_CHAR_TERM" init="95"/>
+    <EnumValue name="_SC_2_C_VERSION" init="96"/>
+    <EnumValue name="_SC_2_UPE" init="97"/>
+    <EnumValue name="_SC_XOPEN_XPG2" init="98"/>
+    <EnumValue name="_SC_XOPEN_XPG3" init="99"/>
+    <EnumValue name="_SC_XOPEN_XPG4" init="100"/>
+    <EnumValue name="_SC_CHAR_BIT" init="101"/>
+    <EnumValue name="_SC_CHAR_MAX" init="102"/>
+    <EnumValue name="_SC_CHAR_MIN" init="103"/>
+    <EnumValue name="_SC_INT_MAX" init="104"/>
+    <EnumValue name="_SC_INT_MIN" init="105"/>
+    <EnumValue name="_SC_LONG_BIT" init="106"/>
+    <EnumValue name="_SC_WORD_BIT" init="107"/>
+    <EnumValue name="_SC_MB_LEN_MAX" init="108"/>
+    <EnumValue name="_SC_NZERO" init="109"/>
+    <EnumValue name="_SC_SSIZE_MAX" init="110"/>
+    <EnumValue name="_SC_SCHAR_MAX" init="111"/>
+    <EnumValue name="_SC_SCHAR_MIN" init="112"/>
+    <EnumValue name="_SC_SHRT_MAX" init="113"/>
+    <EnumValue name="_SC_SHRT_MIN" init="114"/>
+    <EnumValue name="_SC_UCHAR_MAX" init="115"/>
+    <EnumValue name="_SC_UINT_MAX" init="116"/>
+    <EnumValue name="_SC_ULONG_MAX" init="117"/>
+    <EnumValue name="_SC_USHRT_MAX" init="118"/>
+    <EnumValue name="_SC_NL_ARGMAX" init="119"/>
+    <EnumValue name="_SC_NL_LANGMAX" init="120"/>
+    <EnumValue name="_SC_NL_MSGMAX" init="121"/>
+    <EnumValue name="_SC_NL_NMAX" init="122"/>
+    <EnumValue name="_SC_NL_SETMAX" init="123"/>
+    <EnumValue name="_SC_NL_TEXTMAX" init="124"/>
+    <EnumValue name="_SC_XBS5_ILP32_OFF32" init="125"/>
+    <EnumValue name="_SC_XBS5_ILP32_OFFBIG" init="126"/>
+    <EnumValue name="_SC_XBS5_LP64_OFF64" init="127"/>
+    <EnumValue name="_SC_XBS5_LPBIG_OFFBIG" init="128"/>
+    <EnumValue name="_SC_XOPEN_LEGACY" init="129"/>
+    <EnumValue name="_SC_XOPEN_REALTIME" init="130"/>
+    <EnumValue name="_SC_XOPEN_REALTIME_THREADS" init="131"/>
+    <EnumValue name="_SC_ADVISORY_INFO" init="132"/>
+    <EnumValue name="_SC_BARRIERS" init="133"/>
+    <EnumValue name="_SC_BASE" init="134"/>
+    <EnumValue name="_SC_C_LANG_SUPPORT" init="135"/>
+    <EnumValue name="_SC_C_LANG_SUPPORT_R" init="136"/>
+    <EnumValue name="_SC_CLOCK_SELECTION" init="137"/>
+    <EnumValue name="_SC_CPUTIME" init="138"/>
+    <EnumValue name="_SC_THREAD_CPUTIME" init="139"/>
+    <EnumValue name="_SC_DEVICE_IO" init="140"/>
+    <EnumValue name="_SC_DEVICE_SPECIFIC" init="141"/>
+    <EnumValue name="_SC_DEVICE_SPECIFIC_R" init="142"/>
+    <EnumValue name="_SC_FD_MGMT" init="143"/>
+    <EnumValue name="_SC_FIFO" init="144"/>
+    <EnumValue name="_SC_PIPE" init="145"/>
+    <EnumValue name="_SC_FILE_ATTRIBUTES" init="146"/>
+    <EnumValue name="_SC_FILE_LOCKING" init="147"/>
+    <EnumValue name="_SC_FILE_SYSTEM" init="148"/>
+    <EnumValue name="_SC_MONOTONIC_CLOCK" init="149"/>
+    <EnumValue name="_SC_MULTI_PROCESS" init="150"/>
+    <EnumValue name="_SC_SINGLE_PROCESS" init="151"/>
+    <EnumValue name="_SC_NETWORKING" init="152"/>
+    <EnumValue name="_SC_READER_WRITER_LOCKS" init="153"/>
+    <EnumValue name="_SC_SPIN_LOCKS" init="154"/>
+    <EnumValue name="_SC_REGEXP" init="155"/>
+    <EnumValue name="_SC_REGEX_VERSION" init="156"/>
+    <EnumValue name="_SC_SHELL" init="157"/>
+    <EnumValue name="_SC_SIGNALS" init="158"/>
+    <EnumValue name="_SC_SPAWN" init="159"/>
+    <EnumValue name="_SC_SPORADIC_SERVER" init="160"/>
+    <EnumValue name="_SC_THREAD_SPORADIC_SERVER" init="161"/>
+    <EnumValue name="_SC_SYSTEM_DATABASE" init="162"/>
+    <EnumValue name="_SC_SYSTEM_DATABASE_R" init="163"/>
+    <EnumValue name="_SC_TIMEOUTS" init="164"/>
+    <EnumValue name="_SC_TYPED_MEMORY_OBJECTS" init="165"/>
+    <EnumValue name="_SC_USER_GROUPS" init="166"/>
+    <EnumValue name="_SC_USER_GROUPS_R" init="167"/>
+    <EnumValue name="_SC_2_PBS" init="168"/>
+    <EnumValue name="_SC_2_PBS_ACCOUNTING" init="169"/>
+    <EnumValue name="_SC_2_PBS_LOCATE" init="170"/>
+    <EnumValue name="_SC_2_PBS_MESSAGE" init="171"/>
+    <EnumValue name="_SC_2_PBS_TRACK" init="172"/>
+    <EnumValue name="_SC_SYMLOOP_MAX" init="173"/>
+    <EnumValue name="_SC_STREAMS" init="174"/>
+    <EnumValue name="_SC_2_PBS_CHECKPOINT" init="175"/>
+    <EnumValue name="_SC_V6_ILP32_OFF32" init="176"/>
+    <EnumValue name="_SC_V6_ILP32_OFFBIG" init="177"/>
+    <EnumValue name="_SC_V6_LP64_OFF64" init="178"/>
+    <EnumValue name="_SC_V6_LPBIG_OFFBIG" init="179"/>
+    <EnumValue name="_SC_HOST_NAME_MAX" init="180"/>
+    <EnumValue name="_SC_TRACE" init="181"/>
+    <EnumValue name="_SC_TRACE_EVENT_FILTER" init="182"/>
+    <EnumValue name="_SC_TRACE_INHERIT" init="183"/>
+    <EnumValue name="_SC_TRACE_LOG" init="184"/>
+    <EnumValue name="_SC_LEVEL1_ICACHE_SIZE" init="185"/>
+    <EnumValue name="_SC_LEVEL1_ICACHE_ASSOC" init="186"/>
+    <EnumValue name="_SC_LEVEL1_ICACHE_LINESIZE" init="187"/>
+    <EnumValue name="_SC_LEVEL1_DCACHE_SIZE" init="188"/>
+    <EnumValue name="_SC_LEVEL1_DCACHE_ASSOC" init="189"/>
+    <EnumValue name="_SC_LEVEL1_DCACHE_LINESIZE" init="190"/>
+    <EnumValue name="_SC_LEVEL2_CACHE_SIZE" init="191"/>
+    <EnumValue name="_SC_LEVEL2_CACHE_ASSOC" init="192"/>
+    <EnumValue name="_SC_LEVEL2_CACHE_LINESIZE" init="193"/>
+    <EnumValue name="_SC_LEVEL3_CACHE_SIZE" init="194"/>
+    <EnumValue name="_SC_LEVEL3_CACHE_ASSOC" init="195"/>
+    <EnumValue name="_SC_LEVEL3_CACHE_LINESIZE" init="196"/>
+    <EnumValue name="_SC_LEVEL4_CACHE_SIZE" init="197"/>
+    <EnumValue name="_SC_LEVEL4_CACHE_ASSOC" init="198"/>
+    <EnumValue name="_SC_LEVEL4_CACHE_LINESIZE" init="199"/>
+    <EnumValue name="_SC_IPV6" init="235"/>
+    <EnumValue name="_SC_RAW_SOCKETS" init="236"/>
+  </Enumeration>
+  <Enumeration id="_1405" name="._20" context="_1" location="f64:27" file="f64" line="27" artificial="1" size="32" align="32">
+    <EnumValue name="_PC_LINK_MAX" init="0"/>
+    <EnumValue name="_PC_MAX_CANON" init="1"/>
+    <EnumValue name="_PC_MAX_INPUT" init="2"/>
+    <EnumValue name="_PC_NAME_MAX" init="3"/>
+    <EnumValue name="_PC_PATH_MAX" init="4"/>
+    <EnumValue name="_PC_PIPE_BUF" init="5"/>
+    <EnumValue name="_PC_CHOWN_RESTRICTED" init="6"/>
+    <EnumValue name="_PC_NO_TRUNC" init="7"/>
+    <EnumValue name="_PC_VDISABLE" init="8"/>
+    <EnumValue name="_PC_SYNC_IO" init="9"/>
+    <EnumValue name="_PC_ASYNC_IO" init="10"/>
+    <EnumValue name="_PC_PRIO_IO" init="11"/>
+    <EnumValue name="_PC_SOCK_MAXBUF" init="12"/>
+    <EnumValue name="_PC_FILESIZEBITS" init="13"/>
+    <EnumValue name="_PC_REC_INCR_XFER_SIZE" init="14"/>
+    <EnumValue name="_PC_REC_MAX_XFER_SIZE" init="15"/>
+    <EnumValue name="_PC_REC_MIN_XFER_SIZE" init="16"/>
+    <EnumValue name="_PC_REC_XFER_ALIGN" init="17"/>
+    <EnumValue name="_PC_ALLOC_SIZE_MIN" init="18"/>
+    <EnumValue name="_PC_SYMLINK_MAX" init="19"/>
+    <EnumValue name="_PC_2_SYMLINKS" init="20"/>
+  </Enumeration>
+  <Function id="_1406" name="nice" returns="_503" throw="" context="_1" location="f62:541" file="f62" line="541" extern="1">
+    <Argument name="__inc" type="_503" location="f62:541" file="f62" line="541"/>
+  </Function>
+  <Function id="_1407" name="execlp" returns="_503" throw="" context="_1" location="f62:536" file="f62" line="536" extern="1" attributes="__nonnull__()">
+    <Argument name="__file" type="_2749" location="f62:536" file="f62" line="536"/>
+    <Argument name="__arg" type="_2749" location="f62:536" file="f62" line="536"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1408" name="execvp" returns="_503" throw="" context="_1" location="f62:530" file="f62" line="530" extern="1" attributes="__nonnull__()">
+    <Argument name="__file" type="_2749" location="f62:530" file="f62" line="530"/>
+    <Argument name="__argv" type="_3093" location="f62:530" file="f62" line="530"/>
+  </Function>
+  <Function id="_1409" name="execl" returns="_503" throw="" context="_1" location="f62:525" file="f62" line="525" extern="1" attributes="__nonnull__()">
+    <Argument name="__path" type="_2749" location="f62:525" file="f62" line="525"/>
+    <Argument name="__arg" type="_2749" location="f62:525" file="f62" line="525"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1410" name="execle" returns="_503" throw="" context="_1" location="f62:520" file="f62" line="520" extern="1" attributes="__nonnull__()">
+    <Argument name="__path" type="_2749" location="f62:520" file="f62" line="520"/>
+    <Argument name="__arg" type="_2749" location="f62:520" file="f62" line="520"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1411" name="execv" returns="_503" throw="" context="_1" location="f62:515" file="f62" line="515" extern="1" attributes="__nonnull__()">
+    <Argument name="__path" type="_2749" location="f62:515" file="f62" line="515"/>
+    <Argument name="__argv" type="_3093" location="f62:515" file="f62" line="515"/>
+  </Function>
+  <Function id="_1412" name="fexecve" returns="_503" throw="" context="_1" location="f62:509" file="f62" line="509" extern="1">
+    <Argument name="__fd" type="_503" location="f62:509" file="f62" line="509"/>
+    <Argument name="__argv" type="_3093" location="f62:509" file="f62" line="509"/>
+    <Argument name="__envp" type="_3093" location="f62:509" file="f62" line="509"/>
+  </Function>
+  <Function id="_1413" name="execve" returns="_503" throw="" context="_1" location="f62:503" file="f62" line="503" extern="1" attributes="__nonnull__()">
+    <Argument name="__path" type="_2749" location="f62:503" file="f62" line="503"/>
+    <Argument name="__argv" type="_3093" location="f62:503" file="f62" line="503"/>
+    <Argument name="__envp" type="_3093" location="f62:503" file="f62" line="503"/>
+  </Function>
+  <Variable id="_1414" name="environ" type="_2935" context="_1" location="f62:496" file="f62" line="496" extern="1"/>
+  <Variable id="_1415" name="__environ" type="_2935" context="_1" location="f62:494" file="f62" line="494" extern="1"/>
+  <Function id="_1416" name="dup2" returns="_503" throw="" context="_1" location="f62:491" file="f62" line="491" extern="1">
+    <Argument name="__fd" type="_503" location="f62:491" file="f62" line="491"/>
+    <Argument name="__fd2" type="_503" location="f62:491" file="f62" line="491"/>
+  </Function>
+  <Function id="_1417" name="dup" returns="_503" throw="" context="_1" location="f62:488" file="f62" line="488" extern="1">
+    <Argument name="__fd" type="_503" location="f62:488" file="f62" line="488"/>
+  </Function>
+  <Function id="_1418" name="getwd" returns="_1149" throw="" context="_1" location="f62:483" file="f62" line="483" extern="1" attributes="__deprecated__ __nonnull__()">
+    <Argument name="__buf" type="_1149" location="f62:483" file="f62" line="483"/>
+  </Function>
+  <Function id="_1419" name="get_current_dir_name" returns="_1149" throw="" context="_1" location="f62:475" file="f62" line="475" extern="1"/>
+  <Function id="_1420" name="getcwd" returns="_1149" throw="" context="_1" location="f62:469" file="f62" line="469" extern="1">
+    <Argument name="__buf" type="_1149" location="f62:469" file="f62" line="469"/>
+    <Argument name="__size" type="_1698" location="f62:469" file="f62" line="469"/>
+  </Function>
+  <Function id="_1421" name="fchdir" returns="_503" throw="" context="_1" location="f62:459" file="f62" line="459" extern="1">
+    <Argument name="__fd" type="_503" location="f62:459" file="f62" line="459"/>
+  </Function>
+  <Function id="_1422" name="chdir" returns="_503" throw="" context="_1" location="f62:455" file="f62" line="455" extern="1" attributes="__nonnull__()">
+    <Argument name="__path" type="_2749" location="f62:455" file="f62" line="455"/>
+  </Function>
+  <Function id="_1423" name="fchownat" returns="_503" throw="" context="_1" location="f62:451" file="f62" line="451" extern="1" attributes="__nonnull__()">
+    <Argument name="__fd" type="_503" location="f62:451" file="f62" line="451"/>
+    <Argument name="__file" type="_2749" location="f62:451" file="f62" line="451"/>
+    <Argument name="__owner" type="_1645" location="f62:451" file="f62" line="451"/>
+    <Argument name="__group" type="_1644" location="f62:451" file="f62" line="451"/>
+    <Argument name="__flag" type="_503" location="f62:451" file="f62" line="451"/>
+  </Function>
+  <Function id="_1424" name="lchown" returns="_503" throw="" context="_1" location="f62:442" file="f62" line="442" extern="1" attributes="__nonnull__()">
+    <Argument name="__file" type="_2749" location="f62:442" file="f62" line="442"/>
+    <Argument name="__owner" type="_1645" location="f62:442" file="f62" line="442"/>
+    <Argument name="__group" type="_1644" location="f62:442" file="f62" line="442"/>
+  </Function>
+  <Function id="_1425" name="fchown" returns="_503" throw="" context="_1" location="f62:436" file="f62" line="436" extern="1">
+    <Argument name="__fd" type="_503" location="f62:436" file="f62" line="436"/>
+    <Argument name="__owner" type="_1645" location="f62:436" file="f62" line="436"/>
+    <Argument name="__group" type="_1644" location="f62:436" file="f62" line="436"/>
+  </Function>
+  <Function id="_1426" name="chown" returns="_503" throw="" context="_1" location="f62:432" file="f62" line="432" extern="1" attributes="__nonnull__()">
+    <Argument name="__file" type="_2749" location="f62:432" file="f62" line="432"/>
+    <Argument name="__owner" type="_1645" location="f62:432" file="f62" line="432"/>
+    <Argument name="__group" type="_1644" location="f62:432" file="f62" line="432"/>
+  </Function>
+  <Function id="_1427" name="pause" returns="_503" context="_1" location="f62:427" file="f62" line="427" extern="1"/>
+  <Function id="_1428" name="usleep" returns="_503" context="_1" location="f62:418" file="f62" line="418" extern="1">
+    <Argument name="__useconds" type="_1631" location="f62:418" file="f62" line="418"/>
+  </Function>
+  <Function id="_1429" name="ualarm" returns="_1631" throw="" context="_1" location="f62:411" file="f62" line="411" extern="1">
+    <Argument name="__value" type="_1631" location="f62:411" file="f62" line="411"/>
+    <Argument name="__interval" type="_1631" location="f62:411" file="f62" line="411"/>
+  </Function>
+  <Function id="_1430" name="sleep" returns="_837" context="_1" location="f62:403" file="f62" line="403" extern="1">
+    <Argument name="__seconds" type="_837" location="f62:403" file="f62" line="403"/>
+  </Function>
+  <Function id="_1431" name="alarm" returns="_837" throw="" context="_1" location="f62:391" file="f62" line="391" extern="1">
+    <Argument name="__seconds" type="_837" location="f62:391" file="f62" line="391"/>
+  </Function>
+  <Function id="_1432" name="pipe" returns="_503" throw="" context="_1" location="f62:382" file="f62" line="382" extern="1">
+    <Argument name="__pipedes" type="_2748" location="f62:382" file="f62" line="382"/>
+  </Function>
+  <Function id="_1433" name="pwrite64" returns="_1590" context="_1" location="f62:374" file="f62" line="374" extern="1">
+    <Argument name="__fd" type="_503" location="f62:374" file="f62" line="374"/>
+    <Argument name="__buf" type="_2807" location="f62:374" file="f62" line="374"/>
+    <Argument name="__n" type="_1698" location="f62:374" file="f62" line="374"/>
+    <Argument name="__offset" type="_1638" location="f62:374" file="f62" line="374"/>
+  </Function>
+  <Function id="_1434" name="pread64" returns="_1590" context="_1" location="f62:370" file="f62" line="370" extern="1">
+    <Argument name="__fd" type="_503" location="f62:370" file="f62" line="370"/>
+    <Argument name="__buf" type="_1042" location="f62:370" file="f62" line="370"/>
+    <Argument name="__nbytes" type="_1698" location="f62:370" file="f62" line="370"/>
+    <Argument name="__offset" type="_1638" location="f62:370" file="f62" line="370"/>
+  </Function>
+  <Function id="_1435" name="pwrite" returns="_1590" context="_1" location="f62:350" file="f62" line="350" extern="1">
+    <Argument name="__fd" type="_503" location="f62:350" file="f62" line="350"/>
+    <Argument name="__buf" type="_2807" location="f62:350" file="f62" line="350"/>
+    <Argument name="__n" type="_1698" location="f62:350" file="f62" line="350"/>
+    <Argument name="__offset" type="_1639" location="f62:350" file="f62" line="350"/>
+  </Function>
+  <Function id="_1436" name="pread" returns="_1590" context="_1" location="f62:342" file="f62" line="342" extern="1">
+    <Argument name="__fd" type="_503" location="f62:342" file="f62" line="342"/>
+    <Argument name="__buf" type="_1042" location="f62:342" file="f62" line="342"/>
+    <Argument name="__nbytes" type="_1698" location="f62:342" file="f62" line="342"/>
+    <Argument name="__offset" type="_1639" location="f62:342" file="f62" line="342"/>
+  </Function>
+  <Function id="_1437" name="write" returns="_1590" context="_1" location="f62:331" file="f62" line="331" extern="1">
+    <Argument name="__fd" type="_503" location="f62:331" file="f62" line="331"/>
+    <Argument name="__buf" type="_2807" location="f62:331" file="f62" line="331"/>
+    <Argument name="__n" type="_1698" location="f62:331" file="f62" line="331"/>
+  </Function>
+  <Function id="_1438" name="read" returns="_1590" context="_1" location="f62:325" file="f62" line="325" extern="1">
+    <Argument name="__fd" type="_503" location="f62:325" file="f62" line="325"/>
+    <Argument name="__buf" type="_1042" location="f62:325" file="f62" line="325"/>
+    <Argument name="__nbytes" type="_1698" location="f62:325" file="f62" line="325"/>
+  </Function>
+  <Function id="_1439" name="close" returns="_503" context="_1" location="f62:318" file="f62" line="318" extern="1">
+    <Argument name="__fd" type="_503" location="f62:318" file="f62" line="318"/>
+  </Function>
+  <Function id="_1440" name="lseek64" returns="_1638" throw="" context="_1" location="f62:311" file="f62" line="311" extern="1">
+    <Argument name="__fd" type="_503" location="f62:311" file="f62" line="311"/>
+    <Argument name="__offset" type="_1638" location="f62:311" file="f62" line="311"/>
+    <Argument name="__whence" type="_503" location="f62:311" file="f62" line="311"/>
+  </Function>
+  <Function id="_1441" name="lseek" returns="_1639" throw="" context="_1" location="f62:299" file="f62" line="299" extern="1">
+    <Argument name="__fd" type="_503" location="f62:299" file="f62" line="299"/>
+    <Argument name="__offset" type="_1639" location="f62:299" file="f62" line="299"/>
+    <Argument name="__whence" type="_503" location="f62:299" file="f62" line="299"/>
+  </Function>
+  <Function id="_1442" name="faccessat" returns="_503" throw="" context="_1" location="f62:274" file="f62" line="274" extern="1" attributes="__nonnull__()">
+    <Argument name="__fd" type="_503" location="f62:274" file="f62" line="274"/>
+    <Argument name="__file" type="_2749" location="f62:274" file="f62" line="274"/>
+    <Argument name="__type" type="_503" location="f62:274" file="f62" line="274"/>
+    <Argument name="__flag" type="_503" location="f62:274" file="f62" line="274"/>
+  </Function>
+  <Function id="_1443" name="eaccess" returns="_503" throw="" context="_1" location="f62:266" file="f62" line="266" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f62:266" file="f62" line="266"/>
+    <Argument name="__type" type="_503" location="f62:266" file="f62" line="266"/>
+  </Function>
+  <Function id="_1444" name="euidaccess" returns="_503" throw="" context="_1" location="f62:262" file="f62" line="262" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f62:262" file="f62" line="262"/>
+    <Argument name="__type" type="_503" location="f62:262" file="f62" line="262"/>
+  </Function>
+  <Function id="_1445" name="access" returns="_503" throw="" context="_1" location="f62:256" file="f62" line="256" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f62:256" file="f62" line="256"/>
+    <Argument name="__type" type="_503" location="f62:256" file="f62" line="256"/>
+  </Function>
+  <Typedef id="_1446" name="socklen_t" type="_1611" context="_1" location="f62:243" file="f62" line="243"/>
+  <Typedef id="_1447" name="intptr_t" type="_1612" context="_1" location="f62:236" file="f62" line="236"/>
+  <Function id="_1448" name="getloadavg" returns="_503" throw="" context="_1" location="f65:963" file="f65" line="963" extern="1" attributes="__nonnull__()">
+    <Argument name="__loadavg" type="_2754" location="f65:963" file="f65" line="963"/>
+    <Argument name="__nelem" type="_503" location="f65:963" file="f65" line="963"/>
+  </Function>
+  <Function id="_1449" name="getpt" returns="_503" context="_1" location="f65:955" file="f65" line="955" extern="1"/>
+  <Function id="_1450" name="ptsname_r" returns="_503" throw="" context="_1" location="f65:952" file="f65" line="952" extern="1" attributes="__nonnull__()">
+    <Argument name="__fd" type="_503" location="f65:952" file="f65" line="952"/>
+    <Argument name="__buf" type="_1149" location="f65:952" file="f65" line="952"/>
+    <Argument name="__buflen" type="_1698" location="f65:952" file="f65" line="952"/>
+  </Function>
+  <Function id="_1451" name="ptsname" returns="_1149" throw="" context="_1" location="f65:944" file="f65" line="944" extern="1">
+    <Argument name="__fd" type="_503" location="f65:944" file="f65" line="944"/>
+  </Function>
+  <Function id="_1452" name="unlockpt" returns="_503" throw="" context="_1" location="f65:939" file="f65" line="939" extern="1">
+    <Argument name="__fd" type="_503" location="f65:939" file="f65" line="939"/>
+  </Function>
+  <Function id="_1453" name="grantpt" returns="_503" throw="" context="_1" location="f65:935" file="f65" line="935" extern="1">
+    <Argument name="__fd" type="_503" location="f65:935" file="f65" line="935"/>
+  </Function>
+  <Function id="_1454" name="posix_openpt" returns="_503" context="_1" location="f65:927" file="f65" line="927" extern="1">
+    <Argument name="__oflag" type="_503" location="f65:927" file="f65" line="927"/>
+  </Function>
+  <Function id="_1455" name="setkey" returns="_1194" throw="" context="_1" location="f65:919" file="f65" line="919" extern="1" attributes="__nonnull__()">
+    <Argument name="__key" type="_2749" location="f65:919" file="f65" line="919"/>
+  </Function>
+  <Function id="_1456" name="getsubopt" returns="_503" throw="" context="_1" location="f65:913" file="f65" line="913" extern="1" attributes="__nonnull__(,,)">
+    <Argument name="__optionp" type="_2935r" location="f65:913" file="f65" line="913"/>
+    <Argument name="__tokens" type="_3093r" location="f65:913" file="f65" line="913"/>
+    <Argument name="__valuep" type="_2935r" location="f65:913" file="f65" line="913"/>
+  </Function>
+  <Function id="_1457" name="rpmatch" returns="_503" throw="" context="_1" location="f65:899" file="f65" line="899" extern="1" attributes="__nonnull__()">
+    <Argument name="__response" type="_2749" location="f65:899" file="f65" line="899"/>
+  </Function>
+  <Function id="_1458" name="wcstombs" returns="_1698" throw="" context="_1" location="f65:890" file="f65" line="890" extern="1">
+    <Argument name="__s" type="_1149r" location="f65:890" file="f65" line="890"/>
+    <Argument name="__pwcs" type="_2780r" location="f65:890" file="f65" line="890"/>
+    <Argument name="__n" type="_1698" location="f65:890" file="f65" line="890"/>
+  </Function>
+  <Function id="_1459" name="mbstowcs" returns="_1698" throw="" context="_1" location="f65:886" file="f65" line="886" extern="1">
+    <Argument name="__pwcs" type="_2778r" location="f65:886" file="f65" line="886"/>
+    <Argument name="__s" type="_2749r" location="f65:886" file="f65" line="886"/>
+    <Argument name="__n" type="_1698" location="f65:886" file="f65" line="886"/>
+  </Function>
+  <Function id="_1460" name="wctomb" returns="_503" throw="" context="_1" location="f65:881" file="f65" line="881" extern="1">
+    <Argument name="__s" type="_1149" location="f65:881" file="f65" line="881"/>
+    <Argument name="__wchar" type="_2786" location="f65:881" file="f65" line="881"/>
+  </Function>
+  <Function id="_1461" name="mbtowc" returns="_503" throw="" context="_1" location="f65:878" file="f65" line="878" extern="1">
+    <Argument name="__pwc" type="_2778r" location="f65:878" file="f65" line="878"/>
+    <Argument name="__s" type="_2749r" location="f65:878" file="f65" line="878"/>
+    <Argument name="__n" type="_1698" location="f65:878" file="f65" line="878"/>
+  </Function>
+  <Function id="_1462" name="mblen" returns="_503" throw="" context="_1" location="f65:874" file="f65" line="874" extern="1">
+    <Argument name="__s" type="_2749" location="f65:874" file="f65" line="874"/>
+    <Argument name="__n" type="_1698" location="f65:874" file="f65" line="874"/>
+  </Function>
+  <Function id="_1463" name="qfcvt_r" returns="_503" throw="" context="_1" location="f65:866" file="f65" line="866" extern="1" attributes="__nonnull__(,,)">
+    <Argument name="__value" type="_483" location="f65:866" file="f65" line="866"/>
+    <Argument name="__ndigit" type="_503" location="f65:866" file="f65" line="866"/>
+    <Argument name="__decpt" type="_2748r" location="f65:866" file="f65" line="866"/>
+    <Argument name="__sign" type="_2748r" location="f65:866" file="f65" line="866"/>
+    <Argument name="__buf" type="_1149r" location="f65:866" file="f65" line="866"/>
+    <Argument name="__len" type="_1698" location="f65:866" file="f65" line="866"/>
+  </Function>
+  <Function id="_1464" name="qecvt_r" returns="_503" throw="" context="_1" location="f65:862" file="f65" line="862" extern="1" attributes="__nonnull__(,,)">
+    <Argument name="__value" type="_483" location="f65:862" file="f65" line="862"/>
+    <Argument name="__ndigit" type="_503" location="f65:862" file="f65" line="862"/>
+    <Argument name="__decpt" type="_2748r" location="f65:862" file="f65" line="862"/>
+    <Argument name="__sign" type="_2748r" location="f65:862" file="f65" line="862"/>
+    <Argument name="__buf" type="_1149r" location="f65:862" file="f65" line="862"/>
+    <Argument name="__len" type="_1698" location="f65:862" file="f65" line="862"/>
+  </Function>
+  <Function id="_1465" name="fcvt_r" returns="_503" throw="" context="_1" location="f65:857" file="f65" line="857" extern="1" attributes="__nonnull__(,,)">
+    <Argument name="__value" type="_2753" location="f65:857" file="f65" line="857"/>
+    <Argument name="__ndigit" type="_503" location="f65:857" file="f65" line="857"/>
+    <Argument name="__decpt" type="_2748r" location="f65:857" file="f65" line="857"/>
+    <Argument name="__sign" type="_2748r" location="f65:857" file="f65" line="857"/>
+    <Argument name="__buf" type="_1149r" location="f65:857" file="f65" line="857"/>
+    <Argument name="__len" type="_1698" location="f65:857" file="f65" line="857"/>
+  </Function>
+  <Function id="_1466" name="ecvt_r" returns="_503" throw="" context="_1" location="f65:854" file="f65" line="854" extern="1" attributes="__nonnull__(,,)">
+    <Argument name="__value" type="_2753" location="f65:854" file="f65" line="854"/>
+    <Argument name="__ndigit" type="_503" location="f65:854" file="f65" line="854"/>
+    <Argument name="__decpt" type="_2748r" location="f65:854" file="f65" line="854"/>
+    <Argument name="__sign" type="_2748r" location="f65:854" file="f65" line="854"/>
+    <Argument name="__buf" type="_1149r" location="f65:854" file="f65" line="854"/>
+    <Argument name="__len" type="_1698" location="f65:854" file="f65" line="854"/>
+  </Function>
+  <Function id="_1467" name="qgcvt" returns="_1149" throw="" context="_1" location="f65:847" file="f65" line="847" extern="1" attributes="__nonnull__()">
+    <Argument name="__value" type="_483" location="f65:847" file="f65" line="847"/>
+    <Argument name="__ndigit" type="_503" location="f65:847" file="f65" line="847"/>
+    <Argument name="__buf" type="_1149" location="f65:847" file="f65" line="847"/>
+  </Function>
+  <Function id="_1468" name="qfcvt" returns="_1149" throw="" context="_1" location="f65:845" file="f65" line="845" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__value" type="_483" location="f65:845" file="f65" line="845"/>
+    <Argument name="__ndigit" type="_503" location="f65:845" file="f65" line="845"/>
+    <Argument name="__decpt" type="_2748r" location="f65:845" file="f65" line="845"/>
+    <Argument name="__sign" type="_2748r" location="f65:845" file="f65" line="845"/>
+  </Function>
+  <Function id="_1469" name="qecvt" returns="_1149" throw="" context="_1" location="f65:842" file="f65" line="842" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__value" type="_483" location="f65:842" file="f65" line="842"/>
+    <Argument name="__ndigit" type="_503" location="f65:842" file="f65" line="842"/>
+    <Argument name="__decpt" type="_2748r" location="f65:842" file="f65" line="842"/>
+    <Argument name="__sign" type="_2748r" location="f65:842" file="f65" line="842"/>
+  </Function>
+  <Function id="_1470" name="gcvt" returns="_1149" throw="" context="_1" location="f65:835" file="f65" line="835" extern="1" attributes="__nonnull__()">
+    <Argument name="__value" type="_2753" location="f65:835" file="f65" line="835"/>
+    <Argument name="__ndigit" type="_503" location="f65:835" file="f65" line="835"/>
+    <Argument name="__buf" type="_1149" location="f65:835" file="f65" line="835"/>
+  </Function>
+  <Function id="_1471" name="fcvt" returns="_1149" throw="" context="_1" location="f65:829" file="f65" line="829" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__value" type="_2753" location="f65:829" file="f65" line="829"/>
+    <Argument name="__ndigit" type="_503" location="f65:829" file="f65" line="829"/>
+    <Argument name="__decpt" type="_2748r" location="f65:829" file="f65" line="829"/>
+    <Argument name="__sign" type="_2748r" location="f65:829" file="f65" line="829"/>
+  </Function>
+  <Function id="_1472" name="ecvt" returns="_1149" throw="" context="_1" location="f65:823" file="f65" line="823" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__value" type="_2753" location="f65:823" file="f65" line="823"/>
+    <Argument name="__ndigit" type="_503" location="f65:823" file="f65" line="823"/>
+    <Argument name="__decpt" type="_2748r" location="f65:823" file="f65" line="823"/>
+    <Argument name="__sign" type="_2748r" location="f65:823" file="f65" line="823"/>
+  </Function>
+  <Function id="_1473" name="lldiv" returns="_1694" throw="" context="_1" location="f65:810" file="f65" line="810" extern="1" attributes="const">
+    <Argument name="__numer" type="_1290" location="f65:810" file="f65" line="810"/>
+    <Argument name="__denom" type="_1290" location="f65:810" file="f65" line="810"/>
+  </Function>
+  <Function id="_1474" name="ldiv" returns="_1695" throw="" context="_1" location="f65:803" file="f65" line="803" extern="1" attributes="const">
+    <Argument name="__numer" type="_1553" location="f65:803" file="f65" line="803"/>
+    <Argument name="__denom" type="_1553" location="f65:803" file="f65" line="803"/>
+  </Function>
+  <Function id="_1475" name="div" returns="_1696" throw="" context="_1" location="f65:801" file="f65" line="801" extern="1" attributes="const">
+    <Argument name="__numer" type="_503" location="f65:801" file="f65" line="801"/>
+    <Argument name="__denom" type="_503" location="f65:801" file="f65" line="801"/>
+  </Function>
+  <Function id="_1476" name="qsort" returns="_1194" context="_1" location="f65:782" file="f65" line="782" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__base" type="_1042" location="f65:782" file="f65" line="782"/>
+    <Argument name="__nmemb" type="_1698" location="f65:782" file="f65" line="782"/>
+    <Argument name="__size" type="_1698" location="f65:782" file="f65" line="782"/>
+    <Argument name="__compar" type="_1480" location="f65:782" file="f65" line="782"/>
+  </Function>
+  <Function id="_1477" name="bsearch" returns="_1042" context="_1" location="f65:777" file="f65" line="777" extern="1" attributes="__nonnull__(,,)">
+    <Argument name="__key" type="_2807" location="f65:777" file="f65" line="777"/>
+    <Argument name="__base" type="_2807" location="f65:777" file="f65" line="777"/>
+    <Argument name="__nmemb" type="_1698" location="f65:777" file="f65" line="777"/>
+    <Argument name="__size" type="_1698" location="f65:777" file="f65" line="777"/>
+    <Argument name="__compar" type="_1480" location="f65:777" file="f65" line="777"/>
+  </Function>
+  <PointerType id="_1478" type="_3097" size="32" align="32"/>
+  <Typedef id="_1479" name="comparison_fn_t" type="_1480" context="_1" location="f65:768" file="f65" line="768"/>
+  <Typedef id="_1480" name="__compar_fn_t" type="_1478" context="_1" location="f65:765" file="f65" line="765"/>
+  <Function id="_1481" name="realpath" returns="_1149" throw="" context="_1" location="f65:758" file="f65" line="758" extern="1">
+    <Argument name="__name" type="_2749r" location="f65:758" file="f65" line="758"/>
+    <Argument name="__resolved" type="_1149r" location="f65:758" file="f65" line="758"/>
+  </Function>
+  <Function id="_1482" name="canonicalize_file_name" returns="_1149" throw="" context="_1" location="f65:747" file="f65" line="747" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f65:747" file="f65" line="747"/>
+  </Function>
+  <Function id="_1483" name="system" returns="_503" context="_1" location="f65:738" file="f65" line="738" extern="1">
+    <Argument name="__command" type="_2749" location="f65:738" file="f65" line="738"/>
+  </Function>
+  <Function id="_1484" name="mkdtemp" returns="_1149" throw="" context="_1" location="f65:729" file="f65" line="729" extern="1" attributes="__nonnull__()">
+    <Argument name="__template" type="_1149" location="f65:729" file="f65" line="729"/>
+  </Function>
+  <Function id="_1485" name="mkstemp64" returns="_503" context="_1" location="f65:719" file="f65" line="719" extern="1" attributes="__nonnull__()">
+    <Argument name="__template" type="_1149" location="f65:719" file="f65" line="719"/>
+  </Function>
+  <Function id="_1486" name="mkstemp" returns="_503" context="_1" location="f65:709" file="f65" line="709" extern="1" attributes="__nonnull__()">
+    <Argument name="__template" type="_1149" location="f65:709" file="f65" line="709"/>
+  </Function>
+  <Function id="_1487" name="mktemp" returns="_1149" throw="" context="_1" location="f65:698" file="f65" line="698" extern="1" attributes="__nonnull__()">
+    <Argument name="__template" type="_1149" location="f65:698" file="f65" line="698"/>
+  </Function>
+  <Function id="_1488" name="clearenv" returns="_503" throw="" context="_1" location="f65:689" file="f65" line="689" extern="1"/>
+  <Function id="_1489" name="unsetenv" returns="_503" throw="" context="_1" location="f65:682" file="f65" line="682" extern="1">
+    <Argument name="__name" type="_2749" location="f65:682" file="f65" line="682"/>
+  </Function>
+  <Function id="_1490" name="setenv" returns="_503" throw="" context="_1" location="f65:679" file="f65" line="679" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f65:679" file="f65" line="679"/>
+    <Argument name="__value" type="_2749" location="f65:679" file="f65" line="679"/>
+    <Argument name="__replace" type="_503" location="f65:679" file="f65" line="679"/>
+  </Function>
+  <Function id="_1491" name="putenv" returns="_503" throw="" context="_1" location="f65:672" file="f65" line="672" extern="1" attributes="__nonnull__()">
+    <Argument name="__string" type="_1149" location="f65:672" file="f65" line="672"/>
+  </Function>
+  <Function id="_1492" name="__secure_getenv" returns="_1149" throw="" context="_1" location="f65:666" file="f65" line="666" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f65:666" file="f65" line="666"/>
+  </Function>
+  <Function id="_1493" name="getenv" returns="_1149" throw="" context="_1" location="f65:660" file="f65" line="660" extern="1" attributes="__nonnull__()">
+    <Argument name="__name" type="_2749" location="f65:660" file="f65" line="660"/>
+  </Function>
+  <Function id="_1494" name="on_exit" returns="_503" throw="" context="_1" location="f65:639" file="f65" line="639" extern="1" attributes="__nonnull__()">
+    <Argument name="__func" type="_3098" location="f65:639" file="f65" line="639"/>
+    <Argument name="__arg" type="_1042" location="f65:639" file="f65" line="639"/>
+  </Function>
+  <Function id="_1495" name="atexit" returns="_503" throw="" context="_1" location="f65:632" file="f65" line="632" extern="1" attributes="__nonnull__()">
+    <Argument name="__func" type="_2254" location="f65:632" file="f65" line="632"/>
+  </Function>
+  <Function id="_1496" name="posix_memalign" returns="_503" throw="" context="_1" location="f65:623" file="f65" line="623" extern="1" attributes="__nonnull__()">
+    <Argument name="__memptr" type="_2878" location="f65:623" file="f65" line="623"/>
+    <Argument name="__alignment" type="_1698" location="f65:623" file="f65" line="623"/>
+    <Argument name="__size" type="_1698" location="f65:623" file="f65" line="623"/>
+  </Function>
+  <Function id="_1497" name="valloc" returns="_1042" throw="" context="_1" location="f65:617" file="f65" line="617" extern="1" attributes="__malloc__">
+    <Argument name="__size" type="_1698" location="f65:617" file="f65" line="617"/>
+  </Function>
+  <Function id="_1498" name="cfree" returns="_1194" throw="" context="_1" location="f65:608" file="f65" line="608" extern="1">
+    <Argument name="__ptr" type="_1042" location="f65:608" file="f65" line="608"/>
+  </Function>
+  <Function id="_1499" name="free" returns="_1194" throw="" context="_1" location="f65:603" file="f65" line="603" extern="1">
+    <Argument name="__ptr" type="_1042" location="f65:603" file="f65" line="603"/>
+  </Function>
+  <Function id="_1500" name="realloc" returns="_1042" throw="" context="_1" location="f65:601" file="f65" line="601" extern="1" attributes="__malloc__">
+    <Argument name="__ptr" type="_1042" location="f65:601" file="f65" line="601"/>
+    <Argument name="__size" type="_1698" location="f65:601" file="f65" line="601"/>
+  </Function>
+  <Function id="_1501" name="calloc" returns="_1042" throw="" context="_1" location="f65:592" file="f65" line="592" extern="1" attributes="__malloc__">
+    <Argument name="__nmemb" type="_1698" location="f65:592" file="f65" line="592"/>
+    <Argument name="__size" type="_1698" location="f65:592" file="f65" line="592"/>
+  </Function>
+  <Function id="_1502" name="malloc" returns="_1042" throw="" context="_1" location="f65:589" file="f65" line="589" extern="1" attributes="__malloc__">
+    <Argument name="__size" type="_1698" location="f65:589" file="f65" line="589"/>
+  </Function>
+  <Function id="_1503" name="lcong48_r" returns="_503" throw="" context="_1" location="f65:579" file="f65" line="579" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__param" type="_3092" location="f65:579" file="f65" line="579"/>
+    <Argument name="__buffer" type="_3099" location="f65:579" file="f65" line="579"/>
+  </Function>
+  <Function id="_1504" name="seed48_r" returns="_503" throw="" context="_1" location="f65:575" file="f65" line="575" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__seed16v" type="_3092" location="f65:575" file="f65" line="575"/>
+    <Argument name="__buffer" type="_3099" location="f65:575" file="f65" line="575"/>
+  </Function>
+  <Function id="_1505" name="srand48_r" returns="_503" throw="" context="_1" location="f65:572" file="f65" line="572" extern="1" attributes="__nonnull__()">
+    <Argument name="__seedval" type="_1553" location="f65:572" file="f65" line="572"/>
+    <Argument name="__buffer" type="_3099" location="f65:572" file="f65" line="572"/>
+  </Function>
+  <Function id="_1506" name="jrand48_r" returns="_503" throw="" context="_1" location="f65:568" file="f65" line="568" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__xsubi" type="_3092" location="f65:568" file="f65" line="568"/>
+    <Argument name="__buffer" type="_3099r" location="f65:568" file="f65" line="568"/>
+    <Argument name="__result" type="_3101r" location="f65:568" file="f65" line="568"/>
+  </Function>
+  <Function id="_1507" name="mrand48_r" returns="_503" throw="" context="_1" location="f65:564" file="f65" line="564" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__buffer" type="_3099r" location="f65:564" file="f65" line="564"/>
+    <Argument name="__result" type="_3101r" location="f65:564" file="f65" line="564"/>
+  </Function>
+  <Function id="_1508" name="nrand48_r" returns="_503" throw="" context="_1" location="f65:559" file="f65" line="559" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__xsubi" type="_3092" location="f65:559" file="f65" line="559"/>
+    <Argument name="__buffer" type="_3099r" location="f65:559" file="f65" line="559"/>
+    <Argument name="__result" type="_3101r" location="f65:559" file="f65" line="559"/>
+  </Function>
+  <Function id="_1509" name="lrand48_r" returns="_503" throw="" context="_1" location="f65:555" file="f65" line="555" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__buffer" type="_3099r" location="f65:555" file="f65" line="555"/>
+    <Argument name="__result" type="_3101r" location="f65:555" file="f65" line="555"/>
+  </Function>
+  <Function id="_1510" name="erand48_r" returns="_503" throw="" context="_1" location="f65:550" file="f65" line="550" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__xsubi" type="_3092" location="f65:550" file="f65" line="550"/>
+    <Argument name="__buffer" type="_3099r" location="f65:550" file="f65" line="550"/>
+    <Argument name="__result" type="_2754r" location="f65:550" file="f65" line="550"/>
+  </Function>
+  <Function id="_1511" name="drand48_r" returns="_503" throw="" context="_1" location="f65:547" file="f65" line="547" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__buffer" type="_3099r" location="f65:547" file="f65" line="547"/>
+    <Argument name="__result" type="_2754r" location="f65:547" file="f65" line="547"/>
+  </Function>
+  <Struct id="_1512" name="drand48_data" context="_1" mangled="12drand48_data" demangled="drand48_data" location="f65:537" file="f65" line="537" artificial="1" size="192" align="32" members="_3104 _3105 _3106 _3107 _3108 _3109 _3110 " bases=""/>
+  <Function id="_1513" name="lcong48" returns="_1194" throw="" context="_1" location="f65:530" file="f65" line="530" extern="1" attributes="__nonnull__()">
+    <Argument name="__param" type="_3092" location="f65:530" file="f65" line="530"/>
+  </Function>
+  <Function id="_1514" name="seed48" returns="_3092" throw="" context="_1" location="f65:529" file="f65" line="529" extern="1" attributes="__nonnull__()">
+    <Argument name="__seed16v" type="_3092" location="f65:529" file="f65" line="529"/>
+  </Function>
+  <Function id="_1515" name="srand48" returns="_1194" throw="" context="_1" location="f65:527" file="f65" line="527" extern="1">
+    <Argument name="__seedval" type="_1553" location="f65:527" file="f65" line="527"/>
+  </Function>
+  <Function id="_1516" name="jrand48" returns="_1553" throw="" context="_1" location="f65:524" file="f65" line="524" extern="1" attributes="__nonnull__()">
+    <Argument name="__xsubi" type="_3092" location="f65:524" file="f65" line="524"/>
+  </Function>
+  <Function id="_1517" name="mrand48" returns="_1553" throw="" context="_1" location="f65:522" file="f65" line="522" extern="1"/>
+  <Function id="_1518" name="nrand48" returns="_1553" throw="" context="_1" location="f65:519" file="f65" line="519" extern="1" attributes="__nonnull__()">
+    <Argument name="__xsubi" type="_3092" location="f65:519" file="f65" line="519"/>
+  </Function>
+  <Function id="_1519" name="lrand48" returns="_1553" throw="" context="_1" location="f65:517" file="f65" line="517" extern="1"/>
+  <Function id="_1520" name="erand48" returns="_2753" throw="" context="_1" location="f65:514" file="f65" line="514" extern="1" attributes="__nonnull__()">
+    <Argument name="__xsubi" type="_3092" location="f65:514" file="f65" line="514"/>
+  </Function>
+  <Function id="_1521" name="drand48" returns="_2753" throw="" context="_1" location="f65:513" file="f65" line="513" extern="1"/>
+  <Function id="_1522" name="rand_r" returns="_503" throw="" context="_1" location="f65:505" file="f65" line="505" extern="1">
+    <Argument name="__seed" type="_3111" location="f65:505" file="f65" line="505"/>
+  </Function>
+  <Function id="_1523" name="srand" returns="_1194" throw="" context="_1" location="f65:500" file="f65" line="500" extern="1">
+    <Argument name="__seed" type="_837" location="f65:500" file="f65" line="500"/>
+  </Function>
+  <Function id="_1524" name="rand" returns="_503" throw="" context="_1" location="f65:498" file="f65" line="498" extern="1"/>
+  <Function id="_1525" name="setstate_r" returns="_503" throw="" context="_1" location="f65:491" file="f65" line="491" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__statebuf" type="_1149r" location="f65:491" file="f65" line="491"/>
+    <Argument name="__buf" type="_3112r" location="f65:491" file="f65" line="491"/>
+  </Function>
+  <Function id="_1526" name="initstate_r" returns="_503" throw="" context="_1" location="f65:487" file="f65" line="487" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__seed" type="_837" location="f65:487" file="f65" line="487"/>
+    <Argument name="__statebuf" type="_1149r" location="f65:487" file="f65" line="487"/>
+    <Argument name="__statelen" type="_1698" location="f65:487" file="f65" line="487"/>
+    <Argument name="__buf" type="_3112r" location="f65:487" file="f65" line="487"/>
+  </Function>
+  <Function id="_1527" name="srandom_r" returns="_503" throw="" context="_1" location="f65:482" file="f65" line="482" extern="1" attributes="__nonnull__()">
+    <Argument name="__seed" type="_837" location="f65:482" file="f65" line="482"/>
+    <Argument name="__buf" type="_3112" location="f65:482" file="f65" line="482"/>
+  </Function>
+  <Function id="_1528" name="random_r" returns="_503" throw="" context="_1" location="f65:479" file="f65" line="479" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__buf" type="_3112r" location="f65:479" file="f65" line="479"/>
+    <Argument name="__result" type="_3114r" location="f65:479" file="f65" line="479"/>
+  </Function>
+  <Struct id="_1529" name="random_data" context="_1" mangled="11random_data" demangled="random_data" location="f65:468" file="f65" line="468" artificial="1" size="224" align="32" members="_3116 _3117 _3118 _3119 _3120 _3121 _3122 _3123 _3124 " bases=""/>
+  <Function id="_1530" name="setstate" returns="_1149" throw="" context="_1" location="f65:459" file="f65" line="459" extern="1" attributes="__nonnull__()">
+    <Argument name="__statebuf" type="_1149" location="f65:459" file="f65" line="459"/>
+  </Function>
+  <Function id="_1531" name="initstate" returns="_1149" throw="" context="_1" location="f65:455" file="f65" line="455" extern="1" attributes="__nonnull__()">
+    <Argument name="__seed" type="_837" location="f65:455" file="f65" line="455"/>
+    <Argument name="__statebuf" type="_1149" location="f65:455" file="f65" line="455"/>
+    <Argument name="__statelen" type="_1698" location="f65:455" file="f65" line="455"/>
+  </Function>
+  <Function id="_1532" name="srandom" returns="_1194" throw="" context="_1" location="f65:448" file="f65" line="448" extern="1">
+    <Argument name="__seed" type="_837" location="f65:448" file="f65" line="448"/>
+  </Function>
+  <Function id="_1533" name="random" returns="_1553" throw="" context="_1" location="f65:445" file="f65" line="445" extern="1"/>
+  <Union id="_1534" name="pthread_barrierattr_t" context="_1" mangled="21pthread_barrierattr_t" demangled="pthread_barrierattr_t" location="f40:163" file="f40" line="163" size="32" align="32" members="_3125 _3126 _3127 _3128 " bases=""/>
+  <Union id="_1535" name="pthread_barrier_t" context="_1" mangled="17pthread_barrier_t" demangled="pthread_barrier_t" location="f40:157" file="f40" line="157" size="160" align="32" members="_3129 _3130 _3131 _3132 " bases=""/>
+  <Typedef id="_1536" name="pthread_spinlock_t" type="_503v" context="_1" location="f40:148" file="f40" line="148"/>
+  <Union id="_1537" name="pthread_rwlockattr_t" context="_1" mangled="20pthread_rwlockattr_t" demangled="pthread_rwlockattr_t" location="f40:142" file="f40" line="142" size="64" align="32" members="_3134 _3135 _3136 _3137 " bases=""/>
+  <Union id="_1538" name="pthread_rwlock_t" context="_1" mangled="16pthread_rwlock_t" demangled="pthread_rwlock_t" location="f40:136" file="f40" line="136" size="256" align="32" members="_3138 _3139 _3140 _3141 _3142 _3143 " bases=""/>
+  <Typedef id="_1539" name="pthread_once_t" type="_503" context="_1" location="f40:113" file="f40" line="113"/>
+  <Typedef id="_1540" name="pthread_key_t" type="_837" context="_1" location="f40:109" file="f40" line="109"/>
+  <Union id="_1541" name="pthread_condattr_t" context="_1" mangled="18pthread_condattr_t" demangled="pthread_condattr_t" location="f40:105" file="f40" line="105" size="32" align="32" members="_3144 _3145 _3146 _3147 " bases=""/>
+  <Union id="_1542" name="pthread_cond_t" context="_1" mangled="14pthread_cond_t" demangled="pthread_cond_t" location="f40:99" file="f40" line="99" size="384" align="32" members="_3148 _3149 _3150 _3151 _3152 _3153 " bases=""/>
+  <Union id="_1543" name="pthread_mutexattr_t" context="_1" mangled="19pthread_mutexattr_t" demangled="pthread_mutexattr_t" location="f40:79" file="f40" line="79" size="32" align="32" members="_3154 _3155 _3156 _3157 " bases=""/>
+  <Struct id="_1544" name="__pthread_internal_slist" context="_1" mangled="24__pthread_internal_slist" demangled="__pthread_internal_slist" location="f40:47" file="f40" line="47" artificial="1" size="32" align="32" members="_3158 _3159 _3160 " bases=""/>
+  <Typedef id="_1545" name="__pthread_slist_t" type="_1544" context="_1" location="f40:49" file="f40" line="49"/>
+  <Union id="_1546" name="pthread_attr_t" context="_1" mangled="14pthread_attr_t" demangled="pthread_attr_t" location="f40:43" file="f40" line="43" size="288" align="32" members="_3161 _3162 _3163 _3164 " bases=""/>
+  <Typedef id="_1547" name="pthread_t" type="_643" context="_1" location="f40:36" file="f40" line="36"/>
+  <Typedef id="_1548" name="fsfilcnt64_t" type="_1618" context="_1" location="f66:264" file="f66" line="264"/>
+  <Typedef id="_1549" name="fsblkcnt64_t" type="_1620" context="_1" location="f66:263" file="f66" line="263"/>
+  <Typedef id="_1550" name="blkcnt64_t" type="_1622" context="_1" location="f66:262" file="f66" line="262"/>
+  <Typedef id="_1551" name="fsfilcnt_t" type="_1619" context="_1" location="f66:243" file="f66" line="243"/>
+  <Typedef id="_1552" name="fsblkcnt_t" type="_1621" context="_1" location="f66:239" file="f66" line="239"/>
+  <FundamentalType id="_1553" name="long int" size="32" align="32"/>
+  <Typedef id="_1554" name="blkcnt_t" type="_1623" context="_1" location="f66:235" file="f66" line="235"/>
+  <Typedef id="_1555" name="blksize_t" type="_1624" context="_1" location="f66:228" file="f66" line="228"/>
+  <Function id="_1556" name="gnu_dev_makedev" returns="_1288" throw="" context="_1" location="f67:55" file="f67" line="55" endline="59" inline="1">
+    <Argument name="__major" type="_837" location="f67:55" file="f67" line="55"/>
+    <Argument name="__minor" type="_837" location="f67:55" file="f67" line="55"/>
+  </Function>
+  <Function id="_1557" name="gnu_dev_minor" returns="_837" throw="" context="_1" location="f67:49" file="f67" line="49" endline="51" inline="1">
+    <Argument name="__dev" type="_1288" location="f67:49" file="f67" line="49"/>
+  </Function>
+  <Function id="_1558" name="gnu_dev_major" returns="_837" throw="" context="_1" location="f67:43" file="f67" line="43" endline="45" inline="1">
+    <Argument name="__dev" type="_1288" location="f67:43" file="f67" line="43"/>
+  </Function>
+  <Function id="_1559" name="pselect" returns="_503" context="_1" location="f68:125" file="f68" line="125" extern="1">
+    <Argument name="__nfds" type="_503" location="f68:125" file="f68" line="125"/>
+    <Argument name="__readfds" type="_3165r" location="f68:125" file="f68" line="125"/>
+    <Argument name="__writefds" type="_3165r" location="f68:125" file="f68" line="125"/>
+    <Argument name="__exceptfds" type="_3165r" location="f68:125" file="f68" line="125"/>
+    <Argument name="__timeout" type="_2839r" location="f68:125" file="f68" line="125"/>
+    <Argument name="__sigmask" type="_3167r" location="f68:125" file="f68" line="125"/>
+  </Function>
+  <Function id="_1560" name="select" returns="_503" context="_1" location="f68:112" file="f68" line="112" extern="1">
+    <Argument name="__nfds" type="_503" location="f68:112" file="f68" line="112"/>
+    <Argument name="__readfds" type="_3165r" location="f68:112" file="f68" line="112"/>
+    <Argument name="__writefds" type="_3165r" location="f68:112" file="f68" line="112"/>
+    <Argument name="__exceptfds" type="_3165r" location="f68:112" file="f68" line="112"/>
+    <Argument name="__timeout" type="_2764r" location="f68:112" file="f68" line="112"/>
+  </Function>
+  <Typedef id="_1561" name="fd_mask" type="_1563" context="_1" location="f68:85" file="f68" line="85"/>
+  <Struct id="_1562" name="fd_set" context="_1" mangled="6fd_set" demangled="fd_set" location="f68:78" file="f68" line="78" size="1024" align="32" members="_3169 _3170 _3171 " bases=""/>
+  <Typedef id="_1563" name="__fd_mask" type="_1553" context="_1" location="f68:55" file="f68" line="55"/>
+  <Struct id="_1564" name="timeval" context="_1" mangled="7timeval" demangled="timeval" location="f69:70" file="f69" line="70" artificial="1" size="64" align="32" members="_3172 _3173 _3174 _3175 " bases=""/>
+  <Struct id="_1565" name="timespec" context="_1" mangled="8timespec" demangled="timespec" location="f43:122" file="f43" line="122" artificial="1" size="64" align="32" members="_3176 _3177 _3178 _3179 " bases=""/>
+  <Struct id="_1566" name="__sigset_t" context="_1" mangled="10__sigset_t" demangled="__sigset_t" location="f70:31" file="f70" line="31" size="1024" align="32" members="_3180 _3181 _3182 " bases=""/>
+  <Typedef id="_1567" name="sigset_t" type="_1566" context="_1" location="f68:38" file="f68" line="38"/>
+  <Typedef id="_1568" name="__sig_atomic_t" type="_503" context="_1" location="f70:23" file="f70" line="23"/>
+  <Typedef id="_1569" name="register_t" type="_503" context="_1" location="f66:206" file="f66" line="206"/>
+  <Typedef id="_1570" name="u_int64_t" type="_1288" context="_1" location="f66:204" file="f66" line="204"/>
+  <Typedef id="_1571" name="u_int32_t" type="_837" context="_1" location="f66:203" file="f66" line="203"/>
+  <Typedef id="_1572" name="u_int16_t" type="_1199" context="_1" location="f66:202" file="f66" line="202"/>
+  <Typedef id="_1573" name="u_int8_t" type="_1296" context="_1" location="f66:201" file="f66" line="201"/>
+  <Typedef id="_1574" name="int64_t" type="_1290" context="_1" location="f66:198" file="f66" line="198"/>
+  <Typedef id="_1575" name="int32_t" type="_503" context="_1" location="f66:197" file="f66" line="197"/>
+  <Typedef id="_1576" name="int16_t" type="_1202" context="_1" location="f66:196" file="f66" line="196"/>
+  <Typedef id="_1577" name="int8_t" type="_1301" context="_1" location="f66:195" file="f66" line="195"/>
+  <Typedef id="_1578" name="uint" type="_837" context="_1" location="f66:153" file="f66" line="153"/>
+  <Typedef id="_1579" name="ushort" type="_1199" context="_1" location="f66:152" file="f66" line="152"/>
+  <Typedef id="_1580" name="ulong" type="_643" context="_1" location="f66:151" file="f66" line="151"/>
+  <Typedef id="_1581" name="suseconds_t" type="_1630" context="_1" location="f66:141" file="f66" line="141"/>
+  <Typedef id="_1582" name="useconds_t" type="_1631" context="_1" location="f66:137" file="f66" line="137"/>
+  <Typedef id="_1583" name="timer_t" type="_1625" context="_1" location="f43:105" file="f43" line="105"/>
+  <Typedef id="_1584" name="clockid_t" type="_1626" context="_1" location="f43:93" file="f43" line="93"/>
+  <Typedef id="_1585" name="time_t" type="_1632" context="_1" location="f43:77" file="f43" line="77"/>
+  <Typedef id="_1586" name="clock_t" type="_1636" context="_1" location="f43:61" file="f43" line="61"/>
+  <Typedef id="_1587" name="key_t" type="_1627" context="_1" location="f66:123" file="f66" line="123"/>
+  <Typedef id="_1588" name="caddr_t" type="_1613" context="_1" location="f66:117" file="f66" line="117"/>
+  <Typedef id="_1589" name="daddr_t" type="_1629" context="_1" location="f66:116" file="f66" line="116"/>
+  <Typedef id="_1590" name="ssize_t" type="_1617" context="_1" location="f66:110" file="f66" line="110"/>
+  <Typedef id="_1591" name="id_t" type="_1633" context="_1" location="f66:105" file="f66" line="105"/>
+  <Typedef id="_1592" name="pid_t" type="_1637" context="_1" location="f66:100" file="f66" line="100"/>
+  <Typedef id="_1593" name="off64_t" type="_1638" context="_1" location="f66:95" file="f66" line="95"/>
+  <Typedef id="_1594" name="off_t" type="_1639" context="_1" location="f66:88" file="f66" line="88"/>
+  <Typedef id="_1595" name="uid_t" type="_1645" context="_1" location="f66:82" file="f66" line="82"/>
+  <Typedef id="_1596" name="nlink_t" type="_1640" context="_1" location="f66:77" file="f66" line="77"/>
+  <Typedef id="_1597" name="mode_t" type="_1641" context="_1" location="f66:72" file="f66" line="72"/>
+  <Typedef id="_1598" name="gid_t" type="_1644" context="_1" location="f66:67" file="f66" line="67"/>
+  <Typedef id="_1599" name="dev_t" type="_1646" context="_1" location="f66:62" file="f66" line="62"/>
+  <Typedef id="_1600" name="ino64_t" type="_1642" context="_1" location="f66:57" file="f66" line="57"/>
+  <Typedef id="_1601" name="ino_t" type="_1643" context="_1" location="f66:50" file="f66" line="50"/>
+  <Typedef id="_1602" name="loff_t" type="_1616" context="_1" location="f66:46" file="f66" line="46"/>
+  <Struct id="_1603" name="__fsid_t" context="_1" mangled="8__fsid_t" demangled="__fsid_t" location="f71:147" file="f71" line="147" size="64" align="32" members="_3183 _3184 _3185 " bases=""/>
+  <Typedef id="_1604" name="fsid_t" type="_1603" context="_1" location="f66:41" file="f66" line="41"/>
+  <Typedef id="_1605" name="u_quad_t" type="_1647" context="_1" location="f66:40" file="f66" line="40"/>
+  <Typedef id="_1606" name="quad_t" type="_1648" context="_1" location="f66:39" file="f66" line="39"/>
+  <Typedef id="_1607" name="u_long" type="_1657" context="_1" location="f66:38" file="f66" line="38"/>
+  <Typedef id="_1608" name="u_int" type="_1658" context="_1" location="f66:37" file="f66" line="37"/>
+  <Typedef id="_1609" name="u_short" type="_1659" context="_1" location="f66:36" file="f66" line="36"/>
+  <Typedef id="_1610" name="u_char" type="_1660" context="_1" location="f66:35" file="f66" line="35"/>
+  <Typedef id="_1611" name="__socklen_t" type="_837" context="_1" location="f71:195" file="f71" line="195"/>
+  <Typedef id="_1612" name="__intptr_t" type="_503" context="_1" location="f71:192" file="f71" line="192"/>
+  <Typedef id="_1613" name="__caddr_t" type="_1149" context="_1" location="f71:189" file="f71" line="189"/>
+  <PointerType id="_1614" type="_1648" size="32" align="32"/>
+  <Typedef id="_1615" name="__qaddr_t" type="_1614" context="_1" location="f71:188" file="f71" line="188"/>
+  <Typedef id="_1616" name="__loff_t" type="_1638" context="_1" location="f71:187" file="f71" line="187"/>
+  <Typedef id="_1617" name="__ssize_t" type="_503" context="_1" location="f71:183" file="f71" line="183"/>
+  <Typedef id="_1618" name="__fsfilcnt64_t" type="_1647" context="_1" location="f71:181" file="f71" line="181"/>
+  <Typedef id="_1619" name="__fsfilcnt_t" type="_643" context="_1" location="f71:180" file="f71" line="180"/>
+  <Typedef id="_1620" name="__fsblkcnt64_t" type="_1647" context="_1" location="f71:177" file="f71" line="177"/>
+  <Typedef id="_1621" name="__fsblkcnt_t" type="_643" context="_1" location="f71:176" file="f71" line="176"/>
+  <Typedef id="_1622" name="__blkcnt64_t" type="_1648" context="_1" location="f71:173" file="f71" line="173"/>
+  <Typedef id="_1623" name="__blkcnt_t" type="_1553" context="_1" location="f71:172" file="f71" line="172"/>
+  <Typedef id="_1624" name="__blksize_t" type="_1553" context="_1" location="f71:167" file="f71" line="167"/>
+  <Typedef id="_1625" name="__timer_t" type="_1042" context="_1" location="f71:164" file="f71" line="164"/>
+  <Typedef id="_1626" name="__clockid_t" type="_503" context="_1" location="f71:161" file="f71" line="161"/>
+  <Typedef id="_1627" name="__key_t" type="_503" context="_1" location="f71:158" file="f71" line="158"/>
+  <Typedef id="_1628" name="__swblk_t" type="_1553" context="_1" location="f71:157" file="f71" line="157"/>
+  <Typedef id="_1629" name="__daddr_t" type="_503" context="_1" location="f71:156" file="f71" line="156"/>
+  <Typedef id="_1630" name="__suseconds_t" type="_1553" context="_1" location="f71:154" file="f71" line="154"/>
+  <Typedef id="_1631" name="__useconds_t" type="_837" context="_1" location="f71:153" file="f71" line="153"/>
+  <Typedef id="_1632" name="__time_t" type="_1553" context="_1" location="f71:152" file="f71" line="152"/>
+  <Typedef id="_1633" name="__id_t" type="_837" context="_1" location="f71:151" file="f71" line="151"/>
+  <Typedef id="_1634" name="__rlim64_t" type="_1647" context="_1" location="f71:150" file="f71" line="150"/>
+  <Typedef id="_1635" name="__rlim_t" type="_643" context="_1" location="f71:149" file="f71" line="149"/>
+  <Typedef id="_1636" name="__clock_t" type="_1553" context="_1" location="f71:148" file="f71" line="148"/>
+  <Typedef id="_1637" name="__pid_t" type="_503" context="_1" location="f71:146" file="f71" line="146"/>
+  <Typedef id="_1638" name="__off64_t" type="_1648" context="_1" location="f71:145" file="f71" line="145"/>
+  <Typedef id="_1639" name="__off_t" type="_1553" context="_1" location="f71:144" file="f71" line="144"/>
+  <Typedef id="_1640" name="__nlink_t" type="_837" context="_1" location="f71:143" file="f71" line="143"/>
+  <Typedef id="_1641" name="__mode_t" type="_837" context="_1" location="f71:142" file="f71" line="142"/>
+  <Typedef id="_1642" name="__ino64_t" type="_1647" context="_1" location="f71:141" file="f71" line="141"/>
+  <Typedef id="_1643" name="__ino_t" type="_643" context="_1" location="f71:140" file="f71" line="140"/>
+  <Typedef id="_1644" name="__gid_t" type="_837" context="_1" location="f71:139" file="f71" line="139"/>
+  <Typedef id="_1645" name="__uid_t" type="_837" context="_1" location="f71:138" file="f71" line="138"/>
+  <Typedef id="_1646" name="__dev_t" type="_1647" context="_1" location="f71:137" file="f71" line="137"/>
+  <Typedef id="_1647" name="__u_quad_t" type="_1288" context="_1" location="f71:60" file="f71" line="60"/>
+  <Typedef id="_1648" name="__quad_t" type="_1290" context="_1" location="f71:59" file="f71" line="59"/>
+  <Typedef id="_1649" name="__uint64_t" type="_1288" context="_1" location="f71:51" file="f71" line="51"/>
+  <Typedef id="_1650" name="__int64_t" type="_1290" context="_1" location="f71:50" file="f71" line="50"/>
+  <Typedef id="_1651" name="__uint32_t" type="_837" context="_1" location="f71:45" file="f71" line="45"/>
+  <Typedef id="_1652" name="__int32_t" type="_503" context="_1" location="f71:44" file="f71" line="44"/>
+  <Typedef id="_1653" name="__uint16_t" type="_1199" context="_1" location="f71:43" file="f71" line="43"/>
+  <Typedef id="_1654" name="__int16_t" type="_1202" context="_1" location="f71:42" file="f71" line="42"/>
+  <Typedef id="_1655" name="__uint8_t" type="_1296" context="_1" location="f71:41" file="f71" line="41"/>
+  <Typedef id="_1656" name="__int8_t" type="_1301" context="_1" location="f71:40" file="f71" line="40"/>
+  <Typedef id="_1657" name="__u_long" type="_643" context="_1" location="f71:37" file="f71" line="37"/>
+  <Typedef id="_1658" name="__u_int" type="_837" context="_1" location="f71:36" file="f71" line="36"/>
+  <Typedef id="_1659" name="__u_short" type="_1199" context="_1" location="f71:35" file="f71" line="35"/>
+  <Typedef id="_1660" name="__u_char" type="_1296" context="_1" location="f71:34" file="f71" line="34"/>
+  <Function id="_1661" name="a64l" returns="_1553" throw="" context="_1" location="f65:433" file="f65" line="433" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__s" type="_2749" location="f65:433" file="f65" line="433"/>
+  </Function>
+  <Function id="_1662" name="l64a" returns="_1149" throw="" context="_1" location="f65:429" file="f65" line="429" extern="1">
+    <Argument name="__n" type="_1553" location="f65:429" file="f65" line="429"/>
+  </Function>
+  <Function id="_1663" name="__strtoull_internal" returns="_1288" throw="" context="_1" location="f65:318" file="f65" line="318" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:318" file="f65" line="318"/>
+    <Argument name="__endptr" type="_2935r" location="f65:318" file="f65" line="318"/>
+    <Argument name="__base" type="_503" location="f65:318" file="f65" line="318"/>
+    <Argument name="__group" type="_503" location="f65:318" file="f65" line="318"/>
+  </Function>
+  <Function id="_1664" name="__strtoll_internal" returns="_1290" throw="" context="_1" location="f65:309" file="f65" line="309" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:309" file="f65" line="309"/>
+    <Argument name="__endptr" type="_2935r" location="f65:309" file="f65" line="309"/>
+    <Argument name="__base" type="_503" location="f65:309" file="f65" line="309"/>
+    <Argument name="__group" type="_503" location="f65:309" file="f65" line="309"/>
+  </Function>
+  <Function id="_1665" name="__strtoul_internal" returns="_643" throw="" context="_1" location="f65:300" file="f65" line="300" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:300" file="f65" line="300"/>
+    <Argument name="__endptr" type="_2935r" location="f65:300" file="f65" line="300"/>
+    <Argument name="__base" type="_503" location="f65:300" file="f65" line="300"/>
+    <Argument name="__group" type="_503" location="f65:300" file="f65" line="300"/>
+  </Function>
+  <Function id="_1666" name="__strtol_internal" returns="_1553" throw="" context="_1" location="f65:293" file="f65" line="293" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:293" file="f65" line="293"/>
+    <Argument name="__endptr" type="_2935r" location="f65:293" file="f65" line="293"/>
+    <Argument name="__base" type="_503" location="f65:293" file="f65" line="293"/>
+    <Argument name="__group" type="_503" location="f65:293" file="f65" line="293"/>
+  </Function>
+  <Function id="_1667" name="__strtold_internal" returns="_483" throw="" context="_1" location="f65:288" file="f65" line="288" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:288" file="f65" line="288"/>
+    <Argument name="__endptr" type="_2935r" location="f65:288" file="f65" line="288"/>
+    <Argument name="__group" type="_503" location="f65:288" file="f65" line="288"/>
+  </Function>
+  <Function id="_1668" name="__strtof_internal" returns="_2751" throw="" context="_1" location="f65:284" file="f65" line="284" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:284" file="f65" line="284"/>
+    <Argument name="__endptr" type="_2935r" location="f65:284" file="f65" line="284"/>
+    <Argument name="__group" type="_503" location="f65:284" file="f65" line="284"/>
+  </Function>
+  <Function id="_1669" name="__strtod_internal" returns="_2753" throw="" context="_1" location="f65:281" file="f65" line="281" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:281" file="f65" line="281"/>
+    <Argument name="__endptr" type="_2935r" location="f65:281" file="f65" line="281"/>
+    <Argument name="__group" type="_503" location="f65:281" file="f65" line="281"/>
+  </Function>
+  <Function id="_1670" name="strtold_l" returns="_483" throw="" context="_1" location="f65:272" file="f65" line="272" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__nptr" type="_2749r" location="f65:272" file="f65" line="272"/>
+    <Argument name="__endptr" type="_2935r" location="f65:272" file="f65" line="272"/>
+    <Argument name="__loc" type="_1677" location="f65:272" file="f65" line="272"/>
+  </Function>
+  <Function id="_1671" name="strtof_l" returns="_2751" throw="" context="_1" location="f65:267" file="f65" line="267" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__nptr" type="_2749r" location="f65:267" file="f65" line="267"/>
+    <Argument name="__endptr" type="_2935r" location="f65:267" file="f65" line="267"/>
+    <Argument name="__loc" type="_1677" location="f65:267" file="f65" line="267"/>
+  </Function>
+  <Function id="_1672" name="strtod_l" returns="_2753" throw="" context="_1" location="f65:263" file="f65" line="263" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__nptr" type="_2749r" location="f65:263" file="f65" line="263"/>
+    <Argument name="__endptr" type="_2935r" location="f65:263" file="f65" line="263"/>
+    <Argument name="__loc" type="_1677" location="f65:263" file="f65" line="263"/>
+  </Function>
+  <Function id="_1673" name="strtoull_l" returns="_1288" throw="" context="_1" location="f65:259" file="f65" line="259" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__nptr" type="_2749r" location="f65:259" file="f65" line="259"/>
+    <Argument name="__endptr" type="_2935r" location="f65:259" file="f65" line="259"/>
+    <Argument name="__base" type="_503" location="f65:259" file="f65" line="259"/>
+    <Argument name="__loc" type="_1677" location="f65:259" file="f65" line="259"/>
+  </Function>
+  <Function id="_1674" name="strtoll_l" returns="_1290" throw="" context="_1" location="f65:253" file="f65" line="253" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__nptr" type="_2749r" location="f65:253" file="f65" line="253"/>
+    <Argument name="__endptr" type="_2935r" location="f65:253" file="f65" line="253"/>
+    <Argument name="__base" type="_503" location="f65:253" file="f65" line="253"/>
+    <Argument name="__loc" type="_1677" location="f65:253" file="f65" line="253"/>
+  </Function>
+  <Function id="_1675" name="strtoul_l" returns="_643" throw="" context="_1" location="f65:247" file="f65" line="247" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__nptr" type="_2749r" location="f65:247" file="f65" line="247"/>
+    <Argument name="__endptr" type="_2935r" location="f65:247" file="f65" line="247"/>
+    <Argument name="__base" type="_503" location="f65:247" file="f65" line="247"/>
+    <Argument name="__loc" type="_1677" location="f65:247" file="f65" line="247"/>
+  </Function>
+  <Function id="_1676" name="strtol_l" returns="_1553" throw="" context="_1" location="f65:242" file="f65" line="242" extern="1" attributes="__nonnull__(,)">
+    <Argument name="__nptr" type="_2749r" location="f65:242" file="f65" line="242"/>
+    <Argument name="__endptr" type="_2935r" location="f65:242" file="f65" line="242"/>
+    <Argument name="__base" type="_503" location="f65:242" file="f65" line="242"/>
+    <Argument name="__loc" type="_1677" location="f65:242" file="f65" line="242"/>
+  </Function>
+  <Typedef id="_1677" name="__locale_t" type="_1280" context="_1" location="f72:40" file="f72" line="40"/>
+  <Struct id="_1678" name="locale_data" context="_1" incomplete="1" mangled="11locale_data" demangled="locale_data" location="f72:31" file="f72" line="31" artificial="1" align="8"/>
+  <Struct id="_1679" name="__locale_struct" context="_1" mangled="15__locale_struct" demangled="__locale_struct" location="f72:29" file="f72" line="29" artificial="1" size="928" align="32" members="_3186 _3187 _3188 _3189 _3190 _3191 _3192 " bases=""/>
+  <Function id="_1680" name="strtoull" returns="_1288" throw="" context="_1" location="f65:217" file="f65" line="217" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:217" file="f65" line="217"/>
+    <Argument name="__endptr" type="_2935r" location="f65:217" file="f65" line="217"/>
+    <Argument name="__base" type="_503" location="f65:217" file="f65" line="217"/>
+  </Function>
+  <Function id="_1681" name="strtoll" returns="_1290" throw="" context="_1" location="f65:212" file="f65" line="212" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:212" file="f65" line="212"/>
+    <Argument name="__endptr" type="_2935r" location="f65:212" file="f65" line="212"/>
+    <Argument name="__base" type="_503" location="f65:212" file="f65" line="212"/>
+  </Function>
+  <Function id="_1682" name="strtouq" returns="_1288" throw="" context="_1" location="f65:203" file="f65" line="203" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:203" file="f65" line="203"/>
+    <Argument name="__endptr" type="_2935r" location="f65:203" file="f65" line="203"/>
+    <Argument name="__base" type="_503" location="f65:203" file="f65" line="203"/>
+  </Function>
+  <Function id="_1683" name="strtoq" returns="_1290" throw="" context="_1" location="f65:198" file="f65" line="198" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:198" file="f65" line="198"/>
+    <Argument name="__endptr" type="_2935r" location="f65:198" file="f65" line="198"/>
+    <Argument name="__base" type="_503" location="f65:198" file="f65" line="198"/>
+  </Function>
+  <Function id="_1684" name="strtoul" returns="_643" throw="" context="_1" location="f65:190" file="f65" line="190" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:190" file="f65" line="190"/>
+    <Argument name="__endptr" type="_2935r" location="f65:190" file="f65" line="190"/>
+    <Argument name="__base" type="_503" location="f65:190" file="f65" line="190"/>
+  </Function>
+  <Function id="_1685" name="strtol" returns="_1553" throw="" context="_1" location="f65:186" file="f65" line="186" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:186" file="f65" line="186"/>
+    <Argument name="__endptr" type="_2935r" location="f65:186" file="f65" line="186"/>
+    <Argument name="__base" type="_503" location="f65:186" file="f65" line="186"/>
+  </Function>
+  <Function id="_1686" name="strtold" returns="_483" throw="" context="_1" location="f65:178" file="f65" line="178" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:178" file="f65" line="178"/>
+    <Argument name="__endptr" type="_2935r" location="f65:178" file="f65" line="178"/>
+  </Function>
+  <Function id="_1687" name="strtof" returns="_2751" throw="" context="_1" location="f65:174" file="f65" line="174" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:174" file="f65" line="174"/>
+    <Argument name="__endptr" type="_2935r" location="f65:174" file="f65" line="174"/>
+  </Function>
+  <Function id="_1688" name="strtod" returns="_2753" throw="" context="_1" location="f65:167" file="f65" line="167" extern="1" attributes="__nonnull__()">
+    <Argument name="__nptr" type="_2749r" location="f65:167" file="f65" line="167"/>
+    <Argument name="__endptr" type="_2935r" location="f65:167" file="f65" line="167"/>
+  </Function>
+  <Function id="_1689" name="atoll" returns="_1290" throw="" context="_1" location="f65:159" file="f65" line="159" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__nptr" type="_2749" location="f65:159" file="f65" line="159"/>
+  </Function>
+  <Function id="_1690" name="atol" returns="_1553" throw="" context="_1" location="f65:152" file="f65" line="152" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__nptr" type="_2749" location="f65:152" file="f65" line="152"/>
+  </Function>
+  <Function id="_1691" name="atoi" returns="_503" throw="" context="_1" location="f65:149" file="f65" line="149" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__nptr" type="_2749" location="f65:149" file="f65" line="149"/>
+  </Function>
+  <Function id="_1692" name="atof" returns="_2753" throw="" context="_1" location="f65:146" file="f65" line="146" extern="1" attributes="__pure__ __nonnull__()">
+    <Argument name="__nptr" type="_2749" location="f65:146" file="f65" line="146"/>
+  </Function>
+  <Function id="_1693" name="__ctype_get_mb_cur_max" returns="_1698" throw="" context="_1" location="f65:140" file="f65" line="140" extern="1"/>
+  <Struct id="_1694" name="lldiv_t" context="_1" mangled="7lldiv_t" demangled="lldiv_t" location="f65:122" file="f65" line="122" size="128" align="32" members="_3193 _3194 _3195 _3196 " bases=""/>
+  <Struct id="_1695" name="ldiv_t" context="_1" mangled="6ldiv_t" demangled="ldiv_t" location="f65:110" file="f65" line="110" size="64" align="32" members="_3197 _3198 _3199 _3200 " bases=""/>
+  <Struct id="_1696" name="div_t" context="_1" mangled="5div_t" demangled="div_t" location="f65:102" file="f65" line="102" size="64" align="32" members="_3201 _3202 _3203 _3204 " bases=""/>
+  <Union id="_1697" name="wait" context="_1" mangled="4wait" demangled="wait" location="f73:68" file="f73" line="68" artificial="1" size="32" align="32" members="_3205 _3206 _3207 _3208 _3209 _3210 _3211 " bases=""/>
+  <Typedef id="_1698" name="size_t" type="_837" context="_1" location="f56:214" file="f56" line="214"/>
+  <Typedef id="_1699" name="ptrdiff_t" type="_503" context="_1" location="f56:152" file="f56" line="152"/>
+  <Function id="_1700" name="__builtin_cpowl" returns="_3212" context="_1" location="f74:131" file="f74" line="131" extern="1">
+    <Argument type="_3212" location="f74:131" file="f74" line="131"/>
+    <Argument type="_3212" location="f74:131" file="f74" line="131"/>
+  </Function>
+  <Function id="_1701" name="__builtin_cpow" returns="_3213" context="_1" location="f74:130" file="f74" line="130" extern="1">
+    <Argument type="_3213" location="f74:130" file="f74" line="130"/>
+    <Argument type="_3213" location="f74:130" file="f74" line="130"/>
+  </Function>
+  <Function id="_1702" name="__builtin_cpowf" returns="_3214" context="_1" location="f74:129" file="f74" line="129" extern="1">
+    <Argument type="_3214" location="f74:129" file="f74" line="129"/>
+    <Argument type="_3214" location="f74:129" file="f74" line="129"/>
+  </Function>
+  <Function id="_1703" name="__builtin_ctanhl" returns="_3212" context="_1" location="f74:128" file="f74" line="128" extern="1">
+    <Argument type="_3212" location="f74:128" file="f74" line="128"/>
+  </Function>
+  <Function id="_1704" name="__builtin_ctanh" returns="_3213" context="_1" location="f74:127" file="f74" line="127" extern="1">
+    <Argument type="_3213" location="f74:127" file="f74" line="127"/>
+  </Function>
+  <Function id="_1705" name="__builtin_ctanhf" returns="_3214" context="_1" location="f74:126" file="f74" line="126" extern="1">
+    <Argument type="_3214" location="f74:126" file="f74" line="126"/>
+  </Function>
+  <Function id="_1706" name="__builtin_ctanl" returns="_3212" context="_1" location="f74:125" file="f74" line="125" extern="1">
+    <Argument type="_3212" location="f74:125" file="f74" line="125"/>
+  </Function>
+  <Function id="_1707" name="__builtin_ctan" returns="_3213" context="_1" location="f74:124" file="f74" line="124" extern="1">
+    <Argument type="_3213" location="f74:124" file="f74" line="124"/>
+  </Function>
+  <Function id="_1708" name="__builtin_ctanf" returns="_3214" context="_1" location="f74:123" file="f74" line="123" extern="1">
+    <Argument type="_3214" location="f74:123" file="f74" line="123"/>
+  </Function>
+  <Function id="_1709" name="__builtin_csqrtl" returns="_3212" context="_1" location="f74:122" file="f74" line="122" extern="1">
+    <Argument type="_3212" location="f74:122" file="f74" line="122"/>
+  </Function>
+  <Function id="_1710" name="__builtin_csqrt" returns="_3213" context="_1" location="f74:121" file="f74" line="121" extern="1">
+    <Argument type="_3213" location="f74:121" file="f74" line="121"/>
+  </Function>
+  <Function id="_1711" name="__builtin_csqrtf" returns="_3214" context="_1" location="f74:120" file="f74" line="120" extern="1">
+    <Argument type="_3214" location="f74:120" file="f74" line="120"/>
+  </Function>
+  <Function id="_1712" name="__builtin_csinhl" returns="_3212" context="_1" location="f74:119" file="f74" line="119" extern="1">
+    <Argument type="_3212" location="f74:119" file="f74" line="119"/>
+  </Function>
+  <Function id="_1713" name="__builtin_csinh" returns="_3213" context="_1" location="f74:118" file="f74" line="118" extern="1">
+    <Argument type="_3213" location="f74:118" file="f74" line="118"/>
+  </Function>
+  <Function id="_1714" name="__builtin_csinhf" returns="_3214" context="_1" location="f74:117" file="f74" line="117" extern="1">
+    <Argument type="_3214" location="f74:117" file="f74" line="117"/>
+  </Function>
+  <Function id="_1715" name="__builtin_csinl" returns="_3212" context="_1" location="f74:116" file="f74" line="116" extern="1">
+    <Argument type="_3212" location="f74:116" file="f74" line="116"/>
+  </Function>
+  <Function id="_1716" name="__builtin_csin" returns="_3213" context="_1" location="f74:115" file="f74" line="115" extern="1">
+    <Argument type="_3213" location="f74:115" file="f74" line="115"/>
+  </Function>
+  <Function id="_1717" name="__builtin_csinf" returns="_3214" context="_1" location="f74:114" file="f74" line="114" extern="1">
+    <Argument type="_3214" location="f74:114" file="f74" line="114"/>
+  </Function>
+  <Function id="_1718" name="__builtin_clogl" returns="_3212" context="_1" location="f74:113" file="f74" line="113" extern="1">
+    <Argument type="_3212" location="f74:113" file="f74" line="113"/>
+  </Function>
+  <Function id="_1719" name="__builtin_clog" returns="_3213" context="_1" location="f74:112" file="f74" line="112" extern="1">
+    <Argument type="_3213" location="f74:112" file="f74" line="112"/>
+  </Function>
+  <Function id="_1720" name="__builtin_clogf" returns="_3214" context="_1" location="f74:111" file="f74" line="111" extern="1">
+    <Argument type="_3214" location="f74:111" file="f74" line="111"/>
+  </Function>
+  <Function id="_1721" name="__builtin_cexpl" returns="_3212" context="_1" location="f74:110" file="f74" line="110" extern="1">
+    <Argument type="_3212" location="f74:110" file="f74" line="110"/>
+  </Function>
+  <Function id="_1722" name="__builtin_cexp" returns="_3213" context="_1" location="f74:109" file="f74" line="109" extern="1">
+    <Argument type="_3213" location="f74:109" file="f74" line="109"/>
+  </Function>
+  <Function id="_1723" name="__builtin_cexpf" returns="_3214" context="_1" location="f74:108" file="f74" line="108" extern="1">
+    <Argument type="_3214" location="f74:108" file="f74" line="108"/>
+  </Function>
+  <Function id="_1724" name="__builtin_ccoshl" returns="_3212" context="_1" location="f74:107" file="f74" line="107" extern="1">
+    <Argument type="_3212" location="f74:107" file="f74" line="107"/>
+  </Function>
+  <Function id="_1725" name="__builtin_ccosh" returns="_3213" context="_1" location="f74:106" file="f74" line="106" extern="1">
+    <Argument type="_3213" location="f74:106" file="f74" line="106"/>
+  </Function>
+  <Function id="_1726" name="__builtin_ccoshf" returns="_3214" context="_1" location="f74:105" file="f74" line="105" extern="1">
+    <Argument type="_3214" location="f74:105" file="f74" line="105"/>
+  </Function>
+  <Function id="_1727" name="__builtin_ccosl" returns="_3212" context="_1" location="f74:104" file="f74" line="104" extern="1">
+    <Argument type="_3212" location="f74:104" file="f74" line="104"/>
+  </Function>
+  <Function id="_1728" name="__builtin_ccos" returns="_3213" context="_1" location="f74:103" file="f74" line="103" extern="1">
+    <Argument type="_3213" location="f74:103" file="f74" line="103"/>
+  </Function>
+  <Function id="_1729" name="__builtin_ccosf" returns="_3214" context="_1" location="f74:102" file="f74" line="102" extern="1">
+    <Argument type="_3214" location="f74:102" file="f74" line="102"/>
+  </Function>
+  <Function id="_1730" name="__builtin_popcountll" returns="_503" context="_1" location="f74:101" file="f74" line="101" extern="1">
+    <Argument type="_1290" location="f74:101" file="f74" line="101"/>
+  </Function>
+  <Function id="_1731" name="__builtin_popcountl" returns="_503" context="_1" location="f74:100" file="f74" line="100" extern="1">
+    <Argument type="_1553" location="f74:100" file="f74" line="100"/>
+  </Function>
+  <Function id="_1732" name="__builtin_popcount" returns="_503" context="_1" location="f74:99" file="f74" line="99" extern="1">
+    <Argument type="_503" location="f74:99" file="f74" line="99"/>
+  </Function>
+  <Function id="_1733" name="__builtin_ctzll" returns="_503" context="_1" location="f74:98" file="f74" line="98" extern="1">
+    <Argument type="_1290" location="f74:98" file="f74" line="98"/>
+  </Function>
+  <Function id="_1734" name="__builtin_ctzl" returns="_503" context="_1" location="f74:97" file="f74" line="97" extern="1">
+    <Argument type="_1553" location="f74:97" file="f74" line="97"/>
+  </Function>
+  <Function id="_1735" name="__builtin_ctz" returns="_503" context="_1" location="f74:96" file="f74" line="96" extern="1">
+    <Argument type="_503" location="f74:96" file="f74" line="96"/>
+  </Function>
+  <Function id="_1736" name="__builtin_cargl" returns="_483" context="_1" location="f74:95" file="f74" line="95" extern="1">
+    <Argument type="_3212" location="f74:95" file="f74" line="95"/>
+  </Function>
+  <Function id="_1737" name="__builtin_carg" returns="_2753" context="_1" location="f74:94" file="f74" line="94" extern="1">
+    <Argument type="_3213" location="f74:94" file="f74" line="94"/>
+  </Function>
+  <Function id="_1738" name="__builtin_cargf" returns="_2751" context="_1" location="f74:93" file="f74" line="93" extern="1">
+    <Argument type="_3214" location="f74:93" file="f74" line="93"/>
+  </Function>
+  <Function id="_1739" name="__builtin_cabsl" returns="_483" context="_1" location="f74:92" file="f74" line="92" extern="1">
+    <Argument type="_3212" location="f74:92" file="f74" line="92"/>
+  </Function>
+  <Function id="_1740" name="__builtin_cabs" returns="_2753" context="_1" location="f74:91" file="f74" line="91" extern="1">
+    <Argument type="_3213" location="f74:91" file="f74" line="91"/>
+  </Function>
+  <Function id="_1741" name="__builtin_cabsf" returns="_2751" context="_1" location="f74:90" file="f74" line="90" extern="1">
+    <Argument type="_3214" location="f74:90" file="f74" line="90"/>
+  </Function>
+  <Function id="_1742" name="__builtin_tanl" returns="_483" context="_1" location="f74:89" file="f74" line="89" extern="1">
+    <Argument type="_483" location="f74:89" file="f74" line="89"/>
+  </Function>
+  <Function id="_1743" name="__builtin_tanhl" returns="_483" context="_1" location="f74:88" file="f74" line="88" extern="1">
+    <Argument type="_483" location="f74:88" file="f74" line="88"/>
+  </Function>
+  <Function id="_1744" name="__builtin_tanhf" returns="_2751" context="_1" location="f74:87" file="f74" line="87" extern="1">
+    <Argument type="_2751" location="f74:87" file="f74" line="87"/>
+  </Function>
+  <Function id="_1745" name="__builtin_tanh" returns="_2753" context="_1" location="f74:86" file="f74" line="86" extern="1">
+    <Argument type="_2753" location="f74:86" file="f74" line="86"/>
+  </Function>
+  <Function id="_1746" name="__builtin_tanf" returns="_2751" context="_1" location="f74:85" file="f74" line="85" extern="1">
+    <Argument type="_2751" location="f74:85" file="f74" line="85"/>
+  </Function>
+  <Function id="_1747" name="__builtin_tan" returns="_2753" context="_1" location="f74:84" file="f74" line="84" extern="1">
+    <Argument type="_2753" location="f74:84" file="f74" line="84"/>
+  </Function>
+  <Function id="_1748" name="__builtin_sinhl" returns="_483" context="_1" location="f74:79" file="f74" line="79" extern="1">
+    <Argument type="_483" location="f74:79" file="f74" line="79"/>
+  </Function>
+  <Function id="_1749" name="__builtin_sinhf" returns="_2751" context="_1" location="f74:78" file="f74" line="78" extern="1">
+    <Argument type="_2751" location="f74:78" file="f74" line="78"/>
+  </Function>
+  <Function id="_1750" name="__builtin_sinh" returns="_2753" context="_1" location="f74:77" file="f74" line="77" extern="1">
+    <Argument type="_2753" location="f74:77" file="f74" line="77"/>
+  </Function>
+  <Function id="_1751" name="__builtin_powil" returns="_483" context="_1" location="f74:74" file="f74" line="74" extern="1">
+    <Argument type="_483" location="f74:74" file="f74" line="74"/>
+    <Argument type="_503" location="f74:74" file="f74" line="74"/>
+  </Function>
+  <Function id="_1752" name="__builtin_powif" returns="_2751" context="_1" location="f74:73" file="f74" line="73" extern="1">
+    <Argument type="_2751" location="f74:73" file="f74" line="73"/>
+    <Argument type="_503" location="f74:73" file="f74" line="73"/>
+  </Function>
+  <Function id="_1753" name="__builtin_powi" returns="_2753" context="_1" location="f74:72" file="f74" line="72" extern="1">
+    <Argument type="_2753" location="f74:72" file="f74" line="72"/>
+    <Argument type="_503" location="f74:72" file="f74" line="72"/>
+  </Function>
+  <Function id="_1754" name="__builtin_powl" returns="_483" context="_1" location="f74:71" file="f74" line="71" extern="1">
+    <Argument type="_483" location="f74:71" file="f74" line="71"/>
+    <Argument type="_483" location="f74:71" file="f74" line="71"/>
+  </Function>
+  <Function id="_1755" name="__builtin_powf" returns="_2751" context="_1" location="f74:70" file="f74" line="70" extern="1">
+    <Argument type="_2751" location="f74:70" file="f74" line="70"/>
+    <Argument type="_2751" location="f74:70" file="f74" line="70"/>
+  </Function>
+  <Function id="_1756" name="__builtin_modfl" returns="_483" context="_1" location="f74:69" file="f74" line="69" extern="1">
+    <Argument type="_483" location="f74:69" file="f74" line="69"/>
+    <Argument type="_2750" location="f74:69" file="f74" line="69"/>
+  </Function>
+  <Function id="_1757" name="__builtin_modff" returns="_2751" context="_1" location="f74:68" file="f74" line="68" extern="1">
+    <Argument type="_2751" location="f74:68" file="f74" line="68"/>
+    <Argument type="_2752" location="f74:68" file="f74" line="68"/>
+  </Function>
+  <Function id="_1758" name="__builtin_log10l" returns="_483" context="_1" location="f74:65" file="f74" line="65" extern="1">
+    <Argument type="_483" location="f74:65" file="f74" line="65"/>
+  </Function>
+  <Function id="_1759" name="__builtin_log10f" returns="_2751" context="_1" location="f74:64" file="f74" line="64" extern="1">
+    <Argument type="_2751" location="f74:64" file="f74" line="64"/>
+  </Function>
+  <Function id="_1760" name="__builtin_log10" returns="_2753" context="_1" location="f74:63" file="f74" line="63" extern="1">
+    <Argument type="_2753" location="f74:63" file="f74" line="63"/>
+  </Function>
+  <Function id="_1761" name="__builtin_ldexpl" returns="_483" context="_1" location="f74:61" file="f74" line="61" extern="1">
+    <Argument type="_483" location="f74:61" file="f74" line="61"/>
+    <Argument type="_503" location="f74:61" file="f74" line="61"/>
+  </Function>
+  <Function id="_1762" name="__builtin_ldexpf" returns="_2751" context="_1" location="f74:60" file="f74" line="60" extern="1">
+    <Argument type="_2751" location="f74:60" file="f74" line="60"/>
+    <Argument type="_503" location="f74:60" file="f74" line="60"/>
+  </Function>
+  <Function id="_1763" name="__builtin_ldexp" returns="_2753" context="_1" location="f74:59" file="f74" line="59" extern="1">
+    <Argument type="_2753" location="f74:59" file="f74" line="59"/>
+    <Argument type="_503" location="f74:59" file="f74" line="59"/>
+  </Function>
+  <Function id="_1764" name="__builtin_frexpl" returns="_483" context="_1" location="f74:58" file="f74" line="58" extern="1">
+    <Argument type="_483" location="f74:58" file="f74" line="58"/>
+    <Argument type="_2748" location="f74:58" file="f74" line="58"/>
+  </Function>
+  <Function id="_1765" name="__builtin_frexpf" returns="_2751" context="_1" location="f74:57" file="f74" line="57" extern="1">
+    <Argument type="_2751" location="f74:57" file="f74" line="57"/>
+    <Argument type="_2748" location="f74:57" file="f74" line="57"/>
+  </Function>
+  <Function id="_1766" name="__builtin_frexp" returns="_2753" context="_1" location="f74:56" file="f74" line="56" extern="1">
+    <Argument type="_2753" location="f74:56" file="f74" line="56"/>
+    <Argument type="_2748" location="f74:56" file="f74" line="56"/>
+  </Function>
+  <Function id="_1767" name="__builtin_fmodl" returns="_483" context="_1" location="f74:55" file="f74" line="55" extern="1">
+    <Argument type="_483" location="f74:55" file="f74" line="55"/>
+    <Argument type="_483" location="f74:55" file="f74" line="55"/>
+  </Function>
+  <Function id="_1768" name="__builtin_fmodf" returns="_2751" context="_1" location="f74:54" file="f74" line="54" extern="1">
+    <Argument type="_2751" location="f74:54" file="f74" line="54"/>
+    <Argument type="_2751" location="f74:54" file="f74" line="54"/>
+  </Function>
+  <Function id="_1769" name="__builtin_floorl" returns="_483" context="_1" location="f74:53" file="f74" line="53" extern="1">
+    <Argument type="_483" location="f74:53" file="f74" line="53"/>
+  </Function>
+  <Function id="_1770" name="__builtin_floorf" returns="_2751" context="_1" location="f74:52" file="f74" line="52" extern="1">
+    <Argument type="_2751" location="f74:52" file="f74" line="52"/>
+  </Function>
+  <Function id="_1771" name="__builtin_floor" returns="_2753" context="_1" location="f74:51" file="f74" line="51" extern="1">
+    <Argument type="_2753" location="f74:51" file="f74" line="51"/>
+  </Function>
+  <Function id="_1772" name="__builtin_coshl" returns="_483" context="_1" location="f74:43" file="f74" line="43" extern="1">
+    <Argument type="_483" location="f74:43" file="f74" line="43"/>
+  </Function>
+  <Function id="_1773" name="__builtin_coshf" returns="_2751" context="_1" location="f74:42" file="f74" line="42" extern="1">
+    <Argument type="_2751" location="f74:42" file="f74" line="42"/>
+  </Function>
+  <Function id="_1774" name="__builtin_cosh" returns="_2753" context="_1" location="f74:41" file="f74" line="41" extern="1">
+    <Argument type="_2753" location="f74:41" file="f74" line="41"/>
+  </Function>
+  <Function id="_1775" name="__builtin_ceill" returns="_483" context="_1" location="f74:38" file="f74" line="38" extern="1">
+    <Argument type="_483" location="f74:38" file="f74" line="38"/>
+  </Function>
+  <Function id="_1776" name="__builtin_ceilf" returns="_2751" context="_1" location="f74:37" file="f74" line="37" extern="1">
+    <Argument type="_2751" location="f74:37" file="f74" line="37"/>
+  </Function>
+  <Function id="_1777" name="__builtin_ceil" returns="_2753" context="_1" location="f74:36" file="f74" line="36" extern="1">
+    <Argument type="_2753" location="f74:36" file="f74" line="36"/>
+  </Function>
+  <Function id="_1778" name="__builtin_atanl" returns="_483" context="_1" location="f74:35" file="f74" line="35" extern="1">
+    <Argument type="_483" location="f74:35" file="f74" line="35"/>
+  </Function>
+  <Function id="_1779" name="__builtin_atanf" returns="_2751" context="_1" location="f74:34" file="f74" line="34" extern="1">
+    <Argument type="_2751" location="f74:34" file="f74" line="34"/>
+  </Function>
+  <Function id="_1780" name="__builtin_atan2l" returns="_483" context="_1" location="f74:33" file="f74" line="33" extern="1">
+    <Argument type="_483" location="f74:33" file="f74" line="33"/>
+    <Argument type="_483" location="f74:33" file="f74" line="33"/>
+  </Function>
+  <Function id="_1781" name="__builtin_atan2f" returns="_2751" context="_1" location="f74:32" file="f74" line="32" extern="1">
+    <Argument type="_2751" location="f74:32" file="f74" line="32"/>
+    <Argument type="_2751" location="f74:32" file="f74" line="32"/>
+  </Function>
+  <Function id="_1782" name="__builtin_atan2" returns="_2753" context="_1" location="f74:31" file="f74" line="31" extern="1">
+    <Argument type="_2753" location="f74:31" file="f74" line="31"/>
+    <Argument type="_2753" location="f74:31" file="f74" line="31"/>
+  </Function>
+  <Function id="_1783" name="__builtin_atan" returns="_2753" context="_1" location="f74:30" file="f74" line="30" extern="1">
+    <Argument type="_2753" location="f74:30" file="f74" line="30"/>
+  </Function>
+  <Function id="_1784" name="__builtin_asinl" returns="_483" context="_1" location="f74:29" file="f74" line="29" extern="1">
+    <Argument type="_483" location="f74:29" file="f74" line="29"/>
+  </Function>
+  <Function id="_1785" name="__builtin_asinf" returns="_2751" context="_1" location="f74:28" file="f74" line="28" extern="1">
+    <Argument type="_2751" location="f74:28" file="f74" line="28"/>
+  </Function>
+  <Function id="_1786" name="__builtin_asin" returns="_2753" context="_1" location="f74:27" file="f74" line="27" extern="1">
+    <Argument type="_2753" location="f74:27" file="f74" line="27"/>
+  </Function>
+  <Function id="_1787" name="__builtin_acosl" returns="_483" context="_1" location="f74:26" file="f74" line="26" extern="1">
+    <Argument type="_483" location="f74:26" file="f74" line="26"/>
+  </Function>
+  <Function id="_1788" name="__builtin_acosf" returns="_2751" context="_1" location="f74:25" file="f74" line="25" extern="1">
+    <Argument type="_2751" location="f74:25" file="f74" line="25"/>
+  </Function>
+  <Function id="_1789" name="__builtin_acos" returns="_2753" context="_1" location="f74:24" file="f74" line="24" extern="1">
+    <Argument type="_2753" location="f74:24" file="f74" line="24"/>
+  </Function>
+  <OperatorFunction id="_1790" name="delete []" returns="_1194" throw="" context="_1" mangled="_ZdaPv" demangled="operator delete[](void*)" location="f34:87" file="f34" line="87" extern="1">
+    <Argument type="_1042" location="f34:87" file="f34" line="87"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1791" name="delete" returns="_1194" throw="" context="_1" mangled="_ZdlPv" demangled="operator delete(void*)" location="f34:86" file="f34" line="86" extern="1">
+    <Argument type="_1042" location="f34:86" file="f34" line="86"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1792" name="new []" returns="_1042" throw="_2716" context="_1" mangled="_Znaj" demangled="operator new[](unsigned)" location="f34:85" file="f34" line="85" extern="1">
+    <Argument type="_1698" location="f34:85" file="f34" line="85"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1793" name="new" returns="_1042" throw="_2716" context="_1" mangled="_Znwj" demangled="operator new(unsigned)" location="f34:84" file="f34" line="84" extern="1">
+    <Argument type="_1698" location="f34:84" file="f34" line="84"/>
+  </OperatorFunction>
+  <Function id="_1794" name="_Exit" returns="_1194" throw="" context="_1" location="f65:653" file="f65" line="653" extern="1" attributes="nothrow noreturn">
+    <Argument name="__status" type="_503" location="f65:653" file="f65" line="653"/>
+  </Function>
+  <Function id="_1795" name="_exit" returns="_1194" context="_1" location="f62:546" file="f62" line="546" extern="1" attributes="nothrow noreturn">
+    <Argument name="__status" type="_503" location="f62:546" file="f62" line="546"/>
+  </Function>
+  <Function id="_1796" name="exit" returns="_1194" throw="" context="_1" location="f65:646" file="f65" line="646" extern="1" attributes="nothrow noreturn">
+    <Argument name="__status" type="_503" location="f65:646" file="f65" line="646"/>
+  </Function>
+  <Function id="_1797" name="abort" returns="_1194" throw="" context="_1" location="f65:628" file="f65" line="628" extern="1" attributes="nothrow noreturn"/>
+  <Function id="_1798" name="__builtin_expect" returns="_1553" context="_1" location="f74:16" file="f74" line="16" extern="1">
+    <Argument name="EXP" type="_1553" location="f74:16" file="f74" line="16"/>
+    <Argument name="C" type="_1553" location="f74:16" file="f74" line="16"/>
+  </Function>
+  <Function id="_1799" name="fputs_unlocked" returns="_503" context="_1" location="f50:632" file="f50" line="632" extern="1" attributes="nothrow">
+    <Argument name="__s" type="_2749r" location="f50:632" file="f50" line="632"/>
+    <Argument name="__stream" type="_2937r" location="f50:632" file="f50" line="632"/>
+  </Function>
+  <Function id="_1800" name="fprintf" returns="_503" context="_1" location="f50:332" file="f50" line="332" extern="1" attributes="nothrow">
+    <Argument name="__stream" type="_2937r" location="f50:332" file="f50" line="332"/>
+    <Argument name="__format" type="_2749r" location="f50:332" file="f50" line="332"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1801" name="fputs" returns="_503" context="_1" location="f50:594" file="f50" line="594" extern="1" attributes="nothrow">
+    <Argument name="__s" type="_2749r" location="f50:594" file="f50" line="594"/>
+    <Argument name="__stream" type="_2937r" location="f50:594" file="f50" line="594"/>
+  </Function>
+  <Function id="_1802" name="vsprintf" returns="_503" throw="" context="_1" location="f50:355" file="f50" line="355" extern="1" attributes="nothrow">
+    <Argument name="__s" type="_1149r" location="f50:355" file="f50" line="355"/>
+    <Argument name="__format" type="_2749r" location="f50:355" file="f50" line="355"/>
+    <Argument name="__arg" type="_1197" location="f50:355" file="f50" line="355"/>
+  </Function>
+  <Function id="_1803" name="vsnprintf" returns="_503" throw="" context="_1" location="f50:367" file="f50" line="367" extern="1" attributes="nothrow __format__(,,)">
+    <Argument name="__s" type="_1149r" location="f50:367" file="f50" line="367"/>
+    <Argument name="__maxlen" type="_1698" location="f50:367" file="f50" line="367"/>
+    <Argument name="__format" type="_2749r" location="f50:367" file="f50" line="367"/>
+    <Argument name="__arg" type="_1197" location="f50:367" file="f50" line="367"/>
+  </Function>
+  <Function id="_1804" name="vsscanf" returns="_503" throw="" context="_1" location="f50:435" file="f50" line="435" extern="1" attributes="nothrow __format__(,,)">
+    <Argument name="__s" type="_2749r" location="f50:435" file="f50" line="435"/>
+    <Argument name="__format" type="_2749r" location="f50:435" file="f50" line="435"/>
+    <Argument name="__arg" type="_1197" location="f50:435" file="f50" line="435"/>
+  </Function>
+  <Function id="_1805" name="vscanf" returns="_503" context="_1" location="f50:430" file="f50" line="430" extern="1" attributes="nothrow __format__(,,)">
+    <Argument name="__format" type="_2749r" location="f50:430" file="f50" line="430"/>
+    <Argument name="__arg" type="_1197" location="f50:430" file="f50" line="430"/>
+  </Function>
+  <Function id="_1806" name="vprintf" returns="_503" context="_1" location="f50:352" file="f50" line="352" extern="1" attributes="nothrow">
+    <Argument name="__format" type="_2749r" location="f50:352" file="f50" line="352"/>
+    <Argument name="__arg" type="_1197" location="f50:352" file="f50" line="352"/>
+  </Function>
+  <Function id="_1807" name="sscanf" returns="_503" throw="" context="_1" location="f50:412" file="f50" line="412" extern="1" attributes="nothrow">
+    <Argument name="__s" type="_2749r" location="f50:412" file="f50" line="412"/>
+    <Argument name="__format" type="_2749r" location="f50:412" file="f50" line="412"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1808" name="scanf" returns="_503" context="_1" location="f50:409" file="f50" line="409" extern="1" attributes="nothrow">
+    <Argument name="__format" type="_2749r" location="f50:409" file="f50" line="409"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1809" name="sprintf" returns="_503" throw="" context="_1" location="f50:340" file="f50" line="340" extern="1" attributes="nothrow">
+    <Argument name="__s" type="_1149r" location="f50:340" file="f50" line="340"/>
+    <Argument name="__format" type="_2749r" location="f50:340" file="f50" line="340"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1810" name="snprintf" returns="_503" throw="" context="_1" location="f50:363" file="f50" line="363" extern="1" attributes="nothrow __format__(,,)">
+    <Argument name="__s" type="_1149r" location="f50:363" file="f50" line="363"/>
+    <Argument name="__maxlen" type="_1698" location="f50:363" file="f50" line="363"/>
+    <Argument name="__format" type="_2749r" location="f50:363" file="f50" line="363"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1811" name="puts" returns="_503" context="_1" location="f50:600" file="f50" line="600" extern="1" attributes="nothrow">
+    <Argument name="__s" type="_2749" location="f50:600" file="f50" line="600"/>
+  </Function>
+  <Function id="_1812" name="putchar" returns="_503" context="_1" location="f50:494" file="f50" line="494" extern="1" attributes="nothrow">
+    <Argument name="__c" type="_503" location="f50:494" file="f50" line="494"/>
+  </Function>
+  <Function id="_1813" name="printf" returns="_503" context="_1" location="f50:337" file="f50" line="337" extern="1" attributes="nothrow">
+    <Argument name="__format" type="_2749r" location="f50:337" file="f50" line="337"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1814" name="__builtin_prefetch" returns="_1194" context="_1" location="f74:17" file="f74" line="17" extern="1">
+    <Argument name="ADDR" type="_2807" location="f74:17" file="f74" line="17"/>
+    <Ellipsis/>
+  </Function>
+  <Function id="_1815" name="__builtin_return" returns="_1194" context="_1" location="f74:13" file="f74" line="13" extern="1" attributes="nothrow noreturn">
+    <Argument name="RESULT" type="_1042" location="f74:13" file="f74" line="13"/>
+  </Function>
+  <Function id="_1816" name="__builtin_return_address" returns="_1042" context="_1" location="f74:14" file="f74" line="14" extern="1">
+    <Argument name="LEVEL" type="_837" location="f74:14" file="f74" line="14"/>
+  </Function>
+  <Function id="_1817" name="__builtin_frame_address" returns="_1042" context="_1" location="f74:15" file="f74" line="15" extern="1">
+    <Argument name="LEVEL" type="_837" location="f74:15" file="f74" line="15"/>
+  </Function>
+  <Function id="_1818" name="__builtin_nansl" returns="_483" context="_1" mangled="nansl" demangled="__int128" location="f74:23" file="f74" line="23" extern="1" attributes="nothrow const">
+    <Argument name="str" type="_2749" location="f74:23" file="f74" line="23"/>
+  </Function>
+  <Function id="_1819" name="__builtin_nansf" returns="_2751" context="_1" mangled="nansf" demangled="__int128" location="f74:22" file="f74" line="22" extern="1" attributes="nothrow const">
+    <Argument name="str" type="_2749" location="f74:22" file="f74" line="22"/>
+  </Function>
+  <Function id="_1820" name="__builtin_nans" returns="_2753" context="_1" mangled="nans" demangled="__int128" location="f74:21" file="f74" line="21" extern="1" attributes="nothrow const">
+    <Argument name="str" type="_2749" location="f74:21" file="f74" line="21"/>
+  </Function>
+  <Function id="_1821" name="nanl" returns="_483" throw="" context="_1" location="f12:225" file="f12" line="225" extern="1" attributes="nothrow const">
+    <Argument name="__tagb" type="_2749" location="f12:225" file="f12" line="225"/>
+  </Function>
+  <Function id="_1822" name="nanf" returns="_2751" throw="" context="_1" location="f12:225" file="f12" line="225" extern="1" attributes="nothrow const">
+    <Argument name="__tagb" type="_2749" location="f12:225" file="f12" line="225"/>
+  </Function>
+  <Function id="_1823" name="nan" returns="_2753" throw="" context="_1" location="f12:225" file="f12" line="225" extern="1" attributes="nothrow const">
+    <Argument name="__tagb" type="_2749" location="f12:225" file="f12" line="225"/>
+  </Function>
+  <Function id="_1824" name="__builtin_infl" returns="_483" context="_1" location="f74:20" file="f74" line="20" extern="1" attributes="nothrow const"/>
+  <Function id="_1825" name="__builtin_inff" returns="_2751" context="_1" location="f74:19" file="f74" line="19" extern="1" attributes="nothrow const"/>
+  <Function id="_1826" name="__builtin_inf" returns="_2753" context="_1" location="f74:18" file="f74" line="18" extern="1" attributes="nothrow const"/>
+  <Function id="_1827" name="logl" returns="_483" throw="" context="_1" location="f12:110" file="f12" line="110" extern="1" attributes="nothrow">
+    <Argument name="__x" type="_483" location="f12:110" file="f12" line="110"/>
+  </Function>
+  <Function id="_1828" name="__builtin_logl" returns="_483" context="_1" mangled="logl" demangled="long" location="f74:67" file="f74" line="67" extern="1" attributes="nothrow">
+    <Argument type="_483" location="f74:67" file="f74" line="67"/>
+  </Function>
+  <Function id="_1829" name="expl" returns="_483" throw="" context="_1" location="f12:101" file="f12" line="101" extern="1" attributes="nothrow">
+    <Argument name="__x" type="_483" location="f12:101" file="f12" line="101"/>
+  </Function>
+  <Function id="_1830" name="__builtin_expl" returns="_483" context="_1" mangled="expl" demangled="long double" location="f74:47" file="f74" line="47" extern="1" attributes="nothrow">
+    <Argument type="_483" location="f74:47" file="f74" line="47"/>
+  </Function>
+  <Function id="_1831" name="cosl" returns="_483" throw="" context="_1" location="f12:64" file="f12" line="64" extern="1" attributes="nothrow pure">
+    <Argument name="__x" type="_483" location="f12:64" file="f12" line="64"/>
+  </Function>
+  <Function id="_1832" name="__builtin_cosl" returns="_483" context="_1" mangled="cosl" demangled="char" location="f74:44" file="f74" line="44" extern="1" attributes="nothrow pure">
+    <Argument type="_483" location="f74:44" file="f74" line="44"/>
+  </Function>
+  <Function id="_1833" name="sinl" returns="_483" throw="" context="_1" location="f12:66" file="f12" line="66" extern="1" attributes="nothrow pure">
+    <Argument name="__x" type="_483" location="f12:66" file="f12" line="66"/>
+  </Function>
+  <Function id="_1834" name="__builtin_sinl" returns="_483" context="_1" mangled="sinl" demangled="short" location="f74:80" file="f74" line="80" extern="1" attributes="nothrow pure">
+    <Argument type="_483" location="f74:80" file="f74" line="80"/>
+  </Function>
+  <Function id="_1835" name="sqrtl" returns="_483" throw="" context="_1" location="f12:157" file="f12" line="157" extern="1" attributes="nothrow">
+    <Argument name="__x" type="_483" location="f12:157" file="f12" line="157"/>
+  </Function>
+  <Function id="_1836" name="__builtin_sqrtl" returns="_483" context="_1" mangled="sqrtl" demangled="short" location="f74:83" file="f74" line="83" extern="1" attributes="nothrow">
+    <Argument type="_483" location="f74:83" file="f74" line="83"/>
+  </Function>
+  <Function id="_1837" name="logf" returns="_2751" throw="" context="_1" location="f12:110" file="f12" line="110" extern="1" attributes="nothrow">
+    <Argument name="__x" type="_2751" location="f12:110" file="f12" line="110"/>
+  </Function>
+  <Function id="_1838" name="__builtin_logf" returns="_2751" context="_1" mangled="logf" demangled="long" location="f74:66" file="f74" line="66" extern="1" attributes="nothrow">
+    <Argument type="_2751" location="f74:66" file="f74" line="66"/>
+  </Function>
+  <Function id="_1839" name="expf" returns="_2751" throw="" context="_1" location="f12:101" file="f12" line="101" extern="1" attributes="nothrow">
+    <Argument name="__x" type="_2751" location="f12:101" file="f12" line="101"/>
+  </Function>
+  <Function id="_1840" name="__builtin_expf" returns="_2751" context="_1" mangled="expf" demangled="long double" location="f74:46" file="f74" line="46" extern="1" attributes="nothrow">
+    <Argument type="_2751" location="f74:46" file="f74" line="46"/>
+  </Function>
+  <Function id="_1841" name="cosf" returns="_2751" throw="" context="_1" location="f12:64" file="f12" line="64" extern="1" attributes="nothrow pure">
+    <Argument name="__x" type="_2751" location="f12:64" file="f12" line="64"/>
+  </Function>
+  <Function id="_1842" name="__builtin_cosf" returns="_2751" context="_1" mangled="cosf" demangled="char" location="f74:40" file="f74" line="40" extern="1" attributes="nothrow pure">
+    <Argument type="_2751" location="f74:40" file="f74" line="40"/>
+  </Function>
+  <Function id="_1843" name="sinf" returns="_2751" throw="" context="_1" location="f12:66" file="f12" line="66" extern="1" attributes="nothrow pure">
+    <Argument name="__x" type="_2751" location="f12:66" file="f12" line="66"/>
+  </Function>
+  <Function id="_1844" name="__builtin_sinf" returns="_2751" context="_1" mangled="sinf" demangled="short" location="f74:76" file="f74" line="76" extern="1" attributes="nothrow pure">
+    <Argument type="_2751" location="f74:76" file="f74" line="76"/>
+  </Function>
+  <Function id="_1845" name="sqrtf" returns="_2751" throw="" context="_1" location="f12:157" file="f12" line="157" extern="1" attributes="nothrow">
+    <Argument name="__x" type="_2751" location="f12:157" file="f12" line="157"/>
+  </Function>
+  <Function id="_1846" name="__builtin_sqrtf" returns="_2751" context="_1" mangled="sqrtf" demangled="short" location="f74:82" file="f74" line="82" extern="1" attributes="nothrow">
+    <Argument type="_2751" location="f74:82" file="f74" line="82"/>
+  </Function>
+  <Function id="_1847" name="log" returns="_2753" throw="" context="_1" location="f12:110" file="f12" line="110" extern="1" attributes="nothrow">
+    <Argument name="__x" type="_2753" location="f12:110" file="f12" line="110"/>
+  </Function>
+  <Function id="_1848" name="__builtin_log" returns="_2753" context="_1" mangled="log" demangled="long" location="f74:62" file="f74" line="62" extern="1" attributes="nothrow">
+    <Argument type="_2753" location="f74:62" file="f74" line="62"/>
+  </Function>
+  <Function id="_1849" name="exp" returns="_2753" throw="" context="_1" location="f12:101" file="f12" line="101" extern="1" attributes="nothrow">
+    <Argument name="__x" type="_2753" location="f12:101" file="f12" line="101"/>
+  </Function>
+  <Function id="_1850" name="__builtin_exp" returns="_2753" context="_1" mangled="exp" demangled="long double" location="f74:45" file="f74" line="45" extern="1" attributes="nothrow">
+    <Argument type="_2753" location="f74:45" file="f74" line="45"/>
+  </Function>
+  <Function id="_1851" name="cos" returns="_2753" throw="" context="_1" location="f12:64" file="f12" line="64" extern="1" attributes="nothrow pure">
+    <Argument name="__x" type="_2753" location="f12:64" file="f12" line="64"/>
+  </Function>
+  <Function id="_1852" name="__builtin_cos" returns="_2753" context="_1" mangled="cos" demangled="char" location="f74:39" file="f74" line="39" extern="1" attributes="nothrow pure">
+    <Argument type="_2753" location="f74:39" file="f74" line="39"/>
+  </Function>
+  <Function id="_1853" name="sin" returns="_2753" throw="" context="_1" location="f12:66" file="f12" line="66" extern="1" attributes="nothrow pure">
+    <Argument name="__x" type="_2753" location="f12:66" file="f12" line="66"/>
+  </Function>
+  <Function id="_1854" name="__builtin_sin" returns="_2753" context="_1" mangled="sin" demangled="short" location="f74:75" file="f74" line="75" extern="1" attributes="nothrow pure">
+    <Argument type="_2753" location="f74:75" file="f74" line="75"/>
+  </Function>
+  <Function id="_1855" name="sqrt" returns="_2753" throw="" context="_1" location="f12:157" file="f12" line="157" extern="1" attributes="nothrow">
+    <Argument name="__x" type="_2753" location="f12:157" file="f12" line="157"/>
+  </Function>
+  <Function id="_1856" name="__builtin_sqrt" returns="_2753" context="_1" mangled="sqrt" demangled="short" location="f74:81" file="f74" line="81" extern="1" attributes="nothrow">
+    <Argument type="_2753" location="f74:81" file="f74" line="81"/>
+  </Function>
+  <Function id="_1857" name="strrchr" returns="_1149" throw="" context="_1" location="f57:171" file="f57" line="171" extern="1" attributes="nothrow pure __nonnull__()">
+    <Argument name="__s" type="_2749" location="f57:171" file="f57" line="171"/>
+    <Argument name="__c" type="_503" location="f57:171" file="f57" line="171"/>
+  </Function>
+  <Function id="_1858" name="strchr" returns="_1149" throw="" context="_1" location="f57:168" file="f57" line="168" extern="1" attributes="nothrow pure __nonnull__()">
+    <Argument name="__s" type="_2749" location="f57:168" file="f57" line="168"/>
+    <Argument name="__c" type="_503" location="f57:168" file="f57" line="168"/>
+  </Function>
+  <Function id="_1859" name="strcspn" returns="_1698" throw="" context="_1" location="f57:185" file="f57" line="185" extern="1" attributes="nothrow pure __nonnull__(,)">
+    <Argument name="__s" type="_2749" location="f57:185" file="f57" line="185"/>
+    <Argument name="__reject" type="_2749" location="f57:185" file="f57" line="185"/>
+  </Function>
+  <Function id="_1860" name="strspn" returns="_1698" throw="" context="_1" location="f57:189" file="f57" line="189" extern="1" attributes="nothrow pure __nonnull__(,)">
+    <Argument name="__s" type="_2749" location="f57:189" file="f57" line="189"/>
+    <Argument name="__accept" type="_2749" location="f57:189" file="f57" line="189"/>
+  </Function>
+  <Function id="_1861" name="strpbrk" returns="_1149" throw="" context="_1" location="f57:192" file="f57" line="192" extern="1" attributes="nothrow pure __nonnull__(,)">
+    <Argument name="__s" type="_2749" location="f57:192" file="f57" line="192"/>
+    <Argument name="__accept" type="_2749" location="f57:192" file="f57" line="192"/>
+  </Function>
+  <Function id="_1862" name="strstr" returns="_1149" throw="" context="_1" location="f57:195" file="f57" line="195" extern="1" attributes="nothrow pure __nonnull__(,)">
+    <Argument name="__haystack" type="_2749" location="f57:195" file="f57" line="195"/>
+    <Argument name="__needle" type="_2749" location="f57:195" file="f57" line="195"/>
+  </Function>
+  <Function id="_1863" name="strlen" returns="_1698" throw="" context="_1" location="f57:243" file="f57" line="243" extern="1" attributes="nothrow pure __nonnull__()">
+    <Argument name="__s" type="_2749" location="f57:243" file="f57" line="243"/>
+  </Function>
+  <Function id="_1864" name="strncmp" returns="_503" throw="" context="_1" location="f57:103" file="f57" line="103" extern="1" attributes="nothrow pure __nonnull__(,)">
+    <Argument name="__s1" type="_2749" location="f57:103" file="f57" line="103"/>
+    <Argument name="__s2" type="_2749" location="f57:103" file="f57" line="103"/>
+    <Argument name="__n" type="_1698" location="f57:103" file="f57" line="103"/>
+  </Function>
+  <Function id="_1865" name="strcmp" returns="_503" throw="" context="_1" location="f57:100" file="f57" line="100" extern="1" attributes="nothrow pure __nonnull__(,)">
+    <Argument name="__s1" type="_2749" location="f57:100" file="f57" line="100"/>
+    <Argument name="__s2" type="_2749" location="f57:100" file="f57" line="100"/>
+  </Function>
+  <Function id="_1866" name="strncpy" returns="_1149" throw="" context="_1" location="f57:89" file="f57" line="89" extern="1" attributes="nothrow __nonnull__(,)">
+    <Argument name="__dest" type="_1149r" location="f57:89" file="f57" line="89"/>
+    <Argument name="__src" type="_2749r" location="f57:89" file="f57" line="89"/>
+    <Argument name="__n" type="_1698" location="f57:89" file="f57" line="89"/>
+  </Function>
+  <Function id="_1867" name="strcpy" returns="_1149" throw="" context="_1" location="f57:85" file="f57" line="85" extern="1" attributes="nothrow __nonnull__(,)">
+    <Argument name="__dest" type="_1149r" location="f57:85" file="f57" line="85"/>
+    <Argument name="__src" type="_2749r" location="f57:85" file="f57" line="85"/>
+  </Function>
+  <Function id="_1868" name="strncat" returns="_1149" throw="" context="_1" location="f57:96" file="f57" line="96" extern="1" attributes="nothrow __nonnull__(,)">
+    <Argument name="__dest" type="_1149r" location="f57:96" file="f57" line="96"/>
+    <Argument name="__src" type="_2749r" location="f57:96" file="f57" line="96"/>
+    <Argument name="__n" type="_1698" location="f57:96" file="f57" line="96"/>
+  </Function>
+  <Function id="_1869" name="strcat" returns="_1149" throw="" context="_1" location="f57:93" file="f57" line="93" extern="1" attributes="nothrow __nonnull__(,)">
+    <Argument name="__dest" type="_1149r" location="f57:93" file="f57" line="93"/>
+    <Argument name="__src" type="_2749r" location="f57:93" file="f57" line="93"/>
+  </Function>
+  <Function id="_1870" name="memset" returns="_1042" throw="" context="_1" location="f57:59" file="f57" line="59" extern="1" attributes="nothrow __nonnull__()">
+    <Argument name="__s" type="_1042" location="f57:59" file="f57" line="59"/>
+    <Argument name="__c" type="_503" location="f57:59" file="f57" line="59"/>
+    <Argument name="__n" type="_1698" location="f57:59" file="f57" line="59"/>
+  </Function>
+  <Function id="_1871" name="memcmp" returns="_503" throw="" context="_1" location="f57:63" file="f57" line="63" extern="1" attributes="nothrow pure __nonnull__(,)">
+    <Argument name="__s1" type="_2807" location="f57:63" file="f57" line="63"/>
+    <Argument name="__s2" type="_2807" location="f57:63" file="f57" line="63"/>
+    <Argument name="__n" type="_1698" location="f57:63" file="f57" line="63"/>
+  </Function>
+  <Function id="_1872" name="memcpy" returns="_1042" throw="" context="_1" location="f57:40" file="f57" line="40" extern="1" attributes="nothrow __nonnull__(,)">
+    <Argument name="__dest" type="_1042r" location="f57:40" file="f57" line="40"/>
+    <Argument name="__src" type="_2807r" location="f57:40" file="f57" line="40"/>
+    <Argument name="__n" type="_1698" location="f57:40" file="f57" line="40"/>
+  </Function>
+  <Function id="_1873" name="rindex" returns="_1149" throw="" context="_1" location="f57:308" file="f57" line="308" extern="1" attributes="nothrow pure __nonnull__()">
+    <Argument name="__s" type="_2749" location="f57:308" file="f57" line="308"/>
+    <Argument name="__c" type="_503" location="f57:308" file="f57" line="308"/>
+  </Function>
+  <Function id="_1874" name="index" returns="_1149" throw="" context="_1" location="f57:304" file="f57" line="304" extern="1" attributes="nothrow pure __nonnull__()">
+    <Argument name="__s" type="_2749" location="f57:304" file="f57" line="304"/>
+    <Argument name="__c" type="_503" location="f57:304" file="f57" line="304"/>
+  </Function>
+  <Function id="_1875" name="ffs" returns="_503" throw="" context="_1" location="f57:312" file="f57" line="312" extern="1" attributes="nothrow const">
+    <Argument name="__i" type="_503" location="f57:312" file="f57" line="312"/>
+  </Function>
+  <Function id="_1876" name="bcmp" returns="_503" throw="" context="_1" location="f57:300" file="f57" line="300" extern="1" attributes="nothrow pure __nonnull__(,)">
+    <Argument name="__s1" type="_2807" location="f57:300" file="f57" line="300"/>
+    <Argument name="__s2" type="_2807" location="f57:300" file="f57" line="300"/>
+    <Argument name="__n" type="_1698" location="f57:300" file="f57" line="300"/>
+  </Function>
+  <Function id="_1877" name="bzero" returns="_1194" throw="" context="_1" location="f57:296" file="f57" line="296" extern="1" attributes="nothrow __nonnull__()">
+    <Argument name="__s" type="_1042" location="f57:296" file="f57" line="296"/>
+    <Argument name="__n" type="_1698" location="f57:296" file="f57" line="296"/>
+  </Function>
+  <Function id="_1878" name="llabs" returns="_1290" throw="" context="_1" location="f65:792" file="f65" line="792" extern="1" attributes="const nothrow">
+    <Argument name="__x" type="_1290" location="f65:792" file="f65" line="792"/>
+  </Function>
+  <Function id="_1879" name="fabsl" returns="_483" throw="" context="_1" location="f12:182" file="f12" line="182" extern="1" attributes="nothrow const">
+    <Argument name="__x" type="_483" location="f12:182" file="f12" line="182"/>
+  </Function>
+  <Function id="_1880" name="__builtin_fabsl" returns="_483" context="_1" location="f74:50" file="f74" line="50" extern="1" attributes="nothrow const">
+    <Argument type="_483" location="f74:50" file="f74" line="50"/>
+  </Function>
+  <Function id="_1881" name="fabsf" returns="_2751" throw="" context="_1" location="f12:182" file="f12" line="182" extern="1" attributes="nothrow const">
+    <Argument name="__x" type="_2751" location="f12:182" file="f12" line="182"/>
+  </Function>
+  <Function id="_1882" name="__builtin_fabsf" returns="_2751" context="_1" location="f74:49" file="f74" line="49" extern="1" attributes="nothrow const">
+    <Argument type="_2751" location="f74:49" file="f74" line="49"/>
+  </Function>
+  <Function id="_1883" name="fabs" returns="_2753" throw="" context="_1" location="f12:182" file="f12" line="182" extern="1" attributes="nothrow const">
+    <Argument name="__x" type="_2753" location="f12:182" file="f12" line="182"/>
+  </Function>
+  <Function id="_1884" name="__builtin_fabs" returns="_2753" context="_1" location="f74:48" file="f74" line="48" extern="1" attributes="nothrow const">
+    <Argument type="_2753" location="f74:48" file="f74" line="48"/>
+  </Function>
+  <Function id="_1885" name="labs" returns="_1553" throw="" context="_1" location="f65:787" file="f65" line="787" extern="1" attributes="nothrow const">
+    <Argument name="__x" type="_1553" location="f65:787" file="f65" line="787"/>
+  </Function>
+  <Function id="_1886" name="abs" returns="_503" throw="" context="_1" location="f65:786" file="f65" line="786" extern="1" attributes="nothrow const">
+    <Argument name="__x" type="_503" location="f65:786" file="f65" line="786"/>
+  </Function>
+  <Function id="_1887" name="alloca" returns="_1042" throw="" context="_1" location="f75:33" file="f75" line="33" extern="1" attributes="nothrow malloc">
+    <Argument name="__size" type="_1698" location="f75:33" file="f75" line="33"/>
+  </Function>
+  <Namespace id="_1888" name="details" context="_1" members="_3215 " mangled="_Z7details" demangled="details"/>
+  <Namespace id="_1889" name="pyplusplus" context="_1" members="_3216 _3217 " mangled="_Z10pyplusplus" demangled="pyplusplus"/>
+  <Namespace id="_1890" name="mpl_" context="_1" members="_3221 _3223 _3225 _3227 _3229 _3231 _3233 _3240 _3241 _3242 _3243 _3244 _3245 _3246 _3250 _3251 _3252 _3260 _3262 _3264 _3283 " mangled="_Z4mpl_" demangled="mpl_"/>
+  <Namespace id="_1891" name="__gnu_internal" context="_1" members="_3287 _3288 " mangled="_Z14__gnu_internal" demangled="__gnu_internal"/>
+  <Namespace id="_1892" name="__gnu_cxx" context="_1" members="_3300 _3301 _3302 _3303 _3336 _3337 " mangled="_Z9__gnu_cxx" demangled="__gnu_cxx"/>
+  <Namespace id="_1893" name="__gnu_debug" context="_1" members="" mangled="_Z11__gnu_debug" demangled="__gnu_debug"/>
+  <Namespace id="_1894" name="__gnu_debug_def" context="_1" members="" mangled="_Z15__gnu_debug_def" demangled="__gnu_debug_def"/>
+  <Namespace id="_1895" name="boost" context="_1" members="_3338 _3339 _3340 _3341 _3342 _3343 _3344 _3345 _3346 _3347 _3348 _3349 _3350 _3351 _3352 _3353 _3368 _3369 _3371 _3372 _3373 _3374 _3375 _3407 _3408 _3409 _3410 _3411 _3412 _3422 _3465 _3480 _3527 _3528 _3529 _3530 _3531 _3532 _3695 _3798 _3800 _3819 _3820 _3821 _3822 _3823 _3824 _3825 _3826 _3827 _3828 _3834 _3886 _3887 _3888 _3889 _3890 _3891 _3892 _3893 _3894 _3895 _3896 _3897 _3898 _3899 _3900 _3901 _3902 _3903 _3904 " mangl [...]
+  <Class id="_1896" name="__basic_file<char>" context="_2" mangled="St12__basic_fileIcE" demangled="std::__basic_file<char>" location="f76:56" file="f76" line="56" artificial="1" size="64" align="32" members="_3905 _3906 _3907 _3908 _3909 _3910 _3911 _3912 _3913 _3914 _3915 _3916 _3917 _3918 _3919 _3920 _3921 _3922 " bases=""/>
+  <Function id="_1897" name="tanh" returns="_483" context="_2" mangled="_ZSt4tanhe" demangled="std::tanh(long double)" location="f77:432" file="f77" line="432" endline="432" inline="1">
+    <Argument name="__x" type="_483" location="f77:432" file="f77" line="432"/>
+  </Function>
+  <Function id="_1898" name="tanh" returns="_2751" context="_2" mangled="_ZSt4tanhf" demangled="std::tanh(float)" location="f77:428" file="f77" line="428" endline="428" inline="1">
+    <Argument name="__x" type="_2751" location="f77:428" file="f77" line="428"/>
+  </Function>
+  <Function id="_1899" name="tan" returns="_483" context="_2" mangled="_ZSt3tane" demangled="std::tan(long double)" location="f77:417" file="f77" line="417" endline="417" inline="1">
+    <Argument name="__x" type="_483" location="f77:417" file="f77" line="417"/>
+  </Function>
+  <Function id="_1900" name="tan" returns="_2751" context="_2" mangled="_ZSt3tanf" demangled="std::tan(float)" location="f77:413" file="f77" line="413" endline="413" inline="1">
+    <Argument name="__x" type="_2751" location="f77:413" file="f77" line="413"/>
+  </Function>
+  <Function id="_1901" name="sqrt" returns="_483" context="_2" mangled="_ZSt4sqrte" demangled="std::sqrt(long double)" location="f77:402" file="f77" line="402" endline="402" inline="1">
+    <Argument name="__x" type="_483" location="f77:402" file="f77" line="402"/>
+  </Function>
+  <Function id="_1902" name="sqrt" returns="_2751" context="_2" mangled="_ZSt4sqrtf" demangled="std::sqrt(float)" location="f77:398" file="f77" line="398" endline="398" inline="1">
+    <Argument name="__x" type="_2751" location="f77:398" file="f77" line="398"/>
+  </Function>
+  <Function id="_1903" name="sinh" returns="_483" context="_2" mangled="_ZSt4sinhe" demangled="std::sinh(long double)" location="f77:387" file="f77" line="387" endline="387" inline="1">
+    <Argument name="__x" type="_483" location="f77:387" file="f77" line="387"/>
+  </Function>
+  <Function id="_1904" name="sinh" returns="_2751" context="_2" mangled="_ZSt4sinhf" demangled="std::sinh(float)" location="f77:383" file="f77" line="383" endline="383" inline="1">
+    <Argument name="__x" type="_2751" location="f77:383" file="f77" line="383"/>
+  </Function>
+  <Function id="_1905" name="sin" returns="_483" context="_2" mangled="_ZSt3sine" demangled="std::sin(long double)" location="f77:372" file="f77" line="372" endline="372" inline="1">
+    <Argument name="__x" type="_483" location="f77:372" file="f77" line="372"/>
+  </Function>
+  <Function id="_1906" name="sin" returns="_2751" context="_2" mangled="_ZSt3sinf" demangled="std::sin(float)" location="f77:368" file="f77" line="368" endline="368" inline="1">
+    <Argument name="__x" type="_2751" location="f77:368" file="f77" line="368"/>
+  </Function>
+  <Function id="_1907" name="pow" returns="_483" context="_2" mangled="_ZSt3powei" demangled="std::pow(long double, int)" location="f77:362" file="f77" line="362" endline="362" inline="1">
+    <Argument name="__x" type="_483" location="f77:362" file="f77" line="362"/>
+    <Argument name="__n" type="_503" location="f77:362" file="f77" line="362"/>
+  </Function>
+  <Function id="_1908" name="pow" returns="_2751" context="_2" mangled="_ZSt3powfi" demangled="std::pow(float, int)" location="f77:358" file="f77" line="358" endline="358" inline="1">
+    <Argument name="__x" type="_2751" location="f77:358" file="f77" line="358"/>
+    <Argument name="__n" type="_503" location="f77:358" file="f77" line="358"/>
+  </Function>
+  <Function id="_1909" name="pow" returns="_2753" context="_2" mangled="_ZSt3powdi" demangled="std::pow(double, int)" location="f77:354" file="f77" line="354" endline="354" inline="1">
+    <Argument name="__x" type="_2753" location="f77:354" file="f77" line="354"/>
+    <Argument name="__i" type="_503" location="f77:354" file="f77" line="354"/>
+  </Function>
+  <Function id="_1910" name="pow" returns="_483" context="_2" mangled="_ZSt3powee" demangled="std::pow(long double, long double)" location="f77:350" file="f77" line="350" endline="350" inline="1">
+    <Argument name="__x" type="_483" location="f77:350" file="f77" line="350"/>
+    <Argument name="__y" type="_483" location="f77:350" file="f77" line="350"/>
+  </Function>
+  <Function id="_1911" name="pow" returns="_2751" context="_2" mangled="_ZSt3powff" demangled="std::pow(float, float)" location="f77:346" file="f77" line="346" endline="346" inline="1">
+    <Argument name="__x" type="_2751" location="f77:346" file="f77" line="346"/>
+    <Argument name="__y" type="_2751" location="f77:346" file="f77" line="346"/>
+  </Function>
+  <Function id="_1912" name="modf" returns="_483" context="_2" mangled="_ZSt4modfePe" demangled="std::modf(long double, long double*)" location="f77:331" file="f77" line="331" endline="331" inline="1">
+    <Argument name="__x" type="_483" location="f77:331" file="f77" line="331"/>
+    <Argument name="__iptr" type="_2750" location="f77:331" file="f77" line="331"/>
+  </Function>
+  <Function id="_1913" name="modf" returns="_2751" context="_2" mangled="_ZSt4modffPf" demangled="std::modf(float, float*)" location="f77:327" file="f77" line="327" endline="327" inline="1">
+    <Argument name="__x" type="_2751" location="f77:327" file="f77" line="327"/>
+    <Argument name="__iptr" type="_2752" location="f77:327" file="f77" line="327"/>
+  </Function>
+  <Function id="_1914" name="log10" returns="_483" context="_2" mangled="_ZSt5log10e" demangled="std::log10(long double)" location="f77:316" file="f77" line="316" endline="316" inline="1">
+    <Argument name="__x" type="_483" location="f77:316" file="f77" line="316"/>
+  </Function>
+  <Function id="_1915" name="log10" returns="_2751" context="_2" mangled="_ZSt5log10f" demangled="std::log10(float)" location="f77:312" file="f77" line="312" endline="312" inline="1">
+    <Argument name="__x" type="_2751" location="f77:312" file="f77" line="312"/>
+  </Function>
+  <Function id="_1916" name="log" returns="_483" context="_2" mangled="_ZSt3loge" demangled="std::log(long double)" location="f77:301" file="f77" line="301" endline="301" inline="1">
+    <Argument name="__x" type="_483" location="f77:301" file="f77" line="301"/>
+  </Function>
+  <Function id="_1917" name="log" returns="_2751" context="_2" mangled="_ZSt3logf" demangled="std::log(float)" location="f77:297" file="f77" line="297" endline="297" inline="1">
+    <Argument name="__x" type="_2751" location="f77:297" file="f77" line="297"/>
+  </Function>
+  <Function id="_1918" name="ldexp" returns="_483" context="_2" mangled="_ZSt5ldexpei" demangled="std::ldexp(long double, int)" location="f77:286" file="f77" line="286" endline="286" inline="1">
+    <Argument name="__x" type="_483" location="f77:286" file="f77" line="286"/>
+    <Argument name="__exp" type="_503" location="f77:286" file="f77" line="286"/>
+  </Function>
+  <Function id="_1919" name="ldexp" returns="_2751" context="_2" mangled="_ZSt5ldexpfi" demangled="std::ldexp(float, int)" location="f77:282" file="f77" line="282" endline="282" inline="1">
+    <Argument name="__x" type="_2751" location="f77:282" file="f77" line="282"/>
+    <Argument name="__exp" type="_503" location="f77:282" file="f77" line="282"/>
+  </Function>
+  <Function id="_1920" name="frexp" returns="_483" context="_2" mangled="_ZSt5frexpePi" demangled="std::frexp(long double, int*)" location="f77:271" file="f77" line="271" endline="271" inline="1">
+    <Argument name="__x" type="_483" location="f77:271" file="f77" line="271"/>
+    <Argument name="__exp" type="_2748" location="f77:271" file="f77" line="271"/>
+  </Function>
+  <Function id="_1921" name="frexp" returns="_2751" context="_2" mangled="_ZSt5frexpfPi" demangled="std::frexp(float, int*)" location="f77:267" file="f77" line="267" endline="267" inline="1">
+    <Argument name="__x" type="_2751" location="f77:267" file="f77" line="267"/>
+    <Argument name="__exp" type="_2748" location="f77:267" file="f77" line="267"/>
+  </Function>
+  <Function id="_1922" name="fmod" returns="_483" context="_2" mangled="_ZSt4fmodee" demangled="std::fmod(long double, long double)" location="f77:261" file="f77" line="261" endline="261" inline="1">
+    <Argument name="__x" type="_483" location="f77:261" file="f77" line="261"/>
+    <Argument name="__y" type="_483" location="f77:261" file="f77" line="261"/>
+  </Function>
+  <Function id="_1923" name="fmod" returns="_2751" context="_2" mangled="_ZSt4fmodff" demangled="std::fmod(float, float)" location="f77:257" file="f77" line="257" endline="257" inline="1">
+    <Argument name="__x" type="_2751" location="f77:257" file="f77" line="257"/>
+    <Argument name="__y" type="_2751" location="f77:257" file="f77" line="257"/>
+  </Function>
+  <Function id="_1924" name="floor" returns="_483" context="_2" mangled="_ZSt5floore" demangled="std::floor(long double)" location="f77:246" file="f77" line="246" endline="246" inline="1">
+    <Argument name="__x" type="_483" location="f77:246" file="f77" line="246"/>
+  </Function>
+  <Function id="_1925" name="floor" returns="_2751" context="_2" mangled="_ZSt5floorf" demangled="std::floor(float)" location="f77:242" file="f77" line="242" endline="242" inline="1">
+    <Argument name="__x" type="_2751" location="f77:242" file="f77" line="242"/>
+  </Function>
+  <Function id="_1926" name="fabs" returns="_483" context="_2" mangled="_ZSt4fabse" demangled="std::fabs(long double)" location="f77:231" file="f77" line="231" endline="231" inline="1">
+    <Argument name="__x" type="_483" location="f77:231" file="f77" line="231"/>
+  </Function>
+  <Function id="_1927" name="fabs" returns="_2751" context="_2" mangled="_ZSt4fabsf" demangled="std::fabs(float)" location="f77:227" file="f77" line="227" endline="227" inline="1">
+    <Argument name="__x" type="_2751" location="f77:227" file="f77" line="227"/>
+  </Function>
+  <Function id="_1928" name="exp" returns="_483" context="_2" mangled="_ZSt3expe" demangled="std::exp(long double)" location="f77:216" file="f77" line="216" endline="216" inline="1">
+    <Argument name="__x" type="_483" location="f77:216" file="f77" line="216"/>
+  </Function>
+  <Function id="_1929" name="exp" returns="_2751" context="_2" mangled="_ZSt3expf" demangled="std::exp(float)" location="f77:212" file="f77" line="212" endline="212" inline="1">
+    <Argument name="__x" type="_2751" location="f77:212" file="f77" line="212"/>
+  </Function>
+  <Function id="_1930" name="cosh" returns="_483" context="_2" mangled="_ZSt4coshe" demangled="std::cosh(long double)" location="f77:201" file="f77" line="201" endline="201" inline="1">
+    <Argument name="__x" type="_483" location="f77:201" file="f77" line="201"/>
+  </Function>
+  <Function id="_1931" name="cosh" returns="_2751" context="_2" mangled="_ZSt4coshf" demangled="std::cosh(float)" location="f77:197" file="f77" line="197" endline="197" inline="1">
+    <Argument name="__x" type="_2751" location="f77:197" file="f77" line="197"/>
+  </Function>
+  <Function id="_1932" name="cos" returns="_483" context="_2" mangled="_ZSt3cose" demangled="std::cos(long double)" location="f77:186" file="f77" line="186" endline="186" inline="1">
+    <Argument name="__x" type="_483" location="f77:186" file="f77" line="186"/>
+  </Function>
+  <Function id="_1933" name="cos" returns="_2751" context="_2" mangled="_ZSt3cosf" demangled="std::cos(float)" location="f77:182" file="f77" line="182" endline="182" inline="1">
+    <Argument name="__x" type="_2751" location="f77:182" file="f77" line="182"/>
+  </Function>
+  <Function id="_1934" name="ceil" returns="_483" context="_2" mangled="_ZSt4ceile" demangled="std::ceil(long double)" location="f77:171" file="f77" line="171" endline="171" inline="1">
+    <Argument name="__x" type="_483" location="f77:171" file="f77" line="171"/>
+  </Function>
+  <Function id="_1935" name="ceil" returns="_2751" context="_2" mangled="_ZSt4ceilf" demangled="std::ceil(float)" location="f77:167" file="f77" line="167" endline="167" inline="1">
+    <Argument name="__x" type="_2751" location="f77:167" file="f77" line="167"/>
+  </Function>
+  <Function id="_1936" name="atan2" returns="_483" context="_2" mangled="_ZSt5atan2ee" demangled="std::atan2(long double, long double)" location="f77:155" file="f77" line="155" endline="155" inline="1">
+    <Argument name="__y" type="_483" location="f77:155" file="f77" line="155"/>
+    <Argument name="__x" type="_483" location="f77:155" file="f77" line="155"/>
+  </Function>
+  <Function id="_1937" name="atan2" returns="_2751" context="_2" mangled="_ZSt5atan2ff" demangled="std::atan2(float, float)" location="f77:151" file="f77" line="151" endline="151" inline="1">
+    <Argument name="__y" type="_2751" location="f77:151" file="f77" line="151"/>
+    <Argument name="__x" type="_2751" location="f77:151" file="f77" line="151"/>
+  </Function>
+  <Function id="_1938" name="atan" returns="_483" context="_2" mangled="_ZSt4atane" demangled="std::atan(long double)" location="f77:140" file="f77" line="140" endline="140" inline="1">
+    <Argument name="__x" type="_483" location="f77:140" file="f77" line="140"/>
+  </Function>
+  <Function id="_1939" name="atan" returns="_2751" context="_2" mangled="_ZSt4atanf" demangled="std::atan(float)" location="f77:136" file="f77" line="136" endline="136" inline="1">
+    <Argument name="__x" type="_2751" location="f77:136" file="f77" line="136"/>
+  </Function>
+  <Function id="_1940" name="asin" returns="_483" context="_2" mangled="_ZSt4asine" demangled="std::asin(long double)" location="f77:125" file="f77" line="125" endline="125" inline="1">
+    <Argument name="__x" type="_483" location="f77:125" file="f77" line="125"/>
+  </Function>
+  <Function id="_1941" name="asin" returns="_2751" context="_2" mangled="_ZSt4asinf" demangled="std::asin(float)" location="f77:121" file="f77" line="121" endline="121" inline="1">
+    <Argument name="__x" type="_2751" location="f77:121" file="f77" line="121"/>
+  </Function>
+  <Function id="_1942" name="acos" returns="_483" context="_2" mangled="_ZSt4acose" demangled="std::acos(long double)" location="f77:108" file="f77" line="108" endline="108" inline="1">
+    <Argument name="__x" type="_483" location="f77:108" file="f77" line="108"/>
+  </Function>
+  <Function id="_1943" name="acos" returns="_2751" context="_2" mangled="_ZSt4acosf" demangled="std::acos(float)" location="f77:104" file="f77" line="104" endline="104" inline="1">
+    <Argument name="__x" type="_2751" location="f77:104" file="f77" line="104"/>
+  </Function>
+  <Function id="_1944" name="abs" returns="_483" context="_2" mangled="_ZSt3abse" demangled="std::abs(long double)" location="f77:98" file="f77" line="98" endline="98" inline="1">
+    <Argument name="__x" type="_483" location="f77:98" file="f77" line="98"/>
+  </Function>
+  <Function id="_1945" name="abs" returns="_2751" context="_2" mangled="_ZSt3absf" demangled="std::abs(float)" location="f77:94" file="f77" line="94" endline="94" inline="1">
+    <Argument name="__x" type="_2751" location="f77:94" file="f77" line="94"/>
+  </Function>
+  <Function id="_1946" name="abs" returns="_2753" context="_2" mangled="_ZSt3absd" demangled="std::abs(double)" location="f77:90" file="f77" line="90" endline="90" inline="1">
+    <Argument name="__x" type="_2753" location="f77:90" file="f77" line="90"/>
+  </Function>
+  <OperatorFunction id="_1947" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, std::_Setw)" location="f78:260" file="f78" line="260" endline="262" extern="1" inline="1">
+    <Argument name="__os" type="_3923" location="f78:260" file="f78" line="260"/>
+    <Argument name="__f" type="_1952" location="f78:260" file="f78" line="260"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1948" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setw)" location="f78:260" file="f78" line="260" endline="262" extern="1" inline="1">
+    <Argument name="__os" type="_3924" location="f78:260" file="f78" line="260"/>
+    <Argument name="__f" type="_1952" location="f78:260" file="f78" line="260"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1949" name=">>" returns="_3925" context="_2" mangled="_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::operator>><wchar_t, std::char_traits<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, std::_Setw)" location="f78:252" file="f78" line="252" extern="1" inline="1">
+    <Argument name="__is" type="_3925" location="f78:252" file="f78" line="252"/>
+    <Argument name="__f" type="_1952" location="f78:252" file="f78" line="252"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1950" name=">>" returns="_3926" context="_2" mangled="_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, std::_Setw)" location="f78:252" file="f78" line="252" extern="1" inline="1">
+    <Argument name="__is" type="_3926" location="f78:252" file="f78" line="252"/>
+    <Argument name="__f" type="_1952" location="f78:252" file="f78" line="252"/>
+  </OperatorFunction>
+  <Function id="_1951" name="setw" returns="_1952" context="_2" mangled="_ZSt4setwi" demangled="std::setw(int)" location="f78:243" file="f78" line="243" endline="247" inline="1">
+    <Argument name="__n" type="_503" location="f78:243" file="f78" line="243"/>
+  </Function>
+  <Struct id="_1952" name="_Setw" context="_2" mangled="St5_Setw" demangled="std::_Setw" location="f78:232" file="f78" line="232" artificial="1" size="32" align="32" members="_3927 _3928 _3929 " bases=""/>
+  <OperatorFunction id="_1953" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, std::_Setprecision)" location="f78:226" file="f78" line="226" extern="1" inline="1">
+    <Argument name="__os" type="_3923" location="f78:226" file="f78" line="226"/>
+    <Argument name="__f" type="_1958" location="f78:226" file="f78" line="226"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1954" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setprecision)" location="f78:226" file="f78" line="226" extern="1" inline="1">
+    <Argument name="__os" type="_3924" location="f78:226" file="f78" line="226"/>
+    <Argument name="__f" type="_1958" location="f78:226" file="f78" line="226"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1955" name=">>" returns="_3925" context="_2" mangled="_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::operator>><wchar_t, std::char_traits<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, std::_Setprecision)" location="f78:218" file="f78" line="218" extern="1" inline="1">
+    <Argument name="__is" type="_3925" location="f78:218" file="f78" line="218"/>
+    <Argument name="__f" type="_1958" location="f78:218" file="f78" line="218"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1956" name=">>" returns="_3926" context="_2" mangled="_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, std::_Setprecision)" location="f78:218" file="f78" line="218" extern="1" inline="1">
+    <Argument name="__is" type="_3926" location="f78:218" file="f78" line="218"/>
+    <Argument name="__f" type="_1958" location="f78:218" file="f78" line="218"/>
+  </OperatorFunction>
+  <Function id="_1957" name="setprecision" returns="_1958" context="_2" mangled="_ZSt12setprecisioni" demangled="std::setprecision(int)" location="f78:209" file="f78" line="209" endline="213" inline="1">
+    <Argument name="__n" type="_503" location="f78:209" file="f78" line="209"/>
+  </Function>
+  <Struct id="_1958" name="_Setprecision" context="_2" mangled="St13_Setprecision" demangled="std::_Setprecision" location="f78:198" file="f78" line="198" artificial="1" size="32" align="32" members="_3930 _3931 _3932 " bases=""/>
+  <OperatorFunction id="_1959" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, std::_Setfill<wchar_t>)" location="f78:192" file="f78" line="192" endline="194" extern="1" inline="1">
+    <Argument name="__os" type="_3923" location="f78:192" file="f78" line="192"/>
+    <Argument name="__f" type="_1965" location="f78:192" file="f78" line="192"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1960" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setfill<char>)" location="f78:192" file="f78" line="192" endline="194" extern="1" inline="1">
+    <Argument name="__os" type="_3924" location="f78:192" file="f78" line="192"/>
+    <Argument name="__f" type="_1966" location="f78:192" file="f78" line="192"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1961" name=">>" returns="_3925" context="_2" mangled="_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::operator>><wchar_t, std::char_traits<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, std::_Setfill<wchar_t>)" location="f78:184" file="f78" line="184" extern="1" inline="1">
+    <Argument name="__is" type="_3925" location="f78:184" file="f78" line="184"/>
+    <Argument name="__f" type="_1965" location="f78:184" file="f78" line="184"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1962" name=">>" returns="_3926" context="_2" mangled="_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, std::_Setfill<char>)" location="f78:184" file="f78" line="184" extern="1" inline="1">
+    <Argument name="__is" type="_3926" location="f78:184" file="f78" line="184"/>
+    <Argument name="__f" type="_1966" location="f78:184" file="f78" line="184"/>
+  </OperatorFunction>
+  <Function id="_1963" name="setfill" returns="_1965" context="_2" mangled="_ZSt7setfillIwESt8_SetfillIT_ES1_" demangled="std::_Setfill<wchar_t> std::setfill<wchar_t>(wchar_t)" location="f78:175" file="f78" line="175" endline="178" inline="1">
+    <Argument name="__c" type="_2786" location="f78:175" file="f78" line="175"/>
+  </Function>
+  <Function id="_1964" name="setfill" returns="_1966" context="_2" mangled="_ZSt7setfillIcESt8_SetfillIT_ES1_" demangled="std::_Setfill<char> std::setfill<char>(char)" location="f78:175" file="f78" line="175" endline="178" inline="1">
+    <Argument name="__c" type="_2961" location="f78:175" file="f78" line="175"/>
+  </Function>
+  <Struct id="_1965" name="_Setfill<wchar_t>" context="_2" mangled="St8_SetfillIwE" demangled="std::_Setfill<wchar_t>" location="f78:163" file="f78" line="163" artificial="1" size="32" align="32" members="_3933 _3934 _3935 " bases=""/>
+  <Struct id="_1966" name="_Setfill<char>" context="_2" mangled="St8_SetfillIcE" demangled="std::_Setfill<char>" location="f78:163" file="f78" line="163" artificial="1" size="8" align="8" members="_3936 _3937 _3938 " bases=""/>
+  <OperatorFunction id="_1967" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, std::_Setbase)" location="f78:153" file="f78" line="153" extern="1" inline="1">
+    <Argument name="__os" type="_3923" location="f78:153" file="f78" line="153"/>
+    <Argument name="__f" type="_1972" location="f78:153" file="f78" line="153"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1968" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setbase)" location="f78:153" file="f78" line="153" extern="1" inline="1">
+    <Argument name="__os" type="_3924" location="f78:153" file="f78" line="153"/>
+    <Argument name="__f" type="_1972" location="f78:153" file="f78" line="153"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1969" name=">>" returns="_3925" context="_2" mangled="_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::operator>><wchar_t, std::char_traits<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, std::_Setbase)" location="f78:142" file="f78" line="142" extern="1" inline="1">
+    <Argument name="__is" type="_3925" location="f78:142" file="f78" line="142"/>
+    <Argument name="__f" type="_1972" location="f78:142" file="f78" line="142"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1970" name=">>" returns="_3926" context="_2" mangled="_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, std::_Setbase)" location="f78:142" file="f78" line="142" extern="1" inline="1">
+    <Argument name="__is" type="_3926" location="f78:142" file="f78" line="142"/>
+    <Argument name="__f" type="_1972" location="f78:142" file="f78" line="142"/>
+  </OperatorFunction>
+  <Function id="_1971" name="setbase" returns="_1972" context="_2" mangled="_ZSt7setbasei" demangled="std::setbase(int)" location="f78:133" file="f78" line="133" endline="137" inline="1">
+    <Argument name="__base" type="_503" location="f78:133" file="f78" line="133"/>
+  </Function>
+  <Struct id="_1972" name="_Setbase" context="_2" mangled="St8_Setbase" demangled="std::_Setbase" location="f78:121" file="f78" line="121" artificial="1" size="32" align="32" members="_3939 _3940 _3941 " bases=""/>
+  <OperatorFunction id="_1973" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, std::_Setiosflags)" location="f78:115" file="f78" line="115" extern="1" inline="1">
+    <Argument name="__os" type="_3923" location="f78:115" file="f78" line="115"/>
+    <Argument name="__f" type="_1978" location="f78:115" file="f78" line="115"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1974" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setiosflags)" location="f78:115" file="f78" line="115" extern="1" inline="1">
+    <Argument name="__os" type="_3924" location="f78:115" file="f78" line="115"/>
+    <Argument name="__f" type="_1978" location="f78:115" file="f78" line="115"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1975" name=">>" returns="_3925" context="_2" mangled="_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::operator>><wchar_t, std::char_traits<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, std::_Setiosflags)" location="f78:107" file="f78" line="107" extern="1" inline="1">
+    <Argument name="__is" type="_3925" location="f78:107" file="f78" line="107"/>
+    <Argument name="__f" type="_1978" location="f78:107" file="f78" line="107"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1976" name=">>" returns="_3926" context="_2" mangled="_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, std::_Setiosflags)" location="f78:107" file="f78" line="107" extern="1" inline="1">
+    <Argument name="__is" type="_3926" location="f78:107" file="f78" line="107"/>
+    <Argument name="__f" type="_1978" location="f78:107" file="f78" line="107"/>
+  </OperatorFunction>
+  <Function id="_1977" name="setiosflags" returns="_1978" context="_2" mangled="_ZSt11setiosflagsSt13_Ios_Fmtflags" demangled="std::setiosflags(std::_Ios_Fmtflags)" location="f78:98" file="f78" line="98" endline="102" inline="1">
+    <Argument name="__mask" type="_2145" location="f78:98" file="f78" line="98"/>
+  </Function>
+  <Struct id="_1978" name="_Setiosflags" context="_2" mangled="St12_Setiosflags" demangled="std::_Setiosflags" location="f78:87" file="f78" line="87" artificial="1" size="32" align="32" members="_3942 _3943 _3944 " bases=""/>
+  <OperatorFunction id="_1979" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, std::_Resetiosflags)" location="f78:81" file="f78" line="81" extern="1" inline="1">
+    <Argument name="__os" type="_3923" location="f78:81" file="f78" line="81"/>
+    <Argument name="__f" type="_1984" location="f78:81" file="f78" line="81"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1980" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Resetiosflags)" location="f78:81" file="f78" line="81" extern="1" inline="1">
+    <Argument name="__os" type="_3924" location="f78:81" file="f78" line="81"/>
+    <Argument name="__f" type="_1984" location="f78:81" file="f78" line="81"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1981" name=">>" returns="_3925" context="_2" mangled="_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::operator>><wchar_t, std::char_traits<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, std::_Resetiosflags)" location="f78:73" file="f78" line="73" extern="1" inline="1">
+    <Argument name="__is" type="_3925" location="f78:73" file="f78" line="73"/>
+    <Argument name="__f" type="_1984" location="f78:73" file="f78" line="73"/>
+  </OperatorFunction>
+  <OperatorFunction id="_1982" name=">>" returns="_3926" context="_2" mangled="_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, std::_Resetiosflags)" location="f78:73" file="f78" line="73" extern="1" inline="1">
+    <Argument name="__is" type="_3926" location="f78:73" file="f78" line="73"/>
+    <Argument name="__f" type="_1984" location="f78:73" file="f78" line="73"/>
+  </OperatorFunction>
+  <Function id="_1983" name="resetiosflags" returns="_1984" context="_2" mangled="_ZSt13resetiosflagsSt13_Ios_Fmtflags" demangled="std::resetiosflags(std::_Ios_Fmtflags)" location="f78:64" file="f78" line="64" endline="68" inline="1">
+    <Argument name="__mask" type="_2145" location="f78:64" file="f78" line="64"/>
+  </Function>
+  <Struct id="_1984" name="_Resetiosflags" context="_2" mangled="St14_Resetiosflags" demangled="std::_Resetiosflags" location="f78:53" file="f78" line="53" artificial="1" size="32" align="32" members="_3945 _3946 _3947 " bases=""/>
+  <OperatorFunction id="_1985" name="+" returns="_1986" context="_2" mangled="_ZStpliRKSt19_Bit_const_iterator" demangled="std::operator+(int, std::_Bit_const_iterator const&)" location="f79:354" file="f79" line="354" endline="354" inline="1">
+    <Argument name="__n" type="_1699" location="f79:354" file="f79" line="354"/>
+    <Argument name="__x" type="_3948" location="f79:354" file="f79" line="354"/>
+  </OperatorFunction>
+  <Struct id="_1986" name="_Bit_const_iterator" context="_2" mangled="St19_Bit_const_iterator" demangled="std::_Bit_const_iterator" location="f79:271" file="f79" line="271" artificial="1" size="64" align="32" members="_3950 _3951 _3953 _3954 _3955 _3956 _3957 _3958 _3959 _3960 _3961 _3962 _3963 _3964 _3965 _3966 _3967 " bases="_1990 ">
+    <Base type="_1990" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <OperatorFunction id="_1987" name="+" returns="_1988" context="_2" mangled="_ZStpliRKSt13_Bit_iterator" demangled="std::operator+(int, std::_Bit_iterator const&)" location="f79:268" file="f79" line="268" endline="268" inline="1">
+    <Argument name="__n" type="_1699" location="f79:268" file="f79" line="268"/>
+    <Argument name="__x" type="_3968" location="f79:268" file="f79" line="268"/>
+  </OperatorFunction>
+  <Struct id="_1988" name="_Bit_iterator" context="_2" mangled="St13_Bit_iterator" demangled="std::_Bit_iterator" location="f79:189" file="f79" line="189" artificial="1" size="64" align="32" members="_3969 _3971 _3972 _3973 _3974 _3975 _3976 _3977 _3978 _3979 _3980 _3981 _3982 _3983 _3984 " bases="_1990 ">
+    <Base type="_1990" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <OperatorFunction id="_1989" name="-" returns="_1699" context="_2" mangled="_ZStmiRKSt18_Bit_iterator_baseS1_" demangled="std::operator-(std::_Bit_iterator_base const&, std::_Bit_iterator_base const&)" location="f79:183" file="f79" line="183" endline="186" inline="1">
+    <Argument name="__x" type="_3985" location="f79:183" file="f79" line="183"/>
+    <Argument name="__y" type="_3985" location="f79:183" file="f79" line="183"/>
+  </OperatorFunction>
+  <Struct id="_1990" name="_Bit_iterator_base" context="_2" mangled="St18_Bit_iterator_base" demangled="std::_Bit_iterator_base" location="f79:111" file="f79" line="111" artificial="1" size="64" align="32" members="_3986 _3987 _3988 _3989 _3990 _3991 _3992 _3993 _3994 _3995 _3996 _3997 _3998 " bases="_2699 ">
+    <Base type="_2699" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_1991" name="_Bit_reference" context="_2" mangled="St14_Bit_reference" demangled="std::_Bit_reference" location="f79:70" file="f79" line="70" artificial="1" size="64" align="32" members="_3999 _4000 _4001 _4002 _4003 _4004 _4005 _4006 _4007 _4008 _4009 " bases=""/>
+  <Enumeration id="_1992" name="._103" context="_2" location="f79:67" file="f79" line="67" artificial="1" size="32" align="32">
+    <EnumValue name="_S_word_bit" init="32"/>
+  </Enumeration>
+  <Typedef id="_1993" name="_Bit_type" type="_643" context="_2" location="f79:66" file="f79" line="66"/>
+  <Class id="_1994" name="vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St6vectorISsSaISsEE" demangled="std::vector<std::string, std::allocator<std::string> >" location="f80:159" file="f80" line="159" artificial="1" size="96" align="32" members="_4010 _4011 _4012 _4013 _4015 _4017 _4019 [...]
+    <Base type="_1996" access="protected" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_1995" name="vector<int,std::allocator<int> >" context="_2" mangled="St6vectorIiSaIiEE" demangled="std::vector<int, std::allocator<int> >" location="f80:159" file="f80" line="159" artificial="1" size="96" align="32" members="_4071 _4072 _4073 _4074 _4075 _4077 _4079 _4081 _4082 _4083 _4084 _4085 _4086 _4087 _4088 _4089 _4090 _4091 _4092 _4093 _4094 _4095 _4096 _4097 _4098 _4099 _4100 _4101 _4102 _4103 _4104 _4105 _4106 _4107 _4108 _4109 _4110 _4111 _4 [...]
+    <Base type="_1997" access="protected" virtual="0" offset="0"/>
+  </Class>
+  <Struct id="_1996" name="_Vector_base<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St12_Vector_baseISsSaISsEE" demangled="std::_Vector_base<std::string, std::allocator<std::string> >" location="f80:77" file="f80" line="77" artificial="1" size="96" align="32" members="_4131 _4132 _4133 _4134 [...]
+  <Struct id="_1997" name="_Vector_base<int,std::allocator<int> >" context="_2" mangled="St12_Vector_baseIiSaIiEE" demangled="std::_Vector_base<int, std::allocator<int> >" location="f80:77" file="f80" line="77" artificial="1" size="96" align="32" members="_4144 _4145 _4146 _4147 _4148 _4149 _4150 _4151 _4152 _4153 _4154 _4155 _4156 " bases=""/>
+  <Class id="_1998" name="deque<char,std::allocator<char> >" context="_2" mangled="St5dequeIcSaIcEE" demangled="std::deque<char, std::allocator<char> >" location="f81:613" file="f81" line="613" artificial="1" size="320" align="32" members="_4157 _4158 _4159 _4160 _4161 _4162 _4164 _4166 _4167 _4168 _4169 _4170 _4171 _4172 _4173 _4174 _4175 _4176 _4177 _4178 _4179 _4180 _4181 _4182 _4183 _4184 _4185 _4186 _4187 _4188 _4189 _4190 _4191 _4192 _4193 _4194 _4195 _4196  [...]
+    <Base type="_1999" access="protected" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_1999" name="_Deque_base<char,std::allocator<char> >" context="_2" mangled="St11_Deque_baseIcSaIcEE" demangled="std::_Deque_base<char, std::allocator<char> >" location="f81:355" file="f81" line="355" artificial="1" size="320" align="32" members="_4230 _4231 _4232 _4233 _4234 _4235 _4236 _4237 _4238 _4239 _4240 _4241 _4242 _4243 _4244 _4245 _4246 _4247 _4248 _4249 _4250 _4251 _4252 " bases=""/>
+  <OperatorFunction id="_2000" name="-" returns="_1699" context="_2" mangled="_ZStmiIcRcPcS0_S1_ENSt15_Deque_iteratorIT_T0_T1_E15difference_typeERKS6_RKS2_IS3_T2_T3_E" demangled="std::_Deque_iterator<char, char&, char*>::difference_type std::operator-<char, char&, char*, char&, char*>(std::_Deque_iterator<char, char&, char*> const&, std::_Deque_iterator<char, char&, char*> const&)" location="f81:329" file="f81" line="329" endline="330"  [...]
+    <Argument name="__x" type="_4253" location="f81:329" file="f81" line="329"/>
+    <Argument name="__y" type="_4253" location="f81:329" file="f81" line="329"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2001" name="!=" returns="_3949" context="_2" mangled="_ZStneIcRcPcS0_S1_EbRKSt15_Deque_iteratorIT_T0_T1_ERKS2_IS3_T2_T3_E" demangled="bool std::operator!=<char, char&, char*, char&, char*>(std::_Deque_iterator<char, char&, char*> const&, std::_Deque_iterator<char, char&, char*> const&)" location="f81:264" file="f81" line="264" extern="1" inline="1">
+    <Argument name="__x" type="_4253" location="f81:264" file="f81" line="264"/>
+    <Argument name="__y" type="_4253" location="f81:264" file="f81" line="264"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2002" name="!=" returns="_3949" context="_2" mangled="_ZStneIcRcPcEbRKSt15_Deque_iteratorIT_T0_T1_ES8_" demangled="bool std::operator!=<char, char&, char*>(std::_Deque_iterator<char, char&, char*> const&, std::_Deque_iterator<char, char&, char*> const&)" location="f81:257" file="f81" line="257" endline="257" inline="1">
+    <Argument name="__x" type="_4253" location="f81:257" file="f81" line="257"/>
+    <Argument name="__y" type="_4253" location="f81:257" file="f81" line="257"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2003" name="==" returns="_3949" context="_2" mangled="_ZSteqIcRcPcS0_S1_EbRKSt15_Deque_iteratorIT_T0_T1_ERKS2_IS3_T2_T3_E" demangled="bool std::operator==<char, char&, char*, char&, char*>(std::_Deque_iterator<char, char&, char*> const&, std::_Deque_iterator<char, char&, char*> const&)" location="f81:251" file="f81" line="251" extern="1" inline="1">
+    <Argument name="__x" type="_4253" location="f81:251" file="f81" line="251"/>
+    <Argument name="__y" type="_4253" location="f81:251" file="f81" line="251"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2004" name="==" returns="_3949" context="_2" mangled="_ZSteqIcRcPcEbRKSt15_Deque_iteratorIT_T0_T1_ES8_" demangled="bool std::operator==<char, char&, char*>(std::_Deque_iterator<char, char&, char*> const&, std::_Deque_iterator<char, char&, char*> const&)" location="f81:244" file="f81" line="244" endline="244" inline="1">
+    <Argument name="__x" type="_4253" location="f81:244" file="f81" line="244"/>
+    <Argument name="__y" type="_4253" location="f81:244" file="f81" line="244"/>
+  </OperatorFunction>
+  <Struct id="_2005" name="_Deque_iterator<char,char&,char*>" context="_2" mangled="St15_Deque_iteratorIcRcPcE" demangled="std::_Deque_iterator<char, char&, char*>" location="f81:102" file="f81" line="102" artificial="1" size="128" align="32" members="_4254 _4255 _4256 _4257 _4258 _4259 _4260 _4261 _4262 _4263 _4264 _4265 _4266 _4267 _4268 _4269 _4270 _4271 _4272 _4273 _4274 _4275 _4276 _4277 _4278 _4279 _4280 _4281 " bases=""/>
+  <Struct id="_2006" name="_Deque_iterator<char,const char&,const char*>" context="_2" incomplete="1" mangled="St15_Deque_iteratorIcRKcPS0_E" demangled="std::_Deque_iterator<char, char const&, char const*>" location="f81:102" file="f81" line="102" artificial="1" align="8"/>
+  <Function id="_2007" name="__deque_buf_size" returns="_1698" context="_2" mangled="_ZSt16__deque_buf_sizej" demangled="std::__deque_buf_size(unsigned)" location="f81:84" file="f81" line="84" endline="84" inline="1">
+    <Argument name="__size" type="_1698" location="f81:84" file="f81" line="84"/>
+  </Function>
+  <Variable id="_2008" name="__ioinit" type="_4282" context="_2" mangled="_ZSt8__ioinit" demangled="std::__ioinit" location="f82:76" file="f82" line="76"/>
+  <Variable id="_2009" name="wclog" type="_2444" context="_2" mangled="_ZSt5wclog" demangled="std::wclog" location="f82:71" file="f82" line="71" extern="1"/>
+  <Variable id="_2010" name="wcerr" type="_2444" context="_2" mangled="_ZSt5wcerr" demangled="std::wcerr" location="f82:70" file="f82" line="70" extern="1"/>
+  <Variable id="_2011" name="wcout" type="_2444" context="_2" mangled="_ZSt5wcout" demangled="std::wcout" location="f82:69" file="f82" line="69" extern="1"/>
+  <Variable id="_2012" name="wcin" type="_2446" context="_2" mangled="_ZSt4wcin" demangled="std::wcin" location="f82:68" file="f82" line="68" extern="1"/>
+  <Variable id="_2013" name="clog" type="_2470" context="_2" mangled="_ZSt4clog" demangled="std::clog" location="f82:65" file="f82" line="65" extern="1"/>
+  <Variable id="_2014" name="cerr" type="_2470" context="_2" mangled="_ZSt4cerr" demangled="std::cerr" location="f82:64" file="f82" line="64" extern="1"/>
+  <Variable id="_2015" name="cout" type="_2470" context="_2" mangled="_ZSt4cout" demangled="std::cout" location="f82:63" file="f82" line="63" extern="1"/>
+  <Variable id="_2016" name="cin" type="_2472" context="_2" mangled="_ZSt3cin" demangled="std::cin" location="f82:62" file="f82" line="62" extern="1"/>
+  <Class id="_2017" name="map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,short unsigned int,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > >" context="_2" mangled="St3mapISstSt4lessISsESaISt4pairIKSstEEE" demangled="std::map& [...]
+  <Class id="_2018" name="map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time:: [...]
+  <Function id="_2019" name="_Rb_tree_black_count" returns="_837" context="_2" mangled="_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_" demangled="std::_Rb_tree_black_count(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*)" location="f84:1456" file="f84" line="1456" extern="1">
+    <Argument name="__node" type="_4407" location="f84:1456" file="f84" line="1456"/>
+    <Argument name="__root" type="_4407" location="f84:1456" file="f84" line="1456"/>
+  </Function>
+  <Class id="_2020" name="_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int>,std::_Select1st<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >,std::less<std::basic_string<char, std::char_traits<char>, std::al [...]
+  <Class id="_2021" name="_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >,std::_Select1st<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost [...]
+  <Struct id="_2022" name="_Rb_tree_impl<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,false>" context="_2020" access="protected" mangled="NSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb0EEE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string [...]
+    <Base type="_2517" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2023" name="_Rb_tree_impl<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,false>" context="_2021" access="protected" mangled="NSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13_Rb_tree_implISE_Lb0EEE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::tim [...]
+    <Base type="_2519" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Function id="_2024" name="_Rb_tree_rebalance_for_erase" returns="_4410" context="_2" mangled="_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_" demangled="std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)" location="f84:323" file="f84" line="323" extern="1">
+    <Argument name="__z" type="_4410c" location="f84:323" file="f84" line="323"/>
+    <Argument name="__header" type="_4614" location="f84:323" file="f84" line="323"/>
+  </Function>
+  <Function id="_2025" name="_Rb_tree_insert_and_rebalance" returns="_1194" context="_2" mangled="_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_" demangled="std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)" location="f84:319" file="f84" line="319" extern="1">
+    <Argument name="__insert_left" type="_3949c" location="f84:319" file="f84" line="319"/>
+    <Argument name="__x" type="_4410" location="f84:319" file="f84" line="319"/>
+    <Argument name="__p" type="_4410" location="f84:319" file="f84" line="319"/>
+    <Argument name="__header" type="_4614" location="f84:319" file="f84" line="319"/>
+  </Function>
+  <Function id="_2026" name="_Rb_tree_rotate_right" returns="_1194" context="_2" mangled="_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_" demangled="std::_Rb_tree_rotate_right(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*&)" location="f84:313" file="f84" line="313" extern="1">
+    <Argument name="__x" type="_4410c" location="f84:313" file="f84" line="313"/>
+    <Argument name="__root" type="_4616" location="f84:313" file="f84" line="313"/>
+  </Function>
+  <Function id="_2027" name="_Rb_tree_rotate_left" returns="_1194" context="_2" mangled="_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_" demangled="std::_Rb_tree_rotate_left(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*&)" location="f84:309" file="f84" line="309" extern="1">
+    <Argument name="__x" type="_4410c" location="f84:309" file="f84" line="309"/>
+    <Argument name="__root" type="_4616" location="f84:309" file="f84" line="309"/>
+  </Function>
+  <Struct id="_2028" name="_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >" context="_2" incomplete="1" mangled="St23_Rb_tree_const_iteratorISt4pairIKSstEE" demangled="std::_Rb_tree_const_iterator<std::pair<std::string const, unsigned short> >" location="f84:222" file="f84" line="222" artificial="1" align="8"/>
+  <Struct id="_2029" name="_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >" context="_2" incomplete="1" mangled="St23_Rb_tree_const_iteratorISt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEEE" demangled="std::_Rb_tree_const_iterator<std::pair<std::s [...]
+  <Struct id="_2030" name="_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >" context="_2" mangled="St17_Rb_tree_iteratorISt4pairIKSstEE" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >" location="f84:152" file="f84" line="152" artificial="1" size="32" align="32" members="_4617 _4618 _4619 _4620 _4621 _4622 _4623 _4624 _4625 _4626 _4627  [...]
+  <Struct id="_2031" name="_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >" context="_2" incomplete="1" mangled="St17_Rb_tree_iteratorISt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEEE" demangled="std::_Rb_tree_iterator<std::pair<std::string const, boost [...]
+  <Function id="_2032" name="_Rb_tree_decrement" returns="_4407" context="_2" mangled="_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree_decrement(std::_Rb_tree_node_base const*)" location="f84:148" file="f84" line="148" extern="1">
+    <Argument name="__x" type="_4407" location="f84:148" file="f84" line="148"/>
+  </Function>
+  <Function id="_2033" name="_Rb_tree_decrement" returns="_4410" context="_2" mangled="_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base" demangled="std::_Rb_tree_decrement(std::_Rb_tree_node_base*)" location="f84:145" file="f84" line="145" extern="1">
+    <Argument name="__x" type="_4410" location="f84:145" file="f84" line="145"/>
+  </Function>
+  <Function id="_2034" name="_Rb_tree_increment" returns="_4407" context="_2" mangled="_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree_increment(std::_Rb_tree_node_base const*)" location="f84:142" file="f84" line="142" extern="1">
+    <Argument name="__x" type="_4407" location="f84:142" file="f84" line="142"/>
+  </Function>
+  <Function id="_2035" name="_Rb_tree_increment" returns="_4410" context="_2" mangled="_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base" demangled="std::_Rb_tree_increment(std::_Rb_tree_node_base*)" location="f84:139" file="f84" line="139" extern="1">
+    <Argument name="__x" type="_4410" location="f84:139" file="f84" line="139"/>
+  </Function>
+  <Struct id="_2036" name="_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >" context="_2" mangled="St13_Rb_tree_nodeISt4pairIKSstEE" demangled="std::_Rb_tree_node<std::pair<std::string const, unsigned short> >" location="f84:133" file="f84" line="133" artificial="1" size="192" align="32" members="_4636 _4637 _4638 _4639 _4640 " bases="_2038 ">
+    <Base type="_2038" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2037" name="_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >" context="_2" incomplete="1" mangled="St13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEEE" demangled="std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr [...]
+  <Struct id="_2038" name="_Rb_tree_node_base" context="_2" mangled="St18_Rb_tree_node_base" demangled="std::_Rb_tree_node_base" location="f84:93" file="f84" line="93" artificial="1" size="128" align="32" members="_4641 _4642 _4643 _4644 _4645 _4646 _4647 _4648 _4649 _4650 _4651 _4652 " bases=""/>
+  <Enumeration id="_2039" name="_Rb_tree_color" context="_2" location="f84:90" file="f84" line="90" artificial="1" size="32" align="32">
+    <EnumValue name="_S_red" init="0"/>
+    <EnumValue name="_S_black" init="1"/>
+  </Enumeration>
+  <Class id="_2040" name="underflow_error" context="_2" mangled="St15underflow_error" demangled="std::underflow_error" location="f28:141" file="f28" line="141" artificial="1" size="64" align="32" members="_4653 _4654 _4655 " bases="_2043 ">
+    <Base type="_2043" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2041" name="overflow_error" context="_2" mangled="St14overflow_error" demangled="std::overflow_error" location="f28:134" file="f28" line="134" artificial="1" size="64" align="32" members="_4656 _4657 _4658 " bases="_2043 ">
+    <Base type="_2043" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2042" name="range_error" context="_2" mangled="St11range_error" demangled="std::range_error" location="f28:127" file="f28" line="127" artificial="1" size="64" align="32" members="_4659 _4660 _4661 " bases="_2043 ">
+    <Base type="_2043" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2043" name="runtime_error" context="_2" mangled="St13runtime_error" demangled="std::runtime_error" location="f28:108" file="f28" line="108" artificial="1" size="64" align="32" members="_4662 _4663 _4664 _4665 _4666 " bases="_2424 ">
+    <Base type="_2424" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2044" name="out_of_range" context="_2" mangled="St12out_of_range" demangled="std::out_of_range" location="f28:97" file="f28" line="97" artificial="1" size="64" align="32" members="_4667 _4668 _4669 " bases="_2048 ">
+    <Base type="_2048" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2045" name="length_error" context="_2" mangled="St12length_error" demangled="std::length_error" location="f28:89" file="f28" line="89" artificial="1" size="64" align="32" members="_4670 _4671 _4672 " bases="_2048 ">
+    <Base type="_2048" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2046" name="invalid_argument" context="_2" mangled="St16invalid_argument" demangled="std::invalid_argument" location="f28:81" file="f28" line="81" artificial="1" size="64" align="32" members="_4673 _4674 _4675 " bases="_2048 ">
+    <Base type="_2048" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2047" name="domain_error" context="_2" mangled="St12domain_error" demangled="std::domain_error" location="f28:74" file="f28" line="74" artificial="1" size="64" align="32" members="_4676 _4677 _4678 " bases="_2048 ">
+    <Base type="_2048" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2048" name="logic_error" context="_2" mangled="St11logic_error" demangled="std::logic_error" location="f28:54" file="f28" line="54" artificial="1" size="64" align="32" members="_4679 _4680 _4681 _4682 _4683 " bases="_2424 ">
+    <Base type="_2424" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Function id="_2049" name="ws" returns="_3925" context="_2" mangled="_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::ws<wchar_t, std::char_traits<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&)" location="f85:1107" file="f85" line="1107" extern="1">
+    <Argument name="__in" type="_3925" location="f85:1107" file="f85" line="1107"/>
+  </Function>
+  <Function id="_2050" name="ws" returns="_3926" context="_2" mangled="_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_" demangled="std::basic_istream<char, std::char_traits<char> >& std::ws<char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&)" location="f85:1107" file="f85" line="1107" extern="1">
+    <Argument name="__in" type="_3926" location="f85:1107" file="f85" line="1107"/>
+  </Function>
+  <OperatorFunction id="_2051" name=">>" returns="_3926" context="_2" mangled="_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, signed char*)" location="f86:740" file="f86" line="740" extern="1">
+    <Argument name="__in" type="_3926" location="f86:740" file="f86" line="740"/>
+    <Argument name="__s" type="_4684" location="f86:740" file="f86" line="740"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2052" name=">>" returns="_3926" context="_2" mangled="_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, unsigned char*)" location="f86:735" file="f86" line="735" extern="1">
+    <Argument name="__in" type="_3926" location="f86:735" file="f86" line="735"/>
+    <Argument name="__s" type="_4685" location="f86:735" file="f86" line="735"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2053" name=">>" returns="_3926" context="_2" mangled="_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, signed char&)" location="f86:694" file="f86" line="694" extern="1">
+    <Argument name="__in" type="_3926" location="f86:694" file="f86" line="694"/>
+    <Argument name="__c" type="_4686" location="f86:694" file="f86" line="694"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2054" name=">>" returns="_3926" context="_2" mangled="_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, unsigned char&)" location="f86:689" file="f86" line="689" extern="1">
+    <Argument name="__in" type="_3926" location="f86:689" file="f86" line="689"/>
+    <Argument name="__c" type="_4687" location="f86:689" file="f86" line="689"/>
+  </OperatorFunction>
+  <Struct id="_2055" name="__to_unsigned_type<long long int>" context="_2" mangled="St18__to_unsigned_typeIxE" demangled="std::__to_unsigned_type<long long>" location="f87:460" file="f87" line="460" artificial="1" size="8" align="8" members="_4688 _4689 _4690 " bases=""/>
+  <Struct id="_2056" name="__to_unsigned_type<long int>" context="_2" mangled="St18__to_unsigned_typeIlE" demangled="std::__to_unsigned_type<long>" location="f87:455" file="f87" line="455" artificial="1" size="8" align="8" members="_4691 _4692 _4693 " bases=""/>
+  <Function id="_2057" name="__verify_grouping" returns="_3949" context="_2" mangled="_ZSt17__verify_groupingPKcjRKSs" demangled="std::__verify_grouping(char const*, unsigned, std::string const&)" location="f87:2463" file="f87" line="2463" endline="2482">
+    <Argument name="__grouping" type="_2749" location="f87:2463" file="f87" line="2463"/>
+    <Argument name="__grouping_size" type="_1698" location="f87:2463" file="f87" line="2463"/>
+    <Argument name="__grouping_tmp" type="_4020" location="f87:2463" file="f87" line="2463"/>
+  </Function>
+  <Class id="_2058" name="bad_typeid" context="_2" mangled="St10bad_typeid" demangled="std::bad_typeid" location="f31:150" file="f31" line="150" artificial="1" size="32" align="32" members="_4694 _4695 _4696 " bases="_2424 ">
+    <Base type="_2424" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2059" name="bad_cast" context="_2" mangled="St8bad_cast" demangled="std::bad_cast" location="f31:140" file="f31" line="140" artificial="1" size="32" align="32" members="_4697 _4698 _4699 " bases="_2424 ">
+    <Base type="_2424" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Function id="_2060" name="flush" returns="_3923" context="_2" mangled="_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::flush<wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&)" location="f88:520" file="f88" line="520" extern="1">
+    <Argument name="__os" type="_3923" location="f88:520" file="f88" line="520"/>
+  </Function>
+  <Function id="_2061" name="flush" returns="_3924" context="_2" mangled="_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_" demangled="std::basic_ostream<char, std::char_traits<char> >& std::flush<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)" location="f88:520" file="f88" line="520" extern="1">
+    <Argument name="__os" type="_3924" location="f88:520" file="f88" line="520"/>
+  </Function>
+  <Function id="_2062" name="ends" returns="_3923" context="_2" mangled="_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::ends<wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&)" location="f88:510" file="f88" line="510" extern="1">
+    <Argument name="__os" type="_3923" location="f88:510" file="f88" line="510"/>
+  </Function>
+  <Function id="_2063" name="ends" returns="_3924" context="_2" mangled="_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_" demangled="std::basic_ostream<char, std::char_traits<char> >& std::ends<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)" location="f88:510" file="f88" line="510" extern="1">
+    <Argument name="__os" type="_3924" location="f88:510" file="f88" line="510"/>
+  </Function>
+  <Function id="_2064" name="endl" returns="_3923" context="_2" mangled="_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::endl<wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&)" location="f88:499" file="f88" line="499" extern="1">
+    <Argument name="__os" type="_3923" location="f88:499" file="f88" line="499"/>
+  </Function>
+  <Function id="_2065" name="endl" returns="_3924" context="_2" mangled="_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_" demangled="std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)" location="f88:499" file="f88" line="499" extern="1">
+    <Argument name="__os" type="_3924" location="f88:499" file="f88" line="499"/>
+  </Function>
+  <OperatorFunction id="_2066" name="<<" returns="_3924" context="_2" mangled="_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, unsigned char const*)" location="f88:484" file="f88" line="484" extern="1">
+    <Argument name="__out" type="_3924" location="f88:484" file="f88" line="484"/>
+    <Argument name="__s" type="_4700" location="f88:484" file="f88" line="484"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2067" name="<<" returns="_3924" context="_2" mangled="_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, signed char const*)" location="f88:479" file="f88" line="479" extern="1">
+    <Argument name="__out" type="_3924" location="f88:479" file="f88" line="479"/>
+    <Argument name="__s" type="_4701" location="f88:479" file="f88" line="479"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2068" name="<<" returns="_3924" context="_2" mangled="_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)" location="f89:736" file="f89" line="736" extern="1">
+    <Argument name="__out" type="_3924" location="f89:736" file="f89" line="736"/>
+    <Argument name="__s" type="_2749" location="f89:736" file="f89" line="736"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2069" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKc" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)" location="f89:691" file="f89" line="691" extern="1">
+    <Argument name="__out" type="_3924" location="f89:691" file="f89" line="691"/>
+    <Argument name="__s" type="_2749" location="f89:691" file="f89" line="691"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2070" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, char const*)" location="f89:691" file="f89" line="691" extern="1">
+    <Argument name="__out" type="_3923" location="f89:691" file="f89" line="691"/>
+    <Argument name="__s" type="_2749" location="f89:691" file="f89" line="691"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2071" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)" location="f89:658" file="f89" line="658" extern="1">
+    <Argument name="__out" type="_3924" location="f89:658" file="f89" line="658"/>
+    <Argument name="__s" type="_2749" location="f89:658" file="f89" line="658"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2072" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, wchar_t const*)" location="f89:658" file="f89" line="658" extern="1">
+    <Argument name="__out" type="_3923" location="f89:658" file="f89" line="658"/>
+    <Argument name="__s" type="_2780" location="f89:658" file="f89" line="658"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2073" name="<<" returns="_3924" context="_2" mangled="_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, unsigned char)" location="f88:445" file="f88" line="445" extern="1">
+    <Argument name="__out" type="_3924" location="f88:445" file="f88" line="445"/>
+    <Argument name="__c" type="_1296" location="f88:445" file="f88" line="445"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2074" name="<<" returns="_3924" context="_2" mangled="_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, signed char)" location="f88:440" file="f88" line="440" extern="1">
+    <Argument name="__out" type="_3924" location="f88:440" file="f88" line="440"/>
+    <Argument name="__c" type="_1301" location="f88:440" file="f88" line="440"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2075" name="<<" returns="_3924" context="_2" mangled="_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)" location="f89:629" file="f89" line="629" extern="1">
+    <Argument name="__out" type="_3924" location="f89:629" file="f89" line="629"/>
+    <Argument name="__c" type="_2961" location="f89:629" file="f89" line="629"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2076" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_c" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)" location="f88:429" file="f88" line="429" extern="1">
+    <Argument name="__out" type="_3924" location="f88:429" file="f88" line="429"/>
+    <Argument name="__c" type="_2961" location="f88:429" file="f88" line="429"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2077" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, char)" location="f88:429" file="f88" line="429" extern="1">
+    <Argument name="__out" type="_3923" location="f88:429" file="f88" line="429"/>
+    <Argument name="__c" type="_2961" location="f88:429" file="f88" line="429"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2078" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_S3_" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)" location="f89:598" file="f89" line="598" extern="1">
+    <Argument name="__out" type="_3924" location="f89:598" file="f89" line="598"/>
+    <Argument name="__c" type="_2961" location="f89:598" file="f89" line="598"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2079" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, wchar_t)" location="f89:598" file="f89" line="598" extern="1">
+    <Argument name="__out" type="_3923" location="f89:598" file="f89" line="598"/>
+    <Argument name="__c" type="_2786" location="f89:598" file="f89" line="598"/>
+  </OperatorFunction>
+  <Struct id="_2080" name="__moneypunct_cache<wchar_t,false>" context="_2" incomplete="1" mangled="St18__moneypunct_cacheIwLb0EE" demangled="std::__moneypunct_cache<wchar_t, false>" location="f29:3474" file="f29" line="3474" artificial="1" align="8"/>
+  <Struct id="_2081" name="__moneypunct_cache<wchar_t,true>" context="_2" incomplete="1" mangled="St18__moneypunct_cacheIwLb1EE" demangled="std::__moneypunct_cache<wchar_t, true>" location="f29:3474" file="f29" line="3474" artificial="1" align="8"/>
+  <Struct id="_2082" name="__moneypunct_cache<char,false>" context="_2" incomplete="1" mangled="St18__moneypunct_cacheIcLb0EE" demangled="std::__moneypunct_cache<char, false>" location="f29:3474" file="f29" line="3474" artificial="1" align="8"/>
+  <Struct id="_2083" name="__moneypunct_cache<char,true>" context="_2" incomplete="1" mangled="St18__moneypunct_cacheIcLb1EE" demangled="std::__moneypunct_cache<char, true>" location="f29:3474" file="f29" line="3474" artificial="1" align="8"/>
+  <Class id="_2084" name="__timepunct<wchar_t>" context="_2" mangled="St11__timepunctIwE" demangled="std::__timepunct<wchar_t>" location="f29:2800" file="f29" line="2800" artificial="1" size="160" align="32" members="_4702 _4703 _4704 _4705 _4706 _4707 _4708 _4709 _4710 _4711 _4712 _4713 _4714 _4715 _4716 _4717 _4718 _4719 _4720 _4721 _4722 _4723 _4724 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2085" name="__timepunct<char>" context="_2" mangled="St11__timepunctIcE" demangled="std::__timepunct<char>" location="f29:2800" file="f29" line="2800" artificial="1" size="160" align="32" members="_4726 _4727 _4728 _4729 _4730 _4731 _4732 _4733 _4734 _4735 _4736 _4737 _4738 _4739 _4740 _4741 _4742 _4743 _4744 _4745 _4746 _4747 _4748 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Struct id="_2086" name="__timepunct_cache<wchar_t>" context="_2" mangled="St17__timepunct_cacheIwE" demangled="std::__timepunct_cache<wchar_t>" location="f29:2682" file="f29" line="2682" artificial="1" size="1600" align="32" members="_4749 _4750 _4751 _4752 _4753 _4754 _4755 _4756 _4757 _4758 _4759 _4760 _4761 _4762 _4763 _4764 _4765 _4766 _4767 _4768 _4769 _4770 _4771 _4772 _4773 _4774 _4775 _4776 _4777 _4778 _4779 _4780 _4781 _4782 _4783 _4784 _4785 _4786 _4787 _4788 _47 [...]
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2087" name="__timepunct_cache<char>" context="_2" mangled="St17__timepunct_cacheIcE" demangled="std::__timepunct_cache<char>" location="f29:2682" file="f29" line="2682" artificial="1" size="1600" align="32" members="_4803 _4804 _4805 _4806 _4807 _4808 _4809 _4810 _4811 _4812 _4813 _4814 _4815 _4816 _4817 _4818 _4819 _4820 _4821 _4822 _4823 _4824 _4825 _4826 _4827 _4828 _4829 _4830 _4831 _4832 _4833 _4834 _4835 _4836 _4837 _4838 _4839 _4840 _4841 _4842 _4843 _48 [...]
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2088" name="__numpunct_cache<wchar_t>" context="_2" incomplete="1" mangled="St16__numpunct_cacheIwE" demangled="std::__numpunct_cache<wchar_t>" location="f29:1587" file="f29" line="1587" artificial="1" align="8"/>
+  <Struct id="_2089" name="__numpunct_cache<char>" context="_2" incomplete="1" mangled="St16__numpunct_cacheIcE" demangled="std::__numpunct_cache<char>" location="f29:1587" file="f29" line="1587" artificial="1" align="8"/>
+  <Class id="_2090" name="__num_base" context="_2" mangled="St10__num_base" demangled="std::__num_base" location="f29:1537" file="f29" line="1537" artificial="1" size="8" align="8" members="_4857 _4858 _4859 _4860 _4861 _4862 _4863 " bases=""/>
+  <Class id="_2091" name="__codecvt_abstract_base<wchar_t,char,__mbstate_t>" context="_2" abstract="1" mangled="St23__codecvt_abstract_baseIwc11__mbstate_tE" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>" location="f30:72" file="f30" line="72" artificial="1" size="64" align="32" members="_4865 _4866 _4867 _4868 _4869 _4870 _4871 _4872 _4873 _4874 _4875 _4876 _4877 _4878 _4879 _4880 _4881 _4882 _4883 _4884 _4885 " bases="_4725 _2358 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2358" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2092" name="__codecvt_abstract_base<char,char,__mbstate_t>" context="_2" abstract="1" mangled="St23__codecvt_abstract_baseIcc11__mbstate_tE" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>" location="f30:72" file="f30" line="72" artificial="1" size="64" align="32" members="_4886 _4887 _4888 _4889 _4890 _4891 _4892 _4893 _4894 _4895 _4896 _4897 _4898 _4899 _4900 _4901 _4902 _4903 _4904 _4905 _4906 " bases="_4725 _2358 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2358" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2093" name="__ctype_abstract_base<wchar_t>" context="_2" abstract="1" mangled="St21__ctype_abstract_baseIwE" demangled="std::__ctype_abstract_base<wchar_t>" location="f29:146" file="f29" line="146" artificial="1" size="64" align="32" members="_4907 _4908 _4909 _4910 _4911 _4912 _4913 _4914 _4915 _4916 _4917 _4918 _4919 _4920 _4921 _4922 _4923 _4924 _4925 _4926 _4927 _4928 _4929 _4930 _4931 _4932 _4933 _4934 " bases="_4725 _2363 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2363" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Function id="_2094" name="__convert_to_v" returns="_1194" context="_2" mangled="_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct" demangled="void std::__convert_to_v<long double>(char const*, long double&, std::_Ios_Iostate&, __locale_struct* const&)" location="f29:82" file="f29" line="82" extern="1">
+    <Argument type="_2749" location="f29:82" file="f29" line="82"/>
+    <Argument type="_4935" location="f29:82" file="f29" line="82"/>
+    <Argument type="_4936" location="f29:82" file="f29" line="82"/>
+    <Argument type="_4937" location="f29:82" file="f29" line="82"/>
+  </Function>
+  <Function id="_2095" name="__convert_to_v" returns="_1194" context="_2" mangled="_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct" demangled="void std::__convert_to_v<double>(char const*, double&, std::_Ios_Iostate&, __locale_struct* const&)" location="f29:77" file="f29" line="77" extern="1">
+    <Argument type="_2749" location="f29:77" file="f29" line="77"/>
+    <Argument type="_4938" location="f29:77" file="f29" line="77"/>
+    <Argument type="_4936" location="f29:77" file="f29" line="77"/>
+    <Argument type="_4937" location="f29:77" file="f29" line="77"/>
+  </Function>
+  <Function id="_2096" name="__convert_to_v" returns="_1194" context="_2" mangled="_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct" demangled="void std::__convert_to_v<float>(char const*, float&, std::_Ios_Iostate&, __locale_struct* const&)" location="f29:72" file="f29" line="72" extern="1">
+    <Argument type="_2749" location="f29:72" file="f29" line="72"/>
+    <Argument type="_4939" location="f29:72" file="f29" line="72"/>
+    <Argument type="_4936" location="f29:72" file="f29" line="72"/>
+    <Argument type="_4937" location="f29:72" file="f29" line="72"/>
+  </Function>
+  <Function id="_2097" name="__copy_streambufs" returns="_2499" context="_2" mangled="_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_" demangled="int std::__copy_streambufs<wchar_t, std::char_traits<wchar_t> >(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*, std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*)" location="f90:801" file="f90" line="801" extern="1">
+    <Argument name="__sbin" type="_4940" location="f90:801" file="f90" line="801"/>
+    <Argument name="__sbout" type="_4940" location="f90:801" file="f90" line="801"/>
+  </Function>
+  <Function id="_2098" name="__copy_streambufs" returns="_2499" context="_2" mangled="_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_" demangled="int std::__copy_streambufs<char, std::char_traits<char> >(std::basic_streambuf<char, std::char_traits<char> >*, std::basic_streambuf<char, std::char_traits<char> >*)" location="f90:796" file="f90" line="796" extern="1">
+    <Argument name="__sbin" type="_4941" location="f90:796" file="f90" line="796"/>
+    <Argument name="__sbout" type="_4941" location="f90:796" file="f90" line="796"/>
+  </Function>
+  <Function id="_2099" name="scientific" returns="_4942" context="_2" mangled="_ZSt10scientificRSt8ios_base" demangled="std::scientific(std::ios_base&)" location="f33:960" file="f33" line="960" endline="963" inline="1">
+    <Argument name="__base" type="_4942" location="f33:960" file="f33" line="960"/>
+  </Function>
+  <Function id="_2100" name="fixed" returns="_4942" context="_2" mangled="_ZSt5fixedRSt8ios_base" demangled="std::fixed(std::ios_base&)" location="f33:952" file="f33" line="952" endline="955" inline="1">
+    <Argument name="__base" type="_4942" location="f33:952" file="f33" line="952"/>
+  </Function>
+  <Function id="_2101" name="oct" returns="_4942" context="_2" mangled="_ZSt3octRSt8ios_base" demangled="std::oct(std::ios_base&)" location="f33:943" file="f33" line="943" endline="946" inline="1">
+    <Argument name="__base" type="_4942" location="f33:943" file="f33" line="943"/>
+  </Function>
+  <Function id="_2102" name="hex" returns="_4942" context="_2" mangled="_ZSt3hexRSt8ios_base" demangled="std::hex(std::ios_base&)" location="f33:935" file="f33" line="935" endline="938" inline="1">
+    <Argument name="__base" type="_4942" location="f33:935" file="f33" line="935"/>
+  </Function>
+  <Function id="_2103" name="dec" returns="_4942" context="_2" mangled="_ZSt3decRSt8ios_base" demangled="std::dec(std::ios_base&)" location="f33:927" file="f33" line="927" endline="930" inline="1">
+    <Argument name="__base" type="_4942" location="f33:927" file="f33" line="927"/>
+  </Function>
+  <Function id="_2104" name="right" returns="_4942" context="_2" mangled="_ZSt5rightRSt8ios_base" demangled="std::right(std::ios_base&)" location="f33:918" file="f33" line="918" endline="921" inline="1">
+    <Argument name="__base" type="_4942" location="f33:918" file="f33" line="918"/>
+  </Function>
+  <Function id="_2105" name="left" returns="_4942" context="_2" mangled="_ZSt4leftRSt8ios_base" demangled="std::left(std::ios_base&)" location="f33:910" file="f33" line="910" endline="913" inline="1">
+    <Argument name="__base" type="_4942" location="f33:910" file="f33" line="910"/>
+  </Function>
+  <Function id="_2106" name="internal" returns="_4942" context="_2" mangled="_ZSt8internalRSt8ios_base" demangled="std::internal(std::ios_base&)" location="f33:902" file="f33" line="902" endline="905" inline="1">
+    <Argument name="__base" type="_4942" location="f33:902" file="f33" line="902"/>
+  </Function>
+  <Function id="_2107" name="nounitbuf" returns="_4942" context="_2" mangled="_ZSt9nounitbufRSt8ios_base" demangled="std::nounitbuf(std::ios_base&)" location="f33:893" file="f33" line="893" endline="896" inline="1">
+    <Argument name="__base" type="_4942" location="f33:893" file="f33" line="893"/>
+  </Function>
+  <Function id="_2108" name="unitbuf" returns="_4942" context="_2" mangled="_ZSt7unitbufRSt8ios_base" demangled="std::unitbuf(std::ios_base&)" location="f33:885" file="f33" line="885" endline="888" inline="1">
+    <Argument name="__base" type="_4942" location="f33:885" file="f33" line="885"/>
+  </Function>
+  <Function id="_2109" name="nouppercase" returns="_4942" context="_2" mangled="_ZSt11nouppercaseRSt8ios_base" demangled="std::nouppercase(std::ios_base&)" location="f33:877" file="f33" line="877" endline="880" inline="1">
+    <Argument name="__base" type="_4942" location="f33:877" file="f33" line="877"/>
+  </Function>
+  <Function id="_2110" name="uppercase" returns="_4942" context="_2" mangled="_ZSt9uppercaseRSt8ios_base" demangled="std::uppercase(std::ios_base&)" location="f33:869" file="f33" line="869" endline="872" inline="1">
+    <Argument name="__base" type="_4942" location="f33:869" file="f33" line="869"/>
+  </Function>
+  <Function id="_2111" name="noskipws" returns="_4942" context="_2" mangled="_ZSt8noskipwsRSt8ios_base" demangled="std::noskipws(std::ios_base&)" location="f33:861" file="f33" line="861" endline="864" inline="1">
+    <Argument name="__base" type="_4942" location="f33:861" file="f33" line="861"/>
+  </Function>
+  <Function id="_2112" name="skipws" returns="_4942" context="_2" mangled="_ZSt6skipwsRSt8ios_base" demangled="std::skipws(std::ios_base&)" location="f33:853" file="f33" line="853" endline="856" inline="1">
+    <Argument name="__base" type="_4942" location="f33:853" file="f33" line="853"/>
+  </Function>
+  <Function id="_2113" name="noshowpos" returns="_4942" context="_2" mangled="_ZSt9noshowposRSt8ios_base" demangled="std::noshowpos(std::ios_base&)" location="f33:845" file="f33" line="845" endline="848" inline="1">
+    <Argument name="__base" type="_4942" location="f33:845" file="f33" line="845"/>
+  </Function>
+  <Function id="_2114" name="showpos" returns="_4942" context="_2" mangled="_ZSt7showposRSt8ios_base" demangled="std::showpos(std::ios_base&)" location="f33:837" file="f33" line="837" endline="840" inline="1">
+    <Argument name="__base" type="_4942" location="f33:837" file="f33" line="837"/>
+  </Function>
+  <Function id="_2115" name="noshowpoint" returns="_4942" context="_2" mangled="_ZSt11noshowpointRSt8ios_base" demangled="std::noshowpoint(std::ios_base&)" location="f33:829" file="f33" line="829" endline="832" inline="1">
+    <Argument name="__base" type="_4942" location="f33:829" file="f33" line="829"/>
+  </Function>
+  <Function id="_2116" name="showpoint" returns="_4942" context="_2" mangled="_ZSt9showpointRSt8ios_base" demangled="std::showpoint(std::ios_base&)" location="f33:821" file="f33" line="821" endline="824" inline="1">
+    <Argument name="__base" type="_4942" location="f33:821" file="f33" line="821"/>
+  </Function>
+  <Function id="_2117" name="noshowbase" returns="_4942" context="_2" mangled="_ZSt10noshowbaseRSt8ios_base" demangled="std::noshowbase(std::ios_base&)" location="f33:813" file="f33" line="813" endline="816" inline="1">
+    <Argument name="__base" type="_4942" location="f33:813" file="f33" line="813"/>
+  </Function>
+  <Function id="_2118" name="showbase" returns="_4942" context="_2" mangled="_ZSt8showbaseRSt8ios_base" demangled="std::showbase(std::ios_base&)" location="f33:805" file="f33" line="805" endline="808" inline="1">
+    <Argument name="__base" type="_4942" location="f33:805" file="f33" line="805"/>
+  </Function>
+  <Function id="_2119" name="noboolalpha" returns="_4942" context="_2" mangled="_ZSt11noboolalphaRSt8ios_base" demangled="std::noboolalpha(std::ios_base&)" location="f33:797" file="f33" line="797" endline="800" inline="1">
+    <Argument name="__base" type="_4942" location="f33:797" file="f33" line="797"/>
+  </Function>
+  <Function id="_2120" name="boolalpha" returns="_4942" context="_2" mangled="_ZSt9boolalphaRSt8ios_base" demangled="std::boolalpha(std::ios_base&)" location="f33:789" file="f33" line="789" endline="792" inline="1">
+    <Argument name="__base" type="_4942" location="f33:789" file="f33" line="789"/>
+  </Function>
+  <Enumeration id="_2121" name="_Ios_Seekdir" context="_2" location="f33:185" file="f33" line="185" artificial="1" size="32" align="32">
+    <EnumValue name="_S_beg" init="0"/>
+    <EnumValue name="_S_cur" init="1"/>
+    <EnumValue name="_S_end" init="2"/>
+    <EnumValue name="_S_ios_seekdir_end" init="65536"/>
+  </Enumeration>
+  <OperatorFunction id="_2122" name="~" returns="_2129" context="_2" mangled="_ZStcoSt12_Ios_Iostate" demangled="std::operator~(std::_Ios_Iostate)" location="f33:182" file="f33" line="182" endline="182" inline="1">
+    <Argument name="__a" type="_2129" location="f33:182" file="f33" line="182"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2123" name="^=" returns="_4936" context="_2" mangled="_ZSteORSt12_Ios_IostateS_" demangled="std::operator^=(std::_Ios_Iostate&, std::_Ios_Iostate)" location="f33:178" file="f33" line="178" endline="178" inline="1">
+    <Argument name="__a" type="_4936" location="f33:178" file="f33" line="178"/>
+    <Argument name="__b" type="_2129" location="f33:178" file="f33" line="178"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2124" name="&=" returns="_4936" context="_2" mangled="_ZStaNRSt12_Ios_IostateS_" demangled="std::operator&=(std::_Ios_Iostate&, std::_Ios_Iostate)" location="f33:174" file="f33" line="174" endline="174" inline="1">
+    <Argument name="__a" type="_4936" location="f33:174" file="f33" line="174"/>
+    <Argument name="__b" type="_2129" location="f33:174" file="f33" line="174"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2125" name="|=" returns="_4936" context="_2" mangled="_ZStoRRSt12_Ios_IostateS_" demangled="std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)" location="f33:170" file="f33" line="170" endline="170" inline="1">
+    <Argument name="__a" type="_4936" location="f33:170" file="f33" line="170"/>
+    <Argument name="__b" type="_2129" location="f33:170" file="f33" line="170"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2126" name="^" returns="_2129" context="_2" mangled="_ZSteoSt12_Ios_IostateS_" demangled="std::operator^(std::_Ios_Iostate, std::_Ios_Iostate)" location="f33:166" file="f33" line="166" endline="166" inline="1">
+    <Argument name="__a" type="_2129" location="f33:166" file="f33" line="166"/>
+    <Argument name="__b" type="_2129" location="f33:166" file="f33" line="166"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2127" name="|" returns="_2129" context="_2" mangled="_ZStorSt12_Ios_IostateS_" demangled="std::operator|(std::_Ios_Iostate, std::_Ios_Iostate)" location="f33:162" file="f33" line="162" endline="162" inline="1">
+    <Argument name="__a" type="_2129" location="f33:162" file="f33" line="162"/>
+    <Argument name="__b" type="_2129" location="f33:162" file="f33" line="162"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2128" name="&" returns="_2129" context="_2" mangled="_ZStanSt12_Ios_IostateS_" demangled="std::operator&(std::_Ios_Iostate, std::_Ios_Iostate)" location="f33:158" file="f33" line="158" endline="158" inline="1">
+    <Argument name="__a" type="_2129" location="f33:158" file="f33" line="158"/>
+    <Argument name="__b" type="_2129" location="f33:158" file="f33" line="158"/>
+  </OperatorFunction>
+  <Enumeration id="_2129" name="_Ios_Iostate" context="_2" location="f33:148" file="f33" line="148" artificial="1" size="32" align="32">
+    <EnumValue name="_S_goodbit" init="0"/>
+    <EnumValue name="_S_badbit" init="1"/>
+    <EnumValue name="_S_eofbit" init="2"/>
+    <EnumValue name="_S_failbit" init="4"/>
+    <EnumValue name="_S_ios_iostate_end" init="65536"/>
+  </Enumeration>
+  <OperatorFunction id="_2130" name="~" returns="_2137" context="_2" mangled="_ZStcoSt13_Ios_Openmode" demangled="std::operator~(std::_Ios_Openmode)" location="f33:144" file="f33" line="144" endline="144" inline="1">
+    <Argument name="__a" type="_2137" location="f33:144" file="f33" line="144"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2131" name="^=" returns="_4943" context="_2" mangled="_ZSteORSt13_Ios_OpenmodeS_" demangled="std::operator^=(std::_Ios_Openmode&, std::_Ios_Openmode)" location="f33:140" file="f33" line="140" endline="140" inline="1">
+    <Argument name="__a" type="_4943" location="f33:140" file="f33" line="140"/>
+    <Argument name="__b" type="_2137" location="f33:140" file="f33" line="140"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2132" name="&=" returns="_4943" context="_2" mangled="_ZStaNRSt13_Ios_OpenmodeS_" demangled="std::operator&=(std::_Ios_Openmode&, std::_Ios_Openmode)" location="f33:136" file="f33" line="136" endline="136" inline="1">
+    <Argument name="__a" type="_4943" location="f33:136" file="f33" line="136"/>
+    <Argument name="__b" type="_2137" location="f33:136" file="f33" line="136"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2133" name="|=" returns="_4943" context="_2" mangled="_ZStoRRSt13_Ios_OpenmodeS_" demangled="std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)" location="f33:132" file="f33" line="132" endline="132" inline="1">
+    <Argument name="__a" type="_4943" location="f33:132" file="f33" line="132"/>
+    <Argument name="__b" type="_2137" location="f33:132" file="f33" line="132"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2134" name="^" returns="_2137" context="_2" mangled="_ZSteoSt13_Ios_OpenmodeS_" demangled="std::operator^(std::_Ios_Openmode, std::_Ios_Openmode)" location="f33:128" file="f33" line="128" endline="128" inline="1">
+    <Argument name="__a" type="_2137" location="f33:128" file="f33" line="128"/>
+    <Argument name="__b" type="_2137" location="f33:128" file="f33" line="128"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2135" name="|" returns="_2137" context="_2" mangled="_ZStorSt13_Ios_OpenmodeS_" demangled="std::operator|(std::_Ios_Openmode, std::_Ios_Openmode)" location="f33:124" file="f33" line="124" endline="124" inline="1">
+    <Argument name="__a" type="_2137" location="f33:124" file="f33" line="124"/>
+    <Argument name="__b" type="_2137" location="f33:124" file="f33" line="124"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2136" name="&" returns="_2137" context="_2" mangled="_ZStanSt13_Ios_OpenmodeS_" demangled="std::operator&(std::_Ios_Openmode, std::_Ios_Openmode)" location="f33:120" file="f33" line="120" endline="120" inline="1">
+    <Argument name="__a" type="_2137" location="f33:120" file="f33" line="120"/>
+    <Argument name="__b" type="_2137" location="f33:120" file="f33" line="120"/>
+  </OperatorFunction>
+  <Enumeration id="_2137" name="_Ios_Openmode" context="_2" location="f33:108" file="f33" line="108" artificial="1" size="32" align="32">
+    <EnumValue name="_S_app" init="1"/>
+    <EnumValue name="_S_ate" init="2"/>
+    <EnumValue name="_S_bin" init="4"/>
+    <EnumValue name="_S_in" init="8"/>
+    <EnumValue name="_S_out" init="16"/>
+    <EnumValue name="_S_trunc" init="32"/>
+    <EnumValue name="_S_ios_openmode_end" init="65536"/>
+  </Enumeration>
+  <OperatorFunction id="_2138" name="~" returns="_2145" context="_2" mangled="_ZStcoSt13_Ios_Fmtflags" demangled="std::operator~(std::_Ios_Fmtflags)" location="f33:104" file="f33" line="104" endline="104" inline="1">
+    <Argument name="__a" type="_2145" location="f33:104" file="f33" line="104"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2139" name="^=" returns="_4944" context="_2" mangled="_ZSteORSt13_Ios_FmtflagsS_" demangled="std::operator^=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)" location="f33:100" file="f33" line="100" endline="100" inline="1">
+    <Argument name="__a" type="_4944" location="f33:100" file="f33" line="100"/>
+    <Argument name="__b" type="_2145" location="f33:100" file="f33" line="100"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2140" name="&=" returns="_4944" context="_2" mangled="_ZStaNRSt13_Ios_FmtflagsS_" demangled="std::operator&=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)" location="f33:96" file="f33" line="96" endline="96" inline="1">
+    <Argument name="__a" type="_4944" location="f33:96" file="f33" line="96"/>
+    <Argument name="__b" type="_2145" location="f33:96" file="f33" line="96"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2141" name="|=" returns="_4944" context="_2" mangled="_ZStoRRSt13_Ios_FmtflagsS_" demangled="std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)" location="f33:92" file="f33" line="92" endline="92" inline="1">
+    <Argument name="__a" type="_4944" location="f33:92" file="f33" line="92"/>
+    <Argument name="__b" type="_2145" location="f33:92" file="f33" line="92"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2142" name="^" returns="_2145" context="_2" mangled="_ZSteoSt13_Ios_FmtflagsS_" demangled="std::operator^(std::_Ios_Fmtflags, std::_Ios_Fmtflags)" location="f33:88" file="f33" line="88" endline="88" inline="1">
+    <Argument name="__a" type="_2145" location="f33:88" file="f33" line="88"/>
+    <Argument name="__b" type="_2145" location="f33:88" file="f33" line="88"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2143" name="|" returns="_2145" context="_2" mangled="_ZStorSt13_Ios_FmtflagsS_" demangled="std::operator|(std::_Ios_Fmtflags, std::_Ios_Fmtflags)" location="f33:84" file="f33" line="84" endline="84" inline="1">
+    <Argument name="__a" type="_2145" location="f33:84" file="f33" line="84"/>
+    <Argument name="__b" type="_2145" location="f33:84" file="f33" line="84"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2144" name="&" returns="_2145" context="_2" mangled="_ZStanSt13_Ios_FmtflagsS_" demangled="std::operator&(std::_Ios_Fmtflags, std::_Ios_Fmtflags)" location="f33:80" file="f33" line="80" endline="80" inline="1">
+    <Argument name="__a" type="_2145" location="f33:80" file="f33" line="80"/>
+    <Argument name="__b" type="_2145" location="f33:80" file="f33" line="80"/>
+  </OperatorFunction>
+  <Enumeration id="_2145" name="_Ios_Fmtflags" context="_2" location="f33:56" file="f33" line="56" artificial="1" size="32" align="32">
+    <EnumValue name="_S_boolalpha" init="1"/>
+    <EnumValue name="_S_dec" init="2"/>
+    <EnumValue name="_S_fixed" init="4"/>
+    <EnumValue name="_S_hex" init="8"/>
+    <EnumValue name="_S_internal" init="16"/>
+    <EnumValue name="_S_left" init="32"/>
+    <EnumValue name="_S_oct" init="64"/>
+    <EnumValue name="_S_right" init="128"/>
+    <EnumValue name="_S_scientific" init="256"/>
+    <EnumValue name="_S_showbase" init="512"/>
+    <EnumValue name="_S_showpoint" init="1024"/>
+    <EnumValue name="_S_showpos" init="2048"/>
+    <EnumValue name="_S_skipws" init="4096"/>
+    <EnumValue name="_S_unitbuf" init="8192"/>
+    <EnumValue name="_S_uppercase" init="16384"/>
+    <EnumValue name="_S_adjustfield" init="176"/>
+    <EnumValue name="_S_basefield" init="74"/>
+    <EnumValue name="_S_floatfield" init="260"/>
+    <EnumValue name="_S_ios_fmtflags_end" init="65536"/>
+  </Enumeration>
+  <Function id="_2146" name="__is_null_pointer" returns="_3949" context="_2" mangled="_ZSt17__is_null_pointerISt15_Deque_iteratorIcRcPcEEbT_" demangled="bool std::__is_null_pointer<std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>)" location="f91:58" file="f91" line="58" endline="58" inline="1">
+    <Argument type="_2005" location="f91:58" file="f91" line="58"/>
+  </Function>
+  <Function id="_2147" name="__is_null_pointer" returns="_3949" context="_2" mangled="_ZSt17__is_null_pointerIPwEbT_" demangled="bool std::__is_null_pointer<wchar_t*>(wchar_t*)" location="f91:58" file="f91" line="58" extern="1" inline="1">
+    <Argument type="_2778" location="f91:58" file="f91" line="58"/>
+  </Function>
+  <Function id="_2148" name="__is_null_pointer" returns="_3949" context="_2" mangled="_ZSt17__is_null_pointerIPcEbT_" demangled="bool std::__is_null_pointer<char*>(char*)" location="f91:58" file="f91" line="58" extern="1" inline="1">
+    <Argument type="_1149" location="f91:58" file="f91" line="58"/>
+  </Function>
+  <Function id="_2149" name="__is_null_pointer" returns="_3949" context="_2" mangled="_ZSt17__is_null_pointerIwEbPT_" demangled="bool std::__is_null_pointer<wchar_t>(wchar_t*)" location="f91:53" file="f91" line="53" endline="53" inline="1">
+    <Argument name="__ptr" type="_2778" location="f91:53" file="f91" line="53"/>
+  </Function>
+  <Function id="_2150" name="__is_null_pointer" returns="_3949" context="_2" mangled="_ZSt17__is_null_pointerIcEbPT_" demangled="bool std::__is_null_pointer<char>(char*)" location="f91:53" file="f91" line="53" endline="53" inline="1">
+    <Argument name="__ptr" type="_1149" location="f91:53" file="f91" line="53"/>
+  </Function>
+  <Enumeration id="_2151" name="._78" context="_2" location="f92:3263" file="f92" line="3263" artificial="1" size="32" align="32">
+    <EnumValue name="_S_chunk_size" init="7"/>
+  </Enumeration>
+  <Enumeration id="_2152" name="._77" context="_2" location="f92:2217" file="f92" line="2217" artificial="1" size="32" align="32">
+    <EnumValue name="_S_threshold" init="16"/>
+  </Enumeration>
+  <Function id="_2153" name="getline" returns="_3925" context="_2" mangled="_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::getline<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wc [...]
+    <Argument name="__is" type="_3925" location="f93:4859" file="f93" line="4859"/>
+    <Argument name="__str" type="_4945" location="f93:4859" file="f93" line="4859"/>
+  </Function>
+  <Function id="_2154" name="getline" returns="_3926" context="_2" mangled="_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E" demangled="std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)" location [...]
+    <Argument name="__is" type="_3926" location="f93:4859" file="f93" line="4859"/>
+    <Argument name="__str" type="_4946" location="f93:4859" file="f93" line="4859"/>
+  </Function>
+  <Function id="_2155" name="getline" returns="_3925" context="_2" mangled="_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::getline<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator&lt [...]
+    <Argument name="__in" type="_3925" location="f93:4870" file="f93" line="4870"/>
+    <Argument name="__str" type="_4945" location="f93:4870" file="f93" line="4870"/>
+    <Argument name="__delim" type="_2786" location="f93:4870" file="f93" line="4870"/>
+  </Function>
+  <Function id="_2156" name="getline" returns="_3926" context="_2" mangled="_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_" demangled="std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)" [...]
+    <Argument name="__in" type="_3926" location="f93:4864" file="f93" line="4864"/>
+    <Argument name="__str" type="_4946" location="f93:4864" file="f93" line="4864"/>
+    <Argument name="__delim" type="_2961" location="f93:4864" file="f93" line="4864"/>
+  </Function>
+  <OperatorFunction id="_2157" name="<<" returns="_3923" context="_2" mangled="_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::a [...]
+    <Argument name="__os" type="_3923" location="f93:4824" file="f93" line="4824"/>
+    <Argument name="__str" type="_4947" location="f93:4824" file="f93" line="4824"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2158" name="<<" returns="_3924" context="_2" mangled="_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E" demangled="std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > c [...]
+    <Argument name="__os" type="_3924" location="f93:4824" file="f93" line="4824"/>
+    <Argument name="__str" type="_4948" location="f93:4824" file="f93" line="4824"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2159" name=">>" returns="_3925" context="_2" mangled="_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >& std::operator>><wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::all [...]
+    <Argument name="__is" type="_3925" location="f93:4810" file="f93" line="4810"/>
+    <Argument name="__str" type="_4945" location="f93:4810" file="f93" line="4810"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2160" name=">>" returns="_3926" context="_2" mangled="_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E" demangled="std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&amp [...]
+    <Argument name="__is" type="_3926" location="f93:4810" file="f93" line="4810"/>
+    <Argument name="__str" type="_4946" location="f93:4810" file="f93" line="4810"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2161" name="<" returns="_3949" context="_2" mangled="_ZStltIcSt11char_traitsIcESaIcEEbRKSbIT_T0_T1_ES8_" demangled="bool std::operator< <char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)" location="f93:4646" file="f93" line="4646" endline [...]
+    <Argument name="__lhs" type="_4948" location="f93:4646" file="f93" line="4646"/>
+    <Argument name="__rhs" type="_4948" location="f93:4646" file="f93" line="4646"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2162" name="+" returns="_2506" context="_2" mangled="_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S3_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > std::operator+<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, wchar_t)" location="f93:4553" file="f93" line= [...]
+    <Argument name="__lhs" type="_4947" location="f93:4553" file="f93" line="4553"/>
+    <Argument name="__rhs" type="_2786" location="f93:4553" file="f93" line="4553"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2163" name="+" returns="_2508" context="_2" mangled="_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S3_" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char)" location="f93:4553" file="f93" line="4553" endline="4558" inline="1">
+    <Argument name="__lhs" type="_4948" location="f93:4553" file="f93" line="4553"/>
+    <Argument name="__rhs" type="_2961" location="f93:4553" file="f93" line="4553"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2164" name="+" returns="_2506" context="_2" mangled="_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > std::operator+<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(wchar_t, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f91:682" file="f91" line=" [...]
+    <Argument name="__lhs" type="_2786" location="f91:682" file="f91" line="682"/>
+    <Argument name="__rhs" type="_4947" location="f91:682" file="f91" line="682"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2165" name="+" returns="_2508" context="_2" mangled="_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)" location="f91:682" file="f91" line="682" endline="690">
+    <Argument name="__lhs" type="_2961" location="f91:682" file="f91" line="682"/>
+    <Argument name="__rhs" type="_4948" location="f91:682" file="f91" line="682"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2166" name="+" returns="_2508" context="_2" mangled="_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)" location="f91:667" file="f91" line="667" endline="676">
+    <Argument name="__lhs" type="_2749" location="f91:667" file="f91" line="667"/>
+    <Argument name="__rhs" type="_4948" location="f91:667" file="f91" line="667"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2167" name="+" returns="_2506" context="_2" mangled="_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > std::operator+<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits [...]
+    <Argument name="__lhs" type="_4947" location="f93:4501" file="f93" line="4501"/>
+    <Argument name="__rhs" type="_4947" location="f93:4501" file="f93" line="4501"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2168" name="+" returns="_2508" context="_2" mangled="_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator&l [...]
+    <Argument name="__lhs" type="_4948" location="f93:4501" file="f93" line="4501"/>
+    <Argument name="__rhs" type="_4948" location="f93:4501" file="f93" line="4501"/>
+  </OperatorFunction>
+  <Struct id="_2169" name="_Select1st<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >" context="_2" mangled="St10_Select1stISt4pairIKSstEE" demangled="std::_Select1st<std::pair<std::string const, unsigned short> >" location="f94:544" file="f94" line="544" artificial="1" size="8" align="8" members="_4949 _4950 _4951 _4952 " bases="_2175 ">
+    <Base type="_2175" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2170" name="_Select1st<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >" context="_2" incomplete="1" mangled="St10_Select1stISt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEEE" demangled="std::_Select1st<std::pair<std::string const, boost::shared_ptr<boost [...]
+  <Struct id="_2171" name="less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2" mangled="St4lessISsE" demangled="std::less<std::string>" location="f94:224" file="f94" line="224" artificial="1" size="8" align="8" members="_4953 _4954 _4955 " bases="_2173 ">
+    <Base type="_2173" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2172" name="less<boost::detail::sp_counted_base*>" context="_2" mangled="St4lessIPN5boost6detail15sp_counted_baseEE" demangled="std::less<boost::detail::sp_counted_base*>" location="f94:224" file="f94" line="224" artificial="1" size="8" align="8" members="_4956 _4957 _4958 " bases="_2174 ">
+    <Base type="_2174" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2173" name="binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,bool>" context="_2" mangled="St15binary_functionISsSsbE" demangled="std::binary_function<std::string, std::string, bool>" location="f94:115" file="f94" line="115" artificial="1" size="8" align="8" members="_4959 _4960 _4961 _4962 _4963 " bases=""/>
+  <Struct id="_2174" name="binary_function<boost::detail::sp_counted_base*,boost::detail::sp_counted_base*,bool>" context="_2" mangled="St15binary_functionIPN5boost6detail15sp_counted_baseES3_bE" demangled="std::binary_function<boost::detail::sp_counted_base*, boost::detail::sp_counted_base*, bool>" location="f94:115" file="f94" line="115" artificial="1" size="8" align="8" members="_4965 _4966 _4967 _4968 _4969 " bases=""/>
+  <Struct id="_2175" name="unary_function<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int>,const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2" mangled="St14unary_functionISt4pairIKSstES1_E" demangled="std::unary_function<std::pair<std::string const, unsigned short>, std::string const>" location="f94:103" file="f94" line="103" arti [...]
+  <Struct id="_2176" name="numeric_limits<short int>" context="_2" mangled="St14numeric_limitsIsE" demangled="std::numeric_limits<short>" location="f95:574" file="f95" line="574" artificial="1" size="8" align="8" members="_4974 _4975 _4976 _4977 _4978 _4979 _4980 _4981 _4982 _4983 _4984 _4985 _4986 _4987 _4988 _4989 _4990 _4991 _4992 _4993 _4994 _4995 _4996 _4997 _4998 _4999 _5000 _5001 _5002 _5003 _5004 _5005 " bases=""/>
+  <Struct id="_2177" name="numeric_limits<long long int>" context="_2" mangled="St14numeric_limitsIxE" demangled="std::numeric_limits<long long>" location="f95:880" file="f95" line="880" artificial="1" size="8" align="8" members="_5006 _5007 _5008 _5009 _5010 _5011 _5012 _5013 _5014 _5015 _5016 _5017 _5018 _5019 _5020 _5021 _5022 _5023 _5024 _5025 _5026 _5027 _5028 _5029 _5030 _5031 _5032 _5033 _5034 _5035 _5036 _5037 " bases=""/>
+  <Struct id="_2178" name="numeric_limits<int>" context="_2" mangled="St14numeric_limitsIiE" demangled="std::numeric_limits<int>" location="f95:676" file="f95" line="676" artificial="1" size="8" align="8" members="_5038 _5039 _5040 _5041 _5042 _5043 _5044 _5045 _5046 _5047 _5048 _5049 _5050 _5051 _5052 _5053 _5054 _5055 _5056 _5057 _5058 _5059 _5060 _5061 _5062 _5063 _5064 _5065 _5066 _5067 _5068 _5069 " bases=""/>
+  <Struct id="_2179" name="numeric_limits<short unsigned int>" context="_2" mangled="St14numeric_limitsItE" demangled="std::numeric_limits<unsigned short>" location="f95:625" file="f95" line="625" artificial="1" size="8" align="8" members="_5070 _5071 _5072 _5073 _5074 _5075 _5076 _5077 _5078 _5079 _5080 _5081 _5082 _5083 _5084 _5085 _5086 _5087 _5088 _5089 _5090 _5091 _5092 _5093 _5094 _5095 _5096 _5097 _5098 _5099 _5100 _5101 " bases=""/>
+  <Struct id="_2180" name="numeric_limits<long int>" context="_2" mangled="St14numeric_limitsIlE" demangled="std::numeric_limits<long>" location="f95:778" file="f95" line="778" artificial="1" size="8" align="8" members="_5102 _5103 _5104 _5105 _5106 _5107 _5108 _5109 _5110 _5111 _5112 _5113 _5114 _5115 _5116 _5117 _5118 _5119 _5120 _5121 _5122 _5123 _5124 _5125 _5126 _5127 _5128 _5129 _5130 _5131 _5132 _5133 " bases=""/>
+  <Struct id="_2181" name="numeric_limits<long double>" context="_2" mangled="St14numeric_limitsIeE" demangled="std::numeric_limits<long double>" location="f95:1096" file="f95" line="1096" artificial="1" size="8" align="8" members="_5134 _5135 _5136 _5137 _5138 _5139 _5140 _5141 _5142 _5143 _5144 _5145 _5146 _5147 _5148 _5149 _5150 _5151 _5152 _5153 _5154 _5155 _5156 _5157 _5158 _5159 _5160 _5161 _5162 _5163 _5164 _5165 " bases=""/>
+  <Struct id="_2182" name="numeric_limits<double>" context="_2" mangled="St14numeric_limitsIdE" demangled="std::numeric_limits<double>" location="f95:1039" file="f95" line="1039" artificial="1" size="8" align="8" members="_5166 _5167 _5168 _5169 _5170 _5171 _5172 _5173 _5174 _5175 _5176 _5177 _5178 _5179 _5180 _5181 _5182 _5183 _5184 _5185 _5186 _5187 _5188 _5189 _5190 _5191 _5192 _5193 _5194 _5195 _5196 _5197 " bases=""/>
+  <Struct id="_2183" name="numeric_limits<float>" context="_2" mangled="St14numeric_limitsIfE" demangled="std::numeric_limits<float>" location="f95:982" file="f95" line="982" artificial="1" size="8" align="8" members="_5198 _5199 _5200 _5201 _5202 _5203 _5204 _5205 _5206 _5207 _5208 _5209 _5210 _5211 _5212 _5213 _5214 _5215 _5216 _5217 _5218 _5219 _5220 _5221 _5222 _5223 _5224 _5225 _5226 _5227 _5228 _5229 " bases=""/>
+  <Struct id="_2184" name="numeric_limits<long long unsigned int>" context="_2" mangled="St14numeric_limitsIyE" demangled="std::numeric_limits<unsigned long long>" location="f95:931" file="f95" line="931" artificial="1" size="8" align="8" members="_5230 _5231 _5232 _5233 _5234 _5235 _5236 _5237 _5238 _5239 _5240 _5241 _5242 _5243 _5244 _5245 _5246 _5247 _5248 _5249 _5250 _5251 _5252 _5253 _5254 _5255 _5256 _5257 _5258 _5259 _5260 _5261 " bases=""/>
+  <Struct id="_2185" name="numeric_limits<long unsigned int>" context="_2" mangled="St14numeric_limitsImE" demangled="std::numeric_limits<unsigned long>" location="f95:829" file="f95" line="829" artificial="1" size="8" align="8" members="_5262 _5263 _5264 _5265 _5266 _5267 _5268 _5269 _5270 _5271 _5272 _5273 _5274 _5275 _5276 _5277 _5278 _5279 _5280 _5281 _5282 _5283 _5284 _5285 _5286 _5287 _5288 _5289 _5290 _5291 _5292 _5293 " bases=""/>
+  <Struct id="_2186" name="numeric_limits<unsigned int>" context="_2" mangled="St14numeric_limitsIjE" demangled="std::numeric_limits<unsigned>" location="f95:727" file="f95" line="727" artificial="1" size="8" align="8" members="_5294 _5295 _5296 _5297 _5298 _5299 _5300 _5301 _5302 _5303 _5304 _5305 _5306 _5307 _5308 _5309 _5310 _5311 _5312 _5313 _5314 _5315 _5316 _5317 _5318 _5319 _5320 _5321 _5322 _5323 _5324 _5325 " bases=""/>
+  <Struct id="_2187" name="numeric_limits<wchar_t>" context="_2" mangled="St14numeric_limitsIwE" demangled="std::numeric_limits<wchar_t>" location="f95:523" file="f95" line="523" artificial="1" size="8" align="8" members="_5326 _5327 _5328 _5329 _5330 _5331 _5332 _5333 _5334 _5335 _5336 _5337 _5338 _5339 _5340 _5341 _5342 _5343 _5344 _5345 _5346 _5347 _5348 _5349 _5350 _5351 _5352 _5353 _5354 _5355 _5356 _5357 " bases=""/>
+  <Struct id="_2188" name="numeric_limits<unsigned char>" context="_2" mangled="St14numeric_limitsIhE" demangled="std::numeric_limits<unsigned char>" location="f95:472" file="f95" line="472" artificial="1" size="8" align="8" members="_5358 _5359 _5360 _5361 _5362 _5363 _5364 _5365 _5366 _5367 _5368 _5369 _5370 _5371 _5372 _5373 _5374 _5375 _5376 _5377 _5378 _5379 _5380 _5381 _5382 _5383 _5384 _5385 _5386 _5387 _5388 _5389 " bases=""/>
+  <Struct id="_2189" name="numeric_limits<signed char>" context="_2" mangled="St14numeric_limitsIaE" demangled="std::numeric_limits<signed char>" location="f95:421" file="f95" line="421" artificial="1" size="8" align="8" members="_5390 _5391 _5392 _5393 _5394 _5395 _5396 _5397 _5398 _5399 _5400 _5401 _5402 _5403 _5404 _5405 _5406 _5407 _5408 _5409 _5410 _5411 _5412 _5413 _5414 _5415 _5416 _5417 _5418 _5419 _5420 _5421 " bases=""/>
+  <Struct id="_2190" name="numeric_limits<char>" context="_2" mangled="St14numeric_limitsIcE" demangled="std::numeric_limits<char>" location="f95:370" file="f95" line="370" artificial="1" size="8" align="8" members="_5422 _5423 _5424 _5425 _5426 _5427 _5428 _5429 _5430 _5431 _5432 _5433 _5434 _5435 _5436 _5437 _5438 _5439 _5440 _5441 _5442 _5443 _5444 _5445 _5446 _5447 _5448 _5449 _5450 _5451 _5452 _5453 " bases=""/>
+  <Struct id="_2191" name="numeric_limits<bool>" context="_2" mangled="St14numeric_limitsIbE" demangled="std::numeric_limits<bool>" location="f95:316" file="f95" line="316" artificial="1" size="8" align="8" members="_5454 _5455 _5456 _5457 _5458 _5459 _5460 _5461 _5462 _5463 _5464 _5465 _5466 _5467 _5468 _5469 _5470 _5471 _5472 _5473 _5474 _5475 _5476 _5477 _5478 _5479 _5480 _5481 _5482 _5483 _5484 _5485 " bases=""/>
+  <Struct id="_2192" name="__numeric_limits_base" context="_2" mangled="St21__numeric_limits_base" demangled="std::__numeric_limits_base" location="f95:192" file="f95" line="192" artificial="1" size="8" align="8" members="_5486 _5487 _5488 _5489 _5490 _5491 _5492 _5493 _5494 _5495 _5496 _5497 _5498 _5499 _5500 _5501 _5502 _5503 _5504 _5505 _5506 _5507 _5508 _5509 " bases=""/>
+  <Enumeration id="_2193" name="float_denorm_style" context="_2" location="f95:172" file="f95" line="172" artificial="1" size="32" align="32">
+    <EnumValue name="denorm_indeterminate" init="-1"/>
+    <EnumValue name="denorm_absent" init="0"/>
+    <EnumValue name="denorm_present" init="1"/>
+  </Enumeration>
+  <Enumeration id="_2194" name="float_round_style" context="_2" location="f95:157" file="f95" line="157" artificial="1" size="32" align="32">
+    <EnumValue name="round_indeterminate" init="-1"/>
+    <EnumValue name="round_toward_zero" init="0"/>
+    <EnumValue name="round_to_nearest" init="1"/>
+    <EnumValue name="round_toward_infinity" init="2"/>
+    <EnumValue name="round_toward_neg_infinity" init="3"/>
+  </Enumeration>
+  <Function id="_2195" name="__uninitialized_copy_copy" returns="_2005" context="_2" mangled="_ZSt25__uninitialized_copy_copyIN9__gnu_cxx17__normal_iteratorIPKcSsEESt15_Deque_iteratorIcRcPcES8_SaIcEET1_T_SB_T0_SC_SA_T2_" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_copy<__gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::allo [...]
+    <Argument name="__first1" type="_3328" location="f96:332" file="f96" line="332"/>
+    <Argument name="__last1" type="_3328" location="f96:332" file="f96" line="332"/>
+    <Argument name="__first2" type="_2005" location="f96:332" file="f96" line="332"/>
+    <Argument name="__last2" type="_2005" location="f96:332" file="f96" line="332"/>
+    <Argument name="__result" type="_2005" location="f96:332" file="f96" line="332"/>
+    <Argument name="__alloc" type="_2512" location="f96:332" file="f96" line="332"/>
+  </Function>
+  <Function id="_2196" name="__uninitialized_copy_copy" returns="_2005" context="_2" mangled="_ZSt25__uninitialized_copy_copyISt15_Deque_iteratorIcRcPcEN9__gnu_cxx17__normal_iteratorIPKcSsEES3_SaIcEET1_T_SB_T0_SC_SA_T2_" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_copy<std::_Deque_iterator<char, char&, char*>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_iterator<char, char&, char*>, std::allo [...]
+    <Argument name="__first1" type="_2005" location="f96:332" file="f96" line="332"/>
+    <Argument name="__last1" type="_2005" location="f96:332" file="f96" line="332"/>
+    <Argument name="__first2" type="_3328" location="f96:332" file="f96" line="332"/>
+    <Argument name="__last2" type="_3328" location="f96:332" file="f96" line="332"/>
+    <Argument name="__result" type="_2005" location="f96:332" file="f96" line="332"/>
+    <Argument name="__alloc" type="_2512" location="f96:332" file="f96" line="332"/>
+  </Function>
+  <Function id="_2197" name="__uninitialized_fill_n_a" returns="_1194" context="_2" mangled="_ZSt24__uninitialized_fill_n_aIPiiiiEvT_T0_RKT1_SaIT2_E" demangled="void std::__uninitialized_fill_n_a<int*, int, int, int>(int*, int, int const&, std::allocator<int>)" location="f96:309" file="f96" line="309" endline="310">
+    <Argument name="__first" type="_2748" location="f96:309" file="f96" line="309"/>
+    <Argument name="__n" type="_503" location="f96:309" file="f96" line="309"/>
+    <Argument name="__x" type="_4080" location="f96:309" file="f96" line="309"/>
+    <Argument type="_2516" location="f96:309" file="f96" line="309"/>
+  </Function>
+  <Function id="_2198" name="__uninitialized_fill_n_a" returns="_1194" context="_2" mangled="_ZSt24__uninitialized_fill_n_aIPiiiSaIiEEvT_T0_RKT1_T2_" demangled="void std::__uninitialized_fill_n_a<int*, int, int, std::allocator<int> >(int*, int, int const&, std::allocator<int>)" location="f96:289" file="f96" line="289" extern="1">
+    <Argument name="__first" type="_2748" location="f96:289" file="f96" line="289"/>
+    <Argument name="__n" type="_503" location="f96:289" file="f96" line="289"/>
+    <Argument name="__x" type="_4080" location="f96:289" file="f96" line="289"/>
+    <Argument name="__alloc" type="_2516" location="f96:289" file="f96" line="289"/>
+  </Function>
+  <Function id="_2199" name="__uninitialized_copy_a" returns="_2005" context="_2" mangled="_ZSt22__uninitialized_copy_aISt15_Deque_iteratorIcRcPcES3_cET0_T_S5_S4_SaIT1_E" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_a<std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, char>(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::_Deque [...]
+    <Argument name="__first" type="_2005" location="f96:253" file="f96" line="253"/>
+    <Argument name="__last" type="_2005" location="f96:253" file="f96" line="253"/>
+    <Argument name="__result" type="_2005" location="f96:253" file="f96" line="253"/>
+    <Argument type="_2512" location="f96:253" file="f96" line="253"/>
+  </Function>
+  <Function id="_2200" name="__uninitialized_copy_a" returns="_3329" context="_2" mangled="_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEES6_SsET0_T_S8_S7_SaIT1_E" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::_ [...]
+    <Argument name="__first" type="_3329" location="f96:253" file="f96" line="253"/>
+    <Argument name="__last" type="_3329" location="f96:253" file="f96" line="253"/>
+    <Argument name="__result" type="_3329" location="f96:253" file="f96" line="253"/>
+    <Argument type="_2513" location="f96:253" file="f96" line="253"/>
+  </Function>
+  <Function id="_2201" name="__uninitialized_copy_a" returns="_2005" context="_2" mangled="_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcSsEESt15_Deque_iteratorIcRcPcEcET0_T_SA_S9_SaIT1_E" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_iterator<char, char&, char*>, char>(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cx [...]
+    <Argument name="__first" type="_3328" location="f96:253" file="f96" line="253"/>
+    <Argument name="__last" type="_3328" location="f96:253" file="f96" line="253"/>
+    <Argument name="__result" type="_2005" location="f96:253" file="f96" line="253"/>
+    <Argument type="_2512" location="f96:253" file="f96" line="253"/>
+  </Function>
+  <Function id="_2202" name="__uninitialized_copy_a" returns="_2748" context="_2" mangled="_ZSt22__uninitialized_copy_aIPiS0_iET0_T_S2_S1_SaIT1_E" demangled="int* std::__uninitialized_copy_a<int*, int*, int>(int*, int*, int*, std::allocator<int>)" location="f96:253" file="f96" line="253" endline="254" inline="1">
+    <Argument name="__first" type="_2748" location="f96:253" file="f96" line="253"/>
+    <Argument name="__last" type="_2748" location="f96:253" file="f96" line="253"/>
+    <Argument name="__result" type="_2748" location="f96:253" file="f96" line="253"/>
+    <Argument type="_2516" location="f96:253" file="f96" line="253"/>
+  </Function>
+  <Function id="_2203" name="__uninitialized_copy_a" returns="_2748" context="_2" mangled="_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_SaIT1_E" demangled="int* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, int>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator< [...]
+    <Argument name="__first" type="_3335" location="f96:253" file="f96" line="253"/>
+    <Argument name="__last" type="_3335" location="f96:253" file="f96" line="253"/>
+    <Argument name="__result" type="_2748" location="f96:253" file="f96" line="253"/>
+    <Argument type="_2516" location="f96:253" file="f96" line="253"/>
+  </Function>
+  <Function id="_2204" name="__uninitialized_copy_a" returns="_2005" context="_2" mangled="_ZSt22__uninitialized_copy_aISt15_Deque_iteratorIcRcPcES3_SaIcEET0_T_S6_S5_T1_" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_a<std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::allocator<char> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, [...]
+    <Argument name="__first" type="_2005" location="f96:233" file="f96" line="233"/>
+    <Argument name="__last" type="_2005" location="f96:233" file="f96" line="233"/>
+    <Argument name="__result" type="_2005" location="f96:233" file="f96" line="233"/>
+    <Argument name="__alloc" type="_2512" location="f96:233" file="f96" line="233"/>
+  </Function>
+  <Function id="_2205" name="__uninitialized_copy_a" returns="_3329" context="_2" mangled="_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEES6_S4_ET0_T_S8_S7_T1_" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__no [...]
+    <Argument name="__first" type="_3329" location="f96:233" file="f96" line="233"/>
+    <Argument name="__last" type="_3329" location="f96:233" file="f96" line="233"/>
+    <Argument name="__result" type="_3329" location="f96:233" file="f96" line="233"/>
+    <Argument name="__alloc" type="_2513" location="f96:233" file="f96" line="233"/>
+  </Function>
+  <Function id="_2206" name="__uninitialized_copy_a" returns="_2005" context="_2" mangled="_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKcSsEESt15_Deque_iteratorIcRcPcESaIcEET0_T_SB_SA_T1_" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_iterator<char, char&, char*>, std::allocator<char> >(__gnu_cxx::__normal_iterator<char const*, st [...]
+    <Argument name="__first" type="_3328" location="f96:233" file="f96" line="233"/>
+    <Argument name="__last" type="_3328" location="f96:233" file="f96" line="233"/>
+    <Argument name="__result" type="_2005" location="f96:233" file="f96" line="233"/>
+    <Argument name="__alloc" type="_2512" location="f96:233" file="f96" line="233"/>
+  </Function>
+  <Function id="_2207" name="__uninitialized_copy_a" returns="_2748" context="_2" mangled="_ZSt22__uninitialized_copy_aIPiS0_SaIiEET0_T_S3_S2_T1_" demangled="int* std::__uninitialized_copy_a<int*, int*, std::allocator<int> >(int*, int*, int*, std::allocator<int>)" location="f96:233" file="f96" line="233" extern="1">
+    <Argument name="__first" type="_2748" location="f96:233" file="f96" line="233"/>
+    <Argument name="__last" type="_2748" location="f96:233" file="f96" line="233"/>
+    <Argument name="__result" type="_2748" location="f96:233" file="f96" line="233"/>
+    <Argument name="__alloc" type="_2516" location="f96:233" file="f96" line="233"/>
+  </Function>
+  <Function id="_2208" name="__uninitialized_copy_a" returns="_2748" context="_2" mangled="_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiS5_ET0_T_SA_S9_T1_" demangled="int* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*, std::allocator<int> >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx:: [...]
+    <Argument name="__first" type="_3335" location="f96:233" file="f96" line="233"/>
+    <Argument name="__last" type="_3335" location="f96:233" file="f96" line="233"/>
+    <Argument name="__result" type="_2748" location="f96:233" file="f96" line="233"/>
+    <Argument name="__alloc" type="_2516" location="f96:233" file="f96" line="233"/>
+  </Function>
+  <Function id="_2209" name="uninitialized_fill_n" returns="_1194" context="_2" mangled="_ZSt20uninitialized_fill_nIPiiiEvT_T0_RKT1_" demangled="void std::uninitialized_fill_n<int*, int, int>(int*, int, int const&)" location="f96:215" file="f96" line="215" endline="218" inline="1">
+    <Argument name="__first" type="_2748" location="f96:215" file="f96" line="215"/>
+    <Argument name="__n" type="_503" location="f96:215" file="f96" line="215"/>
+    <Argument name="__x" type="_4080" location="f96:215" file="f96" line="215"/>
+  </Function>
+  <Function id="_2210" name="__uninitialized_fill_n_aux" returns="_1194" context="_2" mangled="_ZSt26__uninitialized_fill_n_auxIPiiiEvT_T0_RKT1_12__false_type" demangled="void std::__uninitialized_fill_n_aux<int*, int, int>(int*, int, int const&, __false_type)" location="f96:189" file="f96" line="189" extern="1">
+    <Argument name="__first" type="_2748" location="f96:189" file="f96" line="189"/>
+    <Argument name="__n" type="_503" location="f96:189" file="f96" line="189"/>
+    <Argument name="__x" type="_4080" location="f96:189" file="f96" line="189"/>
+    <Argument type="_1286" location="f96:189" file="f96" line="189"/>
+  </Function>
+  <Function id="_2211" name="__uninitialized_fill_n_aux" returns="_1194" context="_2" mangled="_ZSt26__uninitialized_fill_n_auxIPiiiEvT_T0_RKT1_11__true_type" demangled="void std::__uninitialized_fill_n_aux<int*, int, int>(int*, int, int const&, __true_type)" location="f96:183" file="f96" line="183" endline="183" inline="1">
+    <Argument name="__first" type="_2748" location="f96:183" file="f96" line="183"/>
+    <Argument name="__n" type="_503" location="f96:183" file="f96" line="183"/>
+    <Argument name="__x" type="_4080" location="f96:183" file="f96" line="183"/>
+    <Argument type="_1287" location="f96:183" file="f96" line="183"/>
+  </Function>
+  <Function id="_2212" name="uninitialized_copy" returns="_2778" context="_2" mangled="_ZSt18uninitialized_copyPKwS0_Pw" demangled="std::uninitialized_copy(wchar_t const*, wchar_t const*, wchar_t*)" location="f96:126" file="f96" line="126" endline="129" inline="1">
+    <Argument name="__first" type="_2780" location="f96:126" file="f96" line="126"/>
+    <Argument name="__last" type="_2780" location="f96:126" file="f96" line="126"/>
+    <Argument name="__result" type="_2778" location="f96:126" file="f96" line="126"/>
+  </Function>
+  <Function id="_2213" name="uninitialized_copy" returns="_1149" context="_2" mangled="_ZSt18uninitialized_copyPKcS0_Pc" demangled="std::uninitialized_copy(char const*, char const*, char*)" location="f96:118" file="f96" line="118" endline="121" inline="1">
+    <Argument name="__first" type="_2749" location="f96:118" file="f96" line="118"/>
+    <Argument name="__last" type="_2749" location="f96:118" file="f96" line="118"/>
+    <Argument name="__result" type="_1149" location="f96:118" file="f96" line="118"/>
+  </Function>
+  <Function id="_2214" name="uninitialized_copy" returns="_2005" context="_2" mangled="_ZSt18uninitialized_copyISt15_Deque_iteratorIcRcPcES3_ET0_T_S5_S4_" demangled="std::_Deque_iterator<char, char&, char*> std::uninitialized_copy<std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&a [...]
+    <Argument name="__first" type="_2005" location="f96:109" file="f96" line="109"/>
+    <Argument name="__last" type="_2005" location="f96:109" file="f96" line="109"/>
+    <Argument name="__result" type="_2005" location="f96:109" file="f96" line="109"/>
+  </Function>
+  <Function id="_2215" name="uninitialized_copy" returns="_3329" context="_2" mangled="_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEES6_ET0_T_S8_S7_" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<s [...]
+    <Argument name="__first" type="_3329" location="f96:109" file="f96" line="109"/>
+    <Argument name="__last" type="_3329" location="f96:109" file="f96" line="109"/>
+    <Argument name="__result" type="_3329" location="f96:109" file="f96" line="109"/>
+  </Function>
+  <Function id="_2216" name="uninitialized_copy" returns="_2005" context="_2" mangled="_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKcSsEESt15_Deque_iteratorIcRcPcEET0_T_SA_S9_" demangled="std::_Deque_iterator<char, char&, char*> std::uninitialized_copy<__gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_iterator<char, char&, char*> >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<c [...]
+    <Argument name="__first" type="_3328" location="f96:109" file="f96" line="109"/>
+    <Argument name="__last" type="_3328" location="f96:109" file="f96" line="109"/>
+    <Argument name="__result" type="_2005" location="f96:109" file="f96" line="109"/>
+  </Function>
+  <Function id="_2217" name="uninitialized_copy" returns="_2748" context="_2" mangled="_ZSt18uninitialized_copyIPiS0_ET0_T_S2_S1_" demangled="int* std::uninitialized_copy<int*, int*>(int*, int*, int*)" location="f96:109" file="f96" line="109" endline="112" inline="1">
+    <Argument name="__first" type="_2748" location="f96:109" file="f96" line="109"/>
+    <Argument name="__last" type="_2748" location="f96:109" file="f96" line="109"/>
+    <Argument name="__result" type="_2748" location="f96:109" file="f96" line="109"/>
+  </Function>
+  <Function id="_2218" name="uninitialized_copy" returns="_2748" context="_2" mangled="_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_" demangled="int* std::uninitialized_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector&l [...]
+    <Argument name="__first" type="_3335" location="f96:109" file="f96" line="109"/>
+    <Argument name="__last" type="_3335" location="f96:109" file="f96" line="109"/>
+    <Argument name="__result" type="_2748" location="f96:109" file="f96" line="109"/>
+  </Function>
+  <Function id="_2219" name="__uninitialized_copy_aux" returns="_2005" context="_2" mangled="_ZSt24__uninitialized_copy_auxISt15_Deque_iteratorIcRcPcES3_ET0_T_S5_S4_12__false_type" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_aux<std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std: [...]
+    <Argument name="__first" type="_2005" location="f96:81" file="f96" line="81"/>
+    <Argument name="__last" type="_2005" location="f96:81" file="f96" line="81"/>
+    <Argument name="__result" type="_2005" location="f96:81" file="f96" line="81"/>
+    <Argument type="_1286" location="f96:81" file="f96" line="81"/>
+  </Function>
+  <Function id="_2220" name="__uninitialized_copy_aux" returns="_3329" context="_2" mangled="_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEES6_ET0_T_S8_S7_12__false_type" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, _ [...]
+    <Argument name="__first" type="_3329" location="f96:81" file="f96" line="81"/>
+    <Argument name="__last" type="_3329" location="f96:81" file="f96" line="81"/>
+    <Argument name="__result" type="_3329" location="f96:81" file="f96" line="81"/>
+    <Argument type="_1286" location="f96:81" file="f96" line="81"/>
+  </Function>
+  <Function id="_2221" name="__uninitialized_copy_aux" returns="_2005" context="_2" mangled="_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKcSsEESt15_Deque_iteratorIcRcPcEET0_T_SA_S9_12__false_type" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_iterator<char, char&, char*> >(__gnu_cxx::__normal_iterator<char const*, std::string>, _ [...]
+    <Argument name="__first" type="_3328" location="f96:81" file="f96" line="81"/>
+    <Argument name="__last" type="_3328" location="f96:81" file="f96" line="81"/>
+    <Argument name="__result" type="_2005" location="f96:81" file="f96" line="81"/>
+    <Argument type="_1286" location="f96:81" file="f96" line="81"/>
+  </Function>
+  <Function id="_2222" name="__uninitialized_copy_aux" returns="_2748" context="_2" mangled="_ZSt24__uninitialized_copy_auxIPiS0_ET0_T_S2_S1_12__false_type" demangled="int* std::__uninitialized_copy_aux<int*, int*>(int*, int*, int*, __false_type)" location="f96:81" file="f96" line="81" extern="1" inline="1">
+    <Argument name="__first" type="_2748" location="f96:81" file="f96" line="81"/>
+    <Argument name="__last" type="_2748" location="f96:81" file="f96" line="81"/>
+    <Argument name="__result" type="_2748" location="f96:81" file="f96" line="81"/>
+    <Argument type="_1286" location="f96:81" file="f96" line="81"/>
+  </Function>
+  <Function id="_2223" name="__uninitialized_copy_aux" returns="_2748" context="_2" mangled="_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_12__false_type" demangled="int* std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_itera [...]
+    <Argument name="__first" type="_3335" location="f96:81" file="f96" line="81"/>
+    <Argument name="__last" type="_3335" location="f96:81" file="f96" line="81"/>
+    <Argument name="__result" type="_2748" location="f96:81" file="f96" line="81"/>
+    <Argument type="_1286" location="f96:81" file="f96" line="81"/>
+  </Function>
+  <Function id="_2224" name="__uninitialized_copy_aux" returns="_2005" context="_2" mangled="_ZSt24__uninitialized_copy_auxISt15_Deque_iteratorIcRcPcES3_ET0_T_S5_S4_11__true_type" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_aux<std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std:: [...]
+    <Argument name="__first" type="_2005" location="f96:74" file="f96" line="74"/>
+    <Argument name="__last" type="_2005" location="f96:74" file="f96" line="74"/>
+    <Argument name="__result" type="_2005" location="f96:74" file="f96" line="74"/>
+    <Argument type="_1287" location="f96:74" file="f96" line="74"/>
+  </Function>
+  <Function id="_2225" name="__uninitialized_copy_aux" returns="_3329" context="_2" mangled="_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEES6_ET0_T_S8_S7_11__true_type" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __ [...]
+    <Argument name="__first" type="_3329" location="f96:74" file="f96" line="74"/>
+    <Argument name="__last" type="_3329" location="f96:74" file="f96" line="74"/>
+    <Argument name="__result" type="_3329" location="f96:74" file="f96" line="74"/>
+    <Argument type="_1287" location="f96:74" file="f96" line="74"/>
+  </Function>
+  <Function id="_2226" name="__uninitialized_copy_aux" returns="_2005" context="_2" mangled="_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKcSsEESt15_Deque_iteratorIcRcPcEET0_T_SA_S9_11__true_type" demangled="std::_Deque_iterator<char, char&, char*> std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_iterator<char, char&, char*> >(__gnu_cxx::__normal_iterator<char const*, std::string>, __ [...]
+    <Argument name="__first" type="_3328" location="f96:74" file="f96" line="74"/>
+    <Argument name="__last" type="_3328" location="f96:74" file="f96" line="74"/>
+    <Argument name="__result" type="_2005" location="f96:74" file="f96" line="74"/>
+    <Argument type="_1287" location="f96:74" file="f96" line="74"/>
+  </Function>
+  <Function id="_2227" name="__uninitialized_copy_aux" returns="_2748" context="_2" mangled="_ZSt24__uninitialized_copy_auxIPiS0_ET0_T_S2_S1_11__true_type" demangled="int* std::__uninitialized_copy_aux<int*, int*>(int*, int*, int*, __true_type)" location="f96:74" file="f96" line="74" endline="74" inline="1">
+    <Argument name="__first" type="_2748" location="f96:74" file="f96" line="74"/>
+    <Argument name="__last" type="_2748" location="f96:74" file="f96" line="74"/>
+    <Argument name="__result" type="_2748" location="f96:74" file="f96" line="74"/>
+    <Argument type="_1287" location="f96:74" file="f96" line="74"/>
+  </Function>
+  <Function id="_2228" name="__uninitialized_copy_aux" returns="_2748" context="_2" mangled="_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_11__true_type" demangled="int* std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterat [...]
+    <Argument name="__first" type="_3335" location="f96:74" file="f96" line="74"/>
+    <Argument name="__last" type="_3335" location="f96:74" file="f96" line="74"/>
+    <Argument name="__result" type="_2748" location="f96:74" file="f96" line="74"/>
+    <Argument type="_1287" location="f96:74" file="f96" line="74"/>
+  </Function>
+  <Function id="_2229" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEESsEvT_S7_SaIT0_E" demangled="void std::_Destroy<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, std::string>(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::stri [...]
+    <Argument name="__first" type="_3329" location="f97:181" file="f97" line="181"/>
+    <Argument name="__last" type="_3329" location="f97:181" file="f97" line="181"/>
+    <Argument type="_2513" location="f97:181" file="f97" line="181"/>
+  </Function>
+  <Function id="_2230" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyISt15_Deque_iteratorIcRcPcEcEvT_S4_SaIT0_E" demangled="void std::_Destroy<std::_Deque_iterator<char, char&, char*>, char>(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::allocator<char>)" location="f97:181" file="f97" line="181" endline="182" inline="1">
+    <Argument name="__first" type="_2005" location="f97:181" file="f97" line="181"/>
+    <Argument name="__last" type="_2005" location="f97:181" file="f97" line="181"/>
+    <Argument type="_2512" location="f97:181" file="f97" line="181"/>
+  </Function>
+  <Function id="_2231" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyIPSsSsEvT_S1_SaIT0_E" demangled="void std::_Destroy<std::string*, std::string>(std::string*, std::string*, std::allocator<std::string>)" location="f97:181" file="f97" line="181" endline="182" inline="1">
+    <Argument name="__first" type="_4014" location="f97:181" file="f97" line="181"/>
+    <Argument name="__last" type="_4014" location="f97:181" file="f97" line="181"/>
+    <Argument type="_2513" location="f97:181" file="f97" line="181"/>
+  </Function>
+  <Function id="_2232" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyIPiiEvT_S1_SaIT0_E" demangled="void std::_Destroy<int*, int>(int*, int*, std::allocator<int>)" location="f97:181" file="f97" line="181" endline="182" inline="1">
+    <Argument name="__first" type="_2748" location="f97:181" file="f97" line="181"/>
+    <Argument name="__last" type="_2748" location="f97:181" file="f97" line="181"/>
+    <Argument type="_2516" location="f97:181" file="f97" line="181"/>
+  </Function>
+  <Function id="_2233" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEES4_EvT_S7_T0_" demangled="void std::_Destroy<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, std::allocator<std::string> >(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_i [...]
+    <Argument name="__first" type="_3329" location="f97:172" file="f97" line="172"/>
+    <Argument name="__last" type="_3329" location="f97:172" file="f97" line="172"/>
+    <Argument name="__alloc" type="_2513" location="f97:172" file="f97" line="172"/>
+  </Function>
+  <Function id="_2234" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyISt15_Deque_iteratorIcRcPcESaIcEEvT_S5_T0_" demangled="void std::_Destroy<std::_Deque_iterator<char, char&, char*>, std::allocator<char> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::allocator<char>)" location="f97:172" file="f97" line="172" extern="1">
+    <Argument name="__first" type="_2005" location="f97:172" file="f97" line="172"/>
+    <Argument name="__last" type="_2005" location="f97:172" file="f97" line="172"/>
+    <Argument name="__alloc" type="_2512" location="f97:172" file="f97" line="172"/>
+  </Function>
+  <Function id="_2235" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyIPSsSaISsEEvT_S2_T0_" demangled="void std::_Destroy<std::string*, std::allocator<std::string> >(std::string*, std::string*, std::allocator<std::string>)" location="f97:172" file="f97" line="172" extern="1">
+    <Argument name="__first" type="_4014" location="f97:172" file="f97" line="172"/>
+    <Argument name="__last" type="_4014" location="f97:172" file="f97" line="172"/>
+    <Argument name="__alloc" type="_2513" location="f97:172" file="f97" line="172"/>
+  </Function>
+  <Function id="_2236" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyIPiSaIiEEvT_S2_T0_" demangled="void std::_Destroy<int*, std::allocator<int> >(int*, int*, std::allocator<int>)" location="f97:172" file="f97" line="172" extern="1">
+    <Argument name="__first" type="_2748" location="f97:172" file="f97" line="172"/>
+    <Argument name="__last" type="_2748" location="f97:172" file="f97" line="172"/>
+    <Argument name="__alloc" type="_2516" location="f97:172" file="f97" line="172"/>
+  </Function>
+  <Function id="_2237" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_" demangled="void std::_Destroy<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > >(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string*, std::vector<s [...]
+    <Argument name="__first" type="_3329" location="f97:149" file="f97" line="149"/>
+    <Argument name="__last" type="_3329" location="f97:149" file="f97" line="149"/>
+  </Function>
+  <Function id="_2238" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyISt15_Deque_iteratorIcRcPcEEvT_S4_" demangled="void std::_Destroy<std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>)" location="f97:149" file="f97" line="149" endline="155" inline="1">
+    <Argument name="__first" type="_2005" location="f97:149" file="f97" line="149"/>
+    <Argument name="__last" type="_2005" location="f97:149" file="f97" line="149"/>
+  </Function>
+  <Function id="_2239" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyIPSsEvT_S1_" demangled="void std::_Destroy<std::string*>(std::string*, std::string*)" location="f97:149" file="f97" line="149" endline="155" inline="1">
+    <Argument name="__first" type="_4014" location="f97:149" file="f97" line="149"/>
+    <Argument name="__last" type="_4014" location="f97:149" file="f97" line="149"/>
+  </Function>
+  <Function id="_2240" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyIPiEvT_S1_" demangled="void std::_Destroy<int*>(int*, int*)" location="f97:149" file="f97" line="149" endline="155" inline="1">
+    <Argument name="__first" type="_2748" location="f97:149" file="f97" line="149"/>
+    <Argument name="__last" type="_2748" location="f97:149" file="f97" line="149"/>
+  </Function>
+  <Function id="_2241" name="__destroy_aux" returns="_1194" context="_2" mangled="_ZSt13__destroy_auxIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_11__true_type" demangled="void std::__destroy_aux<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > >(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<s [...]
+    <Argument type="_3329" location="f97:137" file="f97" line="137"/>
+    <Argument type="_3329" location="f97:137" file="f97" line="137"/>
+    <Argument type="_1287" location="f97:137" file="f97" line="137"/>
+  </Function>
+  <Function id="_2242" name="__destroy_aux" returns="_1194" context="_2" mangled="_ZSt13__destroy_auxISt15_Deque_iteratorIcRcPcEEvT_S4_11__true_type" demangled="void std::__destroy_aux<std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, __true_type)" location="f97:137" file="f97" line="137" endline="137" inline="1">
+    <Argument type="_2005" location="f97:137" file="f97" line="137"/>
+    <Argument type="_2005" location="f97:137" file="f97" line="137"/>
+    <Argument type="_1287" location="f97:137" file="f97" line="137"/>
+  </Function>
+  <Function id="_2243" name="__destroy_aux" returns="_1194" context="_2" mangled="_ZSt13__destroy_auxIPSsEvT_S1_11__true_type" demangled="void std::__destroy_aux<std::string*>(std::string*, std::string*, __true_type)" location="f97:137" file="f97" line="137" extern="1" inline="1">
+    <Argument type="_4014" location="f97:137" file="f97" line="137"/>
+    <Argument type="_4014" location="f97:137" file="f97" line="137"/>
+    <Argument type="_1287" location="f97:137" file="f97" line="137"/>
+  </Function>
+  <Function id="_2244" name="__destroy_aux" returns="_1194" context="_2" mangled="_ZSt13__destroy_auxIPiEvT_S1_11__true_type" demangled="void std::__destroy_aux<int*>(int*, int*, __true_type)" location="f97:137" file="f97" line="137" endline="137" inline="1">
+    <Argument type="_2748" location="f97:137" file="f97" line="137"/>
+    <Argument type="_2748" location="f97:137" file="f97" line="137"/>
+    <Argument type="_1287" location="f97:137" file="f97" line="137"/>
+  </Function>
+  <Function id="_2245" name="__destroy_aux" returns="_1194" context="_2" mangled="_ZSt13__destroy_auxIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_12__false_type" demangled="void std::__destroy_aux<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > >(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator< [...]
+    <Argument name="__first" type="_3329" location="f97:120" file="f97" line="120"/>
+    <Argument name="__last" type="_3329" location="f97:120" file="f97" line="120"/>
+    <Argument type="_1286" location="f97:120" file="f97" line="120"/>
+  </Function>
+  <Function id="_2246" name="__destroy_aux" returns="_1194" context="_2" mangled="_ZSt13__destroy_auxISt15_Deque_iteratorIcRcPcEEvT_S4_12__false_type" demangled="void std::__destroy_aux<std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, __false_type)" location="f97:120" file="f97" line="120" extern="1" inline="1">
+    <Argument name="__first" type="_2005" location="f97:120" file="f97" line="120"/>
+    <Argument name="__last" type="_2005" location="f97:120" file="f97" line="120"/>
+    <Argument type="_1286" location="f97:120" file="f97" line="120"/>
+  </Function>
+  <Function id="_2247" name="__destroy_aux" returns="_1194" context="_2" mangled="_ZSt13__destroy_auxIPSsEvT_S1_12__false_type" demangled="void std::__destroy_aux<std::string*>(std::string*, std::string*, __false_type)" location="f97:120" file="f97" line="120" endline="122" inline="1">
+    <Argument name="__first" type="_4014" location="f97:120" file="f97" line="120"/>
+    <Argument name="__last" type="_4014" location="f97:120" file="f97" line="120"/>
+    <Argument type="_1286" location="f97:120" file="f97" line="120"/>
+  </Function>
+  <Function id="_2248" name="__destroy_aux" returns="_1194" context="_2" mangled="_ZSt13__destroy_auxIPiEvT_S1_12__false_type" demangled="void std::__destroy_aux<int*>(int*, int*, __false_type)" location="f97:120" file="f97" line="120" extern="1" inline="1">
+    <Argument name="__first" type="_2748" location="f97:120" file="f97" line="120"/>
+    <Argument name="__last" type="_2748" location="f97:120" file="f97" line="120"/>
+    <Argument type="_1286" location="f97:120" file="f97" line="120"/>
+  </Function>
+  <Function id="_2249" name="_Destroy" returns="_1194" context="_2" mangled="_ZSt8_DestroyISsEvPT_" demangled="void std::_Destroy<std::string>(std::string*)" location="f97:107" file="f97" line="107" endline="107" inline="1">
+    <Argument name="__pointer" type="_4014" location="f97:107" file="f97" line="107"/>
+  </Function>
+  <Function id="_2250" name="_Construct" returns="_1194" context="_2" mangled="_ZSt10_ConstructISsSsEvPT_RKT0_" demangled="void std::_Construct<std::string, std::string>(std::string*, std::string const&)" location="f97:78" file="f97" line="78" endline="81" inline="1">
+    <Argument name="__p" type="_4014" location="f97:78" file="f97" line="78"/>
+    <Argument name="__value" type="_4948" location="f97:78" file="f97" line="78"/>
+  </Function>
+  <OperatorFunction id="_2251" name="==" returns="_3949" context="_2" mangled="_ZSteqIwwEbRKSaIT_ERKSaIT0_E" demangled="bool std::operator==<wchar_t, wchar_t>(std::allocator<wchar_t> const&, std::allocator<wchar_t> const&)" location="f98:113" file="f98" line="113" endline="113" inline="1">
+    <Argument type="_5510" location="f98:113" file="f98" line="113"/>
+    <Argument type="_5510" location="f98:113" file="f98" line="113"/>
+  </OperatorFunction>
+  <OperatorFunction id="_2252" name="==" returns="_3949" context="_2" mangled="_ZSteqIccEbRKSaIT_ERKSaIT0_E" demangled="bool std::operator==<char, char>(std::allocator<char> const&, std::allocator<char> const&)" location="f98:113" file="f98" line="113" endline="113" inline="1">
+    <Argument type="_5511" location="f98:113" file="f98" line="113"/>
+    <Argument type="_5511" location="f98:113" file="f98" line="113"/>
+  </OperatorFunction>
+  <Function id="_2253" name="set_new_handler" returns="_2255" throw="" context="_2" mangled="_ZSt15set_new_handlerPFvvE" demangled="std::set_new_handler(void (*)())" location="f34:70" file="f34" line="70" extern="1">
+    <Argument type="_2255" location="f34:70" file="f34" line="70"/>
+  </Function>
+  <PointerType id="_2254" type="_5512" size="32" align="32"/>
+  <Typedef id="_2255" name="new_handler" type="_2254" context="_2" location="f34:68" file="f34" line="68"/>
+  <Variable id="_2256" name="nothrow" type="_2257c" context="_2" mangled="_ZSt7nothrow" demangled="std::nothrow" location="f34:65" file="f34" line="65" extern="1"/>
+  <Struct id="_2257" name="nothrow_t" context="_2" mangled="St9nothrow_t" demangled="std::nothrow_t" location="f34:64" file="f34" line="64" artificial="1" size="8" align="8" members="_5514 _5515 " bases=""/>
+  <Function id="_2258" name="use_facet" returns="_5516" context="_2" mangled="_ZSt9use_facetIN5boost9date_time10date_facetINS0_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > > const& std::use_facet<boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_tra [...]
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2259" name="use_facet" returns="_5518" context="_2" mangled="_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale" demangled="std::messages<wchar_t> const& std::use_facet<std::messages<wchar_t> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2260" name="use_facet" returns="_5519" context="_2" mangled="_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const& std::use_facet<std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:111" file="f87" line="111" ex [...]
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2261" name="use_facet" returns="_5520" context="_2" mangled="_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale" demangled="std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const& std::use_facet<std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:111" file="f87" line="111" ex [...]
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2262" name="use_facet" returns="_5521" context="_2" mangled="_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale" demangled="std::__timepunct<wchar_t> const& std::use_facet<std::__timepunct<wchar_t> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2263" name="use_facet" returns="_5522" context="_2" mangled="_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale" demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const& std::use_facet<std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:111" file="f87" line="111" [...]
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2264" name="use_facet" returns="_5523" context="_2" mangled="_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale" demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const& std::use_facet<std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:111" file="f87" line="111" [...]
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2265" name="use_facet" returns="_5524" context="_2" mangled="_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale" demangled="std::moneypunct<wchar_t, false> const& std::use_facet<std::moneypunct<wchar_t, false> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2266" name="use_facet" returns="_5525" context="_2" mangled="_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale" demangled="std::moneypunct<wchar_t, true> const& std::use_facet<std::moneypunct<wchar_t, true> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2267" name="use_facet" returns="_5526" context="_2" mangled="_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const& std::use_facet<std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2268" name="use_facet" returns="_5527" context="_2" mangled="_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const& std::use_facet<std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2269" name="use_facet" returns="_5528" context="_2" mangled="_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale" demangled="std::numpunct<wchar_t> const& std::use_facet<std::numpunct<wchar_t> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2270" name="use_facet" returns="_5529" context="_2" mangled="_ZSt9use_facetISt7collateIwEERKT_RKSt6locale" demangled="std::collate<wchar_t> const& std::use_facet<std::collate<wchar_t> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2271" name="use_facet" returns="_5530" context="_2" mangled="_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale" demangled="std::codecvt<wchar_t, char, __mbstate_t> const& std::use_facet<std::codecvt<wchar_t, char, __mbstate_t> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2272" name="use_facet" returns="_5531" context="_2" mangled="_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale" demangled="std::messages<char> const& std::use_facet<std::messages<char> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2273" name="use_facet" returns="_5532" context="_2" mangled="_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > const& std::use_facet<std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2274" name="use_facet" returns="_5533" context="_2" mangled="_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale" demangled="std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > const& std::use_facet<std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2275" name="use_facet" returns="_5534" context="_2" mangled="_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale" demangled="std::__timepunct<char> const& std::use_facet<std::__timepunct<char> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2276" name="use_facet" returns="_5535" context="_2" mangled="_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale" demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > const& std::use_facet<std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2277" name="use_facet" returns="_5536" context="_2" mangled="_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale" demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > const& std::use_facet<std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2278" name="use_facet" returns="_5537" context="_2" mangled="_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale" demangled="std::moneypunct<char, false> const& std::use_facet<std::moneypunct<char, false> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2279" name="use_facet" returns="_5538" context="_2" mangled="_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale" demangled="std::moneypunct<char, true> const& std::use_facet<std::moneypunct<char, true> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2280" name="use_facet" returns="_5539" context="_2" mangled="_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > const& std::use_facet<std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2281" name="use_facet" returns="_5540" context="_2" mangled="_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > const& std::use_facet<std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2282" name="use_facet" returns="_5541" context="_2" mangled="_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale" demangled="std::numpunct<char> const& std::use_facet<std::numpunct<char> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2283" name="use_facet" returns="_5542" context="_2" mangled="_ZSt9use_facetISt7collateIcEERKT_RKSt6locale" demangled="std::collate<char> const& std::use_facet<std::collate<char> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2284" name="use_facet" returns="_5543" context="_2" mangled="_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale" demangled="std::codecvt<char, char, __mbstate_t> const& std::use_facet<std::codecvt<char, char, __mbstate_t> >(std::locale const&)" location="f87:111" file="f87" line="111" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:111" file="f87" line="111"/>
+  </Function>
+  <Function id="_2285" name="use_facet" returns="_5544" context="_2" mangled="_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale" demangled="std::ctype<wchar_t> const& std::use_facet<std::ctype<wchar_t> >(std::locale const&)" location="f29:1504" file="f29" line="1504" extern="1">
+    <Argument name="__loc" type="_5517" location="f29:1504" file="f29" line="1504"/>
+  </Function>
+  <Function id="_2286" name="use_facet" returns="_5545" context="_2" mangled="_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale" demangled="std::ctype<char> const& std::use_facet<std::ctype<char> >(std::locale const&)" location="f29:1198" file="f29" line="1198" extern="1">
+    <Argument name="__loc" type="_5517" location="f29:1198" file="f29" line="1198"/>
+  </Function>
+  <Function id="_2287" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetIN5boost9date_time10date_facetINS0_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale" demangled="bool std::has_facet<boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:89" file="f87" line="89" endline="92">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2288" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt8messagesIwEEbRKSt6locale" demangled="bool std::has_facet<std::messages<wchar_t> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2289" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale" demangled="bool std::has_facet<std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2290" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale" demangled="bool std::has_facet<std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2291" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale" demangled="bool std::has_facet<std::__timepunct<wchar_t> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2292" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale" demangled="bool std::has_facet<std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2293" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale" demangled="bool std::has_facet<std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2294" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale" demangled="bool std::has_facet<std::moneypunct<wchar_t, false> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2295" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale" demangled="bool std::has_facet<std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2296" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale" demangled="bool std::has_facet<std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2297" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt8numpunctIwEEbRKSt6locale" demangled="bool std::has_facet<std::numpunct<wchar_t> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2298" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt7collateIwEEbRKSt6locale" demangled="bool std::has_facet<std::collate<wchar_t> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2299" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale" demangled="bool std::has_facet<std::codecvt<wchar_t, char, __mbstate_t> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2300" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt5ctypeIwEEbRKSt6locale" demangled="bool std::has_facet<std::ctype<wchar_t> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2301" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt8messagesIcEEbRKSt6locale" demangled="bool std::has_facet<std::messages<char> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2302" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale" demangled="bool std::has_facet<std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2303" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale" demangled="bool std::has_facet<std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2304" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale" demangled="bool std::has_facet<std::__timepunct<char> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2305" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale" demangled="bool std::has_facet<std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2306" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale" demangled="bool std::has_facet<std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2307" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale" demangled="bool std::has_facet<std::moneypunct<char, false> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2308" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale" demangled="bool std::has_facet<std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2309" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale" demangled="bool std::has_facet<std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2310" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt8numpunctIcEEbRKSt6locale" demangled="bool std::has_facet<std::numpunct<char> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2311" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt7collateIcEEbRKSt6locale" demangled="bool std::has_facet<std::collate<char> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2312" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale" demangled="bool std::has_facet<std::codecvt<char, char, __mbstate_t> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Function id="_2313" name="has_facet" returns="_3949" throw="" context="_2" mangled="_ZSt9has_facetISt5ctypeIcEEbRKSt6locale" demangled="bool std::has_facet<std::ctype<char> >(std::locale const&)" location="f87:89" file="f87" line="89" extern="1">
+    <Argument name="__loc" type="_5517" location="f87:89" file="f87" line="89"/>
+  </Function>
+  <Class id="_2314" name="messages_byname<wchar_t>" context="_2" mangled="St15messages_bynameIwE" demangled="std::messages_byname<wchar_t>" location="f29:4476" file="f29" line="4476" artificial="1" size="128" align="32" members="_5546 _5547 _5548 _5549 _5550 " bases="_2316 ">
+    <Base type="_2316" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2315" name="messages_byname<char>" context="_2" mangled="St15messages_bynameIcE" demangled="std::messages_byname<char>" location="f29:4476" file="f29" line="4476" artificial="1" size="128" align="32" members="_5551 _5552 _5553 _5554 _5555 " bases="_2317 ">
+    <Base type="_2317" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2316" name="messages<wchar_t>" context="_2" mangled="St8messagesIwE" demangled="std::messages<wchar_t>" location="f29:4259" file="f29" line="4259" artificial="1" size="128" align="32" members="_5556 _5557 _5558 _5559 _5560 _5561 _5562 _5563 _5564 _5565 _5566 _5567 _5568 _5569 _5570 _5571 _5572 _5573 " bases="_4725 _2318 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2318" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2317" name="messages<char>" context="_2" mangled="St8messagesIcE" demangled="std::messages<char>" location="f29:4259" file="f29" line="4259" artificial="1" size="128" align="32" members="_5574 _5575 _5576 _5577 _5578 _5579 _5580 _5581 _5582 _5583 _5584 _5585 _5586 _5587 _5588 _5589 _5590 _5591 " bases="_4725 _2318 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2318" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Struct id="_2318" name="messages_base" context="_2" mangled="St13messages_base" demangled="std::messages_base" location="f29:4233" file="f29" line="4233" artificial="1" size="8" align="8" members="_5592 _5593 _5594 " bases=""/>
+  <Class id="_2319" name="moneypunct_byname<wchar_t,true>" context="_2" mangled="St17moneypunct_bynameIwLb1EE" demangled="std::moneypunct_byname<wchar_t, true>" location="f29:3928" file="f29" line="3928" artificial="1" size="96" align="32" members="_5595 _5596 _5597 _5598 _5599 _5600 " bases="_2324 ">
+    <Base type="_2324" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2320" name="moneypunct_byname<wchar_t,false>" context="_2" mangled="St17moneypunct_bynameIwLb0EE" demangled="std::moneypunct_byname<wchar_t, false>" location="f29:3928" file="f29" line="3928" artificial="1" size="96" align="32" members="_5601 _5602 _5603 _5604 _5605 _5606 " bases="_2323 ">
+    <Base type="_2323" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2321" name="moneypunct_byname<char,true>" context="_2" mangled="St17moneypunct_bynameIcLb1EE" demangled="std::moneypunct_byname<char, true>" location="f29:3928" file="f29" line="3928" artificial="1" size="96" align="32" members="_5607 _5608 _5609 _5610 _5611 _5612 " bases="_2326 ">
+    <Base type="_2326" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2322" name="moneypunct_byname<char,false>" context="_2" mangled="St17moneypunct_bynameIcLb0EE" demangled="std::moneypunct_byname<char, false>" location="f29:3928" file="f29" line="3928" artificial="1" size="96" align="32" members="_5613 _5614 _5615 _5616 _5617 _5618 " bases="_2325 ">
+    <Base type="_2325" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2323" name="moneypunct<wchar_t,false>" context="_2" mangled="St10moneypunctIwLb0EE" demangled="std::moneypunct<wchar_t, false>" location="f29:3541" file="f29" line="3541" artificial="1" size="96" align="32" members="_5619 _5620 _5621 _5622 _5623 _5624 _5625 _5626 _5627 _5628 _5629 _5630 _5631 _5632 _5633 _5634 _5635 _5636 _5637 _5638 _5639 _5640 _5641 _5642 _5643 _5644 _5645 _5646 _5647 _5648 " bases="_4725 _2331 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2331" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2324" name="moneypunct<wchar_t,true>" context="_2" mangled="St10moneypunctIwLb1EE" demangled="std::moneypunct<wchar_t, true>" location="f29:3541" file="f29" line="3541" artificial="1" size="96" align="32" members="_5649 _5650 _5651 _5652 _5653 _5654 _5655 _5656 _5657 _5658 _5659 _5660 _5661 _5662 _5663 _5664 _5665 _5666 _5667 _5668 _5669 _5670 _5671 _5672 _5673 _5674 _5675 _5676 _5677 _5678 " bases="_4725 _2331 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2331" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2325" name="moneypunct<char,false>" context="_2" mangled="St10moneypunctIcLb0EE" demangled="std::moneypunct<char, false>" location="f29:3541" file="f29" line="3541" artificial="1" size="96" align="32" members="_5679 _5680 _5681 _5682 _5683 _5684 _5685 _5686 _5687 _5688 _5689 _5690 _5691 _5692 _5693 _5694 _5695 _5696 _5697 _5698 _5699 _5700 _5701 _5702 _5703 _5704 _5705 _5706 _5707 _5708 " bases="_4725 _2331 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2331" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2326" name="moneypunct<char,true>" context="_2" mangled="St10moneypunctIcLb1EE" demangled="std::moneypunct<char, true>" location="f29:3541" file="f29" line="3541" artificial="1" size="96" align="32" members="_5709 _5710 _5711 _5712 _5713 _5714 _5715 _5716 _5717 _5718 _5719 _5720 _5721 _5722 _5723 _5724 _5725 _5726 _5727 _5728 _5729 _5730 _5731 _5732 _5733 _5734 _5735 _5736 _5737 _5738 " bases="_4725 _2331 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2331" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2327" name="money_put<wchar_t,std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_2" mangled="St9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE" demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f29:4105" file="f29" line="4105" artificial="1" size="64" align="32" members="_5739 _5740 _5741 _5742 _5743 _5744 _5745 _5746 _5747 _5748 _5749 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2328" name="money_put<char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f29:4105" file="f29" line="4105" artificial="1" size="64" align="32" members="_5750 _5751 _5752 _5753 _5754 _5755 _5756 _5757 _5758 _5759 _5760 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2329" name="money_get<wchar_t,std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_2" mangled="St9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE" demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f29:3970" file="f29" line="3970" artificial="1" size="64" align="32" members="_5761 _5762 _5763 _5764 _5765 _5766 _5767 _5768 _5769 _5770 _5771 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2330" name="money_get<char,std::istreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >" location="f29:3970" file="f29" line="3970" artificial="1" size="64" align="32" members="_5772 _5773 _5774 _5775 _5776 _5777 _5778 _5779 _5780 _5781 _5782 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2331" name="money_base" context="_2" mangled="St10money_base" demangled="std::money_base" location="f29:3448" file="f29" line="3448" artificial="1" size="8" align="8" members="_5783 _5784 _5785 _5786 _5787 _5788 _5789 _5790 " bases=""/>
+  <Class id="_2332" name="time_put_byname<wchar_t,std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_2" mangled="St15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE" demangled="std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f29:3420" file="f29" line="3420" artificial="1" size="64" align="32" members="_5791 _5792 _5793 _5794 _5795 " bases="_2335 ">
+    <Base type="_2335" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2333" name="time_put_byname<char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f29:3420" file="f29" line="3420" artificial="1" size="64" align="32" members="_5796 _5797 _5798 _5799 _5800 " bases="_2334 ">
+    <Base type="_2334" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2334" name="time_put<char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f29:3324" file="f29" line="3324" artificial="1" size="64" align="32" members="_5801 _5802 _5803 _5804 _5805 _5806 _5807 _5808 _5809 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2335" name="time_put<wchar_t,std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_2" mangled="St8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE" demangled="std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f29:3324" file="f29" line="3324" artificial="1" size="64" align="32" members="_5810 _5811 _5812 _5813 _5814 _5815 _5816 _5817 _5818 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2336" name="time_get_byname<wchar_t,std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_2" mangled="St15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE" demangled="std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f29:3296" file="f29" line="3296" artificial="1" size="64" align="32" members="_5819 _5820 _5821 _5822 _5823 " bases="_2338 ">
+    <Base type="_2338" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2337" name="time_get_byname<char,std::istreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >" location="f29:3296" file="f29" line="3296" artificial="1" size="64" align="32" members="_5824 _5825 _5826 _5827 _5828 " bases="_2339 ">
+    <Base type="_2339" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2338" name="time_get<wchar_t,std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_2" mangled="St8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f29:2983" file="f29" line="2983" artificial="1" size="64" align="32" members="_5829 _5830 _5831 _5832 _5833 _5834 _5835 _5836 _5837 _5838 _5839 _5840 _5841 _ [...]
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2340" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2339" name="time_get<char,std::istreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >" location="f29:2983" file="f29" line="2983" artificial="1" size="64" align="32" members="_5851 _5852 _5853 _5854 _5855 _5856 _5857 _5858 _5859 _5860 _5861 _5862 _5863 _5864 _5865 _5866 _ [...]
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2340" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2340" name="time_base" context="_2" mangled="St9time_base" demangled="std::time_base" location="f29:2675" file="f29" line="2675" artificial="1" size="8" align="8" members="_5873 _5874 _5875 " bases=""/>
+  <Class id="_2341" name="collate_byname<wchar_t>" context="_2" mangled="St14collate_bynameIwE" demangled="std::collate_byname<wchar_t>" location="f29:2643" file="f29" line="2643" artificial="1" size="96" align="32" members="_5876 _5877 _5878 _5879 _5880 " bases="_2343 ">
+    <Base type="_2343" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2342" name="collate_byname<char>" context="_2" mangled="St14collate_bynameIcE" demangled="std::collate_byname<char>" location="f29:2643" file="f29" line="2643" artificial="1" size="96" align="32" members="_5881 _5882 _5883 _5884 _5885 " bases="_2344 ">
+    <Base type="_2344" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2343" name="collate<wchar_t>" context="_2" mangled="St7collateIwE" demangled="std::collate<wchar_t>" location="f29:2467" file="f29" line="2467" artificial="1" size="96" align="32" members="_5886 _5887 _5888 _5889 _5890 _5891 _5892 _5893 _5894 _5895 _5896 _5897 _5898 _5899 _5900 _5901 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2344" name="collate<char>" context="_2" mangled="St7collateIcE" demangled="std::collate<char>" location="f29:2467" file="f29" line="2467" artificial="1" size="96" align="32" members="_5902 _5903 _5904 _5905 _5906 _5907 _5908 _5909 _5910 _5911 _5912 _5913 _5914 _5915 _5916 _5917 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2345" name="numpunct_byname<wchar_t>" context="_2" mangled="St15numpunct_bynameIwE" demangled="std::numpunct_byname<wchar_t>" location="f29:1890" file="f29" line="1890" artificial="1" size="96" align="32" members="_5918 _5919 _5920 _5921 _5922 " bases="_2347 ">
+    <Base type="_2347" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2346" name="numpunct_byname<char>" context="_2" mangled="St15numpunct_bynameIcE" demangled="std::numpunct_byname<char>" location="f29:1890" file="f29" line="1890" artificial="1" size="96" align="32" members="_5923 _5924 _5925 _5926 _5927 " bases="_2348 ">
+    <Base type="_2348" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2347" name="numpunct<wchar_t>" context="_2" mangled="St8numpunctIwE" demangled="std::numpunct<wchar_t>" location="f29:1658" file="f29" line="1658" artificial="1" size="96" align="32" members="_5928 _5929 _5930 _5931 _5932 _5933 _5934 _5935 _5936 _5937 _5938 _5939 _5940 _5941 _5942 _5943 _5944 _5945 _5946 _5947 _5948 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2348" name="numpunct<char>" context="_2" mangled="St8numpunctIcE" demangled="std::numpunct<char>" location="f29:1658" file="f29" line="1658" artificial="1" size="96" align="32" members="_5949 _5950 _5951 _5952 _5953 _5954 _5955 _5956 _5957 _5958 _5959 _5960 _5961 _5962 _5963 _5964 _5965 _5966 _5967 _5968 _5969 " bases="_4725 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2349" name="num_put<wchar_t,std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_2" mangled="St7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f29:2206" file="f29" line="2206" artificial="1" size="64" align="32" members="_5970 _5971 _5972 _5973 _5974 _5975 _5976 _5977 _5978 _5979 _5980 _5981 _5982 _598 [...]
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2350" name="num_put<char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f29:2206" file="f29" line="2206" artificial="1" size="64" align="32" members="_5995 _5996 _5997 _5998 _5999 _6000 _6001 _6002 _6003 _6004 _6005 _6006 _6007 _6008 _6009 _6010 _601 [...]
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2351" name="num_get<wchar_t,std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_2" mangled="St7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f29:1927" file="f29" line="1927" artificial="1" size="64" align="32" members="_6020 _6021 _6022 _6023 _6024 _6025 _6026 _6027 _6028 _6029 _6030 _6031 _6032 _603 [...]
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2352" name="num_get<char,std::istreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >" location="f29:1927" file="f29" line="1927" artificial="1" size="64" align="32" members="_6049 _6050 _6051 _6052 _6053 _6054 _6055 _6056 _6057 _6058 _6059 _6060 _6061 _6062 _6063 _6064 _606 [...]
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2353" name="codecvt_byname<wchar_t,char,__mbstate_t>" context="_2" mangled="St14codecvt_bynameIwc11__mbstate_tE" demangled="std::codecvt_byname<wchar_t, char, __mbstate_t>" location="f30:452" file="f30" line="452" artificial="1" size="96" align="32" members="_6078 _6079 _6080 " bases="_2355 ">
+    <Base type="_2355" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2354" name="codecvt_byname<char,char,__mbstate_t>" context="_2" mangled="St14codecvt_bynameIcc11__mbstate_tE" demangled="std::codecvt_byname<char, char, __mbstate_t>" location="f30:452" file="f30" line="452" artificial="1" size="96" align="32" members="_6081 _6082 _6083 " bases="_2356 ">
+    <Base type="_2356" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2355" name="codecvt<wchar_t,char,__mbstate_t>" context="_2" mangled="St7codecvtIwc11__mbstate_tE" demangled="std::codecvt<wchar_t, char, __mbstate_t>" location="f30:393" file="f30" line="393" artificial="1" size="96" align="32" members="_6084 _6085 _6086 _6087 _6088 _6089 _6090 _6091 _6092 _6093 _6094 _6095 _6096 _6097 _6098 _6099 " bases="_2091 ">
+    <Base type="_2091" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2356" name="codecvt<char,char,__mbstate_t>" context="_2" mangled="St7codecvtIcc11__mbstate_tE" demangled="std::codecvt<char, char, __mbstate_t>" location="f30:335" file="f30" line="335" artificial="1" size="96" align="32" members="_6100 _6101 _6102 _6103 _6104 _6105 _6106 _6107 _6108 _6109 _6110 _6111 _6112 _6113 _6114 _6115 " bases="_2092 ">
+    <Base type="_2092" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Struct id="_2357" name="__enc_traits" context="_2" incomplete="1" mangled="St12__enc_traits" demangled="std::__enc_traits" location="f99:121" file="f99" line="121" artificial="1" align="8"/>
+  <Class id="_2358" name="codecvt_base" context="_2" mangled="St12codecvt_base" demangled="std::codecvt_base" location="f30:49" file="f30" line="49" artificial="1" size="8" align="8" members="_4864 _6116 _6117 " bases=""/>
+  <Class id="_2359" name="ctype_byname<wchar_t>" context="_2" mangled="St12ctype_bynameIwE" demangled="std::ctype_byname<wchar_t>" location="f29:1513" file="f29" line="1513" artificial="1" size="10112" align="32" members="_6118 _6119 _6120 _6121 " bases="_2361 ">
+    <Base type="_2361" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2360" name="ctype_byname<char>" context="_2" mangled="St12ctype_bynameIcE" demangled="std::ctype_byname<char>" location="f29:1513" file="f29" line="1513" artificial="1" size="4352" align="32" members="_6122 _6123 _6124 _6125 " bases="_2362 ">
+    <Base type="_2362" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2361" name="ctype<wchar_t>" context="_2" mangled="St5ctypeIwE" demangled="std::ctype<wchar_t>" location="f29:1214" file="f29" line="1214" artificial="1" size="10112" align="32" members="_6126 _6127 _6128 _6129 _6130 _6131 _6132 _6133 _6134 _6135 _6136 _6137 _6138 _6139 _6140 _6141 _6142 _6143 _6144 _6145 _6146 _6147 _6148 _6149 _6150 _6151 _6152 " bases="_2093 ">
+    <Base type="_2093" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2362" name="ctype<char>" context="_2" mangled="St5ctypeIcE" demangled="std::ctype<char>" location="f29:676" file="f29" line="676" artificial="1" size="4352" align="32" members="_6153 _6154 _6155 _6156 _6157 _6158 _6159 _6160 _6161 _6162 _6163 _6164 _6165 _6166 _6167 _6168 _6169 _6170 _6171 _6172 _6173 _6174 _6175 _6176 _6177 _6178 _6179 _6180 _6181 _6182 _6183 _6184 _6185 _6186 _6187 _6188 _6189 _6190 _6191 _6192 " bases="_4725 _2363 ">
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+    <Base type="_2363" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Struct id="_2363" name="ctype_base" context="_2" mangled="St10ctype_base" demangled="std::ctype_base" location="f100:44" file="f100" line="44" artificial="1" size="8" align="8" members="_6193 _6194 _6195 _6196 _6197 _6198 _6199 _6200 _6201 _6202 _6203 _6204 _6205 _6206 _6207 " bases=""/>
+  <Function id="_2364" name="tolower" returns="_2961" context="_2" mangled="_ZSt7tolowerIcET_S0_RKSt6locale" demangled="char std::tolower<char>(char, std::locale const&)" location="f29:4575" file="f29" line="4575" endline="4575" inline="1">
+    <Argument name="__c" type="_2961" location="f29:4575" file="f29" line="4575"/>
+    <Argument name="__loc" type="_5517" location="f29:4575" file="f29" line="4575"/>
+  </Function>
+  <Class id="_2365" name="locale" context="_2" mangled="St6locale" demangled="std::locale" location="f3:68" file="f3" line="68" artificial="1" size="32" align="32" members="_6208 _6209 _6210 _6211 _6212 _6213 _6214 _6215 _6216 _6217 _6218 _6219 _6220 _6221 _4725 _6222 _6223 _6224 _6225 _6226 _6227 _6228 _6229 _6231 _6232 _6233 _6234 _6235 _6236 _6237 _6238 _6239 _6240 _6241 _6242 " bases=""/>
+  <Function id="_2366" name="lexicographical_compare" returns="_3949" context="_2" mangled="_ZSt23lexicographical_comparePKcS0_S0_S0_" demangled="std::lexicographical_compare(char const*, char const*, char const*, char const*)" location="f101:893" file="f101" line="893" endline="908" inline="1">
+    <Argument name="__first1" type="_2749" location="f101:893" file="f101" line="893"/>
+    <Argument name="__last1" type="_2749" location="f101:893" file="f101" line="893"/>
+    <Argument name="__first2" type="_2749" location="f101:893" file="f101" line="893"/>
+    <Argument name="__last2" type="_2749" location="f101:893" file="f101" line="893"/>
+  </Function>
+  <Function id="_2367" name="lexicographical_compare" returns="_3949" context="_2" mangled="_ZSt23lexicographical_comparePKhS0_S0_S0_" demangled="std::lexicographical_compare(unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*)" location="f101:879" file="f101" line="879" endline="888" inline="1">
+    <Argument name="__first1" type="_4700" location="f101:879" file="f101" line="879"/>
+    <Argument name="__last1" type="_4700" location="f101:879" file="f101" line="879"/>
+    <Argument name="__first2" type="_4700" location="f101:879" file="f101" line="879"/>
+    <Argument name="__last2" type="_4700" location="f101:879" file="f101" line="879"/>
+  </Function>
+  <Function id="_2368" name="lexicographical_compare" returns="_3949" context="_2" mangled="_ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_" demangled="bool std::lexicographical_compare<signed char const*, signed char const*>(signed char const*, signed char const*, signed char const*, signed char const*)" location="f101:814" file="f101" line="814" endline="835">
+    <Argument name="__first1" type="_4701" location="f101:814" file="f101" line="814"/>
+    <Argument name="__last1" type="_4701" location="f101:814" file="f101" line="814"/>
+    <Argument name="__first2" type="_4701" location="f101:814" file="f101" line="814"/>
+    <Argument name="__last2" type="_4701" location="f101:814" file="f101" line="814"/>
+  </Function>
+  <Function id="_2369" name="fill_n" returns="_1149" context="_2" mangled="_ZSt6fill_nIiEPcS0_T_RKc" demangled="char* std::fill_n<int>(char*, int, char const&)" location="f101:664" file="f101" line="664" extern="1" inline="1">
+    <Argument name="__first" type="_1149" location="f101:664" file="f101" line="664"/>
+    <Argument name="__n" type="_503" location="f101:664" file="f101" line="664"/>
+    <Argument name="__c" type="_4165" location="f101:664" file="f101" line="664"/>
+  </Function>
+  <Function id="_2370" name="fill_n" returns="_4684" context="_2" mangled="_ZSt6fill_nIiEPaPcT_RKa" demangled="signed char* std::fill_n<int>(char*, int, signed char const&)" location="f101:656" file="f101" line="656" extern="1" inline="1">
+    <Argument name="__first" type="_1149" location="f101:656" file="f101" line="656"/>
+    <Argument name="__n" type="_503" location="f101:656" file="f101" line="656"/>
+    <Argument name="__c" type="_6243" location="f101:656" file="f101" line="656"/>
+  </Function>
+  <Function id="_2371" name="fill_n" returns="_4685" context="_2" mangled="_ZSt6fill_nIiEPhS0_T_RKh" demangled="unsigned char* std::fill_n<int>(unsigned char*, int, unsigned char const&)" location="f101:648" file="f101" line="648" extern="1" inline="1">
+    <Argument name="__first" type="_4685" location="f101:648" file="f101" line="648"/>
+    <Argument name="__n" type="_503" location="f101:648" file="f101" line="648"/>
+    <Argument name="__c" type="_6244" location="f101:648" file="f101" line="648"/>
+  </Function>
+  <Function id="_2372" name="fill_n" returns="_2748" context="_2" mangled="_ZSt6fill_nIPiiiET_S1_T0_RKT1_" demangled="int* std::fill_n<int*, int, int>(int*, int, int const&)" location="f101:637" file="f101" line="637" endline="642">
+    <Argument name="__first" type="_2748" location="f101:637" file="f101" line="637"/>
+    <Argument name="__n" type="_503" location="f101:637" file="f101" line="637"/>
+    <Argument name="__value" type="_4080" location="f101:637" file="f101" line="637"/>
+  </Function>
+  <Struct id="_2373" name="__fill_n<true>" context="_2" mangled="St8__fill_nILb1EE" demangled="std::__fill_n<true>" location="f101:611" file="f101" line="611" artificial="1" size="8" align="8" members="_6245 _6246 " bases=""/>
+  <Function id="_2374" name="fill" returns="_1194" context="_2" mangled="_ZSt4fillPcS_RKc" demangled="std::fill(char*, char*, char const&)" location="f101:590" file="f101" line="590" endline="594" inline="1">
+    <Argument name="__first" type="_1149" location="f101:590" file="f101" line="590"/>
+    <Argument name="__last" type="_1149" location="f101:590" file="f101" line="590"/>
+    <Argument name="__c" type="_4165" location="f101:590" file="f101" line="590"/>
+  </Function>
+  <Function id="_2375" name="fill" returns="_1194" context="_2" mangled="_ZSt4fillPaS_RKa" demangled="std::fill(signed char*, signed char*, signed char const&)" location="f101:582" file="f101" line="582" endline="586" inline="1">
+    <Argument name="__first" type="_4684" location="f101:582" file="f101" line="582"/>
+    <Argument name="__last" type="_4684" location="f101:582" file="f101" line="582"/>
+    <Argument name="__c" type="_6243" location="f101:582" file="f101" line="582"/>
+  </Function>
+  <Function id="_2376" name="fill" returns="_1194" context="_2" mangled="_ZSt4fillPhS_RKh" demangled="std::fill(unsigned char*, unsigned char*, unsigned char const&)" location="f101:574" file="f101" line="574" endline="578" inline="1">
+    <Argument name="__first" type="_4685" location="f101:574" file="f101" line="574"/>
+    <Argument name="__last" type="_4685" location="f101:574" file="f101" line="574"/>
+    <Argument name="__c" type="_6244" location="f101:574" file="f101" line="574"/>
+  </Function>
+  <Struct id="_2377" name="__fill<true>" context="_2" mangled="St6__fillILb1EE" demangled="std::__fill<true>" location="f101:535" file="f101" line="535" artificial="1" size="8" align="8" members="_6248 _6249 " bases=""/>
+  <Function id="_2378" name="copy_backward" returns="_2005" context="_2" mangled="_ZSt13copy_backwardISt15_Deque_iteratorIcRcPcES3_ET0_T_S5_S4_" demangled="std::_Deque_iterator<char, char&, char*> std::copy_backward<std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>) [...]
+    <Argument name="__first" type="_2005" location="f101:505" file="f101" line="505"/>
+    <Argument name="__last" type="_2005" location="f101:505" file="f101" line="505"/>
+    <Argument name="__result" type="_2005" location="f101:505" file="f101" line="505"/>
+  </Function>
+  <Function id="_2379" name="copy_backward" returns="_3329" context="_2" mangled="_ZSt13copy_backwardIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEES6_ET0_T_S8_S7_" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > std::copy_backward<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string*, st [...]
+    <Argument name="__first" type="_3329" location="f101:505" file="f101" line="505"/>
+    <Argument name="__last" type="_3329" location="f101:505" file="f101" line="505"/>
+    <Argument name="__result" type="_3329" location="f101:505" file="f101" line="505"/>
+  </Function>
+  <Function id="_2380" name="copy_backward" returns="_2935" context="_2" mangled="_ZSt13copy_backwardIPPcS1_ET0_T_S3_S2_" demangled="char** std::copy_backward<char**, char**>(char**, char**, char**)" location="f101:505" file="f101" line="505" endline="516" inline="1">
+    <Argument name="__first" type="_2935" location="f101:505" file="f101" line="505"/>
+    <Argument name="__last" type="_2935" location="f101:505" file="f101" line="505"/>
+    <Argument name="__result" type="_2935" location="f101:505" file="f101" line="505"/>
+  </Function>
+  <Struct id="_2381" name="__copy_backward_normal<false,false>" context="_2" mangled="St22__copy_backward_normalILb0ELb0EE" demangled="std::__copy_backward_normal<false, false>" location="f101:448" file="f101" line="448" artificial="1" size="8" align="8" members="_6250 _6251 " bases=""/>
+  <Struct id="_2382" name="__copy_backward_normal<true,true>" context="_2" mangled="St22__copy_backward_normalILb1ELb1EE" demangled="std::__copy_backward_normal<true, true>" location="f101:477" file="f101" line="477" artificial="1" size="8" align="8" members="_6252 _6253 " bases=""/>
+  <Struct id="_2383" name="__copy_backward_normal<false,true>" context="_2" mangled="St22__copy_backward_normalILb0ELb1EE" demangled="std::__copy_backward_normal<false, true>" location="f101:467" file="f101" line="467" artificial="1" size="8" align="8" members="_6255 _6256 " bases=""/>
+  <Struct id="_2384" name="__copy_backward_normal<true,false>" context="_2" mangled="St22__copy_backward_normalILb1ELb0EE" demangled="std::__copy_backward_normal<true, false>" location="f101:457" file="f101" line="457" artificial="1" size="8" align="8" members="_6257 _6258 " bases=""/>
+  <Function id="_2385" name="__copy_backward_aux" returns="_2005" context="_2" mangled="_ZSt19__copy_backward_auxISt15_Deque_iteratorIcRcPcES3_ET0_T_S5_S4_" demangled="std::_Deque_iterator<char, char&, char*> std::__copy_backward_aux<std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, cha [...]
+    <Argument name="__first" type="_2005" location="f101:433" file="f101" line="433"/>
+    <Argument name="__last" type="_2005" location="f101:433" file="f101" line="433"/>
+    <Argument name="__result" type="_2005" location="f101:433" file="f101" line="433"/>
+  </Function>
+  <Function id="_2386" name="__copy_backward_aux" returns="_4014" context="_2" mangled="_ZSt19__copy_backward_auxIPSsS0_ET0_T_S2_S1_" demangled="std::string* std::__copy_backward_aux<std::string*, std::string*>(std::string*, std::string*, std::string*)" location="f101:433" file="f101" line="433" endline="442" inline="1">
+    <Argument name="__first" type="_4014" location="f101:433" file="f101" line="433"/>
+    <Argument name="__last" type="_4014" location="f101:433" file="f101" line="433"/>
+    <Argument name="__result" type="_4014" location="f101:433" file="f101" line="433"/>
+  </Function>
+  <Function id="_2387" name="__copy_backward_aux" returns="_2935" context="_2" mangled="_ZSt19__copy_backward_auxIPPcS1_ET0_T_S3_S2_" demangled="char** std::__copy_backward_aux<char**, char**>(char**, char**, char**)" location="f101:433" file="f101" line="433" endline="442" inline="1">
+    <Argument name="__first" type="_2935" location="f101:433" file="f101" line="433"/>
+    <Argument name="__last" type="_2935" location="f101:433" file="f101" line="433"/>
+    <Argument name="__result" type="_2935" location="f101:433" file="f101" line="433"/>
+  </Function>
+  <Struct id="_2388" name="__copy_backward<false,std::random_access_iterator_tag>" context="_2" mangled="St15__copy_backwardILb0ESt26random_access_iterator_tagE" demangled="std::__copy_backward<false, std::random_access_iterator_tag>" location="f101:392" file="f101" line="392" artificial="1" size="8" align="8" members="_6259 _6260 " bases=""/>
+  <Struct id="_2389" name="__copy_backward<true,std::random_access_iterator_tag>" context="_2" mangled="St15__copy_backwardILb1ESt26random_access_iterator_tagE" demangled="std::__copy_backward<true, std::random_access_iterator_tag>" location="f101:419" file="f101" line="419" artificial="1" size="8" align="8" members="_6261 _6262 " bases=""/>
+  <Function id="_2390" name="copy" returns="_2005" context="_2" mangled="_ZSt4copyISt15_Deque_iteratorIcRcPcES3_ET0_T_S5_S4_" demangled="std::_Deque_iterator<char, char&, char*> std::copy<std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>)" location="f101:377" file=" [...]
+    <Argument name="__first" type="_2005" location="f101:377" file="f101" line="377"/>
+    <Argument name="__last" type="_2005" location="f101:377" file="f101" line="377"/>
+    <Argument name="__result" type="_2005" location="f101:377" file="f101" line="377"/>
+  </Function>
+  <Function id="_2391" name="copy" returns="_2005" context="_2" mangled="_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKcSsEESt15_Deque_iteratorIcRcPcEET0_T_SA_S9_" demangled="std::_Deque_iterator<char, char&, char*> std::copy<__gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_iterator<char, char&, char*> >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_it [...]
+    <Argument name="__first" type="_3328" location="f101:377" file="f101" line="377"/>
+    <Argument name="__last" type="_3328" location="f101:377" file="f101" line="377"/>
+    <Argument name="__result" type="_2005" location="f101:377" file="f101" line="377"/>
+  </Function>
+  <Function id="_2392" name="copy" returns="_3330" context="_2" mangled="_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPcSsEES3_ET0_T_S5_S4_" demangled="__gnu_cxx::__normal_iterator<char*, std::string> std::copy<__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string> >(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::stri [...]
+    <Argument name="__first" type="_3330" location="f101:377" file="f101" line="377"/>
+    <Argument name="__last" type="_3330" location="f101:377" file="f101" line="377"/>
+    <Argument name="__result" type="_3330" location="f101:377" file="f101" line="377"/>
+  </Function>
+  <Function id="_2393" name="copy" returns="_2935" context="_2" mangled="_ZSt4copyIPPcS1_ET0_T_S3_S2_" demangled="char** std::copy<char**, char**>(char**, char**, char**)" location="f101:377" file="f101" line="377" endline="386" inline="1">
+    <Argument name="__first" type="_2935" location="f101:377" file="f101" line="377"/>
+    <Argument name="__last" type="_2935" location="f101:377" file="f101" line="377"/>
+    <Argument name="__result" type="_2935" location="f101:377" file="f101" line="377"/>
+  </Function>
+  <Function id="_2394" name="copy" returns="_2541" context="_2" mangled="_ZSt4copyIPA17_KcSt20back_insert_iteratorISt6vectorISsSaISsEEEET0_T_S9_S8_" demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > std::copy<char const (*) [17], std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > >(char const (*) [17], char const (*) [17], std::back_insert_iterator<std::vector<std:: [...]
+    <Argument name="__first" type="_6264" location="f101:377" file="f101" line="377"/>
+    <Argument name="__last" type="_6264" location="f101:377" file="f101" line="377"/>
+    <Argument name="__result" type="_2541" location="f101:377" file="f101" line="377"/>
+  </Function>
+  <Function id="_2395" name="copy" returns="_2748" context="_2" mangled="_ZSt4copyIPiS0_ET0_T_S2_S1_" demangled="int* std::copy<int*, int*>(int*, int*, int*)" location="f101:377" file="f101" line="377" endline="386" inline="1">
+    <Argument name="__first" type="_2748" location="f101:377" file="f101" line="377"/>
+    <Argument name="__last" type="_2748" location="f101:377" file="f101" line="377"/>
+    <Argument name="__result" type="_2748" location="f101:377" file="f101" line="377"/>
+  </Function>
+  <Function id="_2396" name="copy" returns="_2478" context="_2" mangled="_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKcSsEESt19ostreambuf_iteratorIcSt11char_traitsIcEEET0_T_SA_S9_" demangled="std::ostreambuf_iterator<char, std::char_traits<char> > std::copy<__gnu_cxx::__normal_iterator<char const*, std::string>, std::ostreambuf_iterator<char, std::char_traits<char> > >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iter [...]
+    <Argument name="__first" type="_3328" location="f101:377" file="f101" line="377"/>
+    <Argument name="__last" type="_3328" location="f101:377" file="f101" line="377"/>
+    <Argument name="__result" type="_2478" location="f101:377" file="f101" line="377"/>
+  </Function>
+  <Function id="_2397" name="copy" returns="_2748" context="_2" mangled="_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_" demangled="int* std::copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, [...]
+    <Argument name="__first" type="_3335" location="f101:377" file="f101" line="377"/>
+    <Argument name="__last" type="_3335" location="f101:377" file="f101" line="377"/>
+    <Argument name="__result" type="_2748" location="f101:377" file="f101" line="377"/>
+  </Function>
+  <Struct id="_2398" name="__copy_normal<false,false>" context="_2" mangled="St13__copy_normalILb0ELb0EE" demangled="std::__copy_normal<false, false>" location="f101:322" file="f101" line="322" artificial="1" size="8" align="8" members="_6265 _6266 " bases=""/>
+  <Struct id="_2399" name="__copy_normal<true,false>" context="_2" mangled="St13__copy_normalILb1ELb0EE" demangled="std::__copy_normal<true, false>" location="f101:331" file="f101" line="331" artificial="1" size="8" align="8" members="_6267 _6268 " bases=""/>
+  <Struct id="_2400" name="__copy_normal<true,true>" context="_2" mangled="St13__copy_normalILb1ELb1EE" demangled="std::__copy_normal<true, true>" location="f101:349" file="f101" line="349" artificial="1" size="8" align="8" members="_6272 _6273 " bases=""/>
+  <Struct id="_2401" name="__copy_normal<false,true>" context="_2" mangled="St13__copy_normalILb0ELb1EE" demangled="std::__copy_normal<false, true>" location="f101:340" file="f101" line="340" artificial="1" size="8" align="8" members="_6275 _6276 " bases=""/>
+  <Function id="_2402" name="__copy_aux" returns="_2005" context="_2" mangled="_ZSt10__copy_auxISt15_Deque_iteratorIcRcPcES3_ET0_T_S5_S4_" demangled="std::_Deque_iterator<char, char&, char*> std::__copy_aux<std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>)" locatio [...]
+    <Argument name="__first" type="_2005" location="f101:308" file="f101" line="308"/>
+    <Argument name="__last" type="_2005" location="f101:308" file="f101" line="308"/>
+    <Argument name="__result" type="_2005" location="f101:308" file="f101" line="308"/>
+  </Function>
+  <Function id="_2403" name="__copy_aux" returns="_2005" context="_2" mangled="_ZSt10__copy_auxIPKcSt15_Deque_iteratorIcRcPcEET0_T_S7_S6_" demangled="std::_Deque_iterator<char, char&, char*> std::__copy_aux<char const*, std::_Deque_iterator<char, char&, char*> >(char const*, char const*, std::_Deque_iterator<char, char&, char*>)" location="f101:308" file="f101" line="308" endline="317" inline="1">
+    <Argument name="__first" type="_2749" location="f101:308" file="f101" line="308"/>
+    <Argument name="__last" type="_2749" location="f101:308" file="f101" line="308"/>
+    <Argument name="__result" type="_2005" location="f101:308" file="f101" line="308"/>
+  </Function>
+  <Function id="_2404" name="__copy_aux" returns="_1149" context="_2" mangled="_ZSt10__copy_auxIPcS0_ET0_T_S2_S1_" demangled="char* std::__copy_aux<char*, char*>(char*, char*, char*)" location="f101:308" file="f101" line="308" endline="317" inline="1">
+    <Argument name="__first" type="_1149" location="f101:308" file="f101" line="308"/>
+    <Argument name="__last" type="_1149" location="f101:308" file="f101" line="308"/>
+    <Argument name="__result" type="_1149" location="f101:308" file="f101" line="308"/>
+  </Function>
+  <Function id="_2405" name="__copy_aux" returns="_2935" context="_2" mangled="_ZSt10__copy_auxIPPcS1_ET0_T_S3_S2_" demangled="char** std::__copy_aux<char**, char**>(char**, char**, char**)" location="f101:308" file="f101" line="308" endline="317" inline="1">
+    <Argument name="__first" type="_2935" location="f101:308" file="f101" line="308"/>
+    <Argument name="__last" type="_2935" location="f101:308" file="f101" line="308"/>
+    <Argument name="__result" type="_2935" location="f101:308" file="f101" line="308"/>
+  </Function>
+  <Function id="_2406" name="__copy_aux" returns="_2541" context="_2" mangled="_ZSt10__copy_auxIPA17_KcSt20back_insert_iteratorISt6vectorISsSaISsEEEET0_T_S9_S8_" demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > std::__copy_aux<char const (*) [17], std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > >(char const (*) [17], char const (*) [17], std::back_insert_iterator<s [...]
+    <Argument name="__first" type="_6264" location="f101:308" file="f101" line="308"/>
+    <Argument name="__last" type="_6264" location="f101:308" file="f101" line="308"/>
+    <Argument name="__result" type="_2541" location="f101:308" file="f101" line="308"/>
+  </Function>
+  <Function id="_2407" name="__copy_aux" returns="_2748" context="_2" mangled="_ZSt10__copy_auxIPiS0_ET0_T_S2_S1_" demangled="int* std::__copy_aux<int*, int*>(int*, int*, int*)" location="f101:308" file="f101" line="308" endline="317" inline="1">
+    <Argument name="__first" type="_2748" location="f101:308" file="f101" line="308"/>
+    <Argument name="__last" type="_2748" location="f101:308" file="f101" line="308"/>
+    <Argument name="__result" type="_2748" location="f101:308" file="f101" line="308"/>
+  </Function>
+  <Function id="_2408" name="__copy_aux" returns="_2478" context="_2" mangled="_ZSt10__copy_auxIPKcSt19ostreambuf_iteratorIcSt11char_traitsIcEEET0_T_S7_S6_" demangled="std::ostreambuf_iterator<char, std::char_traits<char> > std::__copy_aux<char const*, std::ostreambuf_iterator<char, std::char_traits<char> > >(char const*, char const*, std::ostreambuf_iterator<char, std::char_traits<char> >)" location="f101:308" file="f101" line="308" endline="317 [...]
+    <Argument name="__first" type="_2749" location="f101:308" file="f101" line="308"/>
+    <Argument name="__last" type="_2749" location="f101:308" file="f101" line="308"/>
+    <Argument name="__result" type="_2478" location="f101:308" file="f101" line="308"/>
+  </Function>
+  <Function id="_2409" name="__copy_aux" returns="_2748" context="_2" mangled="_ZSt10__copy_auxIPKiPiET0_T_S4_S3_" demangled="int* std::__copy_aux<int const*, int*>(int const*, int const*, int*)" location="f101:308" file="f101" line="308" endline="317" inline="1">
+    <Argument name="__first" type="_4076" location="f101:308" file="f101" line="308"/>
+    <Argument name="__last" type="_4076" location="f101:308" file="f101" line="308"/>
+    <Argument name="__result" type="_2748" location="f101:308" file="f101" line="308"/>
+  </Function>
+  <Struct id="_2410" name="__copy<false,std::random_access_iterator_tag>" context="_2" mangled="St6__copyILb0ESt26random_access_iterator_tagE" demangled="std::__copy<false, std::random_access_iterator_tag>" location="f101:264" file="f101" line="264" artificial="1" size="8" align="8" members="_6277 _6278 " bases=""/>
+  <Struct id="_2411" name="__copy<true,std::random_access_iterator_tag>" context="_2" mangled="St6__copyILb1ESt26random_access_iterator_tagE" demangled="std::__copy<true, std::random_access_iterator_tag>" location="f101:295" file="f101" line="295" artificial="1" size="8" align="8" members="_6279 _6280 " bases=""/>
+  <Function id="_2412" name="max" returns="_6284" context="_2" mangled="_ZSt3maxIjERKT_S2_S2_" demangled="unsigned const& std::max<unsigned>(unsigned const&, unsigned const&)" location="f101:207" file="f101" line="207" endline="213" inline="1">
+    <Argument name="__a" type="_6284" location="f101:207" file="f101" line="207"/>
+    <Argument name="__b" type="_6284" location="f101:207" file="f101" line="207"/>
+  </Function>
+  <Function id="_2413" name="min" returns="_6284" context="_2" mangled="_ZSt3minIjERKT_S2_S2_" demangled="unsigned const& std::min<unsigned>(unsigned const&, unsigned const&)" location="f101:185" file="f101" line="185" endline="191" inline="1">
+    <Argument name="__a" type="_6284" location="f101:185" file="f101" line="185"/>
+    <Argument name="__b" type="_6284" location="f101:185" file="f101" line="185"/>
+  </Function>
+  <Struct id="_2414" name="__iter_swap<((std::__are_same<typename std::iterator_traits<_Iterator>::value_type, typename std::iterator_traits<_ForwardIterator2>::value_type>::__value && std::__are_same<typename std::iterator_traits<_Iterator>::value_type&, typename std::iterator_traits<_Iterator>::reference>::__value) && std::__are_same<typename std::iterator_traits<_ForwardIterator2>::value_type&, typename std::itera [...]
+  <Struct id="_2415" name="__iter_swap<true>" context="_2" mangled="St11__iter_swapILb1EE" demangled="std::__iter_swap<true>" location="f101:122" file="f101" line="122" artificial="1" size="8" align="8" members="_6285 _6286 " bases=""/>
+  <Function id="_2416" name="uncaught_exception" returns="_3949" throw="" context="_2" mangled="_ZSt18uncaught_exceptionv" demangled="std::uncaught_exception()" location="f36:102" file="f36" line="102" extern="1"/>
+  <Function id="_2417" name="unexpected" returns="_1194" context="_2" mangled="_ZSt10unexpectedv" demangled="std::unexpected()" location="f36:90" file="f36" line="90" extern="1" attributes="__noreturn__"/>
+  <Function id="_2418" name="set_unexpected" returns="_2421" throw="" context="_2" mangled="_ZSt14set_unexpectedPFvvE" demangled="std::set_unexpected(void (*)())" location="f36:87" file="f36" line="87" extern="1">
+    <Argument type="_2421" location="f36:87" file="f36" line="87"/>
+  </Function>
+  <Function id="_2419" name="terminate" returns="_1194" context="_2" mangled="_ZSt9terminatev" demangled="std::terminate()" location="f36:84" file="f36" line="84" extern="1" attributes="__noreturn__"/>
+  <Function id="_2420" name="set_terminate" returns="_2422" throw="" context="_2" mangled="_ZSt13set_terminatePFvvE" demangled="std::set_terminate(void (*)())" location="f36:81" file="f36" line="81" extern="1">
+    <Argument type="_2422" location="f36:81" file="f36" line="81"/>
+  </Function>
+  <Typedef id="_2421" name="unexpected_handler" type="_2254" context="_2" location="f36:78" file="f36" line="78"/>
+  <Typedef id="_2422" name="terminate_handler" type="_2254" context="_2" location="f36:76" file="f36" line="76"/>
+  <Class id="_2423" name="bad_exception" context="_2" mangled="St13bad_exception" demangled="std::bad_exception" location="f36:67" file="f36" line="67" artificial="1" size="32" align="32" members="_6287 _6288 _6289 " bases="_2424 ">
+    <Base type="_2424" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2424" name="exception" context="_2" mangled="St9exception" demangled="std::exception" location="f36:55" file="f36" line="55" artificial="1" size="32" align="32" members="_6290 _6291 _6292 _6293 " bases=""/>
+  <Struct id="_2425" name="basic_fstream<wchar_t,std::char_traits<wchar_t> >" context="_2" mangled="St13basic_fstreamIwSt11char_traitsIwEE" demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >" location="f9:95" file="f9" line="95" artificial="1" size="2336" align="32" members="_6294 _6295 _6296 _6297 _6298 _6299 _6300 _6301 _6302 _6303 _6304 _6305 _6306 _6307 _6308 _6309 _6310 _6311 " bases="_2441 ">
+    <Base type="_2441" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2426" name="wfstream" type="_2425" context="_2" location="f9:162" file="f9" line="162"/>
+  <Struct id="_2427" name="basic_ofstream<wchar_t,std::char_traits<wchar_t> >" context="_2" mangled="St14basic_ofstreamIwSt11char_traitsIwEE" demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >" location="f9:92" file="f9" line="92" artificial="1" size="2272" align="32" members="_6312 _6313 _6314 _6315 _6316 _6317 _6318 _6319 _6320 _6321 _6322 _6323 _6324 _6325 _6326 _6327 _6328 " bases="_2443 ">
+    <Base type="_2443" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2428" name="wofstream" type="_2427" context="_2" location="f9:161" file="f9" line="161"/>
+  <Struct id="_2429" name="basic_ifstream<wchar_t,std::char_traits<wchar_t> >" context="_2" mangled="St14basic_ifstreamIwSt11char_traitsIwEE" demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >" location="f9:89" file="f9" line="89" artificial="1" size="2304" align="32" members="_6329 _6330 _6331 _6332 _6333 _6334 _6335 _6336 _6337 _6338 _6339 _6340 _6341 _6342 _6343 _6344 _6345 " bases="_2445 ">
+    <Base type="_2445" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2430" name="wifstream" type="_2429" context="_2" location="f9:160" file="f9" line="160"/>
+  <Struct id="_2431" name="basic_filebuf<wchar_t,std::char_traits<wchar_t> >" context="_2" mangled="St13basic_filebufIwSt11char_traitsIwEE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >" location="f9:86" file="f9" line="86" artificial="1" size="1120" align="32" members="_6346 _6347 _6348 _6349 _6350 _6351 _6352 _6353 _6354 _6355 _6356 _6357 _6358 _6359 _6360 _6361 _6362 _6363 _6364 _6365 _6366 _6367 _6368 _6369 _6370 _6371 _6372 _6373 _6374 _6 [...]
+    <Base type="_2447" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2432" name="wfilebuf" type="_2431" context="_2" location="f9:159" file="f9" line="159"/>
+  <Struct id="_2433" name="basic_stringstream<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" context="_2" mangled="St18basic_stringstreamIwSt11char_traitsIwESaIwEE" demangled="std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >" location="f9:83" file="f9" line="83" artificial="1" size="1536" align="32" members="_6400 _6401 _6402 _6403 _6404 _6405 _6406 _6407 _6408 _6409 _6410 _6411 _6412 _6413 _6414 _6415 [...]
+    <Base type="_2441" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2434" name="wstringstream" type="_2433" context="_2" location="f9:158" file="f9" line="158"/>
+  <Struct id="_2435" name="basic_ostringstream<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" context="_2" mangled="St19basic_ostringstreamIwSt11char_traitsIwESaIwEE" demangled="std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >" location="f9:79" file="f9" line="79" artificial="1" size="1472" align="32" members="_6417 _6418 _6419 _6420 _6421 _6422 _6423 _6424 _6425 _6426 _6427 _6428 _6429 _6430 _6431 _6 [...]
+    <Base type="_2443" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2436" name="wostringstream" type="_2435" context="_2" location="f9:157" file="f9" line="157"/>
+  <Struct id="_2437" name="basic_istringstream<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" context="_2" mangled="St19basic_istringstreamIwSt11char_traitsIwESaIwEE" demangled="std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >" location="f9:75" file="f9" line="75" artificial="1" size="1504" align="32" members="_6434 _6435 _6436 _6437 _6438 _6439 _6440 _6441 _6442 _6443 _6444 _6445 _6446 _6447 _6448 _6 [...]
+    <Base type="_2445" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2438" name="wistringstream" type="_2437" context="_2" location="f9:156" file="f9" line="156"/>
+  <Struct id="_2439" name="basic_stringbuf<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" context="_2" mangled="St15basic_stringbufIwSt11char_traitsIwESaIwEE" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >" location="f9:71" file="f9" line="71" artificial="1" size="320" align="32" members="_6451 _6452 _6453 _6454 _6455 _6456 _6457 _6458 _6459 _6460 _6461 _6462 _6463 _6464 _6465 _6466 _6467 _64 [...]
+    <Base type="_2447" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2440" name="wstringbuf" type="_2439" context="_2" location="f9:155" file="f9" line="155"/>
+  <Struct id="_2441" name="basic_iostream<wchar_t,std::char_traits<wchar_t> >" context="_2" mangled="St14basic_iostreamIwSt11char_traitsIwEE" demangled="std::basic_iostream<wchar_t, std::char_traits<wchar_t> >" location="f9:67" file="f9" line="67" artificial="1" size="1216" align="32" members="_6478 _6479 _6480 _6481 _6482 _6483 _6484 _6485 _6486 _6487 _6488 " bases="_2445 _2443 ">
+    <Base type="_2445" access="public" virtual="0" offset="0"/>
+    <Base type="_2443" access="public" virtual="0" offset="8"/>
+  </Struct>
+  <Typedef id="_2442" name="wiostream" type="_2441" context="_2" location="f9:154" file="f9" line="154"/>
+  <Struct id="_2443" name="basic_ostream<wchar_t,std::char_traits<wchar_t> >" context="_2" mangled="St13basic_ostreamIwSt11char_traitsIwEE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >" location="f9:64" file="f9" line="64" artificial="1" size="1152" align="32" members="_6489 _6490 _6491 _6492 _6493 _6494 _6495 _6496 _6497 _6498 _6499 _6500 _6501 _6502 _6503 _6504 _6505 _6506 _6507 _6508 _6509 _6510 _6511 _6512 _6513 _6514 _6515 _6516 _6517 _6 [...]
+    <Base type="_2449" access="public" virtual="1" offset="4"/>
+  </Struct>
+  <Typedef id="_2444" name="wostream" type="_2443" context="_2" location="f9:153" file="f9" line="153"/>
+  <Struct id="_2445" name="basic_istream<wchar_t,std::char_traits<wchar_t> >" context="_2" mangled="St13basic_istreamIwSt11char_traitsIwEE" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >" location="f9:61" file="f9" line="61" artificial="1" size="1184" align="32" members="_6527 _6528 _6529 _6530 _6531 _6532 _6533 _6534 _6535 _6536 _6537 _6538 _6539 _6540 _6541 _6542 _6543 _6544 _6545 _6546 _6547 _6548 _6549 _6550 _6551 _6552 _6553 _6554 _6555 _6 [...]
+    <Base type="_2449" access="public" virtual="1" offset="8"/>
+  </Struct>
+  <Typedef id="_2446" name="wistream" type="_2445" context="_2" location="f9:152" file="f9" line="152"/>
+  <Struct id="_2447" name="basic_streambuf<wchar_t,std::char_traits<wchar_t> >" context="_2" mangled="St15basic_streambufIwSt11char_traitsIwEE" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >" location="f9:58" file="f9" line="58" artificial="1" size="256" align="32" members="_6580 _6581 _6582 _6583 _6584 _6585 _6586 _6587 _6588 _6589 _6590 _6591 _6592 _6593 _6594 _6595 _6596 _6597 _6598 _6599 _6600 _6601 _6602 _6603 _6604 _6605 _6606 _6607 _66 [...]
+  <Typedef id="_2448" name="wstreambuf" type="_2447" context="_2" location="f9:151" file="f9" line="151"/>
+  <Struct id="_2449" name="basic_ios<wchar_t,std::char_traits<wchar_t> >" context="_2" mangled="St9basic_iosIwSt11char_traitsIwEE" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >" location="f9:55" file="f9" line="55" artificial="1" size="1120" align="32" members="_6633 _6634 _6635 _6636 _6637 _6638 _6639 _6640 _6641 _6642 _6643 _6644 _6645 _6646 _6647 _6648 _6649 _6650 _6651 _6652 _6653 _6654 _6655 _6656 _6657 _6658 _6659 _6660 _6661 _6662 _6663 _66 [...]
+    <Base type="_2477" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2450" name="wios" type="_2449" context="_2" location="f9:150" file="f9" line="150"/>
+  <Struct id="_2451" name="basic_fstream<char,std::char_traits<char> >" context="_2" mangled="St13basic_fstreamIcSt11char_traitsIcEE" demangled="std::basic_fstream<char, std::char_traits<char> >" location="f9:95" file="f9" line="95" artificial="1" size="2272" align="32" members="_6676 _6677 _6678 _6679 _6680 _6681 _6682 _6683 _6684 _6685 _6686 _6687 _6688 _6689 _6690 _6691 _6692 _6693 " bases="_2467 ">
+    <Base type="_2467" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2452" name="fstream" type="_2451" context="_2" location="f9:147" file="f9" line="147"/>
+  <Struct id="_2453" name="basic_ofstream<char,std::char_traits<char> >" context="_2" mangled="St14basic_ofstreamIcSt11char_traitsIcEE" demangled="std::basic_ofstream<char, std::char_traits<char> >" location="f9:92" file="f9" line="92" artificial="1" size="2208" align="32" members="_6694 _6695 _6696 _6697 _6698 _6699 _6700 _6701 _6702 _6703 _6704 _6705 _6706 _6707 _6708 _6709 _6710 " bases="_2469 ">
+    <Base type="_2469" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2454" name="ofstream" type="_2453" context="_2" location="f9:146" file="f9" line="146"/>
+  <Struct id="_2455" name="basic_ifstream<char,std::char_traits<char> >" context="_2" mangled="St14basic_ifstreamIcSt11char_traitsIcEE" demangled="std::basic_ifstream<char, std::char_traits<char> >" location="f9:89" file="f9" line="89" artificial="1" size="2240" align="32" members="_6711 _6712 _6713 _6714 _6715 _6716 _6717 _6718 _6719 _6720 _6721 _6722 _6723 _6724 _6725 _6726 _6727 " bases="_2471 ">
+    <Base type="_2471" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2456" name="ifstream" type="_2455" context="_2" location="f9:145" file="f9" line="145"/>
+  <Struct id="_2457" name="basic_filebuf<char,std::char_traits<char> >" context="_2" mangled="St13basic_filebufIcSt11char_traitsIcEE" demangled="std::basic_filebuf<char, std::char_traits<char> >" location="f9:86" file="f9" line="86" artificial="1" size="1088" align="32" members="_6728 _6729 _6730 _6731 _6732 _6733 _6734 _6735 _6736 _6737 _6738 _6739 _6740 _6741 _6742 _6743 _6744 _6745 _6746 _6747 _6748 _6749 _6750 _6751 _6752 _6753 _6754 _6755 _6756 _6757 _6758 _6 [...]
+    <Base type="_2473" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2458" name="filebuf" type="_2457" context="_2" location="f9:144" file="f9" line="144"/>
+  <Struct id="_2459" name="basic_stringstream<char,std::char_traits<char>,std::allocator<char> >" context="_2" mangled="St18basic_stringstreamIcSt11char_traitsIcESaIcEE" demangled="std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >" location="f9:83" file="f9" line="83" artificial="1" size="1504" align="32" members="_6782 _6783 _6784 _6785 _6786 _6787 _6788 _6789 _6790 _6791 _6792 _6793 _6794 _6795 _6796 _6797 _6798 " bases="_2467 ">
+    <Base type="_2467" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2460" name="stringstream" type="_2459" context="_2" location="f9:143" file="f9" line="143"/>
+  <Struct id="_2461" name="basic_ostringstream<char,std::char_traits<char>,std::allocator<char> >" context="_2" mangled="St19basic_ostringstreamIcSt11char_traitsIcESaIcEE" demangled="std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >" location="f9:79" file="f9" line="79" artificial="1" size="1440" align="32" members="_6799 _6800 _6801 _6802 _6803 _6804 _6805 _6806 _6807 _6808 _6809 _6810 _6811 _6812 _6813 _6814 _6815 " bases= [...]
+    <Base type="_2469" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2462" name="ostringstream" type="_2461" context="_2" location="f9:142" file="f9" line="142"/>
+  <Struct id="_2463" name="basic_istringstream<char,std::char_traits<char>,std::allocator<char> >" context="_2" mangled="St19basic_istringstreamIcSt11char_traitsIcESaIcEE" demangled="std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >" location="f9:75" file="f9" line="75" artificial="1" size="1472" align="32" members="_6816 _6817 _6818 _6819 _6820 _6821 _6822 _6823 _6824 _6825 _6826 _6827 _6828 _6829 _6830 _6831 _6832 " bases= [...]
+    <Base type="_2471" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2464" name="istringstream" type="_2463" context="_2" location="f9:141" file="f9" line="141"/>
+  <Struct id="_2465" name="basic_stringbuf<char,std::char_traits<char>,std::allocator<char> >" context="_2" mangled="St15basic_stringbufIcSt11char_traitsIcESaIcEE" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >" location="f9:71" file="f9" line="71" artificial="1" size="320" align="32" members="_6833 _6834 _6835 _6836 _6837 _6838 _6839 _6840 _6841 _6842 _6843 _6844 _6845 _6846 _6847 _6848 _6849 _6850 _6851 _6852 _68 [...]
+    <Base type="_2473" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2466" name="stringbuf" type="_2465" context="_2" location="f9:140" file="f9" line="140"/>
+  <Struct id="_2467" name="basic_iostream<char,std::char_traits<char> >" context="_2" mangled="Sd" demangled="std::iostream" location="f9:67" file="f9" line="67" artificial="1" size="1184" align="32" members="_6860 _6861 _6862 _6863 _6864 _6865 _6866 _6867 _6868 _6869 _6870 " bases="_2471 _2469 ">
+    <Base type="_2471" access="public" virtual="0" offset="0"/>
+    <Base type="_2469" access="public" virtual="0" offset="8"/>
+  </Struct>
+  <Typedef id="_2468" name="iostream" type="_2467" context="_2" location="f9:139" file="f9" line="139"/>
+  <Struct id="_2469" name="basic_ostream<char,std::char_traits<char> >" context="_2" mangled="So" demangled="std::ostream" location="f9:64" file="f9" line="64" artificial="1" size="1120" align="32" members="_6871 _6872 _6873 _6874 _6875 _6876 _6877 _6878 _6879 _6880 _6881 _6882 _6883 _6884 _6885 _6886 _6887 _6888 _6889 _6890 _6891 _6892 _6893 _6894 _6895 _6896 _6897 _6898 _6899 _6900 _6901 _6902 _6903 _6904 _6905 _6906 _6907 _6908 " bases="_2475 ">
+    <Base type="_2475" access="public" virtual="1" offset="4"/>
+  </Struct>
+  <Typedef id="_2470" name="ostream" type="_2469" context="_2" location="f9:138" file="f9" line="138"/>
+  <Struct id="_2471" name="basic_istream<char,std::char_traits<char> >" context="_2" mangled="Si" demangled="std::istream" location="f9:61" file="f9" line="61" artificial="1" size="1152" align="32" members="_6909 _6910 _6911 _6912 _6913 _6914 _6915 _6916 _6917 _6918 _6919 _6920 _6921 _6922 _6923 _6924 _6925 _6926 _6927 _6928 _6929 _6930 _6931 _6932 _6933 _6934 _6935 _6936 _6937 _6938 _6939 _6940 _6941 _6942 _6943 _6944 _6945 _6946 _6947 _6948 _6949 _6950 _6951 _6952 _6953 _69 [...]
+    <Base type="_2475" access="public" virtual="1" offset="8"/>
+  </Struct>
+  <Typedef id="_2472" name="istream" type="_2471" context="_2" location="f9:137" file="f9" line="137"/>
+  <Struct id="_2473" name="basic_streambuf<char,std::char_traits<char> >" context="_2" mangled="St15basic_streambufIcSt11char_traitsIcEE" demangled="std::basic_streambuf<char, std::char_traits<char> >" location="f9:58" file="f9" line="58" artificial="1" size="256" align="32" members="_6962 _6963 _6964 _6965 _6966 _6967 _6968 _6969 _6970 _6971 _6972 _6973 _6974 _6975 _6976 _6977 _6978 _6979 _6980 _6981 _6982 _6983 _6984 _6985 _6986 _6987 _6988 _6989 _6990 _6991 _69 [...]
+  <Typedef id="_2474" name="streambuf" type="_2473" context="_2" location="f9:136" file="f9" line="136"/>
+  <Struct id="_2475" name="basic_ios<char,std::char_traits<char> >" context="_2" mangled="St9basic_iosIcSt11char_traitsIcEE" demangled="std::basic_ios<char, std::char_traits<char> >" location="f9:55" file="f9" line="55" artificial="1" size="1088" align="32" members="_7015 _7016 _7017 _7018 _7019 _7020 _7021 _7022 _7023 _7024 _7025 _7026 _7027 _7028 _7029 _7030 _7031 _7032 _7033 _7034 _7035 _7036 _7037 _7038 _7039 _7040 _7041 _7042 _7043 _7044 _7045 _7046 _7047 _70 [...]
+    <Base type="_2477" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_2476" name="ios" type="_2475" context="_2" location="f9:135" file="f9" line="135"/>
+  <Class id="_2477" name="ios_base" context="_2" mangled="St8ios_base" demangled="std::ios_base" location="f33:202" file="f33" line="202" artificial="1" size="896" align="32" members="_7058 _7059 _7060 _7061 _7062 _7063 _7064 _7065 _7066 _7067 _7068 _7069 _7070 _7071 _7072 _7073 _7074 _7075 _7076 _7077 _7078 _7079 _7080 _7081 _7082 _7083 _7084 _7085 _7086 _7087 _7088 _7089 _7090 _7091 _7092 _7093 _7094 _7095 _7096 _7097 _7098 _7099 _7100 _7101 _7102 _7103 _7104 _7105 _7106 _7107 _7108 _7 [...]
+  <Struct id="_2478" name="ostreambuf_iterator<char,std::char_traits<char> >" context="_2" mangled="St19ostreambuf_iteratorIcSt11char_traitsIcEE" demangled="std::ostreambuf_iterator<char, std::char_traits<char> >" location="f9:101" file="f9" line="101" artificial="1" size="64" align="32" members="_7141 _7142 _7143 _7144 _7145 _7146 _7147 _7148 _7149 _7150 _7151 _7152 _7153 _7154 _7155 " bases="_2698 ">
+    <Base type="_2698" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2479" name="ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" context="_2" incomplete="1" mangled="St19ostreambuf_iteratorIwSt11char_traitsIwEE" demangled="std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >" location="f9:101" file="f9" line="101" artificial="1" align="8"/>
+  <Struct id="_2480" name="istreambuf_iterator<char,std::char_traits<char> >" context="_2" incomplete="1" mangled="St19istreambuf_iteratorIcSt11char_traitsIcEE" demangled="std::istreambuf_iterator<char, std::char_traits<char> >" location="f9:98" file="f9" line="98" artificial="1" align="8"/>
+  <Struct id="_2481" name="istreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" context="_2" incomplete="1" mangled="St19istreambuf_iteratorIwSt11char_traitsIwEE" demangled="std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >" location="f9:98" file="f9" line="98" artificial="1" align="8"/>
+  <Function id="_2482" name="__throw_ios_failure" returns="_1194" context="_2" mangled="_ZSt19__throw_ios_failurePKc" demangled="std::__throw_ios_failure(char const*)" location="f102:90" file="f102" line="90" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:90" file="f102" line="90"/>
+  </Function>
+  <Function id="_2483" name="__throw_underflow_error" returns="_1194" context="_2" mangled="_ZSt23__throw_underflow_errorPKc" demangled="std::__throw_underflow_error(char const*)" location="f102:86" file="f102" line="86" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:86" file="f102" line="86"/>
+  </Function>
+  <Function id="_2484" name="__throw_overflow_error" returns="_1194" context="_2" mangled="_ZSt22__throw_overflow_errorPKc" demangled="std::__throw_overflow_error(char const*)" location="f102:83" file="f102" line="83" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:83" file="f102" line="83"/>
+  </Function>
+  <Function id="_2485" name="__throw_range_error" returns="_1194" context="_2" mangled="_ZSt19__throw_range_errorPKc" demangled="std::__throw_range_error(char const*)" location="f102:80" file="f102" line="80" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:80" file="f102" line="80"/>
+  </Function>
+  <Function id="_2486" name="__throw_runtime_error" returns="_1194" context="_2" mangled="_ZSt21__throw_runtime_errorPKc" demangled="std::__throw_runtime_error(char const*)" location="f102:77" file="f102" line="77" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:77" file="f102" line="77"/>
+  </Function>
+  <Function id="_2487" name="__throw_out_of_range" returns="_1194" context="_2" mangled="_ZSt20__throw_out_of_rangePKc" demangled="std::__throw_out_of_range(char const*)" location="f102:74" file="f102" line="74" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:74" file="f102" line="74"/>
+  </Function>
+  <Function id="_2488" name="__throw_length_error" returns="_1194" context="_2" mangled="_ZSt20__throw_length_errorPKc" demangled="std::__throw_length_error(char const*)" location="f102:71" file="f102" line="71" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:71" file="f102" line="71"/>
+  </Function>
+  <Function id="_2489" name="__throw_invalid_argument" returns="_1194" context="_2" mangled="_ZSt24__throw_invalid_argumentPKc" demangled="std::__throw_invalid_argument(char const*)" location="f102:68" file="f102" line="68" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:68" file="f102" line="68"/>
+  </Function>
+  <Function id="_2490" name="__throw_domain_error" returns="_1194" context="_2" mangled="_ZSt20__throw_domain_errorPKc" demangled="std::__throw_domain_error(char const*)" location="f102:65" file="f102" line="65" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:65" file="f102" line="65"/>
+  </Function>
+  <Function id="_2491" name="__throw_logic_error" returns="_1194" context="_2" mangled="_ZSt19__throw_logic_errorPKc" demangled="std::__throw_logic_error(char const*)" location="f102:62" file="f102" line="62" extern="1" attributes="__noreturn__">
+    <Argument type="_2749" location="f102:62" file="f102" line="62"/>
+  </Function>
+  <Function id="_2492" name="__throw_bad_typeid" returns="_1194" context="_2" mangled="_ZSt18__throw_bad_typeidv" demangled="std::__throw_bad_typeid()" location="f102:58" file="f102" line="58" extern="1" attributes="__noreturn__"/>
+  <Function id="_2493" name="__throw_bad_cast" returns="_1194" context="_2" mangled="_ZSt16__throw_bad_castv" demangled="std::__throw_bad_cast()" location="f102:55" file="f102" line="55" extern="1" attributes="__noreturn__"/>
+  <Function id="_2494" name="__throw_bad_alloc" returns="_1194" context="_2" mangled="_ZSt17__throw_bad_allocv" demangled="std::__throw_bad_alloc()" location="f102:51" file="f102" line="51" extern="1" attributes="__noreturn__"/>
+  <Function id="_2495" name="__throw_bad_exception" returns="_1194" context="_2" mangled="_ZSt21__throw_bad_exceptionv" demangled="std::__throw_bad_exception()" location="f102:47" file="f102" line="47" extern="1" attributes="__noreturn__"/>
+  <Class id="_2496" name="fpos<__mbstate_t>" context="_2" mangled="St4fposI11__mbstate_tE" demangled="std::fpos<__mbstate_t>" location="f103:96" file="f103" line="96" artificial="1" size="128" align="32" members="_7156 _7157 _7158 _7159 _7160 _7161 _7162 _7163 _7164 _7165 _7166 _7167 _7168 _7169 _7170 " bases=""/>
+  <Typedef id="_2497" name="wstreampos" type="_2496" context="_2" location="f103:212" file="f103" line="212"/>
+  <Typedef id="_2498" name="streampos" type="_2496" context="_2" location="f103:210" file="f103" line="210"/>
+  <Typedef id="_2499" name="streamsize" type="_1699" context="_2" location="f103:78" file="f103" line="78"/>
+  <Typedef id="_2500" name="streamoff" type="_1574" context="_2" location="f103:72" file="f103" line="72"/>
+  <Function id="_2501" name="wmemchr" returns="_2778" context="_2" mangled="_ZSt7wmemchrPwwj" demangled="std::wmemchr(wchar_t*, wchar_t, unsigned)" location="f104:234" file="f104" line="234" endline="234" inline="1">
+    <Argument name="__p" type="_2778" location="f104:234" file="f104" line="234"/>
+    <Argument name="__c" type="_2786" location="f104:234" file="f104" line="234"/>
+    <Argument name="__n" type="_1698" location="f104:234" file="f104" line="234"/>
+  </Function>
+  <Function id="_2502" name="wcsstr" returns="_2778" context="_2" mangled="_ZSt6wcsstrPwPKw" demangled="std::wcsstr(wchar_t*, wchar_t const*)" location="f104:228" file="f104" line="228" endline="228" inline="1">
+    <Argument name="__s1" type="_2778" location="f104:228" file="f104" line="228"/>
+    <Argument name="__s2" type="_2780" location="f104:228" file="f104" line="228"/>
+  </Function>
+  <Function id="_2503" name="wcsrchr" returns="_2778" context="_2" mangled="_ZSt7wcsrchrPww" demangled="std::wcsrchr(wchar_t*, wchar_t)" location="f104:222" file="f104" line="222" endline="222" inline="1">
+    <Argument name="__p" type="_2778" location="f104:222" file="f104" line="222"/>
+    <Argument name="__c" type="_2786" location="f104:222" file="f104" line="222"/>
+  </Function>
+  <Function id="_2504" name="wcspbrk" returns="_2778" context="_2" mangled="_ZSt7wcspbrkPwPKw" demangled="std::wcspbrk(wchar_t*, wchar_t const*)" location="f104:216" file="f104" line="216" endline="216" inline="1">
+    <Argument name="__s1" type="_2778" location="f104:216" file="f104" line="216"/>
+    <Argument name="__s2" type="_2780" location="f104:216" file="f104" line="216"/>
+  </Function>
+  <Function id="_2505" name="wcschr" returns="_2778" context="_2" mangled="_ZSt6wcschrPww" demangled="std::wcschr(wchar_t*, wchar_t)" location="f104:210" file="f104" line="210" endline="210" inline="1">
+    <Argument name="__p" type="_2778" location="f104:210" file="f104" line="210"/>
+    <Argument name="__c" type="_2786" location="f104:210" file="f104" line="210"/>
+  </Function>
+  <Struct id="_2506" name="basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" context="_2" mangled="SbIwSt11char_traitsIwESaIwEE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >" location="f105:56" file="f105" line="56" artificial="1" size="32" align="32" members="_7171 _7172 _7173 _7174 _7175 _7176 _7177 _7179 _7181 _7182 _7183 _7184 _7185 _7186 _7187 _7188 _7189 _7190 _7191 _7192 _7193 [...]
+  <Typedef id="_2507" name="wstring" type="_2506" context="_2" location="f105:65" file="f105" line="65"/>
+  <Struct id="_2508" name="basic_string<char,std::char_traits<char>,std::allocator<char> >" context="_2" mangled="Ss" demangled="std::string" location="f105:56" file="f105" line="56" artificial="1" size="32" align="32" members="_7320 _7321 _7322 _7323 _7324 _7325 _7326 _7327 _7328 _7329 _7330 _7331 _7332 _7333 _7334 _7335 _7336 _7337 _7338 _7339 _7340 _7341 _7342 _7343 _7344 _7345 _7346 _7347 _7348 _7349 _7350 _7351 _7352 _7353 _7354 _7355 _7356 _7357 _7358 _7359 _7360  [...]
+  <Typedef id="_2509" name="string" type="_2508" context="_2" location="f105:60" file="f105" line="60"/>
+  <Struct id="_2510" name="char_traits<char>" context="_2" mangled="St11char_traitsIcE" demangled="std::char_traits<char>" location="f106:232" file="f106" line="232" artificial="1" size="8" align="8" members="_7467 _7468 _7469 _7470 _7471 _7472 _7473 _7474 _7475 _7476 _7477 _7478 _7479 _7480 _7481 _7482 _7483 _7484 _7485 _7486 _7487 " bases=""/>
+  <Struct id="_2511" name="char_traits<wchar_t>" context="_2" mangled="St11char_traitsIwE" demangled="std::char_traits<wchar_t>" location="f106:302" file="f106" line="302" artificial="1" size="8" align="8" members="_7488 _7489 _7490 _7491 _7492 _7493 _7494 _7495 _7496 _7497 _7498 _7499 _7500 _7501 _7502 _7503 _7504 _7505 _7506 _7507 _7508 " bases=""/>
+  <Struct id="_2512" name="allocator<char>" context="_2" mangled="SaIcE" demangled="std::allocator<char>" location="f105:49" file="f105" line="49" artificial="1" size="8" align="8" members="_7509 _7510 _7511 _7512 _7513 _7514 _7515 _7516 _7517 _7518 " bases="_3292 ">
+    <Base type="_3292" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Class id="_2513" name="allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2" mangled="SaISsE" demangled="std::allocator<std::string>" location="f98:83" file="f98" line="83" artificial="1" size="8" align="8" members="_7519 _7520 _7521 _7522 _7523 _7524 _7525 _7526 _7527 _7528 " bases="_3291 ">
+    <Base type="_3291" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2514" name="allocator<char*>" context="_2" mangled="SaIPcE" demangled="std::allocator<char*>" location="f98:83" file="f98" line="83" artificial="1" size="8" align="8" members="_7529 _7530 _7531 _7532 _7534 _7536 _7537 _7538 _7539 _7540 " bases="_3293 ">
+    <Base type="_3293" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Struct id="_2515" name="allocator<wchar_t>" context="_2" mangled="SaIwE" demangled="std::allocator<wchar_t>" location="f105:49" file="f105" line="49" artificial="1" size="8" align="8" members="_7541 _7542 _7543 _7544 _7545 _7546 _7547 _7548 _7549 _7550 " bases="_3294 ">
+    <Base type="_3294" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Class id="_2516" name="allocator<int>" context="_2" mangled="SaIiE" demangled="std::allocator<int>" location="f98:83" file="f98" line="83" artificial="1" size="8" align="8" members="_7551 _7552 _7553 _7554 _7555 _7556 _7557 _7558 _7559 _7560 " bases="_3295 ">
+    <Base type="_3295" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2517" name="allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > >" context="_2" mangled="SaISt13_Rb_tree_nodeISt4pairIKSstEEE" demangled="std::allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >" location="f98:83" file="f98" line="83" artificial="1" size="8" align="8" members="_7561 _7562 _7563 _7564 _7566 _75 [...]
+    <Base type="_3296" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2518" name="allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >" context="_2" mangled="SaISt4pairIKSstEE" demangled="std::allocator<std::pair<std::string const, unsigned short> >" location="f98:83" file="f98" line="83" artificial="1" size="8" align="8" members="_7573 _7574 _7575 _7576 _7577 _7578 _7579 _7580 _7581 _7582 " bases="_3297 ">
+    <Base type="_3297" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2519" name="allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >" context="_2" mangled="SaISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEEEE" demangled="std::allocator<std::_Rb_tree_node<std::pair<std::st [...]
+    <Base type="_3298" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2520" name="allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >" context="_2" mangled="SaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEE" demangled="std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base&lt [...]
+    <Base type="_3299" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2521" name="allocator<boost::function_base>" context="_2" incomplete="1" mangled="SaIN5boost13function_baseEE" demangled="std::allocator<boost::function_base>" location="f98:83" file="f98" line="83" artificial="1" align="8"/>
+  <Class id="_2522" name="allocator<void>" context="_2" mangled="SaIvE" demangled="std::allocator<void>" location="f98:62" file="f98" line="62" artificial="1" size="8" align="8" members="_7605 _7606 _7607 _7608 _7609 _7610 _7611 " bases=""/>
+  <Struct id="_2523" name="rebind<char>" context="_2512" access="public" mangled="NSaIcE6rebindIcEE" demangled="std::allocator<char>::rebind<char>" location="f98:95" file="f98" line="95" artificial="1" size="8" align="8" members="_7612 _7613 _7614 " bases=""/>
+  <Struct id="_2524" name="rebind<char*>" context="_2512" access="public" mangled="NSaIcE6rebindIPcEE" demangled="std::allocator<char>::rebind<char*>" location="f98:95" file="f98" line="95" artificial="1" size="8" align="8" members="_7615 _7616 _7617 " bases=""/>
+  <Struct id="_2525" name="rebind<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2513" access="public" mangled="NSaISsE6rebindISsEE" demangled="std::allocator<std::string>::rebind<std::string>" location="f98:95" file="f98" line="95" artificial="1" size="8" align="8" members="_7618 _7619 _7620 " bases=""/>
+  <Struct id="_2526" name="rebind<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >" context="_2518" access="public" mangled="NSaISt4pairIKSstEE6rebindIS1_EE" demangled="std::allocator<std::pair<std::string const, unsigned short> >::rebind<std::pair<std::string const, unsigned short> >" location="f98:95" file="f98" line="95" artificial="1" size="8" align="8" members="_7621 _7 [...]
+  <Struct id="_2527" name="rebind<int>" context="_2516" access="public" mangled="NSaIiE6rebindIiEE" demangled="std::allocator<int>::rebind<int>" location="f98:95" file="f98" line="95" artificial="1" size="8" align="8" members="_7624 _7625 _7626 " bases=""/>
+  <Struct id="_2528" name="rebind<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > >" context="_2518" access="public" mangled="NSaISt4pairIKSstEE6rebindISt13_Rb_tree_nodeIS1_EEE" demangled="std::allocator<std::pair<std::string const, unsigned short> >::rebind<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >" location="f98:95" [...]
+  <Struct id="_2529" name="rebind<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >" context="_2520" access="public" mangled="NSaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEE6rebindIS9_EE" demangled="std::allocator<std::pair<std::string const, boost::shared_ptr<boos [...]
+  <Struct id="_2530" name="rebind<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >" context="_2520" access="public" mangled="NSaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEE6rebindISt13_Rb_tree_nodeIS9_EEE" demangled="std::allocator<std::pair&l [...]
+  <Struct id="_2531" name="rebind<char>" context="_2515" access="public" mangled="NSaIwE6rebindIcEE" demangled="std::allocator<wchar_t>::rebind<char>" location="f98:95" file="f98" line="95" artificial="1" size="8" align="8" members="_7636 _7637 _7638 " bases=""/>
+  <Typedef id="_2532" name="__c_file" type="_1235" context="_2" location="f107:45" file="f107" line="45"/>
+  <Typedef id="_2533" name="__c_lock" type="_835" context="_2" location="f107:42" file="f107" line="42"/>
+  <Typedef id="_2534" name="__c_locale" type="_1677" context="_2" location="f108:61" file="f108" line="61"/>
+  <Function id="_2535" name="strstr" returns="_1149" context="_2" mangled="_ZSt6strstrPcPKc" demangled="std::strstr(char*, char const*)" location="f109:126" file="f109" line="126" endline="126" inline="1">
+    <Argument name="__s1" type="_1149" location="f109:126" file="f109" line="126"/>
+    <Argument name="__s2" type="_2749" location="f109:126" file="f109" line="126"/>
+  </Function>
+  <Function id="_2536" name="strrchr" returns="_1149" context="_2" mangled="_ZSt7strrchrPci" demangled="std::strrchr(char*, int)" location="f109:120" file="f109" line="120" endline="120" inline="1">
+    <Argument name="__s1" type="_1149" location="f109:120" file="f109" line="120"/>
+    <Argument name="__n" type="_503" location="f109:120" file="f109" line="120"/>
+  </Function>
+  <Function id="_2537" name="strpbrk" returns="_1149" context="_2" mangled="_ZSt7strpbrkPcPKc" demangled="std::strpbrk(char*, char const*)" location="f109:114" file="f109" line="114" endline="114" inline="1">
+    <Argument name="__s1" type="_1149" location="f109:114" file="f109" line="114"/>
+    <Argument name="__s2" type="_2749" location="f109:114" file="f109" line="114"/>
+  </Function>
+  <Function id="_2538" name="strchr" returns="_1149" context="_2" mangled="_ZSt6strchrPci" demangled="std::strchr(char*, int)" location="f109:108" file="f109" line="108" endline="108" inline="1">
+    <Argument name="__s1" type="_1149" location="f109:108" file="f109" line="108"/>
+    <Argument name="__n" type="_503" location="f109:108" file="f109" line="108"/>
+  </Function>
+  <Function id="_2539" name="memchr" returns="_1042" context="_2" mangled="_ZSt6memchrPvij" demangled="std::memchr(void*, int, unsigned)" location="f109:102" file="f109" line="102" endline="102" inline="1">
+    <Argument name="__p" type="_1042" location="f109:102" file="f109" line="102"/>
+    <Argument name="__c" type="_503" location="f109:102" file="f109" line="102"/>
+    <Argument name="__n" type="_1698" location="f109:102" file="f109" line="102"/>
+  </Function>
+  <Function id="_2540" name="back_inserter" returns="_2541" context="_2" mangled="_ZSt13back_inserterISt6vectorISsSaISsEEESt20back_insert_iteratorIT_ERS4_" demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > std::back_inserter<std::vector<std::string, std::allocator<std::string> > >(std::vector<std::string, std::allocator<std::string> >&)" location="f110:445" file="f110" line="445" endline="445" [...]
+    <Argument name="__x" type="_7639" location="f110:445" file="f110" line="445"/>
+  </Function>
+  <Class id="_2541" name="back_insert_iterator<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_2" mangled="St20back_insert_iteratorISt6vectorISsSaISsEEE" demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > >" location="f110:385" file="f110"  [...]
+    <Base type="_2698" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_2542" name="reverse_iterator<std::_Deque_iterator<char, const char&, const char*> >" context="_2" incomplete="1" mangled="St16reverse_iteratorISt15_Deque_iteratorIcRKcPS1_EE" demangled="std::reverse_iterator<std::_Deque_iterator<char, char const&, char const*> >" location="f110:98" file="f110" line="98" artificial="1" align="8"/>
+  <Class id="_2543" name="reverse_iterator<std::_Deque_iterator<char, char&, char*> >" context="_2" incomplete="1" mangled="St16reverse_iteratorISt15_Deque_iteratorIcRcPcEE" demangled="std::reverse_iterator<std::_Deque_iterator<char, char&, char*> >" location="f110:98" file="f110" line="98" artificial="1" align="8"/>
+  <Class id="_2544" name="reverse_iterator<std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > >" context="_2" incomplete="1" mangled="St16reverse_iteratorISt23_Rb_tree_const_iteratorISt4pairIKSstEEE" demangled="std::reverse_iterator<std::_Rb_tree_const_iterator<std::pair<std::string const, unsigned short> > >" location="f110:98" file="f110" line="9 [...]
+  <Class id="_2545" name="reverse_iterator<std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > >" context="_2" incomplete="1" mangled="St16reverse_iteratorISt17_Rb_tree_iteratorISt4pairIKSstEEE" demangled="std::reverse_iterator<std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > >" location="f110:98" file="f110" line="98" artificial="1"  [...]
+  <Class id="_2546" name="reverse_iterator<__gnu_cxx::__normal_iterator<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorIN9__gnu_cxx17__normal_iter [...]
+  <Class id="_2547" name="reverse_iterator<__gnu_cxx::__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIP [...]
+  <Class id="_2548" name="reverse_iterator<std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorISt23_Rb_tree_const_iteratorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEEE" demangled=" [...]
+  <Class id="_2549" name="reverse_iterator<std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorISt17_Rb_tree_iteratorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEEE" demangled="std::reverse [...]
+  <Class id="_2550" name="reverse_iterator<__gnu_cxx::__normal_iterator<const int*, std::vector<int, std::allocator<int> > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEE" demangled="std::reverse_iterator<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >" location="f110:98" file="f110" line="98" artificial="1" align="8"/>
+  <Class id="_2551" name="reverse_iterator<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEE" demangled="std::reverse_iterator<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >" location="f110:98" file="f110" line="98" artificial="1" align="8"/>
+  <Class id="_2552" name="reverse_iterator<std::_Bit_iterator>" context="_2" incomplete="1" mangled="St16reverse_iteratorISt13_Bit_iteratorE" demangled="std::reverse_iterator<std::_Bit_iterator>" location="f110:98" file="f110" line="98" artificial="1" align="8"/>
+  <Class id="_2553" name="reverse_iterator<std::_Bit_const_iterator>" context="_2" incomplete="1" mangled="St16reverse_iteratorISt19_Bit_const_iteratorE" demangled="std::reverse_iterator<std::_Bit_const_iterator>" location="f110:98" file="f110" line="98" artificial="1" align="8"/>
+  <Class id="_2554" name="reverse_iterator<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE" demangled="std::reverse_iterator<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator&lt [...]
+  <Class id="_2555" name="reverse_iterator<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEE" demangled="std::reverse_iterator<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t>  [...]
+  <Class id="_2556" name="reverse_iterator<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEE" demangled="std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f110:98" file="f110" line="98" artificial="1" align="8"/>
+  <Class id="_2557" name="reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" incomplete="1" mangled="St16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPcSsEEE" demangled="std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f110:98" file="f110" line="98" artificial="1" align="8"/>
+  <Struct id="_2558" name="__is_pod<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St8__is_podISt4lessISsEE" demangled="std::__is_pod<std::less<std::string> >" location="f60:359" file="f60" line="359" artificial="1" size="8" align="8" members="_7648 _7649 _7650 " bases=""/>
+  <Struct id="_2559" name="__is_scalar<char>" context="_2" mangled="St11__is_scalarIcE" demangled="std::__is_scalar<char>" location="f60:352" file="f60" line="352" artificial="1" size="8" align="8" members="_7651 _7652 " bases="_2650 ">
+    <Base type="_2650" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2560" name="__is_scalar<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2" mangled="St11__is_scalarISsE" demangled="std::__is_scalar<std::string>" location="f60:352" file="f60" line="352" artificial="1" size="8" align="8" members="_7653 _7654 " bases="_2648 ">
+    <Base type="_2648" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2561" name="__is_scalar<char*>" context="_2" mangled="St11__is_scalarIPcE" demangled="std::__is_scalar<char*>" location="f60:352" file="f60" line="352" artificial="1" size="8" align="8" members="_7655 _7656 " bases="_2644 ">
+    <Base type="_2644" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2562" name="__is_scalar<char[17]>" context="_2" mangled="St11__is_scalarIA17_cE" demangled="std::__is_scalar<char[17]>" location="f60:352" file="f60" line="352" artificial="1" size="8" align="8" members="_7657 _7658 " bases="_2646 ">
+    <Base type="_2646" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2563" name="__is_scalar<int>" context="_2" mangled="St11__is_scalarIiE" demangled="std::__is_scalar<int>" location="f60:352" file="f60" line="352" artificial="1" size="8" align="8" members="_7659 _7660 " bases="_2652 ">
+    <Base type="_2652" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2564" name="__is_arithmetic<char*>" context="_2" mangled="St15__is_arithmeticIPcE" demangled="std::__is_arithmetic<char*>" location="f60:336" file="f60" line="336" artificial="1" size="8" align="8" members="_7661 _7662 " bases="_2645 ">
+    <Base type="_2645" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2565" name="__is_arithmetic<char[17]>" context="_2" mangled="St15__is_arithmeticIA17_cE" demangled="std::__is_arithmetic<char[17]>" location="f60:336" file="f60" line="336" artificial="1" size="8" align="8" members="_7663 _7664 " bases="_2647 ">
+    <Base type="_2647" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2566" name="__is_arithmetic<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2" mangled="St15__is_arithmeticISsE" demangled="std::__is_arithmetic<std::string>" location="f60:336" file="f60" line="336" artificial="1" size="8" align="8" members="_7665 _7666 " bases="_2649 ">
+    <Base type="_2649" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2567" name="__is_arithmetic<char>" context="_2" mangled="St15__is_arithmeticIcE" demangled="std::__is_arithmetic<char>" location="f60:336" file="f60" line="336" artificial="1" size="8" align="8" members="_7667 _7668 " bases="_2651 ">
+    <Base type="_2651" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2568" name="__is_arithmetic<int>" context="_2" mangled="St15__is_arithmeticIiE" demangled="std::__is_arithmetic<int>" location="f60:336" file="f60" line="336" artificial="1" size="8" align="8" members="_7669 _7670 " bases="_2653 ">
+    <Base type="_2653" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2569" name="__is_normal_iterator<std::_Deque_iterator<char, char&, char*> >" context="_2" mangled="St20__is_normal_iteratorISt15_Deque_iteratorIcRcPcEE" demangled="std::__is_normal_iterator<std::_Deque_iterator<char, char&, char*> >" location="f60:317" file="f60" line="317" artificial="1" size="8" align="8" members="_7671 _7672 _7673 _7674 " bases=""/>
+  <Struct id="_2570" name="__is_normal_iterator<__gnu_cxx::__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_2" mangled="St20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPSsSt6v [...]
+  <Struct id="_2571" name="__is_normal_iterator<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEE" demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f60:317" file="f60" line="317" artificial="1" size="8" align="8" members="_7679 _7680 _7681 [...]
+  <Struct id="_2572" name="__is_normal_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPcSsEEE" demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f60:317" file="f60" line="317" artificial="1" size="8" align="8" members="_7683 _7684 _7685 _7686 " bases=""/>
+  <Struct id="_2573" name="__is_normal_iterator<char**>" context="_2" mangled="St20__is_normal_iteratorIPPcE" demangled="std::__is_normal_iterator<char**>" location="f60:317" file="f60" line="317" artificial="1" size="8" align="8" members="_7687 _7688 _7689 _7690 " bases=""/>
+  <Struct id="_2574" name="__is_normal_iterator<std::back_insert_iterator<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_2" mangled="St20__is_normal_iteratorISt20back_insert_iteratorISt6vectorISsSaISsEEEE" demangled="std::__is_normal_iterator<std::back_insert_iterator<std::vector< [...]
+  <Struct id="_2575" name="__is_normal_iterator<const char (*)[17]>" context="_2" mangled="St20__is_normal_iteratorIPA17_KcE" demangled="std::__is_normal_iterator<char const (*) [17]>" location="f60:317" file="f60" line="317" artificial="1" size="8" align="8" members="_7695 _7696 _7697 _7698 " bases=""/>
+  <Struct id="_2576" name="__is_normal_iterator<int*>" context="_2" mangled="St20__is_normal_iteratorIPiE" demangled="std::__is_normal_iterator<int*>" location="f60:317" file="f60" line="317" artificial="1" size="8" align="8" members="_7699 _7700 _7701 _7702 " bases=""/>
+  <Struct id="_2577" name="__is_normal_iterator<std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St20__is_normal_iteratorISt19ostreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::__is_normal_iterator<std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f60:317" file="f60" line="317" artificial="1" size="8" align="8" members="_7703 _7704 _7705 _7706 " bases=""/>
+  <Struct id="_2578" name="__is_normal_iterator<__gnu_cxx::__normal_iterator<const int*, std::vector<int, std::allocator<int> > > >" context="_2" mangled="St20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEE" demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >" location="f60:317" file="f60" line="317" artificial="1" size="8" align="8" members="_7 [...]
+  <Struct id="_2579" name="__is_pointer<std::_Deque_iterator<char, char&, char*> >" context="_2" mangled="St12__is_pointerISt15_Deque_iteratorIcRcPcEE" demangled="std::__is_pointer<std::_Deque_iterator<char, char&, char*> >" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7711 _7712 _7713 _7714 " bases=""/>
+  <Struct id="_2580" name="__is_pointer<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_2" mangled="St12__is_pointerIPSsE" demangled="std::__is_pointer<std::string*>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7715 _7716 _7717 _7718 " bases=""/>
+  <Struct id="_2581" name="__is_pointer<const char*>" context="_2" mangled="St12__is_pointerIPKcE" demangled="std::__is_pointer<char const*>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7719 _7720 _7721 _7722 " bases=""/>
+  <Struct id="_2582" name="__is_pointer<char*>" context="_2" mangled="St12__is_pointerIPcE" demangled="std::__is_pointer<char*>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7723 _7724 _7725 _7726 " bases=""/>
+  <Struct id="_2583" name="__is_pointer<char**>" context="_2" mangled="St12__is_pointerIPPcE" demangled="std::__is_pointer<char**>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7727 _7728 _7729 _7730 " bases=""/>
+  <Struct id="_2584" name="__is_pointer<char[17]>" context="_2" mangled="St12__is_pointerIA17_cE" demangled="std::__is_pointer<char[17]>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7731 _7732 _7733 _7734 " bases=""/>
+  <Struct id="_2585" name="__is_pointer<const char (*)[17]>" context="_2" mangled="St12__is_pointerIPA17_KcE" demangled="std::__is_pointer<char const (*) [17]>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7735 _7736 _7737 _7738 " bases=""/>
+  <Struct id="_2586" name="__is_pointer<std::back_insert_iterator<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_2" mangled="St12__is_pointerISt20back_insert_iteratorISt6vectorISsSaISsEEEE" demangled="std::__is_pointer<std::back_insert_iterator<std::vector<std::string, std::alloca [...]
+  <Struct id="_2587" name="__is_pointer<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2" mangled="St12__is_pointerISsE" demangled="std::__is_pointer<std::string>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7743 _7744 _7745 _7746 " bases=""/>
+  <Struct id="_2588" name="__is_pointer<int*>" context="_2" mangled="St12__is_pointerIPiE" demangled="std::__is_pointer<int*>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7747 _7748 _7749 _7750 " bases=""/>
+  <Struct id="_2589" name="__is_pointer<char>" context="_2" mangled="St12__is_pointerIcE" demangled="std::__is_pointer<char>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7751 _7752 _7753 _7754 " bases=""/>
+  <Struct id="_2590" name="__is_pointer<std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St12__is_pointerISt19ostreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::__is_pointer<std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7755 _7756 _7757 _7758 " bases=""/>
+  <Struct id="_2591" name="__is_pointer<const int*>" context="_2" mangled="St12__is_pointerIPKiE" demangled="std::__is_pointer<int const*>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7759 _7760 _7761 _7762 " bases=""/>
+  <Struct id="_2592" name="__is_pointer<int>" context="_2" mangled="St12__is_pointerIiE" demangled="std::__is_pointer<int>" location="f60:300" file="f60" line="300" artificial="1" size="8" align="8" members="_7763 _7764 _7765 _7766 " bases=""/>
+  <Struct id="_2593" name="__is_floating<char*>" context="_2" mangled="St13__is_floatingIPcE" demangled="std::__is_floating<char*>" location="f60:268" file="f60" line="268" artificial="1" size="8" align="8" members="_7767 _7768 _7769 _7770 " bases=""/>
+  <Struct id="_2594" name="__is_floating<char[17]>" context="_2" mangled="St13__is_floatingIA17_cE" demangled="std::__is_floating<char[17]>" location="f60:268" file="f60" line="268" artificial="1" size="8" align="8" members="_7771 _7772 _7773 _7774 " bases=""/>
+  <Struct id="_2595" name="__is_floating<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2" mangled="St13__is_floatingISsE" demangled="std::__is_floating<std::string>" location="f60:268" file="f60" line="268" artificial="1" size="8" align="8" members="_7775 _7776 _7777 _7778 " bases=""/>
+  <Struct id="_2596" name="__is_floating<char>" context="_2" mangled="St13__is_floatingIcE" demangled="std::__is_floating<char>" location="f60:268" file="f60" line="268" artificial="1" size="8" align="8" members="_7779 _7780 _7781 _7782 " bases=""/>
+  <Struct id="_2597" name="__is_floating<int>" context="_2" mangled="St13__is_floatingIiE" demangled="std::__is_floating<int>" location="f60:268" file="f60" line="268" artificial="1" size="8" align="8" members="_7783 _7784 _7785 _7786 " bases=""/>
+  <Struct id="_2598" name="__is_floating<long double>" context="_2" mangled="St13__is_floatingIeE" demangled="std::__is_floating<long double>" location="f60:290" file="f60" line="290" artificial="1" size="8" align="8" members="_7787 _7788 _7789 _7790 " bases=""/>
+  <Struct id="_2599" name="__is_floating<double>" context="_2" mangled="St13__is_floatingIdE" demangled="std::__is_floating<double>" location="f60:283" file="f60" line="283" artificial="1" size="8" align="8" members="_7791 _7792 _7793 _7794 " bases=""/>
+  <Struct id="_2600" name="__is_floating<float>" context="_2" mangled="St13__is_floatingIfE" demangled="std::__is_floating<float>" location="f60:276" file="f60" line="276" artificial="1" size="8" align="8" members="_7795 _7796 _7797 _7798 " bases=""/>
+  <Struct id="_2601" name="__is_integer<std::_Deque_iterator<char, char&, char*> >" context="_2" mangled="St12__is_integerISt15_Deque_iteratorIcRcPcEE" demangled="std::__is_integer<std::_Deque_iterator<char, char&, char*> >" location="f60:162" file="f60" line="162" artificial="1" size="8" align="8" members="_7799 _7800 _7801 _7802 " bases=""/>
+  <Struct id="_2602" name="__is_integer<char*>" context="_2" mangled="St12__is_integerIPcE" demangled="std::__is_integer<char*>" location="f60:162" file="f60" line="162" artificial="1" size="8" align="8" members="_7803 _7804 _7805 _7806 " bases=""/>
+  <Struct id="_2603" name="__is_integer<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St12__is_integerIN9__gnu_cxx17__normal_iteratorIPKcSsEEE" demangled="std::__is_integer<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f60:162" file="f60" line="162" artificial="1" size="8" align="8" members="_7807 _7808 _7809 _7810 " bases=""/>
+  <Struct id="_2604" name="__is_integer<char[17]>" context="_2" mangled="St12__is_integerIA17_cE" demangled="std::__is_integer<char[17]>" location="f60:162" file="f60" line="162" artificial="1" size="8" align="8" members="_7811 _7812 _7813 _7814 " bases=""/>
+  <Struct id="_2605" name="__is_integer<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2" mangled="St12__is_integerISsE" demangled="std::__is_integer<std::string>" location="f60:162" file="f60" line="162" artificial="1" size="8" align="8" members="_7815 _7816 _7817 _7818 " bases=""/>
+  <Struct id="_2606" name="__is_integer<wchar_t*>" context="_2" mangled="St12__is_integerIPwE" demangled="std::__is_integer<wchar_t*>" location="f60:162" file="f60" line="162" artificial="1" size="8" align="8" members="_7819 _7820 _7821 _7822 " bases=""/>
+  <Struct id="_2607" name="__is_integer<char>" context="_2" mangled="St12__is_integerIcE" demangled="std::__is_integer<char>" location="f60:179" file="f60" line="179" artificial="1" size="8" align="8" members="_7823 _7824 _7825 _7826 " bases=""/>
+  <Struct id="_2608" name="__is_integer<int>" context="_2" mangled="St12__is_integerIiE" demangled="std::__is_integer<int>" location="f60:223" file="f60" line="223" artificial="1" size="8" align="8" members="_7827 _7828 _7829 _7830 " bases=""/>
+  <Struct id="_2609" name="__is_integer<int*>" context="_2" mangled="St12__is_integerIPiE" demangled="std::__is_integer<int*>" location="f60:162" file="f60" line="162" artificial="1" size="8" align="8" members="_7831 _7832 _7833 _7834 " bases=""/>
+  <Struct id="_2610" name="__is_integer<long long unsigned int>" context="_2" mangled="St12__is_integerIyE" demangled="std::__is_integer<unsigned long long>" location="f60:258" file="f60" line="258" artificial="1" size="8" align="8" members="_7835 _7836 _7837 _7838 " bases=""/>
+  <Struct id="_2611" name="__is_integer<long long int>" context="_2" mangled="St12__is_integerIxE" demangled="std::__is_integer<long long>" location="f60:251" file="f60" line="251" artificial="1" size="8" align="8" members="_7839 _7840 _7841 _7842 " bases=""/>
+  <Struct id="_2612" name="__is_integer<long unsigned int>" context="_2" mangled="St12__is_integerImE" demangled="std::__is_integer<unsigned long>" location="f60:244" file="f60" line="244" artificial="1" size="8" align="8" members="_7843 _7844 _7845 _7846 " bases=""/>
+  <Struct id="_2613" name="__is_integer<long int>" context="_2" mangled="St12__is_integerIlE" demangled="std::__is_integer<long>" location="f60:237" file="f60" line="237" artificial="1" size="8" align="8" members="_7847 _7848 _7849 _7850 " bases=""/>
+  <Struct id="_2614" name="__is_integer<unsigned int>" context="_2" mangled="St12__is_integerIjE" demangled="std::__is_integer<unsigned>" location="f60:230" file="f60" line="230" artificial="1" size="8" align="8" members="_7851 _7852 _7853 _7854 " bases=""/>
+  <Struct id="_2615" name="__is_integer<short unsigned int>" context="_2" mangled="St12__is_integerItE" demangled="std::__is_integer<unsigned short>" location="f60:216" file="f60" line="216" artificial="1" size="8" align="8" members="_7855 _7856 _7857 _7858 " bases=""/>
+  <Struct id="_2616" name="__is_integer<short int>" context="_2" mangled="St12__is_integerIsE" demangled="std::__is_integer<short>" location="f60:209" file="f60" line="209" artificial="1" size="8" align="8" members="_7859 _7860 _7861 _7862 " bases=""/>
+  <Struct id="_2617" name="__is_integer<wchar_t>" context="_2" mangled="St12__is_integerIwE" demangled="std::__is_integer<wchar_t>" location="f60:201" file="f60" line="201" artificial="1" size="8" align="8" members="_7863 _7864 _7865 _7866 " bases=""/>
+  <Struct id="_2618" name="__is_integer<unsigned char>" context="_2" mangled="St12__is_integerIhE" demangled="std::__is_integer<unsigned char>" location="f60:193" file="f60" line="193" artificial="1" size="8" align="8" members="_7867 _7868 _7869 _7870 " bases=""/>
+  <Struct id="_2619" name="__is_integer<signed char>" context="_2" mangled="St12__is_integerIaE" demangled="std::__is_integer<signed char>" location="f60:186" file="f60" line="186" artificial="1" size="8" align="8" members="_7871 _7872 _7873 _7874 " bases=""/>
+  <Struct id="_2620" name="__is_integer<bool>" context="_2" mangled="St12__is_integerIbE" demangled="std::__is_integer<bool>" location="f60:172" file="f60" line="172" artificial="1" size="8" align="8" members="_7875 _7876 _7877 _7878 " bases=""/>
+  <Struct id="_2621" name="__is_void<void>" context="_2" mangled="St9__is_voidIvE" demangled="std::__is_void<void>" location="f60:152" file="f60" line="152" artificial="1" size="8" align="8" members="_7879 _7880 _7881 _7882 " bases=""/>
+  <Struct id="_2622" name="__enable_if<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,false>" context="_2" mangled="St11__enable_ifISsLb0EE" demangled="std::__enable_if<std::string, false>" location="f60:133" file="f60" line="133" artificial="1" size="8" align="8" members="_7883 _7884 " bases=""/>
+  <Struct id="_2623" name="__enable_if<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,true>" context="_2" mangled="St11__enable_ifISt6vectorISsSaISsEELb1EE" demangled="std::__enable_if<std::vector<std::string, std::allocator<std::string> >, true>" location="f60:133" file="f60" line="133" arti [...]
+  <Struct id="_2624" name="__enable_if<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,true>" context="_2" mangled="St11__enable_ifISsLb1EE" demangled="std::__enable_if<std::string, true>" location="f60:133" file="f60" line="133" artificial="1" size="8" align="8" members="_7888 _7889 _7890 " bases=""/>
+  <Struct id="_2625" name="__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,false>" context="_2" mangled="St11__enable_ifISbIwSt11char_traitsIwESaIwEELb0EE" demangled="std::__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, false>" location="f60:133" file="f60" line="133" artificial="1" size="8" align="8" members="_7891 _7892 " bases=""/>
+  <Struct id="_2626" name="__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,true>" context="_2" mangled="St11__enable_ifISbIwSt11char_traitsIwESaIwEELb1EE" demangled="std::__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, true>" location="f60:133" file="f60" line="133" artificial="1" size="8" align="8" members="_7893 _7894 _7895 " bases=""/>
+  <Struct id="_2627" name="__enable_if<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,false>" context="_2" mangled="St11__enable_ifISt6vectorISsSaISsEELb0EE" demangled="std::__enable_if<std::vector<std::string, std::allocator<std::string> >, false>" location="f60:133" file="f60" line="133" ar [...]
+  <Struct id="_2628" name="__enable_if<std::vector<int, std::allocator<int> >,true>" context="_2" mangled="St11__enable_ifISt6vectorIiSaIiEELb1EE" demangled="std::__enable_if<std::vector<int, std::allocator<int> >, true>" location="f60:133" file="f60" line="133" artificial="1" size="8" align="8" members="_7898 _7899 _7900 " bases=""/>
+  <Struct id="_2629" name="__enable_if<std::vector<int, std::allocator<int> >,false>" context="_2" mangled="St11__enable_ifISt6vectorIiSaIiEELb0EE" demangled="std::__enable_if<std::vector<int, std::allocator<int> >, false>" location="f60:133" file="f60" line="133" artificial="1" size="8" align="8" members="_7901 _7902 " bases=""/>
+  <Struct id="_2630" name="__enable_if<double,(std::__is_integer<_Tp>::__value && std::__is_integer<_Up>::__value)>" context="_2" mangled="St11__enable_ifIdXaasrSt12__is_integerIT_E7__valuesrS0_IT0_E7__valueEE" location="f60:133" file="f60" line="133" artificial="1" size="0" align="8" members="" bases=""/>
+  <Struct id="_2631" name="__are_same<const char*,char*>" context="_2" mangled="St10__are_sameIPKcPcE" demangled="std::__are_same<char const*, char*>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7903 _7904 _7905 _7906 " bases=""/>
+  <Struct id="_2632" name="__are_same<char,char>" context="_2" mangled="St10__are_sameIccE" demangled="std::__are_same<char, char>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7907 _7908 _7909 _7910 " bases=""/>
+  <Struct id="_2633" name="__are_same<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*,std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_2" mangled="St10__are_sameIPSsS0_E" demangled="std::__are_same<std::string*, std::string*>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7911 _7912 _7913 _7914 " bases=""/>
+  <Struct id="_2634" name="__are_same<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_2" mangled="St10__are_sameISsSsE" demangled="std::__are_same<std::string, std::string>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7915 _7916 _7917 _7918 " bases=""/>
+  <Struct id="_2635" name="__are_same<char*,char*>" context="_2" mangled="St10__are_sameIPcS0_E" demangled="std::__are_same<char*, char*>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7919 _7920 _7921 _7922 " bases=""/>
+  <Struct id="_2636" name="__are_same<char[17],void>" context="_2" mangled="St10__are_sameIA17_cvE" demangled="std::__are_same<char[17], void>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7923 _7924 _7925 _7926 " bases=""/>
+  <Struct id="_2637" name="__are_same<const wchar_t*,wchar_t*>" context="_2" mangled="St10__are_sameIPKwPwE" demangled="std::__are_same<wchar_t const*, wchar_t*>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7927 _7928 _7929 _7930 " bases=""/>
+  <Struct id="_2638" name="__are_same<wchar_t*,wchar_t*>" context="_2" mangled="St10__are_sameIPwS0_E" demangled="std::__are_same<wchar_t*, wchar_t*>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7931 _7932 _7933 _7934 " bases=""/>
+  <Struct id="_2639" name="__are_same<int,int>" context="_2" mangled="St10__are_sameIiiE" demangled="std::__are_same<int, int>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7935 _7936 _7937 _7938 " bases=""/>
+  <Struct id="_2640" name="__are_same<char,void>" context="_2" mangled="St10__are_sameIcvE" demangled="std::__are_same<char, void>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7939 _7940 _7941 _7942 " bases=""/>
+  <Struct id="_2641" name="__are_same<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*,std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_2" mangled="St10__are_sameIPKSsPSsE" demangled="std::__are_same<std::string const*, std::string*>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7943 _7944 _7945 _7946 " bases=""/>
+  <Struct id="_2642" name="__are_same<int*,int*>" context="_2" mangled="St10__are_sameIPiS0_E" demangled="std::__are_same<int*, int*>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7947 _7948 _7949 _7950 " bases=""/>
+  <Struct id="_2643" name="__are_same<const int*,int*>" context="_2" mangled="St10__are_sameIPKiPiE" demangled="std::__are_same<int const*, int*>" location="f60:118" file="f60" line="118" artificial="1" size="8" align="8" members="_7951 _7952 _7953 _7954 " bases=""/>
+  <Struct id="_2644" name="__traitor<std::__is_arithmetic<char*>,std::__is_pointer<char*> >" context="_2" mangled="St9__traitorISt15__is_arithmeticIPcESt12__is_pointerIS1_EE" demangled="std::__traitor<std::__is_arithmetic<char*>, std::__is_pointer<char*> >" location="f60:110" file="f60" line="110" artificial="1" size="8" align="8" members="_7955 _7956 _7957 _7958 " bases=""/>
+  <Struct id="_2645" name="__traitor<std::__is_integer<char*>,std::__is_floating<char*> >" context="_2" mangled="St9__traitorISt12__is_integerIPcESt13__is_floatingIS1_EE" demangled="std::__traitor<std::__is_integer<char*>, std::__is_floating<char*> >" location="f60:110" file="f60" line="110" artificial="1" size="8" align="8" members="_7959 _7960 _7961 _7962 " bases=""/>
+  <Struct id="_2646" name="__traitor<std::__is_arithmetic<char[17]>,std::__is_pointer<char[17]> >" context="_2" mangled="St9__traitorISt15__is_arithmeticIA17_cESt12__is_pointerIS1_EE" demangled="std::__traitor<std::__is_arithmetic<char[17]>, std::__is_pointer<char[17]> >" location="f60:110" file="f60" line="110" artificial="1" size="8" align="8" members="_7963 _7964 _7965 _7966 " bases=""/>
+  <Struct id="_2647" name="__traitor<std::__is_integer<char[17]>,std::__is_floating<char[17]> >" context="_2" mangled="St9__traitorISt12__is_integerIA17_cESt13__is_floatingIS1_EE" demangled="std::__traitor<std::__is_integer<char[17]>, std::__is_floating<char[17]> >" location="f60:110" file="f60" line="110" artificial="1" size="8" align="8" members="_7967 _7968 _7969 _7970 " bases=""/>
+  <Struct id="_2648" name="__traitor<std::__is_arithmetic<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::__is_pointer<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St9__traitorISt15__is_arithmeticISsESt12__is_pointerISsEE" demangled="std::__traitor<std::__is_arithmetic<std::string>, std::__is_pointer<std::string> >" location="f60:110"  [...]
+  <Struct id="_2649" name="__traitor<std::__is_integer<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::__is_floating<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St9__traitorISt12__is_integerISsESt13__is_floatingISsEE" demangled="std::__traitor<std::__is_integer<std::string>, std::__is_floating<std::string> >" location="f60:110" file=" [...]
+  <Struct id="_2650" name="__traitor<std::__is_arithmetic<char>,std::__is_pointer<char> >" context="_2" mangled="St9__traitorISt15__is_arithmeticIcESt12__is_pointerIcEE" demangled="std::__traitor<std::__is_arithmetic<char>, std::__is_pointer<char> >" location="f60:110" file="f60" line="110" artificial="1" size="8" align="8" members="_7979 _7980 _7981 _7982 " bases=""/>
+  <Struct id="_2651" name="__traitor<std::__is_integer<char>,std::__is_floating<char> >" context="_2" mangled="St9__traitorISt12__is_integerIcESt13__is_floatingIcEE" demangled="std::__traitor<std::__is_integer<char>, std::__is_floating<char> >" location="f60:110" file="f60" line="110" artificial="1" size="8" align="8" members="_7983 _7984 _7985 _7986 " bases=""/>
+  <Struct id="_2652" name="__traitor<std::__is_arithmetic<int>,std::__is_pointer<int> >" context="_2" mangled="St9__traitorISt15__is_arithmeticIiESt12__is_pointerIiEE" demangled="std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> >" location="f60:110" file="f60" line="110" artificial="1" size="8" align="8" members="_7987 _7988 _7989 _7990 " bases=""/>
+  <Struct id="_2653" name="__traitor<std::__is_integer<int>,std::__is_floating<int> >" context="_2" mangled="St9__traitorISt12__is_integerIiESt13__is_floatingIiEE" demangled="std::__traitor<std::__is_integer<int>, std::__is_floating<int> >" location="f60:110" file="f60" line="110" artificial="1" size="8" align="8" members="_7991 _7992 _7993 _7994 " bases=""/>
+  <Struct id="_2654" name="__truth_type<true>" context="_2" mangled="St12__truth_typeILb1EE" demangled="std::__truth_type<true>" location="f60:104" file="f60" line="104" artificial="1" size="8" align="8" members="_7995 _7996 _7997 " bases=""/>
+  <Struct id="_2655" name="__truth_type<false>" context="_2" mangled="St12__truth_typeILb0EE" demangled="std::__truth_type<false>" location="f60:100" file="f60" line="100" artificial="1" size="8" align="8" members="_7998 _7999 _8000 " bases=""/>
+  <Function id="_2656" name="advance" returns="_1194" context="_2" mangled="_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKcSsEEiEvRT_T0_" demangled="void std::advance<__gnu_cxx::__normal_iterator<char const*, std::string>, int>(__gnu_cxx::__normal_iterator<char const*, std::string>&, int)" location="f111:173" file="f111" line="173" endline="175" inline="1">
+    <Argument name="__i" type="_8001" location="f111:173" file="f111" line="173"/>
+    <Argument name="__n" type="_503" location="f111:173" file="f111" line="173"/>
+  </Function>
+  <Function id="_2657" name="__advance" returns="_1194" context="_2" mangled="_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPKcSsEEiEvRT_T0_St26random_access_iterator_tag" demangled="void std::__advance<__gnu_cxx::__normal_iterator<char const*, std::string>, int>(__gnu_cxx::__normal_iterator<char const*, std::string>&, int, std::random_access_iterator_tag)" location="f111:151" file="f111" line="151" endline="155" inline="1">
+    <Argument name="__i" type="_8001" location="f111:151" file="f111" line="151"/>
+    <Argument name="__n" type="_503" location="f111:151" file="f111" line="151"/>
+    <Argument type="_2700" location="f111:151" file="f111" line="151"/>
+  </Function>
+  <Function id="_2658" name="__advance" returns="_1194" context="_2" mangled="_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPKcSsEEiEvRT_T0_St26bidirectional_iterator_tag" demangled="void std::__advance<__gnu_cxx::__normal_iterator<char const*, std::string>, int>(__gnu_cxx::__normal_iterator<char const*, std::string>&, int, std::bidirectional_iterator_tag)" location="f111:135" file="f111" line="135" extern="1" inline="1">
+    <Argument name="__i" type="_8001" location="f111:135" file="f111" line="135"/>
+    <Argument name="__n" type="_503" location="f111:135" file="f111" line="135"/>
+    <Argument type="_2701" location="f111:135" file="f111" line="135"/>
+  </Function>
+  <Function id="_2659" name="__advance" returns="_1194" context="_2" mangled="_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPKcSsEEiEvRT_T0_St18input_iterator_tag" demangled="void std::__advance<__gnu_cxx::__normal_iterator<char const*, std::string>, int>(__gnu_cxx::__normal_iterator<char const*, std::string>&, int, std::input_iterator_tag)" location="f111:124" file="f111" line="124" extern="1" inline="1">
+    <Argument name="__i" type="_8001" location="f111:124" file="f111" line="124"/>
+    <Argument name="__n" type="_503" location="f111:124" file="f111" line="124"/>
+    <Argument type="_2704" location="f111:124" file="f111" line="124"/>
+  </Function>
+  <Function id="_2660" name="distance" returns="_1699" context="_2" mangled="_ZSt8distanceISt15_Deque_iteratorIcRcPcEENSt15iterator_traitsIT_E15difference_typeES5_S5_" demangled="std::iterator_traits<std::_Deque_iterator<char, char&, char*> >::difference_type std::distance<std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>)" location="f111:115" file="f111" line=" [...]
+    <Argument name="__first" type="_2005" location="f111:115" file="f111" line="115"/>
+    <Argument name="__last" type="_2005" location="f111:115" file="f111" line="115"/>
+  </Function>
+  <Function id="_2661" name="distance" returns="_1699" context="_2" mangled="_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPKcSsEEENSt15iterator_traitsIT_E15difference_typeES6_S6_" demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >::difference_type std::distance<__gnu_cxx::__normal_iterator<char const*, std::string> >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std: [...]
+    <Argument name="__first" type="_3328" location="f111:115" file="f111" line="115"/>
+    <Argument name="__last" type="_3328" location="f111:115" file="f111" line="115"/>
+  </Function>
+  <Function id="_2662" name="distance" returns="_1699" context="_2" mangled="_ZSt8distanceIPwENSt15iterator_traitsIT_E15difference_typeES2_S2_" demangled="std::iterator_traits<wchar_t*>::difference_type std::distance<wchar_t*>(wchar_t*, wchar_t*)" location="f111:115" file="f111" line="115" endline="117" inline="1">
+    <Argument name="__first" type="_2778" location="f111:115" file="f111" line="115"/>
+    <Argument name="__last" type="_2778" location="f111:115" file="f111" line="115"/>
+  </Function>
+  <Function id="_2663" name="distance" returns="_1699" context="_2" mangled="_ZSt8distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_" demangled="std::iterator_traits<char*>::difference_type std::distance<char*>(char*, char*)" location="f111:115" file="f111" line="115" endline="117" inline="1">
+    <Argument name="__first" type="_1149" location="f111:115" file="f111" line="115"/>
+    <Argument name="__last" type="_1149" location="f111:115" file="f111" line="115"/>
+  </Function>
+  <Function id="_2664" name="distance" returns="_1699" context="_2" mangled="_ZSt8distanceIPiENSt15iterator_traitsIT_E15difference_typeES2_S2_" demangled="std::iterator_traits<int*>::difference_type std::distance<int*>(int*, int*)" location="f111:115" file="f111" line="115" endline="117" inline="1">
+    <Argument name="__first" type="_2748" location="f111:115" file="f111" line="115"/>
+    <Argument name="__last" type="_2748" location="f111:115" file="f111" line="115"/>
+  </Function>
+  <Function id="_2665" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceISt15_Deque_iteratorIcRcPcEENSt15iterator_traitsIT_E15difference_typeES5_S5_St26random_access_iterator_tag" demangled="std::iterator_traits<std::_Deque_iterator<char, char&, char*> >::difference_type std::__distance<std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, st [...]
+    <Argument name="__first" type="_2005" location="f111:93" file="f111" line="93"/>
+    <Argument name="__last" type="_2005" location="f111:93" file="f111" line="93"/>
+    <Argument type="_2700" location="f111:93" file="f111" line="93"/>
+  </Function>
+  <Function id="_2666" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPKcSsEEENSt15iterator_traitsIT_E15difference_typeES6_S6_St26random_access_iterator_tag" demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >::difference_type std::__distance<__gnu_cxx::__normal_iterator<char const*, std::string> >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::_ [...]
+    <Argument name="__first" type="_3328" location="f111:93" file="f111" line="93"/>
+    <Argument name="__last" type="_3328" location="f111:93" file="f111" line="93"/>
+    <Argument type="_2700" location="f111:93" file="f111" line="93"/>
+  </Function>
+  <Function id="_2667" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceIPwENSt15iterator_traitsIT_E15difference_typeES2_S2_St26random_access_iterator_tag" demangled="std::iterator_traits<wchar_t*>::difference_type std::__distance<wchar_t*>(wchar_t*, wchar_t*, std::random_access_iterator_tag)" location="f111:93" file="f111" line="93" endline="97" inline="1">
+    <Argument name="__first" type="_2778" location="f111:93" file="f111" line="93"/>
+    <Argument name="__last" type="_2778" location="f111:93" file="f111" line="93"/>
+    <Argument type="_2700" location="f111:93" file="f111" line="93"/>
+  </Function>
+  <Function id="_2668" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_St26random_access_iterator_tag" demangled="std::iterator_traits<char*>::difference_type std::__distance<char*>(char*, char*, std::random_access_iterator_tag)" location="f111:93" file="f111" line="93" endline="97" inline="1">
+    <Argument name="__first" type="_1149" location="f111:93" file="f111" line="93"/>
+    <Argument name="__last" type="_1149" location="f111:93" file="f111" line="93"/>
+    <Argument type="_2700" location="f111:93" file="f111" line="93"/>
+  </Function>
+  <Function id="_2669" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceIPiENSt15iterator_traitsIT_E15difference_typeES2_S2_St26random_access_iterator_tag" demangled="std::iterator_traits<int*>::difference_type std::__distance<int*>(int*, int*, std::random_access_iterator_tag)" location="f111:93" file="f111" line="93" endline="97" inline="1">
+    <Argument name="__first" type="_2748" location="f111:93" file="f111" line="93"/>
+    <Argument name="__last" type="_2748" location="f111:93" file="f111" line="93"/>
+    <Argument type="_2700" location="f111:93" file="f111" line="93"/>
+  </Function>
+  <Function id="_2670" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceISt15_Deque_iteratorIcRcPcEENSt15iterator_traitsIT_E15difference_typeES5_S5_St18input_iterator_tag" demangled="std::iterator_traits<std::_Deque_iterator<char, char&, char*> >::difference_type std::__distance<std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>, std::input [...]
+    <Argument name="__first" type="_2005" location="f111:76" file="f111" line="76"/>
+    <Argument name="__last" type="_2005" location="f111:76" file="f111" line="76"/>
+    <Argument type="_2704" location="f111:76" file="f111" line="76"/>
+  </Function>
+  <Function id="_2671" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPKcSsEEENSt15iterator_traitsIT_E15difference_typeES6_S6_St18input_iterator_tag" demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >::difference_type std::__distance<__gnu_cxx::__normal_iterator<char const*, std::string> >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_ [...]
+    <Argument name="__first" type="_3328" location="f111:76" file="f111" line="76"/>
+    <Argument name="__last" type="_3328" location="f111:76" file="f111" line="76"/>
+    <Argument type="_2704" location="f111:76" file="f111" line="76"/>
+  </Function>
+  <Function id="_2672" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceIPwENSt15iterator_traitsIT_E15difference_typeES2_S2_St18input_iterator_tag" demangled="std::iterator_traits<wchar_t*>::difference_type std::__distance<wchar_t*>(wchar_t*, wchar_t*, std::input_iterator_tag)" location="f111:76" file="f111" line="76" extern="1" inline="1">
+    <Argument name="__first" type="_2778" location="f111:76" file="f111" line="76"/>
+    <Argument name="__last" type="_2778" location="f111:76" file="f111" line="76"/>
+    <Argument type="_2704" location="f111:76" file="f111" line="76"/>
+  </Function>
+  <Function id="_2673" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_St18input_iterator_tag" demangled="std::iterator_traits<char*>::difference_type std::__distance<char*>(char*, char*, std::input_iterator_tag)" location="f111:76" file="f111" line="76" extern="1" inline="1">
+    <Argument name="__first" type="_1149" location="f111:76" file="f111" line="76"/>
+    <Argument name="__last" type="_1149" location="f111:76" file="f111" line="76"/>
+    <Argument type="_2704" location="f111:76" file="f111" line="76"/>
+  </Function>
+  <Function id="_2674" name="__distance" returns="_1699" context="_2" mangled="_ZSt10__distanceIPiENSt15iterator_traitsIT_E15difference_typeES2_S2_St18input_iterator_tag" demangled="std::iterator_traits<int*>::difference_type std::__distance<int*>(int*, int*, std::input_iterator_tag)" location="f111:76" file="f111" line="76" extern="1" inline="1">
+    <Argument name="__first" type="_2748" location="f111:76" file="f111" line="76"/>
+    <Argument name="__last" type="_2748" location="f111:76" file="f111" line="76"/>
+    <Argument type="_2704" location="f111:76" file="f111" line="76"/>
+  </Function>
+  <Function id="_2675" name="__iterator_category" returns="_2700" context="_2" mangled="_ZSt19__iterator_categoryISt15_Deque_iteratorIcRcPcEENSt15iterator_traitsIT_E17iterator_categoryERKS5_" demangled="std::iterator_traits<std::_Deque_iterator<char, char&, char*> >::iterator_category std::__iterator_category<std::_Deque_iterator<char, char&, char*> >(std::_Deque_iterator<char, char&, char*> const&)" location="f112:165" file="f112" line="165" [...]
+    <Argument type="_4253" location="f112:165" file="f112" line="165"/>
+  </Function>
+  <Function id="_2676" name="__iterator_category" returns="_2700" context="_2" mangled="_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEENSt15iterator_traitsIT_E17iterator_categoryERKS6_" demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >(__gnu_cxx::__normal_iterator<char const*, std::string> const&)"  [...]
+    <Argument type="_8002" location="f112:165" file="f112" line="165"/>
+  </Function>
+  <Function id="_2677" name="__iterator_category" returns="_2700" context="_2" mangled="_ZSt19__iterator_categoryIPwENSt15iterator_traitsIT_E17iterator_categoryERKS2_" demangled="std::iterator_traits<wchar_t*>::iterator_category std::__iterator_category<wchar_t*>(wchar_t* const&)" location="f112:165" file="f112" line="165" endline="165" inline="1">
+    <Argument type="_8003" location="f112:165" file="f112" line="165"/>
+  </Function>
+  <Function id="_2678" name="__iterator_category" returns="_2700" context="_2" mangled="_ZSt19__iterator_categoryIPcENSt15iterator_traitsIT_E17iterator_categoryERKS2_" demangled="std::iterator_traits<char*>::iterator_category std::__iterator_category<char*>(char* const&)" location="f112:165" file="f112" line="165" endline="165" inline="1">
+    <Argument type="_7535" location="f112:165" file="f112" line="165"/>
+  </Function>
+  <Function id="_2679" name="__iterator_category" returns="_2700" context="_2" mangled="_ZSt19__iterator_categoryIPiENSt15iterator_traitsIT_E17iterator_categoryERKS2_" demangled="std::iterator_traits<int*>::iterator_category std::__iterator_category<int*>(int* const&)" location="f112:165" file="f112" line="165" endline="165" inline="1">
+    <Argument type="_8004" location="f112:165" file="f112" line="165"/>
+  </Function>
+  <Struct id="_2680" name="iterator_traits<std::_Deque_iterator<char, char&, char*> >" context="_2" mangled="St15iterator_traitsISt15_Deque_iteratorIcRcPcEE" demangled="std::iterator_traits<std::_Deque_iterator<char, char&, char*> >" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8005 _8006 _8007 _8008 _8009 _8010 _8011 " bases=""/>
+  <Struct id="_2681" name="iterator_traits<const char*>" context="_2" mangled="St15iterator_traitsIPKcE" demangled="std::iterator_traits<char const*>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8012 _8013 _8014 _8015 _8016 _8017 _8018 " bases=""/>
+  <Struct id="_2682" name="iterator_traits<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKcSsEEE" demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8019 _8020 _8021 _8022 _8023  [...]
+  <Struct id="_2683" name="iterator_traits<__gnu_cxx::__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_2" mangled="St15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSa [...]
+  <Struct id="_2684" name="iterator_traits<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_2" mangled="St15iterator_traitsIPSsE" demangled="std::iterator_traits<std::string*>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8033 _8034 _8035 _8036 _8037 _8038 _8039 " bases=""/>
+  <Struct id="_2685" name="iterator_traits<char*>" context="_2" mangled="St15iterator_traitsIPcE" demangled="std::iterator_traits<char*>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8040 _8041 _8042 _8043 _8044 _8045 _8046 " bases=""/>
+  <Struct id="_2686" name="iterator_traits<char**>" context="_2" mangled="St15iterator_traitsIPPcE" demangled="std::iterator_traits<char**>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8047 _8048 _8049 _8050 _8051 _8052 _8053 " bases=""/>
+  <Struct id="_2687" name="iterator_traits<const char (*)[17]>" context="_2" mangled="St15iterator_traitsIPA17_KcE" demangled="std::iterator_traits<char const (*) [17]>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8054 _8056 _8057 _8058 _8060 _8061 _8062 " bases=""/>
+  <Struct id="_2688" name="iterator_traits<std::back_insert_iterator<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_2" mangled="St15iterator_traitsISt20back_insert_iteratorISt6vectorISsSaISsEEEE" demangled="std::iterator_traits<std::back_insert_iterator<std::vector<std::string, st [...]
+  <Struct id="_2689" name="iterator_traits<wchar_t*>" context="_2" mangled="St15iterator_traitsIPwE" demangled="std::iterator_traits<wchar_t*>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8070 _8071 _8072 _8073 _8074 _8075 _8076 " bases=""/>
+  <Struct id="_2690" name="iterator_traits<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_2" mangled="St15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPcSsEEE" demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8077 _8078 _8079 _8080 _8081 _8082 _8083 " [...]
+  <Struct id="_2691" name="iterator_traits<int*>" context="_2" mangled="St15iterator_traitsIPiE" demangled="std::iterator_traits<int*>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8084 _8085 _8086 _8087 _8088 _8089 _8090 " bases=""/>
+  <Struct id="_2692" name="iterator_traits<std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_2" mangled="St15iterator_traitsISt19ostreambuf_iteratorIcSt11char_traitsIcEEE" demangled="std::iterator_traits<std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8091 _8092 _8093 _8094 _8095 _8096 _8097 " bases=""/>
+  <Struct id="_2693" name="iterator_traits<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_2" mangled="St15iterator_traitsIPKSsE" demangled="std::iterator_traits<std::string const*>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8098 _8099 _8100 _8101 _8102 _8103 _8104 " bases=""/>
+  <Struct id="_2694" name="iterator_traits<const wchar_t*>" context="_2" mangled="St15iterator_traitsIPKwE" demangled="std::iterator_traits<wchar_t const*>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8105 _8106 _8107 _8108 _8109 _8110 _8111 " bases=""/>
+  <Struct id="_2695" name="iterator_traits<const int*>" context="_2" mangled="St15iterator_traitsIPKiE" demangled="std::iterator_traits<int const*>" location="f112:128" file="f112" line="128" artificial="1" size="8" align="8" members="_8112 _8113 _8114 _8115 _8116 _8117 _8118 " bases=""/>
+  <Struct id="_2696" name="iterator_traits<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_2" mangled="St15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEE" demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" l [...]
+  <Struct id="_2697" name="iterator_traits<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_2" mangled="St15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE" demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > [...]
+  <Struct id="_2698" name="iterator<std::output_iterator_tag,void,void,void,void>" context="_2" mangled="St8iteratorISt19output_iterator_tagvvvvE" demangled="std::iterator<std::output_iterator_tag, void, void, void, void>" location="f112:107" file="f112" line="107" artificial="1" size="8" align="8" members="_8133 _8134 _8135 _8136 _8137 _8138 _8139 " bases=""/>
+  <Struct id="_2699" name="iterator<std::random_access_iterator_tag,bool,int,bool*,bool&>" context="_2" mangled="St8iteratorISt26random_access_iterator_tagbiPbRbE" demangled="std::iterator<std::random_access_iterator_tag, bool, int, bool*, bool&>" location="f112:107" file="f112" line="107" artificial="1" size="8" align="8" members="_8140 _8141 _8142 _8144 _8146 _8147 _8148 " bases=""/>
+  <Struct id="_2700" name="random_access_iterator_tag" context="_2" mangled="St26random_access_iterator_tag" demangled="std::random_access_iterator_tag" location="f112:90" file="f112" line="90" artificial="1" size="8" align="8" members="_8149 _8150 " bases="_2701 ">
+    <Base type="_2701" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2701" name="bidirectional_iterator_tag" context="_2" mangled="St26bidirectional_iterator_tag" demangled="std::bidirectional_iterator_tag" location="f112:87" file="f112" line="87" artificial="1" size="8" align="8" members="_8151 _8152 " bases="_2702 ">
+    <Base type="_2702" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2702" name="forward_iterator_tag" context="_2" mangled="St20forward_iterator_tag" demangled="std::forward_iterator_tag" location="f112:84" file="f112" line="84" artificial="1" size="8" align="8" members="_8153 _8154 " bases="_2704 ">
+    <Base type="_2704" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_2703" name="output_iterator_tag" context="_2" mangled="St19output_iterator_tag" demangled="std::output_iterator_tag" location="f112:82" file="f112" line="82" artificial="1" size="8" align="8" members="_8155 _8156 " bases=""/>
+  <Struct id="_2704" name="input_iterator_tag" context="_2" mangled="St18input_iterator_tag" demangled="std::input_iterator_tag" location="f112:80" file="f112" line="80" artificial="1" size="8" align="8" members="_8157 _8158 " bases=""/>
+  <Function id="_2705" name="div" returns="_1695" context="_2" mangled="_ZSt3divll" demangled="std::div(long, long)" location="f113:145" file="f113" line="145" endline="145" inline="1">
+    <Argument name="__i" type="_1553" location="f113:145" file="f113" line="145"/>
+    <Argument name="__j" type="_1553" location="f113:145" file="f113" line="145"/>
+  </Function>
+  <Function id="_2706" name="abs" returns="_1553" context="_2" mangled="_ZSt3absl" demangled="std::abs(long)" location="f113:142" file="f113" line="142" endline="142" inline="1">
+    <Argument name="__i" type="_1553" location="f113:142" file="f113" line="142"/>
+  </Function>
+  <Struct id="_2707" name="pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >,short unsigned int>" context="_2" mangled="St4pairIKSstE" demangled="std::pair<std::string const, unsigned short>" location="f114:69" file="f114" line="69" artificial="1" size="64" align="32" members="_8159 _8160 _8161 _8162 _8163 _8164 _8165 _8166 " bases=""/>
+  <Struct id="_2708" name="pair<std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >,std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > >" context="_2" incomplete="1" mangled="St4pairISt23_Rb_tree_const_iteratorIS_IKSstEES3_E" demangled="std::pair<s [...]
+  <Struct id="_2709" name="pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >,std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > >" context="_2" incomplete="1" mangled="St4pairISt17_Rb_tree_iteratorIS_IKSstEES3_E" demangled="std::pair<std::_Rb_tree_itera [...]
+  <Struct id="_2710" name="pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >,bool>" context="_2" incomplete="1" mangled="St4pairISt17_Rb_tree_iteratorIS_IKSstEEbE" demangled="std::pair<std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >, bool>" location="f114:69" file="f114" line="69" artificial="1" align="8"/>
+  <Struct id="_2711" name="pair<std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >,std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posi [...]
+  <Struct id="_2712" name="pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >,boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >" context="_2" incomplete="1" mangled="St4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEE" demangled="std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, cha [...]
+  <Struct id="_2713" name="pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >,std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptim [...]
+  <Struct id="_2714" name="pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >,bool>" context="_2" incomplete="1" mangled="St4pairISt17_Rb_tree_iteratorIS_IKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEEEbE" demangled="std::pair<std::_Rb_tree_iterator& [...]
+  <Class id="_2715" name="type_info" context="_2" mangled="St9type_info" demangled="std::type_info" location="f31:68" file="f31" line="68" artificial="1" size="64" align="32" members="_8167 _8168 _8169 _8170 _8171 _8172 _8173 _8174 _8175 _8176 _8177 _8178 _8179 " bases=""/>
+  <Class id="_2716" name="bad_alloc" context="_2" mangled="St9bad_alloc" demangled="std::bad_alloc" location="f34:56" file="f34" line="56" artificial="1" size="32" align="32" members="_8180 _8181 _8182 " bases="_2424 ">
+    <Base type="_2424" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Namespace id="_2717" name="rel_ops" context="_2" members="" mangled="_ZSt7rel_ops" demangled="std::rel_ops"/>
+  <ArrayType id="_2718" min="0" max="16" type="_2961" size="136" align="8"/>
+  <CvQualifiedType id="_2718c" type="_2718" const="1"/>
+  <ArrayType id="_2720" min="0" max="31" type="_2961" size="256" align="8"/>
+  <CvQualifiedType id="_2720c" type="_2720" const="1"/>
+  <ArrayType id="_2722" min="0" max="35" type="_2961" size="288" align="8"/>
+  <CvQualifiedType id="_2722c" type="_2722" const="1"/>
+  <ArrayType id="_2724" min="0" max="36" type="_2961" size="296" align="8"/>
+  <CvQualifiedType id="_2724c" type="_2724" const="1"/>
+  <ArrayType id="_2726" min="0" max="27" type="_2961" size="224" align="8"/>
+  <CvQualifiedType id="_2726c" type="_2726" const="1"/>
+  <ArrayType id="_2728" min="0" max="22" type="_2961" size="184" align="8"/>
+  <CvQualifiedType id="_2728c" type="_2728" const="1"/>
+  <ArrayType id="_2730" min="0" max="28" type="_2961" size="232" align="8"/>
+  <CvQualifiedType id="_2730c" type="_2730" const="1"/>
+  <ArrayType id="_2732" min="0" max="26" type="_2961" size="216" align="8"/>
+  <CvQualifiedType id="_2732c" type="_2732" const="1"/>
+  <Struct id="_2734" name="__fundamental_type_info_pseudo" context="_1" mangled="30__fundamental_type_info_pseudo" demangled="__fundamental_type_info_pseudo" location="f115:0" file="f115" line="0" size="64" align="32" members="" bases=""/>
+  <CvQualifiedType id="_2734c" type="_2734" const="1"/>
+  <Struct id="_2736" name="__class_type_info_pseudo" context="_1" mangled="24__class_type_info_pseudo" demangled="__class_type_info_pseudo" location="f115:0" file="f115" line="0" size="64" align="32" members="" bases=""/>
+  <CvQualifiedType id="_2736c" type="_2736" const="1"/>
+  <Struct id="_2738" name="__si_class_type_info_pseudo" context="_1" mangled="27__si_class_type_info_pseudo" demangled="__si_class_type_info_pseudo" location="f115:0" file="f115" line="0" size="96" align="32" members="" bases=""/>
+  <CvQualifiedType id="_2738c" type="_2738" const="1"/>
+  <PointerType id="_2740" type="_49" size="32" align="32"/>
+  <Field id="_2741" name="type" type="_503" offset="0" context="_49" access="public" mangled="_ZN11__exception4typeE" demangled="__exception::type" location="f11:312" file="f11" line="312"/>
+  <Field id="_2742" name="name" type="_1149" offset="32" context="_49" access="public" mangled="_ZN11__exception4nameE" demangled="__exception::name" location="f11:313" file="f11" line="313"/>
+  <Field id="_2743" name="arg1" type="_2753" offset="64" context="_49" access="public" mangled="_ZN11__exception4arg1E" demangled="__exception::arg1" location="f11:314" file="f11" line="314"/>
+  <Field id="_2744" name="arg2" type="_2753" offset="128" context="_49" access="public" mangled="_ZN11__exception4arg2E" demangled="__exception::arg2" location="f11:315" file="f11" line="315"/>
+  <Field id="_2745" name="retval" type="_2753" offset="192" context="_49" access="public" mangled="_ZN11__exception6retvalE" demangled="__exception::retval" location="f11:316" file="f11" line="316"/>
+  <Constructor id="_2746" name="__exception" artificial="1" throw="" context="_49" access="public" mangled="_ZN11__exceptionC1ERKS_ *INTERNAL* " demangled="__exception::__exception(__exception const&)" location="f11:311" file="f11" line="311" inline="1">
+    <Argument name="_ctor_arg" type="_8183" location="f11:311" file="f11" line="311"/>
+  </Constructor>
+  <Constructor id="_2747" name="__exception" explicit="1" artificial="1" throw="" context="_49" access="public" mangled="_ZN11__exceptionC1Ev *INTERNAL* " demangled="__exception::__exception()" location="f11:311" file="f11" line="311" inline="1"/>
+  <PointerType id="_2748" type="_503" size="32" align="32"/>
+  <PointerType id="_2749" type="_2961c" size="32" align="32"/>
+  <PointerType id="_2750" type="_483" size="32" align="32"/>
+  <FundamentalType id="_2751" name="float" size="32" align="32"/>
+  <PointerType id="_2752" type="_2751" size="32" align="32"/>
+  <FundamentalType id="_2753" name="double" size="64" align="64"/>
+  <PointerType id="_2754" type="_2753" size="32" align="32"/>
+  <PointerType id="_2755" type="_1564c" size="32" align="32"/>
+  <PointerType id="_2756" type="_505c" size="32" align="32"/>
+  <CvQualifiedType id="_2756r" type="_2756" restrict="1"/>
+  <PointerType id="_2758" type="_505" size="32" align="32"/>
+  <CvQualifiedType id="_2758r" type="_2758" restrict="1"/>
+  <Field id="_2760" name="it_interval" type="_1564" offset="0" context="_505" access="public" mangled="_ZN9itimerval11it_intervalE" demangled="itimerval::it_interval" location="f18:112" file="f18" line="112"/>
+  <Field id="_2761" name="it_value" type="_1564" offset="64" context="_505" access="public" mangled="_ZN9itimerval8it_valueE" demangled="itimerval::it_value" location="f18:114" file="f18" line="114"/>
+  <Constructor id="_2762" name="itimerval" artificial="1" throw="" context="_505" access="public" mangled="_ZN9itimervalC1ERKS_ *INTERNAL* " demangled="itimerval::itimerval(itimerval const&)" location="f18:110" file="f18" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_8187" location="f18:110" file="f18" line="110"/>
+  </Constructor>
+  <Constructor id="_2763" name="itimerval" explicit="1" artificial="1" throw="" context="_505" access="public" mangled="_ZN9itimervalC1Ev *INTERNAL* " demangled="itimerval::itimerval()" location="f18:110" file="f18" line="110" inline="1"/>
+  <PointerType id="_2764" type="_1564" size="32" align="32"/>
+  <PointerType id="_2765" type="_512c" size="32" align="32"/>
+  <CvQualifiedType id="_2764r" type="_2764" restrict="1"/>
+  <CvQualifiedType id="_510r" type="_510" restrict="1"/>
+  <Field id="_2768" name="tz_minuteswest" type="_503" offset="0" context="_512" access="public" mangled="_ZN8timezone14tz_minuteswestE" demangled="timezone::tz_minuteswest" location="f18:59" file="f18" line="59"/>
+  <Field id="_2769" name="tz_dsttime" type="_503" offset="32" context="_512" access="public" mangled="_ZN8timezone10tz_dsttimeE" demangled="timezone::tz_dsttime" location="f18:60" file="f18" line="60"/>
+  <Constructor id="_2770" name="timezone" artificial="1" throw="" context="_512" access="public" mangled="_ZN8timezoneC1ERKS_ *INTERNAL* " demangled="timezone::timezone(timezone const&)" location="f18:58" file="f18" line="58" inline="1">
+    <Argument name="_ctor_arg" type="_8189" location="f18:58" file="f18" line="58"/>
+  </Constructor>
+  <Constructor id="_2771" name="timezone" explicit="1" artificial="1" throw="" context="_512" access="public" mangled="_ZN8timezoneC1Ev *INTERNAL* " demangled="timezone::timezone()" location="f18:58" file="f18" line="58" inline="1"/>
+  <Struct id="_2772" name="__vmi_class_type_info_pseudo2" context="_1" mangled="29__vmi_class_type_info_pseudo2" demangled="__vmi_class_type_info_pseudo2" location="f29:676" file="f29" line="676" size="320" align="32" members="_8190 _8191 _8192 _8193 " bases=""/>
+  <CvQualifiedType id="_2772c" type="_2772" const="1"/>
+  <Struct id="_2774" name="__vmi_class_type_info_pseudo1" context="_1" mangled="29__vmi_class_type_info_pseudo1" demangled="__vmi_class_type_info_pseudo1" location="f9:64" file="f9" line="64" size="256" align="32" members="_8194 _8195 _8196 _8197 " bases=""/>
+  <CvQualifiedType id="_2774c" type="_2774" const="1"/>
+  <ReferenceType id="_2777" type="_2257c" size="32" align="32"/>
+  <PointerType id="_2778" type="_2786" size="32" align="32"/>
+  <CvQualifiedType id="_2778r" type="_2778" restrict="1"/>
+  <PointerType id="_2780" type="_2786c" size="32" align="32"/>
+  <CvQualifiedType id="_2780r" type="_2780" restrict="1"/>
+  <PointerType id="_2782" type="_1011c" size="32" align="32"/>
+  <CvQualifiedType id="_2782r" type="_2782" restrict="1"/>
+  <PointerType id="_2784" type="_1234" size="32" align="32"/>
+  <CvQualifiedType id="_2784r" type="_2784" restrict="1"/>
+  <FundamentalType id="_2786" name="wchar_t" size="32" align="32"/>
+  <PointerType id="_2787" type="_2778" size="32" align="32"/>
+  <CvQualifiedType id="_2787r" type="_2787" restrict="1"/>
+  <CvQualifiedType id="_1149r" type="_1149" restrict="1"/>
+  <PointerType id="_2790" type="_2780" size="32" align="32"/>
+  <CvQualifiedType id="_2790r" type="_2790" restrict="1"/>
+  <PointerType id="_2792" type="_767" size="32" align="32"/>
+  <CvQualifiedType id="_2792r" type="_2792" restrict="1"/>
+  <PointerType id="_2794" type="_2749" size="32" align="32"/>
+  <CvQualifiedType id="_2794r" type="_2794" restrict="1"/>
+  <CvQualifiedType id="_2749r" type="_2749" restrict="1"/>
+  <PointerType id="_2797" type="_767c" size="32" align="32"/>
+  <Field id="_2798" name="__count" type="_503" offset="0" context="_766" access="public" mangled="_ZN11__mbstate_t7__countE" demangled="__mbstate_t::__count" location="f37:78" file="f37" line="78"/>
+  <Field id="_2799" name="__value" type="_2800" offset="32" context="_766" access="public" mangled="_ZN11__mbstate_t7__valueE" demangled="__mbstate_t::__value" location="f37:83" file="f37" line="83"/>
+  <Union id="_2800" context="_766" access="public" mangled="N11__mbstate_t4._54E" demangled="__mbstate_t::._54" location="f37:80" file="f37" line="80" artificial="1" size="32" align="32" members="_8201 _8202 _8203 _8204 " bases=""/>
+  <Constructor id="_2801" name="._53" artificial="1" throw="" context="_766" access="public" mangled="_ZN11__mbstate_tC1ERKS_ *INTERNAL* " demangled="__mbstate_t::__mbstate_t(__mbstate_t const&)" location="f37:77" file="f37" line="77" inline="1">
+    <Argument name="_ctor_arg" type="_8205" location="f37:77" file="f37" line="77"/>
+  </Constructor>
+  <Constructor id="_2802" name="._53" explicit="1" artificial="1" throw="" context="_766" access="public" mangled="_ZN11__mbstate_tC1Ev *INTERNAL* " demangled="__mbstate_t::__mbstate_t()" location="f37:77" file="f37" line="77" inline="1"/>
+  <PointerType id="_2803" type="_626" size="32" align="32"/>
+  <PointerType id="_2804" type="_8206" size="32" align="32"/>
+  <PointerType id="_2805" type="_834" size="32" align="32"/>
+  <PointerType id="_2806" type="_835" size="32" align="32"/>
+  <PointerType id="_2807" type="_1194c" size="32" align="32"/>
+  <PointerType id="_2808" type="_838" size="32" align="32"/>
+  <PointerType id="_2809" type="_836" size="32" align="32"/>
+  <PointerType id="_2810" type="_1543" size="32" align="32"/>
+  <PointerType id="_2811" type="_1540" size="32" align="32"/>
+  <PointerType id="_2812" type="_833" size="32" align="32"/>
+  <PointerType id="_2813" type="_1543c" size="32" align="32"/>
+  <PointerType id="_2814" type="_1547" size="32" align="32"/>
+  <PointerType id="_2815" type="_1546c" size="32" align="32"/>
+  <PointerType id="_2816" type="_8210" size="32" align="32"/>
+  <PointerType id="_2817" type="_1539" size="32" align="32"/>
+  <Field id="_2818" name="__data" type="_2821" offset="0" context="_833" access="public" mangled="_ZN15pthread_mutex_t6__dataE" demangled="pthread_mutex_t::__data" location="f40:70" file="f40" line="70"/>
+  <Field id="_2819" name="__size" type="_8211" offset="0" context="_833" access="public" mangled="_ZN15pthread_mutex_t6__sizeE" demangled="pthread_mutex_t::__size" location="f40:71" file="f40" line="71"/>
+  <Field id="_2820" name="__align" type="_1553" offset="0" context="_833" access="public" mangled="_ZN15pthread_mutex_t7__alignE" demangled="pthread_mutex_t::__align" location="f40:72" file="f40" line="72"/>
+  <Struct id="_2821" name="__pthread_mutex_s" context="_833" access="public" mangled="N15pthread_mutex_t17__pthread_mutex_sE" demangled="pthread_mutex_t::__pthread_mutex_s" location="f40:57" file="f40" line="57" artificial="1" size="192" align="32" members="_8212 _8213 _8214 _8215 _8216 _8217 _8218 _8219 _8220 " bases=""/>
+  <Constructor id="_2822" name="._9" artificial="1" throw="" context="_833" access="public" mangled="_ZN15pthread_mutex_tC1ERKS_ *INTERNAL* " demangled="pthread_mutex_t::pthread_mutex_t(pthread_mutex_t const&)" location="f40:55" file="f40" line="55" inline="1">
+    <Argument name="_ctor_arg" type="_8221" location="f40:55" file="f40" line="55"/>
+  </Constructor>
+  <Constructor id="_2823" name="._9" explicit="1" artificial="1" throw="" context="_833" access="public" mangled="_ZN15pthread_mutex_tC1Ev *INTERNAL* " demangled="pthread_mutex_t::pthread_mutex_t()" location="f40:55" file="f40" line="55" inline="1"/>
+  <PointerType id="_2824" type="_1626" size="32" align="32"/>
+  <PointerType id="_2825" type="_1534" size="32" align="32"/>
+  <PointerType id="_2826" type="_1534c" size="32" align="32"/>
+  <CvQualifiedType id="_2826r" type="_2826" restrict="1"/>
+  <CvQualifiedType id="_2748r" type="_2748" restrict="1"/>
+  <PointerType id="_2829" type="_1535" size="32" align="32"/>
+  <CvQualifiedType id="_2829r" type="_2829" restrict="1"/>
+  <PointerType id="_2831" type="_1536" size="32" align="32"/>
+  <PointerType id="_2832" type="_1541" size="32" align="32"/>
+  <PointerType id="_2833" type="_1541c" size="32" align="32"/>
+  <CvQualifiedType id="_2833r" type="_2833" restrict="1"/>
+  <CvQualifiedType id="_2824r" type="_2824" restrict="1"/>
+  <PointerType id="_2836" type="_1542" size="32" align="32"/>
+  <CvQualifiedType id="_2836r" type="_2836" restrict="1"/>
+  <CvQualifiedType id="_2812r" type="_2812" restrict="1"/>
+  <PointerType id="_2839" type="_1565c" size="32" align="32"/>
+  <CvQualifiedType id="_2839r" type="_2839" restrict="1"/>
+  <PointerType id="_2841" type="_1537" size="32" align="32"/>
+  <PointerType id="_2842" type="_1537c" size="32" align="32"/>
+  <CvQualifiedType id="_2842r" type="_2842" restrict="1"/>
+  <PointerType id="_2844" type="_1538" size="32" align="32"/>
+  <CvQualifiedType id="_2844r" type="_2844" restrict="1"/>
+  <CvQualifiedType id="_2813r" type="_2813" restrict="1"/>
+  <PointerType id="_2847" type="_833c" size="32" align="32"/>
+  <CvQualifiedType id="_2847r" type="_2847" restrict="1"/>
+  <PointerType id="_2849" type="_906" size="32" align="32"/>
+  <Field id="_2850" name="__cancel_routine" type="_1208" offset="0" context="_907" access="private" mangled="_ZN23__pthread_cleanup_class16__cancel_routineE" demangled="__pthread_cleanup_class::__cancel_routine" location="f41:507" file="f41" line="507"/>
+  <Field id="_2851" name="__cancel_arg" type="_1042" offset="32" context="_907" access="private" mangled="_ZN23__pthread_cleanup_class12__cancel_argE" demangled="__pthread_cleanup_class::__cancel_arg" location="f41:508" file="f41" line="508"/>
+  <Field id="_2852" name="__do_it" type="_503" offset="64" context="_907" access="private" mangled="_ZN23__pthread_cleanup_class7__do_itE" demangled="__pthread_cleanup_class::__do_it" location="f41:509" file="f41" line="509"/>
+  <Field id="_2853" name="__cancel_type" type="_503" offset="96" context="_907" access="private" mangled="_ZN23__pthread_cleanup_class13__cancel_typeE" demangled="__pthread_cleanup_class::__cancel_type" location="f41:510" file="f41" line="510"/>
+  <Constructor id="_2854" name="__pthread_cleanup_class" artificial="1" throw="" context="_907" access="public" mangled="_ZN23__pthread_cleanup_classC1ERKS_ *INTERNAL* " demangled="__pthread_cleanup_class::__pthread_cleanup_class(__pthread_cleanup_class const&)" location="f41:506" file="f41" line="506" inline="1">
+    <Argument name="_ctor_arg" type="_8227" location="f41:506" file="f41" line="506"/>
+  </Constructor>
+  <Constructor id="_2855" name="__pthread_cleanup_class" explicit="1" context="_907" access="public" mangled="_ZN23__pthread_cleanup_classC1EPFvPvES0_ *INTERNAL* " demangled="__pthread_cleanup_class::__pthread_cleanup_class(void (*)(void*), void*)" location="f41:514" file="f41" line="514" endline="514" inline="1">
+    <Argument name="__fct" type="_1208" location="f41:514" file="f41" line="514"/>
+    <Argument name="__arg" type="_1042" location="f41:514" file="f41" line="514"/>
+  </Constructor>
+  <Destructor id="_2856" name="__pthread_cleanup_class" context="_907" access="public" mangled="_ZN23__pthread_cleanup_classD1Ev *INTERNAL* " demangled="__pthread_cleanup_class::~__pthread_cleanup_class()" location="f41:515" file="f41" line="515" endline="515" inline="1">
+  </Destructor>
+  <Method id="_2857" name="__setdoit" returns="_1194" context="_907" access="public" mangled="_ZN23__pthread_cleanup_class9__setdoitEi" demangled="__pthread_cleanup_class::__setdoit(int)" location="f41:516" file="f41" line="516" endline="516" inline="1">
+    <Argument name="__newval" type="_503" location="f41:516" file="f41" line="516"/>
+  </Method>
+  <Method id="_2858" name="__defer" returns="_1194" context="_907" access="public" mangled="_ZN23__pthread_cleanup_class7__deferEv" demangled="__pthread_cleanup_class::__defer()" location="f41:517" file="f41" line="517" endline="518" inline="1"/>
+  <Method id="_2859" name="__restore" returns="_1194" const="1" context="_907" access="public" mangled="_ZNK23__pthread_cleanup_class9__restoreEv" demangled="__pthread_cleanup_class::__restore() const" location="f41:519" file="f41" line="519" endline="519" inline="1"/>
+  <Field id="_2860" name="__cancel_routine" type="_1208" offset="0" context="_908" access="public" mangled="_ZN23__pthread_cleanup_frame16__cancel_routineE" demangled="__pthread_cleanup_frame::__cancel_routine" location="f41:496" file="f41" line="496"/>
+  <Field id="_2861" name="__cancel_arg" type="_1042" offset="32" context="_908" access="public" mangled="_ZN23__pthread_cleanup_frame12__cancel_argE" demangled="__pthread_cleanup_frame::__cancel_arg" location="f41:497" file="f41" line="497"/>
+  <Field id="_2862" name="__do_it" type="_503" offset="64" context="_908" access="public" mangled="_ZN23__pthread_cleanup_frame7__do_itE" demangled="__pthread_cleanup_frame::__do_it" location="f41:498" file="f41" line="498"/>
+  <Field id="_2863" name="__cancel_type" type="_503" offset="96" context="_908" access="public" mangled="_ZN23__pthread_cleanup_frame13__cancel_typeE" demangled="__pthread_cleanup_frame::__cancel_type" location="f41:499" file="f41" line="499"/>
+  <Constructor id="_2864" name="__pthread_cleanup_frame" artificial="1" throw="" context="_908" access="public" mangled="_ZN23__pthread_cleanup_frameC1ERKS_ *INTERNAL* " demangled="__pthread_cleanup_frame::__pthread_cleanup_frame(__pthread_cleanup_frame const&)" location="f41:495" file="f41" line="495" inline="1">
+    <Argument name="_ctor_arg" type="_8228" location="f41:495" file="f41" line="495"/>
+  </Constructor>
+  <Constructor id="_2865" name="__pthread_cleanup_frame" explicit="1" artificial="1" throw="" context="_908" access="public" mangled="_ZN23__pthread_cleanup_frameC1Ev *INTERNAL* " demangled="__pthread_cleanup_frame::__pthread_cleanup_frame()" location="f41:495" file="f41" line="495" inline="1"/>
+  <Field id="_2866" name="__cancel_jmp_buf" type="_8229" offset="0" context="_909" access="public" mangled="_ZN4._7416__cancel_jmp_bufE" demangled="._74::__cancel_jmp_buf" location="f41:483" file="f41" line="483"/>
+  <Field id="_2867" name="__pad" type="_8230" offset="224" context="_909" access="public" mangled="_ZN4._745__padE" demangled="._74::__pad" location="f41:484" file="f41" line="484"/>
+  <Struct id="_2868" context="_909" access="public" mangled="N4._744._75E" demangled="._74::._75" location="f41:480" file="f41" line="480" artificial="1" size="224" align="32" members="_8231 _8232 _8233 _8234 " bases=""/>
+  <Constructor id="_2869" artificial="1" throw="" context="_909" access="public" mangled="_ZN4._74C1ERKS_ *INTERNAL* " demangled="._74::._74(._74 const&)" location="f41:478" file="f41" line="478" inline="1">
+    <Argument name="_ctor_arg" type="_8235" location="f41:478" file="f41" line="478"/>
+  </Constructor>
+  <Constructor id="_2870" explicit="1" artificial="1" throw="" context="_909" access="public" mangled="_ZN4._74C1Ev *INTERNAL* " demangled="._74::._74()" location="f41:478" file="f41" line="478" inline="1"/>
+  <PointerType id="_2871" type="_1022" size="32" align="32"/>
+  <PointerType id="_2872" type="_1022c" size="32" align="32"/>
+  <PointerType id="_2873" type="_1027" size="32" align="32"/>
+  <CvQualifiedType id="_2873r" type="_2873" restrict="1"/>
+  <PointerType id="_2875" type="_1027c" size="32" align="32"/>
+  <PointerType id="_2876" type="_1546" size="32" align="32"/>
+  <CvQualifiedType id="_2815r" type="_2815" restrict="1"/>
+  <PointerType id="_2878" type="_1042" size="32" align="32"/>
+  <CvQualifiedType id="_2878r" type="_2878" restrict="1"/>
+  <PointerType id="_2880" type="_1698" size="32" align="32"/>
+  <CvQualifiedType id="_2880r" type="_2880" restrict="1"/>
+  <CvQualifiedType id="_2876r" type="_2876" restrict="1"/>
+  <CvQualifiedType id="_2875r" type="_2875" restrict="1"/>
+  <CvQualifiedType id="_2814r" type="_2814" restrict="1"/>
+  <CvQualifiedType id="_1042r" type="_1042" restrict="1"/>
+  <Field id="_2886" name="__routine" type="_1208" offset="0" context="_957" access="public" mangled="_ZN23_pthread_cleanup_buffer9__routineE" demangled="_pthread_cleanup_buffer::__routine" location="f41:180" file="f41" line="180"/>
+  <Field id="_2887" name="__arg" type="_1042" offset="32" context="_957" access="public" mangled="_ZN23_pthread_cleanup_buffer5__argE" demangled="_pthread_cleanup_buffer::__arg" location="f41:181" file="f41" line="181"/>
+  <Field id="_2888" name="__canceltype" type="_503" offset="64" context="_957" access="public" mangled="_ZN23_pthread_cleanup_buffer12__canceltypeE" demangled="_pthread_cleanup_buffer::__canceltype" location="f41:182" file="f41" line="182"/>
+  <Field id="_2889" name="__prev" type="_8238" offset="96" context="_957" access="public" mangled="_ZN23_pthread_cleanup_buffer6__prevE" demangled="_pthread_cleanup_buffer::__prev" location="f41:183" file="f41" line="183"/>
+  <Constructor id="_2890" name="_pthread_cleanup_buffer" artificial="1" throw="" context="_957" access="public" mangled="_ZN23_pthread_cleanup_bufferC1ERKS_ *INTERNAL* " demangled="_pthread_cleanup_buffer::_pthread_cleanup_buffer(_pthread_cleanup_buffer const&)" location="f41:179" file="f41" line="179" inline="1">
+    <Argument name="_ctor_arg" type="_8239" location="f41:179" file="f41" line="179"/>
+  </Constructor>
+  <Constructor id="_2891" name="_pthread_cleanup_buffer" explicit="1" artificial="1" throw="" context="_957" access="public" mangled="_ZN23_pthread_cleanup_bufferC1Ev *INTERNAL* " demangled="_pthread_cleanup_buffer::_pthread_cleanup_buffer()" location="f41:179" file="f41" line="179" inline="1"/>
+  <PointerType id="_2892" type="_1011" size="32" align="32"/>
+  <CvQualifiedType id="_2892r" type="_2892" restrict="1"/>
+  <PointerType id="_2894" type="_1010" size="32" align="32"/>
+  <PointerType id="_2895" type="_1010c" size="32" align="32"/>
+  <CvQualifiedType id="_2895r" type="_2895" restrict="1"/>
+  <CvQualifiedType id="_2894r" type="_2894" restrict="1"/>
+  <PointerType id="_2898" type="_1009" size="32" align="32"/>
+  <CvQualifiedType id="_2898r" type="_2898" restrict="1"/>
+  <PointerType id="_2900" type="_1583" size="32" align="32"/>
+  <CvQualifiedType id="_2900r" type="_2900" restrict="1"/>
+  <PointerType id="_2902" type="_1584" size="32" align="32"/>
+  <PointerType id="_2903" type="_1565" size="32" align="32"/>
+  <PointerType id="_2904" type="_1585c" size="32" align="32"/>
+  <ArrayType id="_2905" min="0" max="1" type="_1149" size="64" align="32"/>
+  <CvQualifiedType id="_2904r" type="_2904" restrict="1"/>
+  <PointerType id="_2907" type="_1585" size="32" align="32"/>
+  <Field id="_2908" name="it_interval" type="_1565" offset="0" context="_1010" access="public" mangled="_ZN10itimerspec11it_intervalE" demangled="itimerspec::it_interval" location="f43:164" file="f43" line="164"/>
+  <Field id="_2909" name="it_value" type="_1565" offset="64" context="_1010" access="public" mangled="_ZN10itimerspec8it_valueE" demangled="itimerspec::it_value" location="f43:165" file="f43" line="165"/>
+  <Constructor id="_2910" name="itimerspec" artificial="1" throw="" context="_1010" access="public" mangled="_ZN10itimerspecC1ERKS_ *INTERNAL* " demangled="itimerspec::itimerspec(itimerspec const&)" location="f43:163" file="f43" line="163" inline="1">
+    <Argument name="_ctor_arg" type="_8242" location="f43:163" file="f43" line="163"/>
+  </Constructor>
+  <Constructor id="_2911" name="itimerspec" explicit="1" artificial="1" throw="" context="_1010" access="public" mangled="_ZN10itimerspecC1Ev *INTERNAL* " demangled="itimerspec::itimerspec()" location="f43:163" file="f43" line="163" inline="1"/>
+  <Field id="_2912" name="tm_sec" type="_503" offset="0" context="_1011" access="public" mangled="_ZN2tm6tm_secE" demangled="tm::tm_sec" location="f43:136" file="f43" line="136"/>
+  <Field id="_2913" name="tm_min" type="_503" offset="32" context="_1011" access="public" mangled="_ZN2tm6tm_minE" demangled="tm::tm_min" location="f43:137" file="f43" line="137"/>
+  <Field id="_2914" name="tm_hour" type="_503" offset="64" context="_1011" access="public" mangled="_ZN2tm7tm_hourE" demangled="tm::tm_hour" location="f43:138" file="f43" line="138"/>
+  <Field id="_2915" name="tm_mday" type="_503" offset="96" context="_1011" access="public" mangled="_ZN2tm7tm_mdayE" demangled="tm::tm_mday" location="f43:139" file="f43" line="139"/>
+  <Field id="_2916" name="tm_mon" type="_503" offset="128" context="_1011" access="public" mangled="_ZN2tm6tm_monE" demangled="tm::tm_mon" location="f43:140" file="f43" line="140"/>
+  <Field id="_2917" name="tm_year" type="_503" offset="160" context="_1011" access="public" mangled="_ZN2tm7tm_yearE" demangled="tm::tm_year" location="f43:141" file="f43" line="141"/>
+  <Field id="_2918" name="tm_wday" type="_503" offset="192" context="_1011" access="public" mangled="_ZN2tm7tm_wdayE" demangled="tm::tm_wday" location="f43:142" file="f43" line="142"/>
+  <Field id="_2919" name="tm_yday" type="_503" offset="224" context="_1011" access="public" mangled="_ZN2tm7tm_ydayE" demangled="tm::tm_yday" location="f43:143" file="f43" line="143"/>
+  <Field id="_2920" name="tm_isdst" type="_503" offset="256" context="_1011" access="public" mangled="_ZN2tm8tm_isdstE" demangled="tm::tm_isdst" location="f43:144" file="f43" line="144"/>
+  <Field id="_2921" name="tm_gmtoff" type="_1553" offset="288" context="_1011" access="public" mangled="_ZN2tm9tm_gmtoffE" demangled="tm::tm_gmtoff" location="f43:147" file="f43" line="147"/>
+  <Field id="_2922" name="tm_zone" type="_2749" offset="320" context="_1011" access="public" mangled="_ZN2tm7tm_zoneE" demangled="tm::tm_zone" location="f43:148" file="f43" line="148"/>
+  <Constructor id="_2923" name="tm" artificial="1" throw="" context="_1011" access="public" mangled="_ZN2tmC1ERKS_ *INTERNAL* " demangled="tm::tm(tm const&)" location="f43:135" file="f43" line="135" inline="1">
+    <Argument name="_ctor_arg" type="_8243" location="f43:135" file="f43" line="135"/>
+  </Constructor>
+  <Constructor id="_2924" name="tm" explicit="1" artificial="1" throw="" context="_1011" access="public" mangled="_ZN2tmC1Ev *INTERNAL* " demangled="tm::tm()" location="f43:135" file="f43" line="135" inline="1"/>
+  <Field id="_2925" name="__bits" type="_8244" offset="0" context="_1022" access="public" mangled="_ZN9cpu_set_t6__bitsE" demangled="cpu_set_t::__bits" location="f45:113" file="f45" line="113"/>
+  <Constructor id="_2926" name="._63" artificial="1" throw="" context="_1022" access="public" mangled="_ZN9cpu_set_tC1ERKS_ *INTERNAL* " demangled="cpu_set_t::cpu_set_t(cpu_set_t const&)" location="f45:112" file="f45" line="112" inline="1">
+    <Argument name="_ctor_arg" type="_8245" location="f45:112" file="f45" line="112"/>
+  </Constructor>
+  <Constructor id="_2927" name="._63" explicit="1" artificial="1" throw="" context="_1022" access="public" mangled="_ZN9cpu_set_tC1Ev *INTERNAL* " demangled="cpu_set_t::cpu_set_t()" location="f45:112" file="f45" line="112" inline="1"/>
+  <Field id="_2928" name="__sched_priority" type="_503" offset="0" context="_1024" access="public" mangled="_ZN13__sched_param16__sched_priorityE" demangled="__sched_param::__sched_priority" location="f45:91" file="f45" line="91"/>
+  <Constructor id="_2929" name="__sched_param" artificial="1" throw="" context="_1024" access="public" mangled="_ZN13__sched_paramC1ERKS_ *INTERNAL* " demangled="__sched_param::__sched_param(__sched_param const&)" location="f45:90" file="f45" line="90" inline="1">
+    <Argument name="_ctor_arg" type="_8246" location="f45:90" file="f45" line="90"/>
+  </Constructor>
+  <Constructor id="_2930" name="__sched_param" explicit="1" artificial="1" throw="" context="_1024" access="public" mangled="_ZN13__sched_paramC1Ev *INTERNAL* " demangled="__sched_param::__sched_param()" location="f45:90" file="f45" line="90" inline="1"/>
+  <PointerType id="_2931" type="_1176" size="32" align="32"/>
+  <Field id="_2932" name="__sched_priority" type="_503" offset="0" context="_1027" access="public" mangled="_ZN11sched_param16__sched_priorityE" demangled="sched_param::__sched_priority" location="f45:67" file="f45" line="67"/>
+  <Constructor id="_2933" name="sched_param" artificial="1" throw="" context="_1027" access="public" mangled="_ZN11sched_paramC1ERKS_ *INTERNAL* " demangled="sched_param::sched_param(sched_param const&)" location="f45:66" file="f45" line="66" inline="1">
+    <Argument name="_ctor_arg" type="_8247" location="f45:66" file="f45" line="66"/>
+  </Constructor>
+  <Constructor id="_2934" name="sched_param" explicit="1" artificial="1" throw="" context="_1027" access="public" mangled="_ZN11sched_paramC1Ev *INTERNAL* " demangled="sched_param::sched_param()" location="f45:66" file="f45" line="66" inline="1"/>
+  <PointerType id="_2935" type="_1149" size="32" align="32"/>
+  <CvQualifiedType id="_2935r" type="_2935" restrict="1"/>
+  <PointerType id="_2937" type="_1235" size="32" align="32"/>
+  <PointerType id="_2938" type="_1057" size="32" align="32"/>
+  <CvQualifiedType id="_2938r" type="_2938" restrict="1"/>
+  <ArrayType id="_2940" min="0" max="" type="_2749" align="32"/>
+  <CvQualifiedType id="_2940c" type="_2940" const="1"/>
+  <ArrayType id="_2942" min="0" max="" type="_2749" align="32"/>
+  <CvQualifiedType id="_2942c" type="_2942" const="1"/>
+  <PointerType id="_2944" type="_1146c" size="32" align="32"/>
+  <CvQualifiedType id="_2937r" type="_2937" restrict="1"/>
+  <PointerType id="_2946" type="_1146" size="32" align="32"/>
+  <CvQualifiedType id="_2946r" type="_2946" restrict="1"/>
+  <PointerType id="_2948" type="_1148c" size="32" align="32"/>
+  <PointerType id="_2949" type="_1148" size="32" align="32"/>
+  <CvQualifiedType id="_2949r" type="_2949" restrict="1"/>
+  <CvQualifiedType id="_2807r" type="_2807" restrict="1"/>
+  <PointerType id="_2952" type="_1233" size="32" align="32"/>
+  <Field id="_2953" name="__pos" type="_1638" offset="0" context="_1145" access="public" mangled="_ZN11_G_fpos64_t5__posE" demangled="_G_fpos64_t::__pos" location="f52:33" file="f52" line="33"/>
+  <Field id="_2954" name="__state" type="_766" offset="64" context="_1145" access="public" mangled="_ZN11_G_fpos64_t7__stateE" demangled="_G_fpos64_t::__state" location="f52:34" file="f52" line="34"/>
+  <Constructor id="_2955" name="._56" artificial="1" throw="" context="_1145" access="public" mangled="_ZN11_G_fpos64_tC1ERKS_ *INTERNAL* " demangled="_G_fpos64_t::_G_fpos64_t(_G_fpos64_t const&)" location="f52:32" file="f52" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_8250" location="f52:32" file="f52" line="32"/>
+  </Constructor>
+  <Constructor id="_2956" name="._56" explicit="1" artificial="1" throw="" context="_1145" access="public" mangled="_ZN11_G_fpos64_tC1Ev *INTERNAL* " demangled="_G_fpos64_t::_G_fpos64_t()" location="f52:32" file="f52" line="32" inline="1"/>
+  <Field id="_2957" name="__pos" type="_1639" offset="0" context="_1147" access="public" mangled="_ZN9_G_fpos_t5__posE" demangled="_G_fpos_t::__pos" location="f52:28" file="f52" line="28"/>
+  <Field id="_2958" name="__state" type="_766" offset="32" context="_1147" access="public" mangled="_ZN9_G_fpos_t7__stateE" demangled="_G_fpos_t::__state" location="f52:29" file="f52" line="29"/>
+  <Constructor id="_2959" name="._55" artificial="1" throw="" context="_1147" access="public" mangled="_ZN9_G_fpos_tC1ERKS_ *INTERNAL* " demangled="_G_fpos_t::_G_fpos_t(_G_fpos_t const&)" location="f52:27" file="f52" line="27" inline="1">
+    <Argument name="_ctor_arg" type="_8251" location="f52:27" file="f52" line="27"/>
+  </Constructor>
+  <Constructor id="_2960" name="._55" explicit="1" artificial="1" throw="" context="_1147" access="public" mangled="_ZN9_G_fpos_tC1Ev *INTERNAL* " demangled="_G_fpos_t::_G_fpos_t()" location="f52:27" file="f52" line="27" inline="1"/>
+  <CvQualifiedType id="_2952r" type="_2952" restrict="1"/>
+  <PointerType id="_2963" type="_1173" size="32" align="32"/>
+  <Field id="_2964" name="read" type="_8252" offset="0" context="_1174" access="public" mangled="_ZN25_IO_cookie_io_functions_t4readE" demangled="_IO_cookie_io_functions_t::read" location="f53:393" file="f53" line="393"/>
+  <Field id="_2965" name="write" type="_8253" offset="32" context="_1174" access="public" mangled="_ZN25_IO_cookie_io_functions_t5writeE" demangled="_IO_cookie_io_functions_t::write" location="f53:394" file="f53" line="394"/>
+  <Field id="_2966" name="seek" type="_8254" offset="64" context="_1174" access="public" mangled="_ZN25_IO_cookie_io_functions_t4seekE" demangled="_IO_cookie_io_functions_t::seek" location="f53:395" file="f53" line="395"/>
+  <Field id="_2967" name="close" type="_8255" offset="96" context="_1174" access="public" mangled="_ZN25_IO_cookie_io_functions_t5closeE" demangled="_IO_cookie_io_functions_t::close" location="f53:396" file="f53" line="396"/>
+  <Constructor id="_2968" name="._61" artificial="1" throw="" context="_1174" access="public" mangled="_ZN25_IO_cookie_io_functions_tC1ERKS_ *INTERNAL* " demangled="_IO_cookie_io_functions_t::_IO_cookie_io_functions_t(_IO_cookie_io_functions_t const&)" location="f53:392" file="f53" line="392" inline="1">
+    <Argument name="_ctor_arg" type="_8256" location="f53:392" file="f53" line="392"/>
+  </Constructor>
+  <Constructor id="_2969" name="._61" explicit="1" artificial="1" throw="" context="_1174" access="public" mangled="_ZN25_IO_cookie_io_functions_tC1Ev *INTERNAL* " demangled="_IO_cookie_io_functions_t::_IO_cookie_io_functions_t()" location="f53:392" file="f53" line="392" inline="1"/>
+  <PointerType id="_2970" type="_1638" size="32" align="32"/>
+  <Field id="_2971" name="_next" type="_8257" offset="0" context="_1193" access="public" mangled="_ZN10_IO_marker5_nextE" demangled="_IO_marker::_next" location="f53:183" file="f53" line="183"/>
+  <Field id="_2972" name="_sbuf" type="_2952" offset="32" context="_1193" access="public" mangled="_ZN10_IO_marker5_sbufE" demangled="_IO_marker::_sbuf" location="f53:184" file="f53" line="184"/>
+  <Field id="_2973" name="_pos" type="_503" offset="64" context="_1193" access="public" mangled="_ZN10_IO_marker4_posE" demangled="_IO_marker::_pos" location="f53:188" file="f53" line="188"/>
+  <Constructor id="_2974" name="_IO_marker" artificial="1" throw="" context="_1193" access="public" mangled="_ZN10_IO_markerC1ERKS_ *INTERNAL* " demangled="_IO_marker::_IO_marker(_IO_marker const&)" location="f53:182" file="f53" line="182" inline="1">
+    <Argument name="_ctor_arg" type="_8258" location="f53:182" file="f53" line="182"/>
+  </Constructor>
+  <Constructor id="_2975" name="_IO_marker" explicit="1" artificial="1" throw="" context="_1193" access="public" mangled="_ZN10_IO_markerC1Ev *INTERNAL* " demangled="_IO_marker::_IO_marker()" location="f53:182" file="f53" line="182" inline="1"/>
+  <Field id="_2977" name="__cd" type="_1207" offset="0" context="_1204" access="public" mangled="_ZN10_G_iconv_t4__cdE" demangled="_G_iconv_t::__cd" location="f52:47" file="f52" line="47"/>
+  <Field id="_2978" name="__combined" type="_2979" offset="0" context="_1204" access="public" mangled="_ZN10_G_iconv_t10__combinedE" demangled="_G_iconv_t::__combined" location="f52:52" file="f52" line="52"/>
+  <Struct id="_2979" context="_1204" access="public" mangled="N10_G_iconv_t4._60E" demangled="_G_iconv_t::._60" location="f52:49" file="f52" line="49" artificial="1" size="352" align="32" members="_8259 _8260 _8261 _8262 " bases=""/>
+  <Constructor id="_2980" name="._59" artificial="1" throw="" context="_1204" access="public" mangled="_ZN10_G_iconv_tC1ERKS_ *INTERNAL* " demangled="_G_iconv_t::_G_iconv_t(_G_iconv_t const&)" location="f52:46" file="f52" line="46" inline="1">
+    <Argument name="_ctor_arg" type="_8263" location="f52:46" file="f52" line="46"/>
+  </Constructor>
+  <Constructor id="_2981" name="._59" explicit="1" artificial="1" throw="" context="_1204" access="public" mangled="_ZN10_G_iconv_tC1Ev *INTERNAL* " demangled="_G_iconv_t::_G_iconv_t()" location="f52:46" file="f52" line="46" inline="1"/>
+  <Field id="_2982" name="__nsteps" type="_1698" offset="0" context="_1207" access="public" mangled="_ZN12__gconv_info8__nstepsE" demangled="__gconv_info::__nsteps" location="f55:174" file="f55" line="174"/>
+  <Field id="_2983" name="__steps" type="_8264" offset="32" context="_1207" access="public" mangled="_ZN12__gconv_info7__stepsE" demangled="__gconv_info::__steps" location="f55:175" file="f55" line="175"/>
+  <Field id="_2984" name="__data" type="_8265" offset="64" context="_1207" access="public" mangled="_ZN12__gconv_info6__dataE" demangled="__gconv_info::__data" location="f55:176" file="f55" line="176"/>
+  <Constructor id="_2985" name="__gconv_info" artificial="1" throw="" context="_1207" access="public" mangled="_ZN12__gconv_infoC1ERKS_ *INTERNAL* " demangled="__gconv_info::__gconv_info(__gconv_info const&)" location="f55:173" file="f55" line="173" inline="1">
+    <Argument name="_ctor_arg" type="_8266" location="f55:173" file="f55" line="173"/>
+  </Constructor>
+  <Constructor id="_2986" name="__gconv_info" explicit="1" artificial="1" throw="" context="_1207" access="public" mangled="_ZN12__gconv_infoC1Ev *INTERNAL* " demangled="__gconv_info::__gconv_info()" location="f55:173" file="f55" line="173" inline="1"/>
+  <Field id="_2996" name="__trans_fct" type="_1217" offset="0" context="_1226" access="public" mangled="_ZN18__gconv_trans_data11__trans_fctE" demangled="__gconv_trans_data::__trans_fct" location="f55:106" file="f55" line="106"/>
+  <Field id="_2997" name="__trans_context_fct" type="_1215" offset="32" context="_1226" access="public" mangled="_ZN18__gconv_trans_data19__trans_context_fctE" demangled="__gconv_trans_data::__trans_context_fct" location="f55:107" file="f55" line="107"/>
+  <Field id="_2998" name="__trans_end_fct" type="_1209" offset="64" context="_1226" access="public" mangled="_ZN18__gconv_trans_data15__trans_end_fctE" demangled="__gconv_trans_data::__trans_end_fct" location="f55:108" file="f55" line="108"/>
+  <Field id="_2999" name="__data" type="_1042" offset="96" context="_1226" access="public" mangled="_ZN18__gconv_trans_data6__dataE" demangled="__gconv_trans_data::__data" location="f55:109" file="f55" line="109"/>
+  <Field id="_3000" name="__next" type="_8267" offset="128" context="_1226" access="public" mangled="_ZN18__gconv_trans_data6__nextE" demangled="__gconv_trans_data::__next" location="f55:110" file="f55" line="110"/>
+  <Constructor id="_3001" name="__gconv_trans_data" artificial="1" throw="" context="_1226" access="public" mangled="_ZN18__gconv_trans_dataC1ERKS_ *INTERNAL* " demangled="__gconv_trans_data::__gconv_trans_data(__gconv_trans_data const&)" location="f55:104" file="f55" line="104" inline="1">
+    <Argument name="_ctor_arg" type="_8268" location="f55:104" file="f55" line="104"/>
+  </Constructor>
+  <Constructor id="_3002" name="__gconv_trans_data" explicit="1" artificial="1" throw="" context="_1226" access="public" mangled="_ZN18__gconv_trans_dataC1Ev *INTERNAL* " demangled="__gconv_trans_data::__gconv_trans_data()" location="f55:104" file="f55" line="104" inline="1"/>
+  <Field id="_3003" name="__outbuf" type="_4685" offset="0" context="_1228" access="public" mangled="_ZN17__gconv_step_data8__outbufE" demangled="__gconv_step_data::__outbuf" location="f55:147" file="f55" line="147"/>
+  <Field id="_3004" name="__outbufend" type="_4685" offset="32" context="_1228" access="public" mangled="_ZN17__gconv_step_data11__outbufendE" demangled="__gconv_step_data::__outbufend" location="f55:148" file="f55" line="148"/>
+  <Field id="_3005" name="__flags" type="_503" offset="64" context="_1228" access="public" mangled="_ZN17__gconv_step_data7__flagsE" demangled="__gconv_step_data::__flags" location="f55:152" file="f55" line="152"/>
+  <Field id="_3006" name="__invocation_counter" type="_503" offset="96" context="_1228" access="public" mangled="_ZN17__gconv_step_data20__invocation_counterE" demangled="__gconv_step_data::__invocation_counter" location="f55:156" file="f55" line="156"/>
+  <Field id="_3007" name="__internal_use" type="_503" offset="128" context="_1228" access="public" mangled="_ZN17__gconv_step_data14__internal_useE" demangled="__gconv_step_data::__internal_use" location="f55:160" file="f55" line="160"/>
+  <Field id="_3008" name="__statep" type="_8269" offset="160" context="_1228" access="public" mangled="_ZN17__gconv_step_data8__statepE" demangled="__gconv_step_data::__statep" location="f55:162" file="f55" line="162"/>
+  <Field id="_3009" name="__state" type="_766" offset="192" context="_1228" access="public" mangled="_ZN17__gconv_step_data7__stateE" demangled="__gconv_step_data::__state" location="f55:163" file="f55" line="163"/>
+  <Field id="_3010" name="__trans" type="_8267" offset="256" context="_1228" access="public" mangled="_ZN17__gconv_step_data7__transE" demangled="__gconv_step_data::__trans" location="f55:167" file="f55" line="167"/>
+  <Constructor id="_3011" name="__gconv_step_data" artificial="1" throw="" context="_1228" access="public" mangled="_ZN17__gconv_step_dataC1ERKS_ *INTERNAL* " demangled="__gconv_step_data::__gconv_step_data(__gconv_step_data const&)" location="f55:146" file="f55" line="146" inline="1">
+    <Argument name="_ctor_arg" type="_8270" location="f55:146" file="f55" line="146"/>
+  </Constructor>
+  <Constructor id="_3012" name="__gconv_step_data" explicit="1" artificial="1" throw="" context="_1228" access="public" mangled="_ZN17__gconv_step_dataC1Ev *INTERNAL* " demangled="__gconv_step_data::__gconv_step_data()" location="f55:146" file="f55" line="146" inline="1"/>
+  <Field id="_3013" name="__shlib_handle" type="_8271" offset="0" context="_1229" access="public" mangled="_ZN12__gconv_step14__shlib_handleE" demangled="__gconv_step::__shlib_handle" location="f55:117" file="f55" line="117"/>
+  <Field id="_3014" name="__modname" type="_2749" offset="32" context="_1229" access="public" mangled="_ZN12__gconv_step9__modnameE" demangled="__gconv_step::__modname" location="f55:118" file="f55" line="118"/>
+  <Field id="_3015" name="__counter" type="_503" offset="64" context="_1229" access="public" mangled="_ZN12__gconv_step9__counterE" demangled="__gconv_step::__counter" location="f55:120" file="f55" line="120"/>
+  <Field id="_3016" name="__from_name" type="_1149" offset="96" context="_1229" access="public" mangled="_ZN12__gconv_step11__from_nameE" demangled="__gconv_step::__from_name" location="f55:122" file="f55" line="122"/>
+  <Field id="_3017" name="__to_name" type="_1149" offset="128" context="_1229" access="public" mangled="_ZN12__gconv_step9__to_nameE" demangled="__gconv_step::__to_name" location="f55:123" file="f55" line="123"/>
+  <Field id="_3018" name="__fct" type="_1225" offset="160" context="_1229" access="public" mangled="_ZN12__gconv_step5__fctE" demangled="__gconv_step::__fct" location="f55:125" file="f55" line="125"/>
+  <Field id="_3019" name="__btowc_fct" type="_1223" offset="192" context="_1229" access="public" mangled="_ZN12__gconv_step11__btowc_fctE" demangled="__gconv_step::__btowc_fct" location="f55:126" file="f55" line="126"/>
+  <Field id="_3020" name="__init_fct" type="_1221" offset="224" context="_1229" access="public" mangled="_ZN12__gconv_step10__init_fctE" demangled="__gconv_step::__init_fct" location="f55:127" file="f55" line="127"/>
+  <Field id="_3021" name="__end_fct" type="_1219" offset="256" context="_1229" access="public" mangled="_ZN12__gconv_step9__end_fctE" demangled="__gconv_step::__end_fct" location="f55:128" file="f55" line="128"/>
+  <Field id="_3022" name="__min_needed_from" type="_503" offset="288" context="_1229" access="public" mangled="_ZN12__gconv_step17__min_needed_fromE" demangled="__gconv_step::__min_needed_from" location="f55:132" file="f55" line="132"/>
+  <Field id="_3023" name="__max_needed_from" type="_503" offset="320" context="_1229" access="public" mangled="_ZN12__gconv_step17__max_needed_fromE" demangled="__gconv_step::__max_needed_from" location="f55:133" file="f55" line="133"/>
+  <Field id="_3024" name="__min_needed_to" type="_503" offset="352" context="_1229" access="public" mangled="_ZN12__gconv_step15__min_needed_toE" demangled="__gconv_step::__min_needed_to" location="f55:134" file="f55" line="134"/>
+  <Field id="_3025" name="__max_needed_to" type="_503" offset="384" context="_1229" access="public" mangled="_ZN12__gconv_step15__max_needed_toE" demangled="__gconv_step::__max_needed_to" location="f55:135" file="f55" line="135"/>
+  <Field id="_3026" name="__stateful" type="_503" offset="416" context="_1229" access="public" mangled="_ZN12__gconv_step10__statefulE" demangled="__gconv_step::__stateful" location="f55:138" file="f55" line="138"/>
+  <Field id="_3027" name="__data" type="_1042" offset="448" context="_1229" access="public" mangled="_ZN12__gconv_step6__dataE" demangled="__gconv_step::__data" location="f55:140" file="f55" line="140"/>
+  <Constructor id="_3028" name="__gconv_step" artificial="1" throw="" context="_1229" access="public" mangled="_ZN12__gconv_stepC1ERKS_ *INTERNAL* " demangled="__gconv_step::__gconv_step(__gconv_step const&)" location="f55:116" file="f55" line="116" inline="1">
+    <Argument name="_ctor_arg" type="_8272" location="f55:116" file="f55" line="116"/>
+  </Constructor>
+  <Constructor id="_3029" name="__gconv_step" explicit="1" artificial="1" throw="" context="_1229" access="public" mangled="_ZN12__gconv_stepC1Ev *INTERNAL* " demangled="__gconv_step::__gconv_step()" location="f55:116" file="f55" line="116" inline="1"/>
+  <Field id="_3030" name="_flags" type="_503" offset="0" context="_1233" access="public" mangled="_ZN8_IO_FILE6_flagsE" demangled="_IO_FILE::_flags" location="f53:268" file="f53" line="268"/>
+  <Field id="_3031" name="_IO_read_ptr" type="_1149" offset="32" context="_1233" access="public" mangled="_ZN8_IO_FILE12_IO_read_ptrE" demangled="_IO_FILE::_IO_read_ptr" location="f53:273" file="f53" line="273"/>
+  <Field id="_3032" name="_IO_read_end" type="_1149" offset="64" context="_1233" access="public" mangled="_ZN8_IO_FILE12_IO_read_endE" demangled="_IO_FILE::_IO_read_end" location="f53:274" file="f53" line="274"/>
+  <Field id="_3033" name="_IO_read_base" type="_1149" offset="96" context="_1233" access="public" mangled="_ZN8_IO_FILE13_IO_read_baseE" demangled="_IO_FILE::_IO_read_base" location="f53:275" file="f53" line="275"/>
+  <Field id="_3034" name="_IO_write_base" type="_1149" offset="128" context="_1233" access="public" mangled="_ZN8_IO_FILE14_IO_write_baseE" demangled="_IO_FILE::_IO_write_base" location="f53:276" file="f53" line="276"/>
+  <Field id="_3035" name="_IO_write_ptr" type="_1149" offset="160" context="_1233" access="public" mangled="_ZN8_IO_FILE13_IO_write_ptrE" demangled="_IO_FILE::_IO_write_ptr" location="f53:277" file="f53" line="277"/>
+  <Field id="_3036" name="_IO_write_end" type="_1149" offset="192" context="_1233" access="public" mangled="_ZN8_IO_FILE13_IO_write_endE" demangled="_IO_FILE::_IO_write_end" location="f53:278" file="f53" line="278"/>
+  <Field id="_3037" name="_IO_buf_base" type="_1149" offset="224" context="_1233" access="public" mangled="_ZN8_IO_FILE12_IO_buf_baseE" demangled="_IO_FILE::_IO_buf_base" location="f53:279" file="f53" line="279"/>
+  <Field id="_3038" name="_IO_buf_end" type="_1149" offset="256" context="_1233" access="public" mangled="_ZN8_IO_FILE11_IO_buf_endE" demangled="_IO_FILE::_IO_buf_end" location="f53:280" file="f53" line="280"/>
+  <Field id="_3039" name="_IO_save_base" type="_1149" offset="288" context="_1233" access="public" mangled="_ZN8_IO_FILE13_IO_save_baseE" demangled="_IO_FILE::_IO_save_base" location="f53:282" file="f53" line="282"/>
+  <Field id="_3040" name="_IO_backup_base" type="_1149" offset="320" context="_1233" access="public" mangled="_ZN8_IO_FILE15_IO_backup_baseE" demangled="_IO_FILE::_IO_backup_base" location="f53:283" file="f53" line="283"/>
+  <Field id="_3041" name="_IO_save_end" type="_1149" offset="352" context="_1233" access="public" mangled="_ZN8_IO_FILE12_IO_save_endE" demangled="_IO_FILE::_IO_save_end" location="f53:284" file="f53" line="284"/>
+  <Field id="_3042" name="_markers" type="_8257" offset="384" context="_1233" access="public" mangled="_ZN8_IO_FILE8_markersE" demangled="_IO_FILE::_markers" location="f53:286" file="f53" line="286"/>
+  <Field id="_3043" name="_chain" type="_2952" offset="416" context="_1233" access="public" mangled="_ZN8_IO_FILE6_chainE" demangled="_IO_FILE::_chain" location="f53:288" file="f53" line="288"/>
+  <Field id="_3044" name="_fileno" type="_503" offset="448" context="_1233" access="public" mangled="_ZN8_IO_FILE7_filenoE" demangled="_IO_FILE::_fileno" location="f53:290" file="f53" line="290"/>
+  <Field id="_3045" name="_flags2" type="_503" offset="480" context="_1233" access="public" mangled="_ZN8_IO_FILE7_flags2E" demangled="_IO_FILE::_flags2" location="f53:294" file="f53" line="294"/>
+  <Field id="_3046" name="_old_offset" type="_1639" offset="512" context="_1233" access="public" mangled="_ZN8_IO_FILE11_old_offsetE" demangled="_IO_FILE::_old_offset" location="f53:296" file="f53" line="296"/>
+  <Field id="_3047" name="_cur_column" type="_1199" offset="544" context="_1233" access="public" mangled="_ZN8_IO_FILE11_cur_columnE" demangled="_IO_FILE::_cur_column" location="f53:300" file="f53" line="300"/>
+  <Field id="_3048" name="_vtable_offset" type="_1301" offset="560" context="_1233" access="public" mangled="_ZN8_IO_FILE14_vtable_offsetE" demangled="_IO_FILE::_vtable_offset" location="f53:301" file="f53" line="301"/>
+  <Field id="_3049" name="_shortbuf" type="_8273" offset="568" context="_1233" access="public" mangled="_ZN8_IO_FILE9_shortbufE" demangled="_IO_FILE::_shortbuf" location="f53:302" file="f53" line="302"/>
+  <Field id="_3050" name="_lock" type="_8274" offset="576" context="_1233" access="public" mangled="_ZN8_IO_FILE5_lockE" demangled="_IO_FILE::_lock" location="f53:306" file="f53" line="306"/>
+  <Field id="_3051" name="_offset" type="_1638" offset="608" context="_1233" access="public" mangled="_ZN8_IO_FILE7_offsetE" demangled="_IO_FILE::_offset" location="f53:315" file="f53" line="315"/>
+  <Field id="_3052" name="__pad1" type="_1042" offset="672" context="_1233" access="public" mangled="_ZN8_IO_FILE6__pad1E" demangled="_IO_FILE::__pad1" location="f53:324" file="f53" line="324"/>
+  <Field id="_3053" name="__pad2" type="_1042" offset="704" context="_1233" access="public" mangled="_ZN8_IO_FILE6__pad2E" demangled="_IO_FILE::__pad2" location="f53:325" file="f53" line="325"/>
+  <Field id="_3054" name="__pad3" type="_1042" offset="736" context="_1233" access="public" mangled="_ZN8_IO_FILE6__pad3E" demangled="_IO_FILE::__pad3" location="f53:326" file="f53" line="326"/>
+  <Field id="_3055" name="__pad4" type="_1042" offset="768" context="_1233" access="public" mangled="_ZN8_IO_FILE6__pad4E" demangled="_IO_FILE::__pad4" location="f53:327" file="f53" line="327"/>
+  <Field id="_3056" name="__pad5" type="_1698" offset="800" context="_1233" access="public" mangled="_ZN8_IO_FILE6__pad5E" demangled="_IO_FILE::__pad5" location="f53:328" file="f53" line="328"/>
+  <Field id="_3057" name="_mode" type="_503" offset="832" context="_1233" access="public" mangled="_ZN8_IO_FILE5_modeE" demangled="_IO_FILE::_mode" location="f53:330" file="f53" line="330"/>
+  <Field id="_3058" name="_unused2" type="_8275" offset="864" context="_1233" access="public" mangled="_ZN8_IO_FILE8_unused2E" demangled="_IO_FILE::_unused2" location="f53:332" file="f53" line="332"/>
+  <Constructor id="_3059" name="_IO_FILE" artificial="1" throw="" context="_1233" access="public" mangled="_ZN8_IO_FILEC1ERKS_ *INTERNAL* " demangled="_IO_FILE::_IO_FILE(_IO_FILE const&)" location="f53:267" file="f53" line="267" inline="1">
+    <Argument name="_ctor_arg" type="_8276" location="f53:267" file="f53" line="267"/>
+  </Constructor>
+  <Constructor id="_3060" name="_IO_FILE" explicit="1" artificial="1" throw="" context="_1233" access="public" mangled="_ZN8_IO_FILEC1Ev *INTERNAL* " demangled="_IO_FILE::_IO_FILE()" location="f53:267" file="f53" line="267" inline="1"/>
+  <PointerType id="_3061" type="_1284" size="32" align="32"/>
+  <Field id="_3062" name="decimal_point" type="_1149" offset="0" context="_1284" access="public" mangled="_ZN5lconv13decimal_pointE" demangled="lconv::decimal_point" location="f58:56" file="f58" line="56"/>
+  <Field id="_3063" name="thousands_sep" type="_1149" offset="32" context="_1284" access="public" mangled="_ZN5lconv13thousands_sepE" demangled="lconv::thousands_sep" location="f58:57" file="f58" line="57"/>
+  <Field id="_3064" name="grouping" type="_1149" offset="64" context="_1284" access="public" mangled="_ZN5lconv8groupingE" demangled="lconv::grouping" location="f58:63" file="f58" line="63"/>
+  <Field id="_3065" name="int_curr_symbol" type="_1149" offset="96" context="_1284" access="public" mangled="_ZN5lconv15int_curr_symbolE" demangled="lconv::int_curr_symbol" location="f58:69" file="f58" line="69"/>
+  <Field id="_3066" name="currency_symbol" type="_1149" offset="128" context="_1284" access="public" mangled="_ZN5lconv15currency_symbolE" demangled="lconv::currency_symbol" location="f58:70" file="f58" line="70"/>
+  <Field id="_3067" name="mon_decimal_point" type="_1149" offset="160" context="_1284" access="public" mangled="_ZN5lconv17mon_decimal_pointE" demangled="lconv::mon_decimal_point" location="f58:71" file="f58" line="71"/>
+  <Field id="_3068" name="mon_thousands_sep" type="_1149" offset="192" context="_1284" access="public" mangled="_ZN5lconv17mon_thousands_sepE" demangled="lconv::mon_thousands_sep" location="f58:72" file="f58" line="72"/>
+  <Field id="_3069" name="mon_grouping" type="_1149" offset="224" context="_1284" access="public" mangled="_ZN5lconv12mon_groupingE" demangled="lconv::mon_grouping" location="f58:73" file="f58" line="73"/>
+  <Field id="_3070" name="positive_sign" type="_1149" offset="256" context="_1284" access="public" mangled="_ZN5lconv13positive_signE" demangled="lconv::positive_sign" location="f58:74" file="f58" line="74"/>
+  <Field id="_3071" name="negative_sign" type="_1149" offset="288" context="_1284" access="public" mangled="_ZN5lconv13negative_signE" demangled="lconv::negative_sign" location="f58:75" file="f58" line="75"/>
+  <Field id="_3072" name="int_frac_digits" type="_2961" offset="320" context="_1284" access="public" mangled="_ZN5lconv15int_frac_digitsE" demangled="lconv::int_frac_digits" location="f58:76" file="f58" line="76"/>
+  <Field id="_3073" name="frac_digits" type="_2961" offset="328" context="_1284" access="public" mangled="_ZN5lconv11frac_digitsE" demangled="lconv::frac_digits" location="f58:77" file="f58" line="77"/>
+  <Field id="_3074" name="p_cs_precedes" type="_2961" offset="336" context="_1284" access="public" mangled="_ZN5lconv13p_cs_precedesE" demangled="lconv::p_cs_precedes" location="f58:79" file="f58" line="79"/>
+  <Field id="_3075" name="p_sep_by_space" type="_2961" offset="344" context="_1284" access="public" mangled="_ZN5lconv14p_sep_by_spaceE" demangled="lconv::p_sep_by_space" location="f58:81" file="f58" line="81"/>
+  <Field id="_3076" name="n_cs_precedes" type="_2961" offset="352" context="_1284" access="public" mangled="_ZN5lconv13n_cs_precedesE" demangled="lconv::n_cs_precedes" location="f58:83" file="f58" line="83"/>
+  <Field id="_3077" name="n_sep_by_space" type="_2961" offset="360" context="_1284" access="public" mangled="_ZN5lconv14n_sep_by_spaceE" demangled="lconv::n_sep_by_space" location="f58:85" file="f58" line="85"/>
+  <Field id="_3078" name="p_sign_posn" type="_2961" offset="368" context="_1284" access="public" mangled="_ZN5lconv11p_sign_posnE" demangled="lconv::p_sign_posn" location="f58:92" file="f58" line="92"/>
+  <Field id="_3079" name="n_sign_posn" type="_2961" offset="376" context="_1284" access="public" mangled="_ZN5lconv11n_sign_posnE" demangled="lconv::n_sign_posn" location="f58:93" file="f58" line="93"/>
+  <Field id="_3080" name="int_p_cs_precedes" type="_2961" offset="384" context="_1284" access="public" mangled="_ZN5lconv17int_p_cs_precedesE" demangled="lconv::int_p_cs_precedes" location="f58:96" file="f58" line="96"/>
+  <Field id="_3081" name="int_p_sep_by_space" type="_2961" offset="392" context="_1284" access="public" mangled="_ZN5lconv18int_p_sep_by_spaceE" demangled="lconv::int_p_sep_by_space" location="f58:98" file="f58" line="98"/>
+  <Field id="_3082" name="int_n_cs_precedes" type="_2961" offset="400" context="_1284" access="public" mangled="_ZN5lconv17int_n_cs_precedesE" demangled="lconv::int_n_cs_precedes" location="f58:100" file="f58" line="100"/>
+  <Field id="_3083" name="int_n_sep_by_space" type="_2961" offset="408" context="_1284" access="public" mangled="_ZN5lconv18int_n_sep_by_spaceE" demangled="lconv::int_n_sep_by_space" location="f58:102" file="f58" line="102"/>
+  <Field id="_3084" name="int_p_sign_posn" type="_2961" offset="416" context="_1284" access="public" mangled="_ZN5lconv15int_p_sign_posnE" demangled="lconv::int_p_sign_posn" location="f58:109" file="f58" line="109"/>
+  <Field id="_3085" name="int_n_sign_posn" type="_2961" offset="424" context="_1284" access="public" mangled="_ZN5lconv15int_n_sign_posnE" demangled="lconv::int_n_sign_posn" location="f58:110" file="f58" line="110"/>
+  <Constructor id="_3086" name="lconv" artificial="1" throw="" context="_1284" access="public" mangled="_ZN5lconvC1ERKS_ *INTERNAL* " demangled="lconv::lconv(lconv const&)" location="f58:53" file="f58" line="53" inline="1">
+    <Argument name="_ctor_arg" type="_8277" location="f58:53" file="f58" line="53"/>
+  </Constructor>
+  <Constructor id="_3087" name="lconv" explicit="1" artificial="1" throw="" context="_1284" access="public" mangled="_ZN5lconvC1Ev *INTERNAL* " demangled="lconv::lconv()" location="f58:53" file="f58" line="53" inline="1"/>
+  <Constructor id="_3088" name="__false_type" artificial="1" throw="" context="_1286" access="public" mangled="_ZN12__false_typeC1ERKS_ *INTERNAL* " demangled="__false_type::__false_type(__false_type const&)" location="f60:94" file="f60" line="94" inline="1">
+    <Argument name="_ctor_arg" type="_8278" location="f60:94" file="f60" line="94"/>
+  </Constructor>
+  <Constructor id="_3089" name="__false_type" explicit="1" artificial="1" throw="" context="_1286" access="public" mangled="_ZN12__false_typeC1Ev *INTERNAL* " demangled="__false_type::__false_type()" location="f60:94" file="f60" line="94" inline="1"/>
+  <Constructor id="_3090" name="__true_type" artificial="1" throw="" context="_1287" access="public" mangled="_ZN11__true_typeC1ERKS_ *INTERNAL* " demangled="__true_type::__true_type(__true_type const&)" location="f60:93" file="f60" line="93" inline="1">
+    <Argument name="_ctor_arg" type="_8279" location="f60:93" file="f60" line="93"/>
+  </Constructor>
+  <Constructor id="_3091" name="__true_type" explicit="1" artificial="1" throw="" context="_1287" access="public" mangled="_ZN11__true_typeC1Ev *INTERNAL* " demangled="__true_type::__true_type()" location="f60:93" file="f60" line="93" inline="1"/>
+  <PointerType id="_3092" type="_1199" size="32" align="32"/>
+  <PointerType id="_3093" type="_1149c" size="32" align="32"/>
+  <PointerType id="_3094" type="_1644" size="32" align="32"/>
+  <PointerType id="_3095" type="_1645" size="32" align="32"/>
+  <CvQualifiedType id="_3093r" type="_3093" restrict="1"/>
+  <PointerType id="_3098" type="_8281" size="32" align="32"/>
+  <PointerType id="_3099" type="_1512" size="32" align="32"/>
+  <CvQualifiedType id="_3099r" type="_3099" restrict="1"/>
+  <PointerType id="_3101" type="_1553" size="32" align="32"/>
+  <CvQualifiedType id="_3101r" type="_3101" restrict="1"/>
+  <CvQualifiedType id="_2754r" type="_2754" restrict="1"/>
+  <Field id="_3104" name="__x" type="_8282" offset="0" context="_1512" access="public" mangled="_ZN12drand48_data3__xE" demangled="drand48_data::__x" location="f65:538" file="f65" line="538"/>
+  <Field id="_3105" name="__old_x" type="_8282" offset="48" context="_1512" access="public" mangled="_ZN12drand48_data7__old_xE" demangled="drand48_data::__old_x" location="f65:539" file="f65" line="539"/>
+  <Field id="_3106" name="__c" type="_1199" offset="96" context="_1512" access="public" mangled="_ZN12drand48_data3__cE" demangled="drand48_data::__c" location="f65:540" file="f65" line="540"/>
+  <Field id="_3107" name="__init" type="_1199" offset="112" context="_1512" access="public" mangled="_ZN12drand48_data6__initE" demangled="drand48_data::__init" location="f65:541" file="f65" line="541"/>
+  <Field id="_3108" name="__a" type="_1288" offset="128" context="_1512" access="public" mangled="_ZN12drand48_data3__aE" demangled="drand48_data::__a" location="f65:542" file="f65" line="542"/>
+  <Constructor id="_3109" name="drand48_data" artificial="1" throw="" context="_1512" access="public" mangled="_ZN12drand48_dataC1ERKS_ *INTERNAL* " demangled="drand48_data::drand48_data(drand48_data const&)" location="f65:537" file="f65" line="537" inline="1">
+    <Argument name="_ctor_arg" type="_8283" location="f65:537" file="f65" line="537"/>
+  </Constructor>
+  <Constructor id="_3110" name="drand48_data" explicit="1" artificial="1" throw="" context="_1512" access="public" mangled="_ZN12drand48_dataC1Ev *INTERNAL* " demangled="drand48_data::drand48_data()" location="f65:537" file="f65" line="537" inline="1"/>
+  <PointerType id="_3111" type="_837" size="32" align="32"/>
+  <PointerType id="_3112" type="_1529" size="32" align="32"/>
+  <CvQualifiedType id="_3112r" type="_3112" restrict="1"/>
+  <PointerType id="_3114" type="_1575" size="32" align="32"/>
+  <CvQualifiedType id="_3114r" type="_3114" restrict="1"/>
+  <Field id="_3116" name="fptr" type="_3114" offset="0" context="_1529" access="public" mangled="_ZN11random_data4fptrE" demangled="random_data::fptr" location="f65:469" file="f65" line="469"/>
+  <Field id="_3117" name="rptr" type="_3114" offset="32" context="_1529" access="public" mangled="_ZN11random_data4rptrE" demangled="random_data::rptr" location="f65:470" file="f65" line="470"/>
+  <Field id="_3118" name="state" type="_3114" offset="64" context="_1529" access="public" mangled="_ZN11random_data5stateE" demangled="random_data::state" location="f65:471" file="f65" line="471"/>
+  <Field id="_3119" name="rand_type" type="_503" offset="96" context="_1529" access="public" mangled="_ZN11random_data9rand_typeE" demangled="random_data::rand_type" location="f65:472" file="f65" line="472"/>
+  <Field id="_3120" name="rand_deg" type="_503" offset="128" context="_1529" access="public" mangled="_ZN11random_data8rand_degE" demangled="random_data::rand_deg" location="f65:473" file="f65" line="473"/>
+  <Field id="_3121" name="rand_sep" type="_503" offset="160" context="_1529" access="public" mangled="_ZN11random_data8rand_sepE" demangled="random_data::rand_sep" location="f65:474" file="f65" line="474"/>
+  <Field id="_3122" name="end_ptr" type="_3114" offset="192" context="_1529" access="public" mangled="_ZN11random_data7end_ptrE" demangled="random_data::end_ptr" location="f65:475" file="f65" line="475"/>
+  <Constructor id="_3123" name="random_data" artificial="1" throw="" context="_1529" access="public" mangled="_ZN11random_dataC1ERKS_ *INTERNAL* " demangled="random_data::random_data(random_data const&)" location="f65:468" file="f65" line="468" inline="1">
+    <Argument name="_ctor_arg" type="_8284" location="f65:468" file="f65" line="468"/>
+  </Constructor>
+  <Constructor id="_3124" name="random_data" explicit="1" artificial="1" throw="" context="_1529" access="public" mangled="_ZN11random_dataC1Ev *INTERNAL* " demangled="random_data::random_data()" location="f65:468" file="f65" line="468" inline="1"/>
+  <Field id="_3125" name="__size" type="_8285" offset="0" context="_1534" access="public" mangled="_ZN21pthread_barrierattr_t6__sizeE" demangled="pthread_barrierattr_t::__size" location="f40:161" file="f40" line="161"/>
+  <Field id="_3126" name="__align" type="_503" offset="0" context="_1534" access="public" mangled="_ZN21pthread_barrierattr_t7__alignE" demangled="pthread_barrierattr_t::__align" location="f40:162" file="f40" line="162"/>
+  <Constructor id="_3127" name="._19" artificial="1" throw="" context="_1534" access="public" mangled="_ZN21pthread_barrierattr_tC1ERKS_ *INTERNAL* " demangled="pthread_barrierattr_t::pthread_barrierattr_t(pthread_barrierattr_t const&)" location="f40:160" file="f40" line="160" inline="1">
+    <Argument name="_ctor_arg" type="_8286" location="f40:160" file="f40" line="160"/>
+  </Constructor>
+  <Constructor id="_3128" name="._19" explicit="1" artificial="1" throw="" context="_1534" access="public" mangled="_ZN21pthread_barrierattr_tC1Ev *INTERNAL* " demangled="pthread_barrierattr_t::pthread_barrierattr_t()" location="f40:160" file="f40" line="160" inline="1"/>
+  <Field id="_3129" name="__size" type="_8287" offset="0" context="_1535" access="public" mangled="_ZN17pthread_barrier_t6__sizeE" demangled="pthread_barrier_t::__size" location="f40:155" file="f40" line="155"/>
+  <Field id="_3130" name="__align" type="_1553" offset="0" context="_1535" access="public" mangled="_ZN17pthread_barrier_t7__alignE" demangled="pthread_barrier_t::__align" location="f40:156" file="f40" line="156"/>
+  <Constructor id="_3131" name="._18" artificial="1" throw="" context="_1535" access="public" mangled="_ZN17pthread_barrier_tC1ERKS_ *INTERNAL* " demangled="pthread_barrier_t::pthread_barrier_t(pthread_barrier_t const&)" location="f40:154" file="f40" line="154" inline="1">
+    <Argument name="_ctor_arg" type="_8288" location="f40:154" file="f40" line="154"/>
+  </Constructor>
+  <Constructor id="_3132" name="._18" explicit="1" artificial="1" throw="" context="_1535" access="public" mangled="_ZN17pthread_barrier_tC1Ev *INTERNAL* " demangled="pthread_barrier_t::pthread_barrier_t()" location="f40:154" file="f40" line="154" inline="1"/>
+  <CvQualifiedType id="_503v" type="_503" volatile="1"/>
+  <Field id="_3134" name="__size" type="_8289" offset="0" context="_1537" access="public" mangled="_ZN20pthread_rwlockattr_t6__sizeE" demangled="pthread_rwlockattr_t::__size" location="f40:140" file="f40" line="140"/>
+  <Field id="_3135" name="__align" type="_1553" offset="0" context="_1537" access="public" mangled="_ZN20pthread_rwlockattr_t7__alignE" demangled="pthread_rwlockattr_t::__align" location="f40:141" file="f40" line="141"/>
+  <Constructor id="_3136" name="._17" artificial="1" throw="" context="_1537" access="public" mangled="_ZN20pthread_rwlockattr_tC1ERKS_ *INTERNAL* " demangled="pthread_rwlockattr_t::pthread_rwlockattr_t(pthread_rwlockattr_t const&)" location="f40:139" file="f40" line="139" inline="1">
+    <Argument name="_ctor_arg" type="_8290" location="f40:139" file="f40" line="139"/>
+  </Constructor>
+  <Constructor id="_3137" name="._17" explicit="1" artificial="1" throw="" context="_1537" access="public" mangled="_ZN20pthread_rwlockattr_tC1Ev *INTERNAL* " demangled="pthread_rwlockattr_t::pthread_rwlockattr_t()" location="f40:139" file="f40" line="139" inline="1"/>
+  <Field id="_3138" name="__data" type="_3141" offset="0" context="_1538" access="public" mangled="_ZN16pthread_rwlock_t6__dataE" demangled="pthread_rwlock_t::__data" location="f40:133" file="f40" line="133"/>
+  <Field id="_3139" name="__size" type="_8291" offset="0" context="_1538" access="public" mangled="_ZN16pthread_rwlock_t6__sizeE" demangled="pthread_rwlock_t::__size" location="f40:134" file="f40" line="134"/>
+  <Field id="_3140" name="__align" type="_1553" offset="0" context="_1538" access="public" mangled="_ZN16pthread_rwlock_t7__alignE" demangled="pthread_rwlock_t::__align" location="f40:135" file="f40" line="135"/>
+  <Struct id="_3141" context="_1538" access="public" mangled="N16pthread_rwlock_t4._16E" demangled="pthread_rwlock_t::._16" location="f40:122" file="f40" line="122" artificial="1" size="256" align="32" members="_8292 _8293 _8294 _8295 _8296 _8297 _8298 _8299 _8300 _8301 " bases=""/>
+  <Constructor id="_3142" name="._15" artificial="1" throw="" context="_1538" access="public" mangled="_ZN16pthread_rwlock_tC1ERKS_ *INTERNAL* " demangled="pthread_rwlock_t::pthread_rwlock_t(pthread_rwlock_t const&)" location="f40:120" file="f40" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_8302" location="f40:120" file="f40" line="120"/>
+  </Constructor>
+  <Constructor id="_3143" name="._15" explicit="1" artificial="1" throw="" context="_1538" access="public" mangled="_ZN16pthread_rwlock_tC1Ev *INTERNAL* " demangled="pthread_rwlock_t::pthread_rwlock_t()" location="f40:120" file="f40" line="120" inline="1"/>
+  <Field id="_3144" name="__size" type="_8285" offset="0" context="_1541" access="public" mangled="_ZN18pthread_condattr_t6__sizeE" demangled="pthread_condattr_t::__size" location="f40:103" file="f40" line="103"/>
+  <Field id="_3145" name="__align" type="_1553" offset="0" context="_1541" access="public" mangled="_ZN18pthread_condattr_t7__alignE" demangled="pthread_condattr_t::__align" location="f40:104" file="f40" line="104"/>
+  <Constructor id="_3146" name="._14" artificial="1" throw="" context="_1541" access="public" mangled="_ZN18pthread_condattr_tC1ERKS_ *INTERNAL* " demangled="pthread_condattr_t::pthread_condattr_t(pthread_condattr_t const&)" location="f40:102" file="f40" line="102" inline="1">
+    <Argument name="_ctor_arg" type="_8303" location="f40:102" file="f40" line="102"/>
+  </Constructor>
+  <Constructor id="_3147" name="._14" explicit="1" artificial="1" throw="" context="_1541" access="public" mangled="_ZN18pthread_condattr_tC1Ev *INTERNAL* " demangled="pthread_condattr_t::pthread_condattr_t()" location="f40:102" file="f40" line="102" inline="1"/>
+  <Field id="_3148" name="__data" type="_3151" offset="0" context="_1542" access="public" mangled="_ZN14pthread_cond_t6__dataE" demangled="pthread_cond_t::__data" location="f40:96" file="f40" line="96"/>
+  <Field id="_3149" name="__size" type="_8304" offset="0" context="_1542" access="public" mangled="_ZN14pthread_cond_t6__sizeE" demangled="pthread_cond_t::__size" location="f40:97" file="f40" line="97"/>
+  <Field id="_3150" name="__align" type="_1290" offset="0" context="_1542" access="public" mangled="_ZN14pthread_cond_t7__alignE" demangled="pthread_cond_t::__align" location="f40:98" file="f40" line="98"/>
+  <Struct id="_3151" context="_1542" access="public" mangled="N14pthread_cond_t4._13E" demangled="pthread_cond_t::._13" location="f40:87" file="f40" line="87" artificial="1" size="352" align="32" members="_8305 _8306 _8307 _8308 _8309 _8310 _8311 _8312 _8313 _8314 " bases=""/>
+  <Constructor id="_3152" name="._12" artificial="1" throw="" context="_1542" access="public" mangled="_ZN14pthread_cond_tC1ERKS_ *INTERNAL* " demangled="pthread_cond_t::pthread_cond_t(pthread_cond_t const&)" location="f40:85" file="f40" line="85" inline="1">
+    <Argument name="_ctor_arg" type="_8315" location="f40:85" file="f40" line="85"/>
+  </Constructor>
+  <Constructor id="_3153" name="._12" explicit="1" artificial="1" throw="" context="_1542" access="public" mangled="_ZN14pthread_cond_tC1Ev *INTERNAL* " demangled="pthread_cond_t::pthread_cond_t()" location="f40:85" file="f40" line="85" inline="1"/>
+  <Field id="_3154" name="__size" type="_8285" offset="0" context="_1543" access="public" mangled="_ZN19pthread_mutexattr_t6__sizeE" demangled="pthread_mutexattr_t::__size" location="f40:77" file="f40" line="77"/>
+  <Field id="_3155" name="__align" type="_1553" offset="0" context="_1543" access="public" mangled="_ZN19pthread_mutexattr_t7__alignE" demangled="pthread_mutexattr_t::__align" location="f40:78" file="f40" line="78"/>
+  <Constructor id="_3156" name="._11" artificial="1" throw="" context="_1543" access="public" mangled="_ZN19pthread_mutexattr_tC1ERKS_ *INTERNAL* " demangled="pthread_mutexattr_t::pthread_mutexattr_t(pthread_mutexattr_t const&)" location="f40:76" file="f40" line="76" inline="1">
+    <Argument name="_ctor_arg" type="_8316" location="f40:76" file="f40" line="76"/>
+  </Constructor>
+  <Constructor id="_3157" name="._11" explicit="1" artificial="1" throw="" context="_1543" access="public" mangled="_ZN19pthread_mutexattr_tC1Ev *INTERNAL* " demangled="pthread_mutexattr_t::pthread_mutexattr_t()" location="f40:76" file="f40" line="76" inline="1"/>
+  <Field id="_3158" name="__next" type="_8317" offset="0" context="_1544" access="public" mangled="_ZN24__pthread_internal_slist6__nextE" demangled="__pthread_internal_slist::__next" location="f40:48" file="f40" line="48"/>
+  <Constructor id="_3159" name="__pthread_internal_slist" artificial="1" throw="" context="_1544" access="public" mangled="_ZN24__pthread_internal_slistC1ERKS_ *INTERNAL* " demangled="__pthread_internal_slist::__pthread_internal_slist(__pthread_internal_slist const&)" location="f40:47" file="f40" line="47" inline="1">
+    <Argument name="_ctor_arg" type="_8318" location="f40:47" file="f40" line="47"/>
+  </Constructor>
+  <Constructor id="_3160" name="__pthread_internal_slist" explicit="1" artificial="1" throw="" context="_1544" access="public" mangled="_ZN24__pthread_internal_slistC1Ev *INTERNAL* " demangled="__pthread_internal_slist::__pthread_internal_slist()" location="f40:47" file="f40" line="47" inline="1"/>
+  <Field id="_3161" name="__size" type="_8319" offset="0" context="_1546" access="public" mangled="_ZN14pthread_attr_t6__sizeE" demangled="pthread_attr_t::__size" location="f40:41" file="f40" line="41"/>
+  <Field id="_3162" name="__align" type="_1553" offset="0" context="_1546" access="public" mangled="_ZN14pthread_attr_t7__alignE" demangled="pthread_attr_t::__align" location="f40:42" file="f40" line="42"/>
+  <Constructor id="_3163" name="._8" artificial="1" throw="" context="_1546" access="public" mangled="_ZN14pthread_attr_tC1ERKS_ *INTERNAL* " demangled="pthread_attr_t::pthread_attr_t(pthread_attr_t const&)" location="f40:40" file="f40" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_8320" location="f40:40" file="f40" line="40"/>
+  </Constructor>
+  <Constructor id="_3164" name="._8" explicit="1" artificial="1" throw="" context="_1546" access="public" mangled="_ZN14pthread_attr_tC1Ev *INTERNAL* " demangled="pthread_attr_t::pthread_attr_t()" location="f40:40" file="f40" line="40" inline="1"/>
+  <PointerType id="_3165" type="_1562" size="32" align="32"/>
+  <CvQualifiedType id="_3165r" type="_3165" restrict="1"/>
+  <PointerType id="_3167" type="_1566c" size="32" align="32"/>
+  <CvQualifiedType id="_3167r" type="_3167" restrict="1"/>
+  <Field id="_3169" name="fds_bits" type="_8322" offset="0" context="_1562" access="public" mangled="_ZN6fd_set8fds_bitsE" demangled="fd_set::fds_bits" location="f68:72" file="f68" line="72"/>
+  <Constructor id="_3170" name="._7" artificial="1" throw="" context="_1562" access="public" mangled="_ZN6fd_setC1ERKS_ *INTERNAL* " demangled="fd_set::fd_set(fd_set const&)" location="f68:68" file="f68" line="68" inline="1">
+    <Argument name="_ctor_arg" type="_8323" location="f68:68" file="f68" line="68"/>
+  </Constructor>
+  <Constructor id="_3171" name="._7" explicit="1" artificial="1" throw="" context="_1562" access="public" mangled="_ZN6fd_setC1Ev *INTERNAL* " demangled="fd_set::fd_set()" location="f68:68" file="f68" line="68" inline="1"/>
+  <Field id="_3172" name="tv_sec" type="_1632" offset="0" context="_1564" access="public" mangled="_ZN7timeval6tv_secE" demangled="timeval::tv_sec" location="f69:71" file="f69" line="71"/>
+  <Field id="_3173" name="tv_usec" type="_1630" offset="32" context="_1564" access="public" mangled="_ZN7timeval7tv_usecE" demangled="timeval::tv_usec" location="f69:72" file="f69" line="72"/>
+  <Constructor id="_3174" name="timeval" artificial="1" throw="" context="_1564" access="public" mangled="_ZN7timevalC1ERKS_ *INTERNAL* " demangled="timeval::timeval(timeval const&)" location="f69:70" file="f69" line="70" inline="1">
+    <Argument name="_ctor_arg" type="_8324" location="f69:70" file="f69" line="70"/>
+  </Constructor>
+  <Constructor id="_3175" name="timeval" explicit="1" artificial="1" throw="" context="_1564" access="public" mangled="_ZN7timevalC1Ev *INTERNAL* " demangled="timeval::timeval()" location="f69:70" file="f69" line="70" inline="1"/>
+  <Field id="_3176" name="tv_sec" type="_1632" offset="0" context="_1565" access="public" mangled="_ZN8timespec6tv_secE" demangled="timespec::tv_sec" location="f43:123" file="f43" line="123"/>
+  <Field id="_3177" name="tv_nsec" type="_1553" offset="32" context="_1565" access="public" mangled="_ZN8timespec7tv_nsecE" demangled="timespec::tv_nsec" location="f43:124" file="f43" line="124"/>
+  <Constructor id="_3178" name="timespec" artificial="1" throw="" context="_1565" access="public" mangled="_ZN8timespecC1ERKS_ *INTERNAL* " demangled="timespec::timespec(timespec const&)" location="f43:122" file="f43" line="122" inline="1">
+    <Argument name="_ctor_arg" type="_8325" location="f43:122" file="f43" line="122"/>
+  </Constructor>
+  <Constructor id="_3179" name="timespec" explicit="1" artificial="1" throw="" context="_1565" access="public" mangled="_ZN8timespecC1Ev *INTERNAL* " demangled="timespec::timespec()" location="f43:122" file="f43" line="122" inline="1"/>
+  <Field id="_3180" name="__val" type="_8326" offset="0" context="_1566" access="public" mangled="_ZN10__sigset_t5__valE" demangled="__sigset_t::__val" location="f70:30" file="f70" line="30"/>
+  <Constructor id="_3181" name="._6" artificial="1" throw="" context="_1566" access="public" mangled="_ZN10__sigset_tC1ERKS_ *INTERNAL* " demangled="__sigset_t::__sigset_t(__sigset_t const&)" location="f70:29" file="f70" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_8327" location="f70:29" file="f70" line="29"/>
+  </Constructor>
+  <Constructor id="_3182" name="._6" explicit="1" artificial="1" throw="" context="_1566" access="public" mangled="_ZN10__sigset_tC1Ev *INTERNAL* " demangled="__sigset_t::__sigset_t()" location="f70:29" file="f70" line="29" inline="1"/>
+  <Field id="_3183" name="__val" type="_8328" offset="0" context="_1603" access="public" mangled="_ZN8__fsid_t5__valE" demangled="__fsid_t::__val" location="f71:147" file="f71" line="147"/>
+  <Constructor id="_3184" name="._5" artificial="1" throw="" context="_1603" access="public" mangled="_ZN8__fsid_tC1ERKS_ *INTERNAL* " demangled="__fsid_t::__fsid_t(__fsid_t const&)" location="f71:147" file="f71" line="147" inline="1">
+    <Argument name="_ctor_arg" type="_8329" location="f71:147" file="f71" line="147"/>
+  </Constructor>
+  <Constructor id="_3185" name="._5" explicit="1" artificial="1" throw="" context="_1603" access="public" mangled="_ZN8__fsid_tC1Ev *INTERNAL* " demangled="__fsid_t::__fsid_t()" location="f71:147" file="f71" line="147" inline="1"/>
+  <Field id="_3186" name="__locales" type="_8330" offset="0" context="_1679" access="public" mangled="_ZN15__locale_struct9__localesE" demangled="__locale_struct::__locales" location="f72:31" file="f72" line="31"/>
+  <Field id="_3187" name="__ctype_b" type="_8206" offset="416" context="_1679" access="public" mangled="_ZN15__locale_struct9__ctype_bE" demangled="__locale_struct::__ctype_b" location="f72:34" file="f72" line="34"/>
+  <Field id="_3188" name="__ctype_tolower" type="_4076" offset="448" context="_1679" access="public" mangled="_ZN15__locale_struct15__ctype_tolowerE" demangled="__locale_struct::__ctype_tolower" location="f72:35" file="f72" line="35"/>
+  <Field id="_3189" name="__ctype_toupper" type="_4076" offset="480" context="_1679" access="public" mangled="_ZN15__locale_struct15__ctype_toupperE" demangled="__locale_struct::__ctype_toupper" location="f72:36" file="f72" line="36"/>
+  <Field id="_3190" name="__names" type="_8331" offset="512" context="_1679" access="public" mangled="_ZN15__locale_struct7__namesE" demangled="__locale_struct::__names" location="f72:39" file="f72" line="39"/>
+  <Constructor id="_3191" name="__locale_struct" artificial="1" throw="" context="_1679" access="public" mangled="_ZN15__locale_structC1ERKS_ *INTERNAL* " demangled="__locale_struct::__locale_struct(__locale_struct const&)" location="f72:29" file="f72" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_8332" location="f72:29" file="f72" line="29"/>
+  </Constructor>
+  <Constructor id="_3192" name="__locale_struct" explicit="1" artificial="1" throw="" context="_1679" access="public" mangled="_ZN15__locale_structC1Ev *INTERNAL* " demangled="__locale_struct::__locale_struct()" location="f72:29" file="f72" line="29" inline="1"/>
+  <Field id="_3193" name="quot" type="_1290" offset="0" context="_1694" access="public" mangled="_ZN7lldiv_t4quotE" demangled="lldiv_t::quot" location="f65:120" file="f65" line="120"/>
+  <Field id="_3194" name="rem" type="_1290" offset="64" context="_1694" access="public" mangled="_ZN7lldiv_t3remE" demangled="lldiv_t::rem" location="f65:121" file="f65" line="121"/>
+  <Constructor id="_3195" name="._4" artificial="1" throw="" context="_1694" access="public" mangled="_ZN7lldiv_tC1ERKS_ *INTERNAL* " demangled="lldiv_t::lldiv_t(lldiv_t const&)" location="f65:119" file="f65" line="119" inline="1">
+    <Argument name="_ctor_arg" type="_8333" location="f65:119" file="f65" line="119"/>
+  </Constructor>
+  <Constructor id="_3196" name="._4" explicit="1" artificial="1" throw="" context="_1694" access="public" mangled="_ZN7lldiv_tC1Ev *INTERNAL* " demangled="lldiv_t::lldiv_t()" location="f65:119" file="f65" line="119" inline="1"/>
+  <Field id="_3197" name="quot" type="_1553" offset="0" context="_1695" access="public" mangled="_ZN6ldiv_t4quotE" demangled="ldiv_t::quot" location="f65:108" file="f65" line="108"/>
+  <Field id="_3198" name="rem" type="_1553" offset="32" context="_1695" access="public" mangled="_ZN6ldiv_t3remE" demangled="ldiv_t::rem" location="f65:109" file="f65" line="109"/>
+  <Constructor id="_3199" name="._3" artificial="1" throw="" context="_1695" access="public" mangled="_ZN6ldiv_tC1ERKS_ *INTERNAL* " demangled="ldiv_t::ldiv_t(ldiv_t const&)" location="f65:107" file="f65" line="107" inline="1">
+    <Argument name="_ctor_arg" type="_8334" location="f65:107" file="f65" line="107"/>
+  </Constructor>
+  <Constructor id="_3200" name="._3" explicit="1" artificial="1" throw="" context="_1695" access="public" mangled="_ZN6ldiv_tC1Ev *INTERNAL* " demangled="ldiv_t::ldiv_t()" location="f65:107" file="f65" line="107" inline="1"/>
+  <Field id="_3201" name="quot" type="_503" offset="0" context="_1696" access="public" mangled="_ZN5div_t4quotE" demangled="div_t::quot" location="f65:100" file="f65" line="100"/>
+  <Field id="_3202" name="rem" type="_503" offset="32" context="_1696" access="public" mangled="_ZN5div_t3remE" demangled="div_t::rem" location="f65:101" file="f65" line="101"/>
+  <Constructor id="_3203" name="._2" artificial="1" throw="" context="_1696" access="public" mangled="_ZN5div_tC1ERKS_ *INTERNAL* " demangled="div_t::div_t(div_t const&)" location="f65:99" file="f65" line="99" inline="1">
+    <Argument name="_ctor_arg" type="_8335" location="f65:99" file="f65" line="99"/>
+  </Constructor>
+  <Constructor id="_3204" name="._2" explicit="1" artificial="1" throw="" context="_1696" access="public" mangled="_ZN5div_tC1Ev *INTERNAL* " demangled="div_t::div_t()" location="f65:99" file="f65" line="99" inline="1"/>
+  <Field id="_3205" name="w_status" type="_503" offset="0" context="_1697" access="public" mangled="_ZN4wait8w_statusE" demangled="wait::w_status" location="f73:69" file="f73" line="69"/>
+  <Field id="_3206" name="__wait_terminated" type="_3208" offset="0" context="_1697" access="public" mangled="_ZN4wait17__wait_terminatedE" demangled="wait::__wait_terminated" location="f73:84" file="f73" line="84"/>
+  <Field id="_3207" name="__wait_stopped" type="_3209" offset="0" context="_1697" access="public" mangled="_ZN4wait14__wait_stoppedE" demangled="wait::__wait_stopped" location="f73:97" file="f73" line="97"/>
+  <Struct id="_3208" context="_1697" access="public" mangled="N4wait3._0E" demangled="wait::._0" location="f73:71" file="f73" line="71" artificial="1" size="32" align="32" members="_8336 _8337 _8338 _8339 _8340 _8341 " bases=""/>
+  <Struct id="_3209" context="_1697" access="public" mangled="N4wait3._1E" demangled="wait::._1" location="f73:86" file="f73" line="86" artificial="1" size="32" align="32" members="_8342 _8343 _8344 _8345 _8346 " bases=""/>
+  <Constructor id="_3210" name="wait" artificial="1" throw="" context="_1697" access="public" mangled="_ZN4waitC1ERKS_ *INTERNAL* " demangled="wait::wait(wait const&)" location="f73:68" file="f73" line="68" inline="1">
+    <Argument name="_ctor_arg" type="_8347" location="f73:68" file="f73" line="68"/>
+  </Constructor>
+  <Constructor id="_3211" name="wait" explicit="1" artificial="1" throw="" context="_1697" access="public" mangled="_ZN4waitC1Ev *INTERNAL* " demangled="wait::wait()" location="f73:68" file="f73" line="68" inline="1"/>
+  <FundamentalType id="_3212" name="complex long double" size="192" align="32"/>
+  <FundamentalType id="_3213" name="complex double" size="128" align="64"/>
+  <FundamentalType id="_3214" name="complex float" size="64" align="32"/>
+  <Function id="_3215" name="export_templates" returns="_1194" context="_1888" mangled="_ZN7details16export_templatesEv" demangled="details::export_templates()" location="f116:12" file="f116" line="12" endline="64" inline="1"/>
+  <Function id="_3216" name="local_sec_clock__local_time" returns="_8349" context="_1889" mangled="_ZN10pyplusplus27local_sec_clock__local_timeEN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEE" demangled="pyplusplus::local_sec_clock__local_time(boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >)" location="f117:13" file="f117" line="13" endline="15" inline="1">
+    <Argument name="tz" type="_3830" location="f117:13" file="f117" line="13"/>
+  </Function>
+  <Function id="_3217" name="local_microsec_clock__local_time" returns="_8349" context="_1889" mangled="_ZN10pyplusplus32local_microsec_clock__local_timeEN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEE" demangled="pyplusplus::local_microsec_clock__local_time(boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >)" location="f117:8" file="f117" line="8" endline="10" inline="1">
+    <Argument name="tz" type="_3830" location="f117:8" file="f117" line="8"/>
+  </Function>
+  <Struct id="_3218" name="size_t<static_cast<size_t>((value - 1))>" context="_1890" incomplete="1" mangled="N4mpl_6size_tIXcvjmiL_ZNS0_IXT_EE5valueEELi1EEEE" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3219" name="size_t<static_cast<size_t>((value + 1))>" context="_1890" incomplete="1" mangled="N4mpl_6size_tIXcvjplL_ZNS0_IXT_EE5valueEELi1EEEE" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3220" name="arg<6>" context="_1890" incomplete="1" mangled="N4mpl_3argILi6EEE" demangled="mpl_::arg<6>" location="f119:23" file="f119" line="23" artificial="1" align="8"/>
+  <Typedef id="_3221" name="_6" type="_3220" context="_1890" location="f120:94" file="f120" line="94"/>
+  <Struct id="_3222" name="arg<5>" context="_1890" mangled="N4mpl_3argILi5EEE" demangled="mpl_::arg<5>" location="f121:104" file="f121" line="104" artificial="1" size="8" align="8" members="_8350 _8351 _8352 _8353 " bases=""/>
+  <Typedef id="_3223" name="_5" type="_3222" context="_1890" location="f120:81" file="f120" line="81"/>
+  <Struct id="_3224" name="arg<4>" context="_1890" mangled="N4mpl_3argILi4EEE" demangled="mpl_::arg<4>" location="f121:86" file="f121" line="86" artificial="1" size="8" align="8" members="_8354 _8355 _8356 _8357 " bases=""/>
+  <Typedef id="_3225" name="_4" type="_3224" context="_1890" location="f120:68" file="f120" line="68"/>
+  <Struct id="_3226" name="arg<3>" context="_1890" mangled="N4mpl_3argILi3EEE" demangled="mpl_::arg<3>" location="f121:68" file="f121" line="68" artificial="1" size="8" align="8" members="_8358 _8359 _8360 _8361 " bases=""/>
+  <Typedef id="_3227" name="_3" type="_3226" context="_1890" location="f120:55" file="f120" line="55"/>
+  <Struct id="_3228" name="arg<2>" context="_1890" mangled="N4mpl_3argILi2EEE" demangled="mpl_::arg<2>" location="f121:50" file="f121" line="50" artificial="1" size="8" align="8" members="_8362 _8363 _8364 _8365 " bases=""/>
+  <Typedef id="_3229" name="_2" type="_3228" context="_1890" location="f120:42" file="f120" line="42"/>
+  <Struct id="_3230" name="arg<1>" context="_1890" mangled="N4mpl_3argILi1EEE" demangled="mpl_::arg<1>" location="f121:32" file="f121" line="32" artificial="1" size="8" align="8" members="_8366 _8367 _8368 _8369 " bases=""/>
+  <Typedef id="_3231" name="_1" type="_3230" context="_1890" location="f120:29" file="f120" line="29"/>
+  <Struct id="_3232" name="arg<-1>" context="_1890" mangled="N4mpl_3argILin1EEE" demangled="mpl_::arg<-1>" location="f121:15" file="f121" line="15" artificial="1" size="8" align="8" members="_8370 _8371 _8372 " bases=""/>
+  <Typedef id="_3233" name="_" type="_3232" context="_1890" location="f120:14" file="f120" line="14"/>
+  <Function id="_3234" name="assert_not_arg" returns="_3249" context="_1890" mangled="_ZN4mpl_14assert_not_argIN5boost6detail20is_iterator_categoryINS1_21forward_traversal_tagEEEEENS_6assertILb0EEEPFvT_ENS_15assert_arg_predIS8_E4typeE" demangled="mpl_::assert<false> mpl_::assert_not_arg<boost::detail::is_iterator_category<boost::forward_traversal_tag> >(void (*)(boost::detail::is_iterator_category<boost::forward_traversal_tag>), mpl_::assert_arg_pred<boost::det [...]
+    <Argument type="_8373" location="f122:169" file="f122" line="169"/>
+    <Argument type="_503" location="f122:169" file="f122" line="169"/>
+  </Function>
+  <Function id="_3235" name="assert_not_arg" returns="_8374" context="_1890" mangled="_ZN4mpl_14assert_not_argIN5boost6detail20is_iterator_categoryINS1_21forward_traversal_tagEEEEEPPPPPPPPPPPMNS1_3mpl4not_IT_EEPPPPPPPPPPPPNS_6failedEPFvS8_ENS_19assert_arg_pred_notIS8_E4typeE" demangled="mpl_::failed************ boost::mpl::not_<boost::detail::is_iterator_category<boost::forward_traversal_tag> >::************ mpl_::assert_not_arg<boost::detail::is_iterator_category<boost [...]
+    <Argument type="_8373" location="f122:161" file="f122" line="161"/>
+    <Argument type="_1042" location="f122:161" file="f122" line="161"/>
+  </Function>
+  <Struct id="_3236" name="assert_arg_pred_not<boost::detail::is_iterator_category<boost::forward_traversal_tag> >" context="_1890" mangled="N4mpl_19assert_arg_pred_notIN5boost6detail20is_iterator_categoryINS1_21forward_traversal_tagEEEEE" demangled="mpl_::assert_arg_pred_not<boost::detail::is_iterator_category<boost::forward_traversal_tag> >" location="f122:147" file="f122" line="147" artificial="1" size="8" align="8" members="_8375 _8376 _8377 _8378 _8379 " bases=""/>
+  <Struct id="_3237" name="assert_arg_pred<boost::detail::is_iterator_category<boost::forward_traversal_tag> >" context="_1890" mangled="N4mpl_15assert_arg_predIN5boost6detail20is_iterator_categoryINS1_21forward_traversal_tagEEEEE" demangled="mpl_::assert_arg_pred<boost::detail::is_iterator_category<boost::forward_traversal_tag> >" location="f122:141" file="f122" line="141" artificial="1" size="8" align="8" members="_8380 _8381 _8382 _8383 " bases=""/>
+  <Struct id="_3238" name="assert_arg_pred_impl<true>" context="_1890" mangled="N4mpl_20assert_arg_pred_implILb1EEE" demangled="mpl_::assert_arg_pred_impl<true>" location="f122:138" file="f122" line="138" artificial="1" size="8" align="8" members="_8384 _8385 _8386 " bases=""/>
+  <Struct id="_3239" name="assert_arg_pred_impl<false>" context="_1890" mangled="N4mpl_20assert_arg_pred_implILb0EEE" demangled="mpl_::assert_arg_pred_impl<false>" location="f122:137" file="f122" line="137" artificial="1" size="8" align="8" members="_8387 _8388 _8389 " bases=""/>
+  <OperatorFunction id="_3240" name="<=" returns="_8390" context="_1890" mangled="_ZN4mpl_leENS_7assert_ES0_" demangled="mpl_::operator<=(mpl_::assert_, mpl_::assert_)" location="f122:128" file="f122" line="128" extern="1">
+    <Argument type="_3246" location="f122:128" file="f122" line="128"/>
+    <Argument type="_3246" location="f122:128" file="f122" line="128"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3241" name="<" returns="_8391" context="_1890" mangled="_ZN4mpl_ltENS_7assert_ES0_" demangled="mpl_::operator<(mpl_::assert_, mpl_::assert_)" location="f122:127" file="f122" line="127" extern="1">
+    <Argument type="_3246" location="f122:127" file="f122" line="127"/>
+    <Argument type="_3246" location="f122:127" file="f122" line="127"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3242" name=">=" returns="_8392" context="_1890" mangled="_ZN4mpl_geENS_7assert_ES0_" demangled="mpl_::operator>=(mpl_::assert_, mpl_::assert_)" location="f122:126" file="f122" line="126" extern="1">
+    <Argument type="_3246" location="f122:126" file="f122" line="126"/>
+    <Argument type="_3246" location="f122:126" file="f122" line="126"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3243" name=">" returns="_8393" context="_1890" mangled="_ZN4mpl_gtENS_7assert_ES0_" demangled="mpl_::operator>(mpl_::assert_, mpl_::assert_)" location="f122:125" file="f122" line="125" extern="1">
+    <Argument type="_3246" location="f122:125" file="f122" line="125"/>
+    <Argument type="_3246" location="f122:125" file="f122" line="125"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3244" name="!=" returns="_8394" context="_1890" mangled="_ZN4mpl_neENS_7assert_ES0_" demangled="mpl_::operator!=(mpl_::assert_, mpl_::assert_)" location="f122:124" file="f122" line="124" extern="1">
+    <Argument type="_3246" location="f122:124" file="f122" line="124"/>
+    <Argument type="_3246" location="f122:124" file="f122" line="124"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3245" name="==" returns="_8395" context="_1890" mangled="_ZN4mpl_eqENS_7assert_ES0_" demangled="mpl_::operator==(mpl_::assert_, mpl_::assert_)" location="f122:123" file="f122" line="123" extern="1">
+    <Argument type="_3246" location="f122:123" file="f122" line="123"/>
+    <Argument type="_3246" location="f122:123" file="f122" line="123"/>
+  </OperatorFunction>
+  <Struct id="_3246" name="assert_" context="_1890" mangled="N4mpl_7assert_E" demangled="mpl_::assert_" location="f122:94" file="f122" line="94" artificial="1" size="8" align="8" members="_8396 _8397 _8398 _8399 " bases=""/>
+  <Struct id="_3247" name="assertion<true>" context="_1890" mangled="N4mpl_9assertionILb1EEE" demangled="mpl_::assertion<true>" location="f122:89" file="f122" line="89" artificial="1" size="8" align="8" members="_8400 _8401 _8402 " bases=""/>
+  <Function id="_3248" name="assertion_failed" returns="_503" context="_1890" mangled="_ZN4mpl_16assertion_failedILb0EEEiNS_6assertIXT_EE4typeE" demangled="int mpl_::assertion_failed<false>(mpl_::assert<false>::type)" location="f122:79" file="f122" line="79" extern="1">
+    <Argument type="_3249" location="f122:79" file="f122" line="79"/>
+  </Function>
+  <Struct id="_3249" name="assert<false>" context="_1890" mangled="N4mpl_6assertILb0EEE" demangled="mpl_::assert<false>" location="f122:76" file="f122" line="76" artificial="1" size="8" align="8" members="_8403 _8404 " bases=""/>
+  <Struct id="_3250" name="failed" context="_1890" mangled="N4mpl_6failedE" demangled="mpl_::failed" location="f122:64" file="f122" line="64" artificial="1" size="8" align="8" members="_8405 _8406 " bases=""/>
+  <Struct id="_3251" name="na" context="_1890" mangled="N4mpl_2naE" demangled="mpl_::na" location="f123:23" file="f123" line="23" artificial="1" size="8" align="8" members="_8407 _8408 _8409 " bases=""/>
+  <Struct id="_3252" name="void_" context="_1890" mangled="N4mpl_5void_E" demangled="mpl_::void_" location="f124:29" file="f124" line="29" artificial="1" size="8" align="8" members="_8410 _8411 " bases=""/>
+  <Struct id="_3253" name="integral_c<unsigned int,4>" context="_1890" mangled="N4mpl_10integral_cIjLj4EEE" demangled="mpl_::integral_c<unsigned, 4>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8412 _8413 _8414 _8415 _8416 _8417 _8418 _8419 " bases=""/>
+  <Struct id="_3254" name="integral_c<unsigned int,3>" context="_1890" incomplete="1" mangled="N4mpl_10integral_cIjLj3EEE" demangled="mpl_::integral_c<unsigned, 3>" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3255" name="integral_c<unsigned int,5>" context="_1890" incomplete="1" mangled="N4mpl_10integral_cIjLj5EEE" demangled="mpl_::integral_c<unsigned, 5>" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3256" name="integral_c<unsigned int,0>" context="_1890" mangled="N4mpl_10integral_cIjLj0EEE" demangled="mpl_::integral_c<unsigned, 0>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8420 _8421 _8422 _8423 _8424 _8425 _8426 _8427 " bases=""/>
+  <Struct id="_3257" name="integral_c<unsigned int,0x0ffffffff>" context="_1890" incomplete="1" mangled="N4mpl_10integral_cIjLj4294967295EEE" demangled="mpl_::integral_c<unsigned, 4294967295>" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3258" name="integral_c<unsigned int,1>" context="_1890" incomplete="1" mangled="N4mpl_10integral_cIjLj1EEE" demangled="mpl_::integral_c<unsigned, 1>" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3259" name="bool_<false>" context="_1890" mangled="N4mpl_5bool_ILb0EEE" demangled="mpl_::bool_<false>" location="f125:21" file="f125" line="21" artificial="1" size="8" align="8" members="_8428 _8429 _8430 _8431 _8432 _8433 " bases=""/>
+  <Typedef id="_3260" name="false_" type="_3259" context="_1890" location="f125:25" file="f125" line="25"/>
+  <Struct id="_3261" name="bool_<true>" context="_1890" mangled="N4mpl_5bool_ILb1EEE" demangled="mpl_::bool_<true>" location="f125:21" file="f125" line="21" artificial="1" size="8" align="8" members="_8434 _8435 _8436 _8437 _8438 _8439 " bases=""/>
+  <Typedef id="_3262" name="true_" type="_3261" context="_1890" location="f125:24" file="f125" line="24"/>
+  <Struct id="_3263" name="bool_<!C_>" context="_1890" mangled="N4mpl_5bool_IXntT_EEE" location="f126:24" file="f126" line="24" artificial="1" size="0" align="8" members="_8440 _8441 _8442 _8443 " bases=""/>
+  <Struct id="_3264" name="integral_c_tag" context="_1890" mangled="N4mpl_14integral_c_tagE" demangled="mpl_::integral_c_tag" location="f127:22" file="f127" line="22" artificial="1" size="8" align="8" members="_8444 _8445 _8446 " bases=""/>
+  <Struct id="_3265" name="int_<-1>" context="_1890" mangled="N4mpl_4int_ILin1EEE" demangled="mpl_::int_<-1>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8447 _8448 _8449 _8450 _8451 _8452 _8453 _8454 " bases=""/>
+  <Struct id="_3266" name="int_<3>" context="_1890" mangled="N4mpl_4int_ILi3EEE" demangled="mpl_::int_<3>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8455 _8456 _8457 _8458 _8459 _8460 _8461 _8462 " bases=""/>
+  <Struct id="_3267" name="int_<6>" context="_1890" mangled="N4mpl_4int_ILi6EEE" demangled="mpl_::int_<6>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8463 _8464 _8465 _8466 _8467 _8468 _8469 _8470 " bases=""/>
+  <Struct id="_3268" name="int_<1>" context="_1890" mangled="N4mpl_4int_ILi1EEE" demangled="mpl_::int_<1>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8471 _8472 _8473 _8474 _8475 _8476 _8477 _8478 " bases=""/>
+  <Struct id="_3269" name="int_<5>" context="_1890" mangled="N4mpl_4int_ILi5EEE" demangled="mpl_::int_<5>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8479 _8480 _8481 _8482 _8483 _8484 _8485 _8486 " bases=""/>
+  <Struct id="_3270" name="int_<4>" context="_1890" mangled="N4mpl_4int_ILi4EEE" demangled="mpl_::int_<4>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8487 _8488 _8489 _8490 _8491 _8492 _8493 _8494 " bases=""/>
+  <Struct id="_3271" name="int_<2>" context="_1890" mangled="N4mpl_4int_ILi2EEE" demangled="mpl_::int_<2>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8495 _8496 _8497 _8498 _8499 _8500 _8501 _8502 " bases=""/>
+  <Struct id="_3272" name="int_<12>" context="_1890" mangled="N4mpl_4int_ILi12EEE" demangled="mpl_::int_<12>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8503 _8504 _8505 _8506 _8507 _8508 _8509 _8510 " bases=""/>
+  <Struct id="_3273" name="int_<11>" context="_1890" mangled="N4mpl_4int_ILi11EEE" demangled="mpl_::int_<11>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8511 _8512 _8513 _8514 _8515 _8516 _8517 _8518 " bases=""/>
+  <Struct id="_3274" name="int_<13>" context="_1890" incomplete="1" mangled="N4mpl_4int_ILi13EEE" demangled="mpl_::int_<13>" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3275" name="int_<10>" context="_1890" mangled="N4mpl_4int_ILi10EEE" demangled="mpl_::int_<10>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8519 _8520 _8521 _8522 _8523 _8524 _8525 _8526 " bases=""/>
+  <Struct id="_3276" name="int_<9>" context="_1890" mangled="N4mpl_4int_ILi9EEE" demangled="mpl_::int_<9>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8527 _8528 _8529 _8530 _8531 _8532 _8533 _8534 " bases=""/>
+  <Struct id="_3277" name="int_<8>" context="_1890" mangled="N4mpl_4int_ILi8EEE" demangled="mpl_::int_<8>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8535 _8536 _8537 _8538 _8539 _8540 _8541 _8542 " bases=""/>
+  <Struct id="_3278" name="int_<7>" context="_1890" mangled="N4mpl_4int_ILi7EEE" demangled="mpl_::int_<7>" location="f118:44" file="f118" line="44" artificial="1" size="8" align="8" members="_8543 _8544 _8545 _8546 _8547 _8548 _8549 _8550 " bases=""/>
+  <Struct id="_3279" name="int_<0>" context="_1890" incomplete="1" mangled="N4mpl_4int_ILi0EEE" demangled="mpl_::int_<0>" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3280" name="int_<-2>" context="_1890" incomplete="1" mangled="N4mpl_4int_ILin2EEE" demangled="mpl_::int_<-2>" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3281" name="int_<static_cast<int>((value - 1))>" context="_1890" incomplete="1" mangled="N4mpl_4int_IXcvimiL_ZNS0_IXT_EE5valueEELi1EEEE" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Struct id="_3282" name="int_<static_cast<int>((value + 1))>" context="_1890" incomplete="1" mangled="N4mpl_4int_IXcviplL_ZNS0_IXT_EE5valueEELi1EEEE" location="f118:44" file="f118" line="44" artificial="1" align="8"/>
+  <Namespace id="_3283" name="aux" context="_1890" members="" mangled="_ZN4mpl_3auxE" demangled="mpl_::aux"/>
+  <Function id="_3284" name="__test_type" returns="_8551" context="_1891" mangled="_ZN14__gnu_internal11__test_typeISt4lessISsEEERA2_cz" demangled="char (&) [2] __gnu_internal::__test_type<std::less<std::string> >(...)" location="f60:83" file="f60" line="83" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_3285" name="__test_type" returns="_3288" context="_1891" mangled="_ZN14__gnu_internal11__test_typeISt4lessISsEEEcMT_i" demangled="char __gnu_internal::__test_type<std::less<std::string> >(int std::less<std::string>::*)" location="f60:81" file="f60" line="81" extern="1">
+    <Argument type="_8552" location="f60:81" file="f60" line="81"/>
+  </Function>
+  <ArrayType id="_3286" min="0" max="1" type="_2961" size="16" align="8"/>
+  <Typedef id="_3287" name="__two" type="_3286" context="_1891" location="f60:78" file="f60" line="78"/>
+  <FundamentalType id="_2961" name="char" size="8" align="8"/>
+  <Typedef id="_3288" name="__one" type="_2961" context="_1891" location="f60:77" file="f60" line="77"/>
+  <OperatorFunction id="_3289" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIwEEbRKNS_13new_allocatorIT_EES5_" demangled="bool __gnu_cxx::operator==<wchar_t>(__gnu_cxx::new_allocator<wchar_t> const&, __gnu_cxx::new_allocator<wchar_t> const&)" location="f128:113" file="f128" line="113" extern="1" inline="1">
+    <Argument type="_8553" location="f128:113" file="f128" line="113"/>
+    <Argument type="_8553" location="f128:113" file="f128" line="113"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3290" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIcEEbRKNS_13new_allocatorIT_EES5_" demangled="bool __gnu_cxx::operator==<char>(__gnu_cxx::new_allocator<char> const&, __gnu_cxx::new_allocator<char> const&)" location="f128:113" file="f128" line="113" extern="1" inline="1">
+    <Argument type="_8554" location="f128:113" file="f128" line="113"/>
+    <Argument type="_8554" location="f128:113" file="f128" line="113"/>
+  </OperatorFunction>
+  <Class id="_3291" name="new_allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1892" mangled="N9__gnu_cxx13new_allocatorISsEE" demangled="__gnu_cxx::new_allocator<std::string>" location="f128:51" file="f128" line="51" artificial="1" size="8" align="8" members="_8555 _8556 _8557 _8558 _8559 _8560 _8561 _8562 _8563 _8564 _8565 _8566 _8567 _8568 _8569 _8570 _8571 " bases=""/>
+  <Class id="_3292" name="new_allocator<char>" context="_1892" mangled="N9__gnu_cxx13new_allocatorIcEE" demangled="__gnu_cxx::new_allocator<char>" location="f128:51" file="f128" line="51" artificial="1" size="8" align="8" members="_8572 _8573 _8574 _8575 _8576 _8577 _8578 _8579 _8580 _8581 _8582 _8583 _8584 _8585 _8586 _8587 _8588 " bases=""/>
+  <Class id="_3293" name="new_allocator<char*>" context="_1892" mangled="N9__gnu_cxx13new_allocatorIPcEE" demangled="__gnu_cxx::new_allocator<char*>" location="f128:51" file="f128" line="51" artificial="1" size="8" align="8" members="_8589 _8590 _8591 _8592 _8593 _8594 _8595 _8596 _8597 _8598 _8599 _8600 _8601 _8602 _8603 _8604 _8605 " bases=""/>
+  <Class id="_3294" name="new_allocator<wchar_t>" context="_1892" mangled="N9__gnu_cxx13new_allocatorIwEE" demangled="__gnu_cxx::new_allocator<wchar_t>" location="f128:51" file="f128" line="51" artificial="1" size="8" align="8" members="_8606 _8607 _8608 _8609 _8610 _8611 _8612 _8613 _8614 _8615 _8616 _8617 _8618 _8619 _8620 _8621 _8622 " bases=""/>
+  <Class id="_3295" name="new_allocator<int>" context="_1892" mangled="N9__gnu_cxx13new_allocatorIiEE" demangled="__gnu_cxx::new_allocator<int>" location="f128:51" file="f128" line="51" artificial="1" size="8" align="8" members="_8623 _8624 _8625 _8626 _8627 _8628 _8629 _8630 _8631 _8632 _8633 _8634 _8635 _8636 _8637 _8638 _8639 " bases=""/>
+  <Class id="_3296" name="new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > >" context="_1892" mangled="N9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEEE" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >" location="f128:51" file="f128" line="51" artificial="1" size="8" align="8 [...]
+  <Class id="_3297" name="new_allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> >" context="_1892" mangled="N9__gnu_cxx13new_allocatorISt4pairIKSstEEE" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >" location="f128:51" file="f128" line="51" artificial="1" size="8" align="8" members="_8657 _8658 _8659 _8660 _8661 _8662 _8663 _8664 _8665 _8666 _8 [...]
+  <Class id="_3298" name="new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >" context="_1892" mangled="N9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEEE" demangled="__gnu_cxx::new_allocator< [...]
+  <Class id="_3299" name="new_allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >" context="_1892" mangled="N9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEEE" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ [...]
+  <Function id="_3300" name="__atomic_add" returns="_1194" context="_1892" mangled="_ZN9__gnu_cxx12__atomic_addEPVii" demangled="__gnu_cxx::__atomic_add(int volatile*, int)" location="f129:48" file="f129" line="48" extern="1" attributes="__unused__">
+    <Argument name="__mem" type="_8708" location="f129:48" file="f129" line="48"/>
+    <Argument name="__val" type="_503" location="f129:48" file="f129" line="48"/>
+  </Function>
+  <Function id="_3301" name="__exchange_and_add" returns="_661" context="_1892" mangled="_ZN9__gnu_cxx18__exchange_and_addEPVii" demangled="__gnu_cxx::__exchange_and_add(int volatile*, int)" location="f129:44" file="f129" line="44" extern="1" attributes="__unused__">
+    <Argument name="__mem" type="_8708" location="f129:44" file="f129" line="44"/>
+    <Argument name="__val" type="_503" location="f129:44" file="f129" line="44"/>
+  </Function>
+  <Function id="_3302" name="__verbose_terminate_handler" returns="_1194" context="_1892" mangled="_ZN9__gnu_cxx27__verbose_terminate_handlerEv" demangled="__gnu_cxx::__verbose_terminate_handler()" location="f36:117" file="f36" line="117" extern="1"/>
+  <Function id="_3303" name="__uselocale" returns="_1677" throw="" context="_1892" location="f108:55" file="f108" line="55" extern="1">
+    <Argument type="_1280" location="f108:55" file="f108" line="55"/>
+  </Function>
+  <OperatorFunction id="_3304" name="-" returns="_1699" context="_1892" mangled="_ZN9__gnu_cxxmiIPKwS2_SbIwSt11char_traitsIwESaIwEEEENS_17__normal_iteratorIT_T1_E15difference_typeERKSA_RKNS7_IT0_S9_EE" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::difference_type __gnu_cxx::operator-<wchar_t const*, wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar [...]
+    <Argument name="__lhs" type="_8709" location="f110:809" file="f110" line="809"/>
+    <Argument name="__rhs" type="_8709" location="f110:809" file="f110" line="809"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3305" name="-" returns="_1699" context="_1892" mangled="_ZN9__gnu_cxxmiIPwS1_SbIwSt11char_traitsIwESaIwEEEENS_17__normal_iteratorIT_T1_E15difference_typeERKS9_RKNS6_IT0_S8_EE" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::difference_type __gnu_cxx::operator-<wchar_t*, wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::alloca [...]
+    <Argument name="__lhs" type="_8710" location="f110:809" file="f110" line="809"/>
+    <Argument name="__rhs" type="_8710" location="f110:809" file="f110" line="809"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3306" name="-" returns="_1699" context="_1892" mangled="_ZN9__gnu_cxxmiIPKSsS2_St6vectorISsSaISsEEEENS_17__normal_iteratorIT_T1_E15difference_typeERKS9_RKNS6_IT0_S8_EE" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::difference_type __gnu_cxx::operator-<std::string const*, std::string const*, std::vector<std::string, std::allocator<std::string> > >(__gnu_cxx: [...]
+    <Argument name="__lhs" type="_8711" location="f110:809" file="f110" line="809"/>
+    <Argument name="__rhs" type="_8711" location="f110:809" file="f110" line="809"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3307" name="-" returns="_1699" context="_1892" mangled="_ZN9__gnu_cxxmiIPKcS2_SsEENS_17__normal_iteratorIT_T1_E15difference_typeERKS6_RKNS3_IT0_S5_EE" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::difference_type __gnu_cxx::operator-<char const*, char const*, std::string>(__gnu_cxx::__normal_iterator<char const*, std::string> const&, __gnu_cxx::__normal_iterator<char const*, std::string> const&)" location="f110 [...]
+    <Argument name="__lhs" type="_8002" location="f110:809" file="f110" line="809"/>
+    <Argument name="__rhs" type="_8002" location="f110:809" file="f110" line="809"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3308" name="-" returns="_1699" context="_1892" mangled="_ZN9__gnu_cxxmiIPcS1_SsEENS_17__normal_iteratorIT_T1_E15difference_typeERKS5_RKNS2_IT0_S4_EE" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::difference_type __gnu_cxx::operator-<char*, char*, std::string>(__gnu_cxx::__normal_iterator<char*, std::string> const&, __gnu_cxx::__normal_iterator<char*, std::string> const&)" location="f110:809" file="f110" line="809" en [...]
+    <Argument name="__lhs" type="_8712" location="f110:809" file="f110" line="809"/>
+    <Argument name="__rhs" type="_8712" location="f110:809" file="f110" line="809"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3309" name="-" returns="_1699" context="_1892" mangled="_ZN9__gnu_cxxmiIPKiS2_St6vectorIiSaIiEEEENS_17__normal_iteratorIT_T1_E15difference_typeERKS9_RKNS6_IT0_S8_EE" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::difference_type __gnu_cxx::operator-<int const*, int const*, std::vector<int, std::allocator<int> > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std:: [...]
+    <Argument name="__lhs" type="_8713" location="f110:809" file="f110" line="809"/>
+    <Argument name="__rhs" type="_8713" location="f110:809" file="f110" line="809"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3310" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPSsSt6vectorISsSaISsEEEEbRKNS_17__normal_iteratorIT_T0_EESA_" demangled="bool __gnu_cxx::operator!=<std::string*, std::vector<std::string, std::allocator<std::string> > >(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > const&, __gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, s [...]
+    <Argument name="__lhs" type="_8714" location="f110:750" file="f110" line="750"/>
+    <Argument name="__rhs" type="_8714" location="f110:750" file="f110" line="750"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3311" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPKwSbIwSt11char_traitsIwESaIwEEEEbRKNS_17__normal_iteratorIT_T0_EESC_" demangled="bool __gnu_cxx::operator!=<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&,  [...]
+    <Argument name="__lhs" type="_8709" location="f110:750" file="f110" line="750"/>
+    <Argument name="__rhs" type="_8709" location="f110:750" file="f110" line="750"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3312" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPwSbIwSt11char_traitsIwESaIwEEEEbRKNS_17__normal_iteratorIT_T0_EESB_" demangled="bool __gnu_cxx::operator!=<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&, __gnu_cxx::__ [...]
+    <Argument name="__lhs" type="_8710" location="f110:750" file="f110" line="750"/>
+    <Argument name="__rhs" type="_8710" location="f110:750" file="f110" line="750"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3313" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPcSsEEbRKNS_17__normal_iteratorIT_T0_EES7_" demangled="bool __gnu_cxx::operator!=<char*, std::string>(__gnu_cxx::__normal_iterator<char*, std::string> const&, __gnu_cxx::__normal_iterator<char*, std::string> const&)" location="f110:750" file="f110" line="750" endline="750" inline="1">
+    <Argument name="__lhs" type="_8712" location="f110:750" file="f110" line="750"/>
+    <Argument name="__rhs" type="_8712" location="f110:750" file="f110" line="750"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3314" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPKcSsEEbRKNS_17__normal_iteratorIT_T0_EES8_" demangled="bool __gnu_cxx::operator!=<char const*, std::string>(__gnu_cxx::__normal_iterator<char const*, std::string> const&, __gnu_cxx::__normal_iterator<char const*, std::string> const&)" location="f110:750" file="f110" line="750" endline="750" inline="1">
+    <Argument name="__lhs" type="_8002" location="f110:750" file="f110" line="750"/>
+    <Argument name="__rhs" type="_8002" location="f110:750" file="f110" line="750"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3315" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPSsS1_St6vectorISsSaISsEEEEbRKNS_17__normal_iteratorIT_T1_EERKNS5_IT0_S7_EE" demangled="bool __gnu_cxx::operator!=<std::string*, std::string*, std::vector<std::string, std::allocator<std::string> > >(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > const&, __gnu_cxx::__normal_iterator<std::string*,  [...]
+    <Argument name="__lhs" type="_8714" location="f110:744" file="f110" line="744"/>
+    <Argument name="__rhs" type="_8714" location="f110:744" file="f110" line="744"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3316" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPKwS2_SbIwSt11char_traitsIwESaIwEEEEbRKNS_17__normal_iteratorIT_T1_EERKNS7_IT0_S9_EE" demangled="bool __gnu_cxx::operator!=<wchar_t const*, wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wch [...]
+    <Argument name="__lhs" type="_8709" location="f110:744" file="f110" line="744"/>
+    <Argument name="__rhs" type="_8709" location="f110:744" file="f110" line="744"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3317" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPwS1_SbIwSt11char_traitsIwESaIwEEEEbRKNS_17__normal_iteratorIT_T1_EERKNS6_IT0_S8_EE" demangled="bool __gnu_cxx::operator!=<wchar_t*, wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >  [...]
+    <Argument name="__lhs" type="_8710" location="f110:744" file="f110" line="744"/>
+    <Argument name="__rhs" type="_8710" location="f110:744" file="f110" line="744"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3318" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPcS1_SsEEbRKNS_17__normal_iteratorIT_T1_EERKNS2_IT0_S4_EE" demangled="bool __gnu_cxx::operator!=<char*, char*, std::string>(__gnu_cxx::__normal_iterator<char*, std::string> const&, __gnu_cxx::__normal_iterator<char*, std::string> const&)" location="f110:744" file="f110" line="744" extern="1" inline="1">
+    <Argument name="__lhs" type="_8712" location="f110:744" file="f110" line="744"/>
+    <Argument name="__rhs" type="_8712" location="f110:744" file="f110" line="744"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3319" name="!=" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxneIPKcS2_SsEEbRKNS_17__normal_iteratorIT_T1_EERKNS3_IT0_S5_EE" demangled="bool __gnu_cxx::operator!=<char const*, char const*, std::string>(__gnu_cxx::__normal_iterator<char const*, std::string> const&, __gnu_cxx::__normal_iterator<char const*, std::string> const&)" location="f110:744" file="f110" line="744" extern="1" inline="1">
+    <Argument name="__lhs" type="_8002" location="f110:744" file="f110" line="744"/>
+    <Argument name="__rhs" type="_8002" location="f110:744" file="f110" line="744"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3320" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIPcSsEEbRKNS_17__normal_iteratorIT_T0_EES7_" demangled="bool __gnu_cxx::operator==<char*, std::string>(__gnu_cxx::__normal_iterator<char*, std::string> const&, __gnu_cxx::__normal_iterator<char*, std::string> const&)" location="f110:738" file="f110" line="738" endline="738" inline="1">
+    <Argument name="__lhs" type="_8712" location="f110:738" file="f110" line="738"/>
+    <Argument name="__rhs" type="_8712" location="f110:738" file="f110" line="738"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3321" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIPKwSbIwSt11char_traitsIwESaIwEEEEbRKNS_17__normal_iteratorIT_T0_EESC_" demangled="bool __gnu_cxx::operator==<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&,  [...]
+    <Argument name="__lhs" type="_8709" location="f110:738" file="f110" line="738"/>
+    <Argument name="__rhs" type="_8709" location="f110:738" file="f110" line="738"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3322" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_" demangled="bool __gnu_cxx::operator==<int const*, std::vector<int, std::allocator<int> > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > const&, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > const&)"  [...]
+    <Argument name="__lhs" type="_8713" location="f110:738" file="f110" line="738"/>
+    <Argument name="__rhs" type="_8713" location="f110:738" file="f110" line="738"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3323" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIPKcSsEEbRKNS_17__normal_iteratorIT_T0_EES8_" demangled="bool __gnu_cxx::operator==<char const*, std::string>(__gnu_cxx::__normal_iterator<char const*, std::string> const&, __gnu_cxx::__normal_iterator<char const*, std::string> const&)" location="f110:738" file="f110" line="738" endline="738" inline="1">
+    <Argument name="__lhs" type="_8002" location="f110:738" file="f110" line="738"/>
+    <Argument name="__rhs" type="_8002" location="f110:738" file="f110" line="738"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3324" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIPcS1_SsEEbRKNS_17__normal_iteratorIT_T1_EERKNS2_IT0_S4_EE" demangled="bool __gnu_cxx::operator==<char*, char*, std::string>(__gnu_cxx::__normal_iterator<char*, std::string> const&, __gnu_cxx::__normal_iterator<char*, std::string> const&)" location="f110:732" file="f110" line="732" extern="1" inline="1">
+    <Argument name="__lhs" type="_8712" location="f110:732" file="f110" line="732"/>
+    <Argument name="__rhs" type="_8712" location="f110:732" file="f110" line="732"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3325" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIPKwS2_SbIwSt11char_traitsIwESaIwEEEEbRKNS_17__normal_iteratorIT_T1_EERKNS7_IT0_S9_EE" demangled="bool __gnu_cxx::operator==<wchar_t const*, wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wch [...]
+    <Argument name="__lhs" type="_8709" location="f110:732" file="f110" line="732"/>
+    <Argument name="__rhs" type="_8709" location="f110:732" file="f110" line="732"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3326" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIPKiS2_St6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T1_EERKNS6_IT0_S8_EE" demangled="bool __gnu_cxx::operator==<int const*, int const*, std::vector<int, std::allocator<int> > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > const&, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int& [...]
+    <Argument name="__lhs" type="_8713" location="f110:732" file="f110" line="732"/>
+    <Argument name="__rhs" type="_8713" location="f110:732" file="f110" line="732"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3327" name="==" returns="_3949" context="_1892" mangled="_ZN9__gnu_cxxeqIPKcS2_SsEEbRKNS_17__normal_iteratorIT_T1_EERKNS3_IT0_S5_EE" demangled="bool __gnu_cxx::operator==<char const*, char const*, std::string>(__gnu_cxx::__normal_iterator<char const*, std::string> const&, __gnu_cxx::__normal_iterator<char const*, std::string> const&)" location="f110:732" file="f110" line="732" extern="1" inline="1">
+    <Argument name="__lhs" type="_8002" location="f110:732" file="f110" line="732"/>
+    <Argument name="__rhs" type="_8002" location="f110:732" file="f110" line="732"/>
+  </OperatorFunction>
+  <Class id="_3328" name="__normal_iterator<const char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1892" mangled="N9__gnu_cxx17__normal_iteratorIPKcSsEE" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>" location="f110:634" file="f110" line="634" artificial="1" size="32" align="32" members="_8715 _8716 _8717 _8718 _8719 _8720 _8721 _8722 _8723 _8724 _8725 _8726 _8727 _8728 _8729 _8730 _8731 _8732 _873 [...]
+  <Class id="_3329" name="__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*,std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1892" mangled="N9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEE" demangled="__gnu_cxx::__normal_iterator<st [...]
+  <Class id="_3330" name="__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1892" mangled="N9__gnu_cxx17__normal_iteratorIPcSsEE" demangled="__gnu_cxx::__normal_iterator<char*, std::string>" location="f110:634" file="f110" line="634" artificial="1" size="32" align="32" members="_8757 _8758 _8759 _8760 _8761 _8762 _8763 _8764 _8765 _8766 _8767 _8768 _8769 _8770 _8771 _8772 _8773 _8774 _8775 _8776 _8777 [...]
+  <Class id="_3331" name="__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1892" mangled="N9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEE" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f110:634" file="f110" line="634" artificial="1" size="32" alig [...]
+  <Class id="_3332" name="__normal_iterator<wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1892" mangled="N9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEE" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f110:634" file="f110" line="634" artificial="1" size="32" align="32" member [...]
+  <Class id="_3333" name="__normal_iterator<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*,std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1892" mangled="N9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEE" demangled="__gnu_cxx::__normal_iterato [...]
+  <Class id="_3334" name="__normal_iterator<int*,std::vector<int, std::allocator<int> > >" context="_1892" mangled="N9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEE" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >" location="f110:634" file="f110" line="634" artificial="1" size="32" align="32" members="_8841 _8842 _8843 _8844 _8845 _8846 _8847 _8848 _8849 _8850 _8851 _8852 _8853 _8854 _8855 _8856 _8857 _8858 _8 [...]
+  <Class id="_3335" name="__normal_iterator<const int*,std::vector<int, std::allocator<int> > >" context="_1892" mangled="N9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEE" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >" location="f110:634" file="f110" line="634" artificial="1" size="32" align="32" members="_8862 _8863 _8864 _8865 _8866 _8867 _8868 _8869 _8870 _8871 _8872 _8873 _8874 _8875 _8876 _8877 _ [...]
+  <Function id="_3336" name="div" returns="_1694" context="_1892" mangled="_ZN9__gnu_cxx3divExx" demangled="__gnu_cxx::div(long long, long long)" location="f113:179" file="f113" line="179" endline="179" inline="1">
+    <Argument name="__n" type="_1290" location="f113:179" file="f113" line="179"/>
+    <Argument name="__d" type="_1290" location="f113:179" file="f113" line="179"/>
+  </Function>
+  <Function id="_3337" name="abs" returns="_1290" context="_1892" mangled="_ZN9__gnu_cxx3absEx" demangled="__gnu_cxx::abs(long long)" location="f113:172" file="f113" line="172" endline="172" inline="1">
+    <Argument name="__x" type="_1290" location="f113:172" file="f113" line="172"/>
+  </Function>
+  <OperatorFunction id="_3338" name=">=" returns="_3949" context="_1895" mangled="_ZN5boostgeERKNS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEESC_" demangled="boost::operator>=(boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration> const&, b [...]
+    <Argument name="x" type="_8883" location="f130:138" file="f130" line="138"/>
+    <Argument name="y" type="_8883" location="f130:138" file="f130" line="138"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3339" name="<=" returns="_3949" context="_1895" mangled="_ZN5boostleERKNS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEESC_" demangled="boost::operator<=(boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration> const&, b [...]
+    <Argument name="x" type="_8883" location="f130:137" file="f130" line="137"/>
+    <Argument name="y" type="_8883" location="f130:137" file="f130" line="137"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3340" name=">" returns="_3949" context="_1895" mangled="_ZN5boostgtERKNS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEESC_" demangled="boost::operator>(boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration> const&, boo [...]
+    <Argument name="x" type="_8883" location="f130:136" file="f130" line="136"/>
+    <Argument name="y" type="_8883" location="f130:136" file="f130" line="136"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3341" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneERKNS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEESC_" demangled="boost::operator!=(boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration> const&, boost:: [...]
+    <Argument name="x" type="_8883" location="f130:152" file="f130" line="152"/>
+    <Argument name="y" type="_8883" location="f130:152" file="f130" line="152"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3342" name=">=" returns="_3949" context="_1895" mangled="_ZN5boostgeERKNS_9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEES7_" demangled="boost::operator>=(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&)" location="f130:138" file="f130" line="138" extern="1" inline="1">
+    <Argument name="x" type="_8884" location="f130:138" file="f130" line="138"/>
+    <Argument name="y" type="_8884" location="f130:138" file="f130" line="138"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3343" name="<=" returns="_3949" context="_1895" mangled="_ZN5boostleERKNS_9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEES7_" demangled="boost::operator<=(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&)" location="f130:137" file="f130" line="137" extern="1" inline="1">
+    <Argument name="x" type="_8884" location="f130:137" file="f130" line="137"/>
+    <Argument name="y" type="_8884" location="f130:137" file="f130" line="137"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3344" name=">" returns="_3949" context="_1895" mangled="_ZN5boostgtERKNS_9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEES7_" demangled="boost::operator>(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&)" location="f130:136" file="f130" line="136" extern="1" inline="1">
+    <Argument name="x" type="_8884" location="f130:136" file="f130" line="136"/>
+    <Argument name="y" type="_8884" location="f130:136" file="f130" line="136"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3345" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneERKNS_9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEES7_" demangled="boost::operator!=(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&)" location="f130:152" file="f130" line="152" extern="1" inline="1">
+    <Argument name="x" type="_8884" location="f130:152" file="f130" line="152"/>
+    <Argument name="y" type="_8884" location="f130:152" file="f130" line="152"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3346" name=">=" returns="_3949" context="_1895" mangled="_ZN5boostgeERKNS_10posix_time5ptimeES3_" demangled="boost::operator>=(boost::posix_time::ptime const&, boost::posix_time::ptime const&)" location="f130:138" file="f130" line="138" endline="138" inline="1">
+    <Argument name="x" type="_8885" location="f130:138" file="f130" line="138"/>
+    <Argument name="y" type="_8885" location="f130:138" file="f130" line="138"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3347" name="<=" returns="_3949" context="_1895" mangled="_ZN5boostleERKNS_10posix_time5ptimeES3_" demangled="boost::operator<=(boost::posix_time::ptime const&, boost::posix_time::ptime const&)" location="f130:137" file="f130" line="137" extern="1" inline="1">
+    <Argument name="x" type="_8885" location="f130:137" file="f130" line="137"/>
+    <Argument name="y" type="_8885" location="f130:137" file="f130" line="137"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3348" name=">" returns="_3949" context="_1895" mangled="_ZN5boostgtERKNS_10posix_time5ptimeES3_" demangled="boost::operator>(boost::posix_time::ptime const&, boost::posix_time::ptime const&)" location="f130:136" file="f130" line="136" extern="1" inline="1">
+    <Argument name="x" type="_8885" location="f130:136" file="f130" line="136"/>
+    <Argument name="y" type="_8885" location="f130:136" file="f130" line="136"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3349" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneERKNS_10posix_time5ptimeES3_" demangled="boost::operator!=(boost::posix_time::ptime const&, boost::posix_time::ptime const&)" location="f130:152" file="f130" line="152" extern="1" inline="1">
+    <Argument name="x" type="_8885" location="f130:152" file="f130" line="152"/>
+    <Argument name="y" type="_8885" location="f130:152" file="f130" line="152"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3350" name=">=" returns="_3949" context="_1895" mangled="_ZN5boostgeERKNS_10posix_time13time_durationES3_" demangled="boost::operator>=(boost::posix_time::time_duration const&, boost::posix_time::time_duration const&)" location="f130:138" file="f130" line="138" endline="138" inline="1">
+    <Argument name="x" type="_8886" location="f130:138" file="f130" line="138"/>
+    <Argument name="y" type="_8886" location="f130:138" file="f130" line="138"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3351" name="<=" returns="_3949" context="_1895" mangled="_ZN5boostleERKNS_10posix_time13time_durationES3_" demangled="boost::operator<=(boost::posix_time::time_duration const&, boost::posix_time::time_duration const&)" location="f130:137" file="f130" line="137" extern="1" inline="1">
+    <Argument name="x" type="_8886" location="f130:137" file="f130" line="137"/>
+    <Argument name="y" type="_8886" location="f130:137" file="f130" line="137"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3352" name=">" returns="_3949" context="_1895" mangled="_ZN5boostgtERKNS_10posix_time13time_durationES3_" demangled="boost::operator>(boost::posix_time::time_duration const&, boost::posix_time::time_duration const&)" location="f130:136" file="f130" line="136" extern="1" inline="1">
+    <Argument name="x" type="_8886" location="f130:136" file="f130" line="136"/>
+    <Argument name="y" type="_8886" location="f130:136" file="f130" line="136"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3353" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneERKNS_10posix_time13time_durationES3_" demangled="boost::operator!=(boost::posix_time::time_duration const&, boost::posix_time::time_duration const&)" location="f130:152" file="f130" line="152" extern="1" inline="1">
+    <Argument name="x" type="_8886" location="f130:152" file="f130" line="152"/>
+    <Argument name="y" type="_8886" location="f130:152" file="f130" line="152"/>
+  </OperatorFunction>
+  <Class id="_3354" name="tokenizer<boost::offset_separator,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEE" demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator&l [...]
+  <Class id="_3355" name="tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_Sa [...]
+  <Class id="_3356" name="tokenizer<boost::char_separator<char, std::char_traits<char> >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEE" demangled="boost::tokenize [...]
+  <Class id="_3357" name="token_iterator_generator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost24token_iterator_generatorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx1 [...]
+  <Class id="_3358" name="token_iterator_generator<boost::offset_separator,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost24token_iterator_generatorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEE" demangled="boost::token_iterator_generator<boost::of [...]
+  <Class id="_3359" name="token_iterator_generator<boost::char_separator<char, std::char_traits<char> >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost24token_iterator_generatorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEES [...]
+  <Class id="_3360" name="token_iterator_generator<boost::escaped_list_separator<char, std::char_traits<char> >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost24token_iterator_generatorINS_22escaped_list_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_i [...]
+  <Class id="_3361" name="token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIP [...]
+    <Base type="_3468" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3362" name="token_iterator<boost::offset_separator,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEE" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__n [...]
+    <Base type="_3466" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3363" name="token_iterator<boost::char_separator<char, std::char_traits<char> >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEE" demangled="boos [...]
+    <Base type="_3467" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3364" name="token_iterator<boost::escaped_list_separator<char, std::char_traits<char> >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" incomplete="1" mangled="N5boost14token_iteratorINS_22escaped_list_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iterat [...]
+  <Class id="_3365" name="char_delimiters_separator<char,std::char_traits<char> >" context="_1895" incomplete="1" mangled="N5boost25char_delimiters_separatorIcSt11char_traitsIcEEE" demangled="boost::char_delimiters_separator<char, std::char_traits<char> >" location="f15:529" file="f15" line="529" artificial="1" align="8"/>
+  <Class id="_3366" name="char_separator<wchar_t,std::char_traits<wchar_t> >" context="_1895" mangled="N5boost14char_separatorIwSt11char_traitsIwEEE" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >" location="f15:387" file="f15" line="387" artificial="1" size="160" align="32" members="_9018 _9019 _9020 _9021 _9022 _9023 _9024 _9025 _9026 _9027 _9028 _9029 _9030 _9031 " bases=""/>
+  <Class id="_3367" name="char_separator<char,std::char_traits<char> >" context="_1895" mangled="N5boost14char_separatorIcSt11char_traitsIcEEE" demangled="boost::char_separator<char, std::char_traits<char> >" location="f15:387" file="f15" line="387" artificial="1" size="160" align="32" members="_9032 _9033 _9034 _9035 _9036 _9037 _9038 _9039 _9040 _9041 _9042 _9043 _9044 _9045 " bases=""/>
+  <Enumeration id="_3368" name="empty_token_policy" context="_1895" location="f15:376" file="f15" line="376" artificial="1" size="32" align="32">
+    <EnumValue name="drop_empty_tokens" init="0"/>
+    <EnumValue name="keep_empty_tokens" init="1"/>
+  </Enumeration>
+  <Class id="_3369" name="offset_separator" context="_1895" mangled="N5boost16offset_separatorE" demangled="boost::offset_separator" location="f15:295" file="f15" line="295" artificial="1" size="160" align="32" members="_9046 _9047 _9048 _9049 _9050 _9051 _9053 _9054 " bases=""/>
+  <Class id="_3370" name="escaped_list_separator<char,std::char_traits<char> >" context="_1895" incomplete="1" mangled="N5boost22escaped_list_separatorIcSt11char_traitsIcEEE" demangled="boost::escaped_list_separator<char, std::char_traits<char> >" location="f15:90" file="f15" line="90" artificial="1" align="8"/>
+  <Struct id="_3371" name="escaped_list_error" context="_1895" mangled="N5boost18escaped_list_errorE" demangled="boost::escaped_list_error" location="f15:76" file="f15" line="76" artificial="1" size="64" align="32" members="_9056 _9057 _9058 " bases="_2043 ">
+    <Base type="_2043" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <OperatorFunction id="_3372" name=">=" returns="_3949" context="_1895" mangled="_ZN5boostgeERKNS_9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEES9_" demangled="boost::operator>=(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > const&, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duratio [...]
+    <Argument name="x" type="_9059" location="f130:138" file="f130" line="138"/>
+    <Argument name="y" type="_9059" location="f130:138" file="f130" line="138"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3373" name="<=" returns="_3949" context="_1895" mangled="_ZN5boostleERKNS_9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEES9_" demangled="boost::operator<=(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > const&, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duratio [...]
+    <Argument name="x" type="_9059" location="f130:137" file="f130" line="137"/>
+    <Argument name="y" type="_9059" location="f130:137" file="f130" line="137"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3374" name=">" returns="_3949" context="_1895" mangled="_ZN5boostgtERKNS_9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEES9_" demangled="boost::operator>(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > const&, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_ [...]
+    <Argument name="x" type="_9059" location="f130:136" file="f130" line="136"/>
+    <Argument name="y" type="_9059" location="f130:136" file="f130" line="136"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3375" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneERKNS_9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEES9_" demangled="boost::operator!=(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > const&, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_trai [...]
+    <Argument name="x" type="_9059" location="f130:152" file="f130" line="152"/>
+    <Argument name="y" type="_9059" location="f130:152" file="f130" line="152"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3376" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESE_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator&l [...]
+    <Argument name="g" type="_3331" location="f17:666" file="f17" line="666"/>
+    <Argument name="f" type="_9060" location="f17:666" file="f17" line="666"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3377" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneIN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESD_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar [...]
+    <Argument name="g" type="_3332" location="f17:666" file="f17" line="666"/>
+    <Argument name="f" type="_9060" location="f17:666" file="f17" line="666"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3378" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneIN9__gnu_cxx17__normal_iteratorIPcSsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeES9_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<char*, std::string> >::value>::value, bool>::type boost::operator!=<__gnu_cxx::__normal_iterator<char*,  [...]
+    <Argument name="g" type="_3330" location="f17:666" file="f17" line="666"/>
+    <Argument name="f" type="_9060" location="f17:666" file="f17" line="666"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3379" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneISt17_Rb_tree_iteratorISt4pairIKSstEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESA_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > >::value>::value, bool>::type boost::operator!=<std::_Rb_tree [...]
+    <Argument name="g" type="_2030" location="f17:666" file="f17" line="666"/>
+    <Argument name="f" type="_9060" location="f17:666" file="f17" line="666"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3380" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneIN9__gnu_cxx17__normal_iteratorIPKcSsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESA_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<char const*, std::string> >::value>::value, bool>::type boost::operator!=<__gnu_cxx::__normal_iterator< [...]
+    <Argument name="g" type="_3328" location="f17:666" file="f17" line="666"/>
+    <Argument name="f" type="_9060" location="f17:666" file="f17" line="666"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3381" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneINS_10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESC_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::value>::valu [...]
+    <Argument name="g" type="_3830" location="f17:666" file="f17" line="666"/>
+    <Argument name="f" type="_9060" location="f17:666" file="f17" line="666"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3382" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESD_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string& [...]
+    <Argument name="g" type="_3362" location="f17:666" file="f17" line="666"/>
+    <Argument name="f" type="_9060" location="f17:666" file="f17" line="666"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3383" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESG_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::token_iterator<boost::char_separator<char, std::char_traits<char> &gt [...]
+    <Argument name="g" type="_3363" location="f17:666" file="f17" line="666"/>
+    <Argument name="f" type="_9060" location="f17:666" file="f17" line="666"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3384" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESE_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator&l [...]
+    <Argument name="f" type="_9060" location="f17:657" file="f17" line="657"/>
+    <Argument name="g" type="_3331" location="f17:657" file="f17" line="657"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3385" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneIN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESD_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar [...]
+    <Argument name="f" type="_9060" location="f17:657" file="f17" line="657"/>
+    <Argument name="g" type="_3332" location="f17:657" file="f17" line="657"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3386" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneIN9__gnu_cxx17__normal_iteratorIPcSsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseES9_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<char*, std::string> >::value>::value, bool>::type boost::operator!=<__gnu_cxx::__normal_iterator<char*,  [...]
+    <Argument name="f" type="_9060" location="f17:657" file="f17" line="657"/>
+    <Argument name="g" type="_3330" location="f17:657" file="f17" line="657"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3387" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneISt17_Rb_tree_iteratorISt4pairIKSstEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESA_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > >::value>::value, bool>::type boost::operator!=<std::_Rb_tree [...]
+    <Argument name="f" type="_9060" location="f17:657" file="f17" line="657"/>
+    <Argument name="g" type="_2030" location="f17:657" file="f17" line="657"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3388" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneIN9__gnu_cxx17__normal_iteratorIPKcSsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESA_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<char const*, std::string> >::value>::value, bool>::type boost::operator!=<__gnu_cxx::__normal_iterator< [...]
+    <Argument name="f" type="_9060" location="f17:657" file="f17" line="657"/>
+    <Argument name="g" type="_3328" location="f17:657" file="f17" line="657"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3389" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneINS_10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESC_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::value>::valu [...]
+    <Argument name="f" type="_9060" location="f17:657" file="f17" line="657"/>
+    <Argument name="g" type="_3830" location="f17:657" file="f17" line="657"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3390" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESD_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string& [...]
+    <Argument name="f" type="_9060" location="f17:657" file="f17" line="657"/>
+    <Argument name="g" type="_3362" location="f17:657" file="f17" line="657"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3391" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESG_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::token_iterator<boost::char_separator<char, std::char_traits<char> &gt [...]
+    <Argument name="f" type="_9060" location="f17:657" file="f17" line="657"/>
+    <Argument name="g" type="_3363" location="f17:657" file="f17" line="657"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3392" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqIN9__gnu_cxx17__normal_iteratorIPcSsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeES9_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<char*, std::string> >::value>::value, bool>::type boost::operator==<__gnu_cxx::__normal_iterator<char*,  [...]
+    <Argument name="g" type="_3330" location="f17:648" file="f17" line="648"/>
+    <Argument name="f" type="_9060" location="f17:648" file="f17" line="648"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3393" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqINS_9gregorian4dateEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeES7_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::gregorian::date>::value>::value, bool>::type boost::operator==<boost::gregorian::date>(boost::gregorian::date, boost::function_base const&)" locat [...]
+    <Argument name="g" type="_9061" location="f17:648" file="f17" line="648"/>
+    <Argument name="f" type="_9060" location="f17:648" file="f17" line="648"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3394" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqINS_9date_time14microsec_clockINS_10posix_time5ptimeEE13TZ_FOR_CREATEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESB_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::date_time::microsec_clock<boost::posix_time::ptime>::TZ_FOR_CREATE>::value>::value, bool>::type boos [...]
+    <Argument name="g" type="_9062" location="f17:648" file="f17" line="648"/>
+    <Argument name="f" type="_9060" location="f17:648" file="f17" line="648"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3395" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqINS_9gregorian8greg_dayEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeES7_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::gregorian::greg_day>::value>::value, bool>::type boost::operator==<boost::gregorian::greg_day>(boost::gregorian::greg_day, boost::function_base co [...]
+    <Argument name="g" type="_9063" location="f17:648" file="f17" line="648"/>
+    <Argument name="f" type="_9060" location="f17:648" file="f17" line="648"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3396" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESE_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator&l [...]
+    <Argument name="g" type="_3331" location="f17:648" file="f17" line="648"/>
+    <Argument name="f" type="_9060" location="f17:648" file="f17" line="648"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3397" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqINS_18empty_token_policyEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeES6_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::empty_token_policy>::value>::value, bool>::type boost::operator==<boost::empty_token_policy>(boost::empty_token_policy, boost::function_base cons [...]
+    <Argument name="g" type="_3368" location="f17:648" file="f17" line="648"/>
+    <Argument name="f" type="_9060" location="f17:648" file="f17" line="648"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3398" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqIN9__gnu_cxx17__normal_iteratorIPKcSsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeESA_RKNS_13function_baseE" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<char const*, std::string> >::value>::value, bool>::type boost::operator==<__gnu_cxx::__normal_iterator< [...]
+    <Argument name="g" type="_3328" location="f17:648" file="f17" line="648"/>
+    <Argument name="f" type="_9060" location="f17:648" file="f17" line="648"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3399" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqIN9__gnu_cxx17__normal_iteratorIPcSsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseES9_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<char*, std::string> >::value>::value, bool>::type boost::operator==<__gnu_cxx::__normal_iterator<char*,  [...]
+    <Argument name="f" type="_9060" location="f17:639" file="f17" line="639"/>
+    <Argument name="g" type="_3330" location="f17:639" file="f17" line="639"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3400" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqINS_9gregorian4dateEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseES7_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::gregorian::date>::value>::value, bool>::type boost::operator==<boost::gregorian::date>(boost::function_base const&, boost::gregorian::date)" locat [...]
+    <Argument name="f" type="_9060" location="f17:639" file="f17" line="639"/>
+    <Argument name="g" type="_9061" location="f17:639" file="f17" line="639"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3401" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqINS_9date_time14microsec_clockINS_10posix_time5ptimeEE13TZ_FOR_CREATEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESB_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::date_time::microsec_clock<boost::posix_time::ptime>::TZ_FOR_CREATE>::value>::value, bool>::type boos [...]
+    <Argument name="f" type="_9060" location="f17:639" file="f17" line="639"/>
+    <Argument name="g" type="_9062" location="f17:639" file="f17" line="639"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3402" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqINS_9gregorian8greg_dayEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseES7_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::gregorian::greg_day>::value>::value, bool>::type boost::operator==<boost::gregorian::greg_day>(boost::function_base const&, boost::gregorian:: [...]
+    <Argument name="f" type="_9060" location="f17:639" file="f17" line="639"/>
+    <Argument name="g" type="_9063" location="f17:639" file="f17" line="639"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3403" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESE_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator&l [...]
+    <Argument name="f" type="_9060" location="f17:639" file="f17" line="639"/>
+    <Argument name="g" type="_3331" location="f17:639" file="f17" line="639"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3404" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqINS_18empty_token_policyEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseES6_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::empty_token_policy>::value>::value, bool>::type boost::operator==<boost::empty_token_policy>(boost::function_base const&, boost::empty_token_ [...]
+    <Argument name="f" type="_9060" location="f17:639" file="f17" line="639"/>
+    <Argument name="g" type="_3368" location="f17:639" file="f17" line="639"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3405" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqIN9__gnu_cxx17__normal_iteratorIPKcSsEEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseESA_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<__gnu_cxx::__normal_iterator<char const*, std::string> >::value>::value, bool>::type boost::operator==<__gnu_cxx::__normal_iterator< [...]
+    <Argument name="f" type="_9060" location="f17:639" file="f17" line="639"/>
+    <Argument name="g" type="_3328" location="f17:639" file="f17" line="639"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3406" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqINS_9date_time14ymd_order_specEEENS_11enable_if_cIXsrNS_11type_traits7ice_notIXsrNS_11is_integralIT_EE5valueEEE5valueEbE4typeERKNS_13function_baseES7_" demangled="boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<boost::date_time::ymd_order_spec>::value>::value, bool>::type boost::operator==<boost::date_time::ymd_order_spec>(boost::function_base const&, [...]
+    <Argument name="f" type="_9060" location="f17:639" file="f17" line="639"/>
+    <Argument name="g" type="_9064" location="f17:639" file="f17" line="639"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3407" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneEPNS_6detail8function18useless_clear_typeERKNS_13function_baseE" demangled="boost::operator!=(boost::detail::function::useless_clear_type*, boost::function_base const&)" location="f17:596" file="f17" line="596" endline="598" inline="1">
+    <Argument type="_9065" location="f17:596" file="f17" line="596"/>
+    <Argument name="f" type="_9060" location="f17:596" file="f17" line="596"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3408" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqEPNS_6detail8function18useless_clear_typeERKNS_13function_baseE" demangled="boost::operator==(boost::detail::function::useless_clear_type*, boost::function_base const&)" location="f17:590" file="f17" line="590" endline="592" inline="1">
+    <Argument type="_9065" location="f17:590" file="f17" line="590"/>
+    <Argument name="f" type="_9060" location="f17:590" file="f17" line="590"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3409" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneERKNS_13function_baseEPNS_6detail8function18useless_clear_typeE" demangled="boost::operator!=(boost::function_base const&, boost::detail::function::useless_clear_type*)" location="f17:584" file="f17" line="584" endline="586" inline="1">
+    <Argument name="f" type="_9060" location="f17:584" file="f17" line="584"/>
+    <Argument type="_9065" location="f17:584" file="f17" line="584"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3410" name="==" returns="_3949" context="_1895" mangled="_ZN5boosteqERKNS_13function_baseEPNS_6detail8function18useless_clear_typeE" demangled="boost::operator==(boost::function_base const&, boost::detail::function::useless_clear_type*)" location="f17:578" file="f17" line="578" endline="580" inline="1">
+    <Argument name="f" type="_9060" location="f17:578" file="f17" line="578"/>
+    <Argument type="_9065" location="f17:578" file="f17" line="578"/>
+  </OperatorFunction>
+  <Class id="_3411" name="bad_function_call" context="_1895" mangled="N5boost17bad_function_callE" demangled="boost::bad_function_call" location="f17:570" file="f17" line="570" artificial="1" size="64" align="32" members="_9066 _9067 _9068 " bases="_2043 ">
+    <Base type="_2043" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3412" name="function_base" context="_1895" mangled="N5boost13function_baseE" demangled="boost::function_base" location="f17:474" file="f17" line="474" artificial="1" size="128" align="32" members="_9069 _9070 _9071 _9072 _9073 _9074 " bases=""/>
+  <Struct id="_3413" name="alignment_of<boost::detail::function::function_buffer>" context="_1895" mangled="N5boost12alignment_ofINS_6detail8function15function_bufferEEE" demangled="boost::alignment_of<boost::detail::function::function_buffer>" location="f133:61" file="f133" line="61" artificial="1" size="8" align="8" members="_9075 _9076 " bases="_3801 ">
+    <Base type="_3801" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3414" name="alignment_of<const volatile void>" context="_1895" mangled="N5boost12alignment_ofIVKvEE" demangled="boost::alignment_of<void volatile const>" location="f133:85" file="f133" line="85" artificial="1" size="8" align="8" members="_9077 _9078 " bases="_3802 ">
+    <Base type="_3802" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3415" name="alignment_of<volatile void>" context="_1895" mangled="N5boost12alignment_ofIVvEE" demangled="boost::alignment_of<void volatile>" location="f133:84" file="f133" line="84" artificial="1" size="8" align="8" members="_9079 _9080 " bases="_3802 ">
+    <Base type="_3802" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3416" name="alignment_of<const void>" context="_1895" mangled="N5boost12alignment_ofIKvEE" demangled="boost::alignment_of<void const>" location="f133:83" file="f133" line="83" artificial="1" size="8" align="8" members="_9081 _9082 " bases="_3802 ">
+    <Base type="_3802" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3417" name="alignment_of<void>" context="_1895" mangled="N5boost12alignment_ofIvEE" demangled="boost::alignment_of<void>" location="f133:81" file="f133" line="81" artificial="1" size="8" align="8" members="_9083 _9084 " bases="_3802 ">
+    <Base type="_3802" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Function id="_3418" name="lexical_cast" returns="_1202" context="_1895" mangled="_ZN5boost12lexical_castIsSsEET_RKT0_" demangled="short boost::lexical_cast<short, std::string>(std::string const&)" location="f2:1061" file="f2" line="1061" endline="1073" inline="1">
+    <Argument name="arg" type="_4948" location="f2:1061" file="f2" line="1061"/>
+  </Function>
+  <Function id="_3419" name="lexical_cast" returns="_1574" context="_1895" mangled="_ZN5boost12lexical_castIxSsEET_RKT0_" demangled="long long boost::lexical_cast<long long, std::string>(std::string const&)" location="f2:1061" file="f2" line="1061" endline="1073" inline="1">
+    <Argument name="arg" type="_4948" location="f2:1061" file="f2" line="1061"/>
+  </Function>
+  <Function id="_3420" name="lexical_cast" returns="_503" context="_1895" mangled="_ZN5boost12lexical_castIiSsEET_RKT0_" demangled="int boost::lexical_cast<int, std::string>(std::string const&)" location="f2:1061" file="f2" line="1061" endline="1073" inline="1">
+    <Argument name="arg" type="_4948" location="f2:1061" file="f2" line="1061"/>
+  </Function>
+  <Function id="_3421" name="lexical_cast" returns="_1199" context="_1895" mangled="_ZN5boost12lexical_castItSsEET_RKT0_" demangled="unsigned short boost::lexical_cast<unsigned short, std::string>(std::string const&)" location="f2:1061" file="f2" line="1061" endline="1073" inline="1">
+    <Argument name="arg" type="_4948" location="f2:1061" file="f2" line="1061"/>
+  </Function>
+  <Class id="_3422" name="bad_lexical_cast" context="_1895" mangled="N5boost16bad_lexical_castE" demangled="boost::bad_lexical_cast" location="f2:48" file="f2" line="48" artificial="1" size="96" align="32" members="_9085 _9086 _9087 _9088 _9089 _9090 _9091 _9092 _9093 " bases="_2059 ">
+    <Base type="_2059" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3423" name="integer_traits<int>" context="_1895" mangled="N5boost14integer_traitsIiEE" demangled="boost::integer_traits<int>" location="f134:138" file="f134" line="138" artificial="1" size="8" align="8" members="_9094 _9095 " bases="_2178 _9096 ">
+    <Base type="_2178" access="public" virtual="0" offset="0"/>
+    <Base type="_9096" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3424" name="integer_traits<long long unsigned int>" context="_1895" mangled="N5boost14integer_traitsIyEE" demangled="boost::integer_traits<unsigned long long>" location="f134:171" file="f134" line="171" artificial="1" size="8" align="8" members="_9097 _9098 " bases="_2184 _9099 ">
+    <Base type="_2184" access="public" virtual="0" offset="0"/>
+    <Base type="_9099" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3425" name="integer_traits<long long int>" context="_1895" mangled="N5boost14integer_traitsIxEE" demangled="boost::integer_traits<long long>" location="f134:165" file="f134" line="165" artificial="1" size="8" align="8" members="_9100 _9101 " bases="_2177 _9102 ">
+    <Base type="_2177" access="public" virtual="0" offset="0"/>
+    <Base type="_9102" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3426" name="integer_traits<long unsigned int>" context="_1895" mangled="N5boost14integer_traitsImEE" demangled="boost::integer_traits<unsigned long>" location="f134:156" file="f134" line="156" artificial="1" size="8" align="8" members="_9103 _9104 " bases="_2185 _9105 ">
+    <Base type="_2185" access="public" virtual="0" offset="0"/>
+    <Base type="_9105" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3427" name="integer_traits<long int>" context="_1895" mangled="N5boost14integer_traitsIlEE" demangled="boost::integer_traits<long>" location="f134:150" file="f134" line="150" artificial="1" size="8" align="8" members="_9106 _9107 " bases="_2180 _9108 ">
+    <Base type="_2180" access="public" virtual="0" offset="0"/>
+    <Base type="_9108" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3428" name="integer_traits<unsigned int>" context="_1895" mangled="N5boost14integer_traitsIjEE" demangled="boost::integer_traits<unsigned>" location="f134:144" file="f134" line="144" artificial="1" size="8" align="8" members="_9109 _9110 " bases="_2186 _9111 ">
+    <Base type="_2186" access="public" virtual="0" offset="0"/>
+    <Base type="_9111" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3429" name="integer_traits<short unsigned int>" context="_1895" mangled="N5boost14integer_traitsItEE" demangled="boost::integer_traits<unsigned short>" location="f134:132" file="f134" line="132" artificial="1" size="8" align="8" members="_9112 _9113 " bases="_2179 _9114 ">
+    <Base type="_2179" access="public" virtual="0" offset="0"/>
+    <Base type="_9114" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3430" name="integer_traits<short int>" context="_1895" mangled="N5boost14integer_traitsIsEE" demangled="boost::integer_traits<short>" location="f134:126" file="f134" line="126" artificial="1" size="8" align="8" members="_9115 _9116 " bases="_2176 _9117 ">
+    <Base type="_2176" access="public" virtual="0" offset="0"/>
+    <Base type="_9117" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3431" name="integer_traits<wchar_t>" context="_1895" mangled="N5boost14integer_traitsIwEE" demangled="boost::integer_traits<wchar_t>" location="f134:119" file="f134" line="119" artificial="1" size="8" align="8" members="_9118 _9119 " bases="_2187 _9120 ">
+    <Base type="_2187" access="public" virtual="0" offset="0"/>
+    <Base type="_9120" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3432" name="integer_traits<unsigned char>" context="_1895" mangled="N5boost14integer_traitsIhEE" demangled="boost::integer_traits<unsigned char>" location="f134:85" file="f134" line="85" artificial="1" size="8" align="8" members="_9121 _9122 " bases="_2188 _9123 ">
+    <Base type="_2188" access="public" virtual="0" offset="0"/>
+    <Base type="_9123" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3433" name="integer_traits<signed char>" context="_1895" mangled="N5boost14integer_traitsIaEE" demangled="boost::integer_traits<signed char>" location="f134:79" file="f134" line="79" artificial="1" size="8" align="8" members="_9124 _9125 " bases="_2189 _9126 ">
+    <Base type="_2189" access="public" virtual="0" offset="0"/>
+    <Base type="_9126" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3434" name="integer_traits<char>" context="_1895" mangled="N5boost14integer_traitsIcEE" demangled="boost::integer_traits<char>" location="f134:73" file="f134" line="73" artificial="1" size="8" align="8" members="_9127 _9128 " bases="_2190 _9129 ">
+    <Base type="_2190" access="public" virtual="0" offset="0"/>
+    <Base type="_9129" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_3435" name="integer_traits<bool>" context="_1895" mangled="N5boost14integer_traitsIbEE" demangled="boost::integer_traits<bool>" location="f134:67" file="f134" line="67" artificial="1" size="8" align="8" members="_9130 _9131 " bases="_2191 _9132 ">
+    <Base type="_2191" access="public" virtual="0" offset="0"/>
+    <Base type="_9132" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Struct id="_3436" name="call_traits<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost11call_traitsISsEE" demangled="boost::call_traits<std::string>" location="f135:68" file="f135" line="68" artificial="1" size="8" align="8" members="_9133 _9134 _9135 _9136 _9137 _9138 " bases=""/>
+  <Struct id="_3437" name="range_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost11range_valueISsEE" demangled="boost::range_value<std::string>" location="f136:31" file="f136" line="31" artificial="1" size="8" align="8" members="_9139 _9140 " bases="_3816 ">
+    <Base type="_3816" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3438" name="UnsignedInteger<long long unsigned int>" context="_1895" mangled="N5boost15UnsignedIntegerIyEE" demangled="boost::UnsignedInteger<unsigned long long>" location="f137:121" file="f137" line="121" artificial="1" size="8" align="8" members="_9141 _9142 " bases=""/>
+  <Struct id="_3439" name="UnsignedInteger<long unsigned int>" context="_1895" mangled="N5boost15UnsignedIntegerImEE" demangled="boost::UnsignedInteger<unsigned long>" location="f137:119" file="f137" line="119" artificial="1" size="8" align="8" members="_9143 _9144 " bases=""/>
+  <Struct id="_3440" name="UnsignedInteger<unsigned int>" context="_1895" mangled="N5boost15UnsignedIntegerIjEE" demangled="boost::UnsignedInteger<unsigned>" location="f137:118" file="f137" line="118" artificial="1" size="8" align="8" members="_9145 _9146 " bases=""/>
+  <Struct id="_3441" name="UnsignedInteger<short unsigned int>" context="_1895" mangled="N5boost15UnsignedIntegerItEE" demangled="boost::UnsignedInteger<unsigned short>" location="f137:117" file="f137" line="117" artificial="1" size="8" align="8" members="_9147 _9148 " bases=""/>
+  <Struct id="_3442" name="UnsignedInteger<unsigned char>" context="_1895" mangled="N5boost15UnsignedIntegerIhEE" demangled="boost::UnsignedInteger<unsigned char>" location="f137:116" file="f137" line="116" artificial="1" size="8" align="8" members="_9149 _9150 " bases=""/>
+  <Struct id="_3443" name="SignedInteger<long long int>" context="_1895" mangled="N5boost13SignedIntegerIxEE" demangled="boost::SignedInteger<long long>" location="f137:101" file="f137" line="101" artificial="1" size="8" align="8" members="_9151 _9152 " bases=""/>
+  <Struct id="_3444" name="SignedInteger<long int>" context="_1895" mangled="N5boost13SignedIntegerIlEE" demangled="boost::SignedInteger<long>" location="f137:99" file="f137" line="99" artificial="1" size="8" align="8" members="_9153 _9154 " bases=""/>
+  <Struct id="_3445" name="SignedInteger<int>" context="_1895" mangled="N5boost13SignedIntegerIiEE" demangled="boost::SignedInteger<int>" location="f137:98" file="f137" line="98" artificial="1" size="8" align="8" members="_9155 _9156 " bases=""/>
+  <Struct id="_3446" name="SignedInteger<short int>" context="_1895" mangled="N5boost13SignedIntegerIsEE" demangled="boost::SignedInteger<short>" location="f137:97" file="f137" line="97" artificial="1" size="8" align="8" members="_9157 _9158 " bases=""/>
+  <Struct id="_3447" name="SignedInteger<signed char>" context="_1895" mangled="N5boost13SignedIntegerIaEE" demangled="boost::SignedInteger<signed char>" location="f137:96" file="f137" line="96" artificial="1" size="8" align="8" members="_9159 _9160 " bases=""/>
+  <Struct id="_3448" name="Integer<long unsigned int>" context="_1895" mangled="N5boost7IntegerImEE" demangled="boost::Integer<unsigned long>" location="f137:83" file="f137" line="83" artificial="1" size="8" align="8" members="_9161 _9162 " bases=""/>
+  <Struct id="_3449" name="Integer<long int>" context="_1895" mangled="N5boost7IntegerIlEE" demangled="boost::Integer<long>" location="f137:82" file="f137" line="82" artificial="1" size="8" align="8" members="_9163 _9164 " bases=""/>
+  <Struct id="_3450" name="Integer<unsigned int>" context="_1895" mangled="N5boost7IntegerIjEE" demangled="boost::Integer<unsigned>" location="f137:81" file="f137" line="81" artificial="1" size="8" align="8" members="_9165 _9166 " bases=""/>
+  <Struct id="_3451" name="Integer<int>" context="_1895" mangled="N5boost7IntegerIiEE" demangled="boost::Integer<int>" location="f137:80" file="f137" line="80" artificial="1" size="8" align="8" members="_9167 _9168 " bases=""/>
+  <Struct id="_3452" name="Integer<short unsigned int>" context="_1895" mangled="N5boost7IntegerItEE" demangled="boost::Integer<unsigned short>" location="f137:79" file="f137" line="79" artificial="1" size="8" align="8" members="_9169 _9170 " bases=""/>
+  <Struct id="_3453" name="Integer<short int>" context="_1895" mangled="N5boost7IntegerIsEE" demangled="boost::Integer<short>" location="f137:78" file="f137" line="78" artificial="1" size="8" align="8" members="_9171 _9172 " bases=""/>
+  <Struct id="_3454" name="Integer<unsigned char>" context="_1895" mangled="N5boost7IntegerIhEE" demangled="boost::Integer<unsigned char>" location="f137:77" file="f137" line="77" artificial="1" size="8" align="8" members="_9173 _9174 " bases=""/>
+  <Struct id="_3455" name="Integer<signed char>" context="_1895" mangled="N5boost7IntegerIaEE" demangled="boost::Integer<signed char>" location="f137:76" file="f137" line="76" artificial="1" size="8" align="8" members="_9175 _9176 " bases=""/>
+  <Function id="_3456" name="function_requires" returns="_1194" context="_1895" mangled="_ZN5boost17function_requiresINS_9algorithm16FormatterConceptINS1_6detail13const_formatFISsEENS3_13first_finderFIPKcNS1_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS8_SsEEEEEEvPT_" demangled="void boost::function_requires<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal [...]
+    <Argument type="_9177" location="f137:42" file="f137" line="42" default="0"/>
+  </Function>
+  <Function id="_3457" name="function_requires" returns="_1194" context="_1895" mangled="_ZN5boost17function_requiresINS_9algorithm13FinderConceptINS1_6detail13first_finderFIPKcNS1_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS6_SsEEEEEEvPT_" demangled="void boost::function_requires<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std::string> > >(boost::algori [...]
+    <Argument type="_9178" location="f137:42" file="f137" line="42" default="0"/>
+  </Function>
+  <Class id="_3458" name="iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f138:120" file="f138" line="120" artificial="1" size="96" align="32" members="_9179 _9180 _9181 _91 [...]
+  <Class id="_3459" name="iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEE" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f138:120" file="f138" line="120" artificial="1" size="96" align="32" members="_9207 _9208 _9209 _9211 _9212 _921 [...]
+  <Class id="_3460" name="iterator_range<const char*>" context="_1895" mangled="N5boost14iterator_rangeIPKcEE" demangled="boost::iterator_range<char const*>" location="f138:120" file="f138" line="120" artificial="1" size="96" align="32" members="_9235 _9236 _9237 _9239 _9240 _9241 _9242 _9243 _9244 _9245 _9247 _9248 _9249 _9250 _9251 _9252 _9253 _9254 _9255 _9256 _9257 _9258 _9259 _9260 _9261 _9262 " bases=""/>
+  <Struct id="_3461" name="enable_if_convertible<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost21enable_if_convertibleIN9__gnu_cxx17__normal_iteratorIPKcSsEES5_EE" demangled="boost::enable_if_convertible<__gnu_cxx::_ [...]
+    <Base type="_9265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3462" name="enable_if_convertible<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost21enable_if_convertibleIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEES9_EE" deman [...]
+    <Base type="_9268" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <OperatorFunction id="_3463" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiS8_SsS9_SB_iEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INSC_12always_bool2ESE_SF_E4typeEE4typeERKNS_15iterator_facadeISE_T0_T1_T2_T3_EERKNSN_ISF_T5_T6_T7_T8_EE" demangled="boost::detail::enable_if_interoperable<boost::token_iterator<boost::offset_separator, __ [...]
+    <Argument name="lhs" type="_9269" location="f140:838" file="f140" line="838"/>
+    <Argument name="rhs" type="_9269" location="f140:838" file="f140" line="838"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3464" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiSB_SsSC_SE_iEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INSF_12always_bool2ESH_SI_E4typeEE4typeERKNS_15iterator_facadeISH_T0_T1_T2_T3_EERKNSQ_ISI_T5_T6_T7_T8_EE" demangled="boost::detail::enable_if_interoperable<boost::token_iterator<boost::c [...]
+    <Argument name="lhs" type="_9270" location="f140:838" file="f140" line="838"/>
+    <Argument name="rhs" type="_9270" location="f140:838" file="f140" line="838"/>
+  </OperatorFunction>
+  <Class id="_3465" name="iterator_core_access" context="_1895" mangled="N5boost20iterator_core_accessE" demangled="boost::iterator_core_access" location="f140:472" file="f140" line="472" artificial="1" size="8" align="8" members="_9271 _9282 " bases=""/>
+  <Class id="_3466" name="iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,boost::forward_traversal_tag,const std::basic_string<char, std::char_tr [...]
+  <Class id="_3467" name="iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,boost::forward_traversal_tag,cons [...]
+  <Class id="_3468" name="iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> &g [...]
+  <Struct id="_3469" name="is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost6is_PODISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f141:128" file="f141" line="128" artificial="1" size="8" align="8" members="_9344 _9345 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3470" name="is_POD<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost6is_PODISsEE" demangled="boost::is_POD<std::string>" location="f141:128" file="f141" line="128" artificial="1" size="8" align="8" members="_9346 _9347 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3471" name="is_scalar<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost9is_scalarISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_scalar<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f142:49" file="f142" line="49" artificial="1" size="8" align="8" members="_9348 _9349 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3472" name="is_scalar<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost9is_scalarISsEE" demangled="boost::is_scalar<std::string>" location="f142:49" file="f142" line="49" artificial="1" size="8" align="8" members="_9350 _9351 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3473" name="is_enum<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost7is_enumISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_enum<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f143:166" file="f143" line="166" artificial="1" size="8" align="8" members="_9352 _9353 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3474" name="is_enum<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost7is_enumISsEE" demangled="boost::is_enum<std::string>" location="f143:166" file="f143" line="166" artificial="1" size="8" align="8" members="_9354 _9355 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3475" name="add_pointer<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost11add_pointerIKSbIwSt11char_traitsIwESaIwEEEE" demangled="boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>" location="f144:66" file="f144" line="66" artificial="1" size="8" align="8" members="_9356 _9357 _9358 " bases=""/>
+  <Struct id="_3476" name="add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" incomplete="1" mangled="N5boost11add_pointerISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f144:66" file="f144" line="66" artificial="1" align="8"/>
+  <Struct id="_3477" name="add_pointer<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost11add_pointerIKSsEE" demangled="boost::add_pointer<std::string const>" location="f144:66" file="f144" line="66" artificial="1" size="8" align="8" members="_9359 _9360 _9361 " bases=""/>
+  <Struct id="_3478" name="add_pointer<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" incomplete="1" mangled="N5boost11add_pointerISsEE" demangled="boost::add_pointer<std::string>" location="f144:66" file="f144" line="66" artificial="1" align="8"/>
+  <Function id="_3479" name="implicit_cast" returns="_9288" context="_1895" mangled="_ZN5boost13implicit_castIPKSsEET_NS_3mpl8identityIS3_E4typeE" demangled="std::string const* boost::implicit_cast<std::string const*>(boost::mpl::identity<std::string const*>::type)" location="f145:18" file="f145" line="18" endline="19" inline="1">
+    <Argument name="x" type="_9288" location="f145:18" file="f145" line="18"/>
+  </Function>
+  <Struct id="_3480" name="use_default" context="_1895" incomplete="1" mangled="N5boost11use_defaultE" demangled="boost::use_default" location="f146:34" file="f146" line="34" artificial="1" align="8"/>
+  <Struct id="_3481" name="remove_reference<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost16remove_referenceIKSbIwSt11char_traitsIwESaIwEEEE" demangled="boost::remove_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>" location="f147:27" file="f147" line="27" artificial="1" size="8" align="8" members="_9362 _9363 _9364 "  [...]
+  <Struct id="_3482" name="remove_reference<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost16remove_referenceIKSsEE" demangled="boost::remove_reference<std::string const>" location="f147:27" file="f147" line="27" artificial="1" size="8" align="8" members="_9365 _9366 _9367 " bases=""/>
+  <Struct id="_3483" name="is_class<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost8is_classISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_class<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f148:121" file="f148" line="121" artificial="1" size="8" align="8" members="_9368 _9369 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3484" name="is_class<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost8is_classISsEE" demangled="boost::is_class<std::string>" location="f148:121" file="f148" line="121" artificial="1" size="8" align="8" members="_9370 _9371 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3485" name="is_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost8is_unionISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f149:43" file="f149" line="43" artificial="1" size="8" align="8" members="_9372 _9373 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3486" name="is_union<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost8is_unionISsEE" demangled="boost::is_union<std::string>" location="f149:43" file="f149" line="43" artificial="1" size="8" align="8" members="_9374 _9375 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3487" name="is_pointer<short int>" context="_1895" mangled="N5boost10is_pointerIsEE" demangled="boost::is_pointer<short>" location="f150:91" file="f150" line="91" artificial="1" size="8" align="8" members="_9376 _9377 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3488" name="is_pointer<long long int>" context="_1895" mangled="N5boost10is_pointerIxEE" demangled="boost::is_pointer<long long>" location="f150:91" file="f150" line="91" artificial="1" size="8" align="8" members="_9378 _9379 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3489" name="is_pointer<int>" context="_1895" mangled="N5boost10is_pointerIiEE" demangled="boost::is_pointer<int>" location="f150:91" file="f150" line="91" artificial="1" size="8" align="8" members="_9380 _9381 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3490" name="is_pointer<short unsigned int>" context="_1895" mangled="N5boost10is_pointerItEE" demangled="boost::is_pointer<unsigned short>" location="f150:91" file="f150" line="91" artificial="1" size="8" align="8" members="_9382 _9383 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3491" name="is_pointer<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost10is_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::is_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > &gt [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3492" name="is_pointer<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost10is_pointerISsEE" demangled="boost::is_pointer<std::string>" location="f150:91" file="f150" line="91" artificial="1" size="8" align="8" members="_9386 _9387 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3493" name="is_pointer<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost10is_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::is_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f150:91" file="f150" line="91" artificial="1" size="8" align="8" members="_9388 _9389 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3494" name="is_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost10is_pointerISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f150:91" file="f150" line="91" artificial="1" size="8" align="8" members="_9390 _9391 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3495" name="is_member_pointer<short int>" context="_1895" mangled="N5boost17is_member_pointerIsEE" demangled="boost::is_member_pointer<short>" location="f151:48" file="f151" line="48" artificial="1" size="8" align="8" members="_9392 _9393 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3496" name="is_member_pointer<long long int>" context="_1895" mangled="N5boost17is_member_pointerIxEE" demangled="boost::is_member_pointer<long long>" location="f151:48" file="f151" line="48" artificial="1" size="8" align="8" members="_9394 _9395 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3497" name="is_member_pointer<int>" context="_1895" mangled="N5boost17is_member_pointerIiEE" demangled="boost::is_member_pointer<int>" location="f151:48" file="f151" line="48" artificial="1" size="8" align="8" members="_9396 _9397 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3498" name="is_member_pointer<short unsigned int>" context="_1895" mangled="N5boost17is_member_pointerItEE" demangled="boost::is_member_pointer<unsigned short>" location="f151:48" file="f151" line="48" artificial="1" size="8" align="8" members="_9398 _9399 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3499" name="is_member_pointer<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost17is_member_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::is_member_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator&lt [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3500" name="is_member_pointer<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost17is_member_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::is_member_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f151:48" file="f151" line="48" artificial="1" size="8" align="8" members="_9402 _9403 " b [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3501" name="is_member_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost17is_member_pointerISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_member_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f151:48" file="f151" line="48" artificial="1" size="8" align="8" members="_9404 _9405 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3502" name="is_member_pointer<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost17is_member_pointerISsEE" demangled="boost::is_member_pointer<std::string>" location="f151:48" file="f151" line="48" artificial="1" size="8" align="8" members="_9406 _9407 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3503" name="is_member_function_pointer<short int>" context="_1895" mangled="N5boost26is_member_function_pointerIsEE" demangled="boost::is_member_function_pointer<short>" location="f152:42" file="f152" line="42" artificial="1" size="8" align="8" members="_9408 _9409 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3504" name="is_member_function_pointer<long long int>" context="_1895" mangled="N5boost26is_member_function_pointerIxEE" demangled="boost::is_member_function_pointer<long long>" location="f152:42" file="f152" line="42" artificial="1" size="8" align="8" members="_9410 _9411 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3505" name="is_member_function_pointer<int>" context="_1895" mangled="N5boost26is_member_function_pointerIiEE" demangled="boost::is_member_function_pointer<int>" location="f152:42" file="f152" line="42" artificial="1" size="8" align="8" members="_9412 _9413 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3506" name="is_member_function_pointer<short unsigned int>" context="_1895" mangled="N5boost26is_member_function_pointerItEE" demangled="boost::is_member_function_pointer<unsigned short>" location="f152:42" file="f152" line="42" artificial="1" size="8" align="8" members="_9414 _9415 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3507" name="is_member_function_pointer<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost26is_member_function_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::is_member_function_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wch [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3508" name="is_member_function_pointer<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost26is_member_function_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::is_member_function_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f152:42" file="f152" line="42" artificial="1" size="8" align=" [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3509" name="is_member_function_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost26is_member_function_pointerISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_member_function_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f152:42" file="f152" line="42" artificial="1" size="8" align="8" members="_9 [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3510" name="is_member_function_pointer<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost26is_member_function_pointerISsEE" demangled="boost::is_member_function_pointer<std::string>" location="f152:42" file="f152" line="42" artificial="1" size="8" align="8" members="_9422 _9423 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3511" name="remove_cv<short int>" context="_1895" mangled="N5boost9remove_cvIsEE" demangled="boost::remove_cv<short>" location="f153:33" file="f153" line="33" artificial="1" size="8" align="8" members="_9424 _9425 _9426 " bases=""/>
+  <Struct id="_3512" name="remove_cv<long long int>" context="_1895" mangled="N5boost9remove_cvIxEE" demangled="boost::remove_cv<long long>" location="f153:33" file="f153" line="33" artificial="1" size="8" align="8" members="_9427 _9428 _9429 " bases=""/>
+  <Struct id="_3513" name="remove_cv<int>" context="_1895" mangled="N5boost9remove_cvIiEE" demangled="boost::remove_cv<int>" location="f153:33" file="f153" line="33" artificial="1" size="8" align="8" members="_9430 _9431 _9432 " bases=""/>
+  <Struct id="_3514" name="remove_cv<short unsigned int>" context="_1895" mangled="N5boost9remove_cvItEE" demangled="boost::remove_cv<unsigned short>" location="f153:33" file="f153" line="33" artificial="1" size="8" align="8" members="_9433 _9434 _9435 " bases=""/>
+  <Struct id="_3515" name="remove_cv<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost9remove_cvIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::remove_cv<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > &g [...]
+  <Struct id="_3516" name="remove_cv<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost9remove_cvIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::remove_cv<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f153:33" file="f153" line="33" artificial="1" size="8" align="8" members="_9439 _9440 _9441 " bases=""/>
+  <Struct id="_3517" name="remove_cv<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost9remove_cvISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::remove_cv<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f153:33" file="f153" line="33" artificial="1" size="8" align="8" members="_9442 _9443 _9444 " bases=""/>
+  <Struct id="_3518" name="remove_cv<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost9remove_cvISsEE" demangled="boost::remove_cv<std::string>" location="f153:33" file="f153" line="33" artificial="1" size="8" align="8" members="_9445 _9446 _9447 " bases=""/>
+  <Struct id="_3519" name="is_function<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost11is_functionISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_function<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f154:82" file="f154" line="82" artificial="1" size="8" align="8" members="_9448 _9449 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3520" name="is_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost11is_functionISsEE" demangled="boost::is_function<std::string>" location="f154:82" file="f154" line="82" artificial="1" size="8" align="8" members="_9450 _9451 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3521" name="is_interoperable<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allo [...]
+    <Base type="_9454" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3522" name="is_interoperable<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator& [...]
+    <Base type="_9457" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3523" name="iterator_traversal<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost18iterator_traversalIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::iterator_traversal<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator [...]
+    <Base type="_3526" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3524" name="iterator_traversal<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost18iterator_traversalIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::iterator_traversal<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f156:163" file="f156" line="163" artificial="1" size="8" align="8" members="_9460 _946 [...]
+    <Base type="_3526" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3525" name="iterator_category_to_traversal<std::forward_iterator_tag>" context="_1895" mangled="N5boost30iterator_category_to_traversalISt20forward_iterator_tagEE" demangled="boost::iterator_category_to_traversal<std::forward_iterator_tag>" location="f156:155" file="f156" line="155" artificial="1" size="8" align="8" members="_9462 _9463 " bases="_9464 ">
+    <Base type="_9464" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3526" name="iterator_category_to_traversal<std::random_access_iterator_tag>" context="_1895" mangled="N5boost30iterator_category_to_traversalISt26random_access_iterator_tagEE" demangled="boost::iterator_category_to_traversal<std::random_access_iterator_tag>" location="f156:155" file="f156" line="155" artificial="1" size="8" align="8" members="_9465 _9466 " bases="_9467 ">
+    <Base type="_9467" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3527" name="random_access_traversal_tag" context="_1895" mangled="N5boost27random_access_traversal_tagE" demangled="boost::random_access_traversal_tag" location="f156:62" file="f156" line="62" artificial="1" size="8" align="8" members="_9468 _9469 " bases="_3528 ">
+    <Base type="_3528" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3528" name="bidirectional_traversal_tag" context="_1895" mangled="N5boost27bidirectional_traversal_tagE" demangled="boost::bidirectional_traversal_tag" location="f156:55" file="f156" line="55" artificial="1" size="8" align="8" members="_9470 _9471 " bases="_3529 ">
+    <Base type="_3529" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3529" name="forward_traversal_tag" context="_1895" mangled="N5boost21forward_traversal_tagE" demangled="boost::forward_traversal_tag" location="f156:48" file="f156" line="48" artificial="1" size="8" align="8" members="_9472 _9473 " bases="_3530 ">
+    <Base type="_3530" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3530" name="single_pass_traversal_tag" context="_1895" mangled="N5boost25single_pass_traversal_tagE" demangled="boost::single_pass_traversal_tag" location="f156:41" file="f156" line="41" artificial="1" size="8" align="8" members="_9474 _9475 " bases="_3531 ">
+    <Base type="_3531" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3531" name="incrementable_traversal_tag" context="_1895" mangled="N5boost27incrementable_traversal_tagE" demangled="boost::incrementable_traversal_tag" location="f156:34" file="f156" line="34" artificial="1" size="8" align="8" members="_9476 _9477 " bases="_3532 ">
+    <Base type="_3532" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3532" name="no_traversal_tag" context="_1895" mangled="N5boost16no_traversal_tagE" demangled="boost::no_traversal_tag" location="f156:30" file="f156" line="30" artificial="1" size="8" align="8" members="_9478 _9479 " bases=""/>
+  <Struct id="_3533" name="is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::alloca [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3534" name="is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator&lt [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3535" name="is_convertible<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEES9_EE" demangled="boost::i [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3536" name="is_convertible<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" incomplete="1" mangled="N5boost14is_convertibleIRKSbIwSt11char_traitsIwESaIwEES4_EE" demangled="boost::is_convertible<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > [...]
+  <Struct id="_3537" name="is_convertible<boost::forward_traversal_tag,boost::single_pass_traversal_tag>" context="_1895" incomplete="1" mangled="N5boost14is_convertibleINS_21forward_traversal_tagENS_25single_pass_traversal_tagEEE" demangled="boost::is_convertible<boost::forward_traversal_tag, boost::single_pass_traversal_tag>" location="f157:409" file="f157" line="409" artificial="1" align="8"/>
+  <Struct id="_3538" name="is_convertible<boost::forward_traversal_tag,boost::bidirectional_traversal_tag>" context="_1895" mangled="N5boost14is_convertibleINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEE" demangled="boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9486 _9487 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3539" name="is_convertible<boost::forward_traversal_tag,boost::random_access_traversal_tag>" context="_1895" mangled="N5boost14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEE" demangled="boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9488 _9489 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3540" name="is_convertible<boost::forward_traversal_tag,boost::forward_traversal_tag>" context="_1895" mangled="N5boost14is_convertibleINS_21forward_traversal_tagES1_EE" demangled="boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9490 _9491 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3541" name="is_convertible<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKcSsEES5_EE" demangled="boost::is_convertible<__gnu_cxx::__normal_iterator<c [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3542" name="is_convertible<std::forward_iterator_tag,std::forward_iterator_tag>" context="_1895" mangled="N5boost14is_convertibleISt20forward_iterator_tagS1_EE" demangled="boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9494 _9495 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3543" name="is_convertible<std::forward_iterator_tag,std::bidirectional_iterator_tag>" context="_1895" mangled="N5boost14is_convertibleISt20forward_iterator_tagSt26bidirectional_iterator_tagEE" demangled="boost::is_convertible<std::forward_iterator_tag, std::bidirectional_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9496 _9497 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3544" name="is_convertible<std::forward_iterator_tag,std::random_access_iterator_tag>" context="_1895" mangled="N5boost14is_convertibleISt20forward_iterator_tagSt26random_access_iterator_tagEE" demangled="boost::is_convertible<std::forward_iterator_tag, std::random_access_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9498 _9499 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3545" name="is_convertible<std::forward_iterator_tag,std::output_iterator_tag>" context="_1895" incomplete="1" mangled="N5boost14is_convertibleISt20forward_iterator_tagSt19output_iterator_tagEE" demangled="boost::is_convertible<std::forward_iterator_tag, std::output_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" align="8"/>
+  <Struct id="_3546" name="is_convertible<std::forward_iterator_tag,std::input_iterator_tag>" context="_1895" incomplete="1" mangled="N5boost14is_convertibleISt20forward_iterator_tagSt18input_iterator_tagEE" demangled="boost::is_convertible<std::forward_iterator_tag, std::input_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" align="8"/>
+  <Struct id="_3547" name="is_convertible<std::forward_iterator_tag,boost::incrementable_traversal_tag>" context="_1895" mangled="N5boost14is_convertibleISt20forward_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9500 _9501 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3548" name="is_convertible<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" incomplete="1" mangled="N5boost14is_convertibleIRKSsSsEE" demangled="boost::is_convertible<std::string const&, std::string>" location="f157:409" file="f157" line="409" artificial="1" align="8"/>
+  <Struct id="_3549" name="is_convertible<boost::forward_traversal_tag,std::output_iterator_tag>" context="_1895" mangled="N5boost14is_convertibleINS_21forward_traversal_tagESt19output_iterator_tagEE" demangled="boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9502 _9503 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3550" name="is_convertible<boost::forward_traversal_tag,std::input_iterator_tag>" context="_1895" mangled="N5boost14is_convertibleINS_21forward_traversal_tagESt18input_iterator_tagEE" demangled="boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9504 _9505 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3551" name="is_convertible<boost::random_access_traversal_tag,boost::forward_traversal_tag>" context="_1895" mangled="N5boost14is_convertibleINS_27random_access_traversal_tagENS_21forward_traversal_tagEEE" demangled="boost::is_convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9506 _9507 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3552" name="is_convertible<std::random_access_iterator_tag,std::random_access_iterator_tag>" context="_1895" mangled="N5boost14is_convertibleISt26random_access_iterator_tagS1_EE" demangled="boost::is_convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9508 _9509 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3553" name="is_convertible<std::random_access_iterator_tag,std::output_iterator_tag>" context="_1895" incomplete="1" mangled="N5boost14is_convertibleISt26random_access_iterator_tagSt19output_iterator_tagEE" demangled="boost::is_convertible<std::random_access_iterator_tag, std::output_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" align="8"/>
+  <Struct id="_3554" name="is_convertible<std::random_access_iterator_tag,std::input_iterator_tag>" context="_1895" incomplete="1" mangled="N5boost14is_convertibleISt26random_access_iterator_tagSt18input_iterator_tagEE" demangled="boost::is_convertible<std::random_access_iterator_tag, std::input_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" align="8"/>
+  <Struct id="_3555" name="is_convertible<std::random_access_iterator_tag,std::forward_iterator_tag>" context="_1895" incomplete="1" mangled="N5boost14is_convertibleISt26random_access_iterator_tagSt20forward_iterator_tagEE" demangled="boost::is_convertible<std::random_access_iterator_tag, std::forward_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" align="8"/>
+  <Struct id="_3556" name="is_convertible<std::random_access_iterator_tag,std::bidirectional_iterator_tag>" context="_1895" incomplete="1" mangled="N5boost14is_convertibleISt26random_access_iterator_tagSt26bidirectional_iterator_tagEE" demangled="boost::is_convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>" location="f157:409" file="f157" line="409" artificial="1" align="8"/>
+  <Struct id="_3557" name="is_convertible<std::random_access_iterator_tag,boost::incrementable_traversal_tag>" context="_1895" mangled="N5boost14is_convertibleISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag>" location="f157:409" file="f157" line="409" artificial="1" size="8" align="8" members="_9510 _9511 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3558" name="is_arithmetic<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost13is_arithmeticISsEE" demangled="boost::is_arithmetic<std::string>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9512 _9513 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3559" name="is_arithmetic<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost13is_arithmeticIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::is_arithmetic<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3560" name="is_arithmetic<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost13is_arithmeticISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_arithmetic<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9516 _9517 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3561" name="is_arithmetic<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost13is_arithmeticINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEE" demangled="boost::is_a [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3562" name="is_arithmetic<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost13is_arithmeticINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_ [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3563" name="is_arithmetic<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost13is_arithmeticIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::is_arithmetic<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9522 _9523 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3564" name="is_arithmetic<std::forward_iterator_tag>" context="_1895" mangled="N5boost13is_arithmeticISt20forward_iterator_tagEE" demangled="boost::is_arithmetic<std::forward_iterator_tag>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9524 _9525 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3565" name="is_arithmetic<std::bidirectional_iterator_tag>" context="_1895" mangled="N5boost13is_arithmeticISt26bidirectional_iterator_tagEE" demangled="boost::is_arithmetic<std::bidirectional_iterator_tag>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9526 _9527 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3566" name="is_arithmetic<std::random_access_iterator_tag>" context="_1895" mangled="N5boost13is_arithmeticISt26random_access_iterator_tagEE" demangled="boost::is_arithmetic<std::random_access_iterator_tag>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9528 _9529 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3567" name="is_arithmetic<boost::incrementable_traversal_tag>" context="_1895" mangled="N5boost13is_arithmeticINS_27incrementable_traversal_tagEEE" demangled="boost::is_arithmetic<boost::incrementable_traversal_tag>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9530 _9531 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3568" name="is_arithmetic<boost::bidirectional_traversal_tag>" context="_1895" mangled="N5boost13is_arithmeticINS_27bidirectional_traversal_tagEEE" demangled="boost::is_arithmetic<boost::bidirectional_traversal_tag>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9532 _9533 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3569" name="is_arithmetic<boost::forward_traversal_tag>" context="_1895" mangled="N5boost13is_arithmeticINS_21forward_traversal_tagEEE" demangled="boost::is_arithmetic<boost::forward_traversal_tag>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9534 _9535 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3570" name="is_arithmetic<std::output_iterator_tag>" context="_1895" mangled="N5boost13is_arithmeticISt19output_iterator_tagEE" demangled="boost::is_arithmetic<std::output_iterator_tag>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9536 _9537 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3571" name="is_arithmetic<std::input_iterator_tag>" context="_1895" mangled="N5boost13is_arithmeticISt18input_iterator_tagEE" demangled="boost::is_arithmetic<std::input_iterator_tag>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9538 _9539 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3572" name="is_arithmetic<boost::random_access_traversal_tag>" context="_1895" mangled="N5boost13is_arithmeticINS_27random_access_traversal_tagEEE" demangled="boost::is_arithmetic<boost::random_access_traversal_tag>" location="f158:37" file="f158" line="37" artificial="1" size="8" align="8" members="_9540 _9541 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3573" name="is_float<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost8is_floatIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::is_float<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3574" name="is_float<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost8is_floatISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_float<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9544 _9545 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3575" name="is_float<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost8is_floatINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEE" demangled="boost::is_float<boo [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3576" name="is_float<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost8is_floatINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__norm [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3577" name="is_float<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost8is_floatIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::is_float<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9550 _9551 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3578" name="is_float<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost8is_floatISsEE" demangled="boost::is_float<std::string>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9552 _9553 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3579" name="is_float<std::bidirectional_iterator_tag>" context="_1895" mangled="N5boost8is_floatISt26bidirectional_iterator_tagEE" demangled="boost::is_float<std::bidirectional_iterator_tag>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9554 _9555 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3580" name="is_float<std::forward_iterator_tag>" context="_1895" mangled="N5boost8is_floatISt20forward_iterator_tagEE" demangled="boost::is_float<std::forward_iterator_tag>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9556 _9557 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3581" name="is_float<boost::bidirectional_traversal_tag>" context="_1895" mangled="N5boost8is_floatINS_27bidirectional_traversal_tagEEE" demangled="boost::is_float<boost::bidirectional_traversal_tag>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9558 _9559 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3582" name="is_float<std::output_iterator_tag>" context="_1895" mangled="N5boost8is_floatISt19output_iterator_tagEE" demangled="boost::is_float<std::output_iterator_tag>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9560 _9561 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3583" name="is_float<std::input_iterator_tag>" context="_1895" mangled="N5boost8is_floatISt18input_iterator_tagEE" demangled="boost::is_float<std::input_iterator_tag>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9562 _9563 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3584" name="is_float<boost::random_access_traversal_tag>" context="_1895" mangled="N5boost8is_floatINS_27random_access_traversal_tagEEE" demangled="boost::is_float<boost::random_access_traversal_tag>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9564 _9565 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3585" name="is_float<boost::forward_traversal_tag>" context="_1895" mangled="N5boost8is_floatINS_21forward_traversal_tagEEE" demangled="boost::is_float<boost::forward_traversal_tag>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9566 _9567 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3586" name="is_float<boost::incrementable_traversal_tag>" context="_1895" mangled="N5boost8is_floatINS_27incrementable_traversal_tagEEE" demangled="boost::is_float<boost::incrementable_traversal_tag>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9568 _9569 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3587" name="is_float<std::random_access_iterator_tag>" context="_1895" mangled="N5boost8is_floatISt26random_access_iterator_tagEE" demangled="boost::is_float<std::random_access_iterator_tag>" location="f159:18" file="f159" line="18" artificial="1" size="8" align="8" members="_9570 _9571 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3588" name="is_float<const volatile long double>" context="_1895" mangled="N5boost8is_floatIVKeEE" demangled="boost::is_float<long double volatile const>" location="f159:21" file="f159" line="21" artificial="1" size="8" align="8" members="_9572 _9573 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3589" name="is_float<volatile long double>" context="_1895" mangled="N5boost8is_floatIVeEE" demangled="boost::is_float<long double volatile>" location="f159:21" file="f159" line="21" artificial="1" size="8" align="8" members="_9574 _9575 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3590" name="is_float<const long double>" context="_1895" mangled="N5boost8is_floatIKeEE" demangled="boost::is_float<long double const>" location="f159:21" file="f159" line="21" artificial="1" size="8" align="8" members="_9576 _9577 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3591" name="is_float<long double>" context="_1895" mangled="N5boost8is_floatIeEE" demangled="boost::is_float<long double>" location="f159:21" file="f159" line="21" artificial="1" size="8" align="8" members="_9578 _9579 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3592" name="is_float<const volatile double>" context="_1895" mangled="N5boost8is_floatIVKdEE" demangled="boost::is_float<double volatile const>" location="f159:20" file="f159" line="20" artificial="1" size="8" align="8" members="_9580 _9581 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3593" name="is_float<volatile double>" context="_1895" mangled="N5boost8is_floatIVdEE" demangled="boost::is_float<double volatile>" location="f159:20" file="f159" line="20" artificial="1" size="8" align="8" members="_9582 _9583 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3594" name="is_float<const double>" context="_1895" mangled="N5boost8is_floatIKdEE" demangled="boost::is_float<double const>" location="f159:20" file="f159" line="20" artificial="1" size="8" align="8" members="_9584 _9585 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3595" name="is_float<double>" context="_1895" mangled="N5boost8is_floatIdEE" demangled="boost::is_float<double>" location="f159:20" file="f159" line="20" artificial="1" size="8" align="8" members="_9586 _9587 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3596" name="is_float<const volatile float>" context="_1895" mangled="N5boost8is_floatIVKfEE" demangled="boost::is_float<float volatile const>" location="f159:19" file="f159" line="19" artificial="1" size="8" align="8" members="_9588 _9589 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3597" name="is_float<volatile float>" context="_1895" mangled="N5boost8is_floatIVfEE" demangled="boost::is_float<float volatile>" location="f159:19" file="f159" line="19" artificial="1" size="8" align="8" members="_9590 _9591 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3598" name="is_float<const float>" context="_1895" mangled="N5boost8is_floatIKfEE" demangled="boost::is_float<float const>" location="f159:19" file="f159" line="19" artificial="1" size="8" align="8" members="_9592 _9593 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3599" name="is_float<float>" context="_1895" mangled="N5boost8is_floatIfEE" demangled="boost::is_float<float>" location="f159:19" file="f159" line="19" artificial="1" size="8" align="8" members="_9594 _9595 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3600" name="is_integral<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPcSsEEEE" demangled="boost::is_integral<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9596 _9597 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3601" name="is_integral<boost::gregorian::date>" context="_1895" mangled="N5boost11is_integralINS_9gregorian4dateEEE" demangled="boost::is_integral<boost::gregorian::date>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9598 _9599 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3602" name="is_integral<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >  [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3603" name="is_integral<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::is_integral<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9602 _9603 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3604" name="is_integral<boost::date_time::microsec_clock<boost::posix_time::ptime>::TZ_FOR_CREATE>" context="_1895" mangled="N5boost11is_integralINS_9date_time14microsec_clockINS_10posix_time5ptimeEE13TZ_FOR_CREATEEEE" demangled="boost::is_integral<boost::date_time::microsec_clock<boost::posix_time::ptime>::TZ_FOR_CREATE>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9604 _9605 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3605" name="is_integral<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >" context="_1895" mangled="N5boost11is_integralINS_10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEEEE" demangled="boost::is_integral<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_960 [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3606" name="is_integral<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost11is_integralINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEE" demangled="boost::is_integ [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3607" name="is_integral<boost::gregorian::greg_day>" context="_1895" mangled="N5boost11is_integralINS_9gregorian8greg_dayEEE" demangled="boost::is_integral<boost::gregorian::greg_day>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9610 _9611 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3608" name="is_integral<boost::empty_token_policy>" context="_1895" mangled="N5boost11is_integralINS_18empty_token_policyEEE" demangled="boost::is_integral<boost::empty_token_policy>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9612 _9613 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3609" name="is_integral<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" lo [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3610" name="is_integral<std::_Rb_tree_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > >" context="_1895" mangled="N5boost11is_integralISt17_Rb_tree_iteratorISt4pairIKSstEEEE" demangled="boost::is_integral<std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > >" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3611" name="is_integral<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost11is_integralINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx1 [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3612" name="is_integral<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost11is_integralISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_integral<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9620 _9621 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3613" name="is_integral<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost11is_integralISsEE" demangled="boost::is_integral<std::string>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9622 _9623 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3614" name="is_integral<std::bidirectional_iterator_tag>" context="_1895" mangled="N5boost11is_integralISt26bidirectional_iterator_tagEE" demangled="boost::is_integral<std::bidirectional_iterator_tag>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9624 _9625 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3615" name="is_integral<std::forward_iterator_tag>" context="_1895" mangled="N5boost11is_integralISt20forward_iterator_tagEE" demangled="boost::is_integral<std::forward_iterator_tag>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9626 _9627 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3616" name="is_integral<boost::bidirectional_traversal_tag>" context="_1895" mangled="N5boost11is_integralINS_27bidirectional_traversal_tagEEE" demangled="boost::is_integral<boost::bidirectional_traversal_tag>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9628 _9629 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3617" name="is_integral<std::output_iterator_tag>" context="_1895" mangled="N5boost11is_integralISt19output_iterator_tagEE" demangled="boost::is_integral<std::output_iterator_tag>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9630 _9631 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3618" name="is_integral<std::input_iterator_tag>" context="_1895" mangled="N5boost11is_integralISt18input_iterator_tagEE" demangled="boost::is_integral<std::input_iterator_tag>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9632 _9633 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3619" name="is_integral<boost::random_access_traversal_tag>" context="_1895" mangled="N5boost11is_integralINS_27random_access_traversal_tagEEE" demangled="boost::is_integral<boost::random_access_traversal_tag>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9634 _9635 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3620" name="is_integral<boost::forward_traversal_tag>" context="_1895" mangled="N5boost11is_integralINS_21forward_traversal_tagEEE" demangled="boost::is_integral<boost::forward_traversal_tag>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9636 _9637 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3621" name="is_integral<boost::incrementable_traversal_tag>" context="_1895" mangled="N5boost11is_integralINS_27incrementable_traversal_tagEEE" demangled="boost::is_integral<boost::incrementable_traversal_tag>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9638 _9639 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3622" name="is_integral<std::random_access_iterator_tag>" context="_1895" mangled="N5boost11is_integralISt26random_access_iterator_tagEE" demangled="boost::is_integral<std::random_access_iterator_tag>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9640 _9641 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3623" name="is_integral<boost::date_time::ymd_order_spec>" context="_1895" mangled="N5boost11is_integralINS_9date_time14ymd_order_specEEE" demangled="boost::is_integral<boost::date_time::ymd_order_spec>" location="f160:22" file="f160" line="22" artificial="1" size="8" align="8" members="_9642 _9643 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3624" name="is_integral<int>" context="_1895" mangled="N5boost11is_integralIiEE" demangled="boost::is_integral<int>" location="f160:31" file="f160" line="31" artificial="1" size="8" align="8" members="_9644 _9645 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3625" name="is_integral<const volatile long long int>" context="_1895" mangled="N5boost11is_integralIVKxEE" demangled="boost::is_integral<long long volatile const>" location="f160:63" file="f160" line="63" artificial="1" size="8" align="8" members="_9646 _9647 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3626" name="is_integral<volatile long long int>" context="_1895" mangled="N5boost11is_integralIVxEE" demangled="boost::is_integral<long long volatile>" location="f160:63" file="f160" line="63" artificial="1" size="8" align="8" members="_9648 _9649 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3627" name="is_integral<const long long int>" context="_1895" mangled="N5boost11is_integralIKxEE" demangled="boost::is_integral<long long const>" location="f160:63" file="f160" line="63" artificial="1" size="8" align="8" members="_9650 _9651 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3628" name="is_integral<long long int>" context="_1895" mangled="N5boost11is_integralIxEE" demangled="boost::is_integral<long long>" location="f160:63" file="f160" line="63" artificial="1" size="8" align="8" members="_9652 _9653 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3629" name="is_integral<const volatile long long unsigned int>" context="_1895" mangled="N5boost11is_integralIVKyEE" demangled="boost::is_integral<unsigned long long volatile const>" location="f160:62" file="f160" line="62" artificial="1" size="8" align="8" members="_9654 _9655 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3630" name="is_integral<volatile long long unsigned int>" context="_1895" mangled="N5boost11is_integralIVyEE" demangled="boost::is_integral<unsigned long long volatile>" location="f160:62" file="f160" line="62" artificial="1" size="8" align="8" members="_9656 _9657 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3631" name="is_integral<const long long unsigned int>" context="_1895" mangled="N5boost11is_integralIKyEE" demangled="boost::is_integral<unsigned long long const>" location="f160:62" file="f160" line="62" artificial="1" size="8" align="8" members="_9658 _9659 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3632" name="is_integral<long long unsigned int>" context="_1895" mangled="N5boost11is_integralIyEE" demangled="boost::is_integral<unsigned long long>" location="f160:62" file="f160" line="62" artificial="1" size="8" align="8" members="_9660 _9661 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3633" name="is_integral<const volatile wchar_t>" context="_1895" mangled="N5boost11is_integralIVKwEE" demangled="boost::is_integral<wchar_t volatile const>" location="f160:41" file="f160" line="41" artificial="1" size="8" align="8" members="_9662 _9663 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3634" name="is_integral<volatile wchar_t>" context="_1895" mangled="N5boost11is_integralIVwEE" demangled="boost::is_integral<wchar_t volatile>" location="f160:41" file="f160" line="41" artificial="1" size="8" align="8" members="_9664 _9665 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3635" name="is_integral<const wchar_t>" context="_1895" mangled="N5boost11is_integralIKwEE" demangled="boost::is_integral<wchar_t const>" location="f160:41" file="f160" line="41" artificial="1" size="8" align="8" members="_9666 _9667 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3636" name="is_integral<wchar_t>" context="_1895" mangled="N5boost11is_integralIwEE" demangled="boost::is_integral<wchar_t>" location="f160:41" file="f160" line="41" artificial="1" size="8" align="8" members="_9668 _9669 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3637" name="is_integral<const volatile char>" context="_1895" mangled="N5boost11is_integralIVKcEE" demangled="boost::is_integral<char volatile const>" location="f160:35" file="f160" line="35" artificial="1" size="8" align="8" members="_9670 _9671 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3638" name="is_integral<volatile char>" context="_1895" mangled="N5boost11is_integralIVcEE" demangled="boost::is_integral<char volatile>" location="f160:35" file="f160" line="35" artificial="1" size="8" align="8" members="_9672 _9673 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3639" name="is_integral<const char>" context="_1895" mangled="N5boost11is_integralIKcEE" demangled="boost::is_integral<char const>" location="f160:35" file="f160" line="35" artificial="1" size="8" align="8" members="_9674 _9675 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3640" name="is_integral<char>" context="_1895" mangled="N5boost11is_integralIcEE" demangled="boost::is_integral<char>" location="f160:35" file="f160" line="35" artificial="1" size="8" align="8" members="_9676 _9677 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3641" name="is_integral<const volatile bool>" context="_1895" mangled="N5boost11is_integralIVKbEE" demangled="boost::is_integral<bool volatile const>" location="f160:34" file="f160" line="34" artificial="1" size="8" align="8" members="_9678 _9679 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3642" name="is_integral<volatile bool>" context="_1895" mangled="N5boost11is_integralIVbEE" demangled="boost::is_integral<bool volatile>" location="f160:34" file="f160" line="34" artificial="1" size="8" align="8" members="_9680 _9681 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3643" name="is_integral<const bool>" context="_1895" mangled="N5boost11is_integralIKbEE" demangled="boost::is_integral<bool const>" location="f160:34" file="f160" line="34" artificial="1" size="8" align="8" members="_9682 _9683 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3644" name="is_integral<bool>" context="_1895" mangled="N5boost11is_integralIbEE" demangled="boost::is_integral<bool>" location="f160:34" file="f160" line="34" artificial="1" size="8" align="8" members="_9684 _9685 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3645" name="is_integral<const volatile long int>" context="_1895" mangled="N5boost11is_integralIVKlEE" demangled="boost::is_integral<long volatile const>" location="f160:32" file="f160" line="32" artificial="1" size="8" align="8" members="_9686 _9687 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3646" name="is_integral<volatile long int>" context="_1895" mangled="N5boost11is_integralIVlEE" demangled="boost::is_integral<long volatile>" location="f160:32" file="f160" line="32" artificial="1" size="8" align="8" members="_9688 _9689 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3647" name="is_integral<const long int>" context="_1895" mangled="N5boost11is_integralIKlEE" demangled="boost::is_integral<long const>" location="f160:32" file="f160" line="32" artificial="1" size="8" align="8" members="_9690 _9691 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3648" name="is_integral<long int>" context="_1895" mangled="N5boost11is_integralIlEE" demangled="boost::is_integral<long>" location="f160:32" file="f160" line="32" artificial="1" size="8" align="8" members="_9692 _9693 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3649" name="is_integral<const volatile int>" context="_1895" mangled="N5boost11is_integralIVKiEE" demangled="boost::is_integral<int volatile const>" location="f160:31" file="f160" line="31" artificial="1" size="8" align="8" members="_9694 _9695 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3650" name="is_integral<volatile int>" context="_1895" mangled="N5boost11is_integralIViEE" demangled="boost::is_integral<int volatile>" location="f160:31" file="f160" line="31" artificial="1" size="8" align="8" members="_9696 _9697 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3651" name="is_integral<const int>" context="_1895" mangled="N5boost11is_integralIKiEE" demangled="boost::is_integral<int const>" location="f160:31" file="f160" line="31" artificial="1" size="8" align="8" members="_9698 _9699 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3652" name="is_integral<const volatile short int>" context="_1895" mangled="N5boost11is_integralIVKsEE" demangled="boost::is_integral<short volatile const>" location="f160:30" file="f160" line="30" artificial="1" size="8" align="8" members="_9700 _9701 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3653" name="is_integral<volatile short int>" context="_1895" mangled="N5boost11is_integralIVsEE" demangled="boost::is_integral<short volatile>" location="f160:30" file="f160" line="30" artificial="1" size="8" align="8" members="_9702 _9703 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3654" name="is_integral<const short int>" context="_1895" mangled="N5boost11is_integralIKsEE" demangled="boost::is_integral<short const>" location="f160:30" file="f160" line="30" artificial="1" size="8" align="8" members="_9704 _9705 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3655" name="is_integral<short int>" context="_1895" mangled="N5boost11is_integralIsEE" demangled="boost::is_integral<short>" location="f160:30" file="f160" line="30" artificial="1" size="8" align="8" members="_9706 _9707 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3656" name="is_integral<const volatile signed char>" context="_1895" mangled="N5boost11is_integralIVKaEE" demangled="boost::is_integral<signed char volatile const>" location="f160:29" file="f160" line="29" artificial="1" size="8" align="8" members="_9708 _9709 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3657" name="is_integral<volatile signed char>" context="_1895" mangled="N5boost11is_integralIVaEE" demangled="boost::is_integral<signed char volatile>" location="f160:29" file="f160" line="29" artificial="1" size="8" align="8" members="_9710 _9711 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3658" name="is_integral<const signed char>" context="_1895" mangled="N5boost11is_integralIKaEE" demangled="boost::is_integral<signed char const>" location="f160:29" file="f160" line="29" artificial="1" size="8" align="8" members="_9712 _9713 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3659" name="is_integral<signed char>" context="_1895" mangled="N5boost11is_integralIaEE" demangled="boost::is_integral<signed char>" location="f160:29" file="f160" line="29" artificial="1" size="8" align="8" members="_9714 _9715 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3660" name="is_integral<const volatile long unsigned int>" context="_1895" mangled="N5boost11is_integralIVKmEE" demangled="boost::is_integral<unsigned long volatile const>" location="f160:27" file="f160" line="27" artificial="1" size="8" align="8" members="_9716 _9717 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3661" name="is_integral<volatile long unsigned int>" context="_1895" mangled="N5boost11is_integralIVmEE" demangled="boost::is_integral<unsigned long volatile>" location="f160:27" file="f160" line="27" artificial="1" size="8" align="8" members="_9718 _9719 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3662" name="is_integral<const long unsigned int>" context="_1895" mangled="N5boost11is_integralIKmEE" demangled="boost::is_integral<unsigned long const>" location="f160:27" file="f160" line="27" artificial="1" size="8" align="8" members="_9720 _9721 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3663" name="is_integral<long unsigned int>" context="_1895" mangled="N5boost11is_integralImEE" demangled="boost::is_integral<unsigned long>" location="f160:27" file="f160" line="27" artificial="1" size="8" align="8" members="_9722 _9723 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3664" name="is_integral<const volatile unsigned int>" context="_1895" mangled="N5boost11is_integralIVKjEE" demangled="boost::is_integral<unsigned volatile const>" location="f160:26" file="f160" line="26" artificial="1" size="8" align="8" members="_9724 _9725 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3665" name="is_integral<volatile unsigned int>" context="_1895" mangled="N5boost11is_integralIVjEE" demangled="boost::is_integral<unsigned volatile>" location="f160:26" file="f160" line="26" artificial="1" size="8" align="8" members="_9726 _9727 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3666" name="is_integral<const unsigned int>" context="_1895" mangled="N5boost11is_integralIKjEE" demangled="boost::is_integral<unsigned const>" location="f160:26" file="f160" line="26" artificial="1" size="8" align="8" members="_9728 _9729 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3667" name="is_integral<unsigned int>" context="_1895" mangled="N5boost11is_integralIjEE" demangled="boost::is_integral<unsigned>" location="f160:26" file="f160" line="26" artificial="1" size="8" align="8" members="_9730 _9731 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3668" name="is_integral<const volatile short unsigned int>" context="_1895" mangled="N5boost11is_integralIVKtEE" demangled="boost::is_integral<unsigned short volatile const>" location="f160:25" file="f160" line="25" artificial="1" size="8" align="8" members="_9732 _9733 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3669" name="is_integral<volatile short unsigned int>" context="_1895" mangled="N5boost11is_integralIVtEE" demangled="boost::is_integral<unsigned short volatile>" location="f160:25" file="f160" line="25" artificial="1" size="8" align="8" members="_9734 _9735 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3670" name="is_integral<const short unsigned int>" context="_1895" mangled="N5boost11is_integralIKtEE" demangled="boost::is_integral<unsigned short const>" location="f160:25" file="f160" line="25" artificial="1" size="8" align="8" members="_9736 _9737 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3671" name="is_integral<short unsigned int>" context="_1895" mangled="N5boost11is_integralItEE" demangled="boost::is_integral<unsigned short>" location="f160:25" file="f160" line="25" artificial="1" size="8" align="8" members="_9738 _9739 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3672" name="is_integral<const volatile unsigned char>" context="_1895" mangled="N5boost11is_integralIVKhEE" demangled="boost::is_integral<unsigned char volatile const>" location="f160:24" file="f160" line="24" artificial="1" size="8" align="8" members="_9740 _9741 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3673" name="is_integral<volatile unsigned char>" context="_1895" mangled="N5boost11is_integralIVhEE" demangled="boost::is_integral<unsigned char volatile>" location="f160:24" file="f160" line="24" artificial="1" size="8" align="8" members="_9742 _9743 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3674" name="is_integral<const unsigned char>" context="_1895" mangled="N5boost11is_integralIKhEE" demangled="boost::is_integral<unsigned char const>" location="f160:24" file="f160" line="24" artificial="1" size="8" align="8" members="_9744 _9745 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3675" name="is_integral<unsigned char>" context="_1895" mangled="N5boost11is_integralIhEE" demangled="boost::is_integral<unsigned char>" location="f160:24" file="f160" line="24" artificial="1" size="8" align="8" members="_9746 _9747 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3676" name="add_reference<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost13add_referenceIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::add_reference<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> [...]
+  <Struct id="_3677" name="add_reference<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost13add_referenceINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEE" demangled="boost::add_ [...]
+  <Struct id="_3678" name="add_reference<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost13add_referenceINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_ [...]
+  <Struct id="_3679" name="add_reference<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost13add_referenceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::add_reference<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f161:77" file="f161" line="77" artificial="1" size="8" align="8" members="_9760 _9761 _9762 " bases=""/>
+  <Struct id="_3680" name="add_reference<std::forward_iterator_tag>" context="_1895" mangled="N5boost13add_referenceISt20forward_iterator_tagEE" demangled="boost::add_reference<std::forward_iterator_tag>" location="f161:77" file="f161" line="77" artificial="1" size="8" align="8" members="_9764 _9765 _9766 " bases=""/>
+  <Struct id="_3681" name="add_reference<boost::forward_traversal_tag>" context="_1895" mangled="N5boost13add_referenceINS_21forward_traversal_tagEEE" demangled="boost::add_reference<boost::forward_traversal_tag>" location="f161:77" file="f161" line="77" artificial="1" size="8" align="8" members="_9768 _9769 _9770 " bases=""/>
+  <Struct id="_3682" name="add_reference<boost::random_access_traversal_tag>" context="_1895" mangled="N5boost13add_referenceINS_27random_access_traversal_tagEEE" demangled="boost::add_reference<boost::random_access_traversal_tag>" location="f161:77" file="f161" line="77" artificial="1" size="8" align="8" members="_9772 _9773 _9774 " bases=""/>
+  <Struct id="_3683" name="add_reference<std::random_access_iterator_tag>" context="_1895" mangled="N5boost13add_referenceISt26random_access_iterator_tagEE" demangled="boost::add_reference<std::random_access_iterator_tag>" location="f161:77" file="f161" line="77" artificial="1" size="8" align="8" members="_9776 _9777 _9778 " bases=""/>
+  <Struct id="_3684" name="static_assert_test<1>" context="_1895" incomplete="1" mangled="N5boost18static_assert_testILi1EEE" demangled="boost::static_assert_test<1>" location="f162:43" file="f162" line="43" artificial="1" align="8"/>
+  <Struct id="_3685" name="static_assert_test<sizeof (boost::STATIC_ASSERTION_FAILURE<(bool)(boost::is_same<T, U>::value)>)>" context="_1895" incomplete="1" mangled="N5boost18static_assert_testIXstNS_24STATIC_ASSERTION_FAILUREIXcvbsrNS_7is_sameIT_T0_EE5valueEEEEEE" location="f162:43" file="f162" line="43" artificial="1" align="8"/>
+  <Struct id="_3686" name="static_assert_test<sizeof (boost::STATIC_ASSERTION_FAILURE<(bool)(boost::is_class<T>::value)>)>" context="_1895" incomplete="1" mangled="N5boost18static_assert_testIXstNS_24STATIC_ASSERTION_FAILUREIXcvbsrNS_8is_classIT_EE5valueEEEEEE" location="f162:43" file="f162" line="43" artificial="1" align="8"/>
+  <Struct id="_3687" name="static_assert_test<sizeof (boost::STATIC_ASSERTION_FAILURE<(bool)((std::numeric_limits<_Tp>::digits10 < 127))>)>" context="_1895" incomplete="1" mangled="N5boost18static_assert_testIXstNS_24STATIC_ASSERTION_FAILUREIXcvbltsrSt14numeric_limitsIT_E8digits10Li127EEEEEEE" location="f162:43" file="f162" line="43" artificial="1" align="8"/>
+  <Struct id="_3688" name="static_assert_test<sizeof (boost::STATIC_ASSERTION_FAILURE<(bool)(((std::numeric_limits<_Tp>::max_exponent10 <= 999999) && (std::numeric_limits<_Tp>::min_exponent10 >= (-999999))))>)>" context="_1895" incomplete="1" mangled="N5boost18static_assert_testIXstNS_24STATIC_ASSERTION_FAILUREIXcvbaalesrSt14numeric_limitsIT_E14max_exponent10Ll999999EgesrS4_14min_exponent10ngLl999999EEEEEEE" location="f162:43" file="f162" line="43" a [...]
+  <Struct id="_3689" name="static_assert_test<sizeof (boost::STATIC_ASSERTION_FAILURE<(bool)(((!boost::detail::lcast_precision<T>::is_specialized_bin) || ((((std::numeric_limits<T>::digits + 0) < (((2147483647 * 2) + 1) / 30103)) && (boost::detail::lcast_precision<T>::precision_bin > (std::numeric_limits<T>::digits10 + 0))) && (boost::detail::lcast_precision<T>::precision_bin <= (boost::detail::lcast_precision<T>::streams [...]
+  <Struct id="_3690" name="static_assert_test<sizeof (boost::STATIC_ASSERTION_FAILURE<(bool)(((!boost::detail::lcast_precision<T>::is_specialized_dec) || (boost::detail::lcast_precision<T>::precision_dec <= (boost::detail::lcast_precision<T>::streamsize_max + 0))))>)>" context="_1895" incomplete="1" mangled="N5boost18static_assert_testIXstNS_24STATIC_ASSERTION_FAILUREIXcvboontL_ZNS_6detail15lcast_precisionIT_E18is_specialized_decEEleL_ZNS5_13precision_dec [...]
+  <Struct id="_3691" name="static_assert_test<sizeof (boost::STATIC_ASSERTION_FAILURE<(bool)(boost::is_convertible<From, To>::value)>)>" context="_1895" incomplete="1" mangled="N5boost18static_assert_testIXstNS_24STATIC_ASSERTION_FAILUREIXcvbsrNS_14is_convertibleIT_T0_EE5valueEEEEEE" location="f162:43" file="f162" line="43" artificial="1" align="8"/>
+  <Struct id="_3692" name="static_assert_test<sizeof (boost::STATIC_ASSERTION_FAILURE<(bool)(boost::is_interoperable<Derived1, Derived2>::value)>)>" context="_1895" incomplete="1" mangled="N5boost18static_assert_testIXstNS_24STATIC_ASSERTION_FAILUREIXcvbsrNS_16is_interoperableIT_T4_EE5valueEEEEEE" location="f162:43" file="f162" line="43" artificial="1" align="8"/>
+  <Struct id="_3693" name="STATIC_ASSERTION_FAILURE<true>" context="_1895" mangled="N5boost24STATIC_ASSERTION_FAILUREILb1EEE" demangled="boost::STATIC_ASSERTION_FAILURE<true>" location="f162:40" file="f162" line="40" artificial="1" size="8" align="8" members="_9779 _9780 _9781 " bases=""/>
+  <Class id="_3694" name="noncopyable" context="_3897" mangled="N5boost12noncopyable_11noncopyableE" demangled="boost::noncopyable_::noncopyable" location="f163:22" file="f163" line="22" artificial="1" size="8" align="8" members="_9782 _9783 _9784 _9785 " bases=""/>
+  <Typedef id="_3695" name="noncopyable" type="_3694" context="_1895" location="f163:32" file="f163" line="32"/>
+  <Struct id="_3696" name="enable_if_c<true,bool>" context="_1895" mangled="N5boost11enable_if_cILb1EbEE" demangled="boost::enable_if_c<true, bool>" location="f164:28" file="f164" line="28" artificial="1" size="8" align="8" members="_9786 _9787 _9788 " bases=""/>
+  <Struct id="_3697" name="enable_if_c<false,bool>" context="_1895" mangled="N5boost11enable_if_cILb0EbEE" demangled="boost::enable_if_c<false, bool>" location="f164:28" file="f164" line="28" artificial="1" size="8" align="8" members="_9789 _9790 " bases=""/>
+  <Function id="_3698" name="empty" returns="_3949" context="_1895" mangled="_ZN5boost5emptyINS_14iterator_rangeIPKcEEEEbRKT_" demangled="bool boost::empty<boost::iterator_range<char const*> >(boost::iterator_range<char const*> const&)" location="f165:27" file="f165" line="27" endline="28" inline="1">
+    <Argument name="r" type="_9791" location="f165:27" file="f165" line="27"/>
+  </Function>
+  <Function id="_3699" name="end" returns="_3330" context="_1895" mangled="_ZN5boost3endINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_14range_iteratorIKT_E4typeERS9_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::type boost::end<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >(boost::iterator_range<__gnu_cxx::__normal_iterator<char*, s [...]
+    <Argument name="r" type="_9792" location="f166:99" file="f166" line="99"/>
+  </Function>
+  <Function id="_3700" name="end" returns="_3328" context="_1895" mangled="_ZN5boost3endINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_14range_iteratorIKT_E4typeERSA_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::type boost::end<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >(boost::iterator_range<__gnu_cxx::__normal_iterato [...]
+    <Argument name="r" type="_9793" location="f166:99" file="f166" line="99"/>
+  </Function>
+  <Function id="_3701" name="end" returns="_2749" context="_1895" mangled="_ZN5boost3endINS_14iterator_rangeIPKcEEEENS_14range_iteratorIKT_E4typeERS7_" demangled="boost::range_iterator<boost::iterator_range<char const*> const>::type boost::end<boost::iterator_range<char const*> >(boost::iterator_range<char const*> const&)" location="f166:99" file="f166" line="99" endline="105" inline="1">
+    <Argument name="r" type="_9791" location="f166:99" file="f166" line="99"/>
+  </Function>
+  <Function id="_3702" name="end" returns="_3328" context="_1895" mangled="_ZN5boost3endISsEENS_14range_iteratorIKT_E4typeERS3_" demangled="boost::range_iterator<std::string const>::type boost::end<std::string>(std::string const&)" location="f166:99" file="f166" line="99" endline="105" inline="1">
+    <Argument name="r" type="_4948" location="f166:99" file="f166" line="99"/>
+  </Function>
+  <Function id="_3703" name="end" returns="_2749" context="_1895" mangled="_ZN5boost3endIA3_cEENS_14range_iteratorIKT_E4typeERS4_" demangled="boost::range_iterator<char[3] const>::type boost::end<char[3]>(char[3] const&)" location="f166:99" file="f166" line="99" endline="105" inline="1">
+    <Argument name="r" type="_9794" location="f166:99" file="f166" line="99"/>
+  </Function>
+  <Function id="_3704" name="end" returns="_3330" context="_1895" mangled="_ZN5boost3endINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_14range_iteratorIT_E4typeERS8_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::type boost::end<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >(boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::st [...]
+    <Argument name="r" type="_9795" location="f166:88" file="f166" line="88"/>
+  </Function>
+  <Function id="_3705" name="end" returns="_3330" context="_1895" mangled="_ZN5boost3endISsEENS_14range_iteratorIT_E4typeERS2_" demangled="boost::range_iterator<std::string>::type boost::end<std::string>(std::string&)" location="f166:88" file="f166" line="88" endline="94" inline="1">
+    <Argument name="r" type="_4946" location="f166:88" file="f166" line="88"/>
+  </Function>
+  <Function id="_3706" name="end" returns="_3328" context="_1895" mangled="_ZN5boost3endIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_14range_iteratorIT_E4typeERSA_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::type boost::end<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>(boost::iterator_range<__gnu_cxx::__normal_it [...]
+    <Argument name="r" type="_9793" location="f166:88" file="f166" line="88"/>
+  </Function>
+  <Function id="_3707" name="end" returns="_2749" context="_1895" mangled="_ZN5boost3endIKNS_14iterator_rangeIPKcEEEENS_14range_iteratorIT_E4typeERS7_" demangled="boost::range_iterator<boost::iterator_range<char const*> const>::type boost::end<boost::iterator_range<char const*> const>(boost::iterator_range<char const*> const&)" location="f166:88" file="f166" line="88" extern="1" inline="1">
+    <Argument name="r" type="_9791" location="f166:88" file="f166" line="88"/>
+  </Function>
+  <Function id="_3708" name="end" returns="_3328" context="_1895" mangled="_ZN5boost3endIKSsEENS_14range_iteratorIT_E4typeERS3_" demangled="boost::range_iterator<std::string const>::type boost::end<std::string const>(std::string const&)" location="f166:88" file="f166" line="88" extern="1" inline="1">
+    <Argument name="r" type="_4948" location="f166:88" file="f166" line="88"/>
+  </Function>
+  <Function id="_3709" name="end" returns="_2749" context="_1895" mangled="_ZN5boost3endIA3_KcEENS_14range_iteratorIT_E4typeERS4_" demangled="boost::range_iterator<char const[3]>::type boost::end<char const[3]>(char const[3]&)" location="f166:88" file="f166" line="88" extern="1" inline="1">
+    <Argument name="r" type="_9794" location="f166:88" file="f166" line="88"/>
+  </Function>
+  <Struct id="_3710" name="is_same<boost::forward_traversal_tag,boost::forward_traversal_tag>" context="_1895" mangled="N5boost7is_sameINS_21forward_traversal_tagES1_EE" demangled="boost::is_same<boost::forward_traversal_tag, boost::forward_traversal_tag>" location="f167:37" file="f167" line="37" artificial="1" size="8" align="8" members="_9796 _9797 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3711" name="is_void<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost7is_voidIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::is_void<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" lo [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3712" name="is_void<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost7is_voidISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_void<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9800 _9801 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3713" name="is_void<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost7is_voidINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEE" demangled="boost::is_void<boost: [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3714" name="is_void<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost7is_voidINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3715" name="is_void<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost7is_voidIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::is_void<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9806 _9807 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3716" name="is_void<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost7is_voidISsEE" demangled="boost::is_void<std::string>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9808 _9809 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3717" name="is_void<std::forward_iterator_tag>" context="_1895" mangled="N5boost7is_voidISt20forward_iterator_tagEE" demangled="boost::is_void<std::forward_iterator_tag>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9810 _9811 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3718" name="is_void<std::bidirectional_iterator_tag>" context="_1895" mangled="N5boost7is_voidISt26bidirectional_iterator_tagEE" demangled="boost::is_void<std::bidirectional_iterator_tag>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9812 _9813 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3719" name="is_void<std::random_access_iterator_tag>" context="_1895" mangled="N5boost7is_voidISt26random_access_iterator_tagEE" demangled="boost::is_void<std::random_access_iterator_tag>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9814 _9815 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3720" name="is_void<boost::incrementable_traversal_tag>" context="_1895" mangled="N5boost7is_voidINS_27incrementable_traversal_tagEEE" demangled="boost::is_void<boost::incrementable_traversal_tag>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9816 _9817 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3721" name="is_void<boost::bidirectional_traversal_tag>" context="_1895" mangled="N5boost7is_voidINS_27bidirectional_traversal_tagEEE" demangled="boost::is_void<boost::bidirectional_traversal_tag>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9818 _9819 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3722" name="is_void<boost::forward_traversal_tag>" context="_1895" mangled="N5boost7is_voidINS_21forward_traversal_tagEEE" demangled="boost::is_void<boost::forward_traversal_tag>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9820 _9821 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3723" name="is_void<std::output_iterator_tag>" context="_1895" mangled="N5boost7is_voidISt19output_iterator_tagEE" demangled="boost::is_void<std::output_iterator_tag>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9822 _9823 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3724" name="is_void<std::input_iterator_tag>" context="_1895" mangled="N5boost7is_voidISt18input_iterator_tagEE" demangled="boost::is_void<std::input_iterator_tag>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9824 _9825 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3725" name="is_void<boost::random_access_traversal_tag>" context="_1895" mangled="N5boost7is_voidINS_27random_access_traversal_tagEEE" demangled="boost::is_void<boost::random_access_traversal_tag>" location="f168:20" file="f168" line="20" artificial="1" size="8" align="8" members="_9826 _9827 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3726" name="is_void<const volatile void>" context="_1895" mangled="N5boost7is_voidIVKvEE" demangled="boost::is_void<void volatile const>" location="f168:26" file="f168" line="26" artificial="1" size="8" align="8" members="_9828 _9829 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3727" name="is_void<volatile void>" context="_1895" mangled="N5boost7is_voidIVvEE" demangled="boost::is_void<void volatile>" location="f168:25" file="f168" line="25" artificial="1" size="8" align="8" members="_9830 _9831 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3728" name="is_void<const void>" context="_1895" mangled="N5boost7is_voidIKvEE" demangled="boost::is_void<void const>" location="f168:24" file="f168" line="24" artificial="1" size="8" align="8" members="_9832 _9833 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3729" name="is_void<void>" context="_1895" mangled="N5boost7is_voidIvEE" demangled="boost::is_void<void>" location="f168:21" file="f168" line="21" artificial="1" size="8" align="8" members="_9834 _9835 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3730" name="is_array<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_1895" mangled="N5boost8is_arrayIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::is_array<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3731" name="is_array<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost8is_arrayISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_array<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9838 _9839 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3732" name="is_array<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost8is_arrayINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEE" demangled="boost::is_array<boo [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3733" name="is_array<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost8is_arrayINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__norm [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3734" name="is_array<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost8is_arrayIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::is_array<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9844 _9845 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3735" name="is_array<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost8is_arrayISsEE" demangled="boost::is_array<std::string>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9846 _9847 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3736" name="is_array<std::forward_iterator_tag>" context="_1895" mangled="N5boost8is_arrayISt20forward_iterator_tagEE" demangled="boost::is_array<std::forward_iterator_tag>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9848 _9849 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3737" name="is_array<std::bidirectional_iterator_tag>" context="_1895" mangled="N5boost8is_arrayISt26bidirectional_iterator_tagEE" demangled="boost::is_array<std::bidirectional_iterator_tag>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9850 _9851 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3738" name="is_array<std::random_access_iterator_tag>" context="_1895" mangled="N5boost8is_arrayISt26random_access_iterator_tagEE" demangled="boost::is_array<std::random_access_iterator_tag>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9852 _9853 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3739" name="is_array<boost::incrementable_traversal_tag>" context="_1895" mangled="N5boost8is_arrayINS_27incrementable_traversal_tagEEE" demangled="boost::is_array<boost::incrementable_traversal_tag>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9854 _9855 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3740" name="is_array<boost::bidirectional_traversal_tag>" context="_1895" mangled="N5boost8is_arrayINS_27bidirectional_traversal_tagEEE" demangled="boost::is_array<boost::bidirectional_traversal_tag>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9856 _9857 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3741" name="is_array<boost::forward_traversal_tag>" context="_1895" mangled="N5boost8is_arrayINS_21forward_traversal_tagEEE" demangled="boost::is_array<boost::forward_traversal_tag>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9858 _9859 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3742" name="is_array<std::output_iterator_tag>" context="_1895" mangled="N5boost8is_arrayISt19output_iterator_tagEE" demangled="boost::is_array<std::output_iterator_tag>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9860 _9861 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3743" name="is_array<std::input_iterator_tag>" context="_1895" mangled="N5boost8is_arrayISt18input_iterator_tagEE" demangled="boost::is_array<std::input_iterator_tag>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9862 _9863 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3744" name="is_array<boost::random_access_traversal_tag>" context="_1895" mangled="N5boost8is_arrayINS_27random_access_traversal_tagEEE" demangled="boost::is_array<boost::random_access_traversal_tag>" location="f169:33" file="f169" line="33" artificial="1" size="8" align="8" members="_9864 _9865 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Function id="_3745" name="begin" returns="_3330" context="_1895" mangled="_ZN5boost5beginINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_14range_iteratorIKT_E4typeERS9_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::type boost::begin<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >(boost::iterator_range<__gnu_cxx::__normal_iterator<ch [...]
+    <Argument name="r" type="_9792" location="f170:103" file="f170" line="103"/>
+  </Function>
+  <Function id="_3746" name="begin" returns="_3328" context="_1895" mangled="_ZN5boost5beginINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_14range_iteratorIKT_E4typeERSA_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::type boost::begin<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >(boost::iterator_range<__gnu_cxx::__normal_i [...]
+    <Argument name="r" type="_9793" location="f170:103" file="f170" line="103"/>
+  </Function>
+  <Function id="_3747" name="begin" returns="_2749" context="_1895" mangled="_ZN5boost5beginINS_14iterator_rangeIPKcEEEENS_14range_iteratorIKT_E4typeERS7_" demangled="boost::range_iterator<boost::iterator_range<char const*> const>::type boost::begin<boost::iterator_range<char const*> >(boost::iterator_range<char const*> const&)" location="f170:103" file="f170" line="103" endline="109" inline="1">
+    <Argument name="r" type="_9791" location="f170:103" file="f170" line="103"/>
+  </Function>
+  <Function id="_3748" name="begin" returns="_3328" context="_1895" mangled="_ZN5boost5beginISsEENS_14range_iteratorIKT_E4typeERS3_" demangled="boost::range_iterator<std::string const>::type boost::begin<std::string>(std::string const&)" location="f170:103" file="f170" line="103" endline="109" inline="1">
+    <Argument name="r" type="_4948" location="f170:103" file="f170" line="103"/>
+  </Function>
+  <Function id="_3749" name="begin" returns="_2749" context="_1895" mangled="_ZN5boost5beginIA3_cEENS_14range_iteratorIKT_E4typeERS4_" demangled="boost::range_iterator<char[3] const>::type boost::begin<char[3]>(char[3] const&)" location="f170:103" file="f170" line="103" endline="109" inline="1">
+    <Argument name="r" type="_9794" location="f170:103" file="f170" line="103"/>
+  </Function>
+  <Function id="_3750" name="begin" returns="_3330" context="_1895" mangled="_ZN5boost5beginINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_14range_iteratorIT_E4typeERS8_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::type boost::begin<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >(boost::iterator_range<__gnu_cxx::__normal_iterator<char*, s [...]
+    <Argument name="r" type="_9795" location="f170:92" file="f170" line="92"/>
+  </Function>
+  <Function id="_3751" name="begin" returns="_3330" context="_1895" mangled="_ZN5boost5beginISsEENS_14range_iteratorIT_E4typeERS2_" demangled="boost::range_iterator<std::string>::type boost::begin<std::string>(std::string&)" location="f170:92" file="f170" line="92" endline="98" inline="1">
+    <Argument name="r" type="_4946" location="f170:92" file="f170" line="92"/>
+  </Function>
+  <Function id="_3752" name="begin" returns="_3328" context="_1895" mangled="_ZN5boost5beginIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_14range_iteratorIT_E4typeERSA_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::type boost::begin<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>(boost::iterator_range<__gnu_cxx::__nor [...]
+    <Argument name="r" type="_9793" location="f170:92" file="f170" line="92"/>
+  </Function>
+  <Function id="_3753" name="begin" returns="_2749" context="_1895" mangled="_ZN5boost5beginIKNS_14iterator_rangeIPKcEEEENS_14range_iteratorIT_E4typeERS7_" demangled="boost::range_iterator<boost::iterator_range<char const*> const>::type boost::begin<boost::iterator_range<char const*> const>(boost::iterator_range<char const*> const&)" location="f170:92" file="f170" line="92" extern="1" inline="1">
+    <Argument name="r" type="_9791" location="f170:92" file="f170" line="92"/>
+  </Function>
+  <Function id="_3754" name="begin" returns="_3328" context="_1895" mangled="_ZN5boost5beginIKSsEENS_14range_iteratorIT_E4typeERS3_" demangled="boost::range_iterator<std::string const>::type boost::begin<std::string const>(std::string const&)" location="f170:92" file="f170" line="92" extern="1" inline="1">
+    <Argument name="r" type="_4948" location="f170:92" file="f170" line="92"/>
+  </Function>
+  <Function id="_3755" name="begin" returns="_2749" context="_1895" mangled="_ZN5boost5beginIA3_KcEENS_14range_iteratorIT_E4typeERS4_" demangled="boost::range_iterator<char const[3]>::type boost::begin<char const[3]>(char const[3]&)" location="f170:92" file="f170" line="92" extern="1" inline="1">
+    <Argument name="r" type="_9794" location="f170:92" file="f170" line="92"/>
+  </Function>
+  <Struct id="_3756" name="range_iterator<const boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost14range_iteratorIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEE" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>" location="f171 [...]
+  <Struct id="_3757" name="range_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost14range_iteratorISsEE" demangled="boost::range_iterator<std::string>" location="f171:29" file="f171" line="29" artificial="1" size="8" align="8" members="_9869 _9870 _9871 " bases=""/>
+  <Struct id="_3758" name="range_iterator<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost14range_iteratorIKSsEE" demangled="boost::range_iterator<std::string const>" location="f171:29" file="f171" line="29" artificial="1" size="8" align="8" members="_9872 _9873 _9874 " bases=""/>
+  <Struct id="_3759" name="range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost14range_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >" location="f171:29" file="f171" line="29 [...]
+  <Struct id="_3760" name="range_iterator<const boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost14range_iteratorIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>" location="f171:29" file="f1 [...]
+  <Struct id="_3761" name="range_iterator<const boost::iterator_range<const char*> >" context="_1895" mangled="N5boost14range_iteratorIKNS_14iterator_rangeIPKcEEEE" demangled="boost::range_iterator<boost::iterator_range<char const*> const>" location="f171:29" file="f171" line="29" artificial="1" size="8" align="8" members="_9881 _9882 _9883 " bases=""/>
+  <Struct id="_3762" name="range_iterator<const char[3]>" context="_1895" mangled="N5boost14range_iteratorIA3_KcEE" demangled="boost::range_iterator<char const[3]>" location="f171:29" file="f171" line="29" artificial="1" size="8" align="8" members="_9884 _9885 _9886 " bases=""/>
+  <Struct id="_3763" name="is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost8is_constINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >" location="f172:53" file="f172" line="53" artificial="1" si [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3764" name="is_const<const boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost8is_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>" location="f172:53" file="f172" line="53" artif [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3765" name="is_const<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost8is_constISsEE" demangled="boost::is_const<std::string>" location="f172:53" file="f172" line="53" artificial="1" size="8" align="8" members="_9891 _9892 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3766" name="is_const<const boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost8is_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEE" demangled="boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>" location="f172:53" file="f172" li [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3767" name="is_const<const boost::iterator_range<const char*> >" context="_1895" mangled="N5boost8is_constIKNS_14iterator_rangeIPKcEEEE" demangled="boost::is_const<boost::iterator_range<char const*> const>" location="f172:53" file="f172" line="53" artificial="1" size="8" align="8" members="_9895 _9896 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3768" name="is_const<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost8is_constIKSsEE" demangled="boost::is_const<std::string const>" location="f172:53" file="f172" line="53" artificial="1" size="8" align="8" members="_9897 _9898 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3769" name="is_const<const char[3]>" context="_1895" mangled="N5boost8is_constIA3_KcEE" demangled="boost::is_const<char const[3]>" location="f172:53" file="f172" line="53" artificial="1" size="8" align="8" members="_9899 _9900 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3770" name="is_const<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>" context="_1895" mangled="N5boost8is_constIRKSbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>" location="f172:53" file="f172" line="53" artificial="1" size="8" align="8" members="_9901 _9902 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3771" name="is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" incomplete="1" mangled="N5boost8is_constISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f172:53" file="f172" line="53" artificial="1" align="8"/>
+  <Struct id="_3772" name="is_const<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>" context="_1895" mangled="N5boost8is_constIRKSsEE" demangled="boost::is_const<std::string const&>" location="f172:53" file="f172" line="53" artificial="1" size="8" align="8" members="_9903 _9904 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3773" name="is_reference<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>" context="_1895" mangled="N5boost12is_referenceIRKSsEE" demangled="boost::is_reference<std::string const&>" location="f173:38" file="f173" line="38" artificial="1" size="8" align="8" members="_9905 _9906 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3774" name="is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost12is_referenceISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f173:38" file="f173" line="38" artificial="1" size="8" align="8" members="_9907 _9908 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3775" name="is_reference<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>" context="_1895" mangled="N5boost12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>" location="f173:38" file="f173" line="38" artificial="1" size="8" align="8" members="_9909 _9910 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3776" name="is_reference<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost12is_referenceISsEE" demangled="boost::is_reference<std::string>" location="f173:38" file="f173" line="38" artificial="1" size="8" align="8" members="_9911 _9912 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3777" name="range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >" location="f174:36" fi [...]
+  <Struct id="_3778" name="range_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost20range_const_iteratorISsEE" demangled="boost::range_const_iterator<std::string>" location="f174:36" file="f174" line="36" artificial="1" size="8" align="8" members="_9916 _9917 _9918 " bases=""/>
+  <Struct id="_3779" name="range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEE" demangled="boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >" location [...]
+  <Struct id="_3780" name="range_const_iterator<boost::iterator_range<const char*> >" context="_1895" mangled="N5boost20range_const_iteratorINS_14iterator_rangeIPKcEEEE" demangled="boost::range_const_iterator<boost::iterator_range<char const*> >" location="f174:36" file="f174" line="36" artificial="1" size="8" align="8" members="_9922 _9923 _9924 " bases=""/>
+  <Struct id="_3781" name="range_const_iterator<char[3]>" context="_1895" mangled="N5boost20range_const_iteratorIA3_cEE" demangled="boost::range_const_iterator<char[3]>" location="f174:36" file="f174" line="36" artificial="1" size="8" align="8" members="_9925 _9926 _9927 " bases=""/>
+  <Struct id="_3782" name="remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost12remove_constINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >" location="f175:61" file="f175" line="61" arti [...]
+  <Struct id="_3783" name="remove_const<const boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost12remove_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>" location="f175:61" file="f175" li [...]
+  <Struct id="_3784" name="remove_const<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost12remove_constISsEE" demangled="boost::remove_const<std::string>" location="f175:61" file="f175" line="61" artificial="1" size="8" align="8" members="_9934 _9935 _9936 " bases=""/>
+  <Struct id="_3785" name="remove_const<const boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost12remove_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEE" demangled="boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>" location="f175:61" f [...]
+  <Struct id="_3786" name="remove_const<const boost::iterator_range<const char*> >" context="_1895" mangled="N5boost12remove_constIKNS_14iterator_rangeIPKcEEEE" demangled="boost::remove_const<boost::iterator_range<char const*> const>" location="f175:61" file="f175" line="61" artificial="1" size="8" align="8" members="_9940 _9941 _9942 " bases=""/>
+  <Struct id="_3787" name="remove_const<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost12remove_constIKSsEE" demangled="boost::remove_const<std::string const>" location="f175:61" file="f175" line="61" artificial="1" size="8" align="8" members="_9943 _9944 _9945 " bases=""/>
+  <Struct id="_3788" name="remove_const<const char[3]>" context="_1895" mangled="N5boost12remove_constIA3_KcEE" demangled="boost::remove_const<char const[3]>" location="f175:61" file="f175" line="61" artificial="1" size="8" align="8" members="_9947 _9948 _9949 " bases=""/>
+  <Struct id="_3789" name="remove_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost12remove_constISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::remove_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f175:61" file="f175" line="61" artificial="1" size="8" align="8" members="_9950 _9951 _9952 " bases=""/>
+  <Struct id="_3790" name="is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost11is_volatileINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >" location="f176:50" file="f176" line="50" artific [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3791" name="is_volatile<const boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost11is_volatileIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>" location="f176:50" file="f176" line= [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3792" name="is_volatile<const boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost11is_volatileIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEE" demangled="boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>" location="f176:50" file [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3793" name="is_volatile<const boost::iterator_range<const char*> >" context="_1895" mangled="N5boost11is_volatileIKNS_14iterator_rangeIPKcEEEE" demangled="boost::is_volatile<boost::iterator_range<char const*> const>" location="f176:50" file="f176" line="50" artificial="1" size="8" align="8" members="_9959 _9960 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3794" name="is_volatile<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost11is_volatileIKSsEE" demangled="boost::is_volatile<std::string const>" location="f176:50" file="f176" line="50" artificial="1" size="8" align="8" members="_9961 _9962 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3795" name="is_volatile<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_1895" mangled="N5boost11is_volatileISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::is_volatile<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f176:50" file="f176" line="50" artificial="1" size="8" align="8" members="_9963 _9964 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3796" name="is_volatile<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost11is_volatileISsEE" demangled="boost::is_volatile<std::string>" location="f176:50" file="f176" line="50" artificial="1" size="8" align="8" members="_9965 _9966 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3797" name="integral_constant<bool,false>" context="_1895" mangled="N5boost17integral_constantIbLb0EEE" demangled="boost::integral_constant<bool, false>" location="f177:37" file="f177" line="37" artificial="1" size="8" align="8" members="_9967 _9968 " bases="_3259 ">
+    <Base type="_3259" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_3798" name="false_type" type="_3797" context="_1895" location="f177:49" file="f177" line="49"/>
+  <Struct id="_3799" name="integral_constant<bool,true>" context="_1895" mangled="N5boost17integral_constantIbLb1EEE" demangled="boost::integral_constant<bool, true>" location="f177:26" file="f177" line="26" artificial="1" size="8" align="8" members="_9969 _9970 " bases="_3261 ">
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_3800" name="true_type" type="_3799" context="_1895" location="f177:48" file="f177" line="48"/>
+  <Struct id="_3801" name="integral_constant<unsigned int,4>" context="_1895" mangled="N5boost17integral_constantIjLj4EEE" demangled="boost::integral_constant<unsigned, 4>" location="f177:21" file="f177" line="21" artificial="1" size="8" align="8" members="_9971 _9972 " bases="_3253 ">
+    <Base type="_3253" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3802" name="integral_constant<unsigned int,0>" context="_1895" mangled="N5boost17integral_constantIjLj0EEE" demangled="boost::integral_constant<unsigned, 0>" location="f177:21" file="f177" line="21" artificial="1" size="8" align="8" members="_9973 _9974 " bases="_3256 ">
+    <Base type="_3256" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3803" name="range_mutable_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" mangled="N5boost22range_mutable_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::range_mutable_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >" location="f178: [...]
+  <Struct id="_3804" name="range_mutable_iterator<const boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" incomplete="1" mangled="N5boost22range_mutable_iteratorIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::range_mutable_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > [...]
+  <Struct id="_3805" name="range_mutable_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" mangled="N5boost22range_mutable_iteratorISsEE" demangled="boost::range_mutable_iterator<std::string>" location="f178:36" file="f178" line="36" artificial="1" size="8" align="8" members="_9978 _9979 _9980 " bases=""/>
+  <Struct id="_3806" name="range_mutable_iterator<const boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_1895" incomplete="1" mangled="N5boost22range_mutable_iteratorIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEE" demangled="boost::range_mutable_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::st [...]
+  <Struct id="_3807" name="range_mutable_iterator<const boost::iterator_range<const char*> >" context="_1895" incomplete="1" mangled="N5boost22range_mutable_iteratorIKNS_14iterator_rangeIPKcEEEE" demangled="boost::range_mutable_iterator<boost::iterator_range<char const*> const>" location="f178:36" file="f178" line="36" artificial="1" align="8"/>
+  <Struct id="_3808" name="range_mutable_iterator<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_1895" incomplete="1" mangled="N5boost22range_mutable_iteratorIKSsEE" demangled="boost::range_mutable_iterator<std::string const>" location="f178:36" file="f178" line="36" artificial="1" align="8"/>
+  <Struct id="_3809" name="range_mutable_iterator<const char[3]>" context="_1895" incomplete="1" mangled="N5boost22range_mutable_iteratorIA3_KcEE" demangled="boost::range_mutable_iterator<char const[3]>" location="f178:36" file="f178" line="36" artificial="1" align="8"/>
+  <Struct id="_3810" name="iterator_difference<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost19iterator_differenceIN9__gnu_cxx17__normal_iteratorIPcSsEEEE" demangled="boost::iterator_difference<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f179:48" file="f179" line="48" artificial="1" size="8" align="8" members="_9981 _9982 _9983 " ba [...]
+  <Struct id="_3811" name="iterator_difference<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost19iterator_differenceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::iterator_difference<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f179:48" file="f179" line="48" artificial="1" size="8" align="8" members="_9984 _99 [...]
+  <Struct id="_3812" name="iterator_difference<const char*>" context="_1895" mangled="N5boost19iterator_differenceIPKcEE" demangled="boost::iterator_difference<char const*>" location="f179:48" file="f179" line="48" artificial="1" size="8" align="8" members="_9987 _9988 _9989 " bases=""/>
+  <Struct id="_3813" name="iterator_reference<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost18iterator_referenceIN9__gnu_cxx17__normal_iteratorIPcSsEEEE" demangled="boost::iterator_reference<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f179:35" file="f179" line="35" artificial="1" size="8" align="8" members="_9990 _9991 _9992 " bases=""/>
+  <Struct id="_3814" name="iterator_reference<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost18iterator_referenceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::iterator_reference<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f179:35" file="f179" line="35" artificial="1" size="8" align="8" members="_9993 _9994  [...]
+  <Struct id="_3815" name="iterator_reference<const char*>" context="_1895" mangled="N5boost18iterator_referenceIPKcEE" demangled="boost::iterator_reference<char const*>" location="f179:35" file="f179" line="35" artificial="1" size="8" align="8" members="_9996 _9997 _9998 " bases=""/>
+  <Struct id="_3816" name="iterator_value<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost14iterator_valueIN9__gnu_cxx17__normal_iteratorIPcSsEEEE" demangled="boost::iterator_value<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f179:29" file="f179" line="29" artificial="1" size="8" align="8" members="_9999 _10000 _10001 " bases=""/>
+  <Struct id="_3817" name="iterator_value<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_1895" mangled="N5boost14iterator_valueIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::iterator_value<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f179:29" file="f179" line="29" artificial="1" size="8" align="8" members="_10002 _10003 _10004 " b [...]
+  <Struct id="_3818" name="iterator_value<const char*>" context="_1895" mangled="N5boost14iterator_valueIPKcEE" demangled="boost::iterator_value<char const*>" location="f179:29" file="f179" line="29" artificial="1" size="8" align="8" members="_10005 _10006 _10007 " bases=""/>
+  <OperatorFunction id="_3819" name=">=" returns="_3949" context="_1895" mangled="_ZN5boostgeERKNS_9date_time13date_durationINS0_23duration_traits_adaptedEEES5_" demangled="boost::operator>=(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f130:138" file="f130" line="138" extern="1" inline="1">
+    <Argument name="x" type="_10008" location="f130:138" file="f130" line="138"/>
+    <Argument name="y" type="_10008" location="f130:138" file="f130" line="138"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3820" name="<=" returns="_3949" context="_1895" mangled="_ZN5boostleERKNS_9date_time13date_durationINS0_23duration_traits_adaptedEEES5_" demangled="boost::operator<=(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f130:137" file="f130" line="137" extern="1" inline="1">
+    <Argument name="x" type="_10008" location="f130:137" file="f130" line="137"/>
+    <Argument name="y" type="_10008" location="f130:137" file="f130" line="137"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3821" name=">" returns="_3949" context="_1895" mangled="_ZN5boostgtERKNS_9date_time13date_durationINS0_23duration_traits_adaptedEEES5_" demangled="boost::operator>(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f130:136" file="f130" line="136" extern="1" inline="1">
+    <Argument name="x" type="_10008" location="f130:136" file="f130" line="136"/>
+    <Argument name="y" type="_10008" location="f130:136" file="f130" line="136"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3822" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneERKNS_9date_time13date_durationINS0_23duration_traits_adaptedEEES5_" demangled="boost::operator!=(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f130:152" file="f130" line="152" extern="1" inline="1">
+    <Argument name="x" type="_10008" location="f130:152" file="f130" line="152"/>
+    <Argument name="y" type="_10008" location="f130:152" file="f130" line="152"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3823" name="+" returns="_10009" context="_1895" mangled="_ZN5boostplENS_9date_time13date_durationINS0_23duration_traits_adaptedEEERKS3_" demangled="boost::operator+(boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f130:250" file="f130" line="250" endline="250" inline="1">
+    <Argument name="lhs" type="_10009" location="f130:250" file="f130" line="250"/>
+    <Argument name="rhs" type="_10008" location="f130:250" file="f130" line="250"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3824" name="-" returns="_10009" context="_1895" mangled="_ZN5boostmiENS_9date_time13date_durationINS0_23duration_traits_adaptedEEERKS3_" demangled="boost::operator-(boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f130:251" file="f130" line="251" extern="1" inline="1">
+    <Argument name="lhs" type="_10009" location="f130:251" file="f130" line="251"/>
+    <Argument name="rhs" type="_10008" location="f130:251" file="f130" line="251"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3825" name=">=" returns="_3949" context="_1895" mangled="_ZN5boostgeERKNS_9gregorian4dateES3_" demangled="boost::operator>=(boost::gregorian::date const&, boost::gregorian::date const&)" location="f130:138" file="f130" line="138" extern="1" inline="1">
+    <Argument name="x" type="_10010" location="f130:138" file="f130" line="138"/>
+    <Argument name="y" type="_10010" location="f130:138" file="f130" line="138"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3826" name="<=" returns="_3949" context="_1895" mangled="_ZN5boostleERKNS_9gregorian4dateES3_" demangled="boost::operator<=(boost::gregorian::date const&, boost::gregorian::date const&)" location="f130:137" file="f130" line="137" extern="1" inline="1">
+    <Argument name="x" type="_10010" location="f130:137" file="f130" line="137"/>
+    <Argument name="y" type="_10010" location="f130:137" file="f130" line="137"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3827" name=">" returns="_3949" context="_1895" mangled="_ZN5boostgtERKNS_9gregorian4dateES3_" demangled="boost::operator>(boost::gregorian::date const&, boost::gregorian::date const&)" location="f130:136" file="f130" line="136" endline="136" inline="1">
+    <Argument name="x" type="_10010" location="f130:136" file="f130" line="136"/>
+    <Argument name="y" type="_10010" location="f130:136" file="f130" line="136"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3828" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneERKNS_9gregorian4dateES3_" demangled="boost::operator!=(boost::gregorian::date const&, boost::gregorian::date const&)" location="f130:152" file="f130" line="152" extern="1" inline="1">
+    <Argument name="x" type="_10010" location="f130:152" file="f130" line="152"/>
+    <Argument name="y" type="_10010" location="f130:152" file="f130" line="152"/>
+  </OperatorFunction>
+  <OperatorFunction id="_3829" name="!=" returns="_3949" context="_1895" mangled="_ZN5boostneINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEES5_EEbRKNS_10shared_ptrIT_EERKNS6_IT0_EE" demangled="bool boost::operator!=<boost::date_time::time_zone_base<boost::posix_time::ptime, char>, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >(boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > const&, boost:: [...]
+    <Argument name="a" type="_10011" location="f180:433" file="f180" line="433"/>
+    <Argument name="b" type="_10011" location="f180:433" file="f180" line="433"/>
+  </OperatorFunction>
+  <Class id="_3830" name="shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >" context="_1895" mangled="N5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEE" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >" location="f180:131" file="f180" line="131" artificial="1" size="64" align="32" members="_10012 _10013 _10015 _10016 _10018 _10020 _10022 _10023 _10024 _10025 _100 [...]
+  <Class id="_3831" name="shared_ptr<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > > >" context="_1895" mangled="N5boost10shared_ptrISt3mapISstS [...]
+  <Class id="_3832" name="shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >" context="_1895" mangled="N5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEE" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >" location="f180:131" file="f180" line="131" artificial="1" size="64" align="32" members="_10063 _10064 _10066 _10067 _10069 _10071 _10073 _10074 _10075 _10076 _10077 _10078 _ [...]
+  <Class id="_3833" name="shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, wchar_t> >" context="_1895" incomplete="1" mangled="N5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEwEEEE" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, wchar_t> >" location="f180:131" file="f180" line="131" artificial="1" align="8"/>
+  <Class id="_3834" name="bad_weak_ptr" context="_1895" mangled="N5boost12bad_weak_ptrE" demangled="boost::bad_weak_ptr" location="f21:40" file="f21" line="40" artificial="1" size="32" align="32" members="_10089 _10090 _10091 _10092 " bases="_2424 ">
+    <Base type="_2424" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Function id="_3835" name="throw_exception" returns="_1194" context="_1895" mangled="_ZN5boost15throw_exceptionINS_16bad_lexical_castEEEvRKT_" demangled="void boost::throw_exception<boost::bad_lexical_cast>(boost::bad_lexical_cast const&)" location="f181:38" file="f181" line="38" endline="39" inline="1">
+    <Argument name="e" type="_10093" location="f181:38" file="f181" line="38"/>
+  </Function>
+  <Function id="_3836" name="throw_exception" returns="_1194" context="_1895" mangled="_ZN5boost15throw_exceptionINS_12bad_weak_ptrEEEvRKT_" demangled="void boost::throw_exception<boost::bad_weak_ptr>(boost::bad_weak_ptr const&)" location="f181:38" file="f181" line="38" endline="39" inline="1">
+    <Argument name="e" type="_10094" location="f181:38" file="f181" line="38"/>
+  </Function>
+  <Struct id="_3837" name="subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>,boost::date_time::date_duration<boost::date_time::duration_traits_adapted>,boost::detail::empty_base,boost::detail::false_t>" context="_1895" mangled="N5boost12subtractableINS_9date_time13date_durationINS1_23duration_traits_adaptedEEES4_NS_6detail10empty_baseENS5_7false_tEEE" demangled="boost::subtractable<boost::date_time::date_duration<boost::date_t [...]
+    <Base type="_3869" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3838" name="addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>,boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t>,boost::detail::empty_base,boost::detail::true_t>" context="_1895" mangled="N5boost7addableINS_9date_time13date_durationINS1_23dur [...]
+    <Base type="_3870" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3839" name="equality_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>,boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>,boost::detail::empty [...]
+    <Base type="_3871" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3840" name="equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>,boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>,boost::detail::empty_base,boost::detail::false_t>" context="_1895" mangled="N5boost19equality_comparableINS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEES6_NS_6detail10empty_baseENS7_7false_tEEE" demangled="boost::equality_comparable<boo [...]
+    <Base type="_3872" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3841" name="equality_comparable<boost::posix_time::ptime,boost::posix_time::ptime,boost::detail::empty_base,boost::detail::false_t>" context="_1895" mangled="N5boost19equality_comparableINS_10posix_time5ptimeES2_NS_6detail10empty_baseENS3_7false_tEEE" demangled="boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t>" location="f130:799" file="f130" line="799" artificial="1" size="8" alig [...]
+    <Base type="_3873" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3842" name="equality_comparable<boost::posix_time::time_duration,boost::posix_time::time_duration,boost::detail::empty_base,boost::detail::false_t>" context="_1895" mangled="N5boost19equality_comparableINS_10posix_time13time_durationES2_NS_6detail10empty_baseENS3_7false_tEEE" demangled="boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t>" location="f130:799" file="f130 [...]
+    <Base type="_3874" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3843" name="equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >,boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >,boost::detail::empty_base,boost::detail::false_t>" context="_1895" mangled="N5boost19equality_comparableINS_9date_time6periodINS_9gregorian4dateENS1_13date_duratio [...]
+    <Base type="_3875" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3844" name="equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>,boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t>, boost::detail::empt [...]
+    <Base type="_3876" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3845" name="equality_comparable<boost::gregorian::date,boost::gregorian::date,boost::detail::empty_base,boost::detail::false_t>" context="_1895" mangled="N5boost19equality_comparableINS_9gregorian4dateES2_NS_6detail10empty_baseENS3_7false_tEEE" demangled="boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t>" location="f130:799" file="f130" line="799" artificial="1" size="8" align="8" membe [...]
+    <Base type="_3877" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3846" name="less_than_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>,boost::equality_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_du [...]
+    <Base type="_3878" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3847" name="less_than_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>,boost::equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base, boost::detail::false_t>,boost::detail::empty_base,boost::detail::true_t>" context="_1895" mangled="N5bo [...]
+    <Base type="_3879" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3848" name="less_than_comparable<boost::posix_time::ptime,boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t>,boost::detail::empty_base,boost::detail::true_t>" context="_1895" mangled="N5boost20less_than_comparableINS_10posix_time5ptimeENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEES5_NS4_6true_tEEE" demangled="boost::less_than_comparable<boost::posix_time::p [...]
+    <Base type="_3880" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3849" name="less_than_comparable<boost::posix_time::time_duration,boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t>,boost::detail::empty_base,boost::detail::true_t>" context="_1895" mangled="N5boost20less_than_comparableINS_10posix_time13time_durationENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEES5_NS4_6true_tEEE" demangled="boost::less_than_c [...]
+    <Base type="_3881" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3850" name="less_than_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >,boost::equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> & [...]
+    <Base type="_3882" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3851" name="less_than_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>,boost::equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::d [...]
+    <Base type="_3883" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3852" name="less_than_comparable<boost::gregorian::date,boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t>,boost::detail::empty_base,boost::detail::true_t>" context="_1895" mangled="N5boost20less_than_comparableINS_9gregorian4dateENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEES5_NS4_6true_tEEE" demangled="boost::less_than_comparable<boost::gregorian::date, boost [...]
+    <Base type="_3884" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3853" name="is_chained_base<boost::equality_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>, boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_durati [...]
+  <Struct id="_3854" name="is_chained_base<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration> >" context="_1895" mangled="N5boost15is_chained_baseINS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEEEE" demangled="boost::is_chained_base<boost: [...]
+  <Struct id="_3855" name="is_chained_base<boost::equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost15is_chained_baseINS_19equality_comparableINS_9date_time6periodINS_10posix_time5ptimeENS4_13time_durationEEES7_NS_6detail10empty_baseENS8_7f [...]
+  <Struct id="_3856" name="is_chained_base<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> >" context="_1895" mangled="N5boost15is_chained_baseINS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEEEE" demangled="boost::is_chained_base<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> >" location="f130:696" file="f130" line="696" artificial="1" size="8" align="8" members="_10138 _10 [...]
+  <Struct id="_3857" name="is_chained_base<boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost15is_chained_baseINS_19equality_comparableINS_10posix_time5ptimeES3_NS_6detail10empty_baseENS4_7false_tEEEEE" demangled="boost::is_chained_base<boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::f [...]
+  <Struct id="_3858" name="is_chained_base<boost::posix_time::ptime>" context="_1895" mangled="N5boost15is_chained_baseINS_10posix_time5ptimeEEE" demangled="boost::is_chained_base<boost::posix_time::ptime>" location="f130:696" file="f130" line="696" artificial="1" size="8" align="8" members="_10144 _10145 _10146 " bases=""/>
+  <Struct id="_3859" name="is_chained_base<boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost15is_chained_baseINS_19equality_comparableINS_10posix_time13time_durationES3_NS_6detail10empty_baseENS4_7false_tEEEEE" demangled="boost::is_chained_base<boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, bo [...]
+  <Struct id="_3860" name="is_chained_base<boost::posix_time::time_duration>" context="_1895" mangled="N5boost15is_chained_baseINS_10posix_time13time_durationEEE" demangled="boost::is_chained_base<boost::posix_time::time_duration>" location="f130:696" file="f130" line="696" artificial="1" size="8" align="8" members="_10150 _10151 _10152 " bases=""/>
+  <Struct id="_3861" name="is_chained_base<boost::equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost15is_chained_baseINS_19equality_comparableINS_ [...]
+  <Struct id="_3862" name="is_chained_base<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > >" context="_1895" mangled="N5boost15is_chained_baseINS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEEEE" demangled="boost::is_chained_base<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_tra [...]
+  <Struct id="_3863" name="is_chained_base<boost::equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false [...]
+  <Struct id="_3864" name="is_chained_base<boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t>, boost::detail::empty_base, boost::detail::true_t> >" context="_1895" mangled="N5boost15is_chained_ [...]
+  <Struct id="_3865" name="is_chained_base<boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost15is_chained_baseINS_12subtractableINS_9date_time13date_durationINS2_23duration_traits_adaptedEEES5_NS_6detail10empty_baseENS6_7false_tEEEEE" demangled="boost::is_chai [...]
+  <Struct id="_3866" name="is_chained_base<boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >" context="_1895" mangled="N5boost15is_chained_baseINS_9date_time13date_durationINS1_23duration_traits_adaptedEEEEE" demangled="boost::is_chained_base<boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >" location="f130:696" file="f130" line="696" artificial="1" size="8" align="8" members="_10168 _10169 _10170 " bases=""/>
+  <Struct id="_3867" name="is_chained_base<boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost15is_chained_baseINS_19equality_comparableINS_9gregorian4dateES3_NS_6detail10empty_baseENS4_7false_tEEEEE" demangled="boost::is_chained_base<boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t>  [...]
+  <Struct id="_3868" name="is_chained_base<boost::gregorian::date>" context="_1895" mangled="N5boost15is_chained_baseINS_9gregorian4dateEEE" demangled="boost::is_chained_base<boost::gregorian::date>" location="f130:696" file="f130" line="696" artificial="1" size="8" align="8" members="_10174 _10175 _10176 " bases=""/>
+  <Struct id="_3869" name="subtractable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>,boost::detail::empty_base>" context="_1895" mangled="N5boost13subtractable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_6detail10empty_baseEEE" demangled="boost::subtractable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base>" location="f130:251" file="f130" line="251" artificia [...]
+    <Base type="_10179" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3870" name="addable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>,boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost8addable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_12subtractableIS4_S [...]
+    <Base type="_3837" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3871" name="equality_comparable1<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>,boost::detail::empty_base>" context="_1895" mangled="N5boost20equality_comparable1INS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEENS_6detail10 [...]
+    <Base type="_10179" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3872" name="equality_comparable1<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>,boost::detail::empty_base>" context="_1895" mangled="N5boost20equality_comparable1INS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEENS_6detail10empty_baseEEE" demangled="boost::equality_comparable1<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base>" locatio [...]
+    <Base type="_10179" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3873" name="equality_comparable1<boost::posix_time::ptime,boost::detail::empty_base>" context="_1895" mangled="N5boost20equality_comparable1INS_10posix_time5ptimeENS_6detail10empty_baseEEE" demangled="boost::equality_comparable1<boost::posix_time::ptime, boost::detail::empty_base>" location="f130:151" file="f130" line="151" artificial="1" size="8" align="8" members="_10186 _10187 " bases="_10179 ">
+    <Base type="_10179" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3874" name="equality_comparable1<boost::posix_time::time_duration,boost::detail::empty_base>" context="_1895" mangled="N5boost20equality_comparable1INS_10posix_time13time_durationENS_6detail10empty_baseEEE" demangled="boost::equality_comparable1<boost::posix_time::time_duration, boost::detail::empty_base>" location="f130:151" file="f130" line="151" artificial="1" size="8" align="8" members="_10188 _10189 " bases="_10179 ">
+    <Base type="_10179" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3875" name="equality_comparable1<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >,boost::detail::empty_base>" context="_1895" mangled="N5boost20equality_comparable1INS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEENS_6detail10empty_baseEEE" demangled="boost::equality_comparable1<boost::date_time::period<boost::gregorian::date, bo [...]
+    <Base type="_10179" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3876" name="equality_comparable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>,boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::detail::false_t>, boost::detail::emp [...]
+    <Base type="_3838" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3877" name="equality_comparable1<boost::gregorian::date,boost::detail::empty_base>" context="_1895" mangled="N5boost20equality_comparable1INS_9gregorian4dateENS_6detail10empty_baseEEE" demangled="boost::equality_comparable1<boost::gregorian::date, boost::detail::empty_base>" location="f130:151" file="f130" line="151" artificial="1" size="8" align="8" members="_10194 _10195 " bases="_10179 ">
+    <Base type="_10179" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3878" name="less_than_comparable1<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>,boost::equality_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_d [...]
+    <Base type="_3839" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3879" name="less_than_comparable1<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>,boost::equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost21less_than_comparable1INS_9date_time6perio [...]
+    <Base type="_3840" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3880" name="less_than_comparable1<boost::posix_time::ptime,boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost21less_than_comparable1INS_10posix_time5ptimeENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEEEE" demangled="boost::less_than_comparable1<boost::posix_time::ptime, boost::equality_comparable<boost::posix_time::ptim [...]
+    <Base type="_3841" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3881" name="less_than_comparable1<boost::posix_time::time_duration,boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost21less_than_comparable1INS_10posix_time13time_durationENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEEEE" demangled="boost::less_than_comparable1<boost::posix_time::time_duration, boost::equal [...]
+    <Base type="_3842" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3882" name="less_than_comparable1<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >,boost::equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>  [...]
+    <Base type="_3843" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3883" name="less_than_comparable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>,boost::equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost:: [...]
+    <Base type="_3844" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3884" name="less_than_comparable1<boost::gregorian::date,boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t> >" context="_1895" mangled="N5boost21less_than_comparable1INS_9gregorian4dateENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEEEE" demangled="boost::less_than_comparable1<boost::gregorian::date, boost::equality_comparable<boost::gregorian::date, boost::gre [...]
+    <Base type="_3845" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_3885" name="iterator<std::output_iterator_tag,void,void,void,void>" context="_1895" incomplete="1" mangled="N5boost8iteratorISt19output_iterator_tagvvvvEE" demangled="boost::iterator<std::output_iterator_tag, void, void, void, void>" location="f182:55" file="f182" line="55" artificial="1" align="8"/>
+  <Typedef id="_3886" name="ulong_long_type" type="_1288" context="_1895" location="f183:446" file="f183" line="446"/>
+  <Typedef id="_3887" name="long_long_type" type="_1290" context="_1895" location="f183:445" file="f183" line="445"/>
+  <Namespace id="_3888" name="local_time" context="_1895" members="_10210 _10212 _10214 _10216 _10218 _10220 _10222 _10223 _10224 _10226 _10228 _10229 _10230 _10232 _10233 _10235 _10237 _10239 _10241 _10243 _10244 _10246 _10248 _10249 _10250 _10252 _10253 _10255 _10256 _10258 _10259 _10261 _10262 _10263 _10264 _10265 _10266 _10267 _10268 _10269 _10270 _10271 _8349 _10272 _10273 _10274 " mangled="_ZN5boost10local_timeE" demangled="boost::local_time"/>
+  <Namespace id="_3889" name="posix_time" context="_1895" members="_10275 _10276 _10277 _10278 _10279 _10280 _10281 _10282 _10283 _10285 _10287 _10288 _10289 _10290 _10291 _10292 _10293 _10294 _10297 _10300 _10303 _10306 _10309 _10313 _10315 _10317 _10319 _10321 _10323 _10325 _10326 _10328 _10329 _10330 _10331 _10332 _10333 _10334 _10335 _10336 _10337 _10338 _10339 _10340 _10341 _10343 _10345 _10346 _10347 _10349 " mangled="_ZN5boost10posix_timeE" demangled="boost::posix_time"/>
+  <Namespace id="_3890" name="tokenizer_detail" context="_1895" members="" mangled="_ZN5boost16tokenizer_detailE" demangled="boost::tokenizer_detail"/>
+  <Namespace id="_3891" name="io" context="_1895" members="_10358 _10359 _10360 _10362 _10364 _10366 _10368 _10370 _10372 _10374 _10376 _10378 _10380 _10382 _10384 _10386 _10388 _10389 _10390 _10391 _10392 " mangled="_ZN5boost2ioE" demangled="boost::io"/>
+  <Namespace id="_3892" name="_mfi" context="_1895" members="" mangled="_ZN5boost4_mfiE" demangled="boost::_mfi"/>
+  <Namespace id="_3893" name="algorithm" context="_1895" members="_10395 _10396 _10398 _10399 _10400 _10401 _10402 _10403 _10404 _10407 _10408 _10413 " mangled="_ZN5boost9algorithmE" demangled="boost::algorithm"/>
+  <Namespace id="_3894" name="concept" context="_1895" members="_10422 " mangled="_ZN5boost7conceptE" demangled="boost::concept"/>
+  <Namespace id="_3895" name="iterator_range_detail" context="_1895" members="_10423 _10424 " mangled="_ZN5boost21iterator_range_detailE" demangled="boost::iterator_range_detail"/>
+  <Namespace id="_3896" name="iterators" context="_1895" members="" mangled="_ZN5boost9iteratorsE" demangled="boost::iterators"/>
+  <Namespace id="_3897" name="noncopyable_" context="_1895" members="_3694 " mangled="_ZN5boost12noncopyable_E" demangled="boost::noncopyable_"/>
+  <Namespace id="_3898" name="type_traits" context="_1895" members="_10441 _10449 _10450 " mangled="_ZN5boost11type_traitsE" demangled="boost::type_traits"/>
+  <Namespace id="_3899" name="range_detail" context="_1895" members="_10461 _10462 _10463 _10464 _10465 _10466 _10467 _10468 _10469 _10470 _10471 _10472 _10473 _10474 _10475 _10476 _10477 _10478 _10479 _10480 _10481 _10482 _10483 _10484 _10485 _10486 _10487 _10488 _10489 " mangled="_ZN5boost12range_detailE" demangled="boost::range_detail"/>
+  <Namespace id="_3900" name="mpl" context="_1895" members="_10628 _10629 " mangled="_ZN5boost3mplE" demangled="boost::mpl"/>
+  <Namespace id="_3901" name="gregorian" context="_1895" members="_10630 _10631 _10632 _10633 _10634 _10635 _10636 _10637 _10638 _10639 _10640 _10641 _10642 _10643 _10644 _10645 _10648 _10651 _10654 _10657 _10660 _10663 _10664 _10688 _10690 _10692 _10694 _10696 _10698 _10700 _10702 _10704 _10706 _10708 _10710 _10712 _10714 _10716 _10718 _10720 _10722 _10724 _10725 _10727 _10728 _10730 _10731 _10733 _10734 _10736 _10737 _10739 _10741 _10743 _10745 _10747 _10749 _10750 _9061 _10751 _10752  [...]
+  <Namespace id="_3902" name="CV" context="_1895" members="_10790 " mangled="_ZN5boost2CVE" demangled="boost::CV"/>
+  <Namespace id="_3903" name="detail" context="_1895" members="_10821 _10822 _10823 _10897 _10899 _10900 _10915 _10938 _10953 _11096 _11156 _11164 _11165 _11166 _11167 _11168 _11169 _11170 _11171 _11172 _11173 _11174 _11175 _11176 _11177 _10131 _10127 _10179 _11178 _11179 " mangled="_ZN5boost6detailE" demangled="boost::detail"/>
+  <Namespace id="_3904" name="date_time" context="_1895" members="_11180 _11181 _11185 _11190 _11191 _11192 _11193 _11194 _11195 _11196 _11197 _11198 _11201 _11202 _11204 _11205 _11206 _11207 _11208 _11212 _11213 _11227 _9064 _11254 _11256 _11257 _11262 _10753 _11268 _10766 _11273 _11275 " mangled="_ZN5boost9date_timeE" demangled="boost::date_time"/>
+  <Field id="_3905" name="_M_cfile" type="_11276" offset="0" context="_1896" access="private" mangled="_ZNSt12__basic_fileIcE8_M_cfileE" demangled="std::__basic_file<char>::_M_cfile" location="f76:58" file="f76" line="58"/>
+  <Field id="_3906" name="_M_cfile_created" type="_3949" offset="32" context="_1896" access="private" mangled="_ZNSt12__basic_fileIcE16_M_cfile_createdE" demangled="std::__basic_file<char>::_M_cfile_created" location="f76:61" file="f76" line="61"/>
+  <Constructor id="_3907" name="__basic_file" artificial="1" throw="" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcEC1ERKS0_ *INTERNAL* " demangled="std::__basic_file<char>::__basic_file(std::__basic_file<char> const&)" location="f76:56" file="f76" line="56" inline="1">
+    <Argument name="_ctor_arg" type="_11277" location="f76:56" file="f76" line="56"/>
+  </Constructor>
+  <Constructor id="_3908" name="__basic_file" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t *INTERNAL* " demangled="std::__basic_file<char>::__basic_file(pthread_mutex_t*)" location="f76:64" file="f76" line="64" extern="1">
+    <Argument name="__lock" type="_11278" location="f76:64" file="f76" line="64" default="0"/>
+  </Constructor>
+  <Method id="_3909" name="open" returns="_11279" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei" demangled="std::__basic_file<char>::open(char const*, std::_Ios_Openmode, int)" location="f76:67" file="f76" line="67" extern="1">
+    <Argument name="__name" type="_2749" location="f76:67" file="f76" line="67"/>
+    <Argument name="__mode" type="_2137" location="f76:67" file="f76" line="67"/>
+    <Argument name="__prot" type="_503" location="f76:67" file="f76" line="67" default="436"/>
+  </Method>
+  <Method id="_3910" name="sys_open" returns="_11279" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode" demangled="std::__basic_file<char>::sys_open(_IO_FILE*, std::_Ios_Openmode)" location="f76:70" file="f76" line="70" extern="1">
+    <Argument name="__file" type="_11276" location="f76:70" file="f76" line="70"/>
+    <Argument type="_2137" location="f76:70" file="f76" line="70"/>
+  </Method>
+  <Method id="_3911" name="sys_open" returns="_11279" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode" demangled="std::__basic_file<char>::sys_open(int, std::_Ios_Openmode)" location="f76:73" file="f76" line="73" extern="1">
+    <Argument name="__fd" type="_503" location="f76:73" file="f76" line="73"/>
+    <Argument name="__mode" type="_2137" location="f76:73" file="f76" line="73"/>
+  </Method>
+  <Method id="_3912" name="close" returns="_11279" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE5closeEv" demangled="std::__basic_file<char>::close()" location="f76:76" file="f76" line="76" extern="1"/>
+  <Method id="_3913" name="is_open" returns="_3949" const="1" context="_1896" access="public" mangled="_ZNKSt12__basic_fileIcE7is_openEv" demangled="std::__basic_file<char>::is_open() const" location="f76:79" file="f76" line="79" extern="1"/>
+  <Method id="_3914" name="fd" returns="_503" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE2fdEv" demangled="std::__basic_file<char>::fd()" location="f76:82" file="f76" line="82" extern="1"/>
+  <Method id="_3915" name="file" returns="_11276" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE4fileEv" demangled="std::__basic_file<char>::file()" location="f76:85" file="f76" line="85" extern="1"/>
+  <Destructor id="_3916" name="__basic_file" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcED1Ev *INTERNAL* " demangled="std::__basic_file<char>::~__basic_file()" location="f76:87" file="f76" line="87" extern="1">
+  </Destructor>
+  <Method id="_3917" name="xsputn" returns="_2499" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE6xsputnEPKci" demangled="std::__basic_file<char>::xsputn(char const*, int)" location="f76:90" file="f76" line="90" extern="1">
+    <Argument name="__s" type="_2749" location="f76:90" file="f76" line="90"/>
+    <Argument name="__n" type="_2499" location="f76:90" file="f76" line="90"/>
+  </Method>
+  <Method id="_3918" name="xsputn_2" returns="_2499" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i" demangled="std::__basic_file<char>::xsputn_2(char const*, int, char const*, int)" location="f76:94" file="f76" line="94" extern="1">
+    <Argument name="__s1" type="_2749" location="f76:94" file="f76" line="94"/>
+    <Argument name="__n1" type="_2499" location="f76:94" file="f76" line="94"/>
+    <Argument name="__s2" type="_2749" location="f76:94" file="f76" line="94"/>
+    <Argument name="__n2" type="_2499" location="f76:94" file="f76" line="94"/>
+  </Method>
+  <Method id="_3919" name="xsgetn" returns="_2499" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE6xsgetnEPci" demangled="std::__basic_file<char>::xsgetn(char*, int)" location="f76:97" file="f76" line="97" extern="1">
+    <Argument name="__s" type="_1149" location="f76:97" file="f76" line="97"/>
+    <Argument name="__n" type="_2499" location="f76:97" file="f76" line="97"/>
+  </Method>
+  <Method id="_3920" name="seekoff" returns="_2500" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir" demangled="std::__basic_file<char>::seekoff(long long, std::_Ios_Seekdir)" location="f76:100" file="f76" line="100" extern="1">
+    <Argument name="__off" type="_2500" location="f76:100" file="f76" line="100"/>
+    <Argument name="__way" type="_2121" location="f76:100" file="f76" line="100"/>
+  </Method>
+  <Method id="_3921" name="sync" returns="_503" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE4syncEv" demangled="std::__basic_file<char>::sync()" location="f76:103" file="f76" line="103" extern="1"/>
+  <Method id="_3922" name="showmanyc" returns="_2499" context="_1896" access="public" mangled="_ZNSt12__basic_fileIcE9showmanycEv" demangled="std::__basic_file<char>::showmanyc()" location="f76:106" file="f76" line="106" extern="1"/>
+  <ReferenceType id="_3923" type="_2443" size="32" align="32"/>
+  <ReferenceType id="_3924" type="_2469" size="32" align="32"/>
+  <ReferenceType id="_3925" type="_2445" size="32" align="32"/>
+  <ReferenceType id="_3926" type="_2471" size="32" align="32"/>
+  <Field id="_3927" name="_M_n" type="_503" offset="0" context="_1952" access="public" mangled="_ZNSt5_Setw4_M_nE" demangled="std::_Setw::_M_n" location="f78:232" file="f78" line="232"/>
+  <Constructor id="_3928" name="_Setw" artificial="1" throw="" context="_1952" access="public" mangled="_ZNSt5_SetwC1ERKS_ *INTERNAL* " demangled="std::_Setw::_Setw(std::_Setw const&)" location="f78:232" file="f78" line="232" inline="1">
+    <Argument name="_ctor_arg" type="_11280" location="f78:232" file="f78" line="232"/>
+  </Constructor>
+  <Constructor id="_3929" name="_Setw" explicit="1" artificial="1" throw="" context="_1952" access="public" mangled="_ZNSt5_SetwC1Ev *INTERNAL* " demangled="std::_Setw::_Setw()" location="f78:232" file="f78" line="232" inline="1"/>
+  <Field id="_3930" name="_M_n" type="_503" offset="0" context="_1958" access="public" mangled="_ZNSt13_Setprecision4_M_nE" demangled="std::_Setprecision::_M_n" location="f78:198" file="f78" line="198"/>
+  <Constructor id="_3931" name="_Setprecision" artificial="1" throw="" context="_1958" access="public" mangled="_ZNSt13_SetprecisionC1ERKS_ *INTERNAL* " demangled="std::_Setprecision::_Setprecision(std::_Setprecision const&)" location="f78:198" file="f78" line="198" inline="1">
+    <Argument name="_ctor_arg" type="_11281" location="f78:198" file="f78" line="198"/>
+  </Constructor>
+  <Constructor id="_3932" name="_Setprecision" explicit="1" artificial="1" throw="" context="_1958" access="public" mangled="_ZNSt13_SetprecisionC1Ev *INTERNAL* " demangled="std::_Setprecision::_Setprecision()" location="f78:198" file="f78" line="198" inline="1"/>
+  <Field id="_3933" name="_M_c" type="_2786" offset="0" context="_1965" access="public" mangled="_ZNSt8_SetfillIwE4_M_cE" demangled="std::_Setfill<wchar_t>::_M_c" location="f78:163" file="f78" line="163"/>
+  <Constructor id="_3934" name="_Setfill" artificial="1" throw="" context="_1965" access="public" mangled="_ZNSt8_SetfillIwEC1ERKS0_ *INTERNAL* " demangled="std::_Setfill<wchar_t>::_Setfill(std::_Setfill<wchar_t> const&)" location="f78:163" file="f78" line="163" inline="1">
+    <Argument name="_ctor_arg" type="_11282" location="f78:163" file="f78" line="163"/>
+  </Constructor>
+  <Constructor id="_3935" name="_Setfill" explicit="1" artificial="1" throw="" context="_1965" access="public" mangled="_ZNSt8_SetfillIwEC1Ev *INTERNAL* " demangled="std::_Setfill<wchar_t>::_Setfill()" location="f78:163" file="f78" line="163" inline="1"/>
+  <Field id="_3936" name="_M_c" type="_2961" offset="0" context="_1966" access="public" mangled="_ZNSt8_SetfillIcE4_M_cE" demangled="std::_Setfill<char>::_M_c" location="f78:163" file="f78" line="163"/>
+  <Constructor id="_3937" name="_Setfill" artificial="1" throw="" context="_1966" access="public" mangled="_ZNSt8_SetfillIcEC1ERKS0_ *INTERNAL* " demangled="std::_Setfill<char>::_Setfill(std::_Setfill<char> const&)" location="f78:163" file="f78" line="163" inline="1">
+    <Argument name="_ctor_arg" type="_11283" location="f78:163" file="f78" line="163"/>
+  </Constructor>
+  <Constructor id="_3938" name="_Setfill" explicit="1" artificial="1" throw="" context="_1966" access="public" mangled="_ZNSt8_SetfillIcEC1Ev *INTERNAL* " demangled="std::_Setfill<char>::_Setfill()" location="f78:163" file="f78" line="163" inline="1"/>
+  <Field id="_3939" name="_M_base" type="_503" offset="0" context="_1972" access="public" mangled="_ZNSt8_Setbase7_M_baseE" demangled="std::_Setbase::_M_base" location="f78:121" file="f78" line="121"/>
+  <Constructor id="_3940" name="_Setbase" artificial="1" throw="" context="_1972" access="public" mangled="_ZNSt8_SetbaseC1ERKS_ *INTERNAL* " demangled="std::_Setbase::_Setbase(std::_Setbase const&)" location="f78:121" file="f78" line="121" inline="1">
+    <Argument name="_ctor_arg" type="_11284" location="f78:121" file="f78" line="121"/>
+  </Constructor>
+  <Constructor id="_3941" name="_Setbase" explicit="1" artificial="1" throw="" context="_1972" access="public" mangled="_ZNSt8_SetbaseC1Ev *INTERNAL* " demangled="std::_Setbase::_Setbase()" location="f78:121" file="f78" line="121" inline="1"/>
+  <Field id="_3942" name="_M_mask" type="_2145" offset="0" context="_1978" access="public" mangled="_ZNSt12_Setiosflags7_M_maskE" demangled="std::_Setiosflags::_M_mask" location="f78:87" file="f78" line="87"/>
+  <Constructor id="_3943" name="_Setiosflags" artificial="1" throw="" context="_1978" access="public" mangled="_ZNSt12_SetiosflagsC1ERKS_ *INTERNAL* " demangled="std::_Setiosflags::_Setiosflags(std::_Setiosflags const&)" location="f78:87" file="f78" line="87" inline="1">
+    <Argument name="_ctor_arg" type="_11285" location="f78:87" file="f78" line="87"/>
+  </Constructor>
+  <Constructor id="_3944" name="_Setiosflags" explicit="1" artificial="1" throw="" context="_1978" access="public" mangled="_ZNSt12_SetiosflagsC1Ev *INTERNAL* " demangled="std::_Setiosflags::_Setiosflags()" location="f78:87" file="f78" line="87" inline="1"/>
+  <Field id="_3945" name="_M_mask" type="_2145" offset="0" context="_1984" access="public" mangled="_ZNSt14_Resetiosflags7_M_maskE" demangled="std::_Resetiosflags::_M_mask" location="f78:53" file="f78" line="53"/>
+  <Constructor id="_3946" name="_Resetiosflags" artificial="1" throw="" context="_1984" access="public" mangled="_ZNSt14_ResetiosflagsC1ERKS_ *INTERNAL* " demangled="std::_Resetiosflags::_Resetiosflags(std::_Resetiosflags const&)" location="f78:53" file="f78" line="53" inline="1">
+    <Argument name="_ctor_arg" type="_11286" location="f78:53" file="f78" line="53"/>
+  </Constructor>
+  <Constructor id="_3947" name="_Resetiosflags" explicit="1" artificial="1" throw="" context="_1984" access="public" mangled="_ZNSt14_ResetiosflagsC1Ev *INTERNAL* " demangled="std::_Resetiosflags::_Resetiosflags()" location="f78:53" file="f78" line="53" inline="1"/>
+  <ReferenceType id="_3948" type="_1986c" size="32" align="32"/>
+  <FundamentalType id="_3949" name="bool" size="8" align="8"/>
+  <Typedef id="_3950" name="reference" type="_3949" context="_1986" access="public" location="f79:272" file="f79" line="272"/>
+  <Typedef id="_3951" name="const_reference" type="_3949" context="_1986" access="public" location="f79:273" file="f79" line="273"/>
+  <PointerType id="_3952" type="_3949c" size="32" align="32"/>
+  <Typedef id="_3953" name="pointer" type="_3952" context="_1986" access="public" location="f79:274" file="f79" line="274"/>
+  <Constructor id="_3954" name="_Bit_const_iterator" artificial="1" throw="" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratorC1ERKS_ *INTERNAL* " demangled="std::_Bit_const_iterator::_Bit_const_iterator(std::_Bit_const_iterator const&)" location="f79:271" file="f79" line="271" inline="1">
+    <Argument name="_ctor_arg" type="_3948" location="f79:271" file="f79" line="271"/>
+  </Constructor>
+  <Constructor id="_3955" name="_Bit_const_iterator" explicit="1" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratorC1Ev *INTERNAL* " demangled="std::_Bit_const_iterator::_Bit_const_iterator()" location="f79:277" file="f79" line="277" endline="277" inline="1"/>
+  <Constructor id="_3956" name="_Bit_const_iterator" explicit="1" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratorC1EPmj *INTERNAL* " demangled="std::_Bit_const_iterator::_Bit_const_iterator(unsigned long*, unsigned)" location="f79:280" file="f79" line="280" endline="280" inline="1">
+    <Argument name="__x" type="_11288" location="f79:280" file="f79" line="280"/>
+    <Argument name="__y" type="_837" location="f79:280" file="f79" line="280"/>
+  </Constructor>
+  <Constructor id="_3957" name="_Bit_const_iterator" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratorC1ERKSt13_Bit_iterator *INTERNAL* " demangled="std::_Bit_const_iterator::_Bit_const_iterator(std::_Bit_iterator const&)" location="f79:283" file="f79" line="283" endline="283" inline="1">
+    <Argument name="__x" type="_3968" location="f79:283" file="f79" line="283"/>
+  </Constructor>
+  <OperatorMethod id="_3958" name="*" returns="_3949" const="1" context="_1986" access="public" mangled="_ZNKSt19_Bit_const_iteratordeEv" demangled="std::_Bit_const_iterator::operator*() const" location="f79:287" file="f79" line="287" endline="287" inline="1"/>
+  <OperatorMethod id="_3959" name="++" returns="_11289" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratorppEv" demangled="std::_Bit_const_iterator::operator++()" location="f79:291" file="f79" line="291" endline="294" inline="1"/>
+  <OperatorMethod id="_3960" name="++" returns="_1986" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratorppEi" demangled="std::_Bit_const_iterator::operator++(int)" location="f79:298" file="f79" line="298" endline="302" inline="1">
+    <Argument type="_503" location="f79:298" file="f79" line="298"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3961" name="--" returns="_11289" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratormmEv" demangled="std::_Bit_const_iterator::operator--()" location="f79:306" file="f79" line="306" endline="309" inline="1"/>
+  <OperatorMethod id="_3962" name="--" returns="_1986" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratormmEi" demangled="std::_Bit_const_iterator::operator--(int)" location="f79:313" file="f79" line="313" endline="317" inline="1">
+    <Argument type="_503" location="f79:313" file="f79" line="313"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3963" name="+=" returns="_11289" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratorpLEi" demangled="std::_Bit_const_iterator::operator+=(int)" location="f79:321" file="f79" line="321" endline="324" inline="1">
+    <Argument name="__i" type="_1699" location="f79:321" file="f79" line="321"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3964" name="-=" returns="_11289" context="_1986" access="public" mangled="_ZNSt19_Bit_const_iteratormIEi" demangled="std::_Bit_const_iterator::operator-=(int)" location="f79:328" file="f79" line="328" endline="331" inline="1">
+    <Argument name="__i" type="_1699" location="f79:328" file="f79" line="328"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3965" name="+" returns="_1986" const="1" context="_1986" access="public" mangled="_ZNKSt19_Bit_const_iteratorplEi" demangled="std::_Bit_const_iterator::operator+(int) const" location="f79:335" file="f79" line="335" endline="338" inline="1">
+    <Argument name="__i" type="_1699" location="f79:335" file="f79" line="335"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3966" name="-" returns="_1986" const="1" context="_1986" access="public" mangled="_ZNKSt19_Bit_const_iteratormiEi" demangled="std::_Bit_const_iterator::operator-(int) const" location="f79:342" file="f79" line="342" endline="345" inline="1">
+    <Argument name="__i" type="_1699" location="f79:342" file="f79" line="342"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3967" name="[]" returns="_3949" const="1" context="_1986" access="public" mangled="_ZNKSt19_Bit_const_iteratorixEi" demangled="std::_Bit_const_iterator::operator[](int) const" location="f79:349" file="f79" line="349" endline="349" inline="1">
+    <Argument name="__i" type="_1699" location="f79:349" file="f79" line="349"/>
+  </OperatorMethod>
+  <ReferenceType id="_3968" type="_1988c" size="32" align="32"/>
+  <Typedef id="_3969" name="reference" type="_1991" context="_1988" access="public" location="f79:190" file="f79" line="190"/>
+  <PointerType id="_3970" type="_1991" size="32" align="32"/>
+  <Typedef id="_3971" name="pointer" type="_3970" context="_1988" access="public" location="f79:191" file="f79" line="191"/>
+  <Constructor id="_3972" name="_Bit_iterator" artificial="1" throw="" context="_1988" access="public" mangled="_ZNSt13_Bit_iteratorC1ERKS_ *INTERNAL* " demangled="std::_Bit_iterator::_Bit_iterator(std::_Bit_iterator const&)" location="f79:189" file="f79" line="189" inline="1">
+    <Argument name="_ctor_arg" type="_3968" location="f79:189" file="f79" line="189"/>
+  </Constructor>
+  <Constructor id="_3973" name="_Bit_iterator" explicit="1" context="_1988" access="public" mangled="_ZNSt13_Bit_iteratorC1Ev *INTERNAL* " demangled="std::_Bit_iterator::_Bit_iterator()" location="f79:194" file="f79" line="194" endline="194" inline="1"/>
+  <Constructor id="_3974" name="_Bit_iterator" explicit="1" context="_1988" access="public" mangled="_ZNSt13_Bit_iteratorC1EPmj *INTERNAL* " demangled="std::_Bit_iterator::_Bit_iterator(unsigned long*, unsigned)" location="f79:197" file="f79" line="197" endline="197" inline="1">
+    <Argument name="__x" type="_11288" location="f79:197" file="f79" line="197"/>
+    <Argument name="__y" type="_837" location="f79:197" file="f79" line="197"/>
+  </Constructor>
+  <OperatorMethod id="_3975" name="*" returns="_1991" const="1" context="_1988" access="public" mangled="_ZNKSt13_Bit_iteratordeEv" demangled="std::_Bit_iterator::operator*() const" location="f79:201" file="f79" line="201" endline="201" inline="1"/>
+  <OperatorMethod id="_3976" name="++" returns="_11291" context="_1988" access="public" mangled="_ZNSt13_Bit_iteratorppEv" demangled="std::_Bit_iterator::operator++()" location="f79:205" file="f79" line="205" endline="208" inline="1"/>
+  <OperatorMethod id="_3977" name="++" returns="_1988" context="_1988" access="public" mangled="_ZNSt13_Bit_iteratorppEi" demangled="std::_Bit_iterator::operator++(int)" location="f79:212" file="f79" line="212" endline="216" inline="1">
+    <Argument type="_503" location="f79:212" file="f79" line="212"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3978" name="--" returns="_11291" context="_1988" access="public" mangled="_ZNSt13_Bit_iteratormmEv" demangled="std::_Bit_iterator::operator--()" location="f79:220" file="f79" line="220" endline="223" inline="1"/>
+  <OperatorMethod id="_3979" name="--" returns="_1988" context="_1988" access="public" mangled="_ZNSt13_Bit_iteratormmEi" demangled="std::_Bit_iterator::operator--(int)" location="f79:227" file="f79" line="227" endline="231" inline="1">
+    <Argument type="_503" location="f79:227" file="f79" line="227"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3980" name="+=" returns="_11291" context="_1988" access="public" mangled="_ZNSt13_Bit_iteratorpLEi" demangled="std::_Bit_iterator::operator+=(int)" location="f79:235" file="f79" line="235" endline="238" inline="1">
+    <Argument name="__i" type="_1699" location="f79:235" file="f79" line="235"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3981" name="-=" returns="_11291" context="_1988" access="public" mangled="_ZNSt13_Bit_iteratormIEi" demangled="std::_Bit_iterator::operator-=(int)" location="f79:242" file="f79" line="242" endline="245" inline="1">
+    <Argument name="__i" type="_1699" location="f79:242" file="f79" line="242"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3982" name="+" returns="_1988" const="1" context="_1988" access="public" mangled="_ZNKSt13_Bit_iteratorplEi" demangled="std::_Bit_iterator::operator+(int) const" location="f79:249" file="f79" line="249" endline="252" inline="1">
+    <Argument name="__i" type="_1699" location="f79:249" file="f79" line="249"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3983" name="-" returns="_1988" const="1" context="_1988" access="public" mangled="_ZNKSt13_Bit_iteratormiEi" demangled="std::_Bit_iterator::operator-(int) const" location="f79:256" file="f79" line="256" endline="259" inline="1">
+    <Argument name="__i" type="_1699" location="f79:256" file="f79" line="256"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3984" name="[]" returns="_1991" const="1" context="_1988" access="public" mangled="_ZNKSt13_Bit_iteratorixEi" demangled="std::_Bit_iterator::operator[](int) const" location="f79:263" file="f79" line="263" endline="263" inline="1">
+    <Argument name="__i" type="_1699" location="f79:263" file="f79" line="263"/>
+  </OperatorMethod>
+  <ReferenceType id="_3985" type="_1990c" size="32" align="32"/>
+  <Field id="_3986" name="_M_p" type="_11288" offset="0" context="_1990" access="public" mangled="_ZNSt18_Bit_iterator_base4_M_pE" demangled="std::_Bit_iterator_base::_M_p" location="f79:112" file="f79" line="112"/>
+  <Field id="_3987" name="_M_offset" type="_837" offset="32" context="_1990" access="public" mangled="_ZNSt18_Bit_iterator_base9_M_offsetE" demangled="std::_Bit_iterator_base::_M_offset" location="f79:113" file="f79" line="113"/>
+  <Constructor id="_3988" name="_Bit_iterator_base" artificial="1" throw="" context="_1990" access="public" mangled="_ZNSt18_Bit_iterator_baseC1ERKS_ *INTERNAL* " demangled="std::_Bit_iterator_base::_Bit_iterator_base(std::_Bit_iterator_base const&)" location="f79:111" file="f79" line="111" inline="1">
+    <Argument name="_ctor_arg" type="_3985" location="f79:111" file="f79" line="111"/>
+  </Constructor>
+  <Constructor id="_3989" name="_Bit_iterator_base" explicit="1" context="_1990" access="public" mangled="_ZNSt18_Bit_iterator_baseC1EPmj *INTERNAL* " demangled="std::_Bit_iterator_base::_Bit_iterator_base(unsigned long*, unsigned)" location="f79:116" file="f79" line="116" endline="116" inline="1">
+    <Argument name="__x" type="_11288" location="f79:116" file="f79" line="116"/>
+    <Argument name="__y" type="_837" location="f79:116" file="f79" line="116"/>
+  </Constructor>
+  <Method id="_3990" name="_M_bump_up" returns="_1194" context="_1990" access="public" mangled="_ZNSt18_Bit_iterator_base10_M_bump_upEv" demangled="std::_Bit_iterator_base::_M_bump_up()" location="f79:120" file="f79" line="120" endline="126" inline="1"/>
+  <Method id="_3991" name="_M_bump_down" returns="_1194" context="_1990" access="public" mangled="_ZNSt18_Bit_iterator_base12_M_bump_downEv" demangled="std::_Bit_iterator_base::_M_bump_down()" location="f79:130" file="f79" line="130" endline="136" inline="1"/>
+  <Method id="_3992" name="_M_incr" returns="_1194" context="_1990" access="public" mangled="_ZNSt18_Bit_iterator_base7_M_incrEi" demangled="std::_Bit_iterator_base::_M_incr(int)" location="f79:140" file="f79" line="140" endline="151" inline="1">
+    <Argument name="__i" type="_1699" location="f79:140" file="f79" line="140"/>
+  </Method>
+  <OperatorMethod id="_3993" name="==" returns="_3949" const="1" context="_1990" access="public" mangled="_ZNKSt18_Bit_iterator_baseeqERKS_" demangled="std::_Bit_iterator_base::operator==(std::_Bit_iterator_base const&) const" location="f79:155" file="f79" line="155" endline="155" inline="1">
+    <Argument name="__i" type="_3985" location="f79:155" file="f79" line="155"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3994" name="<" returns="_3949" const="1" context="_1990" access="public" mangled="_ZNKSt18_Bit_iterator_baseltERKS_" demangled="std::_Bit_iterator_base::operator<(std::_Bit_iterator_base const&) const" location="f79:159" file="f79" line="159" endline="162" inline="1">
+    <Argument name="__i" type="_3985" location="f79:159" file="f79" line="159"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3995" name="!=" returns="_3949" const="1" context="_1990" access="public" mangled="_ZNKSt18_Bit_iterator_baseneERKS_" demangled="std::_Bit_iterator_base::operator!=(std::_Bit_iterator_base const&) const" location="f79:166" file="f79" line="166" endline="166" inline="1">
+    <Argument name="__i" type="_3985" location="f79:166" file="f79" line="166"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3996" name=">" returns="_3949" const="1" context="_1990" access="public" mangled="_ZNKSt18_Bit_iterator_basegtERKS_" demangled="std::_Bit_iterator_base::operator>(std::_Bit_iterator_base const&) const" location="f79:170" file="f79" line="170" endline="170" inline="1">
+    <Argument name="__i" type="_3985" location="f79:170" file="f79" line="170"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3997" name="<=" returns="_3949" const="1" context="_1990" access="public" mangled="_ZNKSt18_Bit_iterator_baseleERKS_" demangled="std::_Bit_iterator_base::operator<=(std::_Bit_iterator_base const&) const" location="f79:174" file="f79" line="174" endline="174" inline="1">
+    <Argument name="__i" type="_3985" location="f79:174" file="f79" line="174"/>
+  </OperatorMethod>
+  <OperatorMethod id="_3998" name=">=" returns="_3949" const="1" context="_1990" access="public" mangled="_ZNKSt18_Bit_iterator_basegeERKS_" demangled="std::_Bit_iterator_base::operator>=(std::_Bit_iterator_base const&) const" location="f79:178" file="f79" line="178" endline="178" inline="1">
+    <Argument name="__i" type="_3985" location="f79:178" file="f79" line="178"/>
+  </OperatorMethod>
+  <Field id="_3999" name="_M_p" type="_11288" offset="0" context="_1991" access="public" mangled="_ZNSt14_Bit_reference4_M_pE" demangled="std::_Bit_reference::_M_p" location="f79:71" file="f79" line="71"/>
+  <Field id="_4000" name="_M_mask" type="_1993" offset="32" context="_1991" access="public" mangled="_ZNSt14_Bit_reference7_M_maskE" demangled="std::_Bit_reference::_M_mask" location="f79:72" file="f79" line="72"/>
+  <Constructor id="_4001" name="_Bit_reference" artificial="1" throw="" context="_1991" access="public" mangled="_ZNSt14_Bit_referenceC1ERKS_ *INTERNAL* " demangled="std::_Bit_reference::_Bit_reference(std::_Bit_reference const&)" location="f79:70" file="f79" line="70" inline="1">
+    <Argument name="_ctor_arg" type="_11293" location="f79:70" file="f79" line="70"/>
+  </Constructor>
+  <Constructor id="_4002" name="_Bit_reference" explicit="1" context="_1991" access="public" mangled="_ZNSt14_Bit_referenceC1EPmm *INTERNAL* " demangled="std::_Bit_reference::_Bit_reference(unsigned long*, unsigned long)" location="f79:75" file="f79" line="75" endline="75" inline="1">
+    <Argument name="__x" type="_11288" location="f79:75" file="f79" line="75"/>
+    <Argument name="__y" type="_1993" location="f79:75" file="f79" line="75"/>
+  </Constructor>
+  <Constructor id="_4003" name="_Bit_reference" explicit="1" context="_1991" access="public" mangled="_ZNSt14_Bit_referenceC1Ev *INTERNAL* " demangled="std::_Bit_reference::_Bit_reference()" location="f79:77" file="f79" line="77" endline="77" inline="1"/>
+  <Converter id="_4004" name="operator 5" returns="_3949" const="1" context="_1991" access="public" mangled="_ZNKSt14_Bit_referencecvbEv" demangled="std::_Bit_reference::operator bool() const" location="f79:80" file="f79" line="80" endline="80" inline="1"/>
+  <OperatorMethod id="_4005" name="=" returns="_11294" context="_1991" access="public" mangled="_ZNSt14_Bit_referenceaSEb" demangled="std::_Bit_reference::operator=(bool)" location="f79:84" file="f79" line="84" endline="90" inline="1">
+    <Argument name="__x" type="_3949" location="f79:84" file="f79" line="84"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4006" name="=" returns="_11294" context="_1991" access="public" mangled="_ZNSt14_Bit_referenceaSERKS_" demangled="std::_Bit_reference::operator=(std::_Bit_reference const&)" location="f79:94" file="f79" line="94" endline="94" inline="1">
+    <Argument name="__x" type="_11293" location="f79:94" file="f79" line="94"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4007" name="==" returns="_3949" const="1" context="_1991" access="public" mangled="_ZNKSt14_Bit_referenceeqERKS_" demangled="std::_Bit_reference::operator==(std::_Bit_reference const&) const" location="f79:98" file="f79" line="98" endline="98" inline="1">
+    <Argument name="__x" type="_11293" location="f79:98" file="f79" line="98"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4008" name="<" returns="_3949" const="1" context="_1991" access="public" mangled="_ZNKSt14_Bit_referenceltERKS_" demangled="std::_Bit_reference::operator<(std::_Bit_reference const&) const" location="f79:102" file="f79" line="102" endline="102" inline="1">
+    <Argument name="__x" type="_11293" location="f79:102" file="f79" line="102"/>
+  </OperatorMethod>
+  <Method id="_4009" name="flip" returns="_1194" context="_1991" access="public" mangled="_ZNSt14_Bit_reference4flipEv" demangled="std::_Bit_reference::flip()" location="f79:106" file="f79" line="106" endline="106" inline="1"/>
+  <Typedef id="_4010" name="_Alloc_value_type" type="_2509" context="_1994" access="private" location="f80:161" file="f80" line="161"/>
+  <Typedef id="_4011" name="_Base" type="_1996" context="_1994" access="private" location="f80:165" file="f80" line="165"/>
+  <Typedef id="_4012" name="_Tp_alloc_type" type="_2513" context="_1994" access="private" location="f80:167" file="f80" line="167"/>
+  <Typedef id="_4013" name="value_type" type="_2509" context="_1994" access="public" location="f80:170" file="f80" line="170"/>
+  <PointerType id="_4014" type="_2509" size="32" align="32"/>
+  <Typedef id="_4015" name="pointer" type="_4014" context="_1994" access="public" location="f80:171" file="f80" line="171"/>
+  <PointerType id="_4016" type="_2509c" size="32" align="32"/>
+  <Typedef id="_4017" name="const_pointer" type="_4016" context="_1994" access="public" location="f80:172" file="f80" line="172"/>
+  <ReferenceType id="_4018" type="_2509" size="32" align="32"/>
+  <Typedef id="_4019" name="reference" type="_4018" context="_1994" access="public" location="f80:173" file="f80" line="173"/>
+  <ReferenceType id="_4020" type="_2509c" size="32" align="32"/>
+  <Typedef id="_4021" name="const_reference" type="_4020" context="_1994" access="public" location="f80:174" file="f80" line="174"/>
+  <Typedef id="_4022" name="iterator" type="_3329" context="_1994" access="public" location="f80:175" file="f80" line="175"/>
+  <Typedef id="_4023" name="const_iterator" type="_3333" context="_1994" access="public" location="f80:177" file="f80" line="177"/>
+  <Typedef id="_4024" name="const_reverse_iterator" type="_2546" context="_1994" access="public" location="f80:178" file="f80" line="178"/>
+  <Typedef id="_4025" name="reverse_iterator" type="_2547" context="_1994" access="public" location="f80:179" file="f80" line="179"/>
+  <Typedef id="_4026" name="size_type" type="_1698" context="_1994" access="public" location="f80:180" file="f80" line="180"/>
+  <Typedef id="_4027" name="difference_type" type="_1699" context="_1994" access="public" location="f80:181" file="f80" line="181"/>
+  <Typedef id="_4028" name="allocator_type" type="_2513" context="_1994" access="public" location="f80:182" file="f80" line="182"/>
+  <Constructor id="_4029" name="vector" explicit="1" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEEC1ERKS0_ *INTERNAL* " demangled="std::vector<std::string, std::allocator<std::string> >::vector(std::allocator<std::string> const&)" location="f80:203" file="f80" line="203" endline="204" inline="1">
+    <Argument name="__a" type="_11296" location="f80:203" file="f80" line="203" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_4030" name="vector" explicit="1" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEEC1EjRKSsRKS0_ *INTERNAL* " demangled="std::vector<std::string, std::allocator<std::string> >::vector(unsigned, std::string const&, std::allocator<std::string> const&)" location="f80:216" file="f80" line="216" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:216" file="f80" line="216"/>
+    <Argument name="__value" type="_4020" location="f80:216" file="f80" line="216" default="<gccxml-cast-expr>"/>
+    <Argument name="__a" type="_11296" location="f80:216" file="f80" line="216" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_4031" name="vector" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEEC1ERKS1_ *INTERNAL* " demangled="std::vector<std::string, std::allocator<std::string> >::vector(std::vector<std::string, std::allocator<std::string> > const&)" location="f80:233" file="f80" line="233" extern="1" inline="1">
+    <Argument name="__x" type="_11297" location="f80:233" file="f80" line="233"/>
+  </Constructor>
+  <Destructor id="_4032" name="vector" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEED1Ev *INTERNAL* " demangled="std::vector<std::string, std::allocator<std::string> >::~vector()" location="f80:272" file="f80" line="272" endline="272" inline="1">
+  </Destructor>
+  <OperatorMethod id="_4033" name="=" returns="_7639" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEEaSERKS1_" demangled="std::vector<std::string, std::allocator<std::string> >::operator=(std::vector<std::string, std::allocator<std::string> > const&)" location="f184:134" file="f184" line="134" extern="1">
+    <Argument name="__x" type="_11297" location="f184:134" file="f184" line="134"/>
+  </OperatorMethod>
+  <Method id="_4034" name="assign" returns="_1194" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE6assignEjRKSs" demangled="std::vector<std::string, std::allocator<std::string> >::assign(unsigned, std::string const&)" location="f80:299" file="f80" line="299" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:299" file="f80" line="299"/>
+    <Argument name="__val" type="_4020" location="f80:299" file="f80" line="299"/>
+  </Method>
+  <Method id="_4035" name="begin" returns="_3329" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE5beginEv" demangled="std::vector<std::string, std::allocator<std::string> >::begin()" location="f80:333" file="f80" line="333" endline="333" inline="1"/>
+  <Method id="_4036" name="begin" returns="_3333" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE5beginEv" demangled="std::vector<std::string, std::allocator<std::string> >::begin() const" location="f80:342" file="f80" line="342" endline="342" inline="1"/>
+  <Method id="_4037" name="end" returns="_3329" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE3endEv" demangled="std::vector<std::string, std::allocator<std::string> >::end()" location="f80:351" file="f80" line="351" endline="351" inline="1"/>
+  <Method id="_4038" name="end" returns="_3333" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE3endEv" demangled="std::vector<std::string, std::allocator<std::string> >::end() const" location="f80:360" file="f80" line="360" endline="360" inline="1"/>
+  <Method id="_4039" name="rbegin" returns="_2547" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE6rbeginEv" demangled="std::vector<std::string, std::allocator<std::string> >::rbegin()" location="f80:369" file="f80" line="369" extern="1" inline="1"/>
+  <Method id="_4040" name="rbegin" returns="_2546" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE6rbeginEv" demangled="std::vector<std::string, std::allocator<std::string> >::rbegin() const" location="f80:378" file="f80" line="378" extern="1" inline="1"/>
+  <Method id="_4041" name="rend" returns="_2547" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE4rendEv" demangled="std::vector<std::string, std::allocator<std::string> >::rend()" location="f80:387" file="f80" line="387" extern="1" inline="1"/>
+  <Method id="_4042" name="rend" returns="_2546" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE4rendEv" demangled="std::vector<std::string, std::allocator<std::string> >::rend() const" location="f80:396" file="f80" line="396" extern="1" inline="1"/>
+  <Method id="_4043" name="size" returns="_1698" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE4sizeEv" demangled="std::vector<std::string, std::allocator<std::string> >::size() const" location="f80:402" file="f80" line="402" endline="402" inline="1"/>
+  <Method id="_4044" name="max_size" returns="_1698" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE8max_sizeEv" demangled="std::vector<std::string, std::allocator<std::string> >::max_size() const" location="f80:407" file="f80" line="407" endline="407" inline="1"/>
+  <Method id="_4045" name="resize" returns="_1194" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE6resizeEjSs" demangled="std::vector<std::string, std::allocator<std::string> >::resize(unsigned, std::string)" location="f80:422" file="f80" line="422" extern="1" inline="1">
+    <Argument name="__new_size" type="_1698" location="f80:422" file="f80" line="422"/>
+    <Argument name="__x" type="_2509" location="f80:422" file="f80" line="422" default="<gccxml-cast-expr>"/>
+  </Method>
+  <Method id="_4046" name="capacity" returns="_1698" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE8capacityEv" demangled="std::vector<std::string, std::allocator<std::string> >::capacity() const" location="f80:435" file="f80" line="435" extern="1" inline="1"/>
+  <Method id="_4047" name="empty" returns="_3949" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE5emptyEv" demangled="std::vector<std::string, std::allocator<std::string> >::empty() const" location="f80:444" file="f80" line="444" extern="1" inline="1"/>
+  <Method id="_4048" name="reserve" returns="_1194" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE7reserveEj" demangled="std::vector<std::string, std::allocator<std::string> >::reserve(unsigned)" location="f184:70" file="f184" line="70" extern="1">
+    <Argument name="__n" type="_1698" location="f184:70" file="f184" line="70"/>
+  </Method>
+  <OperatorMethod id="_4049" name="[]" returns="_4018" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEEixEj" demangled="std::vector<std::string, std::allocator<std::string> >::operator[](unsigned)" location="f80:480" file="f80" line="480" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:480" file="f80" line="480"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4050" name="[]" returns="_4020" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEEixEj" demangled="std::vector<std::string, std::allocator<std::string> >::operator[](unsigned) const" location="f80:495" file="f80" line="495" endline="495" inline="1">
+    <Argument name="__n" type="_1698" location="f80:495" file="f80" line="495"/>
+  </OperatorMethod>
+  <Method id="_4051" name="_M_range_check" returns="_1194" const="1" context="_1994" access="protected" mangled="_ZNKSt6vectorISsSaISsEE14_M_range_checkEj" demangled="std::vector<std::string, std::allocator<std::string> >::_M_range_check(unsigned) const" location="f80:501" file="f80" line="501" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:501" file="f80" line="501"/>
+  </Method>
+  <Method id="_4052" name="at" returns="_4018" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE2atEj" demangled="std::vector<std::string, std::allocator<std::string> >::at(unsigned)" location="f80:520" file="f80" line="520" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:520" file="f80" line="520"/>
+  </Method>
+  <Method id="_4053" name="at" returns="_4020" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE2atEj" demangled="std::vector<std::string, std::allocator<std::string> >::at(unsigned) const" location="f80:538" file="f80" line="538" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:538" file="f80" line="538"/>
+  </Method>
+  <Method id="_4054" name="front" returns="_4018" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE5frontEv" demangled="std::vector<std::string, std::allocator<std::string> >::front()" location="f80:549" file="f80" line="549" extern="1" inline="1"/>
+  <Method id="_4055" name="front" returns="_4020" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE5frontEv" demangled="std::vector<std::string, std::allocator<std::string> >::front() const" location="f80:557" file="f80" line="557" extern="1" inline="1"/>
+  <Method id="_4056" name="back" returns="_4018" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE4backEv" demangled="std::vector<std::string, std::allocator<std::string> >::back()" location="f80:565" file="f80" line="565" extern="1" inline="1"/>
+  <Method id="_4057" name="back" returns="_4020" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE4backEv" demangled="std::vector<std::string, std::allocator<std::string> >::back() const" location="f80:573" file="f80" line="573" extern="1" inline="1"/>
+  <Method id="_4058" name="data" returns="_4014" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE4dataEv" demangled="std::vector<std::string, std::allocator<std::string> >::data()" location="f80:584" file="f80" line="584" extern="1" inline="1"/>
+  <Method id="_4059" name="data" returns="_4016" const="1" context="_1994" access="public" mangled="_ZNKSt6vectorISsSaISsEE4dataEv" demangled="std::vector<std::string, std::allocator<std::string> >::data() const" location="f80:588" file="f80" line="588" extern="1" inline="1"/>
+  <Method id="_4060" name="push_back" returns="_1194" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE9push_backERKSs" demangled="std::vector<std::string, std::allocator<std::string> >::push_back(std::string const&)" location="f80:603" file="f80" line="603" endline="610" inline="1">
+    <Argument name="__x" type="_4020" location="f80:603" file="f80" line="603"/>
+  </Method>
+  <Method id="_4061" name="pop_back" returns="_1194" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE8pop_backEv" demangled="std::vector<std::string, std::allocator<std::string> >::pop_back()" location="f80:624" file="f80" line="624" extern="1" inline="1"/>
+  <Method id="_4062" name="insert" returns="_3329" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE6insertEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs" demangled="std::vector<std::string, std::allocator<std::string> >::insert(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, std::string const&)" location="f184:94" file="f184" line="94" extern="1">
+    <Argument name="__position" type="_3329" location="f184:94" file="f184" line="94"/>
+    <Argument name="__x" type="_4020" location="f184:94" file="f184" line="94"/>
+  </Method>
+  <Method id="_4063" name="insert" returns="_1194" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE6insertEN9__gnu_cxx17__normal_iteratorIPSsS1_EEjRKSs" demangled="std::vector<std::string, std::allocator<std::string> >::insert(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, unsigned, std::string const&)" location="f80:658" file="f80" line="658" extern="1" inline="1">
+    <Argument name="__position" type="_3329" location="f80:658" file="f80" line="658"/>
+    <Argument name="__n" type="_1698" location="f80:658" file="f80" line="658"/>
+    <Argument name="__x" type="_4020" location="f80:658" file="f80" line="658"/>
+  </Method>
+  <Method id="_4064" name="erase" returns="_3329" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE5eraseEN9__gnu_cxx17__normal_iteratorIPSsS1_EE" demangled="std::vector<std::string, std::allocator<std::string> >::erase(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >)" location="f184:111" file="f184" line="111" extern="1">
+    <Argument name="__position" type="_3329" location="f184:111" file="f184" line="111"/>
+  </Method>
+  <Method id="_4065" name="erase" returns="_3329" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE5eraseEN9__gnu_cxx17__normal_iteratorIPSsS1_EES5_" demangled="std::vector<std::string, std::allocator<std::string> >::erase(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >)" loca [...]
+    <Argument name="__first" type="_3329" location="f184:123" file="f184" line="123"/>
+    <Argument name="__last" type="_3329" location="f184:123" file="f184" line="123"/>
+  </Method>
+  <Method id="_4066" name="swap" returns="_1194" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE4swapERS1_" demangled="std::vector<std::string, std::allocator<std::string> >::swap(std::vector<std::string, std::allocator<std::string> >&)" location="f80:734" file="f80" line="734" extern="1" inline="1">
+    <Argument name="__x" type="_7639" location="f80:734" file="f80" line="734"/>
+  </Method>
+  <Method id="_4067" name="clear" returns="_1194" context="_1994" access="public" mangled="_ZNSt6vectorISsSaISsEE5clearEv" demangled="std::vector<std::string, std::allocator<std::string> >::clear()" location="f80:749" file="f80" line="749" extern="1" inline="1"/>
+  <Method id="_4068" name="_M_fill_assign" returns="_1194" context="_1994" access="protected" mangled="_ZNSt6vectorISsSaISsEE14_M_fill_assignEjRKSs" demangled="std::vector<std::string, std::allocator<std::string> >::_M_fill_assign(unsigned, std::string const&)" location="f184:172" file="f184" line="172" extern="1">
+    <Argument name="__n" type="_1698" location="f184:172" file="f184" line="172"/>
+    <Argument name="__val" type="_4020" location="f184:172" file="f184" line="172"/>
+  </Method>
+  <Method id="_4069" name="_M_fill_insert" returns="_1194" context="_1994" access="protected" mangled="_ZNSt6vectorISsSaISsEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPSsS1_EEjRKSs" demangled="std::vector<std::string, std::allocator<std::string> >::_M_fill_insert(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, unsigned, std::string const&)" location="f184:312" file="f184" line="312" extern="1">
+    <Argument name="__position" type="_3329" location="f184:312" file="f184" line="312"/>
+    <Argument name="__n" type="_1698" location="f184:312" file="f184" line="312"/>
+    <Argument name="__x" type="_4020" location="f184:312" file="f184" line="312"/>
+  </Method>
+  <Method id="_4070" name="_M_insert_aux" returns="_1194" context="_1994" access="protected" mangled="_ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs" demangled="std::vector<std::string, std::allocator<std::string> >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, std::string const&)" location="f184:250" file="f184" line="250" endline="304">
+    <Argument name="__position" type="_3329" location="f184:250" file="f184" line="250"/>
+    <Argument name="__x" type="_4020" location="f184:250" file="f184" line="250"/>
+  </Method>
+  <Typedef id="_4071" name="_Alloc_value_type" type="_503" context="_1995" access="private" location="f80:161" file="f80" line="161"/>
+  <Typedef id="_4072" name="_Base" type="_1997" context="_1995" access="private" location="f80:165" file="f80" line="165"/>
+  <Typedef id="_4073" name="_Tp_alloc_type" type="_2516" context="_1995" access="private" location="f80:167" file="f80" line="167"/>
+  <Typedef id="_4074" name="value_type" type="_503" context="_1995" access="public" location="f80:170" file="f80" line="170"/>
+  <Typedef id="_4075" name="pointer" type="_2748" context="_1995" access="public" location="f80:171" file="f80" line="171"/>
+  <PointerType id="_4076" type="_503c" size="32" align="32"/>
+  <Typedef id="_4077" name="const_pointer" type="_4076" context="_1995" access="public" location="f80:172" file="f80" line="172"/>
+  <ReferenceType id="_4078" type="_503" size="32" align="32"/>
+  <Typedef id="_4079" name="reference" type="_4078" context="_1995" access="public" location="f80:173" file="f80" line="173"/>
+  <ReferenceType id="_4080" type="_503c" size="32" align="32"/>
+  <Typedef id="_4081" name="const_reference" type="_4080" context="_1995" access="public" location="f80:174" file="f80" line="174"/>
+  <Typedef id="_4082" name="iterator" type="_3334" context="_1995" access="public" location="f80:175" file="f80" line="175"/>
+  <Typedef id="_4083" name="const_iterator" type="_3335" context="_1995" access="public" location="f80:177" file="f80" line="177"/>
+  <Typedef id="_4084" name="const_reverse_iterator" type="_2550" context="_1995" access="public" location="f80:178" file="f80" line="178"/>
+  <Typedef id="_4085" name="reverse_iterator" type="_2551" context="_1995" access="public" location="f80:179" file="f80" line="179"/>
+  <Typedef id="_4086" name="size_type" type="_1698" context="_1995" access="public" location="f80:180" file="f80" line="180"/>
+  <Typedef id="_4087" name="difference_type" type="_1699" context="_1995" access="public" location="f80:181" file="f80" line="181"/>
+  <Typedef id="_4088" name="allocator_type" type="_2516" context="_1995" access="public" location="f80:182" file="f80" line="182"/>
+  <Constructor id="_4089" name="vector" explicit="1" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEEC1ERKS0_ *INTERNAL* " demangled="std::vector<int, std::allocator<int> >::vector(std::allocator<int> const&)" location="f80:203" file="f80" line="203" extern="1" inline="1">
+    <Argument name="__a" type="_11299" location="f80:203" file="f80" line="203" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_4090" name="vector" explicit="1" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEEC1EjRKiRKS0_ *INTERNAL* " demangled="std::vector<int, std::allocator<int> >::vector(unsigned, int const&, std::allocator<int> const&)" location="f80:216" file="f80" line="216" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:216" file="f80" line="216"/>
+    <Argument name="__value" type="_4080" location="f80:216" file="f80" line="216" default="<gccxml-cast-expr>"/>
+    <Argument name="__a" type="_11299" location="f80:216" file="f80" line="216" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_4091" name="vector" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEEC1ERKS1_ *INTERNAL* " demangled="std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&)" location="f80:233" file="f80" line="233" endline="234" inline="1">
+    <Argument name="__x" type="_11300" location="f80:233" file="f80" line="233"/>
+  </Constructor>
+  <Destructor id="_4092" name="vector" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEED1Ev *INTERNAL* " demangled="std::vector<int, std::allocator<int> >::~vector()" location="f80:272" file="f80" line="272" endline="272" inline="1">
+  </Destructor>
+  <OperatorMethod id="_4093" name="=" returns="_11301" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEEaSERKS1_" demangled="std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&)" location="f184:134" file="f184" line="134" extern="1">
+    <Argument name="__x" type="_11300" location="f184:134" file="f184" line="134"/>
+  </OperatorMethod>
+  <Method id="_4094" name="assign" returns="_1194" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE6assignEjRKi" demangled="std::vector<int, std::allocator<int> >::assign(unsigned, int const&)" location="f80:299" file="f80" line="299" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:299" file="f80" line="299"/>
+    <Argument name="__val" type="_4080" location="f80:299" file="f80" line="299"/>
+  </Method>
+  <Method id="_4095" name="begin" returns="_3334" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE5beginEv" demangled="std::vector<int, std::allocator<int> >::begin()" location="f80:333" file="f80" line="333" endline="333" inline="1"/>
+  <Method id="_4096" name="begin" returns="_3335" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE5beginEv" demangled="std::vector<int, std::allocator<int> >::begin() const" location="f80:342" file="f80" line="342" endline="342" inline="1"/>
+  <Method id="_4097" name="end" returns="_3334" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE3endEv" demangled="std::vector<int, std::allocator<int> >::end()" location="f80:351" file="f80" line="351" extern="1" inline="1"/>
+  <Method id="_4098" name="end" returns="_3335" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE3endEv" demangled="std::vector<int, std::allocator<int> >::end() const" location="f80:360" file="f80" line="360" endline="360" inline="1"/>
+  <Method id="_4099" name="rbegin" returns="_2551" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE6rbeginEv" demangled="std::vector<int, std::allocator<int> >::rbegin()" location="f80:369" file="f80" line="369" extern="1" inline="1"/>
+  <Method id="_4100" name="rbegin" returns="_2550" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE6rbeginEv" demangled="std::vector<int, std::allocator<int> >::rbegin() const" location="f80:378" file="f80" line="378" extern="1" inline="1"/>
+  <Method id="_4101" name="rend" returns="_2551" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE4rendEv" demangled="std::vector<int, std::allocator<int> >::rend()" location="f80:387" file="f80" line="387" extern="1" inline="1"/>
+  <Method id="_4102" name="rend" returns="_2550" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE4rendEv" demangled="std::vector<int, std::allocator<int> >::rend() const" location="f80:396" file="f80" line="396" extern="1" inline="1"/>
+  <Method id="_4103" name="size" returns="_1698" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE4sizeEv" demangled="std::vector<int, std::allocator<int> >::size() const" location="f80:402" file="f80" line="402" endline="402" inline="1"/>
+  <Method id="_4104" name="max_size" returns="_1698" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE8max_sizeEv" demangled="std::vector<int, std::allocator<int> >::max_size() const" location="f80:407" file="f80" line="407" extern="1" inline="1"/>
+  <Method id="_4105" name="resize" returns="_1194" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE6resizeEji" demangled="std::vector<int, std::allocator<int> >::resize(unsigned, int)" location="f80:422" file="f80" line="422" extern="1" inline="1">
+    <Argument name="__new_size" type="_1698" location="f80:422" file="f80" line="422"/>
+    <Argument name="__x" type="_503" location="f80:422" file="f80" line="422" default="<gccxml-cast-expr>"/>
+  </Method>
+  <Method id="_4106" name="capacity" returns="_1698" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE8capacityEv" demangled="std::vector<int, std::allocator<int> >::capacity() const" location="f80:435" file="f80" line="435" extern="1" inline="1"/>
+  <Method id="_4107" name="empty" returns="_3949" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE5emptyEv" demangled="std::vector<int, std::allocator<int> >::empty() const" location="f80:444" file="f80" line="444" endline="444" inline="1"/>
+  <Method id="_4108" name="reserve" returns="_1194" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE7reserveEj" demangled="std::vector<int, std::allocator<int> >::reserve(unsigned)" location="f184:70" file="f184" line="70" extern="1">
+    <Argument name="__n" type="_1698" location="f184:70" file="f184" line="70"/>
+  </Method>
+  <OperatorMethod id="_4109" name="[]" returns="_4078" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEEixEj" demangled="std::vector<int, std::allocator<int> >::operator[](unsigned)" location="f80:480" file="f80" line="480" endline="480" inline="1">
+    <Argument name="__n" type="_1698" location="f80:480" file="f80" line="480"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4110" name="[]" returns="_4080" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEEixEj" demangled="std::vector<int, std::allocator<int> >::operator[](unsigned) const" location="f80:495" file="f80" line="495" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:495" file="f80" line="495"/>
+  </OperatorMethod>
+  <Method id="_4111" name="_M_range_check" returns="_1194" const="1" context="_1995" access="protected" mangled="_ZNKSt6vectorIiSaIiEE14_M_range_checkEj" demangled="std::vector<int, std::allocator<int> >::_M_range_check(unsigned) const" location="f80:501" file="f80" line="501" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:501" file="f80" line="501"/>
+  </Method>
+  <Method id="_4112" name="at" returns="_4078" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE2atEj" demangled="std::vector<int, std::allocator<int> >::at(unsigned)" location="f80:520" file="f80" line="520" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:520" file="f80" line="520"/>
+  </Method>
+  <Method id="_4113" name="at" returns="_4080" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE2atEj" demangled="std::vector<int, std::allocator<int> >::at(unsigned) const" location="f80:538" file="f80" line="538" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:538" file="f80" line="538"/>
+  </Method>
+  <Method id="_4114" name="front" returns="_4078" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE5frontEv" demangled="std::vector<int, std::allocator<int> >::front()" location="f80:549" file="f80" line="549" extern="1" inline="1"/>
+  <Method id="_4115" name="front" returns="_4080" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE5frontEv" demangled="std::vector<int, std::allocator<int> >::front() const" location="f80:557" file="f80" line="557" extern="1" inline="1"/>
+  <Method id="_4116" name="back" returns="_4078" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE4backEv" demangled="std::vector<int, std::allocator<int> >::back()" location="f80:565" file="f80" line="565" extern="1" inline="1"/>
+  <Method id="_4117" name="back" returns="_4080" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE4backEv" demangled="std::vector<int, std::allocator<int> >::back() const" location="f80:573" file="f80" line="573" extern="1" inline="1"/>
+  <Method id="_4118" name="data" returns="_2748" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE4dataEv" demangled="std::vector<int, std::allocator<int> >::data()" location="f80:584" file="f80" line="584" extern="1" inline="1"/>
+  <Method id="_4119" name="data" returns="_4076" const="1" context="_1995" access="public" mangled="_ZNKSt6vectorIiSaIiEE4dataEv" demangled="std::vector<int, std::allocator<int> >::data() const" location="f80:588" file="f80" line="588" extern="1" inline="1"/>
+  <Method id="_4120" name="push_back" returns="_1194" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE9push_backERKi" demangled="std::vector<int, std::allocator<int> >::push_back(int const&)" location="f80:603" file="f80" line="603" extern="1" inline="1">
+    <Argument name="__x" type="_4080" location="f80:603" file="f80" line="603"/>
+  </Method>
+  <Method id="_4121" name="pop_back" returns="_1194" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE8pop_backEv" demangled="std::vector<int, std::allocator<int> >::pop_back()" location="f80:624" file="f80" line="624" extern="1" inline="1"/>
+  <Method id="_4122" name="insert" returns="_3334" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE6insertEN9__gnu_cxx17__normal_iteratorIPiS1_EERKi" demangled="std::vector<int, std::allocator<int> >::insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&)" location="f184:94" file="f184" line="94" extern="1">
+    <Argument name="__position" type="_3334" location="f184:94" file="f184" line="94"/>
+    <Argument name="__x" type="_4080" location="f184:94" file="f184" line="94"/>
+  </Method>
+  <Method id="_4123" name="insert" returns="_1194" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE6insertEN9__gnu_cxx17__normal_iteratorIPiS1_EEjRKi" demangled="std::vector<int, std::allocator<int> >::insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, unsigned, int const&)" location="f80:658" file="f80" line="658" extern="1" inline="1">
+    <Argument name="__position" type="_3334" location="f80:658" file="f80" line="658"/>
+    <Argument name="__n" type="_1698" location="f80:658" file="f80" line="658"/>
+    <Argument name="__x" type="_4080" location="f80:658" file="f80" line="658"/>
+  </Method>
+  <Method id="_4124" name="erase" returns="_3334" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPiS1_EE" demangled="std::vector<int, std::allocator<int> >::erase(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >)" location="f184:111" file="f184" line="111" extern="1">
+    <Argument name="__position" type="_3334" location="f184:111" file="f184" line="111"/>
+  </Method>
+  <Method id="_4125" name="erase" returns="_3334" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPiS1_EES5_" demangled="std::vector<int, std::allocator<int> >::erase(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >)" location="f184:123" file="f184" line="123" extern="1">
+    <Argument name="__first" type="_3334" location="f184:123" file="f184" line="123"/>
+    <Argument name="__last" type="_3334" location="f184:123" file="f184" line="123"/>
+  </Method>
+  <Method id="_4126" name="swap" returns="_1194" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE4swapERS1_" demangled="std::vector<int, std::allocator<int> >::swap(std::vector<int, std::allocator<int> >&)" location="f80:734" file="f80" line="734" extern="1" inline="1">
+    <Argument name="__x" type="_11301" location="f80:734" file="f80" line="734"/>
+  </Method>
+  <Method id="_4127" name="clear" returns="_1194" context="_1995" access="public" mangled="_ZNSt6vectorIiSaIiEE5clearEv" demangled="std::vector<int, std::allocator<int> >::clear()" location="f80:749" file="f80" line="749" extern="1" inline="1"/>
+  <Method id="_4128" name="_M_fill_assign" returns="_1194" context="_1995" access="protected" mangled="_ZNSt6vectorIiSaIiEE14_M_fill_assignEjRKi" demangled="std::vector<int, std::allocator<int> >::_M_fill_assign(unsigned, int const&)" location="f184:172" file="f184" line="172" extern="1">
+    <Argument name="__n" type="_1698" location="f184:172" file="f184" line="172"/>
+    <Argument name="__val" type="_4080" location="f184:172" file="f184" line="172"/>
+  </Method>
+  <Method id="_4129" name="_M_fill_insert" returns="_1194" context="_1995" access="protected" mangled="_ZNSt6vectorIiSaIiEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPiS1_EEjRKi" demangled="std::vector<int, std::allocator<int> >::_M_fill_insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, unsigned, int const&)" location="f184:312" file="f184" line="312" extern="1">
+    <Argument name="__position" type="_3334" location="f184:312" file="f184" line="312"/>
+    <Argument name="__n" type="_1698" location="f184:312" file="f184" line="312"/>
+    <Argument name="__x" type="_4080" location="f184:312" file="f184" line="312"/>
+  </Method>
+  <Method id="_4130" name="_M_insert_aux" returns="_1194" context="_1995" access="protected" mangled="_ZNSt6vectorIiSaIiEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPiS1_EERKi" demangled="std::vector<int, std::allocator<int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&)" location="f184:250" file="f184" line="250" extern="1">
+    <Argument name="__position" type="_3334" location="f184:250" file="f184" line="250"/>
+    <Argument name="__x" type="_4080" location="f184:250" file="f184" line="250"/>
+  </Method>
+  <Field id="_4131" name="_M_impl" type="_4133" offset="0" context="_1996" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE7_M_implE" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_M_impl" location="f80:123" file="f80" line="123"/>
+  <Typedef id="_4132" name="_Tp_alloc_type" type="_2513" context="_1996" access="public" location="f80:78" file="f80" line="78"/>
+  <Struct id="_4133" name="_Vector_impl" context="_1996" access="public" mangled="NSt12_Vector_baseISsSaISsEE12_Vector_implE" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_impl" location="f80:82" file="f80" line="82" artificial="1" size="96" align="32" members="_11302 _11303 _11304 _11305 _11306 _11307 " bases="_2513 ">
+    <Base type="_2513" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_4134" name="allocator_type" type="_2513" context="_1996" access="public" location="f80:92" file="f80" line="92"/>
+  <Constructor id="_4135" name="_Vector_base" artificial="1" throw="" context="_1996" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEEC1ERKS1_ *INTERNAL* " demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_base(std::_Vector_base<std::string, std::allocator<std::string> > const&)" location="f80:77" file="f80" line="77" inline="1">
+    <Argument name="_ctor_arg" type="_11308" location="f80:77" file="f80" line="77"/>
+  </Constructor>
+  <Method id="_4136" name="_M_get_Tp_allocator" returns="_11309" context="_1996" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE19_M_get_Tp_allocatorEv" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_M_get_Tp_allocator()" location="f80:96" file="f80" line="96" endline="96" inline="1"/>
+  <Method id="_4137" name="_M_get_Tp_allocator" returns="_11296" const="1" context="_1996" access="public" mangled="_ZNKSt12_Vector_baseISsSaISsEE19_M_get_Tp_allocatorEv" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_M_get_Tp_allocator() const" location="f80:100" file="f80" line="100" extern="1" inline="1"/>
+  <Method id="_4138" name="get_allocator" returns="_2513" const="1" context="_1996" access="public" mangled="_ZNKSt12_Vector_baseISsSaISsEE13get_allocatorEv" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::get_allocator() const" location="f80:104" file="f80" line="104" extern="1" inline="1"/>
+  <Constructor id="_4139" name="_Vector_base" context="_1996" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEEC1ERKS0_ *INTERNAL* " demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_base(std::allocator<std::string> const&)" location="f80:107" file="f80" line="107" endline="108" inline="1">
+    <Argument name="__a" type="_11296" location="f80:107" file="f80" line="107"/>
+  </Constructor>
+  <Constructor id="_4140" name="_Vector_base" explicit="1" context="_1996" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEEC1EjRKS0_ *INTERNAL* " demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_base(unsigned, std::allocator<std::string> const&)" location="f80:111" file="f80" line="111" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f80:111" file="f80" line="111"/>
+    <Argument name="__a" type="_11296" location="f80:111" file="f80" line="111"/>
+  </Constructor>
+  <Destructor id="_4141" name="_Vector_base" context="_1996" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEED1Ev *INTERNAL* " demangled="std::_Vector_base<std::string, std::allocator<std::string> >::~_Vector_base()" location="f80:119" file="f80" line="119" endline="119" inline="1">
+  </Destructor>
+  <Method id="_4142" name="_M_allocate" returns="_4014" context="_1996" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE11_M_allocateEj" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_M_allocate(unsigned)" location="f80:127" file="f80" line="127" endline="127" inline="1">
+    <Argument name="__n" type="_1698" location="f80:127" file="f80" line="127"/>
+  </Method>
+  <Method id="_4143" name="_M_deallocate" returns="_1194" context="_1996" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE13_M_deallocateEPSsj" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_M_deallocate(std::string*, unsigned)" location="f80:131" file="f80" line="131" endline="133" inline="1">
+    <Argument name="__p" type="_4014" location="f80:131" file="f80" line="131"/>
+    <Argument name="__n" type="_1698" location="f80:131" file="f80" line="131"/>
+  </Method>
+  <Field id="_4144" name="_M_impl" type="_4146" offset="0" context="_1997" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE7_M_implE" demangled="std::_Vector_base<int, std::allocator<int> >::_M_impl" location="f80:123" file="f80" line="123"/>
+  <Typedef id="_4145" name="_Tp_alloc_type" type="_2516" context="_1997" access="public" location="f80:78" file="f80" line="78"/>
+  <Struct id="_4146" name="_Vector_impl" context="_1997" access="public" mangled="NSt12_Vector_baseIiSaIiEE12_Vector_implE" demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_impl" location="f80:82" file="f80" line="82" artificial="1" size="96" align="32" members="_11310 _11311 _11312 _11313 _11314 _11315 " bases="_2516 ">
+    <Base type="_2516" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Typedef id="_4147" name="allocator_type" type="_2516" context="_1997" access="public" location="f80:92" file="f80" line="92"/>
+  <Constructor id="_4148" name="_Vector_base" artificial="1" throw="" context="_1997" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEEC1ERKS1_ *INTERNAL* " demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_base(std::_Vector_base<int, std::allocator<int> > const&)" location="f80:77" file="f80" line="77" inline="1">
+    <Argument name="_ctor_arg" type="_11316" location="f80:77" file="f80" line="77"/>
+  </Constructor>
+  <Method id="_4149" name="_M_get_Tp_allocator" returns="_11317" context="_1997" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv" demangled="std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator()" location="f80:96" file="f80" line="96" endline="96" inline="1"/>
+  <Method id="_4150" name="_M_get_Tp_allocator" returns="_11299" const="1" context="_1997" access="public" mangled="_ZNKSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv" demangled="std::_Vector_base<int, std::allocator<int> >::_M_get_Tp_allocator() const" location="f80:100" file="f80" line="100" endline="100" inline="1"/>
+  <Method id="_4151" name="get_allocator" returns="_2516" const="1" context="_1997" access="public" mangled="_ZNKSt12_Vector_baseIiSaIiEE13get_allocatorEv" demangled="std::_Vector_base<int, std::allocator<int> >::get_allocator() const" location="f80:104" file="f80" line="104" endline="104" inline="1"/>
+  <Constructor id="_4152" name="_Vector_base" context="_1997" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEEC1ERKS0_ *INTERNAL* " demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_base(std::allocator<int> const&)" location="f80:107" file="f80" line="107" endline="108" inline="1">
+    <Argument name="__a" type="_11299" location="f80:107" file="f80" line="107"/>
+  </Constructor>
+  <Constructor id="_4153" name="_Vector_base" explicit="1" context="_1997" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEEC1EjRKS0_ *INTERNAL* " demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_base(unsigned, std::allocator<int> const&)" location="f80:111" file="f80" line="111" endline="115" inline="1">
+    <Argument name="__n" type="_1698" location="f80:111" file="f80" line="111"/>
+    <Argument name="__a" type="_11299" location="f80:111" file="f80" line="111"/>
+  </Constructor>
+  <Destructor id="_4154" name="_Vector_base" context="_1997" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEED1Ev *INTERNAL* " demangled="std::_Vector_base<int, std::allocator<int> >::~_Vector_base()" location="f80:119" file="f80" line="119" endline="119" inline="1">
+  </Destructor>
+  <Method id="_4155" name="_M_allocate" returns="_2748" context="_1997" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEj" demangled="std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned)" location="f80:127" file="f80" line="127" endline="127" inline="1">
+    <Argument name="__n" type="_1698" location="f80:127" file="f80" line="127"/>
+  </Method>
+  <Method id="_4156" name="_M_deallocate" returns="_1194" context="_1997" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPij" demangled="std::_Vector_base<int, std::allocator<int> >::_M_deallocate(int*, unsigned)" location="f80:131" file="f80" line="131" endline="133" inline="1">
+    <Argument name="__p" type="_2748" location="f80:131" file="f80" line="131"/>
+    <Argument name="__n" type="_1698" location="f80:131" file="f80" line="131"/>
+  </Method>
+  <Typedef id="_4157" name="_Alloc_value_type" type="_2961" context="_1998" access="private" location="f81:615" file="f81" line="615"/>
+  <Typedef id="_4158" name="_Base" type="_1999" context="_1998" access="private" location="f81:619" file="f81" line="619"/>
+  <Typedef id="_4159" name="_Tp_alloc_type" type="_2512" context="_1998" access="private" location="f81:620" file="f81" line="620"/>
+  <Typedef id="_4160" name="value_type" type="_2961" context="_1998" access="public" location="f81:623" file="f81" line="623"/>
+  <Typedef id="_4161" name="pointer" type="_1149" context="_1998" access="public" location="f81:624" file="f81" line="624"/>
+  <Typedef id="_4162" name="const_pointer" type="_2749" context="_1998" access="public" location="f81:625" file="f81" line="625"/>
+  <ReferenceType id="_4163" type="_2961" size="32" align="32"/>
+  <Typedef id="_4164" name="reference" type="_4163" context="_1998" access="public" location="f81:626" file="f81" line="626"/>
+  <ReferenceType id="_4165" type="_2961c" size="32" align="32"/>
+  <Typedef id="_4166" name="const_reference" type="_4165" context="_1998" access="public" location="f81:627" file="f81" line="627"/>
+  <Typedef id="_4167" name="iterator" type="_2005" context="_1998" access="public" location="f81:628" file="f81" line="628"/>
+  <Typedef id="_4168" name="const_iterator" type="_2006" context="_1998" access="public" location="f81:629" file="f81" line="629"/>
+  <Typedef id="_4169" name="const_reverse_iterator" type="_2542" context="_1998" access="public" location="f81:630" file="f81" line="630"/>
+  <Typedef id="_4170" name="reverse_iterator" type="_2543" context="_1998" access="public" location="f81:631" file="f81" line="631"/>
+  <Typedef id="_4171" name="size_type" type="_1698" context="_1998" access="public" location="f81:632" file="f81" line="632"/>
+  <Typedef id="_4172" name="difference_type" type="_1699" context="_1998" access="public" location="f81:633" file="f81" line="633"/>
+  <Typedef id="_4173" name="allocator_type" type="_2512" context="_1998" access="public" location="f81:634" file="f81" line="634"/>
+  <Typedef id="_4174" name="_Map_pointer" type="_2935" context="_1998" access="protected" location="f81:637" file="f81" line="637"/>
+  <Method id="_4175" name="_S_buffer_size" returns="_1698" static="1" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE14_S_buffer_sizeEv" demangled="std::deque<char, std::allocator<char> >::_S_buffer_size()" location="f81:640" file="f81" line="640" endline="640" inline="1"/>
+  <Constructor id="_4176" name="deque" explicit="1" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEEC1ERKS0_ *INTERNAL* " demangled="std::deque<char, std::allocator<char> >::deque(std::allocator<char> const&)" location="f81:667" file="f81" line="667" endline="667" inline="1">
+    <Argument name="__a" type="_5511" location="f81:667" file="f81" line="667" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_4177" name="deque" explicit="1" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEEC1EjRKcRKS0_ *INTERNAL* " demangled="std::deque<char, std::allocator<char> >::deque(unsigned, char const&, std::allocator<char> const&)" location="f81:679" file="f81" line="679" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f81:679" file="f81" line="679"/>
+    <Argument name="__value" type="_4165" location="f81:679" file="f81" line="679" default="<gccxml-cast-expr>"/>
+    <Argument name="__a" type="_5511" location="f81:679" file="f81" line="679" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_4178" name="deque" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEEC1ERKS1_ *INTERNAL* " demangled="std::deque<char, std::allocator<char> >::deque(std::deque<char, std::allocator<char> > const&)" location="f81:690" file="f81" line="690" extern="1" inline="1">
+    <Argument name="__x" type="_11318" location="f81:690" file="f81" line="690"/>
+  </Constructor>
+  <Destructor id="_4179" name="deque" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEED1Ev *INTERNAL* " demangled="std::deque<char, std::allocator<char> >::~deque()" location="f81:725" file="f81" line="725" endline="725" inline="1">
+  </Destructor>
+  <OperatorMethod id="_4180" name="=" returns="_11319" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEEaSERKS1_" demangled="std::deque<char, std::allocator<char> >::operator=(std::deque<char, std::allocator<char> > const&)" location="f185:70" file="f185" line="70" extern="1">
+    <Argument name="__x" type="_11318" location="f185:70" file="f185" line="70"/>
+  </OperatorMethod>
+  <Method id="_4181" name="assign" returns="_1194" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE6assignEjRKc" demangled="std::deque<char, std::allocator<char> >::assign(unsigned, char const&)" location="f81:750" file="f81" line="750" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f81:750" file="f81" line="750"/>
+    <Argument name="__val" type="_4165" location="f81:750" file="f81" line="750"/>
+  </Method>
+  <Method id="_4182" name="get_allocator" returns="_2512" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE13get_allocatorEv" demangled="std::deque<char, std::allocator<char> >::get_allocator() const" location="f81:775" file="f81" line="775" extern="1" inline="1"/>
+  <Method id="_4183" name="begin" returns="_2005" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE5beginEv" demangled="std::deque<char, std::allocator<char> >::begin()" location="f81:784" file="f81" line="784" endline="784" inline="1"/>
+  <Method id="_4184" name="begin" returns="_2006" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE5beginEv" demangled="std::deque<char, std::allocator<char> >::begin() const" location="f81:792" file="f81" line="792" extern="1" inline="1"/>
+  <Method id="_4185" name="end" returns="_2005" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE3endEv" demangled="std::deque<char, std::allocator<char> >::end()" location="f81:801" file="f81" line="801" endline="801" inline="1"/>
+  <Method id="_4186" name="end" returns="_2006" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE3endEv" demangled="std::deque<char, std::allocator<char> >::end() const" location="f81:810" file="f81" line="810" extern="1" inline="1"/>
+  <Method id="_4187" name="rbegin" returns="_2543" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE6rbeginEv" demangled="std::deque<char, std::allocator<char> >::rbegin()" location="f81:819" file="f81" line="819" extern="1" inline="1"/>
+  <Method id="_4188" name="rbegin" returns="_2542" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE6rbeginEv" demangled="std::deque<char, std::allocator<char> >::rbegin() const" location="f81:828" file="f81" line="828" extern="1" inline="1"/>
+  <Method id="_4189" name="rend" returns="_2543" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE4rendEv" demangled="std::deque<char, std::allocator<char> >::rend()" location="f81:836" file="f81" line="836" extern="1" inline="1"/>
+  <Method id="_4190" name="rend" returns="_2542" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE4rendEv" demangled="std::deque<char, std::allocator<char> >::rend() const" location="f81:845" file="f81" line="845" extern="1" inline="1"/>
+  <Method id="_4191" name="size" returns="_1698" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE4sizeEv" demangled="std::deque<char, std::allocator<char> >::size() const" location="f81:851" file="f81" line="851" endline="851" inline="1"/>
+  <Method id="_4192" name="max_size" returns="_1698" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE8max_sizeEv" demangled="std::deque<char, std::allocator<char> >::max_size() const" location="f81:856" file="f81" line="856" extern="1" inline="1"/>
+  <Method id="_4193" name="resize" returns="_1194" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE6resizeEjc" demangled="std::deque<char, std::allocator<char> >::resize(unsigned, char)" location="f81:871" file="f81" line="871" extern="1" inline="1">
+    <Argument name="__new_size" type="_1698" location="f81:871" file="f81" line="871"/>
+    <Argument name="__x" type="_2961" location="f81:871" file="f81" line="871" default="<gccxml-cast-expr>"/>
+  </Method>
+  <Method id="_4194" name="empty" returns="_3949" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE5emptyEv" demangled="std::deque<char, std::allocator<char> >::empty() const" location="f81:885" file="f81" line="885" endline="885" inline="1"/>
+  <OperatorMethod id="_4195" name="[]" returns="_4163" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEEixEj" demangled="std::deque<char, std::allocator<char> >::operator[](unsigned)" location="f81:901" file="f81" line="901" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f81:901" file="f81" line="901"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4196" name="[]" returns="_4165" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEEixEj" demangled="std::deque<char, std::allocator<char> >::operator[](unsigned) const" location="f81:916" file="f81" line="916" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f81:916" file="f81" line="916"/>
+  </OperatorMethod>
+  <Method id="_4197" name="_M_range_check" returns="_1194" const="1" context="_1998" access="protected" mangled="_ZNKSt5dequeIcSaIcEE14_M_range_checkEj" demangled="std::deque<char, std::allocator<char> >::_M_range_check(unsigned) const" location="f81:922" file="f81" line="922" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f81:922" file="f81" line="922"/>
+  </Method>
+  <Method id="_4198" name="at" returns="_4163" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE2atEj" demangled="std::deque<char, std::allocator<char> >::at(unsigned)" location="f81:941" file="f81" line="941" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f81:941" file="f81" line="941"/>
+  </Method>
+  <Method id="_4199" name="at" returns="_4165" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE2atEj" demangled="std::deque<char, std::allocator<char> >::at(unsigned) const" location="f81:959" file="f81" line="959" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f81:959" file="f81" line="959"/>
+  </Method>
+  <Method id="_4200" name="front" returns="_4163" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE5frontEv" demangled="std::deque<char, std::allocator<char> >::front()" location="f81:970" file="f81" line="970" endline="970" inline="1"/>
+  <Method id="_4201" name="front" returns="_4165" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE5frontEv" demangled="std::deque<char, std::allocator<char> >::front() const" location="f81:978" file="f81" line="978" extern="1" inline="1"/>
+  <Method id="_4202" name="back" returns="_4163" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE4backEv" demangled="std::deque<char, std::allocator<char> >::back()" location="f81:986" file="f81" line="986" extern="1" inline="1"/>
+  <Method id="_4203" name="back" returns="_4165" const="1" context="_1998" access="public" mangled="_ZNKSt5dequeIcSaIcEE4backEv" demangled="std::deque<char, std::allocator<char> >::back() const" location="f81:998" file="f81" line="998" extern="1" inline="1"/>
+  <Method id="_4204" name="push_front" returns="_1194" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE10push_frontERKc" demangled="std::deque<char, std::allocator<char> >::push_front(char const&)" location="f81:1016" file="f81" line="1016" extern="1" inline="1">
+    <Argument name="__x" type="_4165" location="f81:1016" file="f81" line="1016"/>
+  </Method>
+  <Method id="_4205" name="push_back" returns="_1194" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE9push_backERKc" demangled="std::deque<char, std::allocator<char> >::push_back(char const&)" location="f81:1037" file="f81" line="1037" endline="1045" inline="1">
+    <Argument name="__x" type="_4165" location="f81:1037" file="f81" line="1037"/>
+  </Method>
+  <Method id="_4206" name="pop_front" returns="_1194" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE9pop_frontEv" demangled="std::deque<char, std::allocator<char> >::pop_front()" location="f81:1058" file="f81" line="1058" endline="1066" inline="1"/>
+  <Method id="_4207" name="pop_back" returns="_1194" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE8pop_backEv" demangled="std::deque<char, std::allocator<char> >::pop_back()" location="f81:1079" file="f81" line="1079" extern="1" inline="1"/>
+  <Method id="_4208" name="insert" returns="_2005" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE6insertESt15_Deque_iteratorIcRcPcERKc" demangled="std::deque<char, std::allocator<char> >::insert(std::_Deque_iterator<char, char&, char*>, char const&)" location="f185:91" file="f185" line="91" extern="1">
+    <Argument name="position" type="_2005" location="f185:91" file="f185" line="91"/>
+    <Argument name="__x" type="_4165" location="f185:91" file="f185" line="91"/>
+  </Method>
+  <Method id="_4209" name="insert" returns="_1194" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE6insertESt15_Deque_iteratorIcRcPcEjRKc" demangled="std::deque<char, std::allocator<char> >::insert(std::_Deque_iterator<char, char&, char*>, unsigned, char const&)" location="f81:1113" file="f81" line="1113" extern="1" inline="1">
+    <Argument name="__position" type="_2005" location="f81:1113" file="f81" line="1113"/>
+    <Argument name="__n" type="_1698" location="f81:1113" file="f81" line="1113"/>
+    <Argument name="__x" type="_4165" location="f81:1113" file="f81" line="1113"/>
+  </Method>
+  <Method id="_4210" name="erase" returns="_2005" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE5eraseESt15_Deque_iteratorIcRcPcE" demangled="std::deque<char, std::allocator<char> >::erase(std::_Deque_iterator<char, char&, char*>)" location="f185:112" file="f185" line="112" extern="1">
+    <Argument name="__position" type="_2005" location="f185:112" file="f185" line="112"/>
+  </Method>
+  <Method id="_4211" name="erase" returns="_2005" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE5eraseESt15_Deque_iteratorIcRcPcES5_" demangled="std::deque<char, std::allocator<char> >::erase(std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>)" location="f185:133" file="f185" line="133" extern="1">
+    <Argument name="__first" type="_2005" location="f185:133" file="f185" line="133"/>
+    <Argument name="__last" type="_2005" location="f185:133" file="f185" line="133"/>
+  </Method>
+  <Method id="_4212" name="swap" returns="_1194" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE4swapERS1_" demangled="std::deque<char, std::allocator<char> >::swap(std::deque<char, std::allocator<char> >&)" location="f81:1181" file="f81" line="1181" extern="1" inline="1">
+    <Argument name="__x" type="_11319" location="f81:1181" file="f81" line="1181"/>
+  </Method>
+  <Method id="_4213" name="clear" returns="_1194" context="_1998" access="public" mangled="_ZNSt5dequeIcSaIcEE5clearEv" demangled="std::deque<char, std::allocator<char> >::clear()" location="f185:173" file="f185" line="173" extern="1"/>
+  <Method id="_4214" name="_M_fill_initialize" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE18_M_fill_initializeERKc" demangled="std::deque<char, std::allocator<char> >::_M_fill_initialize(char const&)" location="f185:264" file="f185" line="264" extern="1">
+    <Argument name="__value" type="_4165" location="f185:264" file="f185" line="264"/>
+  </Method>
+  <Method id="_4215" name="_M_fill_assign" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE14_M_fill_assignEjRKc" demangled="std::deque<char, std::allocator<char> >::_M_fill_assign(unsigned, char const&)" location="f81:1311" file="f81" line="1311" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f81:1311" file="f81" line="1311"/>
+    <Argument name="__val" type="_4165" location="f81:1311" file="f81" line="1311"/>
+  </Method>
+  <Method id="_4216" name="_M_push_back_aux" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE16_M_push_back_auxERKc" demangled="std::deque<char, std::allocator<char> >::_M_push_back_aux(char const&)" location="f185:346" file="f185" line="346" endline="360">
+    <Argument name="__t" type="_4165" location="f185:346" file="f185" line="346"/>
+  </Method>
+  <Method id="_4217" name="_M_push_front_aux" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE17_M_push_front_auxERKc" demangled="std::deque<char, std::allocator<char> >::_M_push_front_aux(char const&)" location="f185:369" file="f185" line="369" extern="1">
+    <Argument name="__t" type="_4165" location="f185:369" file="f185" line="369"/>
+  </Method>
+  <Method id="_4218" name="_M_pop_back_aux" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE15_M_pop_back_auxEv" demangled="std::deque<char, std::allocator<char> >::_M_pop_back_aux()" location="f185:392" file="f185" line="392" extern="1"/>
+  <Method id="_4219" name="_M_pop_front_aux" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE16_M_pop_front_auxEv" demangled="std::deque<char, std::allocator<char> >::_M_pop_front_aux()" location="f185:407" file="f185" line="407" endline="411"/>
+  <Method id="_4220" name="_M_fill_insert" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE14_M_fill_insertESt15_Deque_iteratorIcRcPcEjRKc" demangled="std::deque<char, std::allocator<char> >::_M_fill_insert(std::_Deque_iterator<char, char&, char*>, unsigned, char const&)" location="f185:221" file="f185" line="221" extern="1">
+    <Argument name="__pos" type="_2005" location="f185:221" file="f185" line="221"/>
+    <Argument name="__n" type="_1698" location="f185:221" file="f185" line="221"/>
+    <Argument name="__x" type="_4165" location="f185:221" file="f185" line="221"/>
+  </Method>
+  <Method id="_4221" name="_M_insert_aux" returns="_2005" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE13_M_insert_auxESt15_Deque_iteratorIcRcPcERKc" demangled="std::deque<char, std::allocator<char> >::_M_insert_aux(std::_Deque_iterator<char, char&, char*>, char const&)" location="f185:473" file="f185" line="473" extern="1">
+    <Argument name="__pos" type="_2005" location="f185:473" file="f185" line="473"/>
+    <Argument name="__x" type="_4165" location="f185:473" file="f185" line="473"/>
+  </Method>
+  <Method id="_4222" name="_M_insert_aux" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE13_M_insert_auxESt15_Deque_iteratorIcRcPcEjRKc" demangled="std::deque<char, std::allocator<char> >::_M_insert_aux(std::_Deque_iterator<char, char&, char*>, unsigned, char const&)" location="f185:506" file="f185" line="506" extern="1">
+    <Argument name="__pos" type="_2005" location="f185:506" file="f185" line="506"/>
+    <Argument name="__n" type="_1698" location="f185:506" file="f185" line="506"/>
+    <Argument name="__x" type="_4165" location="f185:506" file="f185" line="506"/>
+  </Method>
+  <Method id="_4223" name="_M_reserve_elements_at_front" returns="_2005" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE28_M_reserve_elements_at_frontEj" demangled="std::deque<char, std::allocator<char> >::_M_reserve_elements_at_front(unsigned)" location="f81:1403" file="f81" line="1403" endline="1408" inline="1">
+    <Argument name="__n" type="_1698" location="f81:1403" file="f81" line="1403"/>
+  </Method>
+  <Method id="_4224" name="_M_reserve_elements_at_back" returns="_2005" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE27_M_reserve_elements_at_backEj" demangled="std::deque<char, std::allocator<char> >::_M_reserve_elements_at_back(unsigned)" location="f81:1413" file="f81" line="1413" endline="1418" inline="1">
+    <Argument name="__n" type="_1698" location="f81:1413" file="f81" line="1413"/>
+  </Method>
+  <Method id="_4225" name="_M_new_elements_at_front" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE24_M_new_elements_at_frontEj" demangled="std::deque<char, std::allocator<char> >::_M_new_elements_at_front(unsigned)" location="f185:680" file="f185" line="680" endline="694">
+    <Argument name="__new_elems" type="_1698" location="f185:680" file="f185" line="680"/>
+  </Method>
+  <Method id="_4226" name="_M_new_elements_at_back" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE23_M_new_elements_at_backEj" demangled="std::deque<char, std::allocator<char> >::_M_new_elements_at_back(unsigned)" location="f185:702" file="f185" line="702" endline="716">
+    <Argument name="__new_elems" type="_1698" location="f185:702" file="f185" line="702"/>
+  </Method>
+  <Method id="_4227" name="_M_reserve_map_at_back" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE22_M_reserve_map_at_backEj" demangled="std::deque<char, std::allocator<char> >::_M_reserve_map_at_back(unsigned)" location="f81:1441" file="f81" line="1441" endline="1444" inline="1">
+    <Argument name="__nodes_to_add" type="_1698" location="f81:1441" file="f81" line="1441" default="1"/>
+  </Method>
+  <Method id="_4228" name="_M_reserve_map_at_front" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE23_M_reserve_map_at_frontEj" demangled="std::deque<char, std::allocator<char> >::_M_reserve_map_at_front(unsigned)" location="f81:1449" file="f81" line="1449" endline="1452" inline="1">
+    <Argument name="__nodes_to_add" type="_1698" location="f81:1449" file="f81" line="1449" default="1"/>
+  </Method>
+  <Method id="_4229" name="_M_reallocate_map" returns="_1194" context="_1998" access="protected" mangled="_ZNSt5dequeIcSaIcEE17_M_reallocate_mapEjb" demangled="std::deque<char, std::allocator<char> >::_M_reallocate_map(unsigned, bool)" location="f185:724" file="f185" line="724" endline="763">
+    <Argument name="__nodes_to_add" type="_1698" location="f185:724" file="f185" line="724"/>
+    <Argument name="__add_at_front" type="_3949" location="f185:724" file="f185" line="724"/>
+  </Method>
+  <Field id="_4230" name="_M_impl" type="_4236" offset="0" context="_1999" access="protected" mangled="_ZNSt11_Deque_baseIcSaIcEE7_M_implE" demangled="std::_Deque_base<char, std::allocator<char> >::_M_impl" location="f81:436" file="f81" line="436"/>
+  <Typedef id="_4231" name="allocator_type" type="_2512" context="_1999" access="public" location="f81:357" file="f81" line="357"/>
+  <Typedef id="_4232" name="iterator" type="_2005" context="_1999" access="public" location="f81:363" file="f81" line="363"/>
+  <Typedef id="_4233" name="const_iterator" type="_2006" context="_1999" access="public" location="f81:364" file="f81" line="364"/>
+  <Typedef id="_4234" name="_Map_alloc_type" type="_2514" context="_1999" access="protected" location="f81:380" file="f81" line="380"/>
+  <Typedef id="_4235" name="_Tp_alloc_type" type="_2512" context="_1999" access="protected" location="f81:382" file="f81" line="382"/>
+  <Struct id="_4236" name="_Deque_impl" context="_1999" access="protected" mangled="NSt11_Deque_baseIcSaIcEE11_Deque_implE" demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_impl" location="f81:386" file="f81" line="386" artificial="1" size="320" align="32" members="_11320 _11321 _11322 _11323 _11324 _11325 _11326 " bases="_2512 ">
+    <Base type="_2512" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Enumeration id="_4237" name="._100" context="_1999" access="protected" location="f81:434" file="f81" line="434" artificial="1" size="32" align="32">
+    <EnumValue name="_S_initial_map_size" init="8"/>
+  </Enumeration>
+  <Constructor id="_4238" name="_Deque_base" artificial="1" context="_1999" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEEC1ERKS1_ *INTERNAL* " demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_base(std::_Deque_base<char, std::allocator<char> > const&)" location="f81:355" file="f81" line="355" inline="1">
+    <Argument name="_ctor_arg" type="_11327" location="f81:355" file="f81" line="355"/>
+  </Constructor>
+  <Method id="_4239" name="get_allocator" returns="_2512" const="1" context="_1999" access="public" mangled="_ZNKSt11_Deque_baseIcSaIcEE13get_allocatorEv" demangled="std::_Deque_base<char, std::allocator<char> >::get_allocator() const" location="f81:361" file="f81" line="361" extern="1" inline="1"/>
+  <Constructor id="_4240" name="_Deque_base" explicit="1" context="_1999" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEEC1ERKS0_j *INTERNAL* " demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_base(std::allocator<char> const&, unsigned)" location="f81:367" file="f81" line="367" endline="368" inline="1">
+    <Argument name="__a" type="_5511" location="f81:367" file="f81" line="367"/>
+    <Argument name="__num_elements" type="_1698" location="f81:367" file="f81" line="367"/>
+  </Constructor>
+  <Constructor id="_4241" name="_Deque_base" context="_1999" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEEC1ERKS0_ *INTERNAL* " demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_base(std::allocator<char> const&)" location="f81:371" file="f81" line="371" extern="1" inline="1">
+    <Argument name="__a" type="_5511" location="f81:371" file="f81" line="371"/>
+  </Constructor>
+  <Destructor id="_4242" name="_Deque_base" context="_1999" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEED1Ev *INTERNAL* " demangled="std::_Deque_base<char, std::allocator<char> >::~_Deque_base()" location="f81:442" file="f81" line="442" endline="447">
+  </Destructor>
+  <Method id="_4243" name="_M_get_Tp_allocator" returns="_11328" context="_1999" access="protected" mangled="_ZNSt11_Deque_baseIcSaIcEE19_M_get_Tp_allocatorEv" demangled="std::_Deque_base<char, std::allocator<char> >::_M_get_Tp_allocator()" location="f81:400" file="f81" line="400" endline="400" inline="1"/>
+  <Method id="_4244" name="_M_get_Tp_allocator" returns="_5511" const="1" context="_1999" access="protected" mangled="_ZNKSt11_Deque_baseIcSaIcEE19_M_get_Tp_allocatorEv" demangled="std::_Deque_base<char, std::allocator<char> >::_M_get_Tp_allocator() const" location="f81:404" file="f81" line="404" endline="404" inline="1"/>
+  <Method id="_4245" name="_M_get_map_allocator" returns="_2514" const="1" context="_1999" access="protected" mangled="_ZNKSt11_Deque_baseIcSaIcEE20_M_get_map_allocatorEv" demangled="std::_Deque_base<char, std::allocator<char> >::_M_get_map_allocator() const" location="f81:408" file="f81" line="408" endline="408" inline="1"/>
+  <Method id="_4246" name="_M_allocate_node" returns="_1149" context="_1999" access="protected" mangled="_ZNSt11_Deque_baseIcSaIcEE16_M_allocate_nodeEv" demangled="std::_Deque_base<char, std::allocator<char> >::_M_allocate_node()" location="f81:412" file="f81" line="412" endline="413" inline="1"/>
+  <Method id="_4247" name="_M_deallocate_node" returns="_1194" context="_1999" access="protected" mangled="_ZNSt11_Deque_baseIcSaIcEE18_M_deallocate_nodeEPc" demangled="std::_Deque_base<char, std::allocator<char> >::_M_deallocate_node(char*)" location="f81:418" file="f81" line="418" endline="419" inline="1">
+    <Argument name="__p" type="_1149" location="f81:418" file="f81" line="418"/>
+  </Method>
+  <Method id="_4248" name="_M_allocate_map" returns="_2935" context="_1999" access="protected" mangled="_ZNSt11_Deque_baseIcSaIcEE15_M_allocate_mapEj" demangled="std::_Deque_base<char, std::allocator<char> >::_M_allocate_map(unsigned)" location="f81:424" file="f81" line="424" endline="424" inline="1">
+    <Argument name="__n" type="_1698" location="f81:424" file="f81" line="424"/>
+  </Method>
+  <Method id="_4249" name="_M_deallocate_map" returns="_1194" context="_1999" access="protected" mangled="_ZNSt11_Deque_baseIcSaIcEE17_M_deallocate_mapEPPcj" demangled="std::_Deque_base<char, std::allocator<char> >::_M_deallocate_map(char**, unsigned)" location="f81:428" file="f81" line="428" endline="428" inline="1">
+    <Argument name="__p" type="_2935" location="f81:428" file="f81" line="428"/>
+    <Argument name="__n" type="_1698" location="f81:428" file="f81" line="428"/>
+  </Method>
+  <Method id="_4250" name="_M_initialize_map" returns="_1194" context="_1999" access="protected" mangled="_ZNSt11_Deque_baseIcSaIcEE17_M_initialize_mapEj" demangled="std::_Deque_base<char, std::allocator<char> >::_M_initialize_map(unsigned)" location="f81:465" file="f81" line="465" endline="495">
+    <Argument name="__num_elements" type="_1698" location="f81:465" file="f81" line="465"/>
+  </Method>
+  <Method id="_4251" name="_M_create_nodes" returns="_1194" context="_1999" access="protected" mangled="_ZNSt11_Deque_baseIcSaIcEE15_M_create_nodesEPPcS3_" demangled="std::_Deque_base<char, std::allocator<char> >::_M_create_nodes(char**, char**)" location="f81:504" file="f81" line="504" endline="514">
+    <Argument name="__nstart" type="_2935" location="f81:504" file="f81" line="504"/>
+    <Argument name="__nfinish" type="_2935" location="f81:504" file="f81" line="504"/>
+  </Method>
+  <Method id="_4252" name="_M_destroy_nodes" returns="_1194" context="_1999" access="protected" mangled="_ZNSt11_Deque_baseIcSaIcEE16_M_destroy_nodesEPPcS3_" demangled="std::_Deque_base<char, std::allocator<char> >::_M_destroy_nodes(char**, char**)" location="f81:522" file="f81" line="522" endline="524">
+    <Argument name="__nstart" type="_2935" location="f81:522" file="f81" line="522"/>
+    <Argument name="__nfinish" type="_2935" location="f81:522" file="f81" line="522"/>
+  </Method>
+  <ReferenceType id="_4253" type="_2005c" size="32" align="32"/>
+  <Field id="_4254" name="_M_cur" type="_1149" offset="0" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcE6_M_curE" demangled="std::_Deque_iterator<char, char&, char*>::_M_cur" location="f81:118" file="f81" line="118"/>
+  <Field id="_4255" name="_M_first" type="_1149" offset="32" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcE8_M_firstE" demangled="std::_Deque_iterator<char, char&, char*>::_M_first" location="f81:119" file="f81" line="119"/>
+  <Field id="_4256" name="_M_last" type="_1149" offset="64" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcE7_M_lastE" demangled="std::_Deque_iterator<char, char&, char*>::_M_last" location="f81:120" file="f81" line="120"/>
+  <Field id="_4257" name="_M_node" type="_2935" offset="96" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcE7_M_nodeE" demangled="std::_Deque_iterator<char, char&, char*>::_M_node" location="f81:121" file="f81" line="121"/>
+  <Typedef id="_4258" name="const_iterator" type="_2006" context="_2005" access="public" location="f81:104" file="f81" line="104"/>
+  <Typedef id="_4259" name="iterator_category" type="_2700" context="_2005" access="public" location="f81:109" file="f81" line="109"/>
+  <Typedef id="_4260" name="value_type" type="_2961" context="_2005" access="public" location="f81:110" file="f81" line="110"/>
+  <Typedef id="_4261" name="pointer" type="_1149" context="_2005" access="public" location="f81:111" file="f81" line="111"/>
+  <Typedef id="_4262" name="reference" type="_4163" context="_2005" access="public" location="f81:112" file="f81" line="112"/>
+  <Typedef id="_4263" name="size_type" type="_1698" context="_2005" access="public" location="f81:113" file="f81" line="113"/>
+  <Typedef id="_4264" name="difference_type" type="_1699" context="_2005" access="public" location="f81:114" file="f81" line="114"/>
+  <Typedef id="_4265" name="_Map_pointer" type="_2935" context="_2005" access="public" location="f81:115" file="f81" line="115"/>
+  <Method id="_4266" name="_S_buffer_size" returns="_1698" static="1" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcE14_S_buffer_sizeEv" demangled="std::_Deque_iterator<char, char&, char*>::_S_buffer_size()" location="f81:107" file="f81" line="107" endline="107" inline="1"/>
+  <Constructor id="_4267" name="_Deque_iterator" explicit="1" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcEC1ES1_PS1_ *INTERNAL* " demangled="std::_Deque_iterator<char, char&, char*>::_Deque_iterator(char*, char**)" location="f81:124" file="f81" line="124" extern="1" inline="1">
+    <Argument name="__x" type="_1149" location="f81:124" file="f81" line="124"/>
+    <Argument name="__y" type="_2935" location="f81:124" file="f81" line="124"/>
+  </Constructor>
+  <Constructor id="_4268" name="_Deque_iterator" explicit="1" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcEC1Ev *INTERNAL* " demangled="std::_Deque_iterator<char, char&, char*>::_Deque_iterator()" location="f81:127" file="f81" line="127" endline="127" inline="1"/>
+  <Constructor id="_4269" name="_Deque_iterator" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcEC1ERKS2_ *INTERNAL* " demangled="std::_Deque_iterator<char, char&, char*>::_Deque_iterator(std::_Deque_iterator<char, char&, char*> const&)" location="f81:130" file="f81" line="130" endline="131" inline="1">
+    <Argument name="__x" type="_4253" location="f81:130" file="f81" line="130"/>
+  </Constructor>
+  <OperatorMethod id="_4270" name="*" returns="_4163" const="1" context="_2005" access="public" mangled="_ZNKSt15_Deque_iteratorIcRcPcEdeEv" demangled="std::_Deque_iterator<char, char&, char*>::operator*() const" location="f81:135" file="f81" line="135" endline="135" inline="1"/>
+  <OperatorMethod id="_4271" name="->" returns="_1149" const="1" context="_2005" access="public" mangled="_ZNKSt15_Deque_iteratorIcRcPcEptEv" demangled="std::_Deque_iterator<char, char&, char*>::operator->() const" location="f81:139" file="f81" line="139" extern="1" inline="1"/>
+  <OperatorMethod id="_4272" name="++" returns="_11330" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcEppEv" demangled="std::_Deque_iterator<char, char&, char*>::operator++()" location="f81:143" file="f81" line="143" endline="150" inline="1"/>
+  <OperatorMethod id="_4273" name="++" returns="_2005" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcEppEi" demangled="std::_Deque_iterator<char, char&, char*>::operator++(int)" location="f81:155" file="f81" line="155" extern="1" inline="1">
+    <Argument type="_503" location="f81:155" file="f81" line="155"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4274" name="--" returns="_11330" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcEmmEv" demangled="std::_Deque_iterator<char, char&, char*>::operator--()" location="f81:163" file="f81" line="163" endline="170" inline="1"/>
+  <OperatorMethod id="_4275" name="--" returns="_2005" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcEmmEi" demangled="std::_Deque_iterator<char, char&, char*>::operator--(int)" location="f81:175" file="f81" line="175" extern="1" inline="1">
+    <Argument type="_503" location="f81:175" file="f81" line="175"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4276" name="+=" returns="_11330" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcEpLEi" demangled="std::_Deque_iterator<char, char&, char*>::operator+=(int)" location="f81:183" file="f81" line="183" endline="197" inline="1">
+    <Argument name="__n" type="_1699" location="f81:183" file="f81" line="183"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4277" name="+" returns="_2005" const="1" context="_2005" access="public" mangled="_ZNKSt15_Deque_iteratorIcRcPcEplEi" demangled="std::_Deque_iterator<char, char&, char*>::operator+(int) const" location="f81:202" file="f81" line="202" endline="204" inline="1">
+    <Argument name="__n" type="_1699" location="f81:202" file="f81" line="202"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4278" name="-=" returns="_11330" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcEmIEi" demangled="std::_Deque_iterator<char, char&, char*>::operator-=(int)" location="f81:209" file="f81" line="209" endline="209" inline="1">
+    <Argument name="__n" type="_1699" location="f81:209" file="f81" line="209"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4279" name="-" returns="_2005" const="1" context="_2005" access="public" mangled="_ZNKSt15_Deque_iteratorIcRcPcEmiEi" demangled="std::_Deque_iterator<char, char&, char*>::operator-(int) const" location="f81:213" file="f81" line="213" endline="215" inline="1">
+    <Argument name="__n" type="_1699" location="f81:213" file="f81" line="213"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4280" name="[]" returns="_4163" const="1" context="_2005" access="public" mangled="_ZNKSt15_Deque_iteratorIcRcPcEixEi" demangled="std::_Deque_iterator<char, char&, char*>::operator[](int) const" location="f81:220" file="f81" line="220" extern="1" inline="1">
+    <Argument name="__n" type="_1699" location="f81:220" file="f81" line="220"/>
+  </OperatorMethod>
+  <Method id="_4281" name="_M_set_node" returns="_1194" context="_2005" access="public" mangled="_ZNSt15_Deque_iteratorIcRcPcE11_M_set_nodeEPS1_" demangled="std::_Deque_iterator<char, char&, char*>::_M_set_node(char**)" location="f81:230" file="f81" line="230" endline="233" inline="1">
+    <Argument name="__new_node" type="_2935" location="f81:230" file="f81" line="230"/>
+  </Method>
+  <Class id="_4282" name="Init" context="_2477" access="public" mangled="NSt8ios_base4InitE" demangled="std::ios_base::Init" location="f33:531" file="f33" line="531" artificial="1" size="8" align="8" members="_11331 _11332 _11333 _11334 _11335 " bases=""/>
+  <Field id="_4283" name="_M_t" type="_2020" offset="0" context="_2017" access="private" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE4_M_tE" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_t" location="f83:134" file="f83" line="134"/>
+  <Typedef id="_4284" name="key_type" type="_2509" context="_2017" access="public" location="f83:95" file="f83" line="95"/>
+  <Typedef id="_4285" name="mapped_type" type="_1199" context="_2017" access="public" location="f83:96" file="f83" line="96"/>
+  <Typedef id="_4286" name="value_type" type="_2707" context="_2017" access="public" location="f83:97" file="f83" line="97"/>
+  <Typedef id="_4287" name="key_compare" type="_2171" context="_2017" access="public" location="f83:98" file="f83" line="98"/>
+  <Typedef id="_4288" name="allocator_type" type="_2518" context="_2017" access="public" location="f83:99" file="f83" line="99"/>
+  <Typedef id="_4289" name="_Alloc_value_type" type="_2707" context="_2017" access="private" location="f83:103" file="f83" line="103"/>
+  <Class id="_4290" name="value_compare" context="_2017" access="public" incomplete="1" mangled="NSt3mapISstSt4lessISsESaISt4pairIKSstEEE13value_compareE" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::value_compare" location="f83:112" file="f83" line="112" artificial="1" align="8"/>
+  <Typedef id="_4291" name="_Pair_alloc_type" type="_2518" context="_2017" access="private" location="f83:128" file="f83" line="128"/>
+  <Typedef id="_4292" name="_Rep_type" type="_2020" context="_2017" access="private" location="f83:131" file="f83" line="131"/>
+  <PointerType id="_4293" type="_2707" size="32" align="32"/>
+  <Typedef id="_4294" name="pointer" type="_4293" context="_2017" access="public" location="f83:139" file="f83" line="139"/>
+  <PointerType id="_4295" type="_2707c" size="32" align="32"/>
+  <Typedef id="_4296" name="const_pointer" type="_4295" context="_2017" access="public" location="f83:140" file="f83" line="140"/>
+  <ReferenceType id="_4297" type="_2707" size="32" align="32"/>
+  <Typedef id="_4298" name="reference" type="_4297" context="_2017" access="public" location="f83:141" file="f83" line="141"/>
+  <ReferenceType id="_4299" type="_2707c" size="32" align="32"/>
+  <Typedef id="_4300" name="const_reference" type="_4299" context="_2017" access="public" location="f83:142" file="f83" line="142"/>
+  <Typedef id="_4301" name="iterator" type="_2030" context="_2017" access="public" location="f83:143" file="f83" line="143"/>
+  <Typedef id="_4302" name="const_iterator" type="_2028" context="_2017" access="public" location="f83:144" file="f83" line="144"/>
+  <Typedef id="_4303" name="size_type" type="_1698" context="_2017" access="public" location="f83:145" file="f83" line="145"/>
+  <Typedef id="_4304" name="difference_type" type="_1699" context="_2017" access="public" location="f83:146" file="f83" line="146"/>
+  <Typedef id="_4305" name="reverse_iterator" type="_2545" context="_2017" access="public" location="f83:147" file="f83" line="147"/>
+  <Typedef id="_4306" name="const_reverse_iterator" type="_2544" context="_2017" access="public" location="f83:148" file="f83" line="148"/>
+  <Destructor id="_4307" name="map" artificial="1" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEED1Ev *INTERNAL* " demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::~map()" location="f83:93" file="f83" line="93" inline="1">
+  </Destructor>
+  <Constructor id="_4308" name="map" explicit="1" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEEC1Ev *INTERNAL* " demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::map()" location="f83:157" file="f83" line="157" extern="1" inline="1"/>
+  <Constructor id="_4309" name="map" explicit="1" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEEC1ERKS1_RKS5_ *INTERNAL* " demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::map(std::less<std::string> const&, std::allocator<std::pair<std::string const, unsigned short> > const&)" location="f83:165" file="f83" line="16 [...]
+    <Argument name="__comp" type="_11337" location="f83:165" file="f83" line="165"/>
+    <Argument name="__a" type="_11338" location="f83:165" file="f83" line="165" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_4310" name="map" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEEC1ERKS6_ *INTERNAL* " demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::map(std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > const&)" location="f83:175" fi [...]
+    <Argument name="__x" type="_11339" location="f83:175" file="f83" line="175"/>
+  </Constructor>
+  <OperatorMethod id="_4311" name="=" returns="_10044" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEEaSERKS6_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::operator=(std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > const&)" location= [...]
+    <Argument name="__x" type="_11339" location="f83:226" file="f83" line="226"/>
+  </OperatorMethod>
+  <Method id="_4312" name="get_allocator" returns="_2518" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE13get_allocatorEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::get_allocator() const" location="f83:234" file="f83" line="234" extern="1" inline="1"/>
+  <Method id="_4313" name="begin" returns="_2030" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE5beginEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::begin()" location="f83:244" file="f83" line="244" extern="1" inline="1"/>
+  <Method id="_4314" name="begin" returns="_2028" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE5beginEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::begin() const" location="f83:253" file="f83" line="253" extern="1" inline="1"/>
+  <Method id="_4315" name="end" returns="_2030" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE3endEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::end()" location="f83:261" file="f83" line="261" endline="261" inline="1"/>
+  <Method id="_4316" name="end" returns="_2028" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE3endEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::end() const" location="f83:270" file="f83" line="270" extern="1" inline="1"/>
+  <Method id="_4317" name="rbegin" returns="_2545" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE6rbeginEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::rbegin()" location="f83:279" file="f83" line="279" extern="1" inline="1"/>
+  <Method id="_4318" name="rbegin" returns="_2544" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE6rbeginEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::rbegin() const" location="f83:288" file="f83" line="288" extern="1" inline="1"/>
+  <Method id="_4319" name="rend" returns="_2545" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE4rendEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::rend()" location="f83:297" file="f83" line="297" extern="1" inline="1"/>
+  <Method id="_4320" name="rend" returns="_2544" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE4rendEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::rend() const" location="f83:306" file="f83" line="306" extern="1" inline="1"/>
+  <Method id="_4321" name="empty" returns="_3949" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE5emptyEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::empty() const" location="f83:314" file="f83" line="314" extern="1" inline="1"/>
+  <Method id="_4322" name="size" returns="_1698" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE4sizeEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::size() const" location="f83:319" file="f83" line="319" extern="1" inline="1"/>
+  <Method id="_4323" name="max_size" returns="_1698" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE8max_sizeEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::max_size() const" location="f83:324" file="f83" line="324" extern="1" inline="1"/>
+  <OperatorMethod id="_4324" name="[]" returns="_11340" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEEixERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::operator[](std::string const&)" location="f83:341" file="f83" line="341" extern="1" inline="1">
+    <Argument name="__k" type="_4020" location="f83:341" file="f83" line="341"/>
+  </OperatorMethod>
+  <Method id="_4325" name="at" returns="_11340" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE2atERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::at(std::string const&)" location="f83:363" file="f83" line="363" extern="1" inline="1">
+    <Argument name="__k" type="_4020" location="f83:363" file="f83" line="363"/>
+  </Method>
+  <Method id="_4326" name="at" returns="_11341" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE2atERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::at(std::string const&) const" location="f83:372" file="f83" line="372" extern="1" inline="1">
+    <Argument name="__k" type="_4020" location="f83:372" file="f83" line="372"/>
+  </Method>
+  <Method id="_4327" name="insert" returns="_2710" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE6insertERKS4_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::insert(std::pair<std::string const, unsigned short> const&)" location="f83:396" file="f83" line="396" extern="1" inline="1">
+    <Argument name="__x" type="_4299" location="f83:396" file="f83" line="396"/>
+  </Method>
+  <Method id="_4328" name="insert" returns="_2030" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE6insertESt17_Rb_tree_iteratorIS4_ERKS4_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::insert(std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >, std::pair<std::string const, unsigned short> const&)" l [...]
+    <Argument name="position" type="_2030" location="f83:420" file="f83" line="420"/>
+    <Argument name="__x" type="_4299" location="f83:420" file="f83" line="420"/>
+  </Method>
+  <Method id="_4329" name="erase" returns="_1194" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE5eraseESt17_Rb_tree_iteratorIS4_E" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::erase(std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >)" location="f83:446" file="f83" line="446" extern="1" inline="1">
+    <Argument name="__position" type="_2030" location="f83:446" file="f83" line="446"/>
+  </Method>
+  <Method id="_4330" name="erase" returns="_1698" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE5eraseERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::erase(std::string const&)" location="f83:461" file="f83" line="461" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f83:461" file="f83" line="461"/>
+  </Method>
+  <Method id="_4331" name="erase" returns="_1194" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE5eraseESt17_Rb_tree_iteratorIS4_ES8_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::erase(std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >, std::_Rb_tree_iterator<std::pair<std::string const, unsigned sho [...]
+    <Argument name="__first" type="_2030" location="f83:476" file="f83" line="476"/>
+    <Argument name="__last" type="_2030" location="f83:476" file="f83" line="476"/>
+  </Method>
+  <Method id="_4332" name="swap" returns="_1194" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE4swapERS6_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::swap(std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >&)" location="f83:491" file= [...]
+    <Argument name="__x" type="_10044" location="f83:491" file="f83" line="491"/>
+  </Method>
+  <Method id="_4333" name="clear" returns="_1194" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE5clearEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::clear()" location="f83:501" file="f83" line="501" extern="1" inline="1"/>
+  <Method id="_4334" name="key_comp" returns="_2171" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE8key_compEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::key_comp() const" location="f83:510" file="f83" line="510" extern="1" inline="1"/>
+  <Method id="_4335" name="value_comp" returns="_4290" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE10value_compEv" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::value_comp() const" location="f83:518" file="f83" line="518" extern="1" inline="1"/>
+  <Method id="_4336" name="find" returns="_2030" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE4findERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::find(std::string const&)" location="f83:534" file="f83" line="534" endline="534" inline="1">
+    <Argument name="__x" type="_4020" location="f83:534" file="f83" line="534"/>
+  </Method>
+  <Method id="_4337" name="find" returns="_2028" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE4findERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::find(std::string const&) const" location="f83:549" file="f83" line="549" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f83:549" file="f83" line="549"/>
+  </Method>
+  <Method id="_4338" name="count" returns="_1698" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE5countERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::count(std::string const&) const" location="f83:561" file="f83" line="561" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f83:561" file="f83" line="561"/>
+  </Method>
+  <Method id="_4339" name="lower_bound" returns="_2030" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE11lower_boundERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::lower_bound(std::string const&)" location="f83:576" file="f83" line="576" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f83:576" file="f83" line="576"/>
+  </Method>
+  <Method id="_4340" name="lower_bound" returns="_2028" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE11lower_boundERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::lower_bound(std::string const&) const" location="f83:591" file="f83" line="591" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f83:591" file="f83" line="591"/>
+  </Method>
+  <Method id="_4341" name="upper_bound" returns="_2030" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE11upper_boundERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::upper_bound(std::string const&)" location="f83:601" file="f83" line="601" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f83:601" file="f83" line="601"/>
+  </Method>
+  <Method id="_4342" name="upper_bound" returns="_2028" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE11upper_boundERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::upper_bound(std::string const&) const" location="f83:611" file="f83" line="611" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f83:611" file="f83" line="611"/>
+  </Method>
+  <Method id="_4343" name="equal_range" returns="_2709" context="_2017" access="public" mangled="_ZNSt3mapISstSt4lessISsESaISt4pairIKSstEEE11equal_rangeERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::equal_range(std::string const&)" location="f83:630" file="f83" line="630" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f83:630" file="f83" line="630"/>
+  </Method>
+  <Method id="_4344" name="equal_range" returns="_2708" const="1" context="_2017" access="public" mangled="_ZNKSt3mapISstSt4lessISsESaISt4pairIKSstEEE11equal_rangeERS3_" demangled="std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::equal_range(std::string const&) const" location="f83:649" file="f83" line="649" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f83:649" file="f83" line="649"/>
+  </Method>
+  <Field id="_4345" name="_M_t" type="_2021" offset="0" context="_2018" access="private" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE4_M_tE" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_b [...]
+  <Typedef id="_4346" name="key_type" type="_2508" context="_2018" access="public" location="f83:95" file="f83" line="95"/>
+  <Typedef id="_4347" name="mapped_type" type="_3830" context="_2018" access="public" location="f83:96" file="f83" line="96"/>
+  <Typedef id="_4348" name="value_type" type="_2712" context="_2018" access="public" location="f83:97" file="f83" line="97"/>
+  <Typedef id="_4349" name="key_compare" type="_2171" context="_2018" access="public" location="f83:98" file="f83" line="98"/>
+  <Typedef id="_4350" name="allocator_type" type="_2520" context="_2018" access="public" location="f83:99" file="f83" line="99"/>
+  <Typedef id="_4351" name="_Alloc_value_type" type="_2712" context="_2018" access="private" location="f83:103" file="f83" line="103"/>
+  <Class id="_4352" name="value_compare" context="_2018" access="public" incomplete="1" mangled="NSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE13value_compareE" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time [...]
+  <Typedef id="_4353" name="_Pair_alloc_type" type="_2520" context="_2018" access="private" location="f83:128" file="f83" line="128"/>
+  <Typedef id="_4354" name="_Rep_type" type="_2021" context="_2018" access="private" location="f83:131" file="f83" line="131"/>
+  <PointerType id="_4355" type="_2712" size="32" align="32"/>
+  <Typedef id="_4356" name="pointer" type="_4355" context="_2018" access="public" location="f83:139" file="f83" line="139"/>
+  <PointerType id="_4357" type="_2712c" size="32" align="32"/>
+  <Typedef id="_4358" name="const_pointer" type="_4357" context="_2018" access="public" location="f83:140" file="f83" line="140"/>
+  <ReferenceType id="_4359" type="_2712" size="32" align="32"/>
+  <Typedef id="_4360" name="reference" type="_4359" context="_2018" access="public" location="f83:141" file="f83" line="141"/>
+  <ReferenceType id="_4361" type="_2712c" size="32" align="32"/>
+  <Typedef id="_4362" name="const_reference" type="_4361" context="_2018" access="public" location="f83:142" file="f83" line="142"/>
+  <Typedef id="_4363" name="iterator" type="_2031" context="_2018" access="public" location="f83:143" file="f83" line="143"/>
+  <Typedef id="_4364" name="const_iterator" type="_2029" context="_2018" access="public" location="f83:144" file="f83" line="144"/>
+  <Typedef id="_4365" name="size_type" type="_1698" context="_2018" access="public" location="f83:145" file="f83" line="145"/>
+  <Typedef id="_4366" name="difference_type" type="_1699" context="_2018" access="public" location="f83:146" file="f83" line="146"/>
+  <Typedef id="_4367" name="reverse_iterator" type="_2549" context="_2018" access="public" location="f83:147" file="f83" line="147"/>
+  <Typedef id="_4368" name="const_reverse_iterator" type="_2548" context="_2018" access="public" location="f83:148" file="f83" line="148"/>
+  <Destructor id="_4369" name="map" artificial="1" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEED1Ev *INTERNAL* " demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zo [...]
+  </Destructor>
+  <Constructor id="_4370" name="map" explicit="1" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEEC1Ev *INTERNAL* " demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zon [...]
+  <Constructor id="_4371" name="map" explicit="1" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEEC1ERKS9_RKSD_ *INTERNAL* " demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time: [...]
+    <Argument name="__comp" type="_11337" location="f83:165" file="f83" line="165"/>
+    <Argument name="__a" type="_11343" location="f83:165" file="f83" line="165" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_4372" name="map" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEEC1ERKSE_ *INTERNAL* " demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base&lt [...]
+    <Argument name="__x" type="_11344" location="f83:175" file="f83" line="175"/>
+  </Constructor>
+  <OperatorMethod id="_4373" name="=" returns="_11345" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEEaSERKSE_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_b [...]
+    <Argument name="__x" type="_11344" location="f83:226" file="f83" line="226"/>
+  </OperatorMethod>
+  <Method id="_4374" name="get_allocator" returns="_2520" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE13get_allocatorEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost: [...]
+  <Method id="_4375" name="begin" returns="_2031" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE5beginEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base&l [...]
+  <Method id="_4376" name="begin" returns="_2029" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE5beginEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_ [...]
+  <Method id="_4377" name="end" returns="_2031" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE3endEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<bo [...]
+  <Method id="_4378" name="end" returns="_2029" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE3endEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone [...]
+  <Method id="_4379" name="rbegin" returns="_2549" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE6rbeginEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base [...]
+  <Method id="_4380" name="rbegin" returns="_2548" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE6rbeginEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::tim [...]
+  <Method id="_4381" name="rend" returns="_2549" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE4rendEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base< [...]
+  <Method id="_4382" name="rend" returns="_2548" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE4rendEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zo [...]
+  <Method id="_4383" name="empty" returns="_3949" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE5emptyEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_ [...]
+  <Method id="_4384" name="size" returns="_1698" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE4sizeEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zo [...]
+  <Method id="_4385" name="max_size" returns="_1698" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE8max_sizeEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time: [...]
+  <OperatorMethod id="_4386" name="[]" returns="_11346" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEEixERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_b [...]
+    <Argument name="__k" type="_4948" location="f83:341" file="f83" line="341"/>
+  </OperatorMethod>
+  <Method id="_4387" name="at" returns="_11346" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE2atERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base< [...]
+    <Argument name="__k" type="_4948" location="f83:363" file="f83" line="363"/>
+  </Method>
+  <Method id="_4388" name="at" returns="_10011" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE2atERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zo [...]
+    <Argument name="__k" type="_4948" location="f83:372" file="f83" line="372"/>
+  </Method>
+  <Method id="_4389" name="insert" returns="_2714" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE6insertERKSC_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_ [...]
+    <Argument name="__x" type="_4361" location="f83:396" file="f83" line="396"/>
+  </Method>
+  <Method id="_4390" name="insert" returns="_2031" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE6insertESt17_Rb_tree_iteratorISC_ERKSC_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<bo [...]
+    <Argument name="position" type="_2031" location="f83:420" file="f83" line="420"/>
+    <Argument name="__x" type="_4361" location="f83:420" file="f83" line="420"/>
+  </Method>
+  <Method id="_4391" name="erase" returns="_1194" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE5eraseESt17_Rb_tree_iteratorISC_E" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::da [...]
+    <Argument name="__position" type="_2031" location="f83:446" file="f83" line="446"/>
+  </Method>
+  <Method id="_4392" name="erase" returns="_1698" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE5eraseERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_bas [...]
+    <Argument name="__x" type="_4948" location="f83:461" file="f83" line="461"/>
+  </Method>
+  <Method id="_4393" name="erase" returns="_1194" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE5eraseESt17_Rb_tree_iteratorISC_ESG_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost: [...]
+    <Argument name="__first" type="_2031" location="f83:476" file="f83" line="476"/>
+    <Argument name="__last" type="_2031" location="f83:476" file="f83" line="476"/>
+  </Method>
+  <Method id="_4394" name="swap" returns="_1194" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE4swapERSE_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base& [...]
+    <Argument name="__x" type="_11345" location="f83:491" file="f83" line="491"/>
+  </Method>
+  <Method id="_4395" name="clear" returns="_1194" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE5clearEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base&l [...]
+  <Method id="_4396" name="key_comp" returns="_2171" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE8key_compEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time: [...]
+  <Method id="_4397" name="value_comp" returns="_4352" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE10value_compEv" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_ [...]
+  <Method id="_4398" name="find" returns="_2031" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE4findERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base& [...]
+    <Argument name="__x" type="_4948" location="f83:534" file="f83" line="534"/>
+  </Method>
+  <Method id="_4399" name="find" returns="_2029" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE4findERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time [...]
+    <Argument name="__x" type="_4948" location="f83:549" file="f83" line="549"/>
+  </Method>
+  <Method id="_4400" name="count" returns="_1698" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE5countERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::ti [...]
+    <Argument name="__x" type="_4948" location="f83:561" file="f83" line="561"/>
+  </Method>
+  <Method id="_4401" name="lower_bound" returns="_2031" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE11lower_boundERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time:: [...]
+    <Argument name="__x" type="_4948" location="f83:576" file="f83" line="576"/>
+  </Method>
+  <Method id="_4402" name="lower_bound" returns="_2029" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE11lower_boundERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost:: [...]
+    <Argument name="__x" type="_4948" location="f83:591" file="f83" line="591"/>
+  </Method>
+  <Method id="_4403" name="upper_bound" returns="_2031" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE11upper_boundERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time:: [...]
+    <Argument name="__x" type="_4948" location="f83:601" file="f83" line="601"/>
+  </Method>
+  <Method id="_4404" name="upper_bound" returns="_2029" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE11upper_boundERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost:: [...]
+    <Argument name="__x" type="_4948" location="f83:611" file="f83" line="611"/>
+  </Method>
+  <Method id="_4405" name="equal_range" returns="_2713" context="_2018" access="public" mangled="_ZNSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE11equal_rangeERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time:: [...]
+    <Argument name="__x" type="_4948" location="f83:630" file="f83" line="630"/>
+  </Method>
+  <Method id="_4406" name="equal_range" returns="_2711" const="1" context="_2018" access="public" mangled="_ZNKSt3mapISsN5boost10shared_ptrINS0_9date_time14time_zone_baseINS0_10posix_time5ptimeEcEEEESt4lessISsESaISt4pairIKSsS7_EEE11equal_rangeERSB_" demangled="std::map<std::string, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<boost:: [...]
+    <Argument name="__x" type="_4948" location="f83:649" file="f83" line="649"/>
+  </Method>
+  <PointerType id="_4407" type="_2038c" size="32" align="32"/>
+  <Field id="_4408" name="_M_impl" type="_2022" offset="0" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE7_M_implE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_impl" location="f84:437" fil [...]
+  <Typedef id="_4409" name="_Node_allocator" type="_2517" context="_2020" access="private" location="f84:331" file="f84" line="331"/>
+  <PointerType id="_4410" type="_2038" size="32" align="32"/>
+  <Typedef id="_4411" name="_Base_ptr" type="_4410" context="_2020" access="protected" location="f84:334" file="f84" line="334"/>
+  <Typedef id="_4412" name="_Const_Base_ptr" type="_4407" context="_2020" access="protected" location="f84:335" file="f84" line="335"/>
+  <Typedef id="_4413" name="_Rb_tree_node" type="_2036" context="_2020" access="protected" location="f84:336" file="f84" line="336"/>
+  <Typedef id="_4414" name="key_type" type="_2509" context="_2020" access="public" location="f84:339" file="f84" line="339"/>
+  <Typedef id="_4415" name="value_type" type="_2707" context="_2020" access="public" location="f84:340" file="f84" line="340"/>
+  <Typedef id="_4416" name="pointer" type="_4293" context="_2020" access="public" location="f84:341" file="f84" line="341"/>
+  <Typedef id="_4417" name="const_pointer" type="_4295" context="_2020" access="public" location="f84:342" file="f84" line="342"/>
+  <Typedef id="_4418" name="reference" type="_4297" context="_2020" access="public" location="f84:343" file="f84" line="343"/>
+  <Typedef id="_4419" name="const_reference" type="_4299" context="_2020" access="public" location="f84:344" file="f84" line="344"/>
+  <PointerType id="_4420" type="_2036" size="32" align="32"/>
+  <Typedef id="_4421" name="_Link_type" type="_4420" context="_2020" access="public" location="f84:345" file="f84" line="345"/>
+  <PointerType id="_4422" type="_2036c" size="32" align="32"/>
+  <Typedef id="_4423" name="_Const_Link_type" type="_4422" context="_2020" access="public" location="f84:346" file="f84" line="346"/>
+  <Typedef id="_4424" name="size_type" type="_1698" context="_2020" access="public" location="f84:347" file="f84" line="347"/>
+  <Typedef id="_4425" name="difference_type" type="_1699" context="_2020" access="public" location="f84:348" file="f84" line="348"/>
+  <Typedef id="_4426" name="allocator_type" type="_2518" context="_2020" access="public" location="f84:349" file="f84" line="349"/>
+  <Typedef id="_4427" name="iterator" type="_2030" context="_2020" access="public" location="f84:532" file="f84" line="532"/>
+  <Typedef id="_4428" name="const_iterator" type="_2028" context="_2020" access="public" location="f84:533" file="f84" line="533"/>
+  <Typedef id="_4429" name="reverse_iterator" type="_2545" context="_2020" access="public" location="f84:535" file="f84" line="535"/>
+  <Typedef id="_4430" name="const_reverse_iterator" type="_2544" context="_2020" access="public" location="f84:536" file="f84" line="536"/>
+  <Method id="_4431" name="get_allocator" returns="_2518" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13get_allocatorEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::get_allocator()  [...]
+  <Method id="_4432" name="_M_get_node" returns="_4420" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11_M_get_nodeEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_get_node()" location="f84 [...]
+  <Method id="_4433" name="_M_put_node" returns="_1194" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS2_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_put [...]
+    <Argument name="__p" type="_4420" location="f84:362" file="f84" line="362"/>
+  </Method>
+  <Method id="_4434" name="_M_create_node" returns="_4420" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE14_M_create_nodeERKS2_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_create_node(std [...]
+    <Argument name="__x" type="_4299" location="f84:366" file="f84" line="366"/>
+  </Method>
+  <Method id="_4435" name="_M_clone_node" returns="_4420" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_M_clone_nodeEPKSt13_Rb_tree_nodeIS2_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_ [...]
+    <Argument name="__x" type="_4422" location="f84:380" file="f84" line="380"/>
+  </Method>
+  <Method id="_4436" name="destroy_node" returns="_1194" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE12destroy_nodeEPSt13_Rb_tree_nodeIS2_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::dest [...]
+    <Argument name="__p" type="_4420" location="f84:390" file="f84" line="390"/>
+  </Method>
+  <Method id="_4437" name="_M_root" returns="_4616" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE7_M_rootEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_root()" location="f84:442" file="f [...]
+  <Method id="_4438" name="_M_root" returns="_4407" const="1" context="_2020" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE7_M_rootEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_root() const" location= [...]
+  <Method id="_4439" name="_M_leftmost" returns="_4616" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11_M_leftmostEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_leftmost()" location="f84 [...]
+  <Method id="_4440" name="_M_leftmost" returns="_4407" const="1" context="_2020" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11_M_leftmostEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_leftmost() con [...]
+  <Method id="_4441" name="_M_rightmost" returns="_4616" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE12_M_rightmostEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_rightmost()" location=" [...]
+  <Method id="_4442" name="_M_rightmost" returns="_4407" const="1" context="_2020" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE12_M_rightmostEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_rightmost()  [...]
+  <Method id="_4443" name="_M_begin" returns="_4420" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_beginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_begin()" location="f84:466" file [...]
+  <Method id="_4444" name="_M_begin" returns="_4422" const="1" context="_2020" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_beginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_begin() const" locati [...]
+  <Method id="_4445" name="_M_end" returns="_4420" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE6_M_endEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_end()" location="f84:477" file="f84" [...]
+  <Method id="_4446" name="_M_end" returns="_4422" const="1" context="_2020" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE6_M_endEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_end() const" location="f8 [...]
+  <Method id="_4447" name="_S_value" returns="_4299" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_S_valueEPKSt13_Rb_tree_nodeIS2_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_ [...]
+    <Argument name="__x" type="_4422" location="f84:485" file="f84" line="485"/>
+  </Method>
+  <Method id="_4448" name="_S_key" returns="_4020" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE6_S_keyEPKSt13_Rb_tree_nodeIS2_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_S_ke [...]
+    <Argument name="__x" type="_4422" location="f84:489" file="f84" line="489"/>
+  </Method>
+  <Method id="_4449" name="_S_left" returns="_4420" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE7_S_leftEPSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_S_l [...]
+    <Argument name="__x" type="_4410" location="f84:493" file="f84" line="493"/>
+  </Method>
+  <Method id="_4450" name="_S_left" returns="_4422" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE7_S_leftEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_S_ [...]
+    <Argument name="__x" type="_4407" location="f84:497" file="f84" line="497"/>
+  </Method>
+  <Method id="_4451" name="_S_right" returns="_4420" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_S [...]
+    <Argument name="__x" type="_4410" location="f84:501" file="f84" line="501"/>
+  </Method>
+  <Method id="_4452" name="_S_right" returns="_4422" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_S_rightEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_ [...]
+    <Argument name="__x" type="_4407" location="f84:505" file="f84" line="505"/>
+  </Method>
+  <Method id="_4453" name="_S_value" returns="_4299" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_S_valueEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_ [...]
+    <Argument name="__x" type="_4407" location="f84:509" file="f84" line="509"/>
+  </Method>
+  <Method id="_4454" name="_S_key" returns="_4020" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_S_ke [...]
+    <Argument name="__x" type="_4407" location="f84:513" file="f84" line="513"/>
+  </Method>
+  <Method id="_4455" name="_S_minimum" returns="_4410" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE10_S_minimumEPSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > &gt [...]
+    <Argument name="__x" type="_4410" location="f84:517" file="f84" line="517"/>
+  </Method>
+  <Method id="_4456" name="_S_minimum" returns="_4407" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE10_S_minimumEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > &g [...]
+    <Argument name="__x" type="_4407" location="f84:521" file="f84" line="521"/>
+  </Method>
+  <Method id="_4457" name="_S_maximum" returns="_4410" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE10_S_maximumEPSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > &gt [...]
+    <Argument name="__x" type="_4410" location="f84:525" file="f84" line="525"/>
+  </Method>
+  <Method id="_4458" name="_S_maximum" returns="_4407" static="1" context="_2020" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE10_S_maximumEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > &g [...]
+    <Argument name="__x" type="_4407" location="f84:529" file="f84" line="529"/>
+  </Method>
+  <Method id="_4459" name="_M_insert" returns="_2030" context="_2020" access="private" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE9_M_insertEPSt18_Rb_tree_node_baseSA_RKS2_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_in [...]
+    <Argument name="__x" type="_4410" location="f84:814" file="f84" line="814"/>
+    <Argument name="__p" type="_4410" location="f84:814" file="f84" line="814"/>
+    <Argument name="__v" type="_4299" location="f84:814" file="f84" line="814"/>
+  </Method>
+  <Method id="_4460" name="_M_insert" returns="_2028" context="_2020" access="private" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE9_M_insertEPKSt18_Rb_tree_node_baseSB_RKS2_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_i [...]
+    <Argument name="__x" type="_4407" location="f84:832" file="f84" line="832"/>
+    <Argument name="__p" type="_4407" location="f84:832" file="f84" line="832"/>
+    <Argument name="__v" type="_4299" location="f84:832" file="f84" line="832"/>
+  </Method>
+  <Method id="_4461" name="_M_copy" returns="_4420" context="_2020" access="private" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE7_M_copyEPKSt13_Rb_tree_nodeIS2_EPSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_copy(std: [...]
+    <Argument name="__x" type="_4422" location="f84:1224" file="f84" line="1224"/>
+    <Argument name="__p" type="_4420" location="f84:1224" file="f84" line="1224"/>
+  </Method>
+  <Method id="_4462" name="_M_erase" returns="_1194" context="_2020" access="private" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_M_erase(std::_ [...]
+    <Argument name="__x" type="_4420" location="f84:1260" file="f84" line="1260"/>
+  </Method>
+  <Constructor id="_4463" name="_Rb_tree" explicit="1" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1Ev *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_Rb_tree()" location="f84:555"  [...]
+  <Constructor id="_4464" name="_Rb_tree" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1ERKS6_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_Rb_tree(std::less<std::string> co [...]
+    <Argument name="__comp" type="_11337" location="f84:558" file="f84" line="558"/>
+  </Constructor>
+  <Constructor id="_4465" name="_Rb_tree" explicit="1" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1ERKS6_RKS7_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_Rb_tree(std::less< [...]
+    <Argument name="__comp" type="_11337" location="f84:562" file="f84" line="562"/>
+    <Argument name="__a" type="_11338" location="f84:562" file="f84" line="562"/>
+  </Constructor>
+  <Constructor id="_4466" name="_Rb_tree" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EEC1ERKS8_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_Rb_tree(std::_Rb_tree<std::string, s [...]
+    <Argument name="__x" type="_11349" location="f84:566" file="f84" line="566"/>
+  </Constructor>
+  <Destructor id="_4467" name="_Rb_tree" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EED1Ev *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::~_Rb_tree()" location="f84:578" file="f84" li [...]
+  </Destructor>
+  <OperatorMethod id="_4468" name="=" returns="_11350" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EEaSERKS8_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::operator=(std::_Rb_tree<std::string, [...]
+    <Argument name="__x" type="_11349" location="f84:792" file="f84" line="792"/>
+  </OperatorMethod>
+  <Method id="_4469" name="key_comp" returns="_2171" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE8key_compEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::key_comp() const" location= [...]
+  <Method id="_4470" name="begin" returns="_2030" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5beginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::begin()" location="f84:590" file="f84" line= [...]
+  <Method id="_4471" name="begin" returns="_2028" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5beginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::begin() const" location="f84:597" [...]
+  <Method id="_4472" name="end" returns="_2030" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE3endEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::end()" location="f84:604" file="f84" line="604"  [...]
+  <Method id="_4473" name="end" returns="_2028" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE3endEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::end() const" location="f84:608" file= [...]
+  <Method id="_4474" name="rbegin" returns="_2545" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE6rbeginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::rbegin()" location="f84:615" file="f84" li [...]
+  <Method id="_4475" name="rbegin" returns="_2544" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE6rbeginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::rbegin() const" location="f84:6 [...]
+  <Method id="_4476" name="rend" returns="_2545" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE4rendEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::rend()" location="f84:623" file="f84" line="62 [...]
+  <Method id="_4477" name="rend" returns="_2544" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE4rendEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::rend() const" location="f84:627" fi [...]
+  <Method id="_4478" name="empty" returns="_3949" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5emptyEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::empty() const" location="f84:631" [...]
+  <Method id="_4479" name="size" returns="_1698" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE4sizeEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::size() const" location="f84:635" fi [...]
+  <Method id="_4480" name="max_size" returns="_1698" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE8max_sizeEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::max_size() const" location= [...]
+  <Method id="_4481" name="swap" returns="_1194" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE4swapERS8_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::swap(std::_Rb_tree<std::string, std::pai [...]
+    <Argument name="__t" type="_11350" location="f84:868" file="f84" line="868"/>
+  </Method>
+  <Method id="_4482" name="insert_unique" returns="_2710" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13insert_uniqueERKS2_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::insert_unique(std::pair [...]
+    <Argument name="__v" type="_4299" location="f84:914" file="f84" line="914"/>
+  </Method>
+  <Method id="_4483" name="insert_equal" returns="_2030" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE12insert_equalERKS2_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::insert_equal(std::pair&lt [...]
+    <Argument name="__v" type="_4299" location="f84:851" file="f84" line="851"/>
+  </Method>
+  <Method id="_4484" name="insert_unique" returns="_2030" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13insert_uniqueESt17_Rb_tree_iteratorIS2_ERKS2_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > &gt [...]
+    <Argument name="__position" type="_2030" location="f84:940" file="f84" line="940"/>
+    <Argument name="__v" type="_4299" location="f84:940" file="f84" line="940"/>
+  </Method>
+  <Method id="_4485" name="insert_unique" returns="_2028" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13insert_uniqueESt23_Rb_tree_const_iteratorIS2_ERKS2_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> &g [...]
+    <Argument name="__position" type="_2028" location="f84:997" file="f84" line="997"/>
+    <Argument name="__v" type="_4299" location="f84:997" file="f84" line="997"/>
+  </Method>
+  <Method id="_4486" name="insert_equal" returns="_2030" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE12insert_equalESt17_Rb_tree_iteratorIS2_ERKS2_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >: [...]
+    <Argument name="__position" type="_2030" location="f84:1054" file="f84" line="1054"/>
+    <Argument name="__v" type="_4299" location="f84:1054" file="f84" line="1054"/>
+  </Method>
+  <Method id="_4487" name="insert_equal" returns="_2028" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE12insert_equalESt23_Rb_tree_const_iteratorIS2_ERKS2_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > [...]
+    <Argument name="__position" type="_2028" location="f84:1108" file="f84" line="1108"/>
+    <Argument name="__v" type="_4299" location="f84:1108" file="f84" line="1108"/>
+  </Method>
+  <Method id="_4488" name="erase" returns="_1194" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5eraseESt17_Rb_tree_iteratorIS2_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::erase(std::_Rb_tree [...]
+    <Argument name="__position" type="_2030" location="f84:1184" file="f84" line="1184"/>
+  </Method>
+  <Method id="_4489" name="erase" returns="_1194" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5eraseESt23_Rb_tree_const_iteratorIS2_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::erase(std::_R [...]
+    <Argument name="__position" type="_2028" location="f84:1198" file="f84" line="1198"/>
+  </Method>
+  <Method id="_4490" name="erase" returns="_1698" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5eraseERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::erase(std::string const&)" location=" [...]
+    <Argument name="__x" type="_4020" location="f84:1212" file="f84" line="1212"/>
+  </Method>
+  <Method id="_4491" name="erase" returns="_1194" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5eraseESt17_Rb_tree_iteratorIS2_ESA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::erase(std::_Rb_t [...]
+    <Argument name="__first" type="_2030" location="f84:1276" file="f84" line="1276"/>
+    <Argument name="__last" type="_2030" location="f84:1276" file="f84" line="1276"/>
+  </Method>
+  <Method id="_4492" name="erase" returns="_1194" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5eraseESt23_Rb_tree_const_iteratorIS2_ESA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::erase(std: [...]
+    <Argument name="__first" type="_2028" location="f84:1289" file="f84" line="1289"/>
+    <Argument name="__last" type="_2028" location="f84:1289" file="f84" line="1289"/>
+  </Method>
+  <Method id="_4493" name="erase" returns="_1194" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5eraseEPS1_S9_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::erase(std::string const*, std::string  [...]
+    <Argument name="__first" type="_4016" location="f84:1302" file="f84" line="1302"/>
+    <Argument name="__last" type="_4016" location="f84:1302" file="f84" line="1302"/>
+  </Method>
+  <Method id="_4494" name="clear" returns="_1194" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5clearEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::clear()" location="f84:691" file="f84" line= [...]
+  <Method id="_4495" name="find" returns="_2030" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE4findERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::find(std::string const&)" location="f84 [...]
+    <Argument name="__k" type="_4020" location="f84:1312" file="f84" line="1312"/>
+  </Method>
+  <Method id="_4496" name="find" returns="_2028" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE4findERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::find(std::string const&) con [...]
+    <Argument name="__k" type="_4020" location="f84:1333" file="f84" line="1333"/>
+  </Method>
+  <Method id="_4497" name="count" returns="_1698" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE5countERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::count(std::string const&)  [...]
+    <Argument name="__k" type="_4020" location="f84:1355" file="f84" line="1355"/>
+  </Method>
+  <Method id="_4498" name="lower_bound" returns="_2030" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11lower_boundERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::lower_bound(std::string cons [...]
+    <Argument name="__k" type="_4020" location="f84:1366" file="f84" line="1366"/>
+  </Method>
+  <Method id="_4499" name="lower_bound" returns="_2028" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11lower_boundERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::lower_bound(std:: [...]
+    <Argument name="__k" type="_4020" location="f84:1384" file="f84" line="1384"/>
+  </Method>
+  <Method id="_4500" name="upper_bound" returns="_2030" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11upper_boundERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::upper_bound(std::string cons [...]
+    <Argument name="__k" type="_4020" location="f84:1402" file="f84" line="1402"/>
+  </Method>
+  <Method id="_4501" name="upper_bound" returns="_2028" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11upper_boundERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::upper_bound(std:: [...]
+    <Argument name="__k" type="_4020" location="f84:1420" file="f84" line="1420"/>
+  </Method>
+  <Method id="_4502" name="equal_range" returns="_2709" context="_2020" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11equal_rangeERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::equal_range(std::string cons [...]
+    <Argument name="__k" type="_4020" location="f84:1441" file="f84" line="1441"/>
+  </Method>
+  <Method id="_4503" name="equal_range" returns="_2708" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11equal_rangeERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::equal_range(std:: [...]
+    <Argument name="__k" type="_4020" location="f84:1451" file="f84" line="1451"/>
+  </Method>
+  <Method id="_4504" name="__rb_verify" returns="_3949" const="1" context="_2020" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE11__rb_verifyEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::__rb_verify() const" [...]
+  <Field id="_4505" name="_M_impl" type="_2023" offset="0" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE7_M_implE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost [...]
+  <Typedef id="_4506" name="_Node_allocator" type="_2519" context="_2021" access="private" location="f84:331" file="f84" line="331"/>
+  <Typedef id="_4507" name="_Base_ptr" type="_4410" context="_2021" access="protected" location="f84:334" file="f84" line="334"/>
+  <Typedef id="_4508" name="_Const_Base_ptr" type="_4407" context="_2021" access="protected" location="f84:335" file="f84" line="335"/>
+  <Typedef id="_4509" name="_Rb_tree_node" type="_2037" context="_2021" access="protected" location="f84:336" file="f84" line="336"/>
+  <Typedef id="_4510" name="key_type" type="_2508" context="_2021" access="public" location="f84:339" file="f84" line="339"/>
+  <Typedef id="_4511" name="value_type" type="_2712" context="_2021" access="public" location="f84:340" file="f84" line="340"/>
+  <Typedef id="_4512" name="pointer" type="_4355" context="_2021" access="public" location="f84:341" file="f84" line="341"/>
+  <Typedef id="_4513" name="const_pointer" type="_4357" context="_2021" access="public" location="f84:342" file="f84" line="342"/>
+  <Typedef id="_4514" name="reference" type="_4359" context="_2021" access="public" location="f84:343" file="f84" line="343"/>
+  <Typedef id="_4515" name="const_reference" type="_4361" context="_2021" access="public" location="f84:344" file="f84" line="344"/>
+  <PointerType id="_4516" type="_2037" size="32" align="32"/>
+  <Typedef id="_4517" name="_Link_type" type="_4516" context="_2021" access="public" location="f84:345" file="f84" line="345"/>
+  <PointerType id="_4518" type="_2037c" size="32" align="32"/>
+  <Typedef id="_4519" name="_Const_Link_type" type="_4518" context="_2021" access="public" location="f84:346" file="f84" line="346"/>
+  <Typedef id="_4520" name="size_type" type="_1698" context="_2021" access="public" location="f84:347" file="f84" line="347"/>
+  <Typedef id="_4521" name="difference_type" type="_1699" context="_2021" access="public" location="f84:348" file="f84" line="348"/>
+  <Typedef id="_4522" name="allocator_type" type="_2520" context="_2021" access="public" location="f84:349" file="f84" line="349"/>
+  <Typedef id="_4523" name="iterator" type="_2031" context="_2021" access="public" location="f84:532" file="f84" line="532"/>
+  <Typedef id="_4524" name="const_iterator" type="_2029" context="_2021" access="public" location="f84:533" file="f84" line="533"/>
+  <Typedef id="_4525" name="reverse_iterator" type="_2549" context="_2021" access="public" location="f84:535" file="f84" line="535"/>
+  <Typedef id="_4526" name="const_reverse_iterator" type="_2548" context="_2021" access="public" location="f84:536" file="f84" line="536"/>
+  <Method id="_4527" name="get_allocator" returns="_2520" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13get_allocatorEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::stri [...]
+  <Method id="_4528" name="_M_get_node" returns="_4516" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11_M_get_nodeEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, bo [...]
+  <Method id="_4529" name="_M_put_node" returns="_1194" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11_M_put_nodeEPSt13_Rb_tree_nodeISA_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair&lt [...]
+    <Argument name="__p" type="_4516" location="f84:362" file="f84" line="362"/>
+  </Method>
+  <Method id="_4530" name="_M_create_node" returns="_4516" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE14_M_create_nodeERKSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string [...]
+    <Argument name="__x" type="_4361" location="f84:366" file="f84" line="366"/>
+  </Method>
+  <Method id="_4531" name="_M_clone_node" returns="_4516" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13_M_clone_nodeEPKSt13_Rb_tree_nodeISA_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pa [...]
+    <Argument name="__x" type="_4518" location="f84:380" file="f84" line="380"/>
+  </Method>
+  <Method id="_4532" name="destroy_node" returns="_1194" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE12destroy_nodeEPSt13_Rb_tree_nodeISA_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair& [...]
+    <Argument name="__p" type="_4516" location="f84:390" file="f84" line="390"/>
+  </Method>
+  <Method id="_4533" name="_M_root" returns="_4616" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE7_M_rootEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shar [...]
+  <Method id="_4534" name="_M_root" returns="_4407" const="1" context="_2021" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE7_M_rootEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const,  [...]
+  <Method id="_4535" name="_M_leftmost" returns="_4616" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11_M_leftmostEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, bo [...]
+  <Method id="_4536" name="_M_leftmost" returns="_4407" const="1" context="_2021" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11_M_leftmostEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::strin [...]
+  <Method id="_4537" name="_M_rightmost" returns="_4616" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE12_M_rightmostEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const,  [...]
+  <Method id="_4538" name="_M_rightmost" returns="_4407" const="1" context="_2021" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE12_M_rightmostEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::str [...]
+  <Method id="_4539" name="_M_begin" returns="_4516" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE8_M_beginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::sh [...]
+  <Method id="_4540" name="_M_begin" returns="_4518" const="1" context="_2021" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE8_M_beginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const [...]
+  <Method id="_4541" name="_M_end" returns="_4516" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE6_M_endEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared [...]
+  <Method id="_4542" name="_M_end" returns="_4518" const="1" context="_2021" access="protected" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE6_M_endEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, bo [...]
+  <Method id="_4543" name="_S_value" returns="_4361" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE8_S_valueEPKSt13_Rb_tree_nodeISA_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pa [...]
+    <Argument name="__x" type="_4518" location="f84:485" file="f84" line="485"/>
+  </Method>
+  <Method id="_4544" name="_S_key" returns="_4948" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE6_S_keyEPKSt13_Rb_tree_nodeISA_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair&l [...]
+    <Argument name="__x" type="_4518" location="f84:489" file="f84" line="489"/>
+  </Method>
+  <Method id="_4545" name="_S_left" returns="_4516" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE7_S_leftEPSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair& [...]
+    <Argument name="__x" type="_4410" location="f84:493" file="f84" line="493"/>
+  </Method>
+  <Method id="_4546" name="_S_left" returns="_4518" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE7_S_leftEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair [...]
+    <Argument name="__x" type="_4407" location="f84:497" file="f84" line="497"/>
+  </Method>
+  <Method id="_4547" name="_S_right" returns="_4516" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE8_S_rightEPSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pai [...]
+    <Argument name="__x" type="_4410" location="f84:501" file="f84" line="501"/>
+  </Method>
+  <Method id="_4548" name="_S_right" returns="_4518" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE8_S_rightEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pa [...]
+    <Argument name="__x" type="_4407" location="f84:505" file="f84" line="505"/>
+  </Method>
+  <Method id="_4549" name="_S_value" returns="_4361" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE8_S_valueEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pa [...]
+    <Argument name="__x" type="_4407" location="f84:509" file="f84" line="509"/>
+  </Method>
+  <Method id="_4550" name="_S_key" returns="_4948" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE6_S_keyEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair&l [...]
+    <Argument name="__x" type="_4407" location="f84:513" file="f84" line="513"/>
+  </Method>
+  <Method id="_4551" name="_S_minimum" returns="_4410" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE10_S_minimumEPSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std [...]
+    <Argument name="__x" type="_4410" location="f84:517" file="f84" line="517"/>
+  </Method>
+  <Method id="_4552" name="_S_minimum" returns="_4407" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE10_S_minimumEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<st [...]
+    <Argument name="__x" type="_4407" location="f84:521" file="f84" line="521"/>
+  </Method>
+  <Method id="_4553" name="_S_maximum" returns="_4410" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE10_S_maximumEPSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std [...]
+    <Argument name="__x" type="_4410" location="f84:525" file="f84" line="525"/>
+  </Method>
+  <Method id="_4554" name="_S_maximum" returns="_4407" static="1" context="_2021" access="protected" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE10_S_maximumEPKSt18_Rb_tree_node_base" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<st [...]
+    <Argument name="__x" type="_4407" location="f84:529" file="f84" line="529"/>
+  </Method>
+  <Method id="_4555" name="_M_insert" returns="_2031" context="_2021" access="private" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE9_M_insertEPSt18_Rb_tree_node_baseSI_RKSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair&l [...]
+    <Argument name="__x" type="_4410" location="f84:814" file="f84" line="814"/>
+    <Argument name="__p" type="_4410" location="f84:814" file="f84" line="814"/>
+    <Argument name="__v" type="_4361" location="f84:814" file="f84" line="814"/>
+  </Method>
+  <Method id="_4556" name="_M_insert" returns="_2029" context="_2021" access="private" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE9_M_insertEPKSt18_Rb_tree_node_baseSJ_RKSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair& [...]
+    <Argument name="__x" type="_4407" location="f84:832" file="f84" line="832"/>
+    <Argument name="__p" type="_4407" location="f84:832" file="f84" line="832"/>
+    <Argument name="__v" type="_4361" location="f84:832" file="f84" line="832"/>
+  </Method>
+  <Method id="_4557" name="_M_copy" returns="_4516" context="_2021" access="private" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE7_M_copyEPKSt13_Rb_tree_nodeISA_EPSI_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std:: [...]
+    <Argument name="__x" type="_4518" location="f84:1224" file="f84" line="1224"/>
+    <Argument name="__p" type="_4516" location="f84:1224" file="f84" line="1224"/>
+  </Method>
+  <Method id="_4558" name="_M_erase" returns="_1194" context="_2021" access="private" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::str [...]
+    <Argument name="__x" type="_4516" location="f84:1260" file="f84" line="1260"/>
+  </Method>
+  <Constructor id="_4559" name="_Rb_tree" explicit="1" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EEC1Ev *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost [...]
+  <Constructor id="_4560" name="_Rb_tree" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EEC1ERKSE_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_ [...]
+    <Argument name="__comp" type="_11337" location="f84:558" file="f84" line="558"/>
+  </Constructor>
+  <Constructor id="_4561" name="_Rb_tree" explicit="1" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EEC1ERKSE_RKSF_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string con [...]
+    <Argument name="__comp" type="_11337" location="f84:562" file="f84" line="562"/>
+    <Argument name="__a" type="_11343" location="f84:562" file="f84" line="562"/>
+  </Constructor>
+  <Constructor id="_4562" name="_Rb_tree" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EEC1ERKSG_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_ [...]
+    <Argument name="__x" type="_11352" location="f84:566" file="f84" line="566"/>
+  </Constructor>
+  <Destructor id="_4563" name="_Rb_tree" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EED1Ev *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_ptr&l [...]
+  </Destructor>
+  <OperatorMethod id="_4564" name="=" returns="_11353" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EEaSERKSG_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared [...]
+    <Argument name="__x" type="_11352" location="f84:792" file="f84" line="792"/>
+  </OperatorMethod>
+  <Method id="_4565" name="key_comp" returns="_2171" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE8key_compEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, b [...]
+  <Method id="_4566" name="begin" returns="_2031" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5beginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_ptr& [...]
+  <Method id="_4567" name="begin" returns="_2029" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5beginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost:: [...]
+  <Method id="_4568" name="end" returns="_2031" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE3endEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_ptr<b [...]
+  <Method id="_4569" name="end" returns="_2029" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE3endEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shar [...]
+  <Method id="_4570" name="rbegin" returns="_2549" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE6rbeginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_pt [...]
+  <Method id="_4571" name="rbegin" returns="_2548" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE6rbeginEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost [...]
+  <Method id="_4572" name="rend" returns="_2549" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE4rendEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_ptr&lt [...]
+  <Method id="_4573" name="rend" returns="_2548" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE4rendEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::sh [...]
+  <Method id="_4574" name="empty" returns="_3949" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5emptyEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost:: [...]
+  <Method id="_4575" name="size" returns="_1698" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE4sizeEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::sh [...]
+  <Method id="_4576" name="max_size" returns="_1698" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE8max_sizeEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, b [...]
+  <Method id="_4577" name="swap" returns="_1194" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE4swapERSG_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_ptr [...]
+    <Argument name="__t" type="_11353" location="f84:868" file="f84" line="868"/>
+  </Method>
+  <Method id="_4578" name="insert_unique" returns="_2714" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13insert_uniqueERKSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string cons [...]
+    <Argument name="__v" type="_4361" location="f84:914" file="f84" line="914"/>
+  </Method>
+  <Method id="_4579" name="insert_equal" returns="_2031" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE12insert_equalERKSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, [...]
+    <Argument name="__v" type="_4361" location="f84:851" file="f84" line="851"/>
+  </Method>
+  <Method id="_4580" name="insert_unique" returns="_2031" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13insert_uniqueESt17_Rb_tree_iteratorISA_ERKSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std [...]
+    <Argument name="__position" type="_2031" location="f84:940" file="f84" line="940"/>
+    <Argument name="__v" type="_4361" location="f84:940" file="f84" line="940"/>
+  </Method>
+  <Method id="_4581" name="insert_unique" returns="_2029" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13insert_uniqueESt23_Rb_tree_const_iteratorISA_ERKSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st& [...]
+    <Argument name="__position" type="_2029" location="f84:997" file="f84" line="997"/>
+    <Argument name="__v" type="_4361" location="f84:997" file="f84" line="997"/>
+  </Method>
+  <Method id="_4582" name="insert_equal" returns="_2031" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE12insert_equalESt17_Rb_tree_iteratorISA_ERKSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std:: [...]
+    <Argument name="__position" type="_2031" location="f84:1054" file="f84" line="1054"/>
+    <Argument name="__v" type="_4361" location="f84:1054" file="f84" line="1054"/>
+  </Method>
+  <Method id="_4583" name="insert_equal" returns="_2029" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE12insert_equalESt23_Rb_tree_const_iteratorISA_ERKSA_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st&lt [...]
+    <Argument name="__position" type="_2029" location="f84:1108" file="f84" line="1108"/>
+    <Argument name="__v" type="_4361" location="f84:1108" file="f84" line="1108"/>
+  </Method>
+  <Method id="_4584" name="erase" returns="_1194" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5eraseESt17_Rb_tree_iteratorISA_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string  [...]
+    <Argument name="__position" type="_2031" location="f84:1184" file="f84" line="1184"/>
+  </Method>
+  <Method id="_4585" name="erase" returns="_1194" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5eraseESt23_Rb_tree_const_iteratorISA_E" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::s [...]
+    <Argument name="__position" type="_2029" location="f84:1198" file="f84" line="1198"/>
+  </Method>
+  <Method id="_4586" name="erase" returns="_1698" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5eraseERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_p [...]
+    <Argument name="__x" type="_4948" location="f84:1212" file="f84" line="1212"/>
+  </Method>
+  <Method id="_4587" name="erase" returns="_1194" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5eraseESt17_Rb_tree_iteratorISA_ESI_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::stri [...]
+    <Argument name="__first" type="_2031" location="f84:1276" file="f84" line="1276"/>
+    <Argument name="__last" type="_2031" location="f84:1276" file="f84" line="1276"/>
+  </Method>
+  <Method id="_4588" name="erase" returns="_1194" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5eraseESt23_Rb_tree_const_iteratorISA_ESI_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std [...]
+    <Argument name="__first" type="_2029" location="f84:1289" file="f84" line="1289"/>
+    <Argument name="__last" type="_2029" location="f84:1289" file="f84" line="1289"/>
+  </Method>
+  <Method id="_4589" name="erase" returns="_1194" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5eraseEPS1_SH_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::share [...]
+    <Argument name="__first" type="_9288" location="f84:1302" file="f84" line="1302"/>
+    <Argument name="__last" type="_9288" location="f84:1302" file="f84" line="1302"/>
+  </Method>
+  <Method id="_4590" name="clear" returns="_1194" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5clearEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_ptr& [...]
+  <Method id="_4591" name="find" returns="_2031" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE4findERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost::shared_ptr [...]
+    <Argument name="__k" type="_4948" location="f84:1312" file="f84" line="1312"/>
+  </Method>
+  <Method id="_4592" name="find" returns="_2029" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE4findERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boost: [...]
+    <Argument name="__k" type="_4948" location="f84:1333" file="f84" line="1333"/>
+  </Method>
+  <Method id="_4593" name="count" returns="_1698" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE5countERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, boos [...]
+    <Argument name="__k" type="_4948" location="f84:1355" file="f84" line="1355"/>
+  </Method>
+  <Method id="_4594" name="lower_bound" returns="_2031" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11lower_boundERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, bo [...]
+    <Argument name="__k" type="_4948" location="f84:1366" file="f84" line="1366"/>
+  </Method>
+  <Method id="_4595" name="lower_bound" returns="_2029" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11lower_boundERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::strin [...]
+    <Argument name="__k" type="_4948" location="f84:1384" file="f84" line="1384"/>
+  </Method>
+  <Method id="_4596" name="upper_bound" returns="_2031" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11upper_boundERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, bo [...]
+    <Argument name="__k" type="_4948" location="f84:1402" file="f84" line="1402"/>
+  </Method>
+  <Method id="_4597" name="upper_bound" returns="_2029" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11upper_boundERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::strin [...]
+    <Argument name="__k" type="_4948" location="f84:1420" file="f84" line="1420"/>
+  </Method>
+  <Method id="_4598" name="equal_range" returns="_2713" context="_2021" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11equal_rangeERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string const, bo [...]
+    <Argument name="__k" type="_4948" location="f84:1441" file="f84" line="1441"/>
+  </Method>
+  <Method id="_4599" name="equal_range" returns="_2711" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11equal_rangeERS1_" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::strin [...]
+    <Argument name="__k" type="_4948" location="f84:1451" file="f84" line="1451"/>
+  </Method>
+  <Method id="_4600" name="__rb_verify" returns="_3949" const="1" context="_2021" access="public" mangled="_ZNKSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE11__rb_verifyEv" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair<std::string c [...]
+  <Field id="_4601" name="_M_key_compare" type="_2171" offset="0" context="_2022" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb0EE14_M_key_compareE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > & [...]
+  <Field id="_4602" name="_M_header" type="_2038" offset="32" context="_2022" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb0EE9_M_headerE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > >::_Rb_t [...]
+  <Field id="_4603" name="_M_node_count" type="_1698" offset="160" context="_2022" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb0EE13_M_node_countE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > & [...]
+  <Constructor id="_4604" name="_Rb_tree_impl" artificial="1" throw="" context="_2022" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb0EEC1ERKSA_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short&gt [...]
+    <Argument name="_ctor_arg" type="_11354" location="f84:399" file="f84" line="399"/>
+  </Constructor>
+  <Destructor id="_4605" name="_Rb_tree_impl" artificial="1" throw="" context="_2022" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb0EED1Ev *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> &gt [...]
+  </Destructor>
+  <Constructor id="_4606" name="_Rb_tree_impl" context="_2022" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSstESt10_Select1stIS2_ESt4lessISsESaIS2_EE13_Rb_tree_implIS6_Lb0EEC1ERKSaISt13_Rb_tree_nodeIS2_EERKS6_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, unsigned short>, std::_Select1st<std::pair<std::string const, unsigned short> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned shor [...]
+    <Argument name="__a" type="_11355" location="f84:406" file="f84" line="406" default="<gccxml-cast-expr>"/>
+    <Argument name="__comp" type="_11337" location="f84:406" file="f84" line="406" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Field id="_4607" name="_M_key_compare" type="_2171" offset="0" context="_2023" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13_Rb_tree_implISE_Lb0EE14_M_key_compareE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<s [...]
+  <Field id="_4608" name="_M_header" type="_2038" offset="32" context="_2023" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13_Rb_tree_implISE_Lb0EE9_M_headerE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<std::pair&l [...]
+  <Field id="_4609" name="_M_node_count" type="_1698" offset="160" context="_2023" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13_Rb_tree_implISE_Lb0EE13_M_node_countE" demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st<s [...]
+  <Constructor id="_4610" name="_Rb_tree_impl" artificial="1" throw="" context="_2023" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13_Rb_tree_implISE_Lb0EEC1ERKSI_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select [...]
+    <Argument name="_ctor_arg" type="_11356" location="f84:399" file="f84" line="399"/>
+  </Constructor>
+  <Destructor id="_4611" name="_Rb_tree_impl" artificial="1" throw="" context="_2023" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13_Rb_tree_implISE_Lb0EED1Ev *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Select1st&l [...]
+  </Destructor>
+  <Constructor id="_4612" name="_Rb_tree_impl" context="_2023" access="public" mangled="_ZNSt8_Rb_treeISsSt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEESt10_Select1stISA_ESt4lessISsESaISA_EE13_Rb_tree_implISE_Lb0EEC1ERKSaISt13_Rb_tree_nodeISA_EERKSE_ *INTERNAL* " demangled="std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >, std::_Se [...]
+    <Argument name="__a" type="_11357" location="f84:406" file="f84" line="406" default="<gccxml-cast-expr>"/>
+    <Argument name="__comp" type="_11337" location="f84:406" file="f84" line="406" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <CvQualifiedType id="_4410c" type="_4410" const="1"/>
+  <ReferenceType id="_4614" type="_2038" size="32" align="32"/>
+  <CvQualifiedType id="_3949c" type="_3949" const="1"/>
+  <ReferenceType id="_4616" type="_4410" size="32" align="32"/>
+  <Field id="_4617" name="_M_node" type="_4410" offset="0" context="_2030" access="public" mangled="_ZNSt17_Rb_tree_iteratorISt4pairIKSstEE7_M_nodeE" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::_M_node" location="f84:217" file="f84" line="217"/>
+  <Typedef id="_4618" name="value_type" type="_2707" context="_2030" access="public" location="f84:153" file="f84" line="153"/>
+  <Typedef id="_4619" name="reference" type="_4297" context="_2030" access="public" location="f84:154" file="f84" line="154"/>
+  <Typedef id="_4620" name="pointer" type="_4293" context="_2030" access="public" location="f84:155" file="f84" line="155"/>
+  <Typedef id="_4621" name="iterator_category" type="_2701" context="_2030" access="public" location="f84:157" file="f84" line="157"/>
+  <Typedef id="_4622" name="difference_type" type="_1699" context="_2030" access="public" location="f84:158" file="f84" line="158"/>
+  <Typedef id="_4623" name="_Base_ptr" type="_4410" context="_2030" access="public" location="f84:161" file="f84" line="161"/>
+  <Typedef id="_4624" name="_Link_type" type="_4420" context="_2030" access="public" location="f84:162" file="f84" line="162"/>
+  <Constructor id="_4625" name="_Rb_tree_iterator" artificial="1" throw="" context="_2030" access="public" mangled="_ZNSt17_Rb_tree_iteratorISt4pairIKSstEEC1ERKS3_ *INTERNAL* " demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::_Rb_tree_iterator(std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > const&)" location="f84:152" file="f84" line="152" inline="1">
+    <Argument name="_ctor_arg" type="_11358" location="f84:152" file="f84" line="152"/>
+  </Constructor>
+  <Constructor id="_4626" name="_Rb_tree_iterator" explicit="1" context="_2030" access="public" mangled="_ZNSt17_Rb_tree_iteratorISt4pairIKSstEEC1Ev *INTERNAL* " demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::_Rb_tree_iterator()" location="f84:165" file="f84" line="165" extern="1" inline="1"/>
+  <Constructor id="_4627" name="_Rb_tree_iterator" explicit="1" context="_2030" access="public" mangled="_ZNSt17_Rb_tree_iteratorISt4pairIKSstEEC1EPSt13_Rb_tree_nodeIS2_E *INTERNAL* " demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::_Rb_tree_iterator(std::_Rb_tree_node<std::pair<std::string const, unsigned short> >*)" location="f84:169" file="f84" line="169" endline="169" inline="1">
+    <Argument name="__x" type="_4420" location="f84:169" file="f84" line="169"/>
+  </Constructor>
+  <OperatorMethod id="_4628" name="*" returns="_4297" const="1" context="_2030" access="public" mangled="_ZNKSt17_Rb_tree_iteratorISt4pairIKSstEEdeEv" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::operator*() const" location="f84:173" file="f84" line="173" extern="1" inline="1"/>
+  <OperatorMethod id="_4629" name="->" returns="_4293" const="1" context="_2030" access="public" mangled="_ZNKSt17_Rb_tree_iteratorISt4pairIKSstEEptEv" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::operator->() const" location="f84:177" file="f84" line="177" endline="177" inline="1"/>
+  <OperatorMethod id="_4630" name="++" returns="_11359" context="_2030" access="public" mangled="_ZNSt17_Rb_tree_iteratorISt4pairIKSstEEppEv" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::operator++()" location="f84:181" file="f84" line="181" extern="1" inline="1"/>
+  <OperatorMethod id="_4631" name="++" returns="_2030" context="_2030" access="public" mangled="_ZNSt17_Rb_tree_iteratorISt4pairIKSstEEppEi" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::operator++(int)" location="f84:188" file="f84" line="188" extern="1" inline="1">
+    <Argument type="_503" location="f84:188" file="f84" line="188"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4632" name="--" returns="_11359" context="_2030" access="public" mangled="_ZNSt17_Rb_tree_iteratorISt4pairIKSstEEmmEv" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::operator--()" location="f84:196" file="f84" line="196" extern="1" inline="1"/>
+  <OperatorMethod id="_4633" name="--" returns="_2030" context="_2030" access="public" mangled="_ZNSt17_Rb_tree_iteratorISt4pairIKSstEEmmEi" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::operator--(int)" location="f84:203" file="f84" line="203" extern="1" inline="1">
+    <Argument type="_503" location="f84:203" file="f84" line="203"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4634" name="==" returns="_3949" const="1" context="_2030" access="public" mangled="_ZNKSt17_Rb_tree_iteratorISt4pairIKSstEEeqERKS3_" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::operator==(std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > const&) const" location="f84:211" file="f84" line="211" endline="211" inline="1">
+    <Argument name="__x" type="_11358" location="f84:211" file="f84" line="211"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4635" name="!=" returns="_3949" const="1" context="_2030" access="public" mangled="_ZNKSt17_Rb_tree_iteratorISt4pairIKSstEEneERKS3_" demangled="std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> >::operator!=(std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > const&) const" location="f84:215" file="f84" line="215" endline="215" inline="1">
+    <Argument name="__x" type="_11358" location="f84:215" file="f84" line="215"/>
+  </OperatorMethod>
+  <Field id="_4636" name="_M_value_field" type="_2707" offset="128" context="_2036" access="public" mangled="_ZNSt13_Rb_tree_nodeISt4pairIKSstEE14_M_value_fieldE" demangled="std::_Rb_tree_node<std::pair<std::string const, unsigned short> >::_M_value_field" location="f84:135" file="f84" line="135"/>
+  <Typedef id="_4637" name="_Link_type" type="_4420" context="_2036" access="public" location="f84:134" file="f84" line="134"/>
+  <Constructor id="_4638" name="_Rb_tree_node" artificial="1" context="_2036" access="public" mangled="_ZNSt13_Rb_tree_nodeISt4pairIKSstEEC1ERKS3_ *INTERNAL* " demangled="std::_Rb_tree_node<std::pair<std::string const, unsigned short> >::_Rb_tree_node(std::_Rb_tree_node<std::pair<std::string const, unsigned short> > const&)" location="f84:133" file="f84" line="133" inline="1">
+    <Argument name="_ctor_arg" type="_7567" location="f84:133" file="f84" line="133"/>
+  </Constructor>
+  <Constructor id="_4639" name="_Rb_tree_node" explicit="1" artificial="1" context="_2036" access="public" mangled="_ZNSt13_Rb_tree_nodeISt4pairIKSstEEC1Ev *INTERNAL* " demangled="std::_Rb_tree_node<std::pair<std::string const, unsigned short> >::_Rb_tree_node()" location="f84:133" file="f84" line="133" inline="1"/>
+  <Destructor id="_4640" name="_Rb_tree_node" artificial="1" context="_2036" access="public" mangled="_ZNSt13_Rb_tree_nodeISt4pairIKSstEED1Ev *INTERNAL* " demangled="std::_Rb_tree_node<std::pair<std::string const, unsigned short> >::~_Rb_tree_node()" location="f84:133" file="f84" line="133" inline="1">
+  </Destructor>
+  <Field id="_4641" name="_M_color" type="_2039" offset="0" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_base8_M_colorE" demangled="std::_Rb_tree_node_base::_M_color" location="f84:97" file="f84" line="97"/>
+  <Field id="_4642" name="_M_parent" type="_4410" offset="32" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_base9_M_parentE" demangled="std::_Rb_tree_node_base::_M_parent" location="f84:98" file="f84" line="98"/>
+  <Field id="_4643" name="_M_left" type="_4410" offset="64" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_base7_M_leftE" demangled="std::_Rb_tree_node_base::_M_left" location="f84:99" file="f84" line="99"/>
+  <Field id="_4644" name="_M_right" type="_4410" offset="96" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_base8_M_rightE" demangled="std::_Rb_tree_node_base::_M_right" location="f84:100" file="f84" line="100"/>
+  <Typedef id="_4645" name="_Base_ptr" type="_4410" context="_2038" access="public" location="f84:94" file="f84" line="94"/>
+  <Typedef id="_4646" name="_Const_Base_ptr" type="_4407" context="_2038" access="public" location="f84:95" file="f84" line="95"/>
+  <Constructor id="_4647" name="_Rb_tree_node_base" artificial="1" throw="" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_baseC1ERKS_ *INTERNAL* " demangled="std::_Rb_tree_node_base::_Rb_tree_node_base(std::_Rb_tree_node_base const&)" location="f84:93" file="f84" line="93" inline="1">
+    <Argument name="_ctor_arg" type="_11360" location="f84:93" file="f84" line="93"/>
+  </Constructor>
+  <Constructor id="_4648" name="_Rb_tree_node_base" explicit="1" artificial="1" throw="" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_baseC1Ev *INTERNAL* " demangled="std::_Rb_tree_node_base::_Rb_tree_node_base()" location="f84:93" file="f84" line="93" inline="1"/>
+  <Method id="_4649" name="_S_minimum" returns="_4410" static="1" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_base10_S_minimumEPS_" demangled="std::_Rb_tree_node_base::_S_minimum(std::_Rb_tree_node_base*)" location="f84:104" file="f84" line="104" endline="107" inline="1">
+    <Argument name="__x" type="_4410" location="f84:104" file="f84" line="104"/>
+  </Method>
+  <Method id="_4650" name="_S_minimum" returns="_4407" static="1" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_base10_S_minimumEPKS_" demangled="std::_Rb_tree_node_base::_S_minimum(std::_Rb_tree_node_base const*)" location="f84:111" file="f84" line="111" endline="114" inline="1">
+    <Argument name="__x" type="_4407" location="f84:111" file="f84" line="111"/>
+  </Method>
+  <Method id="_4651" name="_S_maximum" returns="_4410" static="1" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_base10_S_maximumEPS_" demangled="std::_Rb_tree_node_base::_S_maximum(std::_Rb_tree_node_base*)" location="f84:118" file="f84" line="118" endline="121" inline="1">
+    <Argument name="__x" type="_4410" location="f84:118" file="f84" line="118"/>
+  </Method>
+  <Method id="_4652" name="_S_maximum" returns="_4407" static="1" context="_2038" access="public" mangled="_ZNSt18_Rb_tree_node_base10_S_maximumEPKS_" demangled="std::_Rb_tree_node_base::_S_maximum(std::_Rb_tree_node_base const*)" location="f84:125" file="f84" line="125" endline="128" inline="1">
+    <Argument name="__x" type="_4407" location="f84:125" file="f84" line="125"/>
+  </Method>
+  <Constructor id="_4653" name="underflow_error" artificial="1" context="_2040" access="public" mangled="_ZNSt15underflow_errorC1ERKS_ *INTERNAL* " demangled="std::underflow_error::underflow_error(std::underflow_error const&)" location="f28:141" file="f28" line="141" inline="1">
+    <Argument name="_ctor_arg" type="_11361" location="f28:141" file="f28" line="141"/>
+  </Constructor>
+  <Destructor id="_4654" name="underflow_error" virtual="1" artificial="1" throw="" context="_2040" access="public" mangled="_ZNSt15underflow_errorD1Ev *INTERNAL* " demangled="std::underflow_error::~underflow_error()" location="f28:141" file="f28" line="141" inline="1">
+  </Destructor>
+  <Constructor id="_4655" name="underflow_error" explicit="1" context="_2040" access="public" mangled="_ZNSt15underflow_errorC1ERKSs *INTERNAL* " demangled="std::underflow_error::underflow_error(std::string const&)" location="f28:143" file="f28" line="143" extern="1">
+    <Argument name="__arg" type="_4020" location="f28:143" file="f28" line="143"/>
+  </Constructor>
+  <Constructor id="_4656" name="overflow_error" artificial="1" context="_2041" access="public" mangled="_ZNSt14overflow_errorC1ERKS_ *INTERNAL* " demangled="std::overflow_error::overflow_error(std::overflow_error const&)" location="f28:134" file="f28" line="134" inline="1">
+    <Argument name="_ctor_arg" type="_11362" location="f28:134" file="f28" line="134"/>
+  </Constructor>
+  <Destructor id="_4657" name="overflow_error" virtual="1" artificial="1" throw="" context="_2041" access="public" mangled="_ZNSt14overflow_errorD1Ev *INTERNAL* " demangled="std::overflow_error::~overflow_error()" location="f28:134" file="f28" line="134" inline="1">
+  </Destructor>
+  <Constructor id="_4658" name="overflow_error" explicit="1" context="_2041" access="public" mangled="_ZNSt14overflow_errorC1ERKSs *INTERNAL* " demangled="std::overflow_error::overflow_error(std::string const&)" location="f28:136" file="f28" line="136" extern="1">
+    <Argument name="__arg" type="_4020" location="f28:136" file="f28" line="136"/>
+  </Constructor>
+  <Constructor id="_4659" name="range_error" artificial="1" context="_2042" access="public" mangled="_ZNSt11range_errorC1ERKS_ *INTERNAL* " demangled="std::range_error::range_error(std::range_error const&)" location="f28:127" file="f28" line="127" inline="1">
+    <Argument name="_ctor_arg" type="_11363" location="f28:127" file="f28" line="127"/>
+  </Constructor>
+  <Destructor id="_4660" name="range_error" virtual="1" artificial="1" throw="" context="_2042" access="public" mangled="_ZNSt11range_errorD1Ev *INTERNAL* " demangled="std::range_error::~range_error()" location="f28:127" file="f28" line="127" inline="1">
+  </Destructor>
+  <Constructor id="_4661" name="range_error" explicit="1" context="_2042" access="public" mangled="_ZNSt11range_errorC1ERKSs *INTERNAL* " demangled="std::range_error::range_error(std::string const&)" location="f28:129" file="f28" line="129" extern="1">
+    <Argument name="__arg" type="_4020" location="f28:129" file="f28" line="129"/>
+  </Constructor>
+  <Field id="_4662" name="_M_msg" type="_2509" offset="32" context="_2043" access="private" mangled="_ZNSt13runtime_error6_M_msgE" demangled="std::runtime_error::_M_msg" location="f28:109" file="f28" line="109"/>
+  <Constructor id="_4663" name="runtime_error" artificial="1" context="_2043" access="public" mangled="_ZNSt13runtime_errorC1ERKS_ *INTERNAL* " demangled="std::runtime_error::runtime_error(std::runtime_error const&)" location="f28:108" file="f28" line="108" inline="1">
+    <Argument name="_ctor_arg" type="_11364" location="f28:108" file="f28" line="108"/>
+  </Constructor>
+  <Constructor id="_4664" name="runtime_error" explicit="1" context="_2043" access="public" mangled="_ZNSt13runtime_errorC1ERKSs *INTERNAL* " demangled="std::runtime_error::runtime_error(std::string const&)" location="f28:114" file="f28" line="114" extern="1">
+    <Argument name="__arg" type="_4020" location="f28:114" file="f28" line="114"/>
+  </Constructor>
+  <Destructor id="_4665" name="runtime_error" virtual="1" throw="" context="_2043" access="public" mangled="_ZNSt13runtime_errorD1Ev *INTERNAL* " demangled="std::runtime_error::~runtime_error()" location="f28:117" file="f28" line="117" extern="1">
+  </Destructor>
+  <Method id="_4666" name="what" returns="_2749" const="1" virtual="1" throw="" context="_2043" access="public" mangled="_ZNKSt13runtime_error4whatEv" demangled="std::runtime_error::what() const" location="f28:122" file="f28" line="122" extern="1"/>
+  <Constructor id="_4667" name="out_of_range" artificial="1" context="_2044" access="public" mangled="_ZNSt12out_of_rangeC1ERKS_ *INTERNAL* " demangled="std::out_of_range::out_of_range(std::out_of_range const&)" location="f26:87" file="f26" line="87" endline="87" inline="1">
+    <Argument name="_ctor_arg" type="_11365" location="f28:97" file="f28" line="97"/>
+  </Constructor>
+  <Destructor id="_4668" name="out_of_range" virtual="1" artificial="1" throw="" context="_2044" access="public" mangled="_ZNSt12out_of_rangeD1Ev *INTERNAL* " demangled="std::out_of_range::~out_of_range()" location="f27:34" file="f27" line="34" endline="34" inline="1">
+  </Destructor>
+  <Constructor id="_4669" name="out_of_range" explicit="1" context="_2044" access="public" mangled="_ZNSt12out_of_rangeC1ERKSs *INTERNAL* " demangled="std::out_of_range::out_of_range(std::string const&)" location="f28:99" file="f28" line="99" extern="1">
+    <Argument name="__arg" type="_4020" location="f28:99" file="f28" line="99"/>
+  </Constructor>
+  <Constructor id="_4670" name="length_error" artificial="1" context="_2045" access="public" mangled="_ZNSt12length_errorC1ERKS_ *INTERNAL* " demangled="std::length_error::length_error(std::length_error const&)" location="f28:89" file="f28" line="89" inline="1">
+    <Argument name="_ctor_arg" type="_11366" location="f28:89" file="f28" line="89"/>
+  </Constructor>
+  <Destructor id="_4671" name="length_error" virtual="1" artificial="1" throw="" context="_2045" access="public" mangled="_ZNSt12length_errorD1Ev *INTERNAL* " demangled="std::length_error::~length_error()" location="f28:89" file="f28" line="89" inline="1">
+  </Destructor>
+  <Constructor id="_4672" name="length_error" explicit="1" context="_2045" access="public" mangled="_ZNSt12length_errorC1ERKSs *INTERNAL* " demangled="std::length_error::length_error(std::string const&)" location="f28:91" file="f28" line="91" extern="1">
+    <Argument name="__arg" type="_4020" location="f28:91" file="f28" line="91"/>
+  </Constructor>
+  <Constructor id="_4673" name="invalid_argument" artificial="1" context="_2046" access="public" mangled="_ZNSt16invalid_argumentC1ERKS_ *INTERNAL* " demangled="std::invalid_argument::invalid_argument(std::invalid_argument const&)" location="f28:81" file="f28" line="81" inline="1">
+    <Argument name="_ctor_arg" type="_11367" location="f28:81" file="f28" line="81"/>
+  </Constructor>
+  <Destructor id="_4674" name="invalid_argument" virtual="1" artificial="1" throw="" context="_2046" access="public" mangled="_ZNSt16invalid_argumentD1Ev *INTERNAL* " demangled="std::invalid_argument::~invalid_argument()" location="f28:81" file="f28" line="81" inline="1">
+  </Destructor>
+  <Constructor id="_4675" name="invalid_argument" explicit="1" context="_2046" access="public" mangled="_ZNSt16invalid_argumentC1ERKSs *INTERNAL* " demangled="std::invalid_argument::invalid_argument(std::string const&)" location="f28:83" file="f28" line="83" extern="1">
+    <Argument name="__arg" type="_4020" location="f28:83" file="f28" line="83"/>
+  </Constructor>
+  <Constructor id="_4676" name="domain_error" artificial="1" context="_2047" access="public" mangled="_ZNSt12domain_errorC1ERKS_ *INTERNAL* " demangled="std::domain_error::domain_error(std::domain_error const&)" location="f28:74" file="f28" line="74" inline="1">
+    <Argument name="_ctor_arg" type="_11368" location="f28:74" file="f28" line="74"/>
+  </Constructor>
+  <Destructor id="_4677" name="domain_error" virtual="1" artificial="1" throw="" context="_2047" access="public" mangled="_ZNSt12domain_errorD1Ev *INTERNAL* " demangled="std::domain_error::~domain_error()" location="f28:74" file="f28" line="74" inline="1">
+  </Destructor>
+  <Constructor id="_4678" name="domain_error" explicit="1" context="_2047" access="public" mangled="_ZNSt12domain_errorC1ERKSs *INTERNAL* " demangled="std::domain_error::domain_error(std::string const&)" location="f28:76" file="f28" line="76" extern="1">
+    <Argument name="__arg" type="_4020" location="f28:76" file="f28" line="76"/>
+  </Constructor>
+  <Field id="_4679" name="_M_msg" type="_2509" offset="32" context="_2048" access="private" mangled="_ZNSt11logic_error6_M_msgE" demangled="std::logic_error::_M_msg" location="f28:55" file="f28" line="55"/>
+  <Constructor id="_4680" name="logic_error" artificial="1" context="_2048" access="public" mangled="_ZNSt11logic_errorC1ERKS_ *INTERNAL* " demangled="std::logic_error::logic_error(std::logic_error const&)" location="f26:87" file="f26" line="87" endline="87" inline="1">
+    <Argument name="_ctor_arg" type="_11369" location="f28:54" file="f28" line="54"/>
+  </Constructor>
+  <Constructor id="_4681" name="logic_error" explicit="1" context="_2048" access="public" mangled="_ZNSt11logic_errorC1ERKSs *INTERNAL* " demangled="std::logic_error::logic_error(std::string const&)" location="f28:60" file="f28" line="60" extern="1">
+    <Argument name="__arg" type="_4020" location="f28:60" file="f28" line="60"/>
+  </Constructor>
+  <Destructor id="_4682" name="logic_error" virtual="1" throw="" context="_2048" access="public" mangled="_ZNSt11logic_errorD1Ev *INTERNAL* " demangled="std::logic_error::~logic_error()" location="f28:63" file="f28" line="63" extern="1">
+  </Destructor>
+  <Method id="_4683" name="what" returns="_2749" const="1" virtual="1" throw="" context="_2048" access="public" mangled="_ZNKSt11logic_error4whatEv" demangled="std::logic_error::what() const" location="f28:68" file="f28" line="68" extern="1"/>
+  <PointerType id="_4684" type="_1301" size="32" align="32"/>
+  <PointerType id="_4685" type="_1296" size="32" align="32"/>
+  <ReferenceType id="_4686" type="_1301" size="32" align="32"/>
+  <ReferenceType id="_4687" type="_1296" size="32" align="32"/>
+  <Typedef id="_4688" name="__type" type="_1288" context="_2055" access="public" location="f87:460" file="f87" line="460"/>
+  <Constructor id="_4689" name="__to_unsigned_type" artificial="1" throw="" context="_2055" access="public" mangled="_ZNSt18__to_unsigned_typeIxEC1ERKS0_ *INTERNAL* " demangled="std::__to_unsigned_type<long long>::__to_unsigned_type(std::__to_unsigned_type<long long> const&)" location="f87:460" file="f87" line="460" inline="1">
+    <Argument name="_ctor_arg" type="_11370" location="f87:460" file="f87" line="460"/>
+  </Constructor>
+  <Constructor id="_4690" name="__to_unsigned_type" explicit="1" artificial="1" throw="" context="_2055" access="public" mangled="_ZNSt18__to_unsigned_typeIxEC1Ev *INTERNAL* " demangled="std::__to_unsigned_type<long long>::__to_unsigned_type()" location="f87:460" file="f87" line="460" inline="1"/>
+  <Typedef id="_4691" name="__type" type="_643" context="_2056" access="public" location="f87:455" file="f87" line="455"/>
+  <Constructor id="_4692" name="__to_unsigned_type" artificial="1" throw="" context="_2056" access="public" mangled="_ZNSt18__to_unsigned_typeIlEC1ERKS0_ *INTERNAL* " demangled="std::__to_unsigned_type<long>::__to_unsigned_type(std::__to_unsigned_type<long> const&)" location="f87:455" file="f87" line="455" inline="1">
+    <Argument name="_ctor_arg" type="_11371" location="f87:455" file="f87" line="455"/>
+  </Constructor>
+  <Constructor id="_4693" name="__to_unsigned_type" explicit="1" artificial="1" throw="" context="_2056" access="public" mangled="_ZNSt18__to_unsigned_typeIlEC1Ev *INTERNAL* " demangled="std::__to_unsigned_type<long>::__to_unsigned_type()" location="f87:455" file="f87" line="455" inline="1"/>
+  <Constructor id="_4694" name="bad_typeid" artificial="1" throw="" context="_2058" access="public" mangled="_ZNSt10bad_typeidC1ERKS_ *INTERNAL* " demangled="std::bad_typeid::bad_typeid(std::bad_typeid const&)" location="f31:150" file="f31" line="150" inline="1">
+    <Argument name="_ctor_arg" type="_11372" location="f31:150" file="f31" line="150"/>
+  </Constructor>
+  <Constructor id="_4695" name="bad_typeid" explicit="1" throw="" context="_2058" access="public" mangled="_ZNSt10bad_typeidC1Ev *INTERNAL* " demangled="std::bad_typeid::bad_typeid()" location="f31:152" file="f31" line="152" endline="152" inline="1"/>
+  <Destructor id="_4696" name="bad_typeid" virtual="1" throw="" context="_2058" access="public" mangled="_ZNSt10bad_typeidD1Ev *INTERNAL* " demangled="std::bad_typeid::~bad_typeid()" location="f31:155" file="f31" line="155" extern="1">
+  </Destructor>
+  <Constructor id="_4697" name="bad_cast" artificial="1" throw="" context="_2059" access="public" mangled="_ZNSt8bad_castC1ERKS_ *INTERNAL* " demangled="std::bad_cast::bad_cast(std::bad_cast const&)" location="f181:39" file="f181" line="39" endline="39" inline="1">
+    <Argument name="_ctor_arg" type="_11373" location="f31:140" file="f31" line="140"/>
+  </Constructor>
+  <Constructor id="_4698" name="bad_cast" explicit="1" throw="" context="_2059" access="public" mangled="_ZNSt8bad_castC1Ev *INTERNAL* " demangled="std::bad_cast::bad_cast()" location="f31:142" file="f31" line="142" endline="142" inline="1"/>
+  <Destructor id="_4699" name="bad_cast" virtual="1" throw="" context="_2059" access="public" mangled="_ZNSt8bad_castD1Ev *INTERNAL* " demangled="std::bad_cast::~bad_cast()" location="f31:145" file="f31" line="145" extern="1">
+  </Destructor>
+  <PointerType id="_4700" type="_1296c" size="32" align="32"/>
+  <PointerType id="_4701" type="_1301c" size="32" align="32"/>
+  <Field id="_4702" name="_M_data" type="_11376" offset="64" context="_2084" access="protected" mangled="_ZNSt11__timepunctIwE7_M_dataE" demangled="std::__timepunct<wchar_t>::_M_data" location="f29:2808" file="f29" line="2808"/>
+  <Field id="_4703" name="_M_c_locale_timepunct" type="_2534" offset="96" context="_2084" access="protected" mangled="_ZNSt11__timepunctIwE21_M_c_locale_timepunctE" demangled="std::__timepunct<wchar_t>::_M_c_locale_timepunct" location="f29:2809" file="f29" line="2809"/>
+  <Field id="_4704" name="_M_name_timepunct" type="_2749" offset="128" context="_2084" access="protected" mangled="_ZNSt11__timepunctIwE17_M_name_timepunctE" demangled="std::__timepunct<wchar_t>::_M_name_timepunct" location="f29:2810" file="f29" line="2810"/>
+  <Variable id="_4705" name="id" type="_6222" context="_2084" access="public" mangled="_ZNSt11__timepunctIwE2idE" demangled="std::__timepunct<wchar_t>::id" location="f29:2944" file="f29" line="2944" extern="1"/>
+  <Typedef id="_4706" name="__char_type" type="_2786" context="_2084" access="public" location="f29:2803" file="f29" line="2803"/>
+  <Typedef id="_4707" name="__string_type" type="_2506" context="_2084" access="public" location="f29:2804" file="f29" line="2804"/>
+  <Typedef id="_4708" name="__cache_type" type="_2086" context="_2084" access="public" location="f29:2805" file="f29" line="2805"/>
+  <Constructor id="_4709" name="__timepunct" artificial="1" context="_2084" access="public" mangled="_ZNSt11__timepunctIwEC1ERKS0_ *INTERNAL* " demangled="std::__timepunct<wchar_t>::__timepunct(std::__timepunct<wchar_t> const&)" location="f29:2800" file="f29" line="2800" inline="1">
+    <Argument name="_ctor_arg" type="_5521" location="f29:2800" file="f29" line="2800"/>
+  </Constructor>
+  <Constructor id="_4710" name="__timepunct" explicit="1" context="_2084" access="public" mangled="_ZNSt11__timepunctIwEC1Ej *INTERNAL* " demangled="std::__timepunct<wchar_t>::__timepunct(unsigned)" location="f29:2817" file="f29" line="2817" extern="1">
+    <Argument name="__refs" type="_1698" location="f29:2817" file="f29" line="2817" default="0"/>
+  </Constructor>
+  <Constructor id="_4711" name="__timepunct" explicit="1" context="_2084" access="public" mangled="_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj *INTERNAL* " demangled="std::__timepunct<wchar_t>::__timepunct(std::__timepunct_cache<wchar_t>*, unsigned)" location="f29:2820" file="f29" line="2820" extern="1">
+    <Argument name="__cache" type="_11376" location="f29:2820" file="f29" line="2820"/>
+    <Argument name="__refs" type="_1698" location="f29:2820" file="f29" line="2820" default="0"/>
+  </Constructor>
+  <Constructor id="_4712" name="__timepunct" explicit="1" context="_2084" access="public" mangled="_ZNSt11__timepunctIwEC1EP15__locale_structPKcj *INTERNAL* " demangled="std::__timepunct<wchar_t>::__timepunct(__locale_struct*, char const*, unsigned)" location="f29:2833" file="f29" line="2833" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:2833" file="f29" line="2833"/>
+    <Argument name="__s" type="_2749" location="f29:2833" file="f29" line="2833"/>
+    <Argument name="__refs" type="_1698" location="f29:2833" file="f29" line="2833" default="0"/>
+  </Constructor>
+  <Method id="_4713" name="_M_put" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm" demangled="std::__timepunct<wchar_t>::_M_put(wchar_t*, unsigned, wchar_t const*, tm const*) const" location="f29:2963" file="f29" line="2963" extern="1">
+    <Argument type="_2778" location="f29:2963" file="f29" line="2963"/>
+    <Argument type="_1698" location="f29:2963" file="f29" line="2963"/>
+    <Argument type="_2780" location="f29:2963" file="f29" line="2963"/>
+    <Argument type="_2782" location="f29:2963" file="f29" line="2963"/>
+  </Method>
+  <Method id="_4714" name="_M_date_formats" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw" demangled="std::__timepunct<wchar_t>::_M_date_formats(wchar_t const**) const" location="f29:2843" file="f29" line="2843" extern="1" inline="1">
+    <Argument name="__date" type="_2790" location="f29:2843" file="f29" line="2843"/>
+  </Method>
+  <Method id="_4715" name="_M_time_formats" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw" demangled="std::__timepunct<wchar_t>::_M_time_formats(wchar_t const**) const" location="f29:2851" file="f29" line="2851" extern="1" inline="1">
+    <Argument name="__time" type="_2790" location="f29:2851" file="f29" line="2851"/>
+  </Method>
+  <Method id="_4716" name="_M_date_time_formats" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw" demangled="std::__timepunct<wchar_t>::_M_date_time_formats(wchar_t const**) const" location="f29:2859" file="f29" line="2859" extern="1" inline="1">
+    <Argument name="__dt" type="_2790" location="f29:2859" file="f29" line="2859"/>
+  </Method>
+  <Method id="_4717" name="_M_am_pm_format" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw" demangled="std::__timepunct<wchar_t>::_M_am_pm_format(wchar_t const*) const" location="f29:2867" file="f29" line="2867" extern="1" inline="1">
+    <Argument name="__ampm" type="_2780" location="f29:2867" file="f29" line="2867"/>
+  </Method>
+  <Method id="_4718" name="_M_am_pm" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE8_M_am_pmEPPKw" demangled="std::__timepunct<wchar_t>::_M_am_pm(wchar_t const**) const" location="f29:2871" file="f29" line="2871" extern="1" inline="1">
+    <Argument name="__ampm" type="_2790" location="f29:2871" file="f29" line="2871"/>
+  </Method>
+  <Method id="_4719" name="_M_days" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE7_M_daysEPPKw" demangled="std::__timepunct<wchar_t>::_M_days(wchar_t const**) const" location="f29:2878" file="f29" line="2878" extern="1" inline="1">
+    <Argument name="__days" type="_2790" location="f29:2878" file="f29" line="2878"/>
+  </Method>
+  <Method id="_4720" name="_M_days_abbreviated" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw" demangled="std::__timepunct<wchar_t>::_M_days_abbreviated(wchar_t const**) const" location="f29:2890" file="f29" line="2890" extern="1" inline="1">
+    <Argument name="__days" type="_2790" location="f29:2890" file="f29" line="2890"/>
+  </Method>
+  <Method id="_4721" name="_M_months" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE9_M_monthsEPPKw" demangled="std::__timepunct<wchar_t>::_M_months(wchar_t const**) const" location="f29:2902" file="f29" line="2902" extern="1" inline="1">
+    <Argument name="__months" type="_2790" location="f29:2902" file="f29" line="2902"/>
+  </Method>
+  <Method id="_4722" name="_M_months_abbreviated" returns="_1194" const="1" context="_2084" access="public" mangled="_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw" demangled="std::__timepunct<wchar_t>::_M_months_abbreviated(wchar_t const**) const" location="f29:2919" file="f29" line="2919" extern="1" inline="1">
+    <Argument name="__months" type="_2790" location="f29:2919" file="f29" line="2919"/>
+  </Method>
+  <Destructor id="_4723" name="__timepunct" virtual="1" context="_2084" access="protected" mangled="_ZNSt11__timepunctIwED1Ev *INTERNAL* " demangled="std::__timepunct<wchar_t>::~__timepunct()" location="f29:2936" file="f29" line="2936" extern="1">
+  </Destructor>
+  <Method id="_4724" name="_M_initialize_timepunct" returns="_1194" context="_2084" access="protected" mangled="_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct" demangled="std::__timepunct<wchar_t>::_M_initialize_timepunct(__locale_struct*)" location="f29:2958" file="f29" line="2958" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:2958" file="f29" line="2958" default="0"/>
+  </Method>
+  <Class id="_4725" name="facet" context="_2365" access="public" mangled="NSt6locale5facetE" demangled="std::locale::facet" location="f3:344" file="f3" line="344" artificial="1" size="64" align="32" members="_11377 _11378 _11379 _11380 _11381 _11382 _11383 _11384 _11385 _11386 _11387 _11388 _11389 _11390 _11391 _11392 " bases=""/>
+  <Field id="_4726" name="_M_data" type="_11393" offset="64" context="_2085" access="protected" mangled="_ZNSt11__timepunctIcE7_M_dataE" demangled="std::__timepunct<char>::_M_data" location="f29:2808" file="f29" line="2808"/>
+  <Field id="_4727" name="_M_c_locale_timepunct" type="_2534" offset="96" context="_2085" access="protected" mangled="_ZNSt11__timepunctIcE21_M_c_locale_timepunctE" demangled="std::__timepunct<char>::_M_c_locale_timepunct" location="f29:2809" file="f29" line="2809"/>
+  <Field id="_4728" name="_M_name_timepunct" type="_2749" offset="128" context="_2085" access="protected" mangled="_ZNSt11__timepunctIcE17_M_name_timepunctE" demangled="std::__timepunct<char>::_M_name_timepunct" location="f29:2810" file="f29" line="2810"/>
+  <Variable id="_4729" name="id" type="_6222" context="_2085" access="public" mangled="_ZNSt11__timepunctIcE2idE" demangled="std::__timepunct<char>::id" location="f29:2944" file="f29" line="2944" extern="1"/>
+  <Typedef id="_4730" name="__char_type" type="_2961" context="_2085" access="public" location="f29:2803" file="f29" line="2803"/>
+  <Typedef id="_4731" name="__string_type" type="_2508" context="_2085" access="public" location="f29:2804" file="f29" line="2804"/>
+  <Typedef id="_4732" name="__cache_type" type="_2087" context="_2085" access="public" location="f29:2805" file="f29" line="2805"/>
+  <Constructor id="_4733" name="__timepunct" artificial="1" context="_2085" access="public" mangled="_ZNSt11__timepunctIcEC1ERKS0_ *INTERNAL* " demangled="std::__timepunct<char>::__timepunct(std::__timepunct<char> const&)" location="f29:2800" file="f29" line="2800" inline="1">
+    <Argument name="_ctor_arg" type="_5534" location="f29:2800" file="f29" line="2800"/>
+  </Constructor>
+  <Constructor id="_4734" name="__timepunct" explicit="1" context="_2085" access="public" mangled="_ZNSt11__timepunctIcEC1Ej *INTERNAL* " demangled="std::__timepunct<char>::__timepunct(unsigned)" location="f29:2817" file="f29" line="2817" extern="1">
+    <Argument name="__refs" type="_1698" location="f29:2817" file="f29" line="2817" default="0"/>
+  </Constructor>
+  <Constructor id="_4735" name="__timepunct" explicit="1" context="_2085" access="public" mangled="_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj *INTERNAL* " demangled="std::__timepunct<char>::__timepunct(std::__timepunct_cache<char>*, unsigned)" location="f29:2820" file="f29" line="2820" extern="1">
+    <Argument name="__cache" type="_11393" location="f29:2820" file="f29" line="2820"/>
+    <Argument name="__refs" type="_1698" location="f29:2820" file="f29" line="2820" default="0"/>
+  </Constructor>
+  <Constructor id="_4736" name="__timepunct" explicit="1" context="_2085" access="public" mangled="_ZNSt11__timepunctIcEC1EP15__locale_structPKcj *INTERNAL* " demangled="std::__timepunct<char>::__timepunct(__locale_struct*, char const*, unsigned)" location="f29:2833" file="f29" line="2833" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:2833" file="f29" line="2833"/>
+    <Argument name="__s" type="_2749" location="f29:2833" file="f29" line="2833"/>
+    <Argument name="__refs" type="_1698" location="f29:2833" file="f29" line="2833" default="0"/>
+  </Constructor>
+  <Method id="_4737" name="_M_put" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm" demangled="std::__timepunct<char>::_M_put(char*, unsigned, char const*, tm const*) const" location="f29:2953" file="f29" line="2953" extern="1">
+    <Argument type="_1149" location="f29:2953" file="f29" line="2953"/>
+    <Argument type="_1698" location="f29:2953" file="f29" line="2953"/>
+    <Argument type="_2749" location="f29:2953" file="f29" line="2953"/>
+    <Argument type="_2782" location="f29:2953" file="f29" line="2953"/>
+  </Method>
+  <Method id="_4738" name="_M_date_formats" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc" demangled="std::__timepunct<char>::_M_date_formats(char const**) const" location="f29:2843" file="f29" line="2843" extern="1" inline="1">
+    <Argument name="__date" type="_2794" location="f29:2843" file="f29" line="2843"/>
+  </Method>
+  <Method id="_4739" name="_M_time_formats" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc" demangled="std::__timepunct<char>::_M_time_formats(char const**) const" location="f29:2851" file="f29" line="2851" extern="1" inline="1">
+    <Argument name="__time" type="_2794" location="f29:2851" file="f29" line="2851"/>
+  </Method>
+  <Method id="_4740" name="_M_date_time_formats" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc" demangled="std::__timepunct<char>::_M_date_time_formats(char const**) const" location="f29:2859" file="f29" line="2859" extern="1" inline="1">
+    <Argument name="__dt" type="_2794" location="f29:2859" file="f29" line="2859"/>
+  </Method>
+  <Method id="_4741" name="_M_am_pm_format" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc" demangled="std::__timepunct<char>::_M_am_pm_format(char const*) const" location="f29:2867" file="f29" line="2867" extern="1" inline="1">
+    <Argument name="__ampm" type="_2749" location="f29:2867" file="f29" line="2867"/>
+  </Method>
+  <Method id="_4742" name="_M_am_pm" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE8_M_am_pmEPPKc" demangled="std::__timepunct<char>::_M_am_pm(char const**) const" location="f29:2871" file="f29" line="2871" extern="1" inline="1">
+    <Argument name="__ampm" type="_2794" location="f29:2871" file="f29" line="2871"/>
+  </Method>
+  <Method id="_4743" name="_M_days" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE7_M_daysEPPKc" demangled="std::__timepunct<char>::_M_days(char const**) const" location="f29:2878" file="f29" line="2878" extern="1" inline="1">
+    <Argument name="__days" type="_2794" location="f29:2878" file="f29" line="2878"/>
+  </Method>
+  <Method id="_4744" name="_M_days_abbreviated" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc" demangled="std::__timepunct<char>::_M_days_abbreviated(char const**) const" location="f29:2890" file="f29" line="2890" extern="1" inline="1">
+    <Argument name="__days" type="_2794" location="f29:2890" file="f29" line="2890"/>
+  </Method>
+  <Method id="_4745" name="_M_months" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE9_M_monthsEPPKc" demangled="std::__timepunct<char>::_M_months(char const**) const" location="f29:2902" file="f29" line="2902" extern="1" inline="1">
+    <Argument name="__months" type="_2794" location="f29:2902" file="f29" line="2902"/>
+  </Method>
+  <Method id="_4746" name="_M_months_abbreviated" returns="_1194" const="1" context="_2085" access="public" mangled="_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc" demangled="std::__timepunct<char>::_M_months_abbreviated(char const**) const" location="f29:2919" file="f29" line="2919" extern="1" inline="1">
+    <Argument name="__months" type="_2794" location="f29:2919" file="f29" line="2919"/>
+  </Method>
+  <Destructor id="_4747" name="__timepunct" virtual="1" context="_2085" access="protected" mangled="_ZNSt11__timepunctIcED1Ev *INTERNAL* " demangled="std::__timepunct<char>::~__timepunct()" location="f29:2936" file="f29" line="2936" extern="1">
+  </Destructor>
+  <Method id="_4748" name="_M_initialize_timepunct" returns="_1194" context="_2085" access="protected" mangled="_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct" demangled="std::__timepunct<char>::_M_initialize_timepunct(__locale_struct*)" location="f29:2949" file="f29" line="2949" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:2949" file="f29" line="2949" default="0"/>
+  </Method>
+  <Variable id="_4749" name="_S_timezones" type="_11394" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE12_S_timezonesE" demangled="std::__timepunct_cache<wchar_t>::_S_timezones" location="f29:2791" file="f29" line="2791" extern="1"/>
+  <Field id="_4750" name="_M_date_format" type="_2780" offset="64" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE14_M_date_formatE" demangled="std::__timepunct_cache<wchar_t>::_M_date_format" location="f29:2686" file="f29" line="2686"/>
+  <Field id="_4751" name="_M_date_era_format" type="_2780" offset="96" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE18_M_date_era_formatE" demangled="std::__timepunct_cache<wchar_t>::_M_date_era_format" location="f29:2687" file="f29" line="2687"/>
+  <Field id="_4752" name="_M_time_format" type="_2780" offset="128" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE14_M_time_formatE" demangled="std::__timepunct_cache<wchar_t>::_M_time_format" location="f29:2688" file="f29" line="2688"/>
+  <Field id="_4753" name="_M_time_era_format" type="_2780" offset="160" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE18_M_time_era_formatE" demangled="std::__timepunct_cache<wchar_t>::_M_time_era_format" location="f29:2689" file="f29" line="2689"/>
+  <Field id="_4754" name="_M_date_time_format" type="_2780" offset="192" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE19_M_date_time_formatE" demangled="std::__timepunct_cache<wchar_t>::_M_date_time_format" location="f29:2690" file="f29" line="2690"/>
+  <Field id="_4755" name="_M_date_time_era_format" type="_2780" offset="224" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE23_M_date_time_era_formatE" demangled="std::__timepunct_cache<wchar_t>::_M_date_time_era_format" location="f29:2691" file="f29" line="2691"/>
+  <Field id="_4756" name="_M_am" type="_2780" offset="256" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE5_M_amE" demangled="std::__timepunct_cache<wchar_t>::_M_am" location="f29:2692" file="f29" line="2692"/>
+  <Field id="_4757" name="_M_pm" type="_2780" offset="288" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE5_M_pmE" demangled="std::__timepunct_cache<wchar_t>::_M_pm" location="f29:2693" file="f29" line="2693"/>
+  <Field id="_4758" name="_M_am_pm_format" type="_2780" offset="320" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE15_M_am_pm_formatE" demangled="std::__timepunct_cache<wchar_t>::_M_am_pm_format" location="f29:2694" file="f29" line="2694"/>
+  <Field id="_4759" name="_M_day1" type="_2780" offset="352" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE7_M_day1E" demangled="std::__timepunct_cache<wchar_t>::_M_day1" location="f29:2697" file="f29" line="2697"/>
+  <Field id="_4760" name="_M_day2" type="_2780" offset="384" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE7_M_day2E" demangled="std::__timepunct_cache<wchar_t>::_M_day2" location="f29:2698" file="f29" line="2698"/>
+  <Field id="_4761" name="_M_day3" type="_2780" offset="416" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE7_M_day3E" demangled="std::__timepunct_cache<wchar_t>::_M_day3" location="f29:2699" file="f29" line="2699"/>
+  <Field id="_4762" name="_M_day4" type="_2780" offset="448" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE7_M_day4E" demangled="std::__timepunct_cache<wchar_t>::_M_day4" location="f29:2700" file="f29" line="2700"/>
+  <Field id="_4763" name="_M_day5" type="_2780" offset="480" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE7_M_day5E" demangled="std::__timepunct_cache<wchar_t>::_M_day5" location="f29:2701" file="f29" line="2701"/>
+  <Field id="_4764" name="_M_day6" type="_2780" offset="512" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE7_M_day6E" demangled="std::__timepunct_cache<wchar_t>::_M_day6" location="f29:2702" file="f29" line="2702"/>
+  <Field id="_4765" name="_M_day7" type="_2780" offset="544" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE7_M_day7E" demangled="std::__timepunct_cache<wchar_t>::_M_day7" location="f29:2703" file="f29" line="2703"/>
+  <Field id="_4766" name="_M_aday1" type="_2780" offset="576" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE8_M_aday1E" demangled="std::__timepunct_cache<wchar_t>::_M_aday1" location="f29:2706" file="f29" line="2706"/>
+  <Field id="_4767" name="_M_aday2" type="_2780" offset="608" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE8_M_aday2E" demangled="std::__timepunct_cache<wchar_t>::_M_aday2" location="f29:2707" file="f29" line="2707"/>
+  <Field id="_4768" name="_M_aday3" type="_2780" offset="640" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE8_M_aday3E" demangled="std::__timepunct_cache<wchar_t>::_M_aday3" location="f29:2708" file="f29" line="2708"/>
+  <Field id="_4769" name="_M_aday4" type="_2780" offset="672" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE8_M_aday4E" demangled="std::__timepunct_cache<wchar_t>::_M_aday4" location="f29:2709" file="f29" line="2709"/>
+  <Field id="_4770" name="_M_aday5" type="_2780" offset="704" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE8_M_aday5E" demangled="std::__timepunct_cache<wchar_t>::_M_aday5" location="f29:2710" file="f29" line="2710"/>
+  <Field id="_4771" name="_M_aday6" type="_2780" offset="736" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE8_M_aday6E" demangled="std::__timepunct_cache<wchar_t>::_M_aday6" location="f29:2711" file="f29" line="2711"/>
+  <Field id="_4772" name="_M_aday7" type="_2780" offset="768" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE8_M_aday7E" demangled="std::__timepunct_cache<wchar_t>::_M_aday7" location="f29:2712" file="f29" line="2712"/>
+  <Field id="_4773" name="_M_month01" type="_2780" offset="800" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month01E" demangled="std::__timepunct_cache<wchar_t>::_M_month01" location="f29:2715" file="f29" line="2715"/>
+  <Field id="_4774" name="_M_month02" type="_2780" offset="832" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month02E" demangled="std::__timepunct_cache<wchar_t>::_M_month02" location="f29:2716" file="f29" line="2716"/>
+  <Field id="_4775" name="_M_month03" type="_2780" offset="864" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month03E" demangled="std::__timepunct_cache<wchar_t>::_M_month03" location="f29:2717" file="f29" line="2717"/>
+  <Field id="_4776" name="_M_month04" type="_2780" offset="896" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month04E" demangled="std::__timepunct_cache<wchar_t>::_M_month04" location="f29:2718" file="f29" line="2718"/>
+  <Field id="_4777" name="_M_month05" type="_2780" offset="928" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month05E" demangled="std::__timepunct_cache<wchar_t>::_M_month05" location="f29:2719" file="f29" line="2719"/>
+  <Field id="_4778" name="_M_month06" type="_2780" offset="960" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month06E" demangled="std::__timepunct_cache<wchar_t>::_M_month06" location="f29:2720" file="f29" line="2720"/>
+  <Field id="_4779" name="_M_month07" type="_2780" offset="992" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month07E" demangled="std::__timepunct_cache<wchar_t>::_M_month07" location="f29:2721" file="f29" line="2721"/>
+  <Field id="_4780" name="_M_month08" type="_2780" offset="1024" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month08E" demangled="std::__timepunct_cache<wchar_t>::_M_month08" location="f29:2722" file="f29" line="2722"/>
+  <Field id="_4781" name="_M_month09" type="_2780" offset="1056" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month09E" demangled="std::__timepunct_cache<wchar_t>::_M_month09" location="f29:2723" file="f29" line="2723"/>
+  <Field id="_4782" name="_M_month10" type="_2780" offset="1088" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month10E" demangled="std::__timepunct_cache<wchar_t>::_M_month10" location="f29:2724" file="f29" line="2724"/>
+  <Field id="_4783" name="_M_month11" type="_2780" offset="1120" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month11E" demangled="std::__timepunct_cache<wchar_t>::_M_month11" location="f29:2725" file="f29" line="2725"/>
+  <Field id="_4784" name="_M_month12" type="_2780" offset="1152" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE10_M_month12E" demangled="std::__timepunct_cache<wchar_t>::_M_month12" location="f29:2726" file="f29" line="2726"/>
+  <Field id="_4785" name="_M_amonth01" type="_2780" offset="1184" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth01E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth01" location="f29:2729" file="f29" line="2729"/>
+  <Field id="_4786" name="_M_amonth02" type="_2780" offset="1216" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth02E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth02" location="f29:2730" file="f29" line="2730"/>
+  <Field id="_4787" name="_M_amonth03" type="_2780" offset="1248" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth03E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth03" location="f29:2731" file="f29" line="2731"/>
+  <Field id="_4788" name="_M_amonth04" type="_2780" offset="1280" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth04E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth04" location="f29:2732" file="f29" line="2732"/>
+  <Field id="_4789" name="_M_amonth05" type="_2780" offset="1312" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth05E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth05" location="f29:2733" file="f29" line="2733"/>
+  <Field id="_4790" name="_M_amonth06" type="_2780" offset="1344" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth06E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth06" location="f29:2734" file="f29" line="2734"/>
+  <Field id="_4791" name="_M_amonth07" type="_2780" offset="1376" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth07E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth07" location="f29:2735" file="f29" line="2735"/>
+  <Field id="_4792" name="_M_amonth08" type="_2780" offset="1408" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth08E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth08" location="f29:2736" file="f29" line="2736"/>
+  <Field id="_4793" name="_M_amonth09" type="_2780" offset="1440" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth09E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth09" location="f29:2737" file="f29" line="2737"/>
+  <Field id="_4794" name="_M_amonth10" type="_2780" offset="1472" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth10E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth10" location="f29:2738" file="f29" line="2738"/>
+  <Field id="_4795" name="_M_amonth11" type="_2780" offset="1504" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth11E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth11" location="f29:2739" file="f29" line="2739"/>
+  <Field id="_4796" name="_M_amonth12" type="_2780" offset="1536" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE11_M_amonth12E" demangled="std::__timepunct_cache<wchar_t>::_M_amonth12" location="f29:2740" file="f29" line="2740"/>
+  <Field id="_4797" name="_M_allocated" type="_3949" offset="1568" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE12_M_allocatedE" demangled="std::__timepunct_cache<wchar_t>::_M_allocated" location="f29:2742" file="f29" line="2742"/>
+  <Constructor id="_4798" name="__timepunct_cache" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwEC1Ej *INTERNAL* " demangled="std::__timepunct_cache<wchar_t>::__timepunct_cache(unsigned)" location="f29:2744" file="f29" line="2744" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:2744" file="f29" line="2744" default="0"/>
+  </Constructor>
+  <Destructor id="_4799" name="__timepunct_cache" virtual="1" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwED1Ev *INTERNAL* " demangled="std::__timepunct_cache<wchar_t>::~__timepunct_cache()" location="f29:2776" file="f29" line="2776" extern="1">
+  </Destructor>
+  <Method id="_4800" name="_M_cache" returns="_1194" context="_2086" access="public" mangled="_ZNSt17__timepunct_cacheIwE8_M_cacheERKSt6locale" demangled="std::__timepunct_cache<wchar_t>::_M_cache(std::locale const&)" location="f29:2764" file="f29" line="2764" extern="1">
+    <Argument name="__loc" type="_5517" location="f29:2764" file="f29" line="2764"/>
+  </Method>
+  <OperatorMethod id="_4801" name="=" returns="_11395" context="_2086" access="private" mangled="_ZNSt17__timepunct_cacheIwEaSERKS0_" demangled="std::__timepunct_cache<wchar_t>::operator=(std::__timepunct_cache<wchar_t> const&)" location="f29:2768" file="f29" line="2768" extern="1">
+    <Argument type="_11396" location="f29:2768" file="f29" line="2768"/>
+  </OperatorMethod>
+  <Constructor id="_4802" name="__timepunct_cache" explicit="1" context="_2086" access="private" mangled="_ZNSt17__timepunct_cacheIwEC1ERKS0_ *INTERNAL* " demangled="std::__timepunct_cache<wchar_t>::__timepunct_cache(std::__timepunct_cache<wchar_t> const&)" location="f29:2771" file="f29" line="2771" extern="1">
+    <Argument type="_11396" location="f29:2771" file="f29" line="2771"/>
+  </Constructor>
+  <Variable id="_4803" name="_S_timezones" type="_11397" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE12_S_timezonesE" demangled="std::__timepunct_cache<char>::_S_timezones" location="f29:2786" file="f29" line="2786" extern="1"/>
+  <Field id="_4804" name="_M_date_format" type="_2749" offset="64" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE14_M_date_formatE" demangled="std::__timepunct_cache<char>::_M_date_format" location="f29:2686" file="f29" line="2686"/>
+  <Field id="_4805" name="_M_date_era_format" type="_2749" offset="96" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE18_M_date_era_formatE" demangled="std::__timepunct_cache<char>::_M_date_era_format" location="f29:2687" file="f29" line="2687"/>
+  <Field id="_4806" name="_M_time_format" type="_2749" offset="128" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE14_M_time_formatE" demangled="std::__timepunct_cache<char>::_M_time_format" location="f29:2688" file="f29" line="2688"/>
+  <Field id="_4807" name="_M_time_era_format" type="_2749" offset="160" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE18_M_time_era_formatE" demangled="std::__timepunct_cache<char>::_M_time_era_format" location="f29:2689" file="f29" line="2689"/>
+  <Field id="_4808" name="_M_date_time_format" type="_2749" offset="192" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE19_M_date_time_formatE" demangled="std::__timepunct_cache<char>::_M_date_time_format" location="f29:2690" file="f29" line="2690"/>
+  <Field id="_4809" name="_M_date_time_era_format" type="_2749" offset="224" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE23_M_date_time_era_formatE" demangled="std::__timepunct_cache<char>::_M_date_time_era_format" location="f29:2691" file="f29" line="2691"/>
+  <Field id="_4810" name="_M_am" type="_2749" offset="256" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE5_M_amE" demangled="std::__timepunct_cache<char>::_M_am" location="f29:2692" file="f29" line="2692"/>
+  <Field id="_4811" name="_M_pm" type="_2749" offset="288" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE5_M_pmE" demangled="std::__timepunct_cache<char>::_M_pm" location="f29:2693" file="f29" line="2693"/>
+  <Field id="_4812" name="_M_am_pm_format" type="_2749" offset="320" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE15_M_am_pm_formatE" demangled="std::__timepunct_cache<char>::_M_am_pm_format" location="f29:2694" file="f29" line="2694"/>
+  <Field id="_4813" name="_M_day1" type="_2749" offset="352" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE7_M_day1E" demangled="std::__timepunct_cache<char>::_M_day1" location="f29:2697" file="f29" line="2697"/>
+  <Field id="_4814" name="_M_day2" type="_2749" offset="384" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE7_M_day2E" demangled="std::__timepunct_cache<char>::_M_day2" location="f29:2698" file="f29" line="2698"/>
+  <Field id="_4815" name="_M_day3" type="_2749" offset="416" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE7_M_day3E" demangled="std::__timepunct_cache<char>::_M_day3" location="f29:2699" file="f29" line="2699"/>
+  <Field id="_4816" name="_M_day4" type="_2749" offset="448" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE7_M_day4E" demangled="std::__timepunct_cache<char>::_M_day4" location="f29:2700" file="f29" line="2700"/>
+  <Field id="_4817" name="_M_day5" type="_2749" offset="480" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE7_M_day5E" demangled="std::__timepunct_cache<char>::_M_day5" location="f29:2701" file="f29" line="2701"/>
+  <Field id="_4818" name="_M_day6" type="_2749" offset="512" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE7_M_day6E" demangled="std::__timepunct_cache<char>::_M_day6" location="f29:2702" file="f29" line="2702"/>
+  <Field id="_4819" name="_M_day7" type="_2749" offset="544" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE7_M_day7E" demangled="std::__timepunct_cache<char>::_M_day7" location="f29:2703" file="f29" line="2703"/>
+  <Field id="_4820" name="_M_aday1" type="_2749" offset="576" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE8_M_aday1E" demangled="std::__timepunct_cache<char>::_M_aday1" location="f29:2706" file="f29" line="2706"/>
+  <Field id="_4821" name="_M_aday2" type="_2749" offset="608" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE8_M_aday2E" demangled="std::__timepunct_cache<char>::_M_aday2" location="f29:2707" file="f29" line="2707"/>
+  <Field id="_4822" name="_M_aday3" type="_2749" offset="640" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE8_M_aday3E" demangled="std::__timepunct_cache<char>::_M_aday3" location="f29:2708" file="f29" line="2708"/>
+  <Field id="_4823" name="_M_aday4" type="_2749" offset="672" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE8_M_aday4E" demangled="std::__timepunct_cache<char>::_M_aday4" location="f29:2709" file="f29" line="2709"/>
+  <Field id="_4824" name="_M_aday5" type="_2749" offset="704" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE8_M_aday5E" demangled="std::__timepunct_cache<char>::_M_aday5" location="f29:2710" file="f29" line="2710"/>
+  <Field id="_4825" name="_M_aday6" type="_2749" offset="736" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE8_M_aday6E" demangled="std::__timepunct_cache<char>::_M_aday6" location="f29:2711" file="f29" line="2711"/>
+  <Field id="_4826" name="_M_aday7" type="_2749" offset="768" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE8_M_aday7E" demangled="std::__timepunct_cache<char>::_M_aday7" location="f29:2712" file="f29" line="2712"/>
+  <Field id="_4827" name="_M_month01" type="_2749" offset="800" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month01E" demangled="std::__timepunct_cache<char>::_M_month01" location="f29:2715" file="f29" line="2715"/>
+  <Field id="_4828" name="_M_month02" type="_2749" offset="832" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month02E" demangled="std::__timepunct_cache<char>::_M_month02" location="f29:2716" file="f29" line="2716"/>
+  <Field id="_4829" name="_M_month03" type="_2749" offset="864" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month03E" demangled="std::__timepunct_cache<char>::_M_month03" location="f29:2717" file="f29" line="2717"/>
+  <Field id="_4830" name="_M_month04" type="_2749" offset="896" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month04E" demangled="std::__timepunct_cache<char>::_M_month04" location="f29:2718" file="f29" line="2718"/>
+  <Field id="_4831" name="_M_month05" type="_2749" offset="928" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month05E" demangled="std::__timepunct_cache<char>::_M_month05" location="f29:2719" file="f29" line="2719"/>
+  <Field id="_4832" name="_M_month06" type="_2749" offset="960" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month06E" demangled="std::__timepunct_cache<char>::_M_month06" location="f29:2720" file="f29" line="2720"/>
+  <Field id="_4833" name="_M_month07" type="_2749" offset="992" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month07E" demangled="std::__timepunct_cache<char>::_M_month07" location="f29:2721" file="f29" line="2721"/>
+  <Field id="_4834" name="_M_month08" type="_2749" offset="1024" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month08E" demangled="std::__timepunct_cache<char>::_M_month08" location="f29:2722" file="f29" line="2722"/>
+  <Field id="_4835" name="_M_month09" type="_2749" offset="1056" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month09E" demangled="std::__timepunct_cache<char>::_M_month09" location="f29:2723" file="f29" line="2723"/>
+  <Field id="_4836" name="_M_month10" type="_2749" offset="1088" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month10E" demangled="std::__timepunct_cache<char>::_M_month10" location="f29:2724" file="f29" line="2724"/>
+  <Field id="_4837" name="_M_month11" type="_2749" offset="1120" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month11E" demangled="std::__timepunct_cache<char>::_M_month11" location="f29:2725" file="f29" line="2725"/>
+  <Field id="_4838" name="_M_month12" type="_2749" offset="1152" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE10_M_month12E" demangled="std::__timepunct_cache<char>::_M_month12" location="f29:2726" file="f29" line="2726"/>
+  <Field id="_4839" name="_M_amonth01" type="_2749" offset="1184" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth01E" demangled="std::__timepunct_cache<char>::_M_amonth01" location="f29:2729" file="f29" line="2729"/>
+  <Field id="_4840" name="_M_amonth02" type="_2749" offset="1216" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth02E" demangled="std::__timepunct_cache<char>::_M_amonth02" location="f29:2730" file="f29" line="2730"/>
+  <Field id="_4841" name="_M_amonth03" type="_2749" offset="1248" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth03E" demangled="std::__timepunct_cache<char>::_M_amonth03" location="f29:2731" file="f29" line="2731"/>
+  <Field id="_4842" name="_M_amonth04" type="_2749" offset="1280" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth04E" demangled="std::__timepunct_cache<char>::_M_amonth04" location="f29:2732" file="f29" line="2732"/>
+  <Field id="_4843" name="_M_amonth05" type="_2749" offset="1312" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth05E" demangled="std::__timepunct_cache<char>::_M_amonth05" location="f29:2733" file="f29" line="2733"/>
+  <Field id="_4844" name="_M_amonth06" type="_2749" offset="1344" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth06E" demangled="std::__timepunct_cache<char>::_M_amonth06" location="f29:2734" file="f29" line="2734"/>
+  <Field id="_4845" name="_M_amonth07" type="_2749" offset="1376" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth07E" demangled="std::__timepunct_cache<char>::_M_amonth07" location="f29:2735" file="f29" line="2735"/>
+  <Field id="_4846" name="_M_amonth08" type="_2749" offset="1408" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth08E" demangled="std::__timepunct_cache<char>::_M_amonth08" location="f29:2736" file="f29" line="2736"/>
+  <Field id="_4847" name="_M_amonth09" type="_2749" offset="1440" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth09E" demangled="std::__timepunct_cache<char>::_M_amonth09" location="f29:2737" file="f29" line="2737"/>
+  <Field id="_4848" name="_M_amonth10" type="_2749" offset="1472" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth10E" demangled="std::__timepunct_cache<char>::_M_amonth10" location="f29:2738" file="f29" line="2738"/>
+  <Field id="_4849" name="_M_amonth11" type="_2749" offset="1504" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth11E" demangled="std::__timepunct_cache<char>::_M_amonth11" location="f29:2739" file="f29" line="2739"/>
+  <Field id="_4850" name="_M_amonth12" type="_2749" offset="1536" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE11_M_amonth12E" demangled="std::__timepunct_cache<char>::_M_amonth12" location="f29:2740" file="f29" line="2740"/>
+  <Field id="_4851" name="_M_allocated" type="_3949" offset="1568" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE12_M_allocatedE" demangled="std::__timepunct_cache<char>::_M_allocated" location="f29:2742" file="f29" line="2742"/>
+  <Constructor id="_4852" name="__timepunct_cache" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcEC1Ej *INTERNAL* " demangled="std::__timepunct_cache<char>::__timepunct_cache(unsigned)" location="f29:2744" file="f29" line="2744" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:2744" file="f29" line="2744" default="0"/>
+  </Constructor>
+  <Destructor id="_4853" name="__timepunct_cache" virtual="1" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcED1Ev *INTERNAL* " demangled="std::__timepunct_cache<char>::~__timepunct_cache()" location="f29:2776" file="f29" line="2776" extern="1">
+  </Destructor>
+  <Method id="_4854" name="_M_cache" returns="_1194" context="_2087" access="public" mangled="_ZNSt17__timepunct_cacheIcE8_M_cacheERKSt6locale" demangled="std::__timepunct_cache<char>::_M_cache(std::locale const&)" location="f29:2764" file="f29" line="2764" extern="1">
+    <Argument name="__loc" type="_5517" location="f29:2764" file="f29" line="2764"/>
+  </Method>
+  <OperatorMethod id="_4855" name="=" returns="_11398" context="_2087" access="private" mangled="_ZNSt17__timepunct_cacheIcEaSERKS0_" demangled="std::__timepunct_cache<char>::operator=(std::__timepunct_cache<char> const&)" location="f29:2768" file="f29" line="2768" extern="1">
+    <Argument type="_11399" location="f29:2768" file="f29" line="2768"/>
+  </OperatorMethod>
+  <Constructor id="_4856" name="__timepunct_cache" explicit="1" context="_2087" access="private" mangled="_ZNSt17__timepunct_cacheIcEC1ERKS0_ *INTERNAL* " demangled="std::__timepunct_cache<char>::__timepunct_cache(std::__timepunct_cache<char> const&)" location="f29:2771" file="f29" line="2771" extern="1">
+    <Argument type="_11399" location="f29:2771" file="f29" line="2771"/>
+  </Constructor>
+  <Variable id="_4857" name="_S_atoms_out" type="_2749" context="_2090" access="public" mangled="_ZNSt10__num_base12_S_atoms_outE" demangled="std::__num_base::_S_atoms_out" location="f29:1561" file="f29" line="1561" extern="1"/>
+  <Variable id="_4858" name="_S_atoms_in" type="_2749" context="_2090" access="public" mangled="_ZNSt10__num_base11_S_atoms_inE" demangled="std::__num_base::_S_atoms_in" location="f29:1565" file="f29" line="1565" extern="1"/>
+  <Enumeration id="_4859" name="._82" context="_2090" access="public" location="f29:1542" file="f29" line="1542" artificial="1" size="32" align="32">
+    <EnumValue name="_S_ominus" init="0"/>
+    <EnumValue name="_S_oplus" init="1"/>
+    <EnumValue name="_S_ox" init="2"/>
+    <EnumValue name="_S_oX" init="3"/>
+    <EnumValue name="_S_odigits" init="4"/>
+    <EnumValue name="_S_odigits_end" init="20"/>
+    <EnumValue name="_S_oudigits" init="20"/>
+    <EnumValue name="_S_oudigits_end" init="36"/>
+    <EnumValue name="_S_oe" init="18"/>
+    <EnumValue name="_S_oE" init="34"/>
+    <EnumValue name="_S_oend" init="36"/>
+  </Enumeration>
+  <Enumeration id="_4860" name="._83" context="_2090" access="public" location="f29:1568" file="f29" line="1568" artificial="1" size="32" align="32">
+    <EnumValue name="_S_iminus" init="0"/>
+    <EnumValue name="_S_iplus" init="1"/>
+    <EnumValue name="_S_ix" init="2"/>
+    <EnumValue name="_S_iX" init="3"/>
+    <EnumValue name="_S_izero" init="4"/>
+    <EnumValue name="_S_ie" init="18"/>
+    <EnumValue name="_S_iE" init="24"/>
+    <EnumValue name="_S_iend" init="26"/>
+  </Enumeration>
+  <Constructor id="_4861" name="__num_base" artificial="1" throw="" context="_2090" access="public" mangled="_ZNSt10__num_baseC1ERKS_ *INTERNAL* " demangled="std::__num_base::__num_base(std::__num_base const&)" location="f29:1537" file="f29" line="1537" inline="1">
+    <Argument name="_ctor_arg" type="_11400" location="f29:1537" file="f29" line="1537"/>
+  </Constructor>
+  <Constructor id="_4862" name="__num_base" explicit="1" artificial="1" throw="" context="_2090" access="public" mangled="_ZNSt10__num_baseC1Ev *INTERNAL* " demangled="std::__num_base::__num_base()" location="f29:1537" file="f29" line="1537" inline="1"/>
+  <Method id="_4863" name="_S_format_float" returns="_1194" static="1" context="_2090" access="public" mangled="_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc" demangled="std::__num_base::_S_format_float(std::ios_base const&, char*, char)" location="f29:1582" file="f29" line="1582" extern="1">
+    <Argument name="__io" type="_11401" location="f29:1582" file="f29" line="1582"/>
+    <Argument name="__fptr" type="_1149" location="f29:1582" file="f29" line="1582"/>
+    <Argument name="__mod" type="_2961" location="f29:1582" file="f29" line="1582"/>
+  </Method>
+  <Enumeration id="_4864" name="result" context="_2358" access="public" location="f30:52" file="f30" line="52" artificial="1" size="32" align="32">
+    <EnumValue name="ok" init="0"/>
+    <EnumValue name="partial" init="1"/>
+    <EnumValue name="error" init="2"/>
+    <EnumValue name="noconv" init="3"/>
+  </Enumeration>
+  <Typedef id="_4865" name="result" type="_4864" context="_2091" access="public" location="f30:75" file="f30" line="75"/>
+  <Typedef id="_4866" name="intern_type" type="_2786" context="_2091" access="public" location="f30:76" file="f30" line="76"/>
+  <Typedef id="_4867" name="extern_type" type="_2961" context="_2091" access="public" location="f30:77" file="f30" line="77"/>
+  <Typedef id="_4868" name="state_type" type="_767" context="_2091" access="public" location="f30:78" file="f30" line="78"/>
+  <Constructor id="_4869" name="__codecvt_abstract_base" artificial="1" context="_2091" access="public" mangled="_ZNSt23__codecvt_abstract_baseIwc11__mbstate_tEC1ERKS1_ *INTERNAL* " demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::__codecvt_abstract_base(std::__codecvt_abstract_base<wchar_t, char, __mbstate_t> const&)" location="f30:72" file="f30" line="72" inline="1">
+    <Argument name="_ctor_arg" type="_11402" location="f30:72" file="f30" line="72"/>
+  </Constructor>
+  <Method id="_4870" name="out" returns="_4864" const="1" context="_2091" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE3outERS0_PKwS4_RS4_PcS6_RS6_" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::out(__mbstate_t&, wchar_t const*, wchar_t const*, wchar_t const*&, char*, char*, char*&) const" location="f30:122" file="f30" line="122" extern="1" inline="1">
+    <Argument name="__state" type="_11403" location="f30:122" file="f30" line="122"/>
+    <Argument name="__from" type="_2780" location="f30:122" file="f30" line="122"/>
+    <Argument name="__from_end" type="_2780" location="f30:122" file="f30" line="122"/>
+    <Argument name="__from_next" type="_11404" location="f30:122" file="f30" line="122"/>
+    <Argument name="__to" type="_1149" location="f30:122" file="f30" line="122"/>
+    <Argument name="__to_end" type="_1149" location="f30:122" file="f30" line="122"/>
+    <Argument name="__to_next" type="_7533" location="f30:122" file="f30" line="122"/>
+  </Method>
+  <Method id="_4871" name="unshift" returns="_4864" const="1" context="_2091" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE7unshiftERS0_PcS3_RS3_" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::unshift(__mbstate_t&, char*, char*, char*&) const" location="f30:159" file="f30" line="159" extern="1" inline="1">
+    <Argument name="__state" type="_11403" location="f30:159" file="f30" line="159"/>
+    <Argument name="__to" type="_1149" location="f30:159" file="f30" line="159"/>
+    <Argument name="__to_end" type="_1149" location="f30:159" file="f30" line="159"/>
+    <Argument name="__to_next" type="_7533" location="f30:159" file="f30" line="159"/>
+  </Method>
+  <Method id="_4872" name="in" returns="_4864" const="1" context="_2091" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE2inERS0_PKcS4_RS4_PwS6_RS6_" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::in(__mbstate_t&, char const*, char const*, char const*&, wchar_t*, wchar_t*, wchar_t*&) const" location="f30:202" file="f30" line="202" extern="1" inline="1">
+    <Argument name="__state" type="_11403" location="f30:202" file="f30" line="202"/>
+    <Argument name="__from" type="_2749" location="f30:202" file="f30" line="202"/>
+    <Argument name="__from_end" type="_2749" location="f30:202" file="f30" line="202"/>
+    <Argument name="__from_next" type="_11405" location="f30:202" file="f30" line="202"/>
+    <Argument name="__to" type="_2778" location="f30:202" file="f30" line="202"/>
+    <Argument name="__to_end" type="_2778" location="f30:202" file="f30" line="202"/>
+    <Argument name="__to_next" type="_11406" location="f30:202" file="f30" line="202"/>
+  </Method>
+  <Method id="_4873" name="encoding" returns="_503" const="1" throw="" context="_2091" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE8encodingEv" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::encoding() const" location="f30:209" file="f30" line="209" extern="1" inline="1"/>
+  <Method id="_4874" name="always_noconv" returns="_3949" const="1" throw="" context="_2091" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE13always_noconvEv" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::always_noconv() const" location="f30:213" file="f30" line="213" extern="1" inline="1"/>
+  <Method id="_4875" name="length" returns="_503" const="1" context="_2091" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE6lengthERS0_PKcS4_j" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::length(__mbstate_t&, char const*, char const*, unsigned) const" location="f30:218" file="f30" line="218" extern="1" inline="1">
+    <Argument name="__state" type="_11403" location="f30:218" file="f30" line="218"/>
+    <Argument name="__from" type="_2749" location="f30:218" file="f30" line="218"/>
+    <Argument name="__end" type="_2749" location="f30:218" file="f30" line="218"/>
+    <Argument name="__max" type="_1698" location="f30:218" file="f30" line="218"/>
+  </Method>
+  <Method id="_4876" name="max_length" returns="_503" const="1" throw="" context="_2091" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE10max_lengthEv" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::max_length() const" location="f30:222" file="f30" line="222" extern="1" inline="1"/>
+  <Constructor id="_4877" name="__codecvt_abstract_base" explicit="1" context="_2091" access="protected" mangled="_ZNSt23__codecvt_abstract_baseIwc11__mbstate_tEC1Ej *INTERNAL* " demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::__codecvt_abstract_base(unsigned)" location="f30:226" file="f30" line="226" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f30:226" file="f30" line="226" default="0"/>
+  </Constructor>
+  <Destructor id="_4878" name="__codecvt_abstract_base" virtual="1" context="_2091" access="protected" mangled="_ZNSt23__codecvt_abstract_baseIwc11__mbstate_tED1Ev *INTERNAL* " demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::~__codecvt_abstract_base()" location="f30:229" file="f30" line="229" extern="1" inline="1">
+  </Destructor>
+  <Method id="_4879" name="do_out" returns="_4864" const="1" virtual="1" pure_virtual="1" context="_2091" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::do_out(__mbstate_t&, wchar_t const*, wchar_t const*, wchar_t const*&, char*, char*, char*&) const" location="f30:242" file="f30" line="242" extern="1">
+    <Argument name="__state" type="_11403" location="f30:242" file="f30" line="242"/>
+    <Argument name="__from" type="_2780" location="f30:242" file="f30" line="242"/>
+    <Argument name="__from_end" type="_2780" location="f30:242" file="f30" line="242"/>
+    <Argument name="__from_next" type="_11404" location="f30:242" file="f30" line="242"/>
+    <Argument name="__to" type="_1149" location="f30:242" file="f30" line="242"/>
+    <Argument name="__to_end" type="_1149" location="f30:242" file="f30" line="242"/>
+    <Argument name="__to_next" type="_7533" location="f30:242" file="f30" line="242"/>
+  </Method>
+  <Method id="_4880" name="do_unshift" returns="_4864" const="1" virtual="1" pure_virtual="1" context="_2091" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const" location="f30:246" file="f30" line="246" extern="1">
+    <Argument name="__state" type="_11403" location="f30:246" file="f30" line="246"/>
+    <Argument name="__to" type="_1149" location="f30:246" file="f30" line="246"/>
+    <Argument name="__to_end" type="_1149" location="f30:246" file="f30" line="246"/>
+    <Argument name="__to_next" type="_7533" location="f30:246" file="f30" line="246"/>
+  </Method>
+  <Method id="_4881" name="do_in" returns="_4864" const="1" virtual="1" pure_virtual="1" context="_2091" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::do_in(__mbstate_t&, char const*, char const*, char const*&, wchar_t*, wchar_t*, wchar_t*&) const" location="f30:252" file="f30" line="252" extern="1">
+    <Argument name="__state" type="_11403" location="f30:252" file="f30" line="252"/>
+    <Argument name="__from" type="_2749" location="f30:252" file="f30" line="252"/>
+    <Argument name="__from_end" type="_2749" location="f30:252" file="f30" line="252"/>
+    <Argument name="__from_next" type="_11405" location="f30:252" file="f30" line="252"/>
+    <Argument name="__to" type="_2778" location="f30:252" file="f30" line="252"/>
+    <Argument name="__to_end" type="_2778" location="f30:252" file="f30" line="252"/>
+    <Argument name="__to_next" type="_11406" location="f30:252" file="f30" line="252"/>
+  </Method>
+  <Method id="_4882" name="do_encoding" returns="_503" const="1" virtual="1" pure_virtual="1" throw="" context="_2091" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE11do_encodingEv" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::do_encoding() const" location="f30:255" file="f30" line="255" extern="1"/>
+  <Method id="_4883" name="do_always_noconv" returns="_3949" const="1" virtual="1" pure_virtual="1" throw="" context="_2091" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE16do_always_noconvEv" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::do_always_noconv() const" location="f30:258" file="f30" line="258" extern="1"/>
+  <Method id="_4884" name="do_length" returns="_503" const="1" virtual="1" pure_virtual="1" context="_2091" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE9do_lengthERS0_PKcS4_j" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::do_length(__mbstate_t&, char const*, char const*, unsigned) const" location="f30:262" file="f30" line="262" extern="1">
+    <Argument type="_11403" location="f30:262" file="f30" line="262"/>
+    <Argument name="__from" type="_2749" location="f30:262" file="f30" line="262"/>
+    <Argument name="__end" type="_2749" location="f30:262" file="f30" line="262"/>
+    <Argument name="__max" type="_1698" location="f30:262" file="f30" line="262"/>
+  </Method>
+  <Method id="_4885" name="do_max_length" returns="_503" const="1" virtual="1" pure_virtual="1" throw="" context="_2091" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE13do_max_lengthEv" demangled="std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::do_max_length() const" location="f30:265" file="f30" line="265" extern="1"/>
+  <Typedef id="_4886" name="result" type="_4864" context="_2092" access="public" location="f30:75" file="f30" line="75"/>
+  <Typedef id="_4887" name="intern_type" type="_2961" context="_2092" access="public" location="f30:76" file="f30" line="76"/>
+  <Typedef id="_4888" name="extern_type" type="_2961" context="_2092" access="public" location="f30:77" file="f30" line="77"/>
+  <Typedef id="_4889" name="state_type" type="_767" context="_2092" access="public" location="f30:78" file="f30" line="78"/>
+  <Constructor id="_4890" name="__codecvt_abstract_base" artificial="1" context="_2092" access="public" mangled="_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tEC1ERKS1_ *INTERNAL* " demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::__codecvt_abstract_base(std::__codecvt_abstract_base<char, char, __mbstate_t> const&)" location="f30:72" file="f30" line="72" inline="1">
+    <Argument name="_ctor_arg" type="_11407" location="f30:72" file="f30" line="72"/>
+  </Constructor>
+  <Method id="_4891" name="out" returns="_4864" const="1" context="_2092" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE3outERS0_PKcS4_RS4_PcS6_RS6_" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::out(__mbstate_t&, char const*, char const*, char const*&, char*, char*, char*&) const" location="f30:122" file="f30" line="122" extern="1" inline="1">
+    <Argument name="__state" type="_11403" location="f30:122" file="f30" line="122"/>
+    <Argument name="__from" type="_2749" location="f30:122" file="f30" line="122"/>
+    <Argument name="__from_end" type="_2749" location="f30:122" file="f30" line="122"/>
+    <Argument name="__from_next" type="_11405" location="f30:122" file="f30" line="122"/>
+    <Argument name="__to" type="_1149" location="f30:122" file="f30" line="122"/>
+    <Argument name="__to_end" type="_1149" location="f30:122" file="f30" line="122"/>
+    <Argument name="__to_next" type="_7533" location="f30:122" file="f30" line="122"/>
+  </Method>
+  <Method id="_4892" name="unshift" returns="_4864" const="1" context="_2092" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE7unshiftERS0_PcS3_RS3_" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::unshift(__mbstate_t&, char*, char*, char*&) const" location="f30:159" file="f30" line="159" extern="1" inline="1">
+    <Argument name="__state" type="_11403" location="f30:159" file="f30" line="159"/>
+    <Argument name="__to" type="_1149" location="f30:159" file="f30" line="159"/>
+    <Argument name="__to_end" type="_1149" location="f30:159" file="f30" line="159"/>
+    <Argument name="__to_next" type="_7533" location="f30:159" file="f30" line="159"/>
+  </Method>
+  <Method id="_4893" name="in" returns="_4864" const="1" context="_2092" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE2inERS0_PKcS4_RS4_PcS6_RS6_" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::in(__mbstate_t&, char const*, char const*, char const*&, char*, char*, char*&) const" location="f30:202" file="f30" line="202" extern="1" inline="1">
+    <Argument name="__state" type="_11403" location="f30:202" file="f30" line="202"/>
+    <Argument name="__from" type="_2749" location="f30:202" file="f30" line="202"/>
+    <Argument name="__from_end" type="_2749" location="f30:202" file="f30" line="202"/>
+    <Argument name="__from_next" type="_11405" location="f30:202" file="f30" line="202"/>
+    <Argument name="__to" type="_1149" location="f30:202" file="f30" line="202"/>
+    <Argument name="__to_end" type="_1149" location="f30:202" file="f30" line="202"/>
+    <Argument name="__to_next" type="_7533" location="f30:202" file="f30" line="202"/>
+  </Method>
+  <Method id="_4894" name="encoding" returns="_503" const="1" throw="" context="_2092" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE8encodingEv" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::encoding() const" location="f30:209" file="f30" line="209" extern="1" inline="1"/>
+  <Method id="_4895" name="always_noconv" returns="_3949" const="1" throw="" context="_2092" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE13always_noconvEv" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::always_noconv() const" location="f30:213" file="f30" line="213" extern="1" inline="1"/>
+  <Method id="_4896" name="length" returns="_503" const="1" context="_2092" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE6lengthERS0_PKcS4_j" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::length(__mbstate_t&, char const*, char const*, unsigned) const" location="f30:218" file="f30" line="218" extern="1" inline="1">
+    <Argument name="__state" type="_11403" location="f30:218" file="f30" line="218"/>
+    <Argument name="__from" type="_2749" location="f30:218" file="f30" line="218"/>
+    <Argument name="__end" type="_2749" location="f30:218" file="f30" line="218"/>
+    <Argument name="__max" type="_1698" location="f30:218" file="f30" line="218"/>
+  </Method>
+  <Method id="_4897" name="max_length" returns="_503" const="1" throw="" context="_2092" access="public" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE10max_lengthEv" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::max_length() const" location="f30:222" file="f30" line="222" extern="1" inline="1"/>
+  <Constructor id="_4898" name="__codecvt_abstract_base" explicit="1" context="_2092" access="protected" mangled="_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tEC1Ej *INTERNAL* " demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::__codecvt_abstract_base(unsigned)" location="f30:226" file="f30" line="226" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f30:226" file="f30" line="226" default="0"/>
+  </Constructor>
+  <Destructor id="_4899" name="__codecvt_abstract_base" virtual="1" context="_2092" access="protected" mangled="_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tED1Ev *INTERNAL* " demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::~__codecvt_abstract_base()" location="f30:229" file="f30" line="229" extern="1" inline="1">
+  </Destructor>
+  <Method id="_4900" name="do_out" returns="_4864" const="1" virtual="1" pure_virtual="1" context="_2092" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::do_out(__mbstate_t&, char const*, char const*, char const*&, char*, char*, char*&) const" location="f30:242" file="f30" line="242" extern="1">
+    <Argument name="__state" type="_11403" location="f30:242" file="f30" line="242"/>
+    <Argument name="__from" type="_2749" location="f30:242" file="f30" line="242"/>
+    <Argument name="__from_end" type="_2749" location="f30:242" file="f30" line="242"/>
+    <Argument name="__from_next" type="_11405" location="f30:242" file="f30" line="242"/>
+    <Argument name="__to" type="_1149" location="f30:242" file="f30" line="242"/>
+    <Argument name="__to_end" type="_1149" location="f30:242" file="f30" line="242"/>
+    <Argument name="__to_next" type="_7533" location="f30:242" file="f30" line="242"/>
+  </Method>
+  <Method id="_4901" name="do_unshift" returns="_4864" const="1" virtual="1" pure_virtual="1" context="_2092" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const" location="f30:246" file="f30" line="246" extern="1">
+    <Argument name="__state" type="_11403" location="f30:246" file="f30" line="246"/>
+    <Argument name="__to" type="_1149" location="f30:246" file="f30" line="246"/>
+    <Argument name="__to_end" type="_1149" location="f30:246" file="f30" line="246"/>
+    <Argument name="__to_next" type="_7533" location="f30:246" file="f30" line="246"/>
+  </Method>
+  <Method id="_4902" name="do_in" returns="_4864" const="1" virtual="1" pure_virtual="1" context="_2092" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::do_in(__mbstate_t&, char const*, char const*, char const*&, char*, char*, char*&) const" location="f30:252" file="f30" line="252" extern="1">
+    <Argument name="__state" type="_11403" location="f30:252" file="f30" line="252"/>
+    <Argument name="__from" type="_2749" location="f30:252" file="f30" line="252"/>
+    <Argument name="__from_end" type="_2749" location="f30:252" file="f30" line="252"/>
+    <Argument name="__from_next" type="_11405" location="f30:252" file="f30" line="252"/>
+    <Argument name="__to" type="_1149" location="f30:252" file="f30" line="252"/>
+    <Argument name="__to_end" type="_1149" location="f30:252" file="f30" line="252"/>
+    <Argument name="__to_next" type="_7533" location="f30:252" file="f30" line="252"/>
+  </Method>
+  <Method id="_4903" name="do_encoding" returns="_503" const="1" virtual="1" pure_virtual="1" throw="" context="_2092" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE11do_encodingEv" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::do_encoding() const" location="f30:255" file="f30" line="255" extern="1"/>
+  <Method id="_4904" name="do_always_noconv" returns="_3949" const="1" virtual="1" pure_virtual="1" throw="" context="_2092" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE16do_always_noconvEv" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::do_always_noconv() const" location="f30:258" file="f30" line="258" extern="1"/>
+  <Method id="_4905" name="do_length" returns="_503" const="1" virtual="1" pure_virtual="1" context="_2092" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE9do_lengthERS0_PKcS4_j" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::do_length(__mbstate_t&, char const*, char const*, unsigned) const" location="f30:262" file="f30" line="262" extern="1">
+    <Argument type="_11403" location="f30:262" file="f30" line="262"/>
+    <Argument name="__from" type="_2749" location="f30:262" file="f30" line="262"/>
+    <Argument name="__end" type="_2749" location="f30:262" file="f30" line="262"/>
+    <Argument name="__max" type="_1698" location="f30:262" file="f30" line="262"/>
+  </Method>
+  <Method id="_4906" name="do_max_length" returns="_503" const="1" virtual="1" pure_virtual="1" throw="" context="_2092" access="protected" mangled="_ZNKSt23__codecvt_abstract_baseIcc11__mbstate_tE13do_max_lengthEv" demangled="std::__codecvt_abstract_base<char, char, __mbstate_t>::do_max_length() const" location="f30:265" file="f30" line="265" extern="1"/>
+  <Typedef id="_4907" name="char_type" type="_2786" context="_2093" access="public" location="f29:150" file="f29" line="150"/>
+  <Constructor id="_4908" name="__ctype_abstract_base" artificial="1" context="_2093" access="public" mangled="_ZNSt21__ctype_abstract_baseIwEC1ERKS0_ *INTERNAL* " demangled="std::__ctype_abstract_base<wchar_t>::__ctype_abstract_base(std::__ctype_abstract_base<wchar_t> const&)" location="f29:146" file="f29" line="146" inline="1">
+    <Argument name="_ctor_arg" type="_11408" location="f29:146" file="f29" line="146"/>
+  </Constructor>
+  <Method id="_4909" name="is" returns="_3949" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE2isEtw" demangled="std::__ctype_abstract_base<wchar_t>::is(unsigned short, wchar_t) const" location="f29:164" file="f29" line="164" extern="1" inline="1">
+    <Argument name="__m" type="_1199" location="f29:164" file="f29" line="164"/>
+    <Argument name="__c" type="_2786" location="f29:164" file="f29" line="164"/>
+  </Method>
+  <Method id="_4910" name="is" returns="_2780" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE2isEPKwS2_Pt" demangled="std::__ctype_abstract_base<wchar_t>::is(wchar_t const*, wchar_t const*, unsigned short*) const" location="f29:181" file="f29" line="181" extern="1" inline="1">
+    <Argument name="__lo" type="_2780" location="f29:181" file="f29" line="181"/>
+    <Argument name="__hi" type="_2780" location="f29:181" file="f29" line="181"/>
+    <Argument name="__vec" type="_3092" location="f29:181" file="f29" line="181"/>
+  </Method>
+  <Method id="_4911" name="scan_is" returns="_2780" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE7scan_isEtPKwS2_" demangled="std::__ctype_abstract_base<wchar_t>::scan_is(unsigned short, wchar_t const*, wchar_t const*) const" location="f29:197" file="f29" line="197" extern="1" inline="1">
+    <Argument name="__m" type="_1199" location="f29:197" file="f29" line="197"/>
+    <Argument name="__lo" type="_2780" location="f29:197" file="f29" line="197"/>
+    <Argument name="__hi" type="_2780" location="f29:197" file="f29" line="197"/>
+  </Method>
+  <Method id="_4912" name="scan_not" returns="_2780" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE8scan_notEtPKwS2_" demangled="std::__ctype_abstract_base<wchar_t>::scan_not(unsigned short, wchar_t const*, wchar_t const*) const" location="f29:213" file="f29" line="213" extern="1" inline="1">
+    <Argument name="__m" type="_1199" location="f29:213" file="f29" line="213"/>
+    <Argument name="__lo" type="_2780" location="f29:213" file="f29" line="213"/>
+    <Argument name="__hi" type="_2780" location="f29:213" file="f29" line="213"/>
+  </Method>
+  <Method id="_4913" name="toupper" returns="_2786" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE7toupperEw" demangled="std::__ctype_abstract_base<wchar_t>::toupper(wchar_t) const" location="f29:227" file="f29" line="227" extern="1" inline="1">
+    <Argument name="__c" type="_2786" location="f29:227" file="f29" line="227"/>
+  </Method>
+  <Method id="_4914" name="toupper" returns="_2780" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE7toupperEPwPKw" demangled="std::__ctype_abstract_base<wchar_t>::toupper(wchar_t*, wchar_t const*) const" location="f29:242" file="f29" line="242" extern="1" inline="1">
+    <Argument name="__lo" type="_2778" location="f29:242" file="f29" line="242"/>
+    <Argument name="__hi" type="_2780" location="f29:242" file="f29" line="242"/>
+  </Method>
+  <Method id="_4915" name="tolower" returns="_2786" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE7tolowerEw" demangled="std::__ctype_abstract_base<wchar_t>::tolower(wchar_t) const" location="f29:256" file="f29" line="256" extern="1" inline="1">
+    <Argument name="__c" type="_2786" location="f29:256" file="f29" line="256"/>
+  </Method>
+  <Method id="_4916" name="tolower" returns="_2780" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE7tolowerEPwPKw" demangled="std::__ctype_abstract_base<wchar_t>::tolower(wchar_t*, wchar_t const*) const" location="f29:271" file="f29" line="271" extern="1" inline="1">
+    <Argument name="__lo" type="_2778" location="f29:271" file="f29" line="271"/>
+    <Argument name="__hi" type="_2780" location="f29:271" file="f29" line="271"/>
+  </Method>
+  <Method id="_4917" name="widen" returns="_2786" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE5widenEc" demangled="std::__ctype_abstract_base<wchar_t>::widen(char) const" location="f29:288" file="f29" line="288" extern="1" inline="1">
+    <Argument name="__c" type="_2961" location="f29:288" file="f29" line="288"/>
+  </Method>
+  <Method id="_4918" name="widen" returns="_2749" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE5widenEPKcS2_Pw" demangled="std::__ctype_abstract_base<wchar_t>::widen(char const*, char const*, wchar_t*) const" location="f29:307" file="f29" line="307" extern="1" inline="1">
+    <Argument name="__lo" type="_2749" location="f29:307" file="f29" line="307"/>
+    <Argument name="__hi" type="_2749" location="f29:307" file="f29" line="307"/>
+    <Argument name="__to" type="_2778" location="f29:307" file="f29" line="307"/>
+  </Method>
+  <Method id="_4919" name="narrow" returns="_2961" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE6narrowEwc" demangled="std::__ctype_abstract_base<wchar_t>::narrow(wchar_t, char) const" location="f29:326" file="f29" line="326" endline="326" inline="1">
+    <Argument name="__c" type="_2786" location="f29:326" file="f29" line="326"/>
+    <Argument name="__dfault" type="_2961" location="f29:326" file="f29" line="326"/>
+  </Method>
+  <Method id="_4920" name="narrow" returns="_2780" const="1" context="_2093" access="public" mangled="_ZNKSt21__ctype_abstract_baseIwE6narrowEPKwS2_cPc" demangled="std::__ctype_abstract_base<wchar_t>::narrow(wchar_t const*, wchar_t const*, char, char*) const" location="f29:349" file="f29" line="349" extern="1" inline="1">
+    <Argument name="__lo" type="_2780" location="f29:349" file="f29" line="349"/>
+    <Argument name="__hi" type="_2780" location="f29:349" file="f29" line="349"/>
+    <Argument name="__dfault" type="_2961" location="f29:349" file="f29" line="349"/>
+    <Argument name="__to" type="_1149" location="f29:349" file="f29" line="349"/>
+  </Method>
+  <Constructor id="_4921" name="__ctype_abstract_base" explicit="1" context="_2093" access="protected" mangled="_ZNSt21__ctype_abstract_baseIwEC1Ej *INTERNAL* " demangled="std::__ctype_abstract_base<wchar_t>::__ctype_abstract_base(unsigned)" location="f29:353" file="f29" line="353" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:353" file="f29" line="353" default="0"/>
+  </Constructor>
+  <Destructor id="_4922" name="__ctype_abstract_base" virtual="1" context="_2093" access="protected" mangled="_ZNSt21__ctype_abstract_baseIwED1Ev *INTERNAL* " demangled="std::__ctype_abstract_base<wchar_t>::~__ctype_abstract_base()" location="f29:356" file="f29" line="356" extern="1" inline="1">
+  </Destructor>
+  <Method id="_4923" name="do_is" returns="_3949" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE5do_isEtw" demangled="std::__ctype_abstract_base<wchar_t>::do_is(unsigned short, wchar_t) const" location="f29:372" file="f29" line="372" extern="1">
+    <Argument name="__m" type="_1199" location="f29:372" file="f29" line="372"/>
+    <Argument name="__c" type="_2786" location="f29:372" file="f29" line="372"/>
+  </Method>
+  <Method id="_4924" name="do_is" returns="_2780" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE5do_isEPKwS2_Pt" demangled="std::__ctype_abstract_base<wchar_t>::do_is(wchar_t const*, wchar_t const*, unsigned short*) const" location="f29:392" file="f29" line="392" extern="1">
+    <Argument name="__lo" type="_2780" location="f29:392" file="f29" line="392"/>
+    <Argument name="__hi" type="_2780" location="f29:392" file="f29" line="392"/>
+    <Argument name="__vec" type="_3092" location="f29:392" file="f29" line="392"/>
+  </Method>
+  <Method id="_4925" name="do_scan_is" returns="_2780" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE10do_scan_isEtPKwS2_" demangled="std::__ctype_abstract_base<wchar_t>::do_scan_is(unsigned short, wchar_t const*, wchar_t const*) const" location="f29:411" file="f29" line="411" extern="1">
+    <Argument name="__m" type="_1199" location="f29:411" file="f29" line="411"/>
+    <Argument name="__lo" type="_2780" location="f29:411" file="f29" line="411"/>
+    <Argument name="__hi" type="_2780" location="f29:411" file="f29" line="411"/>
+  </Method>
+  <Method id="_4926" name="do_scan_not" returns="_2780" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE11do_scan_notEtPKwS2_" demangled="std::__ctype_abstract_base<wchar_t>::do_scan_not(unsigned short, wchar_t const*, wchar_t const*) const" location="f29:430" file="f29" line="430" extern="1">
+    <Argument name="__m" type="_1199" location="f29:430" file="f29" line="430"/>
+    <Argument name="__lo" type="_2780" location="f29:430" file="f29" line="430"/>
+    <Argument name="__hi" type="_2780" location="f29:430" file="f29" line="430"/>
+  </Method>
+  <Method id="_4927" name="do_toupper" returns="_2786" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE10do_toupperEw" demangled="std::__ctype_abstract_base<wchar_t>::do_toupper(wchar_t) const" location="f29:447" file="f29" line="447" extern="1">
+    <Argument type="_2786" location="f29:447" file="f29" line="447"/>
+  </Method>
+  <Method id="_4928" name="do_toupper" returns="_2780" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE10do_toupperEPwPKw" demangled="std::__ctype_abstract_base<wchar_t>::do_toupper(wchar_t*, wchar_t const*) const" location="f29:464" file="f29" line="464" extern="1">
+    <Argument name="__lo" type="_2778" location="f29:464" file="f29" line="464"/>
+    <Argument name="__hi" type="_2780" location="f29:464" file="f29" line="464"/>
+  </Method>
+  <Method id="_4929" name="do_tolower" returns="_2786" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE10do_tolowerEw" demangled="std::__ctype_abstract_base<wchar_t>::do_tolower(wchar_t) const" location="f29:480" file="f29" line="480" extern="1">
+    <Argument type="_2786" location="f29:480" file="f29" line="480"/>
+  </Method>
+  <Method id="_4930" name="do_tolower" returns="_2780" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE10do_tolowerEPwPKw" demangled="std::__ctype_abstract_base<wchar_t>::do_tolower(wchar_t*, wchar_t const*) const" location="f29:497" file="f29" line="497" extern="1">
+    <Argument name="__lo" type="_2778" location="f29:497" file="f29" line="497"/>
+    <Argument name="__hi" type="_2780" location="f29:497" file="f29" line="497"/>
+  </Method>
+  <Method id="_4931" name="do_widen" returns="_2786" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE8do_widenEc" demangled="std::__ctype_abstract_base<wchar_t>::do_widen(char) const" location="f29:516" file="f29" line="516" extern="1">
+    <Argument type="_2961" location="f29:516" file="f29" line="516"/>
+  </Method>
+  <Method id="_4932" name="do_widen" returns="_2749" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE8do_widenEPKcS2_Pw" demangled="std::__ctype_abstract_base<wchar_t>::do_widen(char const*, char const*, wchar_t*) const" location="f29:538" file="f29" line="538" extern="1">
+    <Argument name="__lo" type="_2749" location="f29:538" file="f29" line="538"/>
+    <Argument name="__hi" type="_2749" location="f29:538" file="f29" line="538"/>
+    <Argument name="__dest" type="_2778" location="f29:538" file="f29" line="538"/>
+  </Method>
+  <Method id="_4933" name="do_narrow" returns="_2961" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE9do_narrowEwc" demangled="std::__ctype_abstract_base<wchar_t>::do_narrow(wchar_t, char) const" location="f29:559" file="f29" line="559" extern="1">
+    <Argument type="_2786" location="f29:559" file="f29" line="559"/>
+    <Argument name="__dfault" type="_2961" location="f29:559" file="f29" line="559"/>
+  </Method>
+  <Method id="_4934" name="do_narrow" returns="_2780" const="1" virtual="1" pure_virtual="1" context="_2093" access="protected" mangled="_ZNKSt21__ctype_abstract_baseIwE9do_narrowEPKwS2_cPc" demangled="std::__ctype_abstract_base<wchar_t>::do_narrow(wchar_t const*, wchar_t const*, char, char*) const" location="f29:584" file="f29" line="584" extern="1">
+    <Argument name="__lo" type="_2780" location="f29:584" file="f29" line="584"/>
+    <Argument name="__hi" type="_2780" location="f29:584" file="f29" line="584"/>
+    <Argument name="__dfault" type="_2961" location="f29:584" file="f29" line="584"/>
+    <Argument name="__dest" type="_1149" location="f29:584" file="f29" line="584"/>
+  </Method>
+  <ReferenceType id="_4935" type="_483" size="32" align="32"/>
+  <ReferenceType id="_4936" type="_2129" size="32" align="32"/>
+  <ReferenceType id="_4937" type="_2534c" size="32" align="32"/>
+  <ReferenceType id="_4938" type="_2753" size="32" align="32"/>
+  <ReferenceType id="_4939" type="_2751" size="32" align="32"/>
+  <PointerType id="_4940" type="_2447" size="32" align="32"/>
+  <PointerType id="_4941" type="_2473" size="32" align="32"/>
+  <ReferenceType id="_4942" type="_2477" size="32" align="32"/>
+  <ReferenceType id="_4943" type="_2137" size="32" align="32"/>
+  <ReferenceType id="_4944" type="_2145" size="32" align="32"/>
+  <ReferenceType id="_4945" type="_2506" size="32" align="32"/>
+  <ReferenceType id="_4946" type="_2508" size="32" align="32"/>
+  <ReferenceType id="_4947" type="_2506c" size="32" align="32"/>
+  <ReferenceType id="_4948" type="_2508c" size="32" align="32"/>
+  <Constructor id="_4949" name="_Select1st" artificial="1" throw="" context="_2169" access="public" mangled="_ZNSt10_Select1stISt4pairIKSstEEC1ERKS3_ *INTERNAL* " demangled="std::_Select1st<std::pair<std::string const, unsigned short> >::_Select1st(std::_Select1st<std::pair<std::string const, unsigned short> > const&)" location="f94:544" file="f94" line="544" inline="1">
+    <Argument name="_ctor_arg" type="_11412" location="f94:544" file="f94" line="544"/>
+  </Constructor>
+  <Constructor id="_4950" name="_Select1st" explicit="1" artificial="1" throw="" context="_2169" access="public" mangled="_ZNSt10_Select1stISt4pairIKSstEEC1Ev *INTERNAL* " demangled="std::_Select1st<std::pair<std::string const, unsigned short> >::_Select1st()" location="f94:544" file="f94" line="544" inline="1"/>
+  <OperatorMethod id="_4951" name="()" returns="_4020" const="1" context="_2169" access="public" mangled="_ZNKSt10_Select1stISt4pairIKSstEEclERS2_" demangled="std::_Select1st<std::pair<std::string const, unsigned short> >::operator()(std::pair<std::string const, unsigned short>&) const" location="f94:547" file="f94" line="547" extern="1" inline="1">
+    <Argument name="__x" type="_4297" location="f94:547" file="f94" line="547"/>
+  </OperatorMethod>
+  <OperatorMethod id="_4952" name="()" returns="_4020" const="1" context="_2169" access="public" mangled="_ZNKSt10_Select1stISt4pairIKSstEEclERKS2_" demangled="std::_Select1st<std::pair<std::string const, unsigned short> >::operator()(std::pair<std::string const, unsigned short> const&) const" location="f94:551" file="f94" line="551" endline="551" inline="1">
+    <Argument name="__x" type="_4299" location="f94:551" file="f94" line="551"/>
+  </OperatorMethod>
+  <Constructor id="_4953" name="less" artificial="1" throw="" context="_2171" access="public" mangled="_ZNSt4lessISsEC1ERKS0_ *INTERNAL* " demangled="std::less<std::string>::less(std::less<std::string> const&)" location="f94:224" file="f94" line="224" inline="1">
+    <Argument name="_ctor_arg" type="_11337" location="f94:224" file="f94" line="224"/>
+  </Constructor>
+  <Constructor id="_4954" name="less" explicit="1" artificial="1" throw="" context="_2171" access="public" mangled="_ZNSt4lessISsEC1Ev *INTERNAL* " demangled="std::less<std::string>::less()" location="f94:224" file="f94" line="224" inline="1"/>
+  <OperatorMethod id="_4955" name="()" returns="_3949" const="1" context="_2171" access="public" mangled="_ZNKSt4lessISsEclERKSsS2_" demangled="std::less<std::string>::operator()(std::string const&, std::string const&) const" location="f94:227" file="f94" line="227" endline="227" inline="1">
+    <Argument name="__x" type="_4020" location="f94:227" file="f94" line="227"/>
+    <Argument name="__y" type="_4020" location="f94:227" file="f94" line="227"/>
+  </OperatorMethod>
+  <Constructor id="_4956" name="less" artificial="1" throw="" context="_2172" access="public" mangled="_ZNSt4lessIPN5boost6detail15sp_counted_baseEEC1ERKS4_ *INTERNAL* " demangled="std::less<boost::detail::sp_counted_base*>::less(std::less<boost::detail::sp_counted_base*> const&)" location="f94:224" file="f94" line="224" inline="1">
+    <Argument name="_ctor_arg" type="_11413" location="f94:224" file="f94" line="224"/>
+  </Constructor>
+  <Constructor id="_4957" name="less" explicit="1" artificial="1" throw="" context="_2172" access="public" mangled="_ZNSt4lessIPN5boost6detail15sp_counted_baseEEC1Ev *INTERNAL* " demangled="std::less<boost::detail::sp_counted_base*>::less()" location="f94:224" file="f94" line="224" inline="1"/>
+  <OperatorMethod id="_4958" name="()" returns="_3949" const="1" context="_2172" access="public" mangled="_ZNKSt4lessIPN5boost6detail15sp_counted_baseEEclERKS3_S6_" demangled="std::less<boost::detail::sp_counted_base*>::operator()(boost::detail::sp_counted_base* const&, boost::detail::sp_counted_base* const&) const" location="f94:227" file="f94" line="227" endline="227" inline="1">
+    <Argument name="__x" type="_11414" location="f94:227" file="f94" line="227"/>
+    <Argument name="__y" type="_11414" location="f94:227" file="f94" line="227"/>
+  </OperatorMethod>
+  <Typedef id="_4959" name="first_argument_type" type="_2509" context="_2173" access="public" location="f94:116" file="f94" line="116"/>
+  <Typedef id="_4960" name="second_argument_type" type="_2509" context="_2173" access="public" location="f94:119" file="f94" line="119"/>
+  <Typedef id="_4961" name="result_type" type="_3949" context="_2173" access="public" location="f94:120" file="f94" line="120"/>
+  <Constructor id="_4962" name="binary_function" artificial="1" throw="" context="_2173" access="public" mangled="_ZNSt15binary_functionISsSsbEC1ERKS0_ *INTERNAL* " demangled="std::binary_function<std::string, std::string, bool>::binary_function(std::binary_function<std::string, std::string, bool> const&)" location="f94:115" file="f94" line="115" inline="1">
+    <Argument name="_ctor_arg" type="_11415" location="f94:115" file="f94" line="115"/>
+  </Constructor>
+  <Constructor id="_4963" name="binary_function" explicit="1" artificial="1" throw="" context="_2173" access="public" mangled="_ZNSt15binary_functionISsSsbEC1Ev *INTERNAL* " demangled="std::binary_function<std::string, std::string, bool>::binary_function()" location="f94:115" file="f94" line="115" inline="1"/>
+  <PointerType id="_4964" type="_11174" size="32" align="32"/>
+  <Typedef id="_4965" name="first_argument_type" type="_4964" context="_2174" access="public" location="f94:116" file="f94" line="116"/>
+  <Typedef id="_4966" name="second_argument_type" type="_4964" context="_2174" access="public" location="f94:119" file="f94" line="119"/>
+  <Typedef id="_4967" name="result_type" type="_3949" context="_2174" access="public" location="f94:120" file="f94" line="120"/>
+  <Constructor id="_4968" name="binary_function" artificial="1" throw="" context="_2174" access="public" mangled="_ZNSt15binary_functionIPN5boost6detail15sp_counted_baseES3_bEC1ERKS4_ *INTERNAL* " demangled="std::binary_function<boost::detail::sp_counted_base*, boost::detail::sp_counted_base*, bool>::binary_function(std::binary_function<boost::detail::sp_counted_base*, boost::detail::sp_counted_base*, bool> const&)" location="f94:115" file="f94" line="115" inline="1">
+    <Argument name="_ctor_arg" type="_11416" location="f94:115" file="f94" line="115"/>
+  </Constructor>
+  <Constructor id="_4969" name="binary_function" explicit="1" artificial="1" throw="" context="_2174" access="public" mangled="_ZNSt15binary_functionIPN5boost6detail15sp_counted_baseES3_bEC1Ev *INTERNAL* " demangled="std::binary_function<boost::detail::sp_counted_base*, boost::detail::sp_counted_base*, bool>::binary_function()" location="f94:115" file="f94" line="115" inline="1"/>
+  <Typedef id="_4970" name="argument_type" type="_2707" context="_2175" access="public" location="f94:104" file="f94" line="104"/>
+  <Typedef id="_4971" name="result_type" type="_2509c" context="_2175" access="public" location="f94:107" file="f94" line="107"/>
+  <Constructor id="_4972" name="unary_function" artificial="1" throw="" context="_2175" access="public" mangled="_ZNSt14unary_functionISt4pairIKSstES1_EC1ERKS3_ *INTERNAL* " demangled="std::unary_function<std::pair<std::string const, unsigned short>, std::string const>::unary_function(std::unary_function<std::pair<std::string const, unsigned short>, std::string const> const&)" location="f94:103" file="f94" line="103" inline="1">
+    <Argument name="_ctor_arg" type="_11417" location="f94:103" file="f94" line="103"/>
+  </Constructor>
+  <Constructor id="_4973" name="unary_function" explicit="1" artificial="1" throw="" context="_2175" access="public" mangled="_ZNSt14unary_functionISt4pairIKSstES1_EC1Ev *INTERNAL* " demangled="std::unary_function<std::pair<std::string const, unsigned short>, std::string const>::unary_function()" location="f94:103" file="f94" line="103" inline="1"/>
+  <Variable id="_4974" name="is_specialized" type="_3949c" init="true" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE14is_specializedE" demangled="std::numeric_limits<short>::is_specialized" location="f95:575" file="f95" line="575" extern="1"/>
+  <Variable id="_4975" name="digits" type="_503c" init="15" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE6digitsE" demangled="std::numeric_limits<short>::digits" location="f95:582" file="f95" line="582" extern="1"/>
+  <Variable id="_4976" name="digits10" type="_503c" init="4" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE8digits10E" demangled="std::numeric_limits<short>::digits10" location="f95:583" file="f95" line="583" extern="1"/>
+  <Variable id="_4977" name="is_signed" type="_3949c" init="true" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE9is_signedE" demangled="std::numeric_limits<short>::is_signed" location="f95:584" file="f95" line="584" extern="1"/>
+  <Variable id="_4978" name="is_integer" type="_3949c" init="true" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE10is_integerE" demangled="std::numeric_limits<short>::is_integer" location="f95:585" file="f95" line="585" extern="1"/>
+  <Variable id="_4979" name="is_exact" type="_3949c" init="true" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE8is_exactE" demangled="std::numeric_limits<short>::is_exact" location="f95:586" file="f95" line="586" extern="1"/>
+  <Variable id="_4980" name="radix" type="_503c" init="2" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE5radixE" demangled="std::numeric_limits<short>::radix" location="f95:587" file="f95" line="587" extern="1"/>
+  <Variable id="_4981" name="min_exponent" type="_503c" init="0" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE12min_exponentE" demangled="std::numeric_limits<short>::min_exponent" location="f95:593" file="f95" line="593" extern="1"/>
+  <Variable id="_4982" name="min_exponent10" type="_503c" init="0" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE14min_exponent10E" demangled="std::numeric_limits<short>::min_exponent10" location="f95:594" file="f95" line="594" extern="1"/>
+  <Variable id="_4983" name="max_exponent" type="_503c" init="0" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE12max_exponentE" demangled="std::numeric_limits<short>::max_exponent" location="f95:595" file="f95" line="595" extern="1"/>
+  <Variable id="_4984" name="max_exponent10" type="_503c" init="0" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE14max_exponent10E" demangled="std::numeric_limits<short>::max_exponent10" location="f95:596" file="f95" line="596" extern="1"/>
+  <Variable id="_4985" name="has_infinity" type="_3949c" init="false" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE12has_infinityE" demangled="std::numeric_limits<short>::has_infinity" location="f95:598" file="f95" line="598" extern="1"/>
+  <Variable id="_4986" name="has_quiet_NaN" type="_3949c" init="false" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE13has_quiet_NaNE" demangled="std::numeric_limits<short>::has_quiet_NaN" location="f95:599" file="f95" line="599" extern="1"/>
+  <Variable id="_4987" name="has_signaling_NaN" type="_3949c" init="false" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE17has_signaling_NaNE" demangled="std::numeric_limits<short>::has_signaling_NaN" location="f95:600" file="f95" line="600" extern="1"/>
+  <Variable id="_4988" name="has_denorm" type="_2193c" init="denorm_absent" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE10has_denormE" demangled="std::numeric_limits<short>::has_denorm" location="f95:601" file="f95" line="601" extern="1"/>
+  <Variable id="_4989" name="has_denorm_loss" type="_3949c" init="false" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE15has_denorm_lossE" demangled="std::numeric_limits<short>::has_denorm_loss" location="f95:602" file="f95" line="602" extern="1"/>
+  <Variable id="_4990" name="is_iec559" type="_3949c" init="false" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE9is_iec559E" demangled="std::numeric_limits<short>::is_iec559" location="f95:613" file="f95" line="613" extern="1"/>
+  <Variable id="_4991" name="is_bounded" type="_3949c" init="true" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE10is_boundedE" demangled="std::numeric_limits<short>::is_bounded" location="f95:614" file="f95" line="614" extern="1"/>
+  <Variable id="_4992" name="is_modulo" type="_3949c" init="true" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE9is_moduloE" demangled="std::numeric_limits<short>::is_modulo" location="f95:615" file="f95" line="615" extern="1"/>
+  <Variable id="_4993" name="traps" type="_3949c" init="true" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE5trapsE" demangled="std::numeric_limits<short>::traps" location="f95:617" file="f95" line="617" extern="1"/>
+  <Variable id="_4994" name="tinyness_before" type="_3949c" init="false" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE15tinyness_beforeE" demangled="std::numeric_limits<short>::tinyness_before" location="f95:618" file="f95" line="618" extern="1"/>
+  <Variable id="_4995" name="round_style" type="_2194c" init="round_toward_zero" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE11round_styleE" demangled="std::numeric_limits<short>::round_style" location="f95:619" file="f95" line="619" extern="1"/>
+  <Constructor id="_4996" name="numeric_limits" artificial="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<short>::numeric_limits(std::numeric_limits<short> const&)" location="f95:574" file="f95" line="574" inline="1">
+    <Argument name="_ctor_arg" type="_11420" location="f95:574" file="f95" line="574"/>
+  </Constructor>
+  <Constructor id="_4997" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsEC1Ev *INTERNAL* " demangled="std::numeric_limits<short>::numeric_limits()" location="f95:574" file="f95" line="574" inline="1"/>
+  <Method id="_4998" name="min" returns="_1202" static="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE3minEv" demangled="std::numeric_limits<short>::min()" location="f95:578" file="f95" line="578" endline="578" inline="1"/>
+  <Method id="_4999" name="max" returns="_1202" static="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE3maxEv" demangled="std::numeric_limits<short>::max()" location="f95:580" file="f95" line="580" endline="580" inline="1"/>
+  <Method id="_5000" name="epsilon" returns="_1202" static="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE7epsilonEv" demangled="std::numeric_limits<short>::epsilon()" location="f95:589" file="f95" line="589" endline="589" inline="1"/>
+  <Method id="_5001" name="round_error" returns="_1202" static="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE11round_errorEv" demangled="std::numeric_limits<short>::round_error()" location="f95:591" file="f95" line="591" endline="591" inline="1"/>
+  <Method id="_5002" name="infinity" returns="_1202" static="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE8infinityEv" demangled="std::numeric_limits<short>::infinity()" location="f95:605" file="f95" line="605" endline="605" inline="1"/>
+  <Method id="_5003" name="quiet_NaN" returns="_1202" static="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE9quiet_NaNEv" demangled="std::numeric_limits<short>::quiet_NaN()" location="f95:607" file="f95" line="607" endline="607" inline="1"/>
+  <Method id="_5004" name="signaling_NaN" returns="_1202" static="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE13signaling_NaNEv" demangled="std::numeric_limits<short>::signaling_NaN()" location="f95:609" file="f95" line="609" endline="609" inline="1"/>
+  <Method id="_5005" name="denorm_min" returns="_1202" static="1" throw="" context="_2176" access="public" mangled="_ZNSt14numeric_limitsIsE10denorm_minEv" demangled="std::numeric_limits<short>::denorm_min()" location="f95:611" file="f95" line="611" endline="611" inline="1"/>
+  <Variable id="_5006" name="is_specialized" type="_3949c" init="true" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE14is_specializedE" demangled="std::numeric_limits<long long>::is_specialized" location="f95:881" file="f95" line="881" extern="1"/>
+  <Variable id="_5007" name="digits" type="_503c" init="63" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE6digitsE" demangled="std::numeric_limits<long long>::digits" location="f95:888" file="f95" line="888" extern="1"/>
+  <Variable id="_5008" name="digits10" type="_503c" init="18" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE8digits10E" demangled="std::numeric_limits<long long>::digits10" location="f95:889" file="f95" line="889" extern="1"/>
+  <Variable id="_5009" name="is_signed" type="_3949c" init="true" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE9is_signedE" demangled="std::numeric_limits<long long>::is_signed" location="f95:890" file="f95" line="890" extern="1"/>
+  <Variable id="_5010" name="is_integer" type="_3949c" init="true" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE10is_integerE" demangled="std::numeric_limits<long long>::is_integer" location="f95:891" file="f95" line="891" extern="1"/>
+  <Variable id="_5011" name="is_exact" type="_3949c" init="true" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE8is_exactE" demangled="std::numeric_limits<long long>::is_exact" location="f95:892" file="f95" line="892" extern="1"/>
+  <Variable id="_5012" name="radix" type="_503c" init="2" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE5radixE" demangled="std::numeric_limits<long long>::radix" location="f95:893" file="f95" line="893" extern="1"/>
+  <Variable id="_5013" name="min_exponent" type="_503c" init="0" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE12min_exponentE" demangled="std::numeric_limits<long long>::min_exponent" location="f95:899" file="f95" line="899" extern="1"/>
+  <Variable id="_5014" name="min_exponent10" type="_503c" init="0" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE14min_exponent10E" demangled="std::numeric_limits<long long>::min_exponent10" location="f95:900" file="f95" line="900" extern="1"/>
+  <Variable id="_5015" name="max_exponent" type="_503c" init="0" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE12max_exponentE" demangled="std::numeric_limits<long long>::max_exponent" location="f95:901" file="f95" line="901" extern="1"/>
+  <Variable id="_5016" name="max_exponent10" type="_503c" init="0" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE14max_exponent10E" demangled="std::numeric_limits<long long>::max_exponent10" location="f95:902" file="f95" line="902" extern="1"/>
+  <Variable id="_5017" name="has_infinity" type="_3949c" init="false" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE12has_infinityE" demangled="std::numeric_limits<long long>::has_infinity" location="f95:904" file="f95" line="904" extern="1"/>
+  <Variable id="_5018" name="has_quiet_NaN" type="_3949c" init="false" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE13has_quiet_NaNE" demangled="std::numeric_limits<long long>::has_quiet_NaN" location="f95:905" file="f95" line="905" extern="1"/>
+  <Variable id="_5019" name="has_signaling_NaN" type="_3949c" init="false" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE17has_signaling_NaNE" demangled="std::numeric_limits<long long>::has_signaling_NaN" location="f95:906" file="f95" line="906" extern="1"/>
+  <Variable id="_5020" name="has_denorm" type="_2193c" init="denorm_absent" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE10has_denormE" demangled="std::numeric_limits<long long>::has_denorm" location="f95:907" file="f95" line="907" extern="1"/>
+  <Variable id="_5021" name="has_denorm_loss" type="_3949c" init="false" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE15has_denorm_lossE" demangled="std::numeric_limits<long long>::has_denorm_loss" location="f95:908" file="f95" line="908" extern="1"/>
+  <Variable id="_5022" name="is_iec559" type="_3949c" init="false" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE9is_iec559E" demangled="std::numeric_limits<long long>::is_iec559" location="f95:919" file="f95" line="919" extern="1"/>
+  <Variable id="_5023" name="is_bounded" type="_3949c" init="true" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE10is_boundedE" demangled="std::numeric_limits<long long>::is_bounded" location="f95:920" file="f95" line="920" extern="1"/>
+  <Variable id="_5024" name="is_modulo" type="_3949c" init="true" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE9is_moduloE" demangled="std::numeric_limits<long long>::is_modulo" location="f95:921" file="f95" line="921" extern="1"/>
+  <Variable id="_5025" name="traps" type="_3949c" init="true" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE5trapsE" demangled="std::numeric_limits<long long>::traps" location="f95:923" file="f95" line="923" extern="1"/>
+  <Variable id="_5026" name="tinyness_before" type="_3949c" init="false" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE15tinyness_beforeE" demangled="std::numeric_limits<long long>::tinyness_before" location="f95:924" file="f95" line="924" extern="1"/>
+  <Variable id="_5027" name="round_style" type="_2194c" init="round_toward_zero" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE11round_styleE" demangled="std::numeric_limits<long long>::round_style" location="f95:925" file="f95" line="925" extern="1"/>
+  <Constructor id="_5028" name="numeric_limits" artificial="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<long long>::numeric_limits(std::numeric_limits<long long> const&)" location="f95:880" file="f95" line="880" inline="1">
+    <Argument name="_ctor_arg" type="_11421" location="f95:880" file="f95" line="880"/>
+  </Constructor>
+  <Constructor id="_5029" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxEC1Ev *INTERNAL* " demangled="std::numeric_limits<long long>::numeric_limits()" location="f95:880" file="f95" line="880" inline="1"/>
+  <Method id="_5030" name="min" returns="_1290" static="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE3minEv" demangled="std::numeric_limits<long long>::min()" location="f95:884" file="f95" line="884" endline="884" inline="1"/>
+  <Method id="_5031" name="max" returns="_1290" static="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE3maxEv" demangled="std::numeric_limits<long long>::max()" location="f95:886" file="f95" line="886" endline="886" inline="1"/>
+  <Method id="_5032" name="epsilon" returns="_1290" static="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE7epsilonEv" demangled="std::numeric_limits<long long>::epsilon()" location="f95:895" file="f95" line="895" endline="895" inline="1"/>
+  <Method id="_5033" name="round_error" returns="_1290" static="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE11round_errorEv" demangled="std::numeric_limits<long long>::round_error()" location="f95:897" file="f95" line="897" endline="897" inline="1"/>
+  <Method id="_5034" name="infinity" returns="_1290" static="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE8infinityEv" demangled="std::numeric_limits<long long>::infinity()" location="f95:911" file="f95" line="911" endline="911" inline="1"/>
+  <Method id="_5035" name="quiet_NaN" returns="_1290" static="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE9quiet_NaNEv" demangled="std::numeric_limits<long long>::quiet_NaN()" location="f95:913" file="f95" line="913" endline="913" inline="1"/>
+  <Method id="_5036" name="signaling_NaN" returns="_1290" static="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE13signaling_NaNEv" demangled="std::numeric_limits<long long>::signaling_NaN()" location="f95:915" file="f95" line="915" endline="915" inline="1"/>
+  <Method id="_5037" name="denorm_min" returns="_1290" static="1" throw="" context="_2177" access="public" mangled="_ZNSt14numeric_limitsIxE10denorm_minEv" demangled="std::numeric_limits<long long>::denorm_min()" location="f95:917" file="f95" line="917" endline="917" inline="1"/>
+  <Variable id="_5038" name="is_specialized" type="_3949c" init="true" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE14is_specializedE" demangled="std::numeric_limits<int>::is_specialized" location="f95:677" file="f95" line="677" extern="1"/>
+  <Variable id="_5039" name="digits" type="_503c" init="31" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE6digitsE" demangled="std::numeric_limits<int>::digits" location="f95:684" file="f95" line="684" extern="1"/>
+  <Variable id="_5040" name="digits10" type="_503c" init="9" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE8digits10E" demangled="std::numeric_limits<int>::digits10" location="f95:685" file="f95" line="685" extern="1"/>
+  <Variable id="_5041" name="is_signed" type="_3949c" init="true" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE9is_signedE" demangled="std::numeric_limits<int>::is_signed" location="f95:686" file="f95" line="686" extern="1"/>
+  <Variable id="_5042" name="is_integer" type="_3949c" init="true" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE10is_integerE" demangled="std::numeric_limits<int>::is_integer" location="f95:687" file="f95" line="687" extern="1"/>
+  <Variable id="_5043" name="is_exact" type="_3949c" init="true" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE8is_exactE" demangled="std::numeric_limits<int>::is_exact" location="f95:688" file="f95" line="688" extern="1"/>
+  <Variable id="_5044" name="radix" type="_503c" init="2" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE5radixE" demangled="std::numeric_limits<int>::radix" location="f95:689" file="f95" line="689" extern="1"/>
+  <Variable id="_5045" name="min_exponent" type="_503c" init="0" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE12min_exponentE" demangled="std::numeric_limits<int>::min_exponent" location="f95:695" file="f95" line="695" extern="1"/>
+  <Variable id="_5046" name="min_exponent10" type="_503c" init="0" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE14min_exponent10E" demangled="std::numeric_limits<int>::min_exponent10" location="f95:696" file="f95" line="696" extern="1"/>
+  <Variable id="_5047" name="max_exponent" type="_503c" init="0" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE12max_exponentE" demangled="std::numeric_limits<int>::max_exponent" location="f95:697" file="f95" line="697" extern="1"/>
+  <Variable id="_5048" name="max_exponent10" type="_503c" init="0" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE14max_exponent10E" demangled="std::numeric_limits<int>::max_exponent10" location="f95:698" file="f95" line="698" extern="1"/>
+  <Variable id="_5049" name="has_infinity" type="_3949c" init="false" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE12has_infinityE" demangled="std::numeric_limits<int>::has_infinity" location="f95:700" file="f95" line="700" extern="1"/>
+  <Variable id="_5050" name="has_quiet_NaN" type="_3949c" init="false" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE13has_quiet_NaNE" demangled="std::numeric_limits<int>::has_quiet_NaN" location="f95:701" file="f95" line="701" extern="1"/>
+  <Variable id="_5051" name="has_signaling_NaN" type="_3949c" init="false" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE17has_signaling_NaNE" demangled="std::numeric_limits<int>::has_signaling_NaN" location="f95:702" file="f95" line="702" extern="1"/>
+  <Variable id="_5052" name="has_denorm" type="_2193c" init="denorm_absent" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE10has_denormE" demangled="std::numeric_limits<int>::has_denorm" location="f95:703" file="f95" line="703" extern="1"/>
+  <Variable id="_5053" name="has_denorm_loss" type="_3949c" init="false" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE15has_denorm_lossE" demangled="std::numeric_limits<int>::has_denorm_loss" location="f95:704" file="f95" line="704" extern="1"/>
+  <Variable id="_5054" name="is_iec559" type="_3949c" init="false" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE9is_iec559E" demangled="std::numeric_limits<int>::is_iec559" location="f95:715" file="f95" line="715" extern="1"/>
+  <Variable id="_5055" name="is_bounded" type="_3949c" init="true" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE10is_boundedE" demangled="std::numeric_limits<int>::is_bounded" location="f95:716" file="f95" line="716" extern="1"/>
+  <Variable id="_5056" name="is_modulo" type="_3949c" init="true" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE9is_moduloE" demangled="std::numeric_limits<int>::is_modulo" location="f95:717" file="f95" line="717" extern="1"/>
+  <Variable id="_5057" name="traps" type="_3949c" init="true" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE5trapsE" demangled="std::numeric_limits<int>::traps" location="f95:719" file="f95" line="719" extern="1"/>
+  <Variable id="_5058" name="tinyness_before" type="_3949c" init="false" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE15tinyness_beforeE" demangled="std::numeric_limits<int>::tinyness_before" location="f95:720" file="f95" line="720" extern="1"/>
+  <Variable id="_5059" name="round_style" type="_2194c" init="round_toward_zero" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE11round_styleE" demangled="std::numeric_limits<int>::round_style" location="f95:721" file="f95" line="721" extern="1"/>
+  <Constructor id="_5060" name="numeric_limits" artificial="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<int>::numeric_limits(std::numeric_limits<int> const&)" location="f95:676" file="f95" line="676" inline="1">
+    <Argument name="_ctor_arg" type="_11422" location="f95:676" file="f95" line="676"/>
+  </Constructor>
+  <Constructor id="_5061" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiEC1Ev *INTERNAL* " demangled="std::numeric_limits<int>::numeric_limits()" location="f95:676" file="f95" line="676" inline="1"/>
+  <Method id="_5062" name="min" returns="_503" static="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE3minEv" demangled="std::numeric_limits<int>::min()" location="f95:680" file="f95" line="680" endline="680" inline="1"/>
+  <Method id="_5063" name="max" returns="_503" static="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE3maxEv" demangled="std::numeric_limits<int>::max()" location="f95:682" file="f95" line="682" endline="682" inline="1"/>
+  <Method id="_5064" name="epsilon" returns="_503" static="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE7epsilonEv" demangled="std::numeric_limits<int>::epsilon()" location="f95:691" file="f95" line="691" endline="691" inline="1"/>
+  <Method id="_5065" name="round_error" returns="_503" static="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE11round_errorEv" demangled="std::numeric_limits<int>::round_error()" location="f95:693" file="f95" line="693" endline="693" inline="1"/>
+  <Method id="_5066" name="infinity" returns="_503" static="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE8infinityEv" demangled="std::numeric_limits<int>::infinity()" location="f95:707" file="f95" line="707" endline="707" inline="1"/>
+  <Method id="_5067" name="quiet_NaN" returns="_503" static="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE9quiet_NaNEv" demangled="std::numeric_limits<int>::quiet_NaN()" location="f95:709" file="f95" line="709" endline="709" inline="1"/>
+  <Method id="_5068" name="signaling_NaN" returns="_503" static="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE13signaling_NaNEv" demangled="std::numeric_limits<int>::signaling_NaN()" location="f95:711" file="f95" line="711" endline="711" inline="1"/>
+  <Method id="_5069" name="denorm_min" returns="_503" static="1" throw="" context="_2178" access="public" mangled="_ZNSt14numeric_limitsIiE10denorm_minEv" demangled="std::numeric_limits<int>::denorm_min()" location="f95:713" file="f95" line="713" endline="713" inline="1"/>
+  <Variable id="_5070" name="is_specialized" type="_3949c" init="true" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE14is_specializedE" demangled="std::numeric_limits<unsigned short>::is_specialized" location="f95:626" file="f95" line="626" extern="1"/>
+  <Variable id="_5071" name="digits" type="_503c" init="16" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE6digitsE" demangled="std::numeric_limits<unsigned short>::digits" location="f95:633" file="f95" line="633" extern="1"/>
+  <Variable id="_5072" name="digits10" type="_503c" init="4" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE8digits10E" demangled="std::numeric_limits<unsigned short>::digits10" location="f95:634" file="f95" line="634" extern="1"/>
+  <Variable id="_5073" name="is_signed" type="_3949c" init="false" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE9is_signedE" demangled="std::numeric_limits<unsigned short>::is_signed" location="f95:635" file="f95" line="635" extern="1"/>
+  <Variable id="_5074" name="is_integer" type="_3949c" init="true" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE10is_integerE" demangled="std::numeric_limits<unsigned short>::is_integer" location="f95:636" file="f95" line="636" extern="1"/>
+  <Variable id="_5075" name="is_exact" type="_3949c" init="true" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE8is_exactE" demangled="std::numeric_limits<unsigned short>::is_exact" location="f95:637" file="f95" line="637" extern="1"/>
+  <Variable id="_5076" name="radix" type="_503c" init="2" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE5radixE" demangled="std::numeric_limits<unsigned short>::radix" location="f95:638" file="f95" line="638" extern="1"/>
+  <Variable id="_5077" name="min_exponent" type="_503c" init="0" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE12min_exponentE" demangled="std::numeric_limits<unsigned short>::min_exponent" location="f95:644" file="f95" line="644" extern="1"/>
+  <Variable id="_5078" name="min_exponent10" type="_503c" init="0" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE14min_exponent10E" demangled="std::numeric_limits<unsigned short>::min_exponent10" location="f95:645" file="f95" line="645" extern="1"/>
+  <Variable id="_5079" name="max_exponent" type="_503c" init="0" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE12max_exponentE" demangled="std::numeric_limits<unsigned short>::max_exponent" location="f95:646" file="f95" line="646" extern="1"/>
+  <Variable id="_5080" name="max_exponent10" type="_503c" init="0" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE14max_exponent10E" demangled="std::numeric_limits<unsigned short>::max_exponent10" location="f95:647" file="f95" line="647" extern="1"/>
+  <Variable id="_5081" name="has_infinity" type="_3949c" init="false" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE12has_infinityE" demangled="std::numeric_limits<unsigned short>::has_infinity" location="f95:649" file="f95" line="649" extern="1"/>
+  <Variable id="_5082" name="has_quiet_NaN" type="_3949c" init="false" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE13has_quiet_NaNE" demangled="std::numeric_limits<unsigned short>::has_quiet_NaN" location="f95:650" file="f95" line="650" extern="1"/>
+  <Variable id="_5083" name="has_signaling_NaN" type="_3949c" init="false" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE17has_signaling_NaNE" demangled="std::numeric_limits<unsigned short>::has_signaling_NaN" location="f95:651" file="f95" line="651" extern="1"/>
+  <Variable id="_5084" name="has_denorm" type="_2193c" init="denorm_absent" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE10has_denormE" demangled="std::numeric_limits<unsigned short>::has_denorm" location="f95:652" file="f95" line="652" extern="1"/>
+  <Variable id="_5085" name="has_denorm_loss" type="_3949c" init="false" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE15has_denorm_lossE" demangled="std::numeric_limits<unsigned short>::has_denorm_loss" location="f95:653" file="f95" line="653" extern="1"/>
+  <Variable id="_5086" name="is_iec559" type="_3949c" init="false" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE9is_iec559E" demangled="std::numeric_limits<unsigned short>::is_iec559" location="f95:664" file="f95" line="664" extern="1"/>
+  <Variable id="_5087" name="is_bounded" type="_3949c" init="true" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE10is_boundedE" demangled="std::numeric_limits<unsigned short>::is_bounded" location="f95:665" file="f95" line="665" extern="1"/>
+  <Variable id="_5088" name="is_modulo" type="_3949c" init="true" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE9is_moduloE" demangled="std::numeric_limits<unsigned short>::is_modulo" location="f95:666" file="f95" line="666" extern="1"/>
+  <Variable id="_5089" name="traps" type="_3949c" init="true" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE5trapsE" demangled="std::numeric_limits<unsigned short>::traps" location="f95:668" file="f95" line="668" extern="1"/>
+  <Variable id="_5090" name="tinyness_before" type="_3949c" init="false" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE15tinyness_beforeE" demangled="std::numeric_limits<unsigned short>::tinyness_before" location="f95:669" file="f95" line="669" extern="1"/>
+  <Variable id="_5091" name="round_style" type="_2194c" init="round_toward_zero" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE11round_styleE" demangled="std::numeric_limits<unsigned short>::round_style" location="f95:670" file="f95" line="670" extern="1"/>
+  <Constructor id="_5092" name="numeric_limits" artificial="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<unsigned short>::numeric_limits(std::numeric_limits<unsigned short> const&)" location="f95:625" file="f95" line="625" inline="1">
+    <Argument name="_ctor_arg" type="_11423" location="f95:625" file="f95" line="625"/>
+  </Constructor>
+  <Constructor id="_5093" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItEC1Ev *INTERNAL* " demangled="std::numeric_limits<unsigned short>::numeric_limits()" location="f95:625" file="f95" line="625" inline="1"/>
+  <Method id="_5094" name="min" returns="_1199" static="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE3minEv" demangled="std::numeric_limits<unsigned short>::min()" location="f95:629" file="f95" line="629" endline="629" inline="1"/>
+  <Method id="_5095" name="max" returns="_1199" static="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE3maxEv" demangled="std::numeric_limits<unsigned short>::max()" location="f95:631" file="f95" line="631" endline="631" inline="1"/>
+  <Method id="_5096" name="epsilon" returns="_1199" static="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE7epsilonEv" demangled="std::numeric_limits<unsigned short>::epsilon()" location="f95:640" file="f95" line="640" endline="640" inline="1"/>
+  <Method id="_5097" name="round_error" returns="_1199" static="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE11round_errorEv" demangled="std::numeric_limits<unsigned short>::round_error()" location="f95:642" file="f95" line="642" endline="642" inline="1"/>
+  <Method id="_5098" name="infinity" returns="_1199" static="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE8infinityEv" demangled="std::numeric_limits<unsigned short>::infinity()" location="f95:656" file="f95" line="656" endline="656" inline="1"/>
+  <Method id="_5099" name="quiet_NaN" returns="_1199" static="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE9quiet_NaNEv" demangled="std::numeric_limits<unsigned short>::quiet_NaN()" location="f95:658" file="f95" line="658" endline="658" inline="1"/>
+  <Method id="_5100" name="signaling_NaN" returns="_1199" static="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE13signaling_NaNEv" demangled="std::numeric_limits<unsigned short>::signaling_NaN()" location="f95:660" file="f95" line="660" endline="660" inline="1"/>
+  <Method id="_5101" name="denorm_min" returns="_1199" static="1" throw="" context="_2179" access="public" mangled="_ZNSt14numeric_limitsItE10denorm_minEv" demangled="std::numeric_limits<unsigned short>::denorm_min()" location="f95:662" file="f95" line="662" endline="662" inline="1"/>
+  <Variable id="_5102" name="is_specialized" type="_3949c" init="true" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE14is_specializedE" demangled="std::numeric_limits<long>::is_specialized" location="f95:779" file="f95" line="779" extern="1"/>
+  <Variable id="_5103" name="digits" type="_503c" init="31" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE6digitsE" demangled="std::numeric_limits<long>::digits" location="f95:786" file="f95" line="786" extern="1"/>
+  <Variable id="_5104" name="digits10" type="_503c" init="9" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE8digits10E" demangled="std::numeric_limits<long>::digits10" location="f95:787" file="f95" line="787" extern="1"/>
+  <Variable id="_5105" name="is_signed" type="_3949c" init="true" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE9is_signedE" demangled="std::numeric_limits<long>::is_signed" location="f95:788" file="f95" line="788" extern="1"/>
+  <Variable id="_5106" name="is_integer" type="_3949c" init="true" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE10is_integerE" demangled="std::numeric_limits<long>::is_integer" location="f95:789" file="f95" line="789" extern="1"/>
+  <Variable id="_5107" name="is_exact" type="_3949c" init="true" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE8is_exactE" demangled="std::numeric_limits<long>::is_exact" location="f95:790" file="f95" line="790" extern="1"/>
+  <Variable id="_5108" name="radix" type="_503c" init="2" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE5radixE" demangled="std::numeric_limits<long>::radix" location="f95:791" file="f95" line="791" extern="1"/>
+  <Variable id="_5109" name="min_exponent" type="_503c" init="0" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE12min_exponentE" demangled="std::numeric_limits<long>::min_exponent" location="f95:797" file="f95" line="797" extern="1"/>
+  <Variable id="_5110" name="min_exponent10" type="_503c" init="0" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE14min_exponent10E" demangled="std::numeric_limits<long>::min_exponent10" location="f95:798" file="f95" line="798" extern="1"/>
+  <Variable id="_5111" name="max_exponent" type="_503c" init="0" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE12max_exponentE" demangled="std::numeric_limits<long>::max_exponent" location="f95:799" file="f95" line="799" extern="1"/>
+  <Variable id="_5112" name="max_exponent10" type="_503c" init="0" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE14max_exponent10E" demangled="std::numeric_limits<long>::max_exponent10" location="f95:800" file="f95" line="800" extern="1"/>
+  <Variable id="_5113" name="has_infinity" type="_3949c" init="false" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE12has_infinityE" demangled="std::numeric_limits<long>::has_infinity" location="f95:802" file="f95" line="802" extern="1"/>
+  <Variable id="_5114" name="has_quiet_NaN" type="_3949c" init="false" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE13has_quiet_NaNE" demangled="std::numeric_limits<long>::has_quiet_NaN" location="f95:803" file="f95" line="803" extern="1"/>
+  <Variable id="_5115" name="has_signaling_NaN" type="_3949c" init="false" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE17has_signaling_NaNE" demangled="std::numeric_limits<long>::has_signaling_NaN" location="f95:804" file="f95" line="804" extern="1"/>
+  <Variable id="_5116" name="has_denorm" type="_2193c" init="denorm_absent" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE10has_denormE" demangled="std::numeric_limits<long>::has_denorm" location="f95:805" file="f95" line="805" extern="1"/>
+  <Variable id="_5117" name="has_denorm_loss" type="_3949c" init="false" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE15has_denorm_lossE" demangled="std::numeric_limits<long>::has_denorm_loss" location="f95:806" file="f95" line="806" extern="1"/>
+  <Variable id="_5118" name="is_iec559" type="_3949c" init="false" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE9is_iec559E" demangled="std::numeric_limits<long>::is_iec559" location="f95:817" file="f95" line="817" extern="1"/>
+  <Variable id="_5119" name="is_bounded" type="_3949c" init="true" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE10is_boundedE" demangled="std::numeric_limits<long>::is_bounded" location="f95:818" file="f95" line="818" extern="1"/>
+  <Variable id="_5120" name="is_modulo" type="_3949c" init="true" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE9is_moduloE" demangled="std::numeric_limits<long>::is_modulo" location="f95:819" file="f95" line="819" extern="1"/>
+  <Variable id="_5121" name="traps" type="_3949c" init="true" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE5trapsE" demangled="std::numeric_limits<long>::traps" location="f95:821" file="f95" line="821" extern="1"/>
+  <Variable id="_5122" name="tinyness_before" type="_3949c" init="false" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE15tinyness_beforeE" demangled="std::numeric_limits<long>::tinyness_before" location="f95:822" file="f95" line="822" extern="1"/>
+  <Variable id="_5123" name="round_style" type="_2194c" init="round_toward_zero" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE11round_styleE" demangled="std::numeric_limits<long>::round_style" location="f95:823" file="f95" line="823" extern="1"/>
+  <Constructor id="_5124" name="numeric_limits" artificial="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<long>::numeric_limits(std::numeric_limits<long> const&)" location="f95:778" file="f95" line="778" inline="1">
+    <Argument name="_ctor_arg" type="_11424" location="f95:778" file="f95" line="778"/>
+  </Constructor>
+  <Constructor id="_5125" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlEC1Ev *INTERNAL* " demangled="std::numeric_limits<long>::numeric_limits()" location="f95:778" file="f95" line="778" inline="1"/>
+  <Method id="_5126" name="min" returns="_1553" static="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE3minEv" demangled="std::numeric_limits<long>::min()" location="f95:782" file="f95" line="782" endline="782" inline="1"/>
+  <Method id="_5127" name="max" returns="_1553" static="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE3maxEv" demangled="std::numeric_limits<long>::max()" location="f95:784" file="f95" line="784" endline="784" inline="1"/>
+  <Method id="_5128" name="epsilon" returns="_1553" static="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE7epsilonEv" demangled="std::numeric_limits<long>::epsilon()" location="f95:793" file="f95" line="793" endline="793" inline="1"/>
+  <Method id="_5129" name="round_error" returns="_1553" static="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE11round_errorEv" demangled="std::numeric_limits<long>::round_error()" location="f95:795" file="f95" line="795" endline="795" inline="1"/>
+  <Method id="_5130" name="infinity" returns="_1553" static="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE8infinityEv" demangled="std::numeric_limits<long>::infinity()" location="f95:809" file="f95" line="809" endline="809" inline="1"/>
+  <Method id="_5131" name="quiet_NaN" returns="_1553" static="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE9quiet_NaNEv" demangled="std::numeric_limits<long>::quiet_NaN()" location="f95:811" file="f95" line="811" endline="811" inline="1"/>
+  <Method id="_5132" name="signaling_NaN" returns="_1553" static="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE13signaling_NaNEv" demangled="std::numeric_limits<long>::signaling_NaN()" location="f95:813" file="f95" line="813" endline="813" inline="1"/>
+  <Method id="_5133" name="denorm_min" returns="_1553" static="1" throw="" context="_2180" access="public" mangled="_ZNSt14numeric_limitsIlE10denorm_minEv" demangled="std::numeric_limits<long>::denorm_min()" location="f95:815" file="f95" line="815" endline="815" inline="1"/>
+  <Variable id="_5134" name="is_specialized" type="_3949c" init="true" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE14is_specializedE" demangled="std::numeric_limits<long double>::is_specialized" location="f95:1097" file="f95" line="1097" extern="1"/>
+  <Variable id="_5135" name="digits" type="_503c" init="64" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE6digitsE" demangled="std::numeric_limits<long double>::digits" location="f95:1104" file="f95" line="1104" extern="1"/>
+  <Variable id="_5136" name="digits10" type="_503c" init="18" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE8digits10E" demangled="std::numeric_limits<long double>::digits10" location="f95:1105" file="f95" line="1105" extern="1"/>
+  <Variable id="_5137" name="is_signed" type="_3949c" init="true" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE9is_signedE" demangled="std::numeric_limits<long double>::is_signed" location="f95:1106" file="f95" line="1106" extern="1"/>
+  <Variable id="_5138" name="is_integer" type="_3949c" init="false" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE10is_integerE" demangled="std::numeric_limits<long double>::is_integer" location="f95:1107" file="f95" line="1107" extern="1"/>
+  <Variable id="_5139" name="is_exact" type="_3949c" init="false" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE8is_exactE" demangled="std::numeric_limits<long double>::is_exact" location="f95:1108" file="f95" line="1108" extern="1"/>
+  <Variable id="_5140" name="radix" type="_503c" init="2" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE5radixE" demangled="std::numeric_limits<long double>::radix" location="f95:1109" file="f95" line="1109" extern="1"/>
+  <Variable id="_5141" name="min_exponent" type="_503c" init="-16381" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE12min_exponentE" demangled="std::numeric_limits<long double>::min_exponent" location="f95:1115" file="f95" line="1115" extern="1"/>
+  <Variable id="_5142" name="min_exponent10" type="_503c" init="-4931" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE14min_exponent10E" demangled="std::numeric_limits<long double>::min_exponent10" location="f95:1116" file="f95" line="1116" extern="1"/>
+  <Variable id="_5143" name="max_exponent" type="_503c" init="16384" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE12max_exponentE" demangled="std::numeric_limits<long double>::max_exponent" location="f95:1117" file="f95" line="1117" extern="1"/>
+  <Variable id="_5144" name="max_exponent10" type="_503c" init="4932" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE14max_exponent10E" demangled="std::numeric_limits<long double>::max_exponent10" location="f95:1118" file="f95" line="1118" extern="1"/>
+  <Variable id="_5145" name="has_infinity" type="_3949c" init="true" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE12has_infinityE" demangled="std::numeric_limits<long double>::has_infinity" location="f95:1120" file="f95" line="1120" extern="1"/>
+  <Variable id="_5146" name="has_quiet_NaN" type="_3949c" init="true" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE13has_quiet_NaNE" demangled="std::numeric_limits<long double>::has_quiet_NaN" location="f95:1121" file="f95" line="1121" extern="1"/>
+  <Variable id="_5147" name="has_signaling_NaN" type="_3949c" init="true" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE17has_signaling_NaNE" demangled="std::numeric_limits<long double>::has_signaling_NaN" location="f95:1122" file="f95" line="1122" extern="1"/>
+  <Variable id="_5148" name="has_denorm" type="_2193c" init="denorm_present" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE10has_denormE" demangled="std::numeric_limits<long double>::has_denorm" location="f95:1124" file="f95" line="1124" extern="1"/>
+  <Variable id="_5149" name="has_denorm_loss" type="_3949c" init="false" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE15has_denorm_lossE" demangled="std::numeric_limits<long double>::has_denorm_loss" location="f95:1126" file="f95" line="1126" extern="1"/>
+  <Variable id="_5150" name="is_iec559" type="_3949c" init="true" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE9is_iec559E" demangled="std::numeric_limits<long double>::is_iec559" location="f95:1138" file="f95" line="1138" extern="1"/>
+  <Variable id="_5151" name="is_bounded" type="_3949c" init="true" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE10is_boundedE" demangled="std::numeric_limits<long double>::is_bounded" location="f95:1139" file="f95" line="1139" extern="1"/>
+  <Variable id="_5152" name="is_modulo" type="_3949c" init="false" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE9is_moduloE" demangled="std::numeric_limits<long double>::is_modulo" location="f95:1140" file="f95" line="1140" extern="1"/>
+  <Variable id="_5153" name="traps" type="_3949c" init="false" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE5trapsE" demangled="std::numeric_limits<long double>::traps" location="f95:1142" file="f95" line="1142" extern="1"/>
+  <Variable id="_5154" name="tinyness_before" type="_3949c" init="false" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE15tinyness_beforeE" demangled="std::numeric_limits<long double>::tinyness_before" location="f95:1143" file="f95" line="1143" extern="1"/>
+  <Variable id="_5155" name="round_style" type="_2194c" init="round_to_nearest" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE11round_styleE" demangled="std::numeric_limits<long double>::round_style" location="f95:1144" file="f95" line="1144" extern="1"/>
+  <Constructor id="_5156" name="numeric_limits" artificial="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<long double>::numeric_limits(std::numeric_limits<long double> const&)" location="f95:1096" file="f95" line="1096" inline="1">
+    <Argument name="_ctor_arg" type="_11425" location="f95:1096" file="f95" line="1096"/>
+  </Constructor>
+  <Constructor id="_5157" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeEC1Ev *INTERNAL* " demangled="std::numeric_limits<long double>::numeric_limits()" location="f95:1096" file="f95" line="1096" inline="1"/>
+  <Method id="_5158" name="min" returns="_483" static="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE3minEv" demangled="std::numeric_limits<long double>::min()" location="f95:1100" file="f95" line="1100" endline="1100" inline="1"/>
+  <Method id="_5159" name="max" returns="_483" static="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE3maxEv" demangled="std::numeric_limits<long double>::max()" location="f95:1102" file="f95" line="1102" endline="1102" inline="1"/>
+  <Method id="_5160" name="epsilon" returns="_483" static="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE7epsilonEv" demangled="std::numeric_limits<long double>::epsilon()" location="f95:1111" file="f95" line="1111" endline="1111" inline="1"/>
+  <Method id="_5161" name="round_error" returns="_483" static="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE11round_errorEv" demangled="std::numeric_limits<long double>::round_error()" location="f95:1113" file="f95" line="1113" endline="1113" inline="1"/>
+  <Method id="_5162" name="infinity" returns="_483" static="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE8infinityEv" demangled="std::numeric_limits<long double>::infinity()" location="f95:1129" file="f95" line="1129" endline="1129" inline="1"/>
+  <Method id="_5163" name="quiet_NaN" returns="_483" static="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE9quiet_NaNEv" demangled="std::numeric_limits<long double>::quiet_NaN()" location="f95:1131" file="f95" line="1131" endline="1131" inline="1"/>
+  <Method id="_5164" name="signaling_NaN" returns="_483" static="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE13signaling_NaNEv" demangled="std::numeric_limits<long double>::signaling_NaN()" location="f95:1133" file="f95" line="1133" endline="1133" inline="1"/>
+  <Method id="_5165" name="denorm_min" returns="_483" static="1" throw="" context="_2181" access="public" mangled="_ZNSt14numeric_limitsIeE10denorm_minEv" demangled="std::numeric_limits<long double>::denorm_min()" location="f95:1135" file="f95" line="1135" endline="1135" inline="1"/>
+  <Variable id="_5166" name="is_specialized" type="_3949c" init="true" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE14is_specializedE" demangled="std::numeric_limits<double>::is_specialized" location="f95:1040" file="f95" line="1040" extern="1"/>
+  <Variable id="_5167" name="digits" type="_503c" init="53" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE6digitsE" demangled="std::numeric_limits<double>::digits" location="f95:1047" file="f95" line="1047" extern="1"/>
+  <Variable id="_5168" name="digits10" type="_503c" init="15" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE8digits10E" demangled="std::numeric_limits<double>::digits10" location="f95:1048" file="f95" line="1048" extern="1"/>
+  <Variable id="_5169" name="is_signed" type="_3949c" init="true" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE9is_signedE" demangled="std::numeric_limits<double>::is_signed" location="f95:1049" file="f95" line="1049" extern="1"/>
+  <Variable id="_5170" name="is_integer" type="_3949c" init="false" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE10is_integerE" demangled="std::numeric_limits<double>::is_integer" location="f95:1050" file="f95" line="1050" extern="1"/>
+  <Variable id="_5171" name="is_exact" type="_3949c" init="false" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE8is_exactE" demangled="std::numeric_limits<double>::is_exact" location="f95:1051" file="f95" line="1051" extern="1"/>
+  <Variable id="_5172" name="radix" type="_503c" init="2" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE5radixE" demangled="std::numeric_limits<double>::radix" location="f95:1052" file="f95" line="1052" extern="1"/>
+  <Variable id="_5173" name="min_exponent" type="_503c" init="-1021" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE12min_exponentE" demangled="std::numeric_limits<double>::min_exponent" location="f95:1058" file="f95" line="1058" extern="1"/>
+  <Variable id="_5174" name="min_exponent10" type="_503c" init="-307" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE14min_exponent10E" demangled="std::numeric_limits<double>::min_exponent10" location="f95:1059" file="f95" line="1059" extern="1"/>
+  <Variable id="_5175" name="max_exponent" type="_503c" init="1024" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE12max_exponentE" demangled="std::numeric_limits<double>::max_exponent" location="f95:1060" file="f95" line="1060" extern="1"/>
+  <Variable id="_5176" name="max_exponent10" type="_503c" init="308" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE14max_exponent10E" demangled="std::numeric_limits<double>::max_exponent10" location="f95:1061" file="f95" line="1061" extern="1"/>
+  <Variable id="_5177" name="has_infinity" type="_3949c" init="true" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE12has_infinityE" demangled="std::numeric_limits<double>::has_infinity" location="f95:1063" file="f95" line="1063" extern="1"/>
+  <Variable id="_5178" name="has_quiet_NaN" type="_3949c" init="true" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE13has_quiet_NaNE" demangled="std::numeric_limits<double>::has_quiet_NaN" location="f95:1064" file="f95" line="1064" extern="1"/>
+  <Variable id="_5179" name="has_signaling_NaN" type="_3949c" init="true" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE17has_signaling_NaNE" demangled="std::numeric_limits<double>::has_signaling_NaN" location="f95:1065" file="f95" line="1065" extern="1"/>
+  <Variable id="_5180" name="has_denorm" type="_2193c" init="denorm_present" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE10has_denormE" demangled="std::numeric_limits<double>::has_denorm" location="f95:1067" file="f95" line="1067" extern="1"/>
+  <Variable id="_5181" name="has_denorm_loss" type="_3949c" init="false" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE15has_denorm_lossE" demangled="std::numeric_limits<double>::has_denorm_loss" location="f95:1068" file="f95" line="1068" extern="1"/>
+  <Variable id="_5182" name="is_iec559" type="_3949c" init="true" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE9is_iec559E" demangled="std::numeric_limits<double>::is_iec559" location="f95:1080" file="f95" line="1080" extern="1"/>
+  <Variable id="_5183" name="is_bounded" type="_3949c" init="true" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE10is_boundedE" demangled="std::numeric_limits<double>::is_bounded" location="f95:1081" file="f95" line="1081" extern="1"/>
+  <Variable id="_5184" name="is_modulo" type="_3949c" init="false" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE9is_moduloE" demangled="std::numeric_limits<double>::is_modulo" location="f95:1082" file="f95" line="1082" extern="1"/>
+  <Variable id="_5185" name="traps" type="_3949c" init="false" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE5trapsE" demangled="std::numeric_limits<double>::traps" location="f95:1084" file="f95" line="1084" extern="1"/>
+  <Variable id="_5186" name="tinyness_before" type="_3949c" init="false" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE15tinyness_beforeE" demangled="std::numeric_limits<double>::tinyness_before" location="f95:1085" file="f95" line="1085" extern="1"/>
+  <Variable id="_5187" name="round_style" type="_2194c" init="round_to_nearest" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE11round_styleE" demangled="std::numeric_limits<double>::round_style" location="f95:1086" file="f95" line="1086" extern="1"/>
+  <Constructor id="_5188" name="numeric_limits" artificial="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<double>::numeric_limits(std::numeric_limits<double> const&)" location="f95:1039" file="f95" line="1039" inline="1">
+    <Argument name="_ctor_arg" type="_11426" location="f95:1039" file="f95" line="1039"/>
+  </Constructor>
+  <Constructor id="_5189" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdEC1Ev *INTERNAL* " demangled="std::numeric_limits<double>::numeric_limits()" location="f95:1039" file="f95" line="1039" inline="1"/>
+  <Method id="_5190" name="min" returns="_2753" static="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE3minEv" demangled="std::numeric_limits<double>::min()" location="f95:1043" file="f95" line="1043" endline="1043" inline="1"/>
+  <Method id="_5191" name="max" returns="_2753" static="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE3maxEv" demangled="std::numeric_limits<double>::max()" location="f95:1045" file="f95" line="1045" endline="1045" inline="1"/>
+  <Method id="_5192" name="epsilon" returns="_2753" static="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE7epsilonEv" demangled="std::numeric_limits<double>::epsilon()" location="f95:1054" file="f95" line="1054" endline="1054" inline="1"/>
+  <Method id="_5193" name="round_error" returns="_2753" static="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE11round_errorEv" demangled="std::numeric_limits<double>::round_error()" location="f95:1056" file="f95" line="1056" endline="1056" inline="1"/>
+  <Method id="_5194" name="infinity" returns="_2753" static="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE8infinityEv" demangled="std::numeric_limits<double>::infinity()" location="f95:1071" file="f95" line="1071" endline="1071" inline="1"/>
+  <Method id="_5195" name="quiet_NaN" returns="_2753" static="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE9quiet_NaNEv" demangled="std::numeric_limits<double>::quiet_NaN()" location="f95:1073" file="f95" line="1073" endline="1073" inline="1"/>
+  <Method id="_5196" name="signaling_NaN" returns="_2753" static="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE13signaling_NaNEv" demangled="std::numeric_limits<double>::signaling_NaN()" location="f95:1075" file="f95" line="1075" endline="1075" inline="1"/>
+  <Method id="_5197" name="denorm_min" returns="_2753" static="1" throw="" context="_2182" access="public" mangled="_ZNSt14numeric_limitsIdE10denorm_minEv" demangled="std::numeric_limits<double>::denorm_min()" location="f95:1077" file="f95" line="1077" endline="1077" inline="1"/>
+  <Variable id="_5198" name="is_specialized" type="_3949c" init="true" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE14is_specializedE" demangled="std::numeric_limits<float>::is_specialized" location="f95:983" file="f95" line="983" extern="1"/>
+  <Variable id="_5199" name="digits" type="_503c" init="24" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE6digitsE" demangled="std::numeric_limits<float>::digits" location="f95:990" file="f95" line="990" extern="1"/>
+  <Variable id="_5200" name="digits10" type="_503c" init="6" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE8digits10E" demangled="std::numeric_limits<float>::digits10" location="f95:991" file="f95" line="991" extern="1"/>
+  <Variable id="_5201" name="is_signed" type="_3949c" init="true" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE9is_signedE" demangled="std::numeric_limits<float>::is_signed" location="f95:992" file="f95" line="992" extern="1"/>
+  <Variable id="_5202" name="is_integer" type="_3949c" init="false" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE10is_integerE" demangled="std::numeric_limits<float>::is_integer" location="f95:993" file="f95" line="993" extern="1"/>
+  <Variable id="_5203" name="is_exact" type="_3949c" init="false" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE8is_exactE" demangled="std::numeric_limits<float>::is_exact" location="f95:994" file="f95" line="994" extern="1"/>
+  <Variable id="_5204" name="radix" type="_503c" init="2" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE5radixE" demangled="std::numeric_limits<float>::radix" location="f95:995" file="f95" line="995" extern="1"/>
+  <Variable id="_5205" name="min_exponent" type="_503c" init="-125" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE12min_exponentE" demangled="std::numeric_limits<float>::min_exponent" location="f95:1001" file="f95" line="1001" extern="1"/>
+  <Variable id="_5206" name="min_exponent10" type="_503c" init="-37" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE14min_exponent10E" demangled="std::numeric_limits<float>::min_exponent10" location="f95:1002" file="f95" line="1002" extern="1"/>
+  <Variable id="_5207" name="max_exponent" type="_503c" init="128" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE12max_exponentE" demangled="std::numeric_limits<float>::max_exponent" location="f95:1003" file="f95" line="1003" extern="1"/>
+  <Variable id="_5208" name="max_exponent10" type="_503c" init="38" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE14max_exponent10E" demangled="std::numeric_limits<float>::max_exponent10" location="f95:1004" file="f95" line="1004" extern="1"/>
+  <Variable id="_5209" name="has_infinity" type="_3949c" init="true" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE12has_infinityE" demangled="std::numeric_limits<float>::has_infinity" location="f95:1006" file="f95" line="1006" extern="1"/>
+  <Variable id="_5210" name="has_quiet_NaN" type="_3949c" init="true" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE13has_quiet_NaNE" demangled="std::numeric_limits<float>::has_quiet_NaN" location="f95:1007" file="f95" line="1007" extern="1"/>
+  <Variable id="_5211" name="has_signaling_NaN" type="_3949c" init="true" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE17has_signaling_NaNE" demangled="std::numeric_limits<float>::has_signaling_NaN" location="f95:1008" file="f95" line="1008" extern="1"/>
+  <Variable id="_5212" name="has_denorm" type="_2193c" init="denorm_present" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE10has_denormE" demangled="std::numeric_limits<float>::has_denorm" location="f95:1010" file="f95" line="1010" extern="1"/>
+  <Variable id="_5213" name="has_denorm_loss" type="_3949c" init="false" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE15has_denorm_lossE" demangled="std::numeric_limits<float>::has_denorm_loss" location="f95:1011" file="f95" line="1011" extern="1"/>
+  <Variable id="_5214" name="is_iec559" type="_3949c" init="true" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE9is_iec559E" demangled="std::numeric_limits<float>::is_iec559" location="f95:1023" file="f95" line="1023" extern="1"/>
+  <Variable id="_5215" name="is_bounded" type="_3949c" init="true" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE10is_boundedE" demangled="std::numeric_limits<float>::is_bounded" location="f95:1024" file="f95" line="1024" extern="1"/>
+  <Variable id="_5216" name="is_modulo" type="_3949c" init="false" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE9is_moduloE" demangled="std::numeric_limits<float>::is_modulo" location="f95:1025" file="f95" line="1025" extern="1"/>
+  <Variable id="_5217" name="traps" type="_3949c" init="false" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE5trapsE" demangled="std::numeric_limits<float>::traps" location="f95:1027" file="f95" line="1027" extern="1"/>
+  <Variable id="_5218" name="tinyness_before" type="_3949c" init="false" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE15tinyness_beforeE" demangled="std::numeric_limits<float>::tinyness_before" location="f95:1028" file="f95" line="1028" extern="1"/>
+  <Variable id="_5219" name="round_style" type="_2194c" init="round_to_nearest" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE11round_styleE" demangled="std::numeric_limits<float>::round_style" location="f95:1029" file="f95" line="1029" extern="1"/>
+  <Constructor id="_5220" name="numeric_limits" artificial="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<float>::numeric_limits(std::numeric_limits<float> const&)" location="f95:982" file="f95" line="982" inline="1">
+    <Argument name="_ctor_arg" type="_11427" location="f95:982" file="f95" line="982"/>
+  </Constructor>
+  <Constructor id="_5221" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfEC1Ev *INTERNAL* " demangled="std::numeric_limits<float>::numeric_limits()" location="f95:982" file="f95" line="982" inline="1"/>
+  <Method id="_5222" name="min" returns="_2751" static="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE3minEv" demangled="std::numeric_limits<float>::min()" location="f95:986" file="f95" line="986" endline="986" inline="1"/>
+  <Method id="_5223" name="max" returns="_2751" static="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE3maxEv" demangled="std::numeric_limits<float>::max()" location="f95:988" file="f95" line="988" endline="988" inline="1"/>
+  <Method id="_5224" name="epsilon" returns="_2751" static="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE7epsilonEv" demangled="std::numeric_limits<float>::epsilon()" location="f95:997" file="f95" line="997" endline="997" inline="1"/>
+  <Method id="_5225" name="round_error" returns="_2751" static="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE11round_errorEv" demangled="std::numeric_limits<float>::round_error()" location="f95:999" file="f95" line="999" endline="999" inline="1"/>
+  <Method id="_5226" name="infinity" returns="_2751" static="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE8infinityEv" demangled="std::numeric_limits<float>::infinity()" location="f95:1014" file="f95" line="1014" endline="1014" inline="1"/>
+  <Method id="_5227" name="quiet_NaN" returns="_2751" static="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE9quiet_NaNEv" demangled="std::numeric_limits<float>::quiet_NaN()" location="f95:1016" file="f95" line="1016" endline="1016" inline="1"/>
+  <Method id="_5228" name="signaling_NaN" returns="_2751" static="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE13signaling_NaNEv" demangled="std::numeric_limits<float>::signaling_NaN()" location="f95:1018" file="f95" line="1018" endline="1018" inline="1"/>
+  <Method id="_5229" name="denorm_min" returns="_2751" static="1" throw="" context="_2183" access="public" mangled="_ZNSt14numeric_limitsIfE10denorm_minEv" demangled="std::numeric_limits<float>::denorm_min()" location="f95:1020" file="f95" line="1020" endline="1020" inline="1"/>
+  <Variable id="_5230" name="is_specialized" type="_3949c" init="true" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE14is_specializedE" demangled="std::numeric_limits<unsigned long long>::is_specialized" location="f95:932" file="f95" line="932" extern="1"/>
+  <Variable id="_5231" name="digits" type="_503c" init="64" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE6digitsE" demangled="std::numeric_limits<unsigned long long>::digits" location="f95:939" file="f95" line="939" extern="1"/>
+  <Variable id="_5232" name="digits10" type="_503c" init="19" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE8digits10E" demangled="std::numeric_limits<unsigned long long>::digits10" location="f95:940" file="f95" line="940" extern="1"/>
+  <Variable id="_5233" name="is_signed" type="_3949c" init="false" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE9is_signedE" demangled="std::numeric_limits<unsigned long long>::is_signed" location="f95:941" file="f95" line="941" extern="1"/>
+  <Variable id="_5234" name="is_integer" type="_3949c" init="true" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE10is_integerE" demangled="std::numeric_limits<unsigned long long>::is_integer" location="f95:942" file="f95" line="942" extern="1"/>
+  <Variable id="_5235" name="is_exact" type="_3949c" init="true" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE8is_exactE" demangled="std::numeric_limits<unsigned long long>::is_exact" location="f95:943" file="f95" line="943" extern="1"/>
+  <Variable id="_5236" name="radix" type="_503c" init="2" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE5radixE" demangled="std::numeric_limits<unsigned long long>::radix" location="f95:944" file="f95" line="944" extern="1"/>
+  <Variable id="_5237" name="min_exponent" type="_503c" init="0" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE12min_exponentE" demangled="std::numeric_limits<unsigned long long>::min_exponent" location="f95:950" file="f95" line="950" extern="1"/>
+  <Variable id="_5238" name="min_exponent10" type="_503c" init="0" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE14min_exponent10E" demangled="std::numeric_limits<unsigned long long>::min_exponent10" location="f95:951" file="f95" line="951" extern="1"/>
+  <Variable id="_5239" name="max_exponent" type="_503c" init="0" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE12max_exponentE" demangled="std::numeric_limits<unsigned long long>::max_exponent" location="f95:952" file="f95" line="952" extern="1"/>
+  <Variable id="_5240" name="max_exponent10" type="_503c" init="0" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE14max_exponent10E" demangled="std::numeric_limits<unsigned long long>::max_exponent10" location="f95:953" file="f95" line="953" extern="1"/>
+  <Variable id="_5241" name="has_infinity" type="_3949c" init="false" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE12has_infinityE" demangled="std::numeric_limits<unsigned long long>::has_infinity" location="f95:955" file="f95" line="955" extern="1"/>
+  <Variable id="_5242" name="has_quiet_NaN" type="_3949c" init="false" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE13has_quiet_NaNE" demangled="std::numeric_limits<unsigned long long>::has_quiet_NaN" location="f95:956" file="f95" line="956" extern="1"/>
+  <Variable id="_5243" name="has_signaling_NaN" type="_3949c" init="false" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE17has_signaling_NaNE" demangled="std::numeric_limits<unsigned long long>::has_signaling_NaN" location="f95:957" file="f95" line="957" extern="1"/>
+  <Variable id="_5244" name="has_denorm" type="_2193c" init="denorm_absent" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE10has_denormE" demangled="std::numeric_limits<unsigned long long>::has_denorm" location="f95:958" file="f95" line="958" extern="1"/>
+  <Variable id="_5245" name="has_denorm_loss" type="_3949c" init="false" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE15has_denorm_lossE" demangled="std::numeric_limits<unsigned long long>::has_denorm_loss" location="f95:959" file="f95" line="959" extern="1"/>
+  <Variable id="_5246" name="is_iec559" type="_3949c" init="false" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE9is_iec559E" demangled="std::numeric_limits<unsigned long long>::is_iec559" location="f95:970" file="f95" line="970" extern="1"/>
+  <Variable id="_5247" name="is_bounded" type="_3949c" init="true" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE10is_boundedE" demangled="std::numeric_limits<unsigned long long>::is_bounded" location="f95:971" file="f95" line="971" extern="1"/>
+  <Variable id="_5248" name="is_modulo" type="_3949c" init="true" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE9is_moduloE" demangled="std::numeric_limits<unsigned long long>::is_modulo" location="f95:972" file="f95" line="972" extern="1"/>
+  <Variable id="_5249" name="traps" type="_3949c" init="true" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE5trapsE" demangled="std::numeric_limits<unsigned long long>::traps" location="f95:974" file="f95" line="974" extern="1"/>
+  <Variable id="_5250" name="tinyness_before" type="_3949c" init="false" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE15tinyness_beforeE" demangled="std::numeric_limits<unsigned long long>::tinyness_before" location="f95:975" file="f95" line="975" extern="1"/>
+  <Variable id="_5251" name="round_style" type="_2194c" init="round_toward_zero" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE11round_styleE" demangled="std::numeric_limits<unsigned long long>::round_style" location="f95:976" file="f95" line="976" extern="1"/>
+  <Constructor id="_5252" name="numeric_limits" artificial="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<unsigned long long>::numeric_limits(std::numeric_limits<unsigned long long> const&)" location="f95:931" file="f95" line="931" inline="1">
+    <Argument name="_ctor_arg" type="_11428" location="f95:931" file="f95" line="931"/>
+  </Constructor>
+  <Constructor id="_5253" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyEC1Ev *INTERNAL* " demangled="std::numeric_limits<unsigned long long>::numeric_limits()" location="f95:931" file="f95" line="931" inline="1"/>
+  <Method id="_5254" name="min" returns="_1288" static="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE3minEv" demangled="std::numeric_limits<unsigned long long>::min()" location="f95:935" file="f95" line="935" endline="935" inline="1"/>
+  <Method id="_5255" name="max" returns="_1288" static="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE3maxEv" demangled="std::numeric_limits<unsigned long long>::max()" location="f95:937" file="f95" line="937" endline="937" inline="1"/>
+  <Method id="_5256" name="epsilon" returns="_1288" static="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE7epsilonEv" demangled="std::numeric_limits<unsigned long long>::epsilon()" location="f95:946" file="f95" line="946" endline="946" inline="1"/>
+  <Method id="_5257" name="round_error" returns="_1288" static="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE11round_errorEv" demangled="std::numeric_limits<unsigned long long>::round_error()" location="f95:948" file="f95" line="948" endline="948" inline="1"/>
+  <Method id="_5258" name="infinity" returns="_1288" static="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE8infinityEv" demangled="std::numeric_limits<unsigned long long>::infinity()" location="f95:962" file="f95" line="962" endline="962" inline="1"/>
+  <Method id="_5259" name="quiet_NaN" returns="_1288" static="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE9quiet_NaNEv" demangled="std::numeric_limits<unsigned long long>::quiet_NaN()" location="f95:964" file="f95" line="964" endline="964" inline="1"/>
+  <Method id="_5260" name="signaling_NaN" returns="_1288" static="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE13signaling_NaNEv" demangled="std::numeric_limits<unsigned long long>::signaling_NaN()" location="f95:966" file="f95" line="966" endline="966" inline="1"/>
+  <Method id="_5261" name="denorm_min" returns="_1288" static="1" throw="" context="_2184" access="public" mangled="_ZNSt14numeric_limitsIyE10denorm_minEv" demangled="std::numeric_limits<unsigned long long>::denorm_min()" location="f95:968" file="f95" line="968" endline="968" inline="1"/>
+  <Variable id="_5262" name="is_specialized" type="_3949c" init="true" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE14is_specializedE" demangled="std::numeric_limits<unsigned long>::is_specialized" location="f95:830" file="f95" line="830" extern="1"/>
+  <Variable id="_5263" name="digits" type="_503c" init="32" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE6digitsE" demangled="std::numeric_limits<unsigned long>::digits" location="f95:837" file="f95" line="837" extern="1"/>
+  <Variable id="_5264" name="digits10" type="_503c" init="9" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE8digits10E" demangled="std::numeric_limits<unsigned long>::digits10" location="f95:838" file="f95" line="838" extern="1"/>
+  <Variable id="_5265" name="is_signed" type="_3949c" init="false" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE9is_signedE" demangled="std::numeric_limits<unsigned long>::is_signed" location="f95:839" file="f95" line="839" extern="1"/>
+  <Variable id="_5266" name="is_integer" type="_3949c" init="true" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE10is_integerE" demangled="std::numeric_limits<unsigned long>::is_integer" location="f95:840" file="f95" line="840" extern="1"/>
+  <Variable id="_5267" name="is_exact" type="_3949c" init="true" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE8is_exactE" demangled="std::numeric_limits<unsigned long>::is_exact" location="f95:841" file="f95" line="841" extern="1"/>
+  <Variable id="_5268" name="radix" type="_503c" init="2" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE5radixE" demangled="std::numeric_limits<unsigned long>::radix" location="f95:842" file="f95" line="842" extern="1"/>
+  <Variable id="_5269" name="min_exponent" type="_503c" init="0" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE12min_exponentE" demangled="std::numeric_limits<unsigned long>::min_exponent" location="f95:848" file="f95" line="848" extern="1"/>
+  <Variable id="_5270" name="min_exponent10" type="_503c" init="0" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE14min_exponent10E" demangled="std::numeric_limits<unsigned long>::min_exponent10" location="f95:849" file="f95" line="849" extern="1"/>
+  <Variable id="_5271" name="max_exponent" type="_503c" init="0" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE12max_exponentE" demangled="std::numeric_limits<unsigned long>::max_exponent" location="f95:850" file="f95" line="850" extern="1"/>
+  <Variable id="_5272" name="max_exponent10" type="_503c" init="0" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE14max_exponent10E" demangled="std::numeric_limits<unsigned long>::max_exponent10" location="f95:851" file="f95" line="851" extern="1"/>
+  <Variable id="_5273" name="has_infinity" type="_3949c" init="false" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE12has_infinityE" demangled="std::numeric_limits<unsigned long>::has_infinity" location="f95:853" file="f95" line="853" extern="1"/>
+  <Variable id="_5274" name="has_quiet_NaN" type="_3949c" init="false" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE13has_quiet_NaNE" demangled="std::numeric_limits<unsigned long>::has_quiet_NaN" location="f95:854" file="f95" line="854" extern="1"/>
+  <Variable id="_5275" name="has_signaling_NaN" type="_3949c" init="false" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE17has_signaling_NaNE" demangled="std::numeric_limits<unsigned long>::has_signaling_NaN" location="f95:855" file="f95" line="855" extern="1"/>
+  <Variable id="_5276" name="has_denorm" type="_2193c" init="denorm_absent" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE10has_denormE" demangled="std::numeric_limits<unsigned long>::has_denorm" location="f95:856" file="f95" line="856" extern="1"/>
+  <Variable id="_5277" name="has_denorm_loss" type="_3949c" init="false" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE15has_denorm_lossE" demangled="std::numeric_limits<unsigned long>::has_denorm_loss" location="f95:857" file="f95" line="857" extern="1"/>
+  <Variable id="_5278" name="is_iec559" type="_3949c" init="false" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE9is_iec559E" demangled="std::numeric_limits<unsigned long>::is_iec559" location="f95:868" file="f95" line="868" extern="1"/>
+  <Variable id="_5279" name="is_bounded" type="_3949c" init="true" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE10is_boundedE" demangled="std::numeric_limits<unsigned long>::is_bounded" location="f95:869" file="f95" line="869" extern="1"/>
+  <Variable id="_5280" name="is_modulo" type="_3949c" init="true" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE9is_moduloE" demangled="std::numeric_limits<unsigned long>::is_modulo" location="f95:870" file="f95" line="870" extern="1"/>
+  <Variable id="_5281" name="traps" type="_3949c" init="true" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE5trapsE" demangled="std::numeric_limits<unsigned long>::traps" location="f95:872" file="f95" line="872" extern="1"/>
+  <Variable id="_5282" name="tinyness_before" type="_3949c" init="false" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE15tinyness_beforeE" demangled="std::numeric_limits<unsigned long>::tinyness_before" location="f95:873" file="f95" line="873" extern="1"/>
+  <Variable id="_5283" name="round_style" type="_2194c" init="round_toward_zero" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE11round_styleE" demangled="std::numeric_limits<unsigned long>::round_style" location="f95:874" file="f95" line="874" extern="1"/>
+  <Constructor id="_5284" name="numeric_limits" artificial="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<unsigned long>::numeric_limits(std::numeric_limits<unsigned long> const&)" location="f95:829" file="f95" line="829" inline="1">
+    <Argument name="_ctor_arg" type="_11429" location="f95:829" file="f95" line="829"/>
+  </Constructor>
+  <Constructor id="_5285" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImEC1Ev *INTERNAL* " demangled="std::numeric_limits<unsigned long>::numeric_limits()" location="f95:829" file="f95" line="829" inline="1"/>
+  <Method id="_5286" name="min" returns="_643" static="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE3minEv" demangled="std::numeric_limits<unsigned long>::min()" location="f95:833" file="f95" line="833" endline="833" inline="1"/>
+  <Method id="_5287" name="max" returns="_643" static="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE3maxEv" demangled="std::numeric_limits<unsigned long>::max()" location="f95:835" file="f95" line="835" endline="835" inline="1"/>
+  <Method id="_5288" name="epsilon" returns="_643" static="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE7epsilonEv" demangled="std::numeric_limits<unsigned long>::epsilon()" location="f95:844" file="f95" line="844" endline="844" inline="1"/>
+  <Method id="_5289" name="round_error" returns="_643" static="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE11round_errorEv" demangled="std::numeric_limits<unsigned long>::round_error()" location="f95:846" file="f95" line="846" endline="846" inline="1"/>
+  <Method id="_5290" name="infinity" returns="_643" static="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE8infinityEv" demangled="std::numeric_limits<unsigned long>::infinity()" location="f95:860" file="f95" line="860" endline="860" inline="1"/>
+  <Method id="_5291" name="quiet_NaN" returns="_643" static="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE9quiet_NaNEv" demangled="std::numeric_limits<unsigned long>::quiet_NaN()" location="f95:862" file="f95" line="862" endline="862" inline="1"/>
+  <Method id="_5292" name="signaling_NaN" returns="_643" static="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE13signaling_NaNEv" demangled="std::numeric_limits<unsigned long>::signaling_NaN()" location="f95:864" file="f95" line="864" endline="864" inline="1"/>
+  <Method id="_5293" name="denorm_min" returns="_643" static="1" throw="" context="_2185" access="public" mangled="_ZNSt14numeric_limitsImE10denorm_minEv" demangled="std::numeric_limits<unsigned long>::denorm_min()" location="f95:866" file="f95" line="866" endline="866" inline="1"/>
+  <Variable id="_5294" name="is_specialized" type="_3949c" init="true" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE14is_specializedE" demangled="std::numeric_limits<unsigned>::is_specialized" location="f95:728" file="f95" line="728" extern="1"/>
+  <Variable id="_5295" name="digits" type="_503c" init="32" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE6digitsE" demangled="std::numeric_limits<unsigned>::digits" location="f95:735" file="f95" line="735" extern="1"/>
+  <Variable id="_5296" name="digits10" type="_503c" init="9" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE8digits10E" demangled="std::numeric_limits<unsigned>::digits10" location="f95:736" file="f95" line="736" extern="1"/>
+  <Variable id="_5297" name="is_signed" type="_3949c" init="false" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE9is_signedE" demangled="std::numeric_limits<unsigned>::is_signed" location="f95:737" file="f95" line="737" extern="1"/>
+  <Variable id="_5298" name="is_integer" type="_3949c" init="true" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE10is_integerE" demangled="std::numeric_limits<unsigned>::is_integer" location="f95:738" file="f95" line="738" extern="1"/>
+  <Variable id="_5299" name="is_exact" type="_3949c" init="true" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE8is_exactE" demangled="std::numeric_limits<unsigned>::is_exact" location="f95:739" file="f95" line="739" extern="1"/>
+  <Variable id="_5300" name="radix" type="_503c" init="2" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE5radixE" demangled="std::numeric_limits<unsigned>::radix" location="f95:740" file="f95" line="740" extern="1"/>
+  <Variable id="_5301" name="min_exponent" type="_503c" init="0" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE12min_exponentE" demangled="std::numeric_limits<unsigned>::min_exponent" location="f95:746" file="f95" line="746" extern="1"/>
+  <Variable id="_5302" name="min_exponent10" type="_503c" init="0" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE14min_exponent10E" demangled="std::numeric_limits<unsigned>::min_exponent10" location="f95:747" file="f95" line="747" extern="1"/>
+  <Variable id="_5303" name="max_exponent" type="_503c" init="0" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE12max_exponentE" demangled="std::numeric_limits<unsigned>::max_exponent" location="f95:748" file="f95" line="748" extern="1"/>
+  <Variable id="_5304" name="max_exponent10" type="_503c" init="0" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE14max_exponent10E" demangled="std::numeric_limits<unsigned>::max_exponent10" location="f95:749" file="f95" line="749" extern="1"/>
+  <Variable id="_5305" name="has_infinity" type="_3949c" init="false" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE12has_infinityE" demangled="std::numeric_limits<unsigned>::has_infinity" location="f95:751" file="f95" line="751" extern="1"/>
+  <Variable id="_5306" name="has_quiet_NaN" type="_3949c" init="false" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE13has_quiet_NaNE" demangled="std::numeric_limits<unsigned>::has_quiet_NaN" location="f95:752" file="f95" line="752" extern="1"/>
+  <Variable id="_5307" name="has_signaling_NaN" type="_3949c" init="false" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE17has_signaling_NaNE" demangled="std::numeric_limits<unsigned>::has_signaling_NaN" location="f95:753" file="f95" line="753" extern="1"/>
+  <Variable id="_5308" name="has_denorm" type="_2193c" init="denorm_absent" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE10has_denormE" demangled="std::numeric_limits<unsigned>::has_denorm" location="f95:754" file="f95" line="754" extern="1"/>
+  <Variable id="_5309" name="has_denorm_loss" type="_3949c" init="false" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE15has_denorm_lossE" demangled="std::numeric_limits<unsigned>::has_denorm_loss" location="f95:755" file="f95" line="755" extern="1"/>
+  <Variable id="_5310" name="is_iec559" type="_3949c" init="false" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE9is_iec559E" demangled="std::numeric_limits<unsigned>::is_iec559" location="f95:766" file="f95" line="766" extern="1"/>
+  <Variable id="_5311" name="is_bounded" type="_3949c" init="true" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE10is_boundedE" demangled="std::numeric_limits<unsigned>::is_bounded" location="f95:767" file="f95" line="767" extern="1"/>
+  <Variable id="_5312" name="is_modulo" type="_3949c" init="true" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE9is_moduloE" demangled="std::numeric_limits<unsigned>::is_modulo" location="f95:768" file="f95" line="768" extern="1"/>
+  <Variable id="_5313" name="traps" type="_3949c" init="true" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE5trapsE" demangled="std::numeric_limits<unsigned>::traps" location="f95:770" file="f95" line="770" extern="1"/>
+  <Variable id="_5314" name="tinyness_before" type="_3949c" init="false" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE15tinyness_beforeE" demangled="std::numeric_limits<unsigned>::tinyness_before" location="f95:771" file="f95" line="771" extern="1"/>
+  <Variable id="_5315" name="round_style" type="_2194c" init="round_toward_zero" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE11round_styleE" demangled="std::numeric_limits<unsigned>::round_style" location="f95:772" file="f95" line="772" extern="1"/>
+  <Constructor id="_5316" name="numeric_limits" artificial="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<unsigned>::numeric_limits(std::numeric_limits<unsigned> const&)" location="f95:727" file="f95" line="727" inline="1">
+    <Argument name="_ctor_arg" type="_11430" location="f95:727" file="f95" line="727"/>
+  </Constructor>
+  <Constructor id="_5317" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjEC1Ev *INTERNAL* " demangled="std::numeric_limits<unsigned>::numeric_limits()" location="f95:727" file="f95" line="727" inline="1"/>
+  <Method id="_5318" name="min" returns="_837" static="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE3minEv" demangled="std::numeric_limits<unsigned>::min()" location="f95:731" file="f95" line="731" endline="731" inline="1"/>
+  <Method id="_5319" name="max" returns="_837" static="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE3maxEv" demangled="std::numeric_limits<unsigned>::max()" location="f95:733" file="f95" line="733" endline="733" inline="1"/>
+  <Method id="_5320" name="epsilon" returns="_837" static="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE7epsilonEv" demangled="std::numeric_limits<unsigned>::epsilon()" location="f95:742" file="f95" line="742" endline="742" inline="1"/>
+  <Method id="_5321" name="round_error" returns="_837" static="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE11round_errorEv" demangled="std::numeric_limits<unsigned>::round_error()" location="f95:744" file="f95" line="744" endline="744" inline="1"/>
+  <Method id="_5322" name="infinity" returns="_837" static="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE8infinityEv" demangled="std::numeric_limits<unsigned>::infinity()" location="f95:758" file="f95" line="758" endline="758" inline="1"/>
+  <Method id="_5323" name="quiet_NaN" returns="_837" static="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE9quiet_NaNEv" demangled="std::numeric_limits<unsigned>::quiet_NaN()" location="f95:760" file="f95" line="760" endline="760" inline="1"/>
+  <Method id="_5324" name="signaling_NaN" returns="_837" static="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE13signaling_NaNEv" demangled="std::numeric_limits<unsigned>::signaling_NaN()" location="f95:762" file="f95" line="762" endline="762" inline="1"/>
+  <Method id="_5325" name="denorm_min" returns="_837" static="1" throw="" context="_2186" access="public" mangled="_ZNSt14numeric_limitsIjE10denorm_minEv" demangled="std::numeric_limits<unsigned>::denorm_min()" location="f95:764" file="f95" line="764" endline="764" inline="1"/>
+  <Variable id="_5326" name="is_specialized" type="_3949c" init="true" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE14is_specializedE" demangled="std::numeric_limits<wchar_t>::is_specialized" location="f95:524" file="f95" line="524" extern="1"/>
+  <Variable id="_5327" name="digits" type="_503c" init="31" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE6digitsE" demangled="std::numeric_limits<wchar_t>::digits" location="f95:531" file="f95" line="531" extern="1"/>
+  <Variable id="_5328" name="digits10" type="_503c" init="9" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE8digits10E" demangled="std::numeric_limits<wchar_t>::digits10" location="f95:532" file="f95" line="532" extern="1"/>
+  <Variable id="_5329" name="is_signed" type="_3949c" init="true" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE9is_signedE" demangled="std::numeric_limits<wchar_t>::is_signed" location="f95:533" file="f95" line="533" extern="1"/>
+  <Variable id="_5330" name="is_integer" type="_3949c" init="true" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE10is_integerE" demangled="std::numeric_limits<wchar_t>::is_integer" location="f95:534" file="f95" line="534" extern="1"/>
+  <Variable id="_5331" name="is_exact" type="_3949c" init="true" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE8is_exactE" demangled="std::numeric_limits<wchar_t>::is_exact" location="f95:535" file="f95" line="535" extern="1"/>
+  <Variable id="_5332" name="radix" type="_503c" init="2" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE5radixE" demangled="std::numeric_limits<wchar_t>::radix" location="f95:536" file="f95" line="536" extern="1"/>
+  <Variable id="_5333" name="min_exponent" type="_503c" init="0" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE12min_exponentE" demangled="std::numeric_limits<wchar_t>::min_exponent" location="f95:542" file="f95" line="542" extern="1"/>
+  <Variable id="_5334" name="min_exponent10" type="_503c" init="0" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE14min_exponent10E" demangled="std::numeric_limits<wchar_t>::min_exponent10" location="f95:543" file="f95" line="543" extern="1"/>
+  <Variable id="_5335" name="max_exponent" type="_503c" init="0" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE12max_exponentE" demangled="std::numeric_limits<wchar_t>::max_exponent" location="f95:544" file="f95" line="544" extern="1"/>
+  <Variable id="_5336" name="max_exponent10" type="_503c" init="0" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE14max_exponent10E" demangled="std::numeric_limits<wchar_t>::max_exponent10" location="f95:545" file="f95" line="545" extern="1"/>
+  <Variable id="_5337" name="has_infinity" type="_3949c" init="false" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE12has_infinityE" demangled="std::numeric_limits<wchar_t>::has_infinity" location="f95:547" file="f95" line="547" extern="1"/>
+  <Variable id="_5338" name="has_quiet_NaN" type="_3949c" init="false" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE13has_quiet_NaNE" demangled="std::numeric_limits<wchar_t>::has_quiet_NaN" location="f95:548" file="f95" line="548" extern="1"/>
+  <Variable id="_5339" name="has_signaling_NaN" type="_3949c" init="false" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE17has_signaling_NaNE" demangled="std::numeric_limits<wchar_t>::has_signaling_NaN" location="f95:549" file="f95" line="549" extern="1"/>
+  <Variable id="_5340" name="has_denorm" type="_2193c" init="denorm_absent" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE10has_denormE" demangled="std::numeric_limits<wchar_t>::has_denorm" location="f95:550" file="f95" line="550" extern="1"/>
+  <Variable id="_5341" name="has_denorm_loss" type="_3949c" init="false" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE15has_denorm_lossE" demangled="std::numeric_limits<wchar_t>::has_denorm_loss" location="f95:551" file="f95" line="551" extern="1"/>
+  <Variable id="_5342" name="is_iec559" type="_3949c" init="false" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE9is_iec559E" demangled="std::numeric_limits<wchar_t>::is_iec559" location="f95:562" file="f95" line="562" extern="1"/>
+  <Variable id="_5343" name="is_bounded" type="_3949c" init="true" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE10is_boundedE" demangled="std::numeric_limits<wchar_t>::is_bounded" location="f95:563" file="f95" line="563" extern="1"/>
+  <Variable id="_5344" name="is_modulo" type="_3949c" init="true" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE9is_moduloE" demangled="std::numeric_limits<wchar_t>::is_modulo" location="f95:564" file="f95" line="564" extern="1"/>
+  <Variable id="_5345" name="traps" type="_3949c" init="true" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE5trapsE" demangled="std::numeric_limits<wchar_t>::traps" location="f95:566" file="f95" line="566" extern="1"/>
+  <Variable id="_5346" name="tinyness_before" type="_3949c" init="false" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE15tinyness_beforeE" demangled="std::numeric_limits<wchar_t>::tinyness_before" location="f95:567" file="f95" line="567" extern="1"/>
+  <Variable id="_5347" name="round_style" type="_2194c" init="round_toward_zero" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE11round_styleE" demangled="std::numeric_limits<wchar_t>::round_style" location="f95:568" file="f95" line="568" extern="1"/>
+  <Constructor id="_5348" name="numeric_limits" artificial="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<wchar_t>::numeric_limits(std::numeric_limits<wchar_t> const&)" location="f95:523" file="f95" line="523" inline="1">
+    <Argument name="_ctor_arg" type="_11431" location="f95:523" file="f95" line="523"/>
+  </Constructor>
+  <Constructor id="_5349" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwEC1Ev *INTERNAL* " demangled="std::numeric_limits<wchar_t>::numeric_limits()" location="f95:523" file="f95" line="523" inline="1"/>
+  <Method id="_5350" name="min" returns="_2786" static="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE3minEv" demangled="std::numeric_limits<wchar_t>::min()" location="f95:527" file="f95" line="527" endline="527" inline="1"/>
+  <Method id="_5351" name="max" returns="_2786" static="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE3maxEv" demangled="std::numeric_limits<wchar_t>::max()" location="f95:529" file="f95" line="529" endline="529" inline="1"/>
+  <Method id="_5352" name="epsilon" returns="_2786" static="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE7epsilonEv" demangled="std::numeric_limits<wchar_t>::epsilon()" location="f95:538" file="f95" line="538" endline="538" inline="1"/>
+  <Method id="_5353" name="round_error" returns="_2786" static="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE11round_errorEv" demangled="std::numeric_limits<wchar_t>::round_error()" location="f95:540" file="f95" line="540" endline="540" inline="1"/>
+  <Method id="_5354" name="infinity" returns="_2786" static="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE8infinityEv" demangled="std::numeric_limits<wchar_t>::infinity()" location="f95:554" file="f95" line="554" endline="554" inline="1"/>
+  <Method id="_5355" name="quiet_NaN" returns="_2786" static="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE9quiet_NaNEv" demangled="std::numeric_limits<wchar_t>::quiet_NaN()" location="f95:556" file="f95" line="556" endline="556" inline="1"/>
+  <Method id="_5356" name="signaling_NaN" returns="_2786" static="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE13signaling_NaNEv" demangled="std::numeric_limits<wchar_t>::signaling_NaN()" location="f95:558" file="f95" line="558" endline="558" inline="1"/>
+  <Method id="_5357" name="denorm_min" returns="_2786" static="1" throw="" context="_2187" access="public" mangled="_ZNSt14numeric_limitsIwE10denorm_minEv" demangled="std::numeric_limits<wchar_t>::denorm_min()" location="f95:560" file="f95" line="560" endline="560" inline="1"/>
+  <Variable id="_5358" name="is_specialized" type="_3949c" init="true" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE14is_specializedE" demangled="std::numeric_limits<unsigned char>::is_specialized" location="f95:473" file="f95" line="473" extern="1"/>
+  <Variable id="_5359" name="digits" type="_503c" init="8" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE6digitsE" demangled="std::numeric_limits<unsigned char>::digits" location="f95:480" file="f95" line="480" extern="1"/>
+  <Variable id="_5360" name="digits10" type="_503c" init="2" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE8digits10E" demangled="std::numeric_limits<unsigned char>::digits10" location="f95:481" file="f95" line="481" extern="1"/>
+  <Variable id="_5361" name="is_signed" type="_3949c" init="false" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE9is_signedE" demangled="std::numeric_limits<unsigned char>::is_signed" location="f95:482" file="f95" line="482" extern="1"/>
+  <Variable id="_5362" name="is_integer" type="_3949c" init="true" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE10is_integerE" demangled="std::numeric_limits<unsigned char>::is_integer" location="f95:483" file="f95" line="483" extern="1"/>
+  <Variable id="_5363" name="is_exact" type="_3949c" init="true" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE8is_exactE" demangled="std::numeric_limits<unsigned char>::is_exact" location="f95:484" file="f95" line="484" extern="1"/>
+  <Variable id="_5364" name="radix" type="_503c" init="2" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE5radixE" demangled="std::numeric_limits<unsigned char>::radix" location="f95:485" file="f95" line="485" extern="1"/>
+  <Variable id="_5365" name="min_exponent" type="_503c" init="0" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE12min_exponentE" demangled="std::numeric_limits<unsigned char>::min_exponent" location="f95:491" file="f95" line="491" extern="1"/>
+  <Variable id="_5366" name="min_exponent10" type="_503c" init="0" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE14min_exponent10E" demangled="std::numeric_limits<unsigned char>::min_exponent10" location="f95:492" file="f95" line="492" extern="1"/>
+  <Variable id="_5367" name="max_exponent" type="_503c" init="0" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE12max_exponentE" demangled="std::numeric_limits<unsigned char>::max_exponent" location="f95:493" file="f95" line="493" extern="1"/>
+  <Variable id="_5368" name="max_exponent10" type="_503c" init="0" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE14max_exponent10E" demangled="std::numeric_limits<unsigned char>::max_exponent10" location="f95:494" file="f95" line="494" extern="1"/>
+  <Variable id="_5369" name="has_infinity" type="_3949c" init="false" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE12has_infinityE" demangled="std::numeric_limits<unsigned char>::has_infinity" location="f95:496" file="f95" line="496" extern="1"/>
+  <Variable id="_5370" name="has_quiet_NaN" type="_3949c" init="false" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE13has_quiet_NaNE" demangled="std::numeric_limits<unsigned char>::has_quiet_NaN" location="f95:497" file="f95" line="497" extern="1"/>
+  <Variable id="_5371" name="has_signaling_NaN" type="_3949c" init="false" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE17has_signaling_NaNE" demangled="std::numeric_limits<unsigned char>::has_signaling_NaN" location="f95:498" file="f95" line="498" extern="1"/>
+  <Variable id="_5372" name="has_denorm" type="_2193c" init="denorm_absent" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE10has_denormE" demangled="std::numeric_limits<unsigned char>::has_denorm" location="f95:499" file="f95" line="499" extern="1"/>
+  <Variable id="_5373" name="has_denorm_loss" type="_3949c" init="false" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE15has_denorm_lossE" demangled="std::numeric_limits<unsigned char>::has_denorm_loss" location="f95:500" file="f95" line="500" extern="1"/>
+  <Variable id="_5374" name="is_iec559" type="_3949c" init="false" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE9is_iec559E" demangled="std::numeric_limits<unsigned char>::is_iec559" location="f95:511" file="f95" line="511" extern="1"/>
+  <Variable id="_5375" name="is_bounded" type="_3949c" init="true" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE10is_boundedE" demangled="std::numeric_limits<unsigned char>::is_bounded" location="f95:512" file="f95" line="512" extern="1"/>
+  <Variable id="_5376" name="is_modulo" type="_3949c" init="true" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE9is_moduloE" demangled="std::numeric_limits<unsigned char>::is_modulo" location="f95:513" file="f95" line="513" extern="1"/>
+  <Variable id="_5377" name="traps" type="_3949c" init="true" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE5trapsE" demangled="std::numeric_limits<unsigned char>::traps" location="f95:515" file="f95" line="515" extern="1"/>
+  <Variable id="_5378" name="tinyness_before" type="_3949c" init="false" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE15tinyness_beforeE" demangled="std::numeric_limits<unsigned char>::tinyness_before" location="f95:516" file="f95" line="516" extern="1"/>
+  <Variable id="_5379" name="round_style" type="_2194c" init="round_toward_zero" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE11round_styleE" demangled="std::numeric_limits<unsigned char>::round_style" location="f95:517" file="f95" line="517" extern="1"/>
+  <Constructor id="_5380" name="numeric_limits" artificial="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<unsigned char>::numeric_limits(std::numeric_limits<unsigned char> const&)" location="f95:472" file="f95" line="472" inline="1">
+    <Argument name="_ctor_arg" type="_11432" location="f95:472" file="f95" line="472"/>
+  </Constructor>
+  <Constructor id="_5381" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhEC1Ev *INTERNAL* " demangled="std::numeric_limits<unsigned char>::numeric_limits()" location="f95:472" file="f95" line="472" inline="1"/>
+  <Method id="_5382" name="min" returns="_1296" static="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE3minEv" demangled="std::numeric_limits<unsigned char>::min()" location="f95:476" file="f95" line="476" endline="476" inline="1"/>
+  <Method id="_5383" name="max" returns="_1296" static="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE3maxEv" demangled="std::numeric_limits<unsigned char>::max()" location="f95:478" file="f95" line="478" endline="478" inline="1"/>
+  <Method id="_5384" name="epsilon" returns="_1296" static="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE7epsilonEv" demangled="std::numeric_limits<unsigned char>::epsilon()" location="f95:487" file="f95" line="487" endline="487" inline="1"/>
+  <Method id="_5385" name="round_error" returns="_1296" static="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE11round_errorEv" demangled="std::numeric_limits<unsigned char>::round_error()" location="f95:489" file="f95" line="489" endline="489" inline="1"/>
+  <Method id="_5386" name="infinity" returns="_1296" static="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE8infinityEv" demangled="std::numeric_limits<unsigned char>::infinity()" location="f95:503" file="f95" line="503" endline="503" inline="1"/>
+  <Method id="_5387" name="quiet_NaN" returns="_1296" static="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE9quiet_NaNEv" demangled="std::numeric_limits<unsigned char>::quiet_NaN()" location="f95:505" file="f95" line="505" endline="505" inline="1"/>
+  <Method id="_5388" name="signaling_NaN" returns="_1296" static="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE13signaling_NaNEv" demangled="std::numeric_limits<unsigned char>::signaling_NaN()" location="f95:507" file="f95" line="507" endline="507" inline="1"/>
+  <Method id="_5389" name="denorm_min" returns="_1296" static="1" throw="" context="_2188" access="public" mangled="_ZNSt14numeric_limitsIhE10denorm_minEv" demangled="std::numeric_limits<unsigned char>::denorm_min()" location="f95:509" file="f95" line="509" endline="509" inline="1"/>
+  <Variable id="_5390" name="is_specialized" type="_3949c" init="true" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE14is_specializedE" demangled="std::numeric_limits<signed char>::is_specialized" location="f95:422" file="f95" line="422" extern="1"/>
+  <Variable id="_5391" name="digits" type="_503c" init="7" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE6digitsE" demangled="std::numeric_limits<signed char>::digits" location="f95:429" file="f95" line="429" extern="1"/>
+  <Variable id="_5392" name="digits10" type="_503c" init="2" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE8digits10E" demangled="std::numeric_limits<signed char>::digits10" location="f95:430" file="f95" line="430" extern="1"/>
+  <Variable id="_5393" name="is_signed" type="_3949c" init="true" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE9is_signedE" demangled="std::numeric_limits<signed char>::is_signed" location="f95:431" file="f95" line="431" extern="1"/>
+  <Variable id="_5394" name="is_integer" type="_3949c" init="true" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE10is_integerE" demangled="std::numeric_limits<signed char>::is_integer" location="f95:432" file="f95" line="432" extern="1"/>
+  <Variable id="_5395" name="is_exact" type="_3949c" init="true" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE8is_exactE" demangled="std::numeric_limits<signed char>::is_exact" location="f95:433" file="f95" line="433" extern="1"/>
+  <Variable id="_5396" name="radix" type="_503c" init="2" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE5radixE" demangled="std::numeric_limits<signed char>::radix" location="f95:434" file="f95" line="434" extern="1"/>
+  <Variable id="_5397" name="min_exponent" type="_503c" init="0" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE12min_exponentE" demangled="std::numeric_limits<signed char>::min_exponent" location="f95:440" file="f95" line="440" extern="1"/>
+  <Variable id="_5398" name="min_exponent10" type="_503c" init="0" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE14min_exponent10E" demangled="std::numeric_limits<signed char>::min_exponent10" location="f95:441" file="f95" line="441" extern="1"/>
+  <Variable id="_5399" name="max_exponent" type="_503c" init="0" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE12max_exponentE" demangled="std::numeric_limits<signed char>::max_exponent" location="f95:442" file="f95" line="442" extern="1"/>
+  <Variable id="_5400" name="max_exponent10" type="_503c" init="0" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE14max_exponent10E" demangled="std::numeric_limits<signed char>::max_exponent10" location="f95:443" file="f95" line="443" extern="1"/>
+  <Variable id="_5401" name="has_infinity" type="_3949c" init="false" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE12has_infinityE" demangled="std::numeric_limits<signed char>::has_infinity" location="f95:445" file="f95" line="445" extern="1"/>
+  <Variable id="_5402" name="has_quiet_NaN" type="_3949c" init="false" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE13has_quiet_NaNE" demangled="std::numeric_limits<signed char>::has_quiet_NaN" location="f95:446" file="f95" line="446" extern="1"/>
+  <Variable id="_5403" name="has_signaling_NaN" type="_3949c" init="false" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE17has_signaling_NaNE" demangled="std::numeric_limits<signed char>::has_signaling_NaN" location="f95:447" file="f95" line="447" extern="1"/>
+  <Variable id="_5404" name="has_denorm" type="_2193c" init="denorm_absent" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE10has_denormE" demangled="std::numeric_limits<signed char>::has_denorm" location="f95:448" file="f95" line="448" extern="1"/>
+  <Variable id="_5405" name="has_denorm_loss" type="_3949c" init="false" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE15has_denorm_lossE" demangled="std::numeric_limits<signed char>::has_denorm_loss" location="f95:449" file="f95" line="449" extern="1"/>
+  <Variable id="_5406" name="is_iec559" type="_3949c" init="false" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE9is_iec559E" demangled="std::numeric_limits<signed char>::is_iec559" location="f95:460" file="f95" line="460" extern="1"/>
+  <Variable id="_5407" name="is_bounded" type="_3949c" init="true" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE10is_boundedE" demangled="std::numeric_limits<signed char>::is_bounded" location="f95:461" file="f95" line="461" extern="1"/>
+  <Variable id="_5408" name="is_modulo" type="_3949c" init="true" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE9is_moduloE" demangled="std::numeric_limits<signed char>::is_modulo" location="f95:462" file="f95" line="462" extern="1"/>
+  <Variable id="_5409" name="traps" type="_3949c" init="true" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE5trapsE" demangled="std::numeric_limits<signed char>::traps" location="f95:464" file="f95" line="464" extern="1"/>
+  <Variable id="_5410" name="tinyness_before" type="_3949c" init="false" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE15tinyness_beforeE" demangled="std::numeric_limits<signed char>::tinyness_before" location="f95:465" file="f95" line="465" extern="1"/>
+  <Variable id="_5411" name="round_style" type="_2194c" init="round_toward_zero" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE11round_styleE" demangled="std::numeric_limits<signed char>::round_style" location="f95:466" file="f95" line="466" extern="1"/>
+  <Constructor id="_5412" name="numeric_limits" artificial="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<signed char>::numeric_limits(std::numeric_limits<signed char> const&)" location="f95:421" file="f95" line="421" inline="1">
+    <Argument name="_ctor_arg" type="_11433" location="f95:421" file="f95" line="421"/>
+  </Constructor>
+  <Constructor id="_5413" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaEC1Ev *INTERNAL* " demangled="std::numeric_limits<signed char>::numeric_limits()" location="f95:421" file="f95" line="421" inline="1"/>
+  <Method id="_5414" name="min" returns="_1301" static="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE3minEv" demangled="std::numeric_limits<signed char>::min()" location="f95:425" file="f95" line="425" endline="425" inline="1"/>
+  <Method id="_5415" name="max" returns="_1301" static="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE3maxEv" demangled="std::numeric_limits<signed char>::max()" location="f95:427" file="f95" line="427" endline="427" inline="1"/>
+  <Method id="_5416" name="epsilon" returns="_1301" static="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE7epsilonEv" demangled="std::numeric_limits<signed char>::epsilon()" location="f95:436" file="f95" line="436" endline="436" inline="1"/>
+  <Method id="_5417" name="round_error" returns="_1301" static="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE11round_errorEv" demangled="std::numeric_limits<signed char>::round_error()" location="f95:438" file="f95" line="438" endline="438" inline="1"/>
+  <Method id="_5418" name="infinity" returns="_1301" static="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE8infinityEv" demangled="std::numeric_limits<signed char>::infinity()" location="f95:452" file="f95" line="452" endline="452" inline="1"/>
+  <Method id="_5419" name="quiet_NaN" returns="_1301" static="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE9quiet_NaNEv" demangled="std::numeric_limits<signed char>::quiet_NaN()" location="f95:454" file="f95" line="454" endline="454" inline="1"/>
+  <Method id="_5420" name="signaling_NaN" returns="_1301" static="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE13signaling_NaNEv" demangled="std::numeric_limits<signed char>::signaling_NaN()" location="f95:456" file="f95" line="456" endline="456" inline="1"/>
+  <Method id="_5421" name="denorm_min" returns="_1301" static="1" throw="" context="_2189" access="public" mangled="_ZNSt14numeric_limitsIaE10denorm_minEv" demangled="std::numeric_limits<signed char>::denorm_min()" location="f95:458" file="f95" line="458" endline="458" inline="1"/>
+  <Variable id="_5422" name="is_specialized" type="_3949c" init="true" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE14is_specializedE" demangled="std::numeric_limits<char>::is_specialized" location="f95:371" file="f95" line="371" extern="1"/>
+  <Variable id="_5423" name="digits" type="_503c" init="7" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE6digitsE" demangled="std::numeric_limits<char>::digits" location="f95:378" file="f95" line="378" extern="1"/>
+  <Variable id="_5424" name="digits10" type="_503c" init="2" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE8digits10E" demangled="std::numeric_limits<char>::digits10" location="f95:379" file="f95" line="379" extern="1"/>
+  <Variable id="_5425" name="is_signed" type="_3949c" init="true" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE9is_signedE" demangled="std::numeric_limits<char>::is_signed" location="f95:380" file="f95" line="380" extern="1"/>
+  <Variable id="_5426" name="is_integer" type="_3949c" init="true" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE10is_integerE" demangled="std::numeric_limits<char>::is_integer" location="f95:381" file="f95" line="381" extern="1"/>
+  <Variable id="_5427" name="is_exact" type="_3949c" init="true" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE8is_exactE" demangled="std::numeric_limits<char>::is_exact" location="f95:382" file="f95" line="382" extern="1"/>
+  <Variable id="_5428" name="radix" type="_503c" init="2" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE5radixE" demangled="std::numeric_limits<char>::radix" location="f95:383" file="f95" line="383" extern="1"/>
+  <Variable id="_5429" name="min_exponent" type="_503c" init="0" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE12min_exponentE" demangled="std::numeric_limits<char>::min_exponent" location="f95:389" file="f95" line="389" extern="1"/>
+  <Variable id="_5430" name="min_exponent10" type="_503c" init="0" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE14min_exponent10E" demangled="std::numeric_limits<char>::min_exponent10" location="f95:390" file="f95" line="390" extern="1"/>
+  <Variable id="_5431" name="max_exponent" type="_503c" init="0" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE12max_exponentE" demangled="std::numeric_limits<char>::max_exponent" location="f95:391" file="f95" line="391" extern="1"/>
+  <Variable id="_5432" name="max_exponent10" type="_503c" init="0" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE14max_exponent10E" demangled="std::numeric_limits<char>::max_exponent10" location="f95:392" file="f95" line="392" extern="1"/>
+  <Variable id="_5433" name="has_infinity" type="_3949c" init="false" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE12has_infinityE" demangled="std::numeric_limits<char>::has_infinity" location="f95:394" file="f95" line="394" extern="1"/>
+  <Variable id="_5434" name="has_quiet_NaN" type="_3949c" init="false" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE13has_quiet_NaNE" demangled="std::numeric_limits<char>::has_quiet_NaN" location="f95:395" file="f95" line="395" extern="1"/>
+  <Variable id="_5435" name="has_signaling_NaN" type="_3949c" init="false" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE17has_signaling_NaNE" demangled="std::numeric_limits<char>::has_signaling_NaN" location="f95:396" file="f95" line="396" extern="1"/>
+  <Variable id="_5436" name="has_denorm" type="_2193c" init="denorm_absent" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE10has_denormE" demangled="std::numeric_limits<char>::has_denorm" location="f95:397" file="f95" line="397" extern="1"/>
+  <Variable id="_5437" name="has_denorm_loss" type="_3949c" init="false" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE15has_denorm_lossE" demangled="std::numeric_limits<char>::has_denorm_loss" location="f95:398" file="f95" line="398" extern="1"/>
+  <Variable id="_5438" name="is_iec559" type="_3949c" init="false" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE9is_iec559E" demangled="std::numeric_limits<char>::is_iec559" location="f95:409" file="f95" line="409" extern="1"/>
+  <Variable id="_5439" name="is_bounded" type="_3949c" init="true" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE10is_boundedE" demangled="std::numeric_limits<char>::is_bounded" location="f95:410" file="f95" line="410" extern="1"/>
+  <Variable id="_5440" name="is_modulo" type="_3949c" init="true" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE9is_moduloE" demangled="std::numeric_limits<char>::is_modulo" location="f95:411" file="f95" line="411" extern="1"/>
+  <Variable id="_5441" name="traps" type="_3949c" init="true" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE5trapsE" demangled="std::numeric_limits<char>::traps" location="f95:413" file="f95" line="413" extern="1"/>
+  <Variable id="_5442" name="tinyness_before" type="_3949c" init="false" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE15tinyness_beforeE" demangled="std::numeric_limits<char>::tinyness_before" location="f95:414" file="f95" line="414" extern="1"/>
+  <Variable id="_5443" name="round_style" type="_2194c" init="round_toward_zero" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE11round_styleE" demangled="std::numeric_limits<char>::round_style" location="f95:415" file="f95" line="415" extern="1"/>
+  <Constructor id="_5444" name="numeric_limits" artificial="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<char>::numeric_limits(std::numeric_limits<char> const&)" location="f95:370" file="f95" line="370" inline="1">
+    <Argument name="_ctor_arg" type="_11434" location="f95:370" file="f95" line="370"/>
+  </Constructor>
+  <Constructor id="_5445" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcEC1Ev *INTERNAL* " demangled="std::numeric_limits<char>::numeric_limits()" location="f95:370" file="f95" line="370" inline="1"/>
+  <Method id="_5446" name="min" returns="_2961" static="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE3minEv" demangled="std::numeric_limits<char>::min()" location="f95:374" file="f95" line="374" endline="374" inline="1"/>
+  <Method id="_5447" name="max" returns="_2961" static="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE3maxEv" demangled="std::numeric_limits<char>::max()" location="f95:376" file="f95" line="376" endline="376" inline="1"/>
+  <Method id="_5448" name="epsilon" returns="_2961" static="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE7epsilonEv" demangled="std::numeric_limits<char>::epsilon()" location="f95:385" file="f95" line="385" endline="385" inline="1"/>
+  <Method id="_5449" name="round_error" returns="_2961" static="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE11round_errorEv" demangled="std::numeric_limits<char>::round_error()" location="f95:387" file="f95" line="387" endline="387" inline="1"/>
+  <Method id="_5450" name="infinity" returns="_2961" static="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE8infinityEv" demangled="std::numeric_limits<char>::infinity()" location="f95:401" file="f95" line="401" endline="401" inline="1"/>
+  <Method id="_5451" name="quiet_NaN" returns="_2961" static="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE9quiet_NaNEv" demangled="std::numeric_limits<char>::quiet_NaN()" location="f95:403" file="f95" line="403" endline="403" inline="1"/>
+  <Method id="_5452" name="signaling_NaN" returns="_2961" static="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE13signaling_NaNEv" demangled="std::numeric_limits<char>::signaling_NaN()" location="f95:405" file="f95" line="405" endline="405" inline="1"/>
+  <Method id="_5453" name="denorm_min" returns="_2961" static="1" throw="" context="_2190" access="public" mangled="_ZNSt14numeric_limitsIcE10denorm_minEv" demangled="std::numeric_limits<char>::denorm_min()" location="f95:407" file="f95" line="407" endline="407" inline="1"/>
+  <Variable id="_5454" name="is_specialized" type="_3949c" init="true" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE14is_specializedE" demangled="std::numeric_limits<bool>::is_specialized" location="f95:317" file="f95" line="317" extern="1"/>
+  <Variable id="_5455" name="digits" type="_503c" init="1" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE6digitsE" demangled="std::numeric_limits<bool>::digits" location="f95:324" file="f95" line="324" extern="1"/>
+  <Variable id="_5456" name="digits10" type="_503c" init="0" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE8digits10E" demangled="std::numeric_limits<bool>::digits10" location="f95:325" file="f95" line="325" extern="1"/>
+  <Variable id="_5457" name="is_signed" type="_3949c" init="false" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE9is_signedE" demangled="std::numeric_limits<bool>::is_signed" location="f95:326" file="f95" line="326" extern="1"/>
+  <Variable id="_5458" name="is_integer" type="_3949c" init="true" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE10is_integerE" demangled="std::numeric_limits<bool>::is_integer" location="f95:327" file="f95" line="327" extern="1"/>
+  <Variable id="_5459" name="is_exact" type="_3949c" init="true" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE8is_exactE" demangled="std::numeric_limits<bool>::is_exact" location="f95:328" file="f95" line="328" extern="1"/>
+  <Variable id="_5460" name="radix" type="_503c" init="2" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE5radixE" demangled="std::numeric_limits<bool>::radix" location="f95:329" file="f95" line="329" extern="1"/>
+  <Variable id="_5461" name="min_exponent" type="_503c" init="0" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE12min_exponentE" demangled="std::numeric_limits<bool>::min_exponent" location="f95:335" file="f95" line="335" extern="1"/>
+  <Variable id="_5462" name="min_exponent10" type="_503c" init="0" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE14min_exponent10E" demangled="std::numeric_limits<bool>::min_exponent10" location="f95:336" file="f95" line="336" extern="1"/>
+  <Variable id="_5463" name="max_exponent" type="_503c" init="0" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE12max_exponentE" demangled="std::numeric_limits<bool>::max_exponent" location="f95:337" file="f95" line="337" extern="1"/>
+  <Variable id="_5464" name="max_exponent10" type="_503c" init="0" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE14max_exponent10E" demangled="std::numeric_limits<bool>::max_exponent10" location="f95:338" file="f95" line="338" extern="1"/>
+  <Variable id="_5465" name="has_infinity" type="_3949c" init="false" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE12has_infinityE" demangled="std::numeric_limits<bool>::has_infinity" location="f95:340" file="f95" line="340" extern="1"/>
+  <Variable id="_5466" name="has_quiet_NaN" type="_3949c" init="false" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE13has_quiet_NaNE" demangled="std::numeric_limits<bool>::has_quiet_NaN" location="f95:341" file="f95" line="341" extern="1"/>
+  <Variable id="_5467" name="has_signaling_NaN" type="_3949c" init="false" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE17has_signaling_NaNE" demangled="std::numeric_limits<bool>::has_signaling_NaN" location="f95:342" file="f95" line="342" extern="1"/>
+  <Variable id="_5468" name="has_denorm" type="_2193c" init="denorm_absent" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE10has_denormE" demangled="std::numeric_limits<bool>::has_denorm" location="f95:343" file="f95" line="343" extern="1"/>
+  <Variable id="_5469" name="has_denorm_loss" type="_3949c" init="false" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE15has_denorm_lossE" demangled="std::numeric_limits<bool>::has_denorm_loss" location="f95:344" file="f95" line="344" extern="1"/>
+  <Variable id="_5470" name="is_iec559" type="_3949c" init="false" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE9is_iec559E" demangled="std::numeric_limits<bool>::is_iec559" location="f95:355" file="f95" line="355" extern="1"/>
+  <Variable id="_5471" name="is_bounded" type="_3949c" init="true" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE10is_boundedE" demangled="std::numeric_limits<bool>::is_bounded" location="f95:356" file="f95" line="356" extern="1"/>
+  <Variable id="_5472" name="is_modulo" type="_3949c" init="false" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE9is_moduloE" demangled="std::numeric_limits<bool>::is_modulo" location="f95:357" file="f95" line="357" extern="1"/>
+  <Variable id="_5473" name="traps" type="_3949c" init="true" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE5trapsE" demangled="std::numeric_limits<bool>::traps" location="f95:362" file="f95" line="362" extern="1"/>
+  <Variable id="_5474" name="tinyness_before" type="_3949c" init="false" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE15tinyness_beforeE" demangled="std::numeric_limits<bool>::tinyness_before" location="f95:363" file="f95" line="363" extern="1"/>
+  <Variable id="_5475" name="round_style" type="_2194c" init="round_toward_zero" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE11round_styleE" demangled="std::numeric_limits<bool>::round_style" location="f95:364" file="f95" line="364" extern="1"/>
+  <Constructor id="_5476" name="numeric_limits" artificial="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbEC1ERKS0_ *INTERNAL* " demangled="std::numeric_limits<bool>::numeric_limits(std::numeric_limits<bool> const&)" location="f95:316" file="f95" line="316" inline="1">
+    <Argument name="_ctor_arg" type="_11435" location="f95:316" file="f95" line="316"/>
+  </Constructor>
+  <Constructor id="_5477" name="numeric_limits" explicit="1" artificial="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbEC1Ev *INTERNAL* " demangled="std::numeric_limits<bool>::numeric_limits()" location="f95:316" file="f95" line="316" inline="1"/>
+  <Method id="_5478" name="min" returns="_3949" static="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE3minEv" demangled="std::numeric_limits<bool>::min()" location="f95:320" file="f95" line="320" endline="320" inline="1"/>
+  <Method id="_5479" name="max" returns="_3949" static="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE3maxEv" demangled="std::numeric_limits<bool>::max()" location="f95:322" file="f95" line="322" endline="322" inline="1"/>
+  <Method id="_5480" name="epsilon" returns="_3949" static="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE7epsilonEv" demangled="std::numeric_limits<bool>::epsilon()" location="f95:331" file="f95" line="331" endline="331" inline="1"/>
+  <Method id="_5481" name="round_error" returns="_3949" static="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE11round_errorEv" demangled="std::numeric_limits<bool>::round_error()" location="f95:333" file="f95" line="333" endline="333" inline="1"/>
+  <Method id="_5482" name="infinity" returns="_3949" static="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE8infinityEv" demangled="std::numeric_limits<bool>::infinity()" location="f95:347" file="f95" line="347" endline="347" inline="1"/>
+  <Method id="_5483" name="quiet_NaN" returns="_3949" static="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE9quiet_NaNEv" demangled="std::numeric_limits<bool>::quiet_NaN()" location="f95:349" file="f95" line="349" endline="349" inline="1"/>
+  <Method id="_5484" name="signaling_NaN" returns="_3949" static="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE13signaling_NaNEv" demangled="std::numeric_limits<bool>::signaling_NaN()" location="f95:351" file="f95" line="351" endline="351" inline="1"/>
+  <Method id="_5485" name="denorm_min" returns="_3949" static="1" throw="" context="_2191" access="public" mangled="_ZNSt14numeric_limitsIbE10denorm_minEv" demangled="std::numeric_limits<bool>::denorm_min()" location="f95:353" file="f95" line="353" endline="353" inline="1"/>
+  <Variable id="_5486" name="is_specialized" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base14is_specializedE" demangled="std::__numeric_limits_base::is_specialized" location="f95:195" file="f95" line="195" extern="1"/>
+  <Variable id="_5487" name="digits" type="_503c" init="0" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base6digitsE" demangled="std::__numeric_limits_base::digits" location="f95:200" file="f95" line="200" extern="1"/>
+  <Variable id="_5488" name="digits10" type="_503c" init="0" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base8digits10E" demangled="std::__numeric_limits_base::digits10" location="f95:202" file="f95" line="202" extern="1"/>
+  <Variable id="_5489" name="is_signed" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base9is_signedE" demangled="std::__numeric_limits_base::is_signed" location="f95:204" file="f95" line="204" extern="1"/>
+  <Variable id="_5490" name="is_integer" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base10is_integerE" demangled="std::__numeric_limits_base::is_integer" location="f95:210" file="f95" line="210" extern="1"/>
+  <Variable id="_5491" name="is_exact" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base8is_exactE" demangled="std::__numeric_limits_base::is_exact" location="f95:215" file="f95" line="215" extern="1"/>
+  <Variable id="_5492" name="radix" type="_503c" init="0" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base5radixE" demangled="std::__numeric_limits_base::radix" location="f95:218" file="f95" line="218" extern="1"/>
+  <Variable id="_5493" name="min_exponent" type="_503c" init="0" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base12min_exponentE" demangled="std::__numeric_limits_base::min_exponent" location="f95:222" file="f95" line="222" extern="1"/>
+  <Variable id="_5494" name="min_exponent10" type="_503c" init="0" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base14min_exponent10E" demangled="std::__numeric_limits_base::min_exponent10" location="f95:225" file="f95" line="225" extern="1"/>
+  <Variable id="_5495" name="max_exponent" type="_503c" init="0" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base12max_exponentE" demangled="std::__numeric_limits_base::max_exponent" location="f95:229" file="f95" line="229" extern="1"/>
+  <Variable id="_5496" name="max_exponent10" type="_503c" init="0" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base14max_exponent10E" demangled="std::__numeric_limits_base::max_exponent10" location="f95:232" file="f95" line="232" extern="1"/>
+  <Variable id="_5497" name="has_infinity" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base12has_infinityE" demangled="std::__numeric_limits_base::has_infinity" location="f95:235" file="f95" line="235" extern="1"/>
+  <Variable id="_5498" name="has_quiet_NaN" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base13has_quiet_NaNE" demangled="std::__numeric_limits_base::has_quiet_NaN" location="f95:238" file="f95" line="238" extern="1"/>
+  <Variable id="_5499" name="has_signaling_NaN" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base17has_signaling_NaNE" demangled="std::__numeric_limits_base::has_signaling_NaN" location="f95:241" file="f95" line="241" extern="1"/>
+  <Variable id="_5500" name="has_denorm" type="_2193c" init="denorm_absent" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base10has_denormE" demangled="std::__numeric_limits_base::has_denorm" location="f95:243" file="f95" line="243" extern="1"/>
+  <Variable id="_5501" name="has_denorm_loss" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base15has_denorm_lossE" demangled="std::__numeric_limits_base::has_denorm_loss" location="f95:246" file="f95" line="246" extern="1"/>
+  <Variable id="_5502" name="is_iec559" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base9is_iec559E" demangled="std::__numeric_limits_base::is_iec559" location="f95:250" file="f95" line="250" extern="1"/>
+  <Variable id="_5503" name="is_bounded" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base10is_boundedE" demangled="std::__numeric_limits_base::is_bounded" location="f95:254" file="f95" line="254" extern="1"/>
+  <Variable id="_5504" name="is_modulo" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base9is_moduloE" demangled="std::__numeric_limits_base::is_modulo" location="f95:259" file="f95" line="259" extern="1"/>
+  <Variable id="_5505" name="traps" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base5trapsE" demangled="std::__numeric_limits_base::traps" location="f95:262" file="f95" line="262" extern="1"/>
+  <Variable id="_5506" name="tinyness_before" type="_3949c" init="false" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base15tinyness_beforeE" demangled="std::__numeric_limits_base::tinyness_before" location="f95:264" file="f95" line="264" extern="1"/>
+  <Variable id="_5507" name="round_style" type="_2194c" init="round_toward_zero" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_base11round_styleE" demangled="std::__numeric_limits_base::round_style" location="f95:268" file="f95" line="268" extern="1"/>
+  <Constructor id="_5508" name="__numeric_limits_base" artificial="1" throw="" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_baseC1ERKS_ *INTERNAL* " demangled="std::__numeric_limits_base::__numeric_limits_base(std::__numeric_limits_base const&)" location="f95:192" file="f95" line="192" inline="1">
+    <Argument name="_ctor_arg" type="_11436" location="f95:192" file="f95" line="192"/>
+  </Constructor>
+  <Constructor id="_5509" name="__numeric_limits_base" explicit="1" artificial="1" throw="" context="_2192" access="public" mangled="_ZNSt21__numeric_limits_baseC1Ev *INTERNAL* " demangled="std::__numeric_limits_base::__numeric_limits_base()" location="f95:192" file="f95" line="192" inline="1"/>
+  <ReferenceType id="_5510" type="_2515c" size="32" align="32"/>
+  <ReferenceType id="_5511" type="_2512c" size="32" align="32"/>
+  <CvQualifiedType id="_2257c" type="_2257" const="1"/>
+  <Constructor id="_5514" name="nothrow_t" artificial="1" throw="" context="_2257" access="public" mangled="_ZNSt9nothrow_tC1ERKS_ *INTERNAL* " demangled="std::nothrow_t::nothrow_t(std::nothrow_t const&)" location="f34:64" file="f34" line="64" inline="1">
+    <Argument name="_ctor_arg" type="_2777" location="f34:64" file="f34" line="64"/>
+  </Constructor>
+  <Constructor id="_5515" name="nothrow_t" explicit="1" artificial="1" throw="" context="_2257" access="public" mangled="_ZNSt9nothrow_tC1Ev *INTERNAL* " demangled="std::nothrow_t::nothrow_t()" location="f34:64" file="f34" line="64" inline="1"/>
+  <ReferenceType id="_5516" type="_10703c" size="32" align="32"/>
+  <ReferenceType id="_5517" type="_2365c" size="32" align="32"/>
+  <ReferenceType id="_5518" type="_2316c" size="32" align="32"/>
+  <ReferenceType id="_5519" type="_2338c" size="32" align="32"/>
+  <ReferenceType id="_5520" type="_2335c" size="32" align="32"/>
+  <ReferenceType id="_5521" type="_2084c" size="32" align="32"/>
+  <ReferenceType id="_5522" type="_2329c" size="32" align="32"/>
+  <ReferenceType id="_5523" type="_2327c" size="32" align="32"/>
+  <ReferenceType id="_5524" type="_2323c" size="32" align="32"/>
+  <ReferenceType id="_5525" type="_2324c" size="32" align="32"/>
+  <ReferenceType id="_5526" type="_2351c" size="32" align="32"/>
+  <ReferenceType id="_5527" type="_2349c" size="32" align="32"/>
+  <ReferenceType id="_5528" type="_2347c" size="32" align="32"/>
+  <ReferenceType id="_5529" type="_2343c" size="32" align="32"/>
+  <ReferenceType id="_5530" type="_2355c" size="32" align="32"/>
+  <ReferenceType id="_5531" type="_2317c" size="32" align="32"/>
+  <ReferenceType id="_5532" type="_2339c" size="32" align="32"/>
+  <ReferenceType id="_5533" type="_2334c" size="32" align="32"/>
+  <ReferenceType id="_5534" type="_2085c" size="32" align="32"/>
+  <ReferenceType id="_5535" type="_2330c" size="32" align="32"/>
+  <ReferenceType id="_5536" type="_2328c" size="32" align="32"/>
+  <ReferenceType id="_5537" type="_2325c" size="32" align="32"/>
+  <ReferenceType id="_5538" type="_2326c" size="32" align="32"/>
+  <ReferenceType id="_5539" type="_2352c" size="32" align="32"/>
+  <ReferenceType id="_5540" type="_2350c" size="32" align="32"/>
+  <ReferenceType id="_5541" type="_2348c" size="32" align="32"/>
+  <ReferenceType id="_5542" type="_2344c" size="32" align="32"/>
+  <ReferenceType id="_5543" type="_2356c" size="32" align="32"/>
+  <ReferenceType id="_5544" type="_2361c" size="32" align="32"/>
+  <ReferenceType id="_5545" type="_2362c" size="32" align="32"/>
+  <Typedef id="_5546" name="char_type" type="_2786" context="_2314" access="public" location="f29:4478" file="f29" line="4478"/>
+  <Typedef id="_5547" name="string_type" type="_2506" context="_2314" access="public" location="f29:4479" file="f29" line="4479"/>
+  <Constructor id="_5548" name="messages_byname" artificial="1" context="_2314" access="public" mangled="_ZNSt15messages_bynameIwEC1ERKS0_ *INTERNAL* " demangled="std::messages_byname<wchar_t>::messages_byname(std::messages_byname<wchar_t> const&)" location="f29:4476" file="f29" line="4476" inline="1">
+    <Argument name="_ctor_arg" type="_11469" location="f29:4476" file="f29" line="4476"/>
+  </Constructor>
+  <Constructor id="_5549" name="messages_byname" explicit="1" context="_2314" access="public" mangled="_ZNSt15messages_bynameIwEC1EPKcj *INTERNAL* " demangled="std::messages_byname<wchar_t>::messages_byname(char const*, unsigned)" location="f186:94" file="f186" line="94" extern="1">
+    <Argument name="__s" type="_2749" location="f186:94" file="f186" line="94"/>
+    <Argument name="__refs" type="_1698" location="f186:94" file="f186" line="94" default="0"/>
+  </Constructor>
+  <Destructor id="_5550" name="messages_byname" virtual="1" context="_2314" access="protected" mangled="_ZNSt15messages_bynameIwED1Ev *INTERNAL* " demangled="std::messages_byname<wchar_t>::~messages_byname()" location="f29:4487" file="f29" line="4487" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_5551" name="char_type" type="_2961" context="_2315" access="public" location="f29:4478" file="f29" line="4478"/>
+  <Typedef id="_5552" name="string_type" type="_2508" context="_2315" access="public" location="f29:4479" file="f29" line="4479"/>
+  <Constructor id="_5553" name="messages_byname" artificial="1" context="_2315" access="public" mangled="_ZNSt15messages_bynameIcEC1ERKS0_ *INTERNAL* " demangled="std::messages_byname<char>::messages_byname(std::messages_byname<char> const&)" location="f29:4476" file="f29" line="4476" inline="1">
+    <Argument name="_ctor_arg" type="_11470" location="f29:4476" file="f29" line="4476"/>
+  </Constructor>
+  <Constructor id="_5554" name="messages_byname" explicit="1" context="_2315" access="public" mangled="_ZNSt15messages_bynameIcEC1EPKcj *INTERNAL* " demangled="std::messages_byname<char>::messages_byname(char const*, unsigned)" location="f186:94" file="f186" line="94" extern="1">
+    <Argument name="__s" type="_2749" location="f186:94" file="f186" line="94"/>
+    <Argument name="__refs" type="_1698" location="f186:94" file="f186" line="94" default="0"/>
+  </Constructor>
+  <Destructor id="_5555" name="messages_byname" virtual="1" context="_2315" access="protected" mangled="_ZNSt15messages_bynameIcED1Ev *INTERNAL* " demangled="std::messages_byname<char>::~messages_byname()" location="f29:4487" file="f29" line="4487" extern="1" inline="1">
+  </Destructor>
+  <Field id="_5556" name="_M_c_locale_messages" type="_2534" offset="64" context="_2316" access="protected" mangled="_ZNSt8messagesIwE20_M_c_locale_messagesE" demangled="std::messages<wchar_t>::_M_c_locale_messages" location="f29:4271" file="f29" line="4271"/>
+  <Field id="_5557" name="_M_name_messages" type="_2749" offset="96" context="_2316" access="protected" mangled="_ZNSt8messagesIwE16_M_name_messagesE" demangled="std::messages<wchar_t>::_M_name_messages" location="f29:4272" file="f29" line="4272"/>
+  <Variable id="_5558" name="id" type="_6222" context="_2316" access="public" mangled="_ZNSt8messagesIwE2idE" demangled="std::messages<wchar_t>::id" location="f29:4460" file="f29" line="4460" extern="1"/>
+  <Typedef id="_5559" name="char_type" type="_2786" context="_2316" access="public" location="f29:4264" file="f29" line="4264"/>
+  <Typedef id="_5560" name="string_type" type="_2506" context="_2316" access="public" location="f29:4265" file="f29" line="4265"/>
+  <Constructor id="_5561" name="messages" artificial="1" context="_2316" access="public" mangled="_ZNSt8messagesIwEC1ERKS0_ *INTERNAL* " demangled="std::messages<wchar_t>::messages(std::messages<wchar_t> const&)" location="f29:4259" file="f29" line="4259" inline="1">
+    <Argument name="_ctor_arg" type="_5518" location="f29:4259" file="f29" line="4259"/>
+  </Constructor>
+  <Constructor id="_5562" name="messages" explicit="1" context="_2316" access="public" mangled="_ZNSt8messagesIwEC1Ej *INTERNAL* " demangled="std::messages<wchar_t>::messages(unsigned)" location="f29:4286" file="f29" line="4286" extern="1">
+    <Argument name="__refs" type="_1698" location="f29:4286" file="f29" line="4286" default="0"/>
+  </Constructor>
+  <Constructor id="_5563" name="messages" explicit="1" context="_2316" access="public" mangled="_ZNSt8messagesIwEC1EP15__locale_structPKcj *INTERNAL* " demangled="std::messages<wchar_t>::messages(__locale_struct*, char const*, unsigned)" location="f29:4300" file="f29" line="4300" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:4300" file="f29" line="4300"/>
+    <Argument name="__s" type="_2749" location="f29:4300" file="f29" line="4300"/>
+    <Argument name="__refs" type="_1698" location="f29:4300" file="f29" line="4300" default="0"/>
+  </Constructor>
+  <Method id="_5564" name="open" returns="_503" const="1" context="_2316" access="public" mangled="_ZNKSt8messagesIwE4openERKSsRKSt6locale" demangled="std::messages<wchar_t>::open(std::string const&, std::locale const&) const" location="f29:4314" file="f29" line="4314" extern="1" inline="1">
+    <Argument name="__s" type="_4948" location="f29:4314" file="f29" line="4314"/>
+    <Argument name="__loc" type="_5517" location="f29:4314" file="f29" line="4314"/>
+  </Method>
+  <Method id="_5565" name="open" returns="_503" const="1" context="_2316" access="public" mangled="_ZNKSt8messagesIwE4openERKSsRKSt6localePKc" demangled="std::messages<wchar_t>::open(std::string const&, std::locale const&, char const*) const" location="f29:4331" file="f29" line="4331" extern="1">
+    <Argument type="_4948" location="f29:4331" file="f29" line="4331"/>
+    <Argument type="_5517" location="f29:4331" file="f29" line="4331"/>
+    <Argument type="_2749" location="f29:4331" file="f29" line="4331"/>
+  </Method>
+  <Method id="_5566" name="get" returns="_2506" const="1" context="_2316" access="public" mangled="_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE" demangled="std::messages<wchar_t>::get(int, int, int, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) const" location="f29:4350" file="f29" line="4350" extern="1" inline="1">
+    <Argument name="__c" type="_503" location="f29:4350" file="f29" line="4350"/>
+    <Argument name="__set" type="_503" location="f29:4350" file="f29" line="4350"/>
+    <Argument name="__msgid" type="_503" location="f29:4350" file="f29" line="4350"/>
+    <Argument name="__s" type="_4947" location="f29:4350" file="f29" line="4350"/>
+  </Method>
+  <Method id="_5567" name="close" returns="_1194" const="1" context="_2316" access="public" mangled="_ZNKSt8messagesIwE5closeEi" demangled="std::messages<wchar_t>::close(int) const" location="f29:4361" file="f29" line="4361" extern="1" inline="1">
+    <Argument name="__c" type="_503" location="f29:4361" file="f29" line="4361"/>
+  </Method>
+  <Destructor id="_5568" name="messages" virtual="1" context="_2316" access="protected" mangled="_ZNSt8messagesIwED1Ev *INTERNAL* " demangled="std::messages<wchar_t>::~messages()" location="f29:4366" file="f29" line="4366" extern="1">
+  </Destructor>
+  <Method id="_5569" name="do_open" returns="_503" const="1" virtual="1" context="_2316" access="protected" mangled="_ZNKSt8messagesIwE7do_openERKSsRKSt6locale" demangled="std::messages<wchar_t>::do_open(std::string const&, std::locale const&) const" location="f29:4380" file="f29" line="4380" extern="1">
+    <Argument type="_4948" location="f29:4380" file="f29" line="4380"/>
+    <Argument type="_5517" location="f29:4380" file="f29" line="4380"/>
+  </Method>
+  <Method id="_5570" name="do_get" returns="_2507" const="1" virtual="1" context="_2316" access="protected" mangled="_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE" demangled="std::messages<wchar_t>::do_get(int, int, int, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) const" location="f29:4470" file="f29" line="4470" extern="1">
+    <Argument type="_503" location="f29:4470" file="f29" line="4470"/>
+    <Argument type="_503" location="f29:4470" file="f29" line="4470"/>
+    <Argument type="_503" location="f29:4470" file="f29" line="4470"/>
+    <Argument type="_11471" location="f29:4470" file="f29" line="4470"/>
+  </Method>
+  <Method id="_5571" name="do_close" returns="_1194" const="1" virtual="1" context="_2316" access="protected" mangled="_ZNKSt8messagesIwE8do_closeEi" demangled="std::messages<wchar_t>::do_close(int) const" location="f29:4407" file="f29" line="4407" extern="1">
+    <Argument type="_503" location="f29:4407" file="f29" line="4407"/>
+  </Method>
+  <Method id="_5572" name="_M_convert_to_char" returns="_1149" const="1" context="_2316" access="protected" mangled="_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE" demangled="std::messages<wchar_t>::_M_convert_to_char(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) const" location="f29:4412" file="f29" line="4412" extern="1" inline="1">
+    <Argument name="__msg" type="_4947" location="f29:4412" file="f29" line="4412"/>
+  </Method>
+  <Method id="_5573" name="_M_convert_from_char" returns="_2506" const="1" context="_2316" access="protected" mangled="_ZNKSt8messagesIwE20_M_convert_from_charEPc" demangled="std::messages<wchar_t>::_M_convert_from_char(char*) const" location="f29:4420" file="f29" line="4420" extern="1" inline="1">
+    <Argument type="_1149" location="f29:4420" file="f29" line="4420"/>
+  </Method>
+  <Field id="_5574" name="_M_c_locale_messages" type="_2534" offset="64" context="_2317" access="protected" mangled="_ZNSt8messagesIcE20_M_c_locale_messagesE" demangled="std::messages<char>::_M_c_locale_messages" location="f29:4271" file="f29" line="4271"/>
+  <Field id="_5575" name="_M_name_messages" type="_2749" offset="96" context="_2317" access="protected" mangled="_ZNSt8messagesIcE16_M_name_messagesE" demangled="std::messages<char>::_M_name_messages" location="f29:4272" file="f29" line="4272"/>
+  <Variable id="_5576" name="id" type="_6222" context="_2317" access="public" mangled="_ZNSt8messagesIcE2idE" demangled="std::messages<char>::id" location="f29:4460" file="f29" line="4460" extern="1"/>
+  <Typedef id="_5577" name="char_type" type="_2961" context="_2317" access="public" location="f29:4264" file="f29" line="4264"/>
+  <Typedef id="_5578" name="string_type" type="_2508" context="_2317" access="public" location="f29:4265" file="f29" line="4265"/>
+  <Constructor id="_5579" name="messages" artificial="1" context="_2317" access="public" mangled="_ZNSt8messagesIcEC1ERKS0_ *INTERNAL* " demangled="std::messages<char>::messages(std::messages<char> const&)" location="f29:4259" file="f29" line="4259" inline="1">
+    <Argument name="_ctor_arg" type="_5531" location="f29:4259" file="f29" line="4259"/>
+  </Constructor>
+  <Constructor id="_5580" name="messages" explicit="1" context="_2317" access="public" mangled="_ZNSt8messagesIcEC1Ej *INTERNAL* " demangled="std::messages<char>::messages(unsigned)" location="f29:4286" file="f29" line="4286" extern="1">
+    <Argument name="__refs" type="_1698" location="f29:4286" file="f29" line="4286" default="0"/>
+  </Constructor>
+  <Constructor id="_5581" name="messages" explicit="1" context="_2317" access="public" mangled="_ZNSt8messagesIcEC1EP15__locale_structPKcj *INTERNAL* " demangled="std::messages<char>::messages(__locale_struct*, char const*, unsigned)" location="f29:4300" file="f29" line="4300" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:4300" file="f29" line="4300"/>
+    <Argument name="__s" type="_2749" location="f29:4300" file="f29" line="4300"/>
+    <Argument name="__refs" type="_1698" location="f29:4300" file="f29" line="4300" default="0"/>
+  </Constructor>
+  <Method id="_5582" name="open" returns="_503" const="1" context="_2317" access="public" mangled="_ZNKSt8messagesIcE4openERKSsRKSt6locale" demangled="std::messages<char>::open(std::string const&, std::locale const&) const" location="f29:4314" file="f29" line="4314" extern="1" inline="1">
+    <Argument name="__s" type="_4948" location="f29:4314" file="f29" line="4314"/>
+    <Argument name="__loc" type="_5517" location="f29:4314" file="f29" line="4314"/>
+  </Method>
+  <Method id="_5583" name="open" returns="_503" const="1" context="_2317" access="public" mangled="_ZNKSt8messagesIcE4openERKSsRKSt6localePKc" demangled="std::messages<char>::open(std::string const&, std::locale const&, char const*) const" location="f29:4331" file="f29" line="4331" extern="1">
+    <Argument type="_4948" location="f29:4331" file="f29" line="4331"/>
+    <Argument type="_5517" location="f29:4331" file="f29" line="4331"/>
+    <Argument type="_2749" location="f29:4331" file="f29" line="4331"/>
+  </Method>
+  <Method id="_5584" name="get" returns="_2508" const="1" context="_2317" access="public" mangled="_ZNKSt8messagesIcE3getEiiiRKSs" demangled="std::messages<char>::get(int, int, int, std::string const&) const" location="f29:4350" file="f29" line="4350" extern="1" inline="1">
+    <Argument name="__c" type="_503" location="f29:4350" file="f29" line="4350"/>
+    <Argument name="__set" type="_503" location="f29:4350" file="f29" line="4350"/>
+    <Argument name="__msgid" type="_503" location="f29:4350" file="f29" line="4350"/>
+    <Argument name="__s" type="_4948" location="f29:4350" file="f29" line="4350"/>
+  </Method>
+  <Method id="_5585" name="close" returns="_1194" const="1" context="_2317" access="public" mangled="_ZNKSt8messagesIcE5closeEi" demangled="std::messages<char>::close(int) const" location="f29:4361" file="f29" line="4361" extern="1" inline="1">
+    <Argument name="__c" type="_503" location="f29:4361" file="f29" line="4361"/>
+  </Method>
+  <Destructor id="_5586" name="messages" virtual="1" context="_2317" access="protected" mangled="_ZNSt8messagesIcED1Ev *INTERNAL* " demangled="std::messages<char>::~messages()" location="f29:4366" file="f29" line="4366" extern="1">
+  </Destructor>
+  <Method id="_5587" name="do_open" returns="_503" const="1" virtual="1" context="_2317" access="protected" mangled="_ZNKSt8messagesIcE7do_openERKSsRKSt6locale" demangled="std::messages<char>::do_open(std::string const&, std::locale const&) const" location="f29:4380" file="f29" line="4380" extern="1">
+    <Argument type="_4948" location="f29:4380" file="f29" line="4380"/>
+    <Argument type="_5517" location="f29:4380" file="f29" line="4380"/>
+  </Method>
+  <Method id="_5588" name="do_get" returns="_2509" const="1" virtual="1" context="_2317" access="protected" mangled="_ZNKSt8messagesIcE6do_getEiiiRKSs" demangled="std::messages<char>::do_get(int, int, int, std::string const&) const" location="f29:4465" file="f29" line="4465" extern="1">
+    <Argument type="_503" location="f29:4465" file="f29" line="4465"/>
+    <Argument type="_503" location="f29:4465" file="f29" line="4465"/>
+    <Argument type="_503" location="f29:4465" file="f29" line="4465"/>
+    <Argument type="_4020" location="f29:4465" file="f29" line="4465"/>
+  </Method>
+  <Method id="_5589" name="do_close" returns="_1194" const="1" virtual="1" context="_2317" access="protected" mangled="_ZNKSt8messagesIcE8do_closeEi" demangled="std::messages<char>::do_close(int) const" location="f29:4407" file="f29" line="4407" extern="1">
+    <Argument type="_503" location="f29:4407" file="f29" line="4407"/>
+  </Method>
+  <Method id="_5590" name="_M_convert_to_char" returns="_1149" const="1" context="_2317" access="protected" mangled="_ZNKSt8messagesIcE18_M_convert_to_charERKSs" demangled="std::messages<char>::_M_convert_to_char(std::string const&) const" location="f29:4412" file="f29" line="4412" extern="1" inline="1">
+    <Argument name="__msg" type="_4948" location="f29:4412" file="f29" line="4412"/>
+  </Method>
+  <Method id="_5591" name="_M_convert_from_char" returns="_2508" const="1" context="_2317" access="protected" mangled="_ZNKSt8messagesIcE20_M_convert_from_charEPc" demangled="std::messages<char>::_M_convert_from_char(char*) const" location="f29:4420" file="f29" line="4420" extern="1" inline="1">
+    <Argument type="_1149" location="f29:4420" file="f29" line="4420"/>
+  </Method>
+  <Typedef id="_5592" name="catalog" type="_503" context="_2318" access="public" location="f29:4234" file="f29" line="4234"/>
+  <Constructor id="_5593" name="messages_base" artificial="1" throw="" context="_2318" access="public" mangled="_ZNSt13messages_baseC1ERKS_ *INTERNAL* " demangled="std::messages_base::messages_base(std::messages_base const&)" location="f29:4233" file="f29" line="4233" inline="1">
+    <Argument name="_ctor_arg" type="_11472" location="f29:4233" file="f29" line="4233"/>
+  </Constructor>
+  <Constructor id="_5594" name="messages_base" explicit="1" artificial="1" throw="" context="_2318" access="public" mangled="_ZNSt13messages_baseC1Ev *INTERNAL* " demangled="std::messages_base::messages_base()" location="f29:4233" file="f29" line="4233" inline="1"/>
+  <Variable id="_5595" name="intl" type="_3949c" init="true" context="_2319" access="public" mangled="_ZNSt17moneypunct_bynameIwLb1EE4intlE" demangled="std::moneypunct_byname<wchar_t, true>::intl" location="f29:3933" file="f29" line="3933" extern="1"/>
+  <Typedef id="_5596" name="char_type" type="_2786" context="_2319" access="public" location="f29:3930" file="f29" line="3930"/>
+  <Typedef id="_5597" name="string_type" type="_2506" context="_2319" access="public" location="f29:3931" file="f29" line="3931"/>
+  <Constructor id="_5598" name="moneypunct_byname" artificial="1" context="_2319" access="public" mangled="_ZNSt17moneypunct_bynameIwLb1EEC1ERKS0_ *INTERNAL* " demangled="std::moneypunct_byname<wchar_t, true>::moneypunct_byname(std::moneypunct_byname<wchar_t, true> const&)" location="f29:3928" file="f29" line="3928" inline="1">
+    <Argument name="_ctor_arg" type="_11473" location="f29:3928" file="f29" line="3928"/>
+  </Constructor>
+  <Constructor id="_5599" name="moneypunct_byname" explicit="1" context="_2319" access="public" mangled="_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj *INTERNAL* " demangled="std::moneypunct_byname<wchar_t, true>::moneypunct_byname(char const*, unsigned)" location="f29:3937" file="f29" line="3937" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f29:3937" file="f29" line="3937"/>
+    <Argument name="__refs" type="_1698" location="f29:3937" file="f29" line="3937" default="0"/>
+  </Constructor>
+  <Destructor id="_5600" name="moneypunct_byname" virtual="1" context="_2319" access="protected" mangled="_ZNSt17moneypunct_bynameIwLb1EED1Ev *INTERNAL* " demangled="std::moneypunct_byname<wchar_t, true>::~moneypunct_byname()" location="f29:3950" file="f29" line="3950" extern="1" inline="1">
+  </Destructor>
+  <Variable id="_5601" name="intl" type="_3949c" init="false" context="_2320" access="public" mangled="_ZNSt17moneypunct_bynameIwLb0EE4intlE" demangled="std::moneypunct_byname<wchar_t, false>::intl" location="f29:3933" file="f29" line="3933" extern="1"/>
+  <Typedef id="_5602" name="char_type" type="_2786" context="_2320" access="public" location="f29:3930" file="f29" line="3930"/>
+  <Typedef id="_5603" name="string_type" type="_2506" context="_2320" access="public" location="f29:3931" file="f29" line="3931"/>
+  <Constructor id="_5604" name="moneypunct_byname" artificial="1" context="_2320" access="public" mangled="_ZNSt17moneypunct_bynameIwLb0EEC1ERKS0_ *INTERNAL* " demangled="std::moneypunct_byname<wchar_t, false>::moneypunct_byname(std::moneypunct_byname<wchar_t, false> const&)" location="f29:3928" file="f29" line="3928" inline="1">
+    <Argument name="_ctor_arg" type="_11474" location="f29:3928" file="f29" line="3928"/>
+  </Constructor>
+  <Constructor id="_5605" name="moneypunct_byname" explicit="1" context="_2320" access="public" mangled="_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj *INTERNAL* " demangled="std::moneypunct_byname<wchar_t, false>::moneypunct_byname(char const*, unsigned)" location="f29:3937" file="f29" line="3937" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f29:3937" file="f29" line="3937"/>
+    <Argument name="__refs" type="_1698" location="f29:3937" file="f29" line="3937" default="0"/>
+  </Constructor>
+  <Destructor id="_5606" name="moneypunct_byname" virtual="1" context="_2320" access="protected" mangled="_ZNSt17moneypunct_bynameIwLb0EED1Ev *INTERNAL* " demangled="std::moneypunct_byname<wchar_t, false>::~moneypunct_byname()" location="f29:3950" file="f29" line="3950" extern="1" inline="1">
+  </Destructor>
+  <Variable id="_5607" name="intl" type="_3949c" init="true" context="_2321" access="public" mangled="_ZNSt17moneypunct_bynameIcLb1EE4intlE" demangled="std::moneypunct_byname<char, true>::intl" location="f29:3933" file="f29" line="3933" extern="1"/>
+  <Typedef id="_5608" name="char_type" type="_2961" context="_2321" access="public" location="f29:3930" file="f29" line="3930"/>
+  <Typedef id="_5609" name="string_type" type="_2508" context="_2321" access="public" location="f29:3931" file="f29" line="3931"/>
+  <Constructor id="_5610" name="moneypunct_byname" artificial="1" context="_2321" access="public" mangled="_ZNSt17moneypunct_bynameIcLb1EEC1ERKS0_ *INTERNAL* " demangled="std::moneypunct_byname<char, true>::moneypunct_byname(std::moneypunct_byname<char, true> const&)" location="f29:3928" file="f29" line="3928" inline="1">
+    <Argument name="_ctor_arg" type="_11475" location="f29:3928" file="f29" line="3928"/>
+  </Constructor>
+  <Constructor id="_5611" name="moneypunct_byname" explicit="1" context="_2321" access="public" mangled="_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj *INTERNAL* " demangled="std::moneypunct_byname<char, true>::moneypunct_byname(char const*, unsigned)" location="f29:3937" file="f29" line="3937" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f29:3937" file="f29" line="3937"/>
+    <Argument name="__refs" type="_1698" location="f29:3937" file="f29" line="3937" default="0"/>
+  </Constructor>
+  <Destructor id="_5612" name="moneypunct_byname" virtual="1" context="_2321" access="protected" mangled="_ZNSt17moneypunct_bynameIcLb1EED1Ev *INTERNAL* " demangled="std::moneypunct_byname<char, true>::~moneypunct_byname()" location="f29:3950" file="f29" line="3950" extern="1" inline="1">
+  </Destructor>
+  <Variable id="_5613" name="intl" type="_3949c" init="false" context="_2322" access="public" mangled="_ZNSt17moneypunct_bynameIcLb0EE4intlE" demangled="std::moneypunct_byname<char, false>::intl" location="f29:3933" file="f29" line="3933" extern="1"/>
+  <Typedef id="_5614" name="char_type" type="_2961" context="_2322" access="public" location="f29:3930" file="f29" line="3930"/>
+  <Typedef id="_5615" name="string_type" type="_2508" context="_2322" access="public" location="f29:3931" file="f29" line="3931"/>
+  <Constructor id="_5616" name="moneypunct_byname" artificial="1" context="_2322" access="public" mangled="_ZNSt17moneypunct_bynameIcLb0EEC1ERKS0_ *INTERNAL* " demangled="std::moneypunct_byname<char, false>::moneypunct_byname(std::moneypunct_byname<char, false> const&)" location="f29:3928" file="f29" line="3928" inline="1">
+    <Argument name="_ctor_arg" type="_11476" location="f29:3928" file="f29" line="3928"/>
+  </Constructor>
+  <Constructor id="_5617" name="moneypunct_byname" explicit="1" context="_2322" access="public" mangled="_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj *INTERNAL* " demangled="std::moneypunct_byname<char, false>::moneypunct_byname(char const*, unsigned)" location="f29:3937" file="f29" line="3937" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f29:3937" file="f29" line="3937"/>
+    <Argument name="__refs" type="_1698" location="f29:3937" file="f29" line="3937" default="0"/>
+  </Constructor>
+  <Destructor id="_5618" name="moneypunct_byname" virtual="1" context="_2322" access="protected" mangled="_ZNSt17moneypunct_bynameIcLb0EED1Ev *INTERNAL* " demangled="std::moneypunct_byname<char, false>::~moneypunct_byname()" location="f29:3950" file="f29" line="3950" extern="1" inline="1">
+  </Destructor>
+  <Field id="_5619" name="_M_data" type="_11477" offset="64" context="_2323" access="private" mangled="_ZNSt10moneypunctIwLb0EE7_M_dataE" demangled="std::moneypunct<wchar_t, false>::_M_data" location="f29:3552" file="f29" line="3552"/>
+  <Variable id="_5620" name="intl" type="_3949c" init="false" context="_2323" access="public" mangled="_ZNSt10moneypunctIwLb0EE4intlE" demangled="std::moneypunct<wchar_t, false>::intl" location="f29:3557" file="f29" line="3557" extern="1"/>
+  <Variable id="_5621" name="id" type="_6222" context="_2323" access="public" mangled="_ZNSt10moneypunctIwLb0EE2idE" demangled="std::moneypunct<wchar_t, false>::id" location="f29:3888" file="f29" line="3888" extern="1"/>
+  <Typedef id="_5622" name="char_type" type="_2786" context="_2323" access="public" location="f29:3546" file="f29" line="3546"/>
+  <Typedef id="_5623" name="string_type" type="_2506" context="_2323" access="public" location="f29:3547" file="f29" line="3547"/>
+  <Typedef id="_5624" name="__cache_type" type="_2080" context="_2323" access="public" location="f29:3549" file="f29" line="3549"/>
+  <Constructor id="_5625" name="moneypunct" artificial="1" context="_2323" access="public" mangled="_ZNSt10moneypunctIwLb0EEC1ERKS0_ *INTERNAL* " demangled="std::moneypunct<wchar_t, false>::moneypunct(std::moneypunct<wchar_t, false> const&)" location="f29:3541" file="f29" line="3541" inline="1">
+    <Argument name="_ctor_arg" type="_5524" location="f29:3541" file="f29" line="3541"/>
+  </Constructor>
+  <Constructor id="_5626" name="moneypunct" explicit="1" context="_2323" access="public" mangled="_ZNSt10moneypunctIwLb0EEC1Ej *INTERNAL* " demangled="std::moneypunct<wchar_t, false>::moneypunct(unsigned)" location="f29:3569" file="f29" line="3569" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3569" file="f29" line="3569" default="0"/>
+  </Constructor>
+  <Constructor id="_5627" name="moneypunct" explicit="1" context="_2323" access="public" mangled="_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj *INTERNAL* " demangled="std::moneypunct<wchar_t, false>::moneypunct(std::__moneypunct_cache<wchar_t, false>*, unsigned)" location="f29:3582" file="f29" line="3582" extern="1" inline="1">
+    <Argument name="__cache" type="_11477" location="f29:3582" file="f29" line="3582"/>
+    <Argument name="__refs" type="_1698" location="f29:3582" file="f29" line="3582" default="0"/>
+  </Constructor>
+  <Constructor id="_5628" name="moneypunct" explicit="1" context="_2323" access="public" mangled="_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj *INTERNAL* " demangled="std::moneypunct<wchar_t, false>::moneypunct(__locale_struct*, char const*, unsigned)" location="f29:3597" file="f29" line="3597" extern="1" inline="1">
+    <Argument name="__cloc" type="_2534" location="f29:3597" file="f29" line="3597"/>
+    <Argument name="__s" type="_2749" location="f29:3597" file="f29" line="3597"/>
+    <Argument name="__refs" type="_1698" location="f29:3597" file="f29" line="3597" default="0"/>
+  </Constructor>
+  <Method id="_5629" name="decimal_point" returns="_2786" const="1" context="_2323" access="public" mangled="_ZNKSt10moneypunctIwLb0EE13decimal_pointEv" demangled="std::moneypunct<wchar_t, false>::decimal_point() const" location="f29:3611" file="f29" line="3611" extern="1" inline="1"/>
+  <Method id="_5630" name="thousands_sep" returns="_2786" const="1" context="_2323" access="public" mangled="_ZNKSt10moneypunctIwLb0EE13thousands_sepEv" demangled="std::moneypunct<wchar_t, false>::thousands_sep() const" location="f29:3624" file="f29" line="3624" extern="1" inline="1"/>
+  <Method id="_5631" name="grouping" returns="_2508" const="1" context="_2323" access="public" mangled="_ZNKSt10moneypunctIwLb0EE8groupingEv" demangled="std::moneypunct<wchar_t, false>::grouping() const" location="f29:3653" file="f29" line="3653" extern="1" inline="1"/>
+  <Method id="_5632" name="curr_symbol" returns="_2506" const="1" context="_2323" access="public" mangled="_ZNKSt10moneypunctIwLb0EE11curr_symbolEv" demangled="std::moneypunct<wchar_t, false>::curr_symbol() const" location="f29:3666" file="f29" line="3666" extern="1" inline="1"/>
+  <Method id="_5633" name="positive_sign" returns="_2506" const="1" context="_2323" access="public" mangled="_ZNKSt10moneypunctIwLb0EE13positive_signEv" demangled="std::moneypunct<wchar_t, false>::positive_sign() const" location="f29:3683" file="f29" line="3683" extern="1" inline="1"/>
+  <Method id="_5634" name="negative_sign" returns="_2506" const="1" context="_2323" access="public" mangled="_ZNKSt10moneypunctIwLb0EE13negative_signEv" demangled="std::moneypunct<wchar_t, false>::negative_sign() const" location="f29:3700" file="f29" line="3700" extern="1" inline="1"/>
+  <Method id="_5635" name="frac_digits" returns="_503" const="1" context="_2323" access="public" mangled="_ZNKSt10moneypunctIwLb0EE11frac_digitsEv" demangled="std::moneypunct<wchar_t, false>::frac_digits() const" location="f29:3716" file="f29" line="3716" extern="1" inline="1"/>
+  <Method id="_5636" name="pos_format" returns="_5786" const="1" context="_2323" access="public" mangled="_ZNKSt10moneypunctIwLb0EE10pos_formatEv" demangled="std::moneypunct<wchar_t, false>::pos_format() const" location="f29:3751" file="f29" line="3751" extern="1" inline="1"/>
+  <Method id="_5637" name="neg_format" returns="_5786" const="1" context="_2323" access="public" mangled="_ZNKSt10moneypunctIwLb0EE10neg_formatEv" demangled="std::moneypunct<wchar_t, false>::neg_format() const" location="f29:3755" file="f29" line="3755" extern="1" inline="1"/>
+  <Destructor id="_5638" name="moneypunct" virtual="1" context="_2323" access="protected" mangled="_ZNSt10moneypunctIwLb0EED1Ev *INTERNAL* " demangled="std::moneypunct<wchar_t, false>::~moneypunct()" location="f29:3912" file="f29" line="3912" extern="1">
+  </Destructor>
+  <Method id="_5639" name="do_decimal_point" returns="_2786" const="1" virtual="1" context="_2323" access="protected" mangled="_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv" demangled="std::moneypunct<wchar_t, false>::do_decimal_point() const" location="f29:3773" file="f29" line="3773" extern="1" inline="1"/>
+  <Method id="_5640" name="do_thousands_sep" returns="_2786" const="1" virtual="1" context="_2323" access="protected" mangled="_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv" demangled="std::moneypunct<wchar_t, false>::do_thousands_sep() const" location="f29:3785" file="f29" line="3785" extern="1" inline="1"/>
+  <Method id="_5641" name="do_grouping" returns="_2508" const="1" virtual="1" context="_2323" access="protected" mangled="_ZNKSt10moneypunctIwLb0EE11do_groupingEv" demangled="std::moneypunct<wchar_t, false>::do_grouping() const" location="f29:3798" file="f29" line="3798" extern="1" inline="1"/>
+  <Method id="_5642" name="do_curr_symbol" returns="_2506" const="1" virtual="1" context="_2323" access="protected" mangled="_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv" demangled="std::moneypunct<wchar_t, false>::do_curr_symbol() const" location="f29:3811" file="f29" line="3811" extern="1" inline="1"/>
+  <Method id="_5643" name="do_positive_sign" returns="_2506" const="1" virtual="1" context="_2323" access="protected" mangled="_ZNKSt10moneypunctIwLb0EE16do_positive_signEv" demangled="std::moneypunct<wchar_t, false>::do_positive_sign() const" location="f29:3824" file="f29" line="3824" extern="1" inline="1"/>
+  <Method id="_5644" name="do_negative_sign" returns="_2506" const="1" virtual="1" context="_2323" access="protected" mangled="_ZNKSt10moneypunctIwLb0EE16do_negative_signEv" demangled="std::moneypunct<wchar_t, false>::do_negative_sign() const" location="f29:3837" file="f29" line="3837" extern="1" inline="1"/>
+  <Method id="_5645" name="do_frac_digits" returns="_503" const="1" virtual="1" context="_2323" access="protected" mangled="_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv" demangled="std::moneypunct<wchar_t, false>::do_frac_digits() const" location="f29:3851" file="f29" line="3851" extern="1" inline="1"/>
+  <Method id="_5646" name="do_pos_format" returns="_5786" const="1" virtual="1" context="_2323" access="protected" mangled="_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv" demangled="std::moneypunct<wchar_t, false>::do_pos_format() const" location="f29:3865" file="f29" line="3865" extern="1" inline="1"/>
+  <Method id="_5647" name="do_neg_format" returns="_5786" const="1" virtual="1" context="_2323" access="protected" mangled="_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv" demangled="std::moneypunct<wchar_t, false>::do_neg_format() const" location="f29:3879" file="f29" line="3879" extern="1" inline="1"/>
+  <Method id="_5648" name="_M_initialize_moneypunct" returns="_1194" context="_2323" access="protected" mangled="_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc" demangled="std::moneypunct<wchar_t, false>::_M_initialize_moneypunct(__locale_struct*, char const*)" location="f29:3922" file="f29" line="3922" extern="1">
+    <Argument type="_2534" location="f29:3922" file="f29" line="3922" default="0"/>
+    <Argument type="_2749" location="f29:3922" file="f29" line="3922" default="0"/>
+  </Method>
+  <Field id="_5649" name="_M_data" type="_11478" offset="64" context="_2324" access="private" mangled="_ZNSt10moneypunctIwLb1EE7_M_dataE" demangled="std::moneypunct<wchar_t, true>::_M_data" location="f29:3552" file="f29" line="3552"/>
+  <Variable id="_5650" name="intl" type="_3949c" init="true" context="_2324" access="public" mangled="_ZNSt10moneypunctIwLb1EE4intlE" demangled="std::moneypunct<wchar_t, true>::intl" location="f29:3557" file="f29" line="3557" extern="1"/>
+  <Variable id="_5651" name="id" type="_6222" context="_2324" access="public" mangled="_ZNSt10moneypunctIwLb1EE2idE" demangled="std::moneypunct<wchar_t, true>::id" location="f29:3888" file="f29" line="3888" extern="1"/>
+  <Typedef id="_5652" name="char_type" type="_2786" context="_2324" access="public" location="f29:3546" file="f29" line="3546"/>
+  <Typedef id="_5653" name="string_type" type="_2506" context="_2324" access="public" location="f29:3547" file="f29" line="3547"/>
+  <Typedef id="_5654" name="__cache_type" type="_2081" context="_2324" access="public" location="f29:3549" file="f29" line="3549"/>
+  <Constructor id="_5655" name="moneypunct" artificial="1" context="_2324" access="public" mangled="_ZNSt10moneypunctIwLb1EEC1ERKS0_ *INTERNAL* " demangled="std::moneypunct<wchar_t, true>::moneypunct(std::moneypunct<wchar_t, true> const&)" location="f29:3541" file="f29" line="3541" inline="1">
+    <Argument name="_ctor_arg" type="_5525" location="f29:3541" file="f29" line="3541"/>
+  </Constructor>
+  <Constructor id="_5656" name="moneypunct" explicit="1" context="_2324" access="public" mangled="_ZNSt10moneypunctIwLb1EEC1Ej *INTERNAL* " demangled="std::moneypunct<wchar_t, true>::moneypunct(unsigned)" location="f29:3569" file="f29" line="3569" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3569" file="f29" line="3569" default="0"/>
+  </Constructor>
+  <Constructor id="_5657" name="moneypunct" explicit="1" context="_2324" access="public" mangled="_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj *INTERNAL* " demangled="std::moneypunct<wchar_t, true>::moneypunct(std::__moneypunct_cache<wchar_t, true>*, unsigned)" location="f29:3582" file="f29" line="3582" extern="1" inline="1">
+    <Argument name="__cache" type="_11478" location="f29:3582" file="f29" line="3582"/>
+    <Argument name="__refs" type="_1698" location="f29:3582" file="f29" line="3582" default="0"/>
+  </Constructor>
+  <Constructor id="_5658" name="moneypunct" explicit="1" context="_2324" access="public" mangled="_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj *INTERNAL* " demangled="std::moneypunct<wchar_t, true>::moneypunct(__locale_struct*, char const*, unsigned)" location="f29:3597" file="f29" line="3597" extern="1" inline="1">
+    <Argument name="__cloc" type="_2534" location="f29:3597" file="f29" line="3597"/>
+    <Argument name="__s" type="_2749" location="f29:3597" file="f29" line="3597"/>
+    <Argument name="__refs" type="_1698" location="f29:3597" file="f29" line="3597" default="0"/>
+  </Constructor>
+  <Method id="_5659" name="decimal_point" returns="_2786" const="1" context="_2324" access="public" mangled="_ZNKSt10moneypunctIwLb1EE13decimal_pointEv" demangled="std::moneypunct<wchar_t, true>::decimal_point() const" location="f29:3611" file="f29" line="3611" extern="1" inline="1"/>
+  <Method id="_5660" name="thousands_sep" returns="_2786" const="1" context="_2324" access="public" mangled="_ZNKSt10moneypunctIwLb1EE13thousands_sepEv" demangled="std::moneypunct<wchar_t, true>::thousands_sep() const" location="f29:3624" file="f29" line="3624" extern="1" inline="1"/>
+  <Method id="_5661" name="grouping" returns="_2508" const="1" context="_2324" access="public" mangled="_ZNKSt10moneypunctIwLb1EE8groupingEv" demangled="std::moneypunct<wchar_t, true>::grouping() const" location="f29:3653" file="f29" line="3653" extern="1" inline="1"/>
+  <Method id="_5662" name="curr_symbol" returns="_2506" const="1" context="_2324" access="public" mangled="_ZNKSt10moneypunctIwLb1EE11curr_symbolEv" demangled="std::moneypunct<wchar_t, true>::curr_symbol() const" location="f29:3666" file="f29" line="3666" extern="1" inline="1"/>
+  <Method id="_5663" name="positive_sign" returns="_2506" const="1" context="_2324" access="public" mangled="_ZNKSt10moneypunctIwLb1EE13positive_signEv" demangled="std::moneypunct<wchar_t, true>::positive_sign() const" location="f29:3683" file="f29" line="3683" extern="1" inline="1"/>
+  <Method id="_5664" name="negative_sign" returns="_2506" const="1" context="_2324" access="public" mangled="_ZNKSt10moneypunctIwLb1EE13negative_signEv" demangled="std::moneypunct<wchar_t, true>::negative_sign() const" location="f29:3700" file="f29" line="3700" extern="1" inline="1"/>
+  <Method id="_5665" name="frac_digits" returns="_503" const="1" context="_2324" access="public" mangled="_ZNKSt10moneypunctIwLb1EE11frac_digitsEv" demangled="std::moneypunct<wchar_t, true>::frac_digits() const" location="f29:3716" file="f29" line="3716" extern="1" inline="1"/>
+  <Method id="_5666" name="pos_format" returns="_5786" const="1" context="_2324" access="public" mangled="_ZNKSt10moneypunctIwLb1EE10pos_formatEv" demangled="std::moneypunct<wchar_t, true>::pos_format() const" location="f29:3751" file="f29" line="3751" extern="1" inline="1"/>
+  <Method id="_5667" name="neg_format" returns="_5786" const="1" context="_2324" access="public" mangled="_ZNKSt10moneypunctIwLb1EE10neg_formatEv" demangled="std::moneypunct<wchar_t, true>::neg_format() const" location="f29:3755" file="f29" line="3755" extern="1" inline="1"/>
+  <Destructor id="_5668" name="moneypunct" virtual="1" context="_2324" access="protected" mangled="_ZNSt10moneypunctIwLb1EED1Ev *INTERNAL* " demangled="std::moneypunct<wchar_t, true>::~moneypunct()" location="f29:3909" file="f29" line="3909" extern="1">
+  </Destructor>
+  <Method id="_5669" name="do_decimal_point" returns="_2786" const="1" virtual="1" context="_2324" access="protected" mangled="_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv" demangled="std::moneypunct<wchar_t, true>::do_decimal_point() const" location="f29:3773" file="f29" line="3773" extern="1" inline="1"/>
+  <Method id="_5670" name="do_thousands_sep" returns="_2786" const="1" virtual="1" context="_2324" access="protected" mangled="_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv" demangled="std::moneypunct<wchar_t, true>::do_thousands_sep() const" location="f29:3785" file="f29" line="3785" extern="1" inline="1"/>
+  <Method id="_5671" name="do_grouping" returns="_2508" const="1" virtual="1" context="_2324" access="protected" mangled="_ZNKSt10moneypunctIwLb1EE11do_groupingEv" demangled="std::moneypunct<wchar_t, true>::do_grouping() const" location="f29:3798" file="f29" line="3798" extern="1" inline="1"/>
+  <Method id="_5672" name="do_curr_symbol" returns="_2506" const="1" virtual="1" context="_2324" access="protected" mangled="_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv" demangled="std::moneypunct<wchar_t, true>::do_curr_symbol() const" location="f29:3811" file="f29" line="3811" extern="1" inline="1"/>
+  <Method id="_5673" name="do_positive_sign" returns="_2506" const="1" virtual="1" context="_2324" access="protected" mangled="_ZNKSt10moneypunctIwLb1EE16do_positive_signEv" demangled="std::moneypunct<wchar_t, true>::do_positive_sign() const" location="f29:3824" file="f29" line="3824" extern="1" inline="1"/>
+  <Method id="_5674" name="do_negative_sign" returns="_2506" const="1" virtual="1" context="_2324" access="protected" mangled="_ZNKSt10moneypunctIwLb1EE16do_negative_signEv" demangled="std::moneypunct<wchar_t, true>::do_negative_sign() const" location="f29:3837" file="f29" line="3837" extern="1" inline="1"/>
+  <Method id="_5675" name="do_frac_digits" returns="_503" const="1" virtual="1" context="_2324" access="protected" mangled="_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv" demangled="std::moneypunct<wchar_t, true>::do_frac_digits() const" location="f29:3851" file="f29" line="3851" extern="1" inline="1"/>
+  <Method id="_5676" name="do_pos_format" returns="_5786" const="1" virtual="1" context="_2324" access="protected" mangled="_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv" demangled="std::moneypunct<wchar_t, true>::do_pos_format() const" location="f29:3865" file="f29" line="3865" extern="1" inline="1"/>
+  <Method id="_5677" name="do_neg_format" returns="_5786" const="1" virtual="1" context="_2324" access="protected" mangled="_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv" demangled="std::moneypunct<wchar_t, true>::do_neg_format() const" location="f29:3879" file="f29" line="3879" extern="1" inline="1"/>
+  <Method id="_5678" name="_M_initialize_moneypunct" returns="_1194" context="_2324" access="protected" mangled="_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc" demangled="std::moneypunct<wchar_t, true>::_M_initialize_moneypunct(__locale_struct*, char const*)" location="f29:3917" file="f29" line="3917" extern="1">
+    <Argument type="_2534" location="f29:3917" file="f29" line="3917" default="0"/>
+    <Argument type="_2749" location="f29:3917" file="f29" line="3917" default="0"/>
+  </Method>
+  <Field id="_5679" name="_M_data" type="_11479" offset="64" context="_2325" access="private" mangled="_ZNSt10moneypunctIcLb0EE7_M_dataE" demangled="std::moneypunct<char, false>::_M_data" location="f29:3552" file="f29" line="3552"/>
+  <Variable id="_5680" name="intl" type="_3949c" init="false" context="_2325" access="public" mangled="_ZNSt10moneypunctIcLb0EE4intlE" demangled="std::moneypunct<char, false>::intl" location="f29:3557" file="f29" line="3557" extern="1"/>
+  <Variable id="_5681" name="id" type="_6222" context="_2325" access="public" mangled="_ZNSt10moneypunctIcLb0EE2idE" demangled="std::moneypunct<char, false>::id" location="f29:3888" file="f29" line="3888" extern="1"/>
+  <Typedef id="_5682" name="char_type" type="_2961" context="_2325" access="public" location="f29:3546" file="f29" line="3546"/>
+  <Typedef id="_5683" name="string_type" type="_2508" context="_2325" access="public" location="f29:3547" file="f29" line="3547"/>
+  <Typedef id="_5684" name="__cache_type" type="_2082" context="_2325" access="public" location="f29:3549" file="f29" line="3549"/>
+  <Constructor id="_5685" name="moneypunct" artificial="1" context="_2325" access="public" mangled="_ZNSt10moneypunctIcLb0EEC1ERKS0_ *INTERNAL* " demangled="std::moneypunct<char, false>::moneypunct(std::moneypunct<char, false> const&)" location="f29:3541" file="f29" line="3541" inline="1">
+    <Argument name="_ctor_arg" type="_5537" location="f29:3541" file="f29" line="3541"/>
+  </Constructor>
+  <Constructor id="_5686" name="moneypunct" explicit="1" context="_2325" access="public" mangled="_ZNSt10moneypunctIcLb0EEC1Ej *INTERNAL* " demangled="std::moneypunct<char, false>::moneypunct(unsigned)" location="f29:3569" file="f29" line="3569" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3569" file="f29" line="3569" default="0"/>
+  </Constructor>
+  <Constructor id="_5687" name="moneypunct" explicit="1" context="_2325" access="public" mangled="_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj *INTERNAL* " demangled="std::moneypunct<char, false>::moneypunct(std::__moneypunct_cache<char, false>*, unsigned)" location="f29:3582" file="f29" line="3582" extern="1" inline="1">
+    <Argument name="__cache" type="_11479" location="f29:3582" file="f29" line="3582"/>
+    <Argument name="__refs" type="_1698" location="f29:3582" file="f29" line="3582" default="0"/>
+  </Constructor>
+  <Constructor id="_5688" name="moneypunct" explicit="1" context="_2325" access="public" mangled="_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj *INTERNAL* " demangled="std::moneypunct<char, false>::moneypunct(__locale_struct*, char const*, unsigned)" location="f29:3597" file="f29" line="3597" extern="1" inline="1">
+    <Argument name="__cloc" type="_2534" location="f29:3597" file="f29" line="3597"/>
+    <Argument name="__s" type="_2749" location="f29:3597" file="f29" line="3597"/>
+    <Argument name="__refs" type="_1698" location="f29:3597" file="f29" line="3597" default="0"/>
+  </Constructor>
+  <Method id="_5689" name="decimal_point" returns="_2961" const="1" context="_2325" access="public" mangled="_ZNKSt10moneypunctIcLb0EE13decimal_pointEv" demangled="std::moneypunct<char, false>::decimal_point() const" location="f29:3611" file="f29" line="3611" extern="1" inline="1"/>
+  <Method id="_5690" name="thousands_sep" returns="_2961" const="1" context="_2325" access="public" mangled="_ZNKSt10moneypunctIcLb0EE13thousands_sepEv" demangled="std::moneypunct<char, false>::thousands_sep() const" location="f29:3624" file="f29" line="3624" extern="1" inline="1"/>
+  <Method id="_5691" name="grouping" returns="_2508" const="1" context="_2325" access="public" mangled="_ZNKSt10moneypunctIcLb0EE8groupingEv" demangled="std::moneypunct<char, false>::grouping() const" location="f29:3653" file="f29" line="3653" extern="1" inline="1"/>
+  <Method id="_5692" name="curr_symbol" returns="_2508" const="1" context="_2325" access="public" mangled="_ZNKSt10moneypunctIcLb0EE11curr_symbolEv" demangled="std::moneypunct<char, false>::curr_symbol() const" location="f29:3666" file="f29" line="3666" extern="1" inline="1"/>
+  <Method id="_5693" name="positive_sign" returns="_2508" const="1" context="_2325" access="public" mangled="_ZNKSt10moneypunctIcLb0EE13positive_signEv" demangled="std::moneypunct<char, false>::positive_sign() const" location="f29:3683" file="f29" line="3683" extern="1" inline="1"/>
+  <Method id="_5694" name="negative_sign" returns="_2508" const="1" context="_2325" access="public" mangled="_ZNKSt10moneypunctIcLb0EE13negative_signEv" demangled="std::moneypunct<char, false>::negative_sign() const" location="f29:3700" file="f29" line="3700" extern="1" inline="1"/>
+  <Method id="_5695" name="frac_digits" returns="_503" const="1" context="_2325" access="public" mangled="_ZNKSt10moneypunctIcLb0EE11frac_digitsEv" demangled="std::moneypunct<char, false>::frac_digits() const" location="f29:3716" file="f29" line="3716" extern="1" inline="1"/>
+  <Method id="_5696" name="pos_format" returns="_5786" const="1" context="_2325" access="public" mangled="_ZNKSt10moneypunctIcLb0EE10pos_formatEv" demangled="std::moneypunct<char, false>::pos_format() const" location="f29:3751" file="f29" line="3751" extern="1" inline="1"/>
+  <Method id="_5697" name="neg_format" returns="_5786" const="1" context="_2325" access="public" mangled="_ZNKSt10moneypunctIcLb0EE10neg_formatEv" demangled="std::moneypunct<char, false>::neg_format() const" location="f29:3755" file="f29" line="3755" extern="1" inline="1"/>
+  <Destructor id="_5698" name="moneypunct" virtual="1" context="_2325" access="protected" mangled="_ZNSt10moneypunctIcLb0EED1Ev *INTERNAL* " demangled="std::moneypunct<char, false>::~moneypunct()" location="f29:3897" file="f29" line="3897" extern="1">
+  </Destructor>
+  <Method id="_5699" name="do_decimal_point" returns="_2961" const="1" virtual="1" context="_2325" access="protected" mangled="_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv" demangled="std::moneypunct<char, false>::do_decimal_point() const" location="f29:3773" file="f29" line="3773" extern="1" inline="1"/>
+  <Method id="_5700" name="do_thousands_sep" returns="_2961" const="1" virtual="1" context="_2325" access="protected" mangled="_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv" demangled="std::moneypunct<char, false>::do_thousands_sep() const" location="f29:3785" file="f29" line="3785" extern="1" inline="1"/>
+  <Method id="_5701" name="do_grouping" returns="_2508" const="1" virtual="1" context="_2325" access="protected" mangled="_ZNKSt10moneypunctIcLb0EE11do_groupingEv" demangled="std::moneypunct<char, false>::do_grouping() const" location="f29:3798" file="f29" line="3798" extern="1" inline="1"/>
+  <Method id="_5702" name="do_curr_symbol" returns="_2508" const="1" virtual="1" context="_2325" access="protected" mangled="_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv" demangled="std::moneypunct<char, false>::do_curr_symbol() const" location="f29:3811" file="f29" line="3811" extern="1" inline="1"/>
+  <Method id="_5703" name="do_positive_sign" returns="_2508" const="1" virtual="1" context="_2325" access="protected" mangled="_ZNKSt10moneypunctIcLb0EE16do_positive_signEv" demangled="std::moneypunct<char, false>::do_positive_sign() const" location="f29:3824" file="f29" line="3824" extern="1" inline="1"/>
+  <Method id="_5704" name="do_negative_sign" returns="_2508" const="1" virtual="1" context="_2325" access="protected" mangled="_ZNKSt10moneypunctIcLb0EE16do_negative_signEv" demangled="std::moneypunct<char, false>::do_negative_sign() const" location="f29:3837" file="f29" line="3837" extern="1" inline="1"/>
+  <Method id="_5705" name="do_frac_digits" returns="_503" const="1" virtual="1" context="_2325" access="protected" mangled="_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv" demangled="std::moneypunct<char, false>::do_frac_digits() const" location="f29:3851" file="f29" line="3851" extern="1" inline="1"/>
+  <Method id="_5706" name="do_pos_format" returns="_5786" const="1" virtual="1" context="_2325" access="protected" mangled="_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv" demangled="std::moneypunct<char, false>::do_pos_format() const" location="f29:3865" file="f29" line="3865" extern="1" inline="1"/>
+  <Method id="_5707" name="do_neg_format" returns="_5786" const="1" virtual="1" context="_2325" access="protected" mangled="_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv" demangled="std::moneypunct<char, false>::do_neg_format() const" location="f29:3879" file="f29" line="3879" extern="1" inline="1"/>
+  <Method id="_5708" name="_M_initialize_moneypunct" returns="_1194" context="_2325" access="protected" mangled="_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc" demangled="std::moneypunct<char, false>::_M_initialize_moneypunct(__locale_struct*, char const*)" location="f29:3905" file="f29" line="3905" extern="1">
+    <Argument type="_2534" location="f29:3905" file="f29" line="3905" default="0"/>
+    <Argument type="_2749" location="f29:3905" file="f29" line="3905" default="0"/>
+  </Method>
+  <Field id="_5709" name="_M_data" type="_11480" offset="64" context="_2326" access="private" mangled="_ZNSt10moneypunctIcLb1EE7_M_dataE" demangled="std::moneypunct<char, true>::_M_data" location="f29:3552" file="f29" line="3552"/>
+  <Variable id="_5710" name="intl" type="_3949c" init="true" context="_2326" access="public" mangled="_ZNSt10moneypunctIcLb1EE4intlE" demangled="std::moneypunct<char, true>::intl" location="f29:3557" file="f29" line="3557" extern="1"/>
+  <Variable id="_5711" name="id" type="_6222" context="_2326" access="public" mangled="_ZNSt10moneypunctIcLb1EE2idE" demangled="std::moneypunct<char, true>::id" location="f29:3888" file="f29" line="3888" extern="1"/>
+  <Typedef id="_5712" name="char_type" type="_2961" context="_2326" access="public" location="f29:3546" file="f29" line="3546"/>
+  <Typedef id="_5713" name="string_type" type="_2508" context="_2326" access="public" location="f29:3547" file="f29" line="3547"/>
+  <Typedef id="_5714" name="__cache_type" type="_2083" context="_2326" access="public" location="f29:3549" file="f29" line="3549"/>
+  <Constructor id="_5715" name="moneypunct" artificial="1" context="_2326" access="public" mangled="_ZNSt10moneypunctIcLb1EEC1ERKS0_ *INTERNAL* " demangled="std::moneypunct<char, true>::moneypunct(std::moneypunct<char, true> const&)" location="f29:3541" file="f29" line="3541" inline="1">
+    <Argument name="_ctor_arg" type="_5538" location="f29:3541" file="f29" line="3541"/>
+  </Constructor>
+  <Constructor id="_5716" name="moneypunct" explicit="1" context="_2326" access="public" mangled="_ZNSt10moneypunctIcLb1EEC1Ej *INTERNAL* " demangled="std::moneypunct<char, true>::moneypunct(unsigned)" location="f29:3569" file="f29" line="3569" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3569" file="f29" line="3569" default="0"/>
+  </Constructor>
+  <Constructor id="_5717" name="moneypunct" explicit="1" context="_2326" access="public" mangled="_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj *INTERNAL* " demangled="std::moneypunct<char, true>::moneypunct(std::__moneypunct_cache<char, true>*, unsigned)" location="f29:3582" file="f29" line="3582" extern="1" inline="1">
+    <Argument name="__cache" type="_11480" location="f29:3582" file="f29" line="3582"/>
+    <Argument name="__refs" type="_1698" location="f29:3582" file="f29" line="3582" default="0"/>
+  </Constructor>
+  <Constructor id="_5718" name="moneypunct" explicit="1" context="_2326" access="public" mangled="_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj *INTERNAL* " demangled="std::moneypunct<char, true>::moneypunct(__locale_struct*, char const*, unsigned)" location="f29:3597" file="f29" line="3597" extern="1" inline="1">
+    <Argument name="__cloc" type="_2534" location="f29:3597" file="f29" line="3597"/>
+    <Argument name="__s" type="_2749" location="f29:3597" file="f29" line="3597"/>
+    <Argument name="__refs" type="_1698" location="f29:3597" file="f29" line="3597" default="0"/>
+  </Constructor>
+  <Method id="_5719" name="decimal_point" returns="_2961" const="1" context="_2326" access="public" mangled="_ZNKSt10moneypunctIcLb1EE13decimal_pointEv" demangled="std::moneypunct<char, true>::decimal_point() const" location="f29:3611" file="f29" line="3611" extern="1" inline="1"/>
+  <Method id="_5720" name="thousands_sep" returns="_2961" const="1" context="_2326" access="public" mangled="_ZNKSt10moneypunctIcLb1EE13thousands_sepEv" demangled="std::moneypunct<char, true>::thousands_sep() const" location="f29:3624" file="f29" line="3624" extern="1" inline="1"/>
+  <Method id="_5721" name="grouping" returns="_2508" const="1" context="_2326" access="public" mangled="_ZNKSt10moneypunctIcLb1EE8groupingEv" demangled="std::moneypunct<char, true>::grouping() const" location="f29:3653" file="f29" line="3653" extern="1" inline="1"/>
+  <Method id="_5722" name="curr_symbol" returns="_2508" const="1" context="_2326" access="public" mangled="_ZNKSt10moneypunctIcLb1EE11curr_symbolEv" demangled="std::moneypunct<char, true>::curr_symbol() const" location="f29:3666" file="f29" line="3666" extern="1" inline="1"/>
+  <Method id="_5723" name="positive_sign" returns="_2508" const="1" context="_2326" access="public" mangled="_ZNKSt10moneypunctIcLb1EE13positive_signEv" demangled="std::moneypunct<char, true>::positive_sign() const" location="f29:3683" file="f29" line="3683" extern="1" inline="1"/>
+  <Method id="_5724" name="negative_sign" returns="_2508" const="1" context="_2326" access="public" mangled="_ZNKSt10moneypunctIcLb1EE13negative_signEv" demangled="std::moneypunct<char, true>::negative_sign() const" location="f29:3700" file="f29" line="3700" extern="1" inline="1"/>
+  <Method id="_5725" name="frac_digits" returns="_503" const="1" context="_2326" access="public" mangled="_ZNKSt10moneypunctIcLb1EE11frac_digitsEv" demangled="std::moneypunct<char, true>::frac_digits() const" location="f29:3716" file="f29" line="3716" extern="1" inline="1"/>
+  <Method id="_5726" name="pos_format" returns="_5786" const="1" context="_2326" access="public" mangled="_ZNKSt10moneypunctIcLb1EE10pos_formatEv" demangled="std::moneypunct<char, true>::pos_format() const" location="f29:3751" file="f29" line="3751" extern="1" inline="1"/>
+  <Method id="_5727" name="neg_format" returns="_5786" const="1" context="_2326" access="public" mangled="_ZNKSt10moneypunctIcLb1EE10neg_formatEv" demangled="std::moneypunct<char, true>::neg_format() const" location="f29:3755" file="f29" line="3755" extern="1" inline="1"/>
+  <Destructor id="_5728" name="moneypunct" virtual="1" context="_2326" access="protected" mangled="_ZNSt10moneypunctIcLb1EED1Ev *INTERNAL* " demangled="std::moneypunct<char, true>::~moneypunct()" location="f29:3894" file="f29" line="3894" extern="1">
+  </Destructor>
+  <Method id="_5729" name="do_decimal_point" returns="_2961" const="1" virtual="1" context="_2326" access="protected" mangled="_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv" demangled="std::moneypunct<char, true>::do_decimal_point() const" location="f29:3773" file="f29" line="3773" extern="1" inline="1"/>
+  <Method id="_5730" name="do_thousands_sep" returns="_2961" const="1" virtual="1" context="_2326" access="protected" mangled="_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv" demangled="std::moneypunct<char, true>::do_thousands_sep() const" location="f29:3785" file="f29" line="3785" extern="1" inline="1"/>
+  <Method id="_5731" name="do_grouping" returns="_2508" const="1" virtual="1" context="_2326" access="protected" mangled="_ZNKSt10moneypunctIcLb1EE11do_groupingEv" demangled="std::moneypunct<char, true>::do_grouping() const" location="f29:3798" file="f29" line="3798" extern="1" inline="1"/>
+  <Method id="_5732" name="do_curr_symbol" returns="_2508" const="1" virtual="1" context="_2326" access="protected" mangled="_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv" demangled="std::moneypunct<char, true>::do_curr_symbol() const" location="f29:3811" file="f29" line="3811" extern="1" inline="1"/>
+  <Method id="_5733" name="do_positive_sign" returns="_2508" const="1" virtual="1" context="_2326" access="protected" mangled="_ZNKSt10moneypunctIcLb1EE16do_positive_signEv" demangled="std::moneypunct<char, true>::do_positive_sign() const" location="f29:3824" file="f29" line="3824" extern="1" inline="1"/>
+  <Method id="_5734" name="do_negative_sign" returns="_2508" const="1" virtual="1" context="_2326" access="protected" mangled="_ZNKSt10moneypunctIcLb1EE16do_negative_signEv" demangled="std::moneypunct<char, true>::do_negative_sign() const" location="f29:3837" file="f29" line="3837" extern="1" inline="1"/>
+  <Method id="_5735" name="do_frac_digits" returns="_503" const="1" virtual="1" context="_2326" access="protected" mangled="_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv" demangled="std::moneypunct<char, true>::do_frac_digits() const" location="f29:3851" file="f29" line="3851" extern="1" inline="1"/>
+  <Method id="_5736" name="do_pos_format" returns="_5786" const="1" virtual="1" context="_2326" access="protected" mangled="_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv" demangled="std::moneypunct<char, true>::do_pos_format() const" location="f29:3865" file="f29" line="3865" extern="1" inline="1"/>
+  <Method id="_5737" name="do_neg_format" returns="_5786" const="1" virtual="1" context="_2326" access="protected" mangled="_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv" demangled="std::moneypunct<char, true>::do_neg_format() const" location="f29:3879" file="f29" line="3879" extern="1" inline="1"/>
+  <Method id="_5738" name="_M_initialize_moneypunct" returns="_1194" context="_2326" access="protected" mangled="_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc" demangled="std::moneypunct<char, true>::_M_initialize_moneypunct(__locale_struct*, char const*)" location="f29:3901" file="f29" line="3901" extern="1">
+    <Argument type="_2534" location="f29:3901" file="f29" line="3901" default="0"/>
+    <Argument type="_2749" location="f29:3901" file="f29" line="3901" default="0"/>
+  </Method>
+  <Variable id="_5739" name="id" type="_6222" context="_2327" access="public" mangled="_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE" demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id" location="f29:4227" file="f29" line="4227" extern="1"/>
+  <Typedef id="_5740" name="char_type" type="_2786" context="_2327" access="public" location="f29:4109" file="f29" line="4109"/>
+  <Typedef id="_5741" name="iter_type" type="_2479" context="_2327" access="public" location="f29:4110" file="f29" line="4110"/>
+  <Typedef id="_5742" name="string_type" type="_2506" context="_2327" access="public" location="f29:4111" file="f29" line="4111"/>
+  <Constructor id="_5743" name="money_put" artificial="1" context="_2327" access="public" mangled="_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKS4_ *INTERNAL* " demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::money_put(std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const&)" location="f29:4105" file="f29" line="4105" inline="1">
+    <Argument name="_ctor_arg" type="_5523" location="f29:4105" file="f29" line="4105"/>
+  </Constructor>
+  <Constructor id="_5744" name="money_put" explicit="1" context="_2327" access="public" mangled="_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej *INTERNAL* " demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::money_put(unsigned)" location="f29:4125" file="f29" line="4125" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:4125" file="f29" line="4125" default="0"/>
+  </Constructor>
+  <Method id="_5745" name="put" returns="_2479" const="1" context="_2327" access="public" mangled="_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe" demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, bool, std::ios_base&, wchar_t, long double) const" location="f29:4147" file="f29" line="4147" extern="1" [...]
+    <Argument name="__s" type="_2479" location="f29:4147" file="f29" line="4147"/>
+    <Argument name="__intl" type="_3949" location="f29:4147" file="f29" line="4147"/>
+    <Argument name="__io" type="_4942" location="f29:4147" file="f29" line="4147"/>
+    <Argument name="__fill" type="_2786" location="f29:4147" file="f29" line="4147"/>
+    <Argument name="__units" type="_483" location="f29:4147" file="f29" line="4147"/>
+  </Method>
+  <Method id="_5746" name="put" returns="_2479" const="1" context="_2327" access="public" mangled="_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE" demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, bool, std::ios_base&, wchar_t, std::basic_string<wchar_t, std::char_traits<wchar_t&g [...]
+    <Argument name="__s" type="_2479" location="f29:4169" file="f29" line="4169"/>
+    <Argument name="__intl" type="_3949" location="f29:4169" file="f29" line="4169"/>
+    <Argument name="__io" type="_4942" location="f29:4169" file="f29" line="4169"/>
+    <Argument name="__fill" type="_2786" location="f29:4169" file="f29" line="4169"/>
+    <Argument name="__digits" type="_4947" location="f29:4169" file="f29" line="4169"/>
+  </Method>
+  <Destructor id="_5747" name="money_put" virtual="1" context="_2327" access="protected" mangled="_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev *INTERNAL* " demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::~money_put()" location="f29:4174" file="f29" line="4174" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5748" name="do_put" returns="_2479" const="1" virtual="1" context="_2327" access="protected" mangled="_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe" demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, bool, std::ios_base&, wchar_t, long double) const" location="f87:1687" file="f87 [...]
+    <Argument name="__s" type="_2479" location="f87:1687" file="f87" line="1687"/>
+    <Argument name="__intl" type="_3949" location="f87:1687" file="f87" line="1687"/>
+    <Argument name="__io" type="_4942" location="f87:1687" file="f87" line="1687"/>
+    <Argument name="__fill" type="_2786" location="f87:1687" file="f87" line="1687"/>
+    <Argument name="__units" type="_483" location="f87:1687" file="f87" line="1687"/>
+  </Method>
+  <Method id="_5749" name="do_put" returns="_2479" const="1" virtual="1" context="_2327" access="protected" mangled="_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE" demangled="std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, bool, std::ios_base&, wchar_t, std::basic_string<wchar_t, std:: [...]
+    <Argument name="__s" type="_2479" location="f87:1726" file="f87" line="1726"/>
+    <Argument name="__intl" type="_3949" location="f87:1726" file="f87" line="1726"/>
+    <Argument name="__io" type="_4942" location="f87:1726" file="f87" line="1726"/>
+    <Argument name="__fill" type="_2786" location="f87:1726" file="f87" line="1726"/>
+    <Argument name="__digits" type="_4947" location="f87:1726" file="f87" line="1726"/>
+  </Method>
+  <Variable id="_5750" name="id" type="_6222" context="_2328" access="public" mangled="_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE" demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::id" location="f29:4227" file="f29" line="4227" extern="1"/>
+  <Typedef id="_5751" name="char_type" type="_2961" context="_2328" access="public" location="f29:4109" file="f29" line="4109"/>
+  <Typedef id="_5752" name="iter_type" type="_2478" context="_2328" access="public" location="f29:4110" file="f29" line="4110"/>
+  <Typedef id="_5753" name="string_type" type="_2508" context="_2328" access="public" location="f29:4111" file="f29" line="4111"/>
+  <Constructor id="_5754" name="money_put" artificial="1" context="_2328" access="public" mangled="_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::money_put(std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > const&)" location="f29:4105" file="f29" line="4105" inline="1">
+    <Argument name="_ctor_arg" type="_5536" location="f29:4105" file="f29" line="4105"/>
+  </Constructor>
+  <Constructor id="_5755" name="money_put" explicit="1" context="_2328" access="public" mangled="_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej *INTERNAL* " demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::money_put(unsigned)" location="f29:4125" file="f29" line="4125" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:4125" file="f29" line="4125" default="0"/>
+  </Constructor>
+  <Method id="_5756" name="put" returns="_2478" const="1" context="_2328" access="public" mangled="_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece" demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, bool, std::ios_base&, char, long double) const" location="f29:4147" file="f29" line="4147" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:4147" file="f29" line="4147"/>
+    <Argument name="__intl" type="_3949" location="f29:4147" file="f29" line="4147"/>
+    <Argument name="__io" type="_4942" location="f29:4147" file="f29" line="4147"/>
+    <Argument name="__fill" type="_2961" location="f29:4147" file="f29" line="4147"/>
+    <Argument name="__units" type="_483" location="f29:4147" file="f29" line="4147"/>
+  </Method>
+  <Method id="_5757" name="put" returns="_2478" const="1" context="_2328" access="public" mangled="_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs" demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, bool, std::ios_base&, char, std::string const&) const" location="f29:4169" file="f29" line="4169" extern="1" inl [...]
+    <Argument name="__s" type="_2478" location="f29:4169" file="f29" line="4169"/>
+    <Argument name="__intl" type="_3949" location="f29:4169" file="f29" line="4169"/>
+    <Argument name="__io" type="_4942" location="f29:4169" file="f29" line="4169"/>
+    <Argument name="__fill" type="_2961" location="f29:4169" file="f29" line="4169"/>
+    <Argument name="__digits" type="_4948" location="f29:4169" file="f29" line="4169"/>
+  </Method>
+  <Destructor id="_5758" name="money_put" virtual="1" context="_2328" access="protected" mangled="_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~money_put()" location="f29:4174" file="f29" line="4174" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5759" name="do_put" returns="_2478" const="1" virtual="1" context="_2328" access="protected" mangled="_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece" demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, bool, std::ios_base&, char, long double) const" location="f87:1687" file="f87" line="1687" extern="1">
+    <Argument name="__s" type="_2478" location="f87:1687" file="f87" line="1687"/>
+    <Argument name="__intl" type="_3949" location="f87:1687" file="f87" line="1687"/>
+    <Argument name="__io" type="_4942" location="f87:1687" file="f87" line="1687"/>
+    <Argument name="__fill" type="_2961" location="f87:1687" file="f87" line="1687"/>
+    <Argument name="__units" type="_483" location="f87:1687" file="f87" line="1687"/>
+  </Method>
+  <Method id="_5760" name="do_put" returns="_2478" const="1" virtual="1" context="_2328" access="protected" mangled="_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs" demangled="std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, bool, std::ios_base&, char, std::string const&) const" location="f87:1726" file="f87" li [...]
+    <Argument name="__s" type="_2478" location="f87:1726" file="f87" line="1726"/>
+    <Argument name="__intl" type="_3949" location="f87:1726" file="f87" line="1726"/>
+    <Argument name="__io" type="_4942" location="f87:1726" file="f87" line="1726"/>
+    <Argument name="__fill" type="_2961" location="f87:1726" file="f87" line="1726"/>
+    <Argument name="__digits" type="_4948" location="f87:1726" file="f87" line="1726"/>
+  </Method>
+  <Variable id="_5761" name="id" type="_6222" context="_2329" access="public" mangled="_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE" demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id" location="f29:4089" file="f29" line="4089" extern="1"/>
+  <Typedef id="_5762" name="char_type" type="_2786" context="_2329" access="public" location="f29:3975" file="f29" line="3975"/>
+  <Typedef id="_5763" name="iter_type" type="_2481" context="_2329" access="public" location="f29:3976" file="f29" line="3976"/>
+  <Typedef id="_5764" name="string_type" type="_2506" context="_2329" access="public" location="f29:3977" file="f29" line="3977"/>
+  <Constructor id="_5765" name="money_get" artificial="1" context="_2329" access="public" mangled="_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKS4_ *INTERNAL* " demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::money_get(std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const&)" location="f29:3970" file="f29" line="3970" inline="1">
+    <Argument name="_ctor_arg" type="_5522" location="f29:3970" file="f29" line="3970"/>
+  </Constructor>
+  <Constructor id="_5766" name="money_get" explicit="1" context="_2329" access="public" mangled="_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej *INTERNAL* " demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::money_get(unsigned)" location="f29:3991" file="f29" line="3991" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3991" file="f29" line="3991" default="0"/>
+  </Constructor>
+  <Method id="_5767" name="get" returns="_2481" const="1" context="_2329" access="public" mangled="_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe" demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, bool, std::io [...]
+    <Argument name="__s" type="_2481" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__end" type="_2481" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__intl" type="_3949" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__io" type="_4942" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__err" type="_4936" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__units" type="_4935" location="f29:4023" file="f29" line="4023"/>
+  </Method>
+  <Method id="_5768" name="get" returns="_2481" const="1" context="_2329" access="public" mangled="_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE" demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, b [...]
+    <Argument name="__s" type="_2481" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__end" type="_2481" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__intl" type="_3949" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__io" type="_4942" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__err" type="_4936" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__digits" type="_4945" location="f29:4053" file="f29" line="4053"/>
+  </Method>
+  <Destructor id="_5769" name="money_get" virtual="1" context="_2329" access="protected" mangled="_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev *INTERNAL* " demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::~money_get()" location="f29:4058" file="f29" line="4058" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5770" name="do_get" returns="_2481" const="1" virtual="1" context="_2329" access="protected" mangled="_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe" demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t [...]
+    <Argument name="__beg" type="_2481" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__end" type="_2481" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__intl" type="_3949" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__io" type="_4942" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__err" type="_4936" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__units" type="_4935" location="f87:1482" file="f87" line="1482"/>
+  </Method>
+  <Method id="_5771" name="do_get" returns="_2481" const="1" virtual="1" context="_2329" access="protected" mangled="_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE" demangled="std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_trait [...]
+    <Argument name="__beg" type="_2481" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__end" type="_2481" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__intl" type="_3949" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__io" type="_4942" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__err" type="_4936" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__units" type="_4945" location="f87:1497" file="f87" line="1497"/>
+  </Method>
+  <Variable id="_5772" name="id" type="_6222" context="_2330" access="public" mangled="_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE" demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::id" location="f29:4089" file="f29" line="4089" extern="1"/>
+  <Typedef id="_5773" name="char_type" type="_2961" context="_2330" access="public" location="f29:3975" file="f29" line="3975"/>
+  <Typedef id="_5774" name="iter_type" type="_2480" context="_2330" access="public" location="f29:3976" file="f29" line="3976"/>
+  <Typedef id="_5775" name="string_type" type="_2508" context="_2330" access="public" location="f29:3977" file="f29" line="3977"/>
+  <Constructor id="_5776" name="money_get" artificial="1" context="_2330" access="public" mangled="_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::money_get(std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > const&)" location="f29:3970" file="f29" line="3970" inline="1">
+    <Argument name="_ctor_arg" type="_5535" location="f29:3970" file="f29" line="3970"/>
+  </Constructor>
+  <Constructor id="_5777" name="money_get" explicit="1" context="_2330" access="public" mangled="_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej *INTERNAL* " demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::money_get(unsigned)" location="f29:3991" file="f29" line="3991" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3991" file="f29" line="3991" default="0"/>
+  </Constructor>
+  <Method id="_5778" name="get" returns="_2480" const="1" context="_2330" access="public" mangled="_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe" demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, bool, std::ios_base&, std::_Io [...]
+    <Argument name="__s" type="_2480" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__end" type="_2480" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__intl" type="_3949" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__io" type="_4942" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__err" type="_4936" location="f29:4023" file="f29" line="4023"/>
+    <Argument name="__units" type="_4935" location="f29:4023" file="f29" line="4023"/>
+  </Method>
+  <Method id="_5779" name="get" returns="_2480" const="1" context="_2330" access="public" mangled="_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs" demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, bool, std::ios_base&, std::_I [...]
+    <Argument name="__s" type="_2480" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__end" type="_2480" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__intl" type="_3949" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__io" type="_4942" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__err" type="_4936" location="f29:4053" file="f29" line="4053"/>
+    <Argument name="__digits" type="_4946" location="f29:4053" file="f29" line="4053"/>
+  </Method>
+  <Destructor id="_5780" name="money_get" virtual="1" context="_2330" access="protected" mangled="_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::~money_get()" location="f29:4058" file="f29" line="4058" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5781" name="do_get" returns="_2480" const="1" virtual="1" context="_2330" access="protected" mangled="_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe" demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, bool, std: [...]
+    <Argument name="__beg" type="_2480" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__end" type="_2480" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__intl" type="_3949" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__io" type="_4942" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__err" type="_4936" location="f87:1482" file="f87" line="1482"/>
+    <Argument name="__units" type="_4935" location="f87:1482" file="f87" line="1482"/>
+  </Method>
+  <Method id="_5782" name="do_get" returns="_2480" const="1" virtual="1" context="_2330" access="protected" mangled="_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs" demangled="std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, bool, std [...]
+    <Argument name="__beg" type="_2480" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__end" type="_2480" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__intl" type="_3949" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__io" type="_4942" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__err" type="_4936" location="f87:1497" file="f87" line="1497"/>
+    <Argument name="__units" type="_4946" location="f87:1497" file="f87" line="1497"/>
+  </Method>
+  <Variable id="_5783" name="_S_default_pattern" type="_5786c" context="_2331" access="public" mangled="_ZNSt10money_base18_S_default_patternE" demangled="std::money_base::_S_default_pattern" location="f29:3453" file="f29" line="3453" extern="1"/>
+  <Variable id="_5784" name="_S_atoms" type="_2749" context="_2331" access="public" mangled="_ZNSt10money_base8_S_atomsE" demangled="std::money_base::_S_atoms" location="f29:3464" file="f29" line="3464" extern="1"/>
+  <Enumeration id="_5785" name="part" context="_2331" access="public" location="f29:3450" file="f29" line="3450" artificial="1" size="32" align="32">
+    <EnumValue name="none" init="0"/>
+    <EnumValue name="space" init="1"/>
+    <EnumValue name="symbol" init="2"/>
+    <EnumValue name="sign" init="3"/>
+    <EnumValue name="value" init="4"/>
+  </Enumeration>
+  <Struct id="_5786" name="pattern" context="_2331" access="public" mangled="NSt10money_base7patternE" demangled="std::money_base::pattern" location="f29:3451" file="f29" line="3451" artificial="1" size="32" align="8" members="_11482 _11483 _11484 " bases=""/>
+  <Enumeration id="_5787" name="._84" context="_2331" access="public" location="f29:3456" file="f29" line="3456" artificial="1" size="32" align="32">
+    <EnumValue name="_S_minus" init="0"/>
+    <EnumValue name="_S_zero" init="1"/>
+    <EnumValue name="_S_end" init="11"/>
+  </Enumeration>
+  <Constructor id="_5788" name="money_base" artificial="1" throw="" context="_2331" access="public" mangled="_ZNSt10money_baseC1ERKS_ *INTERNAL* " demangled="std::money_base::money_base(std::money_base const&)" location="f29:3448" file="f29" line="3448" inline="1">
+    <Argument name="_ctor_arg" type="_11485" location="f29:3448" file="f29" line="3448"/>
+  </Constructor>
+  <Constructor id="_5789" name="money_base" explicit="1" artificial="1" throw="" context="_2331" access="public" mangled="_ZNSt10money_baseC1Ev *INTERNAL* " demangled="std::money_base::money_base()" location="f29:3448" file="f29" line="3448" inline="1"/>
+  <Method id="_5790" name="_S_construct_pattern" returns="_5786" static="1" context="_2331" access="public" mangled="_ZNSt10money_base20_S_construct_patternEccc" demangled="std::money_base::_S_construct_pattern(char, char, char)" location="f29:3469" file="f29" line="3469" extern="1">
+    <Argument name="__precedes" type="_2961" location="f29:3469" file="f29" line="3469"/>
+    <Argument name="__space" type="_2961" location="f29:3469" file="f29" line="3469"/>
+    <Argument name="__posn" type="_2961" location="f29:3469" file="f29" line="3469"/>
+  </Method>
+  <Typedef id="_5791" name="char_type" type="_2786" context="_2332" access="public" location="f29:3423" file="f29" line="3423"/>
+  <Typedef id="_5792" name="iter_type" type="_2479" context="_2332" access="public" location="f29:3424" file="f29" line="3424"/>
+  <Constructor id="_5793" name="time_put_byname" artificial="1" context="_2332" access="public" mangled="_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKS4_ *INTERNAL* " demangled="std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::time_put_byname(std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const&)" location="f29:3420" file="f29"  [...]
+    <Argument name="_ctor_arg" type="_11486" location="f29:3420" file="f29" line="3420"/>
+  </Constructor>
+  <Constructor id="_5794" name="time_put_byname" explicit="1" context="_2332" access="public" mangled="_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj *INTERNAL* " demangled="std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::time_put_byname(char const*, unsigned)" location="f29:3428" file="f29" line="3428" extern="1" inline="1">
+    <Argument type="_2749" location="f29:3428" file="f29" line="3428"/>
+    <Argument name="__refs" type="_1698" location="f29:3428" file="f29" line="3428" default="0"/>
+  </Constructor>
+  <Destructor id="_5795" name="time_put_byname" virtual="1" context="_2332" access="protected" mangled="_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev *INTERNAL* " demangled="std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::~time_put_byname()" location="f29:3433" file="f29" line="3433" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_5796" name="char_type" type="_2961" context="_2333" access="public" location="f29:3423" file="f29" line="3423"/>
+  <Typedef id="_5797" name="iter_type" type="_2478" context="_2333" access="public" location="f29:3424" file="f29" line="3424"/>
+  <Constructor id="_5798" name="time_put_byname" artificial="1" context="_2333" access="public" mangled="_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::time_put_byname(std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > > const&)" location="f29:3420" file="f29" line="3420" inline="1">
+    <Argument name="_ctor_arg" type="_11487" location="f29:3420" file="f29" line="3420"/>
+  </Constructor>
+  <Constructor id="_5799" name="time_put_byname" explicit="1" context="_2333" access="public" mangled="_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj *INTERNAL* " demangled="std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::time_put_byname(char const*, unsigned)" location="f29:3428" file="f29" line="3428" extern="1" inline="1">
+    <Argument type="_2749" location="f29:3428" file="f29" line="3428"/>
+    <Argument name="__refs" type="_1698" location="f29:3428" file="f29" line="3428" default="0"/>
+  </Constructor>
+  <Destructor id="_5800" name="time_put_byname" virtual="1" context="_2333" access="protected" mangled="_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname()" location="f29:3433" file="f29" line="3433" extern="1" inline="1">
+  </Destructor>
+  <Variable id="_5801" name="id" type="_6222" context="_2334" access="public" mangled="_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE" demangled="std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::id" location="f29:3415" file="f29" line="3415" extern="1"/>
+  <Typedef id="_5802" name="char_type" type="_2961" context="_2334" access="public" location="f29:3329" file="f29" line="3329"/>
+  <Typedef id="_5803" name="iter_type" type="_2478" context="_2334" access="public" location="f29:3330" file="f29" line="3330"/>
+  <Constructor id="_5804" name="time_put" artificial="1" context="_2334" access="public" mangled="_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::time_put(std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > const&)" location="f29:3324" file="f29" line="3324" inline="1">
+    <Argument name="_ctor_arg" type="_5533" location="f29:3324" file="f29" line="3324"/>
+  </Constructor>
+  <Constructor id="_5805" name="time_put" explicit="1" context="_2334" access="public" mangled="_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej *INTERNAL* " demangled="std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::time_put(unsigned)" location="f29:3345" file="f29" line="3345" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3345" file="f29" line="3345" default="0"/>
+  </Constructor>
+  <Method id="_5806" name="put" returns="_2478" const="1" context="_2334" access="public" mangled="_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_" demangled="std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, tm const*, char const*, char const*) const" location="f87:2218" file="f87" line="2218" ext [...]
+    <Argument name="__s" type="_2478" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__io" type="_4942" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__fill" type="_2961" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__tm" type="_2782" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__beg" type="_2749" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__end" type="_2749" location="f87:2218" file="f87" line="2218"/>
+  </Method>
+  <Method id="_5807" name="put" returns="_2478" const="1" context="_2334" access="public" mangled="_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc" demangled="std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, tm const*, char, char) const" location="f29:3385" file="f29" line="3385" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__io" type="_4942" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__fill" type="_2961" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__tm" type="_2782" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__format" type="_2961" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__mod" type="_2961" location="f29:3385" file="f29" line="3385" default="0"/>
+  </Method>
+  <Destructor id="_5808" name="time_put" virtual="1" context="_2334" access="protected" mangled="_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put()" location="f29:3391" file="f29" line="3391" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5809" name="do_put" returns="_2478" const="1" virtual="1" context="_2334" access="protected" mangled="_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc" demangled="std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, tm const*, char, char) const" location="f87:2253" file="f87" line="225 [...]
+    <Argument name="__s" type="_2478" location="f87:2253" file="f87" line="2253"/>
+    <Argument name="__io" type="_4942" location="f87:2253" file="f87" line="2253"/>
+    <Argument type="_2961" location="f87:2253" file="f87" line="2253"/>
+    <Argument name="__tm" type="_2782" location="f87:2253" file="f87" line="2253"/>
+    <Argument name="__format" type="_2961" location="f87:2253" file="f87" line="2253"/>
+    <Argument name="__mod" type="_2961" location="f87:2253" file="f87" line="2253"/>
+  </Method>
+  <Variable id="_5810" name="id" type="_6222" context="_2335" access="public" mangled="_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE" demangled="std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id" location="f29:3415" file="f29" line="3415" extern="1"/>
+  <Typedef id="_5811" name="char_type" type="_2786" context="_2335" access="public" location="f29:3329" file="f29" line="3329"/>
+  <Typedef id="_5812" name="iter_type" type="_2479" context="_2335" access="public" location="f29:3330" file="f29" line="3330"/>
+  <Constructor id="_5813" name="time_put" artificial="1" context="_2335" access="public" mangled="_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKS4_ *INTERNAL* " demangled="std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::time_put(std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const&)" location="f29:3324" file="f29" line="3324" inline="1">
+    <Argument name="_ctor_arg" type="_5520" location="f29:3324" file="f29" line="3324"/>
+  </Constructor>
+  <Constructor id="_5814" name="time_put" explicit="1" context="_2335" access="public" mangled="_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej *INTERNAL* " demangled="std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::time_put(unsigned)" location="f29:3345" file="f29" line="3345" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3345" file="f29" line="3345" default="0"/>
+  </Constructor>
+  <Method id="_5815" name="put" returns="_2479" const="1" context="_2335" access="public" mangled="_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_" demangled="std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, tm const*, wchar_t const*, wchar_t const*) const" location="f87:2218" fi [...]
+    <Argument name="__s" type="_2479" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__io" type="_4942" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__fill" type="_2786" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__tm" type="_2782" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__beg" type="_2780" location="f87:2218" file="f87" line="2218"/>
+    <Argument name="__end" type="_2780" location="f87:2218" file="f87" line="2218"/>
+  </Method>
+  <Method id="_5816" name="put" returns="_2479" const="1" context="_2335" access="public" mangled="_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc" demangled="std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, tm const*, char, char) const" location="f29:3385" file="f29" line="3385" ext [...]
+    <Argument name="__s" type="_2479" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__io" type="_4942" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__fill" type="_2786" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__tm" type="_2782" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__format" type="_2961" location="f29:3385" file="f29" line="3385"/>
+    <Argument name="__mod" type="_2961" location="f29:3385" file="f29" line="3385" default="0"/>
+  </Method>
+  <Destructor id="_5817" name="time_put" virtual="1" context="_2335" access="protected" mangled="_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev *INTERNAL* " demangled="std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::~time_put()" location="f29:3391" file="f29" line="3391" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5818" name="do_put" returns="_2479" const="1" virtual="1" context="_2335" access="protected" mangled="_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc" demangled="std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, tm const*, char, char) const" location="f87:2253" fi [...]
+    <Argument name="__s" type="_2479" location="f87:2253" file="f87" line="2253"/>
+    <Argument name="__io" type="_4942" location="f87:2253" file="f87" line="2253"/>
+    <Argument type="_2786" location="f87:2253" file="f87" line="2253"/>
+    <Argument name="__tm" type="_2782" location="f87:2253" file="f87" line="2253"/>
+    <Argument name="__format" type="_2961" location="f87:2253" file="f87" line="2253"/>
+    <Argument name="__mod" type="_2961" location="f87:2253" file="f87" line="2253"/>
+  </Method>
+  <Typedef id="_5819" name="char_type" type="_2786" context="_2336" access="public" location="f29:3299" file="f29" line="3299"/>
+  <Typedef id="_5820" name="iter_type" type="_2481" context="_2336" access="public" location="f29:3300" file="f29" line="3300"/>
+  <Constructor id="_5821" name="time_get_byname" artificial="1" context="_2336" access="public" mangled="_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKS4_ *INTERNAL* " demangled="std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::time_get_byname(std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const&)" location="f29:3296" file="f29"  [...]
+    <Argument name="_ctor_arg" type="_11488" location="f29:3296" file="f29" line="3296"/>
+  </Constructor>
+  <Constructor id="_5822" name="time_get_byname" explicit="1" context="_2336" access="public" mangled="_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj *INTERNAL* " demangled="std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::time_get_byname(char const*, unsigned)" location="f29:3304" file="f29" line="3304" extern="1" inline="1">
+    <Argument type="_2749" location="f29:3304" file="f29" line="3304"/>
+    <Argument name="__refs" type="_1698" location="f29:3304" file="f29" line="3304" default="0"/>
+  </Constructor>
+  <Destructor id="_5823" name="time_get_byname" virtual="1" context="_2336" access="protected" mangled="_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev *INTERNAL* " demangled="std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::~time_get_byname()" location="f29:3308" file="f29" line="3308" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_5824" name="char_type" type="_2961" context="_2337" access="public" location="f29:3299" file="f29" line="3299"/>
+  <Typedef id="_5825" name="iter_type" type="_2480" context="_2337" access="public" location="f29:3300" file="f29" line="3300"/>
+  <Constructor id="_5826" name="time_get_byname" artificial="1" context="_2337" access="public" mangled="_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >::time_get_byname(std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > > const&)" location="f29:3296" file="f29" line="3296" inline="1">
+    <Argument name="_ctor_arg" type="_11489" location="f29:3296" file="f29" line="3296"/>
+  </Constructor>
+  <Constructor id="_5827" name="time_get_byname" explicit="1" context="_2337" access="public" mangled="_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj *INTERNAL* " demangled="std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >::time_get_byname(char const*, unsigned)" location="f29:3304" file="f29" line="3304" extern="1" inline="1">
+    <Argument type="_2749" location="f29:3304" file="f29" line="3304"/>
+    <Argument name="__refs" type="_1698" location="f29:3304" file="f29" line="3304" default="0"/>
+  </Constructor>
+  <Destructor id="_5828" name="time_get_byname" virtual="1" context="_2337" access="protected" mangled="_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >::~time_get_byname()" location="f29:3308" file="f29" line="3308" extern="1" inline="1">
+  </Destructor>
+  <Variable id="_5829" name="id" type="_6222" context="_2338" access="public" mangled="_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id" location="f29:3291" file="f29" line="3291" extern="1"/>
+  <Typedef id="_5830" name="char_type" type="_2786" context="_2338" access="public" location="f29:2988" file="f29" line="2988"/>
+  <Typedef id="_5831" name="iter_type" type="_2481" context="_2338" access="public" location="f29:2989" file="f29" line="2989"/>
+  <Typedef id="_5832" name="__string_type" type="_2506" context="_2338" access="public" location="f29:2991" file="f29" line="2991"/>
+  <Constructor id="_5833" name="time_get" artificial="1" context="_2338" access="public" mangled="_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKS4_ *INTERNAL* " demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::time_get(std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const&)" location="f29:2983" file="f29" line="2983" inline="1">
+    <Argument name="_ctor_arg" type="_5519" location="f29:2983" file="f29" line="2983"/>
+  </Constructor>
+  <Constructor id="_5834" name="time_get" explicit="1" context="_2338" access="public" mangled="_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej *INTERNAL* " demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::time_get(unsigned)" location="f29:3005" file="f29" line="3005" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3005" file="f29" line="3005" default="0"/>
+  </Constructor>
+  <Method id="_5835" name="date_order" returns="_5873" const="1" context="_2338" access="public" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::date_order() const" location="f29:3022" file="f29" line="3022" extern="1" inline="1"/>
+  <Method id="_5836" name="get_time" returns="_2481" const="1" context="_2338" access="public" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get_time(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, [...]
+    <Argument name="__beg" type="_2481" location="f29:3047" file="f29" line="3047"/>
+    <Argument name="__end" type="_2481" location="f29:3047" file="f29" line="3047"/>
+    <Argument name="__io" type="_4942" location="f29:3047" file="f29" line="3047"/>
+    <Argument name="__err" type="_4936" location="f29:3047" file="f29" line="3047"/>
+    <Argument name="__tm" type="_2892" location="f29:3047" file="f29" line="3047"/>
+  </Method>
+  <Method id="_5837" name="get_date" returns="_2481" const="1" context="_2338" access="public" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get_date(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, [...]
+    <Argument name="__beg" type="_2481" location="f29:3072" file="f29" line="3072"/>
+    <Argument name="__end" type="_2481" location="f29:3072" file="f29" line="3072"/>
+    <Argument name="__io" type="_4942" location="f29:3072" file="f29" line="3072"/>
+    <Argument name="__err" type="_4936" location="f29:3072" file="f29" line="3072"/>
+    <Argument name="__tm" type="_2892" location="f29:3072" file="f29" line="3072"/>
+  </Method>
+  <Method id="_5838" name="get_weekday" returns="_2481" const="1" context="_2338" access="public" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get_weekday(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t [...]
+    <Argument name="__beg" type="_2481" location="f29:3100" file="f29" line="3100"/>
+    <Argument name="__end" type="_2481" location="f29:3100" file="f29" line="3100"/>
+    <Argument name="__io" type="_4942" location="f29:3100" file="f29" line="3100"/>
+    <Argument name="__err" type="_4936" location="f29:3100" file="f29" line="3100"/>
+    <Argument name="__tm" type="_2892" location="f29:3100" file="f29" line="3100"/>
+  </Method>
+  <Method id="_5839" name="get_monthname" returns="_2481" const="1" context="_2338" access="public" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get_monthname(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<w [...]
+    <Argument name="__beg" type="_2481" location="f29:3129" file="f29" line="3129"/>
+    <Argument name="__end" type="_2481" location="f29:3129" file="f29" line="3129"/>
+    <Argument name="__io" type="_4942" location="f29:3129" file="f29" line="3129"/>
+    <Argument name="__err" type="_4936" location="f29:3129" file="f29" line="3129"/>
+    <Argument name="__tm" type="_2892" location="f29:3129" file="f29" line="3129"/>
+  </Method>
+  <Method id="_5840" name="get_year" returns="_2481" const="1" context="_2338" access="public" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get_year(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, [...]
+    <Argument name="__beg" type="_2481" location="f29:3155" file="f29" line="3155"/>
+    <Argument name="__end" type="_2481" location="f29:3155" file="f29" line="3155"/>
+    <Argument name="__io" type="_4942" location="f29:3155" file="f29" line="3155"/>
+    <Argument name="__err" type="_4936" location="f29:3155" file="f29" line="3155"/>
+    <Argument name="__tm" type="_2892" location="f29:3155" file="f29" line="3155"/>
+  </Method>
+  <Destructor id="_5841" name="time_get" virtual="1" context="_2338" access="protected" mangled="_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev *INTERNAL* " demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::~time_get()" location="f29:3160" file="f29" line="3160" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5842" name="do_date_order" returns="_5873" const="1" virtual="1" context="_2338" access="protected" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_date_order() const" location="f87:1736" file="f87" line="1736" extern="1"/>
+  <Method id="_5843" name="do_get_time" returns="_2481" const="1" virtual="1" context="_2338" access="protected" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get_time(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_tr [...]
+    <Argument name="__beg" type="_2481" location="f87:2065" file="f87" line="2065"/>
+    <Argument name="__end" type="_2481" location="f87:2065" file="f87" line="2065"/>
+    <Argument name="__io" type="_4942" location="f87:2065" file="f87" line="2065"/>
+    <Argument name="__err" type="_4936" location="f87:2065" file="f87" line="2065"/>
+    <Argument name="__tm" type="_2892" location="f87:2065" file="f87" line="2065"/>
+  </Method>
+  <Method id="_5844" name="do_get_date" returns="_2481" const="1" virtual="1" context="_2338" access="protected" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get_date(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_tr [...]
+    <Argument name="__beg" type="_2481" location="f87:2082" file="f87" line="2082"/>
+    <Argument name="__end" type="_2481" location="f87:2082" file="f87" line="2082"/>
+    <Argument name="__io" type="_4942" location="f87:2082" file="f87" line="2082"/>
+    <Argument name="__err" type="_4936" location="f87:2082" file="f87" line="2082"/>
+    <Argument name="__tm" type="_2892" location="f87:2082" file="f87" line="2082"/>
+  </Method>
+  <Method id="_5845" name="do_get_weekday" returns="_2481" const="1" virtual="1" context="_2338" access="protected" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get_weekday(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std [...]
+    <Argument name="__beg" type="_2481" location="f87:2099" file="f87" line="2099"/>
+    <Argument name="__end" type="_2481" location="f87:2099" file="f87" line="2099"/>
+    <Argument name="__io" type="_4942" location="f87:2099" file="f87" line="2099"/>
+    <Argument name="__err" type="_4936" location="f87:2099" file="f87" line="2099"/>
+    <Argument name="__tm" type="_2892" location="f87:2099" file="f87" line="2099"/>
+  </Method>
+  <Method id="_5846" name="do_get_monthname" returns="_2481" const="1" virtual="1" context="_2338" access="protected" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get_monthname(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_ [...]
+    <Argument name="__beg" type="_2481" location="f87:2144" file="f87" line="2144"/>
+    <Argument name="__end" type="_2481" location="f87:2144" file="f87" line="2144"/>
+    <Argument name="__io" type="_4942" location="f87:2144" file="f87" line="2144"/>
+    <Argument name="__err" type="_4936" location="f87:2144" file="f87" line="2144"/>
+    <Argument name="__tm" type="_2892" location="f87:2144" file="f87" line="2144"/>
+  </Method>
+  <Method id="_5847" name="do_get_year" returns="_2481" const="1" virtual="1" context="_2338" access="protected" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get_year(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_tr [...]
+    <Argument name="__beg" type="_2481" location="f87:2190" file="f87" line="2190"/>
+    <Argument name="__end" type="_2481" location="f87:2190" file="f87" line="2190"/>
+    <Argument name="__io" type="_4942" location="f87:2190" file="f87" line="2190"/>
+    <Argument name="__err" type="_4936" location="f87:2190" file="f87" line="2190"/>
+    <Argument name="__tm" type="_2892" location="f87:2190" file="f87" line="2190"/>
+  </Method>
+  <Method id="_5848" name="_M_extract_num" returns="_2481" const="1" context="_2338" access="protected" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_num(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_trai [...]
+    <Argument name="__beg" type="_2481" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__end" type="_2481" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__member" type="_4078" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__min" type="_503" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__max" type="_503" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__len" type="_1698" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__io" type="_4942" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__err" type="_4936" location="f87:1954" file="f87" line="1954"/>
+  </Method>
+  <Method id="_5849" name="_M_extract_name" returns="_2481" const="1" context="_2338" access="protected" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_name(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char [...]
+    <Argument name="__beg" type="_2481" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__end" type="_2481" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__member" type="_4078" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__names" type="_2790" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__indexlen" type="_1698" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__io" type="_4942" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__err" type="_4936" location="f87:1993" file="f87" line="1993"/>
+  </Method>
+  <Method id="_5850" name="_M_extract_via_format" returns="_2481" const="1" context="_2338" access="protected" mangled="_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw" demangled="std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_via_format(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator< [...]
+    <Argument name="__beg" type="_2481" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__end" type="_2481" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__io" type="_4942" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__err" type="_4936" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__tm" type="_2892" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__format" type="_2780" location="f87:1746" file="f87" line="1746"/>
+  </Method>
+  <Variable id="_5851" name="id" type="_6222" context="_2339" access="public" mangled="_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::id" location="f29:3291" file="f29" line="3291" extern="1"/>
+  <Typedef id="_5852" name="char_type" type="_2961" context="_2339" access="public" location="f29:2988" file="f29" line="2988"/>
+  <Typedef id="_5853" name="iter_type" type="_2480" context="_2339" access="public" location="f29:2989" file="f29" line="2989"/>
+  <Typedef id="_5854" name="__string_type" type="_2508" context="_2339" access="public" location="f29:2991" file="f29" line="2991"/>
+  <Constructor id="_5855" name="time_get" artificial="1" context="_2339" access="public" mangled="_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::time_get(std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > const&)" location="f29:2983" file="f29" line="2983" inline="1">
+    <Argument name="_ctor_arg" type="_5532" location="f29:2983" file="f29" line="2983"/>
+  </Constructor>
+  <Constructor id="_5856" name="time_get" explicit="1" context="_2339" access="public" mangled="_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej *INTERNAL* " demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::time_get(unsigned)" location="f29:3005" file="f29" line="3005" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:3005" file="f29" line="3005" default="0"/>
+  </Constructor>
+  <Method id="_5857" name="date_order" returns="_5873" const="1" context="_2339" access="public" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::date_order() const" location="f29:3022" file="f29" line="3022" extern="1" inline="1"/>
+  <Method id="_5858" name="get_time" returns="_2480" const="1" context="_2339" access="public" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get_time(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,  [...]
+    <Argument name="__beg" type="_2480" location="f29:3047" file="f29" line="3047"/>
+    <Argument name="__end" type="_2480" location="f29:3047" file="f29" line="3047"/>
+    <Argument name="__io" type="_4942" location="f29:3047" file="f29" line="3047"/>
+    <Argument name="__err" type="_4936" location="f29:3047" file="f29" line="3047"/>
+    <Argument name="__tm" type="_2892" location="f29:3047" file="f29" line="3047"/>
+  </Method>
+  <Method id="_5859" name="get_date" returns="_2480" const="1" context="_2339" access="public" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get_date(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,  [...]
+    <Argument name="__beg" type="_2480" location="f29:3072" file="f29" line="3072"/>
+    <Argument name="__end" type="_2480" location="f29:3072" file="f29" line="3072"/>
+    <Argument name="__io" type="_4942" location="f29:3072" file="f29" line="3072"/>
+    <Argument name="__err" type="_4936" location="f29:3072" file="f29" line="3072"/>
+    <Argument name="__tm" type="_2892" location="f29:3072" file="f29" line="3072"/>
+  </Method>
+  <Method id="_5860" name="get_weekday" returns="_2480" const="1" context="_2339" access="public" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get_weekday(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_b [...]
+    <Argument name="__beg" type="_2480" location="f29:3100" file="f29" line="3100"/>
+    <Argument name="__end" type="_2480" location="f29:3100" file="f29" line="3100"/>
+    <Argument name="__io" type="_4942" location="f29:3100" file="f29" line="3100"/>
+    <Argument name="__err" type="_4936" location="f29:3100" file="f29" line="3100"/>
+    <Argument name="__tm" type="_2892" location="f29:3100" file="f29" line="3100"/>
+  </Method>
+  <Method id="_5861" name="get_monthname" returns="_2480" const="1" context="_2339" access="public" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get_monthname(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std: [...]
+    <Argument name="__beg" type="_2480" location="f29:3129" file="f29" line="3129"/>
+    <Argument name="__end" type="_2480" location="f29:3129" file="f29" line="3129"/>
+    <Argument name="__io" type="_4942" location="f29:3129" file="f29" line="3129"/>
+    <Argument name="__err" type="_4936" location="f29:3129" file="f29" line="3129"/>
+    <Argument name="__tm" type="_2892" location="f29:3129" file="f29" line="3129"/>
+  </Method>
+  <Method id="_5862" name="get_year" returns="_2480" const="1" context="_2339" access="public" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get_year(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,  [...]
+    <Argument name="__beg" type="_2480" location="f29:3155" file="f29" line="3155"/>
+    <Argument name="__end" type="_2480" location="f29:3155" file="f29" line="3155"/>
+    <Argument name="__io" type="_4942" location="f29:3155" file="f29" line="3155"/>
+    <Argument name="__err" type="_4936" location="f29:3155" file="f29" line="3155"/>
+    <Argument name="__tm" type="_2892" location="f29:3155" file="f29" line="3155"/>
+  </Method>
+  <Destructor id="_5863" name="time_get" virtual="1" context="_2339" access="protected" mangled="_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::~time_get()" location="f29:3160" file="f29" line="3160" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5864" name="do_date_order" returns="_5873" const="1" virtual="1" context="_2339" access="protected" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_date_order() const" location="f87:1736" file="f87" line="1736" extern="1"/>
+  <Method id="_5865" name="do_get_time" returns="_2480" const="1" virtual="1" context="_2339" access="protected" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get_time(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> & [...]
+    <Argument name="__beg" type="_2480" location="f87:2065" file="f87" line="2065"/>
+    <Argument name="__end" type="_2480" location="f87:2065" file="f87" line="2065"/>
+    <Argument name="__io" type="_4942" location="f87:2065" file="f87" line="2065"/>
+    <Argument name="__err" type="_4936" location="f87:2065" file="f87" line="2065"/>
+    <Argument name="__tm" type="_2892" location="f87:2065" file="f87" line="2065"/>
+  </Method>
+  <Method id="_5866" name="do_get_date" returns="_2480" const="1" virtual="1" context="_2339" access="protected" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get_date(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> & [...]
+    <Argument name="__beg" type="_2480" location="f87:2082" file="f87" line="2082"/>
+    <Argument name="__end" type="_2480" location="f87:2082" file="f87" line="2082"/>
+    <Argument name="__io" type="_4942" location="f87:2082" file="f87" line="2082"/>
+    <Argument name="__err" type="_4936" location="f87:2082" file="f87" line="2082"/>
+    <Argument name="__tm" type="_2892" location="f87:2082" file="f87" line="2082"/>
+  </Method>
+  <Method id="_5867" name="do_get_weekday" returns="_2480" const="1" virtual="1" context="_2339" access="protected" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get_weekday(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<c [...]
+    <Argument name="__beg" type="_2480" location="f87:2099" file="f87" line="2099"/>
+    <Argument name="__end" type="_2480" location="f87:2099" file="f87" line="2099"/>
+    <Argument name="__io" type="_4942" location="f87:2099" file="f87" line="2099"/>
+    <Argument name="__err" type="_4936" location="f87:2099" file="f87" line="2099"/>
+    <Argument name="__tm" type="_2892" location="f87:2099" file="f87" line="2099"/>
+  </Method>
+  <Method id="_5868" name="do_get_monthname" returns="_2480" const="1" virtual="1" context="_2339" access="protected" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get_monthname(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_trait [...]
+    <Argument name="__beg" type="_2480" location="f87:2144" file="f87" line="2144"/>
+    <Argument name="__end" type="_2480" location="f87:2144" file="f87" line="2144"/>
+    <Argument name="__io" type="_4942" location="f87:2144" file="f87" line="2144"/>
+    <Argument name="__err" type="_4936" location="f87:2144" file="f87" line="2144"/>
+    <Argument name="__tm" type="_2892" location="f87:2144" file="f87" line="2144"/>
+  </Method>
+  <Method id="_5869" name="do_get_year" returns="_2480" const="1" virtual="1" context="_2339" access="protected" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get_year(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> & [...]
+    <Argument name="__beg" type="_2480" location="f87:2190" file="f87" line="2190"/>
+    <Argument name="__end" type="_2480" location="f87:2190" file="f87" line="2190"/>
+    <Argument name="__io" type="_4942" location="f87:2190" file="f87" line="2190"/>
+    <Argument name="__err" type="_4936" location="f87:2190" file="f87" line="2190"/>
+    <Argument name="__tm" type="_2892" location="f87:2190" file="f87" line="2190"/>
+  </Method>
+  <Method id="_5870" name="_M_extract_num" returns="_2480" const="1" context="_2339" access="protected" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_num(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> &gt [...]
+    <Argument name="__beg" type="_2480" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__end" type="_2480" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__member" type="_4078" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__min" type="_503" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__max" type="_503" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__len" type="_1698" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__io" type="_4942" location="f87:1954" file="f87" line="1954"/>
+    <Argument name="__err" type="_4936" location="f87:1954" file="f87" line="1954"/>
+  </Method>
+  <Method id="_5871" name="_M_extract_name" returns="_2480" const="1" context="_2339" access="protected" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_name(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char&gt [...]
+    <Argument name="__beg" type="_2480" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__end" type="_2480" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__member" type="_4078" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__names" type="_2794" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__indexlen" type="_1698" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__io" type="_4942" location="f87:1993" file="f87" line="1993"/>
+    <Argument name="__err" type="_4936" location="f87:1993" file="f87" line="1993"/>
+  </Method>
+  <Method id="_5872" name="_M_extract_via_format" returns="_2480" const="1" context="_2339" access="protected" mangled="_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc" demangled="std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_via_format(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char [...]
+    <Argument name="__beg" type="_2480" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__end" type="_2480" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__io" type="_4942" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__err" type="_4936" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__tm" type="_2892" location="f87:1746" file="f87" line="1746"/>
+    <Argument name="__format" type="_2749" location="f87:1746" file="f87" line="1746"/>
+  </Method>
+  <Enumeration id="_5873" name="dateorder" context="_2340" access="public" location="f29:2677" file="f29" line="2677" artificial="1" size="32" align="32">
+    <EnumValue name="no_order" init="0"/>
+    <EnumValue name="dmy" init="1"/>
+    <EnumValue name="mdy" init="2"/>
+    <EnumValue name="ymd" init="3"/>
+    <EnumValue name="ydm" init="4"/>
+  </Enumeration>
+  <Constructor id="_5874" name="time_base" artificial="1" throw="" context="_2340" access="public" mangled="_ZNSt9time_baseC1ERKS_ *INTERNAL* " demangled="std::time_base::time_base(std::time_base const&)" location="f29:2675" file="f29" line="2675" inline="1">
+    <Argument name="_ctor_arg" type="_11490" location="f29:2675" file="f29" line="2675"/>
+  </Constructor>
+  <Constructor id="_5875" name="time_base" explicit="1" artificial="1" throw="" context="_2340" access="public" mangled="_ZNSt9time_baseC1Ev *INTERNAL* " demangled="std::time_base::time_base()" location="f29:2675" file="f29" line="2675" inline="1"/>
+  <Typedef id="_5876" name="char_type" type="_2786" context="_2341" access="public" location="f29:2647" file="f29" line="2647"/>
+  <Typedef id="_5877" name="string_type" type="_2506" context="_2341" access="public" location="f29:2648" file="f29" line="2648"/>
+  <Constructor id="_5878" name="collate_byname" artificial="1" context="_2341" access="public" mangled="_ZNSt14collate_bynameIwEC1ERKS0_ *INTERNAL* " demangled="std::collate_byname<wchar_t>::collate_byname(std::collate_byname<wchar_t> const&)" location="f29:2643" file="f29" line="2643" inline="1">
+    <Argument name="_ctor_arg" type="_11491" location="f29:2643" file="f29" line="2643"/>
+  </Constructor>
+  <Constructor id="_5879" name="collate_byname" explicit="1" context="_2341" access="public" mangled="_ZNSt14collate_bynameIwEC1EPKcj *INTERNAL* " demangled="std::collate_byname<wchar_t>::collate_byname(char const*, unsigned)" location="f29:2653" file="f29" line="2653" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f29:2653" file="f29" line="2653"/>
+    <Argument name="__refs" type="_1698" location="f29:2653" file="f29" line="2653" default="0"/>
+  </Constructor>
+  <Destructor id="_5880" name="collate_byname" virtual="1" context="_2341" access="protected" mangled="_ZNSt14collate_bynameIwED1Ev *INTERNAL* " demangled="std::collate_byname<wchar_t>::~collate_byname()" location="f29:2664" file="f29" line="2664" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_5881" name="char_type" type="_2961" context="_2342" access="public" location="f29:2647" file="f29" line="2647"/>
+  <Typedef id="_5882" name="string_type" type="_2508" context="_2342" access="public" location="f29:2648" file="f29" line="2648"/>
+  <Constructor id="_5883" name="collate_byname" artificial="1" context="_2342" access="public" mangled="_ZNSt14collate_bynameIcEC1ERKS0_ *INTERNAL* " demangled="std::collate_byname<char>::collate_byname(std::collate_byname<char> const&)" location="f29:2643" file="f29" line="2643" inline="1">
+    <Argument name="_ctor_arg" type="_11492" location="f29:2643" file="f29" line="2643"/>
+  </Constructor>
+  <Constructor id="_5884" name="collate_byname" explicit="1" context="_2342" access="public" mangled="_ZNSt14collate_bynameIcEC1EPKcj *INTERNAL* " demangled="std::collate_byname<char>::collate_byname(char const*, unsigned)" location="f29:2653" file="f29" line="2653" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f29:2653" file="f29" line="2653"/>
+    <Argument name="__refs" type="_1698" location="f29:2653" file="f29" line="2653" default="0"/>
+  </Constructor>
+  <Destructor id="_5885" name="collate_byname" virtual="1" context="_2342" access="protected" mangled="_ZNSt14collate_bynameIcED1Ev *INTERNAL* " demangled="std::collate_byname<char>::~collate_byname()" location="f29:2664" file="f29" line="2664" extern="1" inline="1">
+  </Destructor>
+  <Field id="_5886" name="_M_c_locale_collate" type="_2534" offset="64" context="_2343" access="protected" mangled="_ZNSt7collateIwE19_M_c_locale_collateE" demangled="std::collate<wchar_t>::_M_c_locale_collate" location="f29:2479" file="f29" line="2479"/>
+  <Variable id="_5887" name="id" type="_6222" context="_2343" access="public" mangled="_ZNSt7collateIwE2idE" demangled="std::collate<wchar_t>::id" location="f29:2619" file="f29" line="2619" extern="1"/>
+  <Typedef id="_5888" name="char_type" type="_2786" context="_2343" access="public" location="f29:2472" file="f29" line="2472"/>
+  <Typedef id="_5889" name="string_type" type="_2506" context="_2343" access="public" location="f29:2473" file="f29" line="2473"/>
+  <Constructor id="_5890" name="collate" artificial="1" context="_2343" access="public" mangled="_ZNSt7collateIwEC1ERKS0_ *INTERNAL* " demangled="std::collate<wchar_t>::collate(std::collate<wchar_t> const&)" location="f29:2467" file="f29" line="2467" inline="1">
+    <Argument name="_ctor_arg" type="_5529" location="f29:2467" file="f29" line="2467"/>
+  </Constructor>
+  <Constructor id="_5891" name="collate" explicit="1" context="_2343" access="public" mangled="_ZNSt7collateIwEC1Ej *INTERNAL* " demangled="std::collate<wchar_t>::collate(unsigned)" location="f29:2494" file="f29" line="2494" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:2494" file="f29" line="2494" default="0"/>
+  </Constructor>
+  <Constructor id="_5892" name="collate" explicit="1" context="_2343" access="public" mangled="_ZNSt7collateIwEC1EP15__locale_structj *INTERNAL* " demangled="std::collate<wchar_t>::collate(__locale_struct*, unsigned)" location="f29:2508" file="f29" line="2508" extern="1" inline="1">
+    <Argument name="__cloc" type="_2534" location="f29:2508" file="f29" line="2508"/>
+    <Argument name="__refs" type="_1698" location="f29:2508" file="f29" line="2508" default="0"/>
+  </Constructor>
+  <Method id="_5893" name="compare" returns="_503" const="1" context="_2343" access="public" mangled="_ZNKSt7collateIwE7compareEPKwS2_S2_S2_" demangled="std::collate<wchar_t>::compare(wchar_t const*, wchar_t const*, wchar_t const*, wchar_t const*) const" location="f29:2526" file="f29" line="2526" extern="1" inline="1">
+    <Argument name="__lo1" type="_2780" location="f29:2526" file="f29" line="2526"/>
+    <Argument name="__hi1" type="_2780" location="f29:2526" file="f29" line="2526"/>
+    <Argument name="__lo2" type="_2780" location="f29:2526" file="f29" line="2526"/>
+    <Argument name="__hi2" type="_2780" location="f29:2526" file="f29" line="2526"/>
+  </Method>
+  <Method id="_5894" name="transform" returns="_2506" const="1" context="_2343" access="public" mangled="_ZNKSt7collateIwE9transformEPKwS2_" demangled="std::collate<wchar_t>::transform(wchar_t const*, wchar_t const*) const" location="f29:2544" file="f29" line="2544" extern="1" inline="1">
+    <Argument name="__lo" type="_2780" location="f29:2544" file="f29" line="2544"/>
+    <Argument name="__hi" type="_2780" location="f29:2544" file="f29" line="2544"/>
+  </Method>
+  <Method id="_5895" name="hash" returns="_1553" const="1" context="_2343" access="public" mangled="_ZNKSt7collateIwE4hashEPKwS2_" demangled="std::collate<wchar_t>::hash(wchar_t const*, wchar_t const*) const" location="f29:2558" file="f29" line="2558" extern="1" inline="1">
+    <Argument name="__lo" type="_2780" location="f29:2558" file="f29" line="2558"/>
+    <Argument name="__hi" type="_2780" location="f29:2558" file="f29" line="2558"/>
+  </Method>
+  <Method id="_5896" name="_M_compare" returns="_503" const="1" context="_2343" access="public" mangled="_ZNKSt7collateIwE10_M_compareEPKwS2_" demangled="std::collate<wchar_t>::_M_compare(wchar_t const*, wchar_t const*) const" location="f29:2633" file="f29" line="2633" extern="1">
+    <Argument type="_2780" location="f29:2633" file="f29" line="2633"/>
+    <Argument type="_2780" location="f29:2633" file="f29" line="2633"/>
+  </Method>
+  <Method id="_5897" name="_M_transform" returns="_1698" const="1" context="_2343" access="public" mangled="_ZNKSt7collateIwE12_M_transformEPwPKwj" demangled="std::collate<wchar_t>::_M_transform(wchar_t*, wchar_t const*, unsigned) const" location="f29:2637" file="f29" line="2637" extern="1">
+    <Argument type="_2778" location="f29:2637" file="f29" line="2637"/>
+    <Argument type="_2780" location="f29:2637" file="f29" line="2637"/>
+    <Argument type="_1698" location="f29:2637" file="f29" line="2637"/>
+  </Method>
+  <Destructor id="_5898" name="collate" virtual="1" context="_2343" access="protected" mangled="_ZNSt7collateIwED1Ev *INTERNAL* " demangled="std::collate<wchar_t>::~collate()" location="f29:2571" file="f29" line="2571" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5899" name="do_compare" returns="_503" const="1" virtual="1" context="_2343" access="protected" mangled="_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_" demangled="std::collate<wchar_t>::do_compare(wchar_t const*, wchar_t const*, wchar_t const*, wchar_t const*) const" location="f29:2587" file="f29" line="2587" extern="1">
+    <Argument name="__lo1" type="_2780" location="f29:2587" file="f29" line="2587"/>
+    <Argument name="__hi1" type="_2780" location="f29:2587" file="f29" line="2587"/>
+    <Argument name="__lo2" type="_2780" location="f29:2587" file="f29" line="2587"/>
+    <Argument name="__hi2" type="_2780" location="f29:2587" file="f29" line="2587"/>
+  </Method>
+  <Method id="_5900" name="do_transform" returns="_2506" const="1" virtual="1" context="_2343" access="protected" mangled="_ZNKSt7collateIwE12do_transformEPKwS2_" demangled="std::collate<wchar_t>::do_transform(wchar_t const*, wchar_t const*) const" location="f29:2602" file="f29" line="2602" extern="1">
+    <Argument name="__lo" type="_2780" location="f29:2602" file="f29" line="2602"/>
+    <Argument name="__hi" type="_2780" location="f29:2602" file="f29" line="2602"/>
+  </Method>
+  <Method id="_5901" name="do_hash" returns="_1553" const="1" virtual="1" context="_2343" access="protected" mangled="_ZNKSt7collateIwE7do_hashEPKwS2_" demangled="std::collate<wchar_t>::do_hash(wchar_t const*, wchar_t const*) const" location="f29:2615" file="f29" line="2615" extern="1">
+    <Argument name="__lo" type="_2780" location="f29:2615" file="f29" line="2615"/>
+    <Argument name="__hi" type="_2780" location="f29:2615" file="f29" line="2615"/>
+  </Method>
+  <Field id="_5902" name="_M_c_locale_collate" type="_2534" offset="64" context="_2344" access="protected" mangled="_ZNSt7collateIcE19_M_c_locale_collateE" demangled="std::collate<char>::_M_c_locale_collate" location="f29:2479" file="f29" line="2479"/>
+  <Variable id="_5903" name="id" type="_6222" context="_2344" access="public" mangled="_ZNSt7collateIcE2idE" demangled="std::collate<char>::id" location="f29:2619" file="f29" line="2619" extern="1"/>
+  <Typedef id="_5904" name="char_type" type="_2961" context="_2344" access="public" location="f29:2472" file="f29" line="2472"/>
+  <Typedef id="_5905" name="string_type" type="_2508" context="_2344" access="public" location="f29:2473" file="f29" line="2473"/>
+  <Constructor id="_5906" name="collate" artificial="1" context="_2344" access="public" mangled="_ZNSt7collateIcEC1ERKS0_ *INTERNAL* " demangled="std::collate<char>::collate(std::collate<char> const&)" location="f29:2467" file="f29" line="2467" inline="1">
+    <Argument name="_ctor_arg" type="_5542" location="f29:2467" file="f29" line="2467"/>
+  </Constructor>
+  <Constructor id="_5907" name="collate" explicit="1" context="_2344" access="public" mangled="_ZNSt7collateIcEC1Ej *INTERNAL* " demangled="std::collate<char>::collate(unsigned)" location="f29:2494" file="f29" line="2494" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:2494" file="f29" line="2494" default="0"/>
+  </Constructor>
+  <Constructor id="_5908" name="collate" explicit="1" context="_2344" access="public" mangled="_ZNSt7collateIcEC1EP15__locale_structj *INTERNAL* " demangled="std::collate<char>::collate(__locale_struct*, unsigned)" location="f29:2508" file="f29" line="2508" extern="1" inline="1">
+    <Argument name="__cloc" type="_2534" location="f29:2508" file="f29" line="2508"/>
+    <Argument name="__refs" type="_1698" location="f29:2508" file="f29" line="2508" default="0"/>
+  </Constructor>
+  <Method id="_5909" name="compare" returns="_503" const="1" context="_2344" access="public" mangled="_ZNKSt7collateIcE7compareEPKcS2_S2_S2_" demangled="std::collate<char>::compare(char const*, char const*, char const*, char const*) const" location="f29:2526" file="f29" line="2526" extern="1" inline="1">
+    <Argument name="__lo1" type="_2749" location="f29:2526" file="f29" line="2526"/>
+    <Argument name="__hi1" type="_2749" location="f29:2526" file="f29" line="2526"/>
+    <Argument name="__lo2" type="_2749" location="f29:2526" file="f29" line="2526"/>
+    <Argument name="__hi2" type="_2749" location="f29:2526" file="f29" line="2526"/>
+  </Method>
+  <Method id="_5910" name="transform" returns="_2508" const="1" context="_2344" access="public" mangled="_ZNKSt7collateIcE9transformEPKcS2_" demangled="std::collate<char>::transform(char const*, char const*) const" location="f29:2544" file="f29" line="2544" extern="1" inline="1">
+    <Argument name="__lo" type="_2749" location="f29:2544" file="f29" line="2544"/>
+    <Argument name="__hi" type="_2749" location="f29:2544" file="f29" line="2544"/>
+  </Method>
+  <Method id="_5911" name="hash" returns="_1553" const="1" context="_2344" access="public" mangled="_ZNKSt7collateIcE4hashEPKcS2_" demangled="std::collate<char>::hash(char const*, char const*) const" location="f29:2558" file="f29" line="2558" extern="1" inline="1">
+    <Argument name="__lo" type="_2749" location="f29:2558" file="f29" line="2558"/>
+    <Argument name="__hi" type="_2749" location="f29:2558" file="f29" line="2558"/>
+  </Method>
+  <Method id="_5912" name="_M_compare" returns="_503" const="1" context="_2344" access="public" mangled="_ZNKSt7collateIcE10_M_compareEPKcS2_" demangled="std::collate<char>::_M_compare(char const*, char const*) const" location="f29:2624" file="f29" line="2624" extern="1">
+    <Argument type="_2749" location="f29:2624" file="f29" line="2624"/>
+    <Argument type="_2749" location="f29:2624" file="f29" line="2624"/>
+  </Method>
+  <Method id="_5913" name="_M_transform" returns="_1698" const="1" context="_2344" access="public" mangled="_ZNKSt7collateIcE12_M_transformEPcPKcj" demangled="std::collate<char>::_M_transform(char*, char const*, unsigned) const" location="f29:2628" file="f29" line="2628" extern="1">
+    <Argument type="_1149" location="f29:2628" file="f29" line="2628"/>
+    <Argument type="_2749" location="f29:2628" file="f29" line="2628"/>
+    <Argument type="_1698" location="f29:2628" file="f29" line="2628"/>
+  </Method>
+  <Destructor id="_5914" name="collate" virtual="1" context="_2344" access="protected" mangled="_ZNSt7collateIcED1Ev *INTERNAL* " demangled="std::collate<char>::~collate()" location="f29:2571" file="f29" line="2571" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5915" name="do_compare" returns="_503" const="1" virtual="1" context="_2344" access="protected" mangled="_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_" demangled="std::collate<char>::do_compare(char const*, char const*, char const*, char const*) const" location="f29:2587" file="f29" line="2587" extern="1">
+    <Argument name="__lo1" type="_2749" location="f29:2587" file="f29" line="2587"/>
+    <Argument name="__hi1" type="_2749" location="f29:2587" file="f29" line="2587"/>
+    <Argument name="__lo2" type="_2749" location="f29:2587" file="f29" line="2587"/>
+    <Argument name="__hi2" type="_2749" location="f29:2587" file="f29" line="2587"/>
+  </Method>
+  <Method id="_5916" name="do_transform" returns="_2508" const="1" virtual="1" context="_2344" access="protected" mangled="_ZNKSt7collateIcE12do_transformEPKcS2_" demangled="std::collate<char>::do_transform(char const*, char const*) const" location="f29:2602" file="f29" line="2602" extern="1">
+    <Argument name="__lo" type="_2749" location="f29:2602" file="f29" line="2602"/>
+    <Argument name="__hi" type="_2749" location="f29:2602" file="f29" line="2602"/>
+  </Method>
+  <Method id="_5917" name="do_hash" returns="_1553" const="1" virtual="1" context="_2344" access="protected" mangled="_ZNKSt7collateIcE7do_hashEPKcS2_" demangled="std::collate<char>::do_hash(char const*, char const*) const" location="f29:2615" file="f29" line="2615" extern="1">
+    <Argument name="__lo" type="_2749" location="f29:2615" file="f29" line="2615"/>
+    <Argument name="__hi" type="_2749" location="f29:2615" file="f29" line="2615"/>
+  </Method>
+  <Typedef id="_5918" name="char_type" type="_2786" context="_2345" access="public" location="f29:1892" file="f29" line="1892"/>
+  <Typedef id="_5919" name="string_type" type="_2506" context="_2345" access="public" location="f29:1893" file="f29" line="1893"/>
+  <Constructor id="_5920" name="numpunct_byname" artificial="1" context="_2345" access="public" mangled="_ZNSt15numpunct_bynameIwEC1ERKS0_ *INTERNAL* " demangled="std::numpunct_byname<wchar_t>::numpunct_byname(std::numpunct_byname<wchar_t> const&)" location="f29:1890" file="f29" line="1890" inline="1">
+    <Argument name="_ctor_arg" type="_11493" location="f29:1890" file="f29" line="1890"/>
+  </Constructor>
+  <Constructor id="_5921" name="numpunct_byname" explicit="1" context="_2345" access="public" mangled="_ZNSt15numpunct_bynameIwEC1EPKcj *INTERNAL* " demangled="std::numpunct_byname<wchar_t>::numpunct_byname(char const*, unsigned)" location="f29:1897" file="f29" line="1897" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f29:1897" file="f29" line="1897"/>
+    <Argument name="__refs" type="_1698" location="f29:1897" file="f29" line="1897" default="0"/>
+  </Constructor>
+  <Destructor id="_5922" name="numpunct_byname" virtual="1" context="_2345" access="protected" mangled="_ZNSt15numpunct_bynameIwED1Ev *INTERNAL* " demangled="std::numpunct_byname<wchar_t>::~numpunct_byname()" location="f29:1910" file="f29" line="1910" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_5923" name="char_type" type="_2961" context="_2346" access="public" location="f29:1892" file="f29" line="1892"/>
+  <Typedef id="_5924" name="string_type" type="_2508" context="_2346" access="public" location="f29:1893" file="f29" line="1893"/>
+  <Constructor id="_5925" name="numpunct_byname" artificial="1" context="_2346" access="public" mangled="_ZNSt15numpunct_bynameIcEC1ERKS0_ *INTERNAL* " demangled="std::numpunct_byname<char>::numpunct_byname(std::numpunct_byname<char> const&)" location="f29:1890" file="f29" line="1890" inline="1">
+    <Argument name="_ctor_arg" type="_11494" location="f29:1890" file="f29" line="1890"/>
+  </Constructor>
+  <Constructor id="_5926" name="numpunct_byname" explicit="1" context="_2346" access="public" mangled="_ZNSt15numpunct_bynameIcEC1EPKcj *INTERNAL* " demangled="std::numpunct_byname<char>::numpunct_byname(char const*, unsigned)" location="f29:1897" file="f29" line="1897" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f29:1897" file="f29" line="1897"/>
+    <Argument name="__refs" type="_1698" location="f29:1897" file="f29" line="1897" default="0"/>
+  </Constructor>
+  <Destructor id="_5927" name="numpunct_byname" virtual="1" context="_2346" access="protected" mangled="_ZNSt15numpunct_bynameIcED1Ev *INTERNAL* " demangled="std::numpunct_byname<char>::~numpunct_byname()" location="f29:1910" file="f29" line="1910" extern="1" inline="1">
+  </Destructor>
+  <Field id="_5928" name="_M_data" type="_11495" offset="64" context="_2347" access="protected" mangled="_ZNSt8numpunctIwE7_M_dataE" demangled="std::numpunct<wchar_t>::_M_data" location="f29:1669" file="f29" line="1669"/>
+  <Variable id="_5929" name="id" type="_6222" context="_2347" access="public" mangled="_ZNSt8numpunctIwE2idE" demangled="std::numpunct<wchar_t>::id" location="f29:1869" file="f29" line="1869" extern="1"/>
+  <Typedef id="_5930" name="char_type" type="_2786" context="_2347" access="public" location="f29:1663" file="f29" line="1663"/>
+  <Typedef id="_5931" name="string_type" type="_2506" context="_2347" access="public" location="f29:1664" file="f29" line="1664"/>
+  <Typedef id="_5932" name="__cache_type" type="_2088" context="_2347" access="public" location="f29:1666" file="f29" line="1666"/>
+  <Constructor id="_5933" name="numpunct" artificial="1" context="_2347" access="public" mangled="_ZNSt8numpunctIwEC1ERKS0_ *INTERNAL* " demangled="std::numpunct<wchar_t>::numpunct(std::numpunct<wchar_t> const&)" location="f29:1658" file="f29" line="1658" inline="1">
+    <Argument name="_ctor_arg" type="_5528" location="f29:1658" file="f29" line="1658"/>
+  </Constructor>
+  <Constructor id="_5934" name="numpunct" explicit="1" context="_2347" access="public" mangled="_ZNSt8numpunctIwEC1Ej *INTERNAL* " demangled="std::numpunct<wchar_t>::numpunct(unsigned)" location="f29:1681" file="f29" line="1681" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:1681" file="f29" line="1681" default="0"/>
+  </Constructor>
+  <Constructor id="_5935" name="numpunct" explicit="1" context="_2347" access="public" mangled="_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj *INTERNAL* " demangled="std::numpunct<wchar_t>::numpunct(std::__numpunct_cache<wchar_t>*, unsigned)" location="f29:1695" file="f29" line="1695" extern="1" inline="1">
+    <Argument name="__cache" type="_11495" location="f29:1695" file="f29" line="1695"/>
+    <Argument name="__refs" type="_1698" location="f29:1695" file="f29" line="1695" default="0"/>
+  </Constructor>
+  <Constructor id="_5936" name="numpunct" explicit="1" context="_2347" access="public" mangled="_ZNSt8numpunctIwEC1EP15__locale_structj *INTERNAL* " demangled="std::numpunct<wchar_t>::numpunct(__locale_struct*, unsigned)" location="f29:1709" file="f29" line="1709" extern="1" inline="1">
+    <Argument name="__cloc" type="_2534" location="f29:1709" file="f29" line="1709"/>
+    <Argument name="__refs" type="_1698" location="f29:1709" file="f29" line="1709" default="0"/>
+  </Constructor>
+  <Method id="_5937" name="decimal_point" returns="_2786" const="1" context="_2347" access="public" mangled="_ZNKSt8numpunctIwE13decimal_pointEv" demangled="std::numpunct<wchar_t>::decimal_point() const" location="f29:1723" file="f29" line="1723" extern="1" inline="1"/>
+  <Method id="_5938" name="thousands_sep" returns="_2786" const="1" context="_2347" access="public" mangled="_ZNKSt8numpunctIwE13thousands_sepEv" demangled="std::numpunct<wchar_t>::thousands_sep() const" location="f29:1736" file="f29" line="1736" extern="1" inline="1"/>
+  <Method id="_5939" name="grouping" returns="_2508" const="1" context="_2347" access="public" mangled="_ZNKSt8numpunctIwE8groupingEv" demangled="std::numpunct<wchar_t>::grouping() const" location="f29:1767" file="f29" line="1767" extern="1" inline="1"/>
+  <Method id="_5940" name="truename" returns="_2506" const="1" context="_2347" access="public" mangled="_ZNKSt8numpunctIwE8truenameEv" demangled="std::numpunct<wchar_t>::truename() const" location="f29:1780" file="f29" line="1780" extern="1" inline="1"/>
+  <Method id="_5941" name="falsename" returns="_2506" const="1" context="_2347" access="public" mangled="_ZNKSt8numpunctIwE9falsenameEv" demangled="std::numpunct<wchar_t>::falsename() const" location="f29:1793" file="f29" line="1793" extern="1" inline="1"/>
+  <Destructor id="_5942" name="numpunct" virtual="1" context="_2347" access="protected" mangled="_ZNSt8numpunctIwED1Ev *INTERNAL* " demangled="std::numpunct<wchar_t>::~numpunct()" location="f29:1880" file="f29" line="1880" extern="1">
+  </Destructor>
+  <Method id="_5943" name="do_decimal_point" returns="_2786" const="1" virtual="1" context="_2347" access="protected" mangled="_ZNKSt8numpunctIwE16do_decimal_pointEv" demangled="std::numpunct<wchar_t>::do_decimal_point() const" location="f29:1810" file="f29" line="1810" extern="1" inline="1"/>
+  <Method id="_5944" name="do_thousands_sep" returns="_2786" const="1" virtual="1" context="_2347" access="protected" mangled="_ZNKSt8numpunctIwE16do_thousands_sepEv" demangled="std::numpunct<wchar_t>::do_thousands_sep() const" location="f29:1822" file="f29" line="1822" extern="1" inline="1"/>
+  <Method id="_5945" name="do_grouping" returns="_2508" const="1" virtual="1" context="_2347" access="protected" mangled="_ZNKSt8numpunctIwE11do_groupingEv" demangled="std::numpunct<wchar_t>::do_grouping() const" location="f29:1835" file="f29" line="1835" extern="1" inline="1"/>
+  <Method id="_5946" name="do_truename" returns="_2506" const="1" virtual="1" context="_2347" access="protected" mangled="_ZNKSt8numpunctIwE11do_truenameEv" demangled="std::numpunct<wchar_t>::do_truename() const" location="f29:1848" file="f29" line="1848" extern="1" inline="1"/>
+  <Method id="_5947" name="do_falsename" returns="_2506" const="1" virtual="1" context="_2347" access="protected" mangled="_ZNKSt8numpunctIwE12do_falsenameEv" demangled="std::numpunct<wchar_t>::do_falsename() const" location="f29:1861" file="f29" line="1861" extern="1" inline="1"/>
+  <Method id="_5948" name="_M_initialize_numpunct" returns="_1194" context="_2347" access="protected" mangled="_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct" demangled="std::numpunct<wchar_t>::_M_initialize_numpunct(__locale_struct*)" location="f29:1884" file="f29" line="1884" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:1884" file="f29" line="1884" default="0"/>
+  </Method>
+  <Field id="_5949" name="_M_data" type="_11496" offset="64" context="_2348" access="protected" mangled="_ZNSt8numpunctIcE7_M_dataE" demangled="std::numpunct<char>::_M_data" location="f29:1669" file="f29" line="1669"/>
+  <Variable id="_5950" name="id" type="_6222" context="_2348" access="public" mangled="_ZNSt8numpunctIcE2idE" demangled="std::numpunct<char>::id" location="f29:1869" file="f29" line="1869" extern="1"/>
+  <Typedef id="_5951" name="char_type" type="_2961" context="_2348" access="public" location="f29:1663" file="f29" line="1663"/>
+  <Typedef id="_5952" name="string_type" type="_2508" context="_2348" access="public" location="f29:1664" file="f29" line="1664"/>
+  <Typedef id="_5953" name="__cache_type" type="_2089" context="_2348" access="public" location="f29:1666" file="f29" line="1666"/>
+  <Constructor id="_5954" name="numpunct" artificial="1" context="_2348" access="public" mangled="_ZNSt8numpunctIcEC1ERKS0_ *INTERNAL* " demangled="std::numpunct<char>::numpunct(std::numpunct<char> const&)" location="f29:1658" file="f29" line="1658" inline="1">
+    <Argument name="_ctor_arg" type="_5541" location="f29:1658" file="f29" line="1658"/>
+  </Constructor>
+  <Constructor id="_5955" name="numpunct" explicit="1" context="_2348" access="public" mangled="_ZNSt8numpunctIcEC1Ej *INTERNAL* " demangled="std::numpunct<char>::numpunct(unsigned)" location="f29:1681" file="f29" line="1681" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:1681" file="f29" line="1681" default="0"/>
+  </Constructor>
+  <Constructor id="_5956" name="numpunct" explicit="1" context="_2348" access="public" mangled="_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj *INTERNAL* " demangled="std::numpunct<char>::numpunct(std::__numpunct_cache<char>*, unsigned)" location="f29:1695" file="f29" line="1695" extern="1" inline="1">
+    <Argument name="__cache" type="_11496" location="f29:1695" file="f29" line="1695"/>
+    <Argument name="__refs" type="_1698" location="f29:1695" file="f29" line="1695" default="0"/>
+  </Constructor>
+  <Constructor id="_5957" name="numpunct" explicit="1" context="_2348" access="public" mangled="_ZNSt8numpunctIcEC1EP15__locale_structj *INTERNAL* " demangled="std::numpunct<char>::numpunct(__locale_struct*, unsigned)" location="f29:1709" file="f29" line="1709" extern="1" inline="1">
+    <Argument name="__cloc" type="_2534" location="f29:1709" file="f29" line="1709"/>
+    <Argument name="__refs" type="_1698" location="f29:1709" file="f29" line="1709" default="0"/>
+  </Constructor>
+  <Method id="_5958" name="decimal_point" returns="_2961" const="1" context="_2348" access="public" mangled="_ZNKSt8numpunctIcE13decimal_pointEv" demangled="std::numpunct<char>::decimal_point() const" location="f29:1723" file="f29" line="1723" extern="1" inline="1"/>
+  <Method id="_5959" name="thousands_sep" returns="_2961" const="1" context="_2348" access="public" mangled="_ZNKSt8numpunctIcE13thousands_sepEv" demangled="std::numpunct<char>::thousands_sep() const" location="f29:1736" file="f29" line="1736" extern="1" inline="1"/>
+  <Method id="_5960" name="grouping" returns="_2508" const="1" context="_2348" access="public" mangled="_ZNKSt8numpunctIcE8groupingEv" demangled="std::numpunct<char>::grouping() const" location="f29:1767" file="f29" line="1767" extern="1" inline="1"/>
+  <Method id="_5961" name="truename" returns="_2508" const="1" context="_2348" access="public" mangled="_ZNKSt8numpunctIcE8truenameEv" demangled="std::numpunct<char>::truename() const" location="f29:1780" file="f29" line="1780" extern="1" inline="1"/>
+  <Method id="_5962" name="falsename" returns="_2508" const="1" context="_2348" access="public" mangled="_ZNKSt8numpunctIcE9falsenameEv" demangled="std::numpunct<char>::falsename() const" location="f29:1793" file="f29" line="1793" extern="1" inline="1"/>
+  <Destructor id="_5963" name="numpunct" virtual="1" context="_2348" access="protected" mangled="_ZNSt8numpunctIcED1Ev *INTERNAL* " demangled="std::numpunct<char>::~numpunct()" location="f29:1872" file="f29" line="1872" extern="1">
+  </Destructor>
+  <Method id="_5964" name="do_decimal_point" returns="_2961" const="1" virtual="1" context="_2348" access="protected" mangled="_ZNKSt8numpunctIcE16do_decimal_pointEv" demangled="std::numpunct<char>::do_decimal_point() const" location="f29:1810" file="f29" line="1810" extern="1" inline="1"/>
+  <Method id="_5965" name="do_thousands_sep" returns="_2961" const="1" virtual="1" context="_2348" access="protected" mangled="_ZNKSt8numpunctIcE16do_thousands_sepEv" demangled="std::numpunct<char>::do_thousands_sep() const" location="f29:1822" file="f29" line="1822" extern="1" inline="1"/>
+  <Method id="_5966" name="do_grouping" returns="_2508" const="1" virtual="1" context="_2348" access="protected" mangled="_ZNKSt8numpunctIcE11do_groupingEv" demangled="std::numpunct<char>::do_grouping() const" location="f29:1835" file="f29" line="1835" extern="1" inline="1"/>
+  <Method id="_5967" name="do_truename" returns="_2508" const="1" virtual="1" context="_2348" access="protected" mangled="_ZNKSt8numpunctIcE11do_truenameEv" demangled="std::numpunct<char>::do_truename() const" location="f29:1848" file="f29" line="1848" extern="1" inline="1"/>
+  <Method id="_5968" name="do_falsename" returns="_2508" const="1" virtual="1" context="_2348" access="protected" mangled="_ZNKSt8numpunctIcE12do_falsenameEv" demangled="std::numpunct<char>::do_falsename() const" location="f29:1861" file="f29" line="1861" extern="1" inline="1"/>
+  <Method id="_5969" name="_M_initialize_numpunct" returns="_1194" context="_2348" access="protected" mangled="_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct" demangled="std::numpunct<char>::_M_initialize_numpunct(__locale_struct*)" location="f29:1876" file="f29" line="1876" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:1876" file="f29" line="1876" default="0"/>
+  </Method>
+  <Variable id="_5970" name="id" type="_6222" context="_2349" access="public" mangled="_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id" location="f29:2450" file="f29" line="2450" extern="1"/>
+  <Typedef id="_5971" name="char_type" type="_2786" context="_2349" access="public" location="f29:2211" file="f29" line="2211"/>
+  <Typedef id="_5972" name="iter_type" type="_2479" context="_2349" access="public" location="f29:2212" file="f29" line="2212"/>
+  <Constructor id="_5973" name="num_put" artificial="1" context="_2349" access="public" mangled="_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKS4_ *INTERNAL* " demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::num_put(std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const&)" location="f29:2206" file="f29" line="2206" inline="1">
+    <Argument name="_ctor_arg" type="_5527" location="f29:2206" file="f29" line="2206"/>
+  </Constructor>
+  <Constructor id="_5974" name="num_put" explicit="1" context="_2349" access="public" mangled="_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej *INTERNAL* " demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::num_put(unsigned)" location="f29:2226" file="f29" line="2226" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:2226" file="f29" line="2226" default="0"/>
+  </Constructor>
+  <Method id="_5975" name="put" returns="_2479" const="1" context="_2349" access="public" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, bool) const" location="f29:2245" file="f29" line="2245" extern="1" inline="1">
+    <Argument name="__s" type="_2479" location="f29:2245" file="f29" line="2245"/>
+    <Argument name="__f" type="_4942" location="f29:2245" file="f29" line="2245"/>
+    <Argument name="__fill" type="_2786" location="f29:2245" file="f29" line="2245"/>
+    <Argument name="__v" type="_3949" location="f29:2245" file="f29" line="2245"/>
+  </Method>
+  <Method id="_5976" name="put" returns="_2479" const="1" context="_2349" access="public" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, long) const" location="f29:2287" file="f29" line="2287" extern="1" inline="1">
+    <Argument name="__s" type="_2479" location="f29:2287" file="f29" line="2287"/>
+    <Argument name="__f" type="_4942" location="f29:2287" file="f29" line="2287"/>
+    <Argument name="__fill" type="_2786" location="f29:2287" file="f29" line="2287"/>
+    <Argument name="__v" type="_1553" location="f29:2287" file="f29" line="2287"/>
+  </Method>
+  <Method id="_5977" name="put" returns="_2479" const="1" context="_2349" access="public" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, unsigned long) const" location="f29:2292" file="f29" line="2292" extern="1" inline="1">
+    <Argument name="__s" type="_2479" location="f29:2292" file="f29" line="2292"/>
+    <Argument name="__f" type="_4942" location="f29:2292" file="f29" line="2292"/>
+    <Argument name="__fill" type="_2786" location="f29:2292" file="f29" line="2292"/>
+    <Argument name="__v" type="_643" location="f29:2292" file="f29" line="2292"/>
+  </Method>
+  <Method id="_5978" name="put" returns="_2479" const="1" context="_2349" access="public" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, long long) const" location="f29:2297" file="f29" line="2297" extern="1" inline="1">
+    <Argument name="__s" type="_2479" location="f29:2297" file="f29" line="2297"/>
+    <Argument name="__f" type="_4942" location="f29:2297" file="f29" line="2297"/>
+    <Argument name="__fill" type="_2786" location="f29:2297" file="f29" line="2297"/>
+    <Argument name="__v" type="_1290" location="f29:2297" file="f29" line="2297"/>
+  </Method>
+  <Method id="_5979" name="put" returns="_2479" const="1" context="_2349" access="public" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, unsigned long long) const" location="f29:2302" file="f29" line="2302" extern="1" inl [...]
+    <Argument name="__s" type="_2479" location="f29:2302" file="f29" line="2302"/>
+    <Argument name="__f" type="_4942" location="f29:2302" file="f29" line="2302"/>
+    <Argument name="__fill" type="_2786" location="f29:2302" file="f29" line="2302"/>
+    <Argument name="__v" type="_1288" location="f29:2302" file="f29" line="2302"/>
+  </Method>
+  <Method id="_5980" name="put" returns="_2479" const="1" context="_2349" access="public" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, double) const" location="f29:2350" file="f29" line="2350" extern="1" inline="1">
+    <Argument name="__s" type="_2479" location="f29:2350" file="f29" line="2350"/>
+    <Argument name="__f" type="_4942" location="f29:2350" file="f29" line="2350"/>
+    <Argument name="__fill" type="_2786" location="f29:2350" file="f29" line="2350"/>
+    <Argument name="__v" type="_2753" location="f29:2350" file="f29" line="2350"/>
+  </Method>
+  <Method id="_5981" name="put" returns="_2479" const="1" context="_2349" access="public" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, long double) const" location="f29:2355" file="f29" line="2355" extern="1" inline="1">
+    <Argument name="__s" type="_2479" location="f29:2355" file="f29" line="2355"/>
+    <Argument name="__f" type="_4942" location="f29:2355" file="f29" line="2355"/>
+    <Argument name="__fill" type="_2786" location="f29:2355" file="f29" line="2355"/>
+    <Argument name="__v" type="_483" location="f29:2355" file="f29" line="2355"/>
+  </Method>
+  <Method id="_5982" name="put" returns="_2479" const="1" context="_2349" access="public" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, void const*) const" location="f29:2376" file="f29" line="2376" extern="1" inline="1">
+    <Argument name="__s" type="_2479" location="f29:2376" file="f29" line="2376"/>
+    <Argument name="__f" type="_4942" location="f29:2376" file="f29" line="2376"/>
+    <Argument name="__fill" type="_2786" location="f29:2376" file="f29" line="2376"/>
+    <Argument name="__v" type="_2807" location="f29:2376" file="f29" line="2376"/>
+  </Method>
+  <Method id="_5983" name="_M_group_float" returns="_1194" const="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_group_float(char const*, unsigned, wchar_t, wchar_t const*, wchar_t*, wchar_t*, int&) const" location="f87:1014" file="f87" line="1014" extern="1">
+    <Argument name="__grouping" type="_2749" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__grouping_size" type="_1698" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__sep" type="_2786" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__p" type="_2780" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__new" type="_2778" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__cs" type="_2778" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__len" type="_4078" location="f87:1014" file="f87" line="1014"/>
+  </Method>
+  <Method id="_5984" name="_M_group_int" returns="_1194" const="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_group_int(char const*, unsigned, wchar_t, std::ios_base&, wchar_t*, wchar_t*, int&) const" location="f87:919" file="f87" line="919" extern="1">
+    <Argument name="__grouping" type="_2749" location="f87:919" file="f87" line="919"/>
+    <Argument name="__grouping_size" type="_1698" location="f87:919" file="f87" line="919"/>
+    <Argument name="__sep" type="_2786" location="f87:919" file="f87" line="919"/>
+    <Argument type="_4942" location="f87:919" file="f87" line="919"/>
+    <Argument name="__new" type="_2778" location="f87:919" file="f87" line="919"/>
+    <Argument name="__cs" type="_2778" location="f87:919" file="f87" line="919"/>
+    <Argument name="__len" type="_4078" location="f87:919" file="f87" line="919"/>
+  </Method>
+  <Method id="_5985" name="_M_pad" returns="_1194" const="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_pad(wchar_t, int, std::ios_base&, wchar_t*, wchar_t const*, int&) const" location="f87:817" file="f87" line="817" extern="1">
+    <Argument name="__fill" type="_2786" location="f87:817" file="f87" line="817"/>
+    <Argument name="__w" type="_2499" location="f87:817" file="f87" line="817"/>
+    <Argument name="__io" type="_4942" location="f87:817" file="f87" line="817"/>
+    <Argument name="__new" type="_2778" location="f87:817" file="f87" line="817"/>
+    <Argument name="__cs" type="_2780" location="f87:817" file="f87" line="817"/>
+    <Argument name="__len" type="_4078" location="f87:817" file="f87" line="817"/>
+  </Method>
+  <Destructor id="_5986" name="num_put" virtual="1" context="_2349" access="protected" mangled="_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev *INTERNAL* " demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::~num_put()" location="f29:2405" file="f29" line="2405" extern="1" inline="1">
+  </Destructor>
+  <Method id="_5987" name="do_put" returns="_2479" const="1" virtual="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, bool) const" location="f87:1168" file="f87" line="1168" extern="1">
+    <Argument name="__s" type="_2479" location="f87:1168" file="f87" line="1168"/>
+    <Argument name="__io" type="_4942" location="f87:1168" file="f87" line="1168"/>
+    <Argument name="__fill" type="_2786" location="f87:1168" file="f87" line="1168"/>
+    <Argument name="__v" type="_3949" location="f87:1168" file="f87" line="1168"/>
+  </Method>
+  <Method id="_5988" name="do_put" returns="_2479" const="1" virtual="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, long) const" location="f87:1206" file="f87" line="1206" extern="1">
+    <Argument name="__s" type="_2479" location="f87:1206" file="f87" line="1206"/>
+    <Argument name="__io" type="_4942" location="f87:1206" file="f87" line="1206"/>
+    <Argument name="__fill" type="_2786" location="f87:1206" file="f87" line="1206"/>
+    <Argument name="__v" type="_1553" location="f87:1206" file="f87" line="1206"/>
+  </Method>
+  <Method id="_5989" name="do_put" returns="_2479" const="1" virtual="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, unsigned long) const" location="f87:1213" file="f87" line="1 [...]
+    <Argument name="__s" type="_2479" location="f87:1213" file="f87" line="1213"/>
+    <Argument name="__io" type="_4942" location="f87:1213" file="f87" line="1213"/>
+    <Argument name="__fill" type="_2786" location="f87:1213" file="f87" line="1213"/>
+    <Argument name="__v" type="_643" location="f87:1213" file="f87" line="1213"/>
+  </Method>
+  <Method id="_5990" name="do_put" returns="_2479" const="1" virtual="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, long long) const" location="f87:1220" file="f87" line="1220" [...]
+    <Argument name="__s" type="_2479" location="f87:1220" file="f87" line="1220"/>
+    <Argument name="__io" type="_4942" location="f87:1220" file="f87" line="1220"/>
+    <Argument name="__fill" type="_2786" location="f87:1220" file="f87" line="1220"/>
+    <Argument name="__v" type="_1290" location="f87:1220" file="f87" line="1220"/>
+  </Method>
+  <Method id="_5991" name="do_put" returns="_2479" const="1" virtual="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, unsigned long long) const" location="f87:1227" file="f87" li [...]
+    <Argument name="__s" type="_2479" location="f87:1227" file="f87" line="1227"/>
+    <Argument name="__io" type="_4942" location="f87:1227" file="f87" line="1227"/>
+    <Argument name="__fill" type="_2786" location="f87:1227" file="f87" line="1227"/>
+    <Argument name="__v" type="_1288" location="f87:1227" file="f87" line="1227"/>
+  </Method>
+  <Method id="_5992" name="do_put" returns="_2479" const="1" virtual="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, double) const" location="f87:1234" file="f87" line="1234" ex [...]
+    <Argument name="__s" type="_2479" location="f87:1234" file="f87" line="1234"/>
+    <Argument name="__io" type="_4942" location="f87:1234" file="f87" line="1234"/>
+    <Argument name="__fill" type="_2786" location="f87:1234" file="f87" line="1234"/>
+    <Argument name="__v" type="_2753" location="f87:1234" file="f87" line="1234"/>
+  </Method>
+  <Method id="_5993" name="do_put" returns="_2479" const="1" virtual="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, long double) const" location="f87:1241" file="f87" line="124 [...]
+    <Argument name="__s" type="_2479" location="f87:1241" file="f87" line="1241"/>
+    <Argument name="__io" type="_4942" location="f87:1241" file="f87" line="1241"/>
+    <Argument name="__fill" type="_2786" location="f87:1241" file="f87" line="1241"/>
+    <Argument name="__v" type="_483" location="f87:1241" file="f87" line="1241"/>
+  </Method>
+  <Method id="_5994" name="do_put" returns="_2479" const="1" virtual="1" context="_2349" access="protected" mangled="_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv" demangled="std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, void const*) const" location="f87:1248" file="f87" line="1 [...]
+    <Argument name="__s" type="_2479" location="f87:1248" file="f87" line="1248"/>
+    <Argument name="__io" type="_4942" location="f87:1248" file="f87" line="1248"/>
+    <Argument name="__fill" type="_2786" location="f87:1248" file="f87" line="1248"/>
+    <Argument name="__v" type="_2807" location="f87:1248" file="f87" line="1248"/>
+  </Method>
+  <Variable id="_5995" name="id" type="_6222" context="_2350" access="public" mangled="_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::id" location="f29:2450" file="f29" line="2450" extern="1"/>
+  <Typedef id="_5996" name="char_type" type="_2961" context="_2350" access="public" location="f29:2211" file="f29" line="2211"/>
+  <Typedef id="_5997" name="iter_type" type="_2478" context="_2350" access="public" location="f29:2212" file="f29" line="2212"/>
+  <Constructor id="_5998" name="num_put" artificial="1" context="_2350" access="public" mangled="_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::num_put(std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > const&)" location="f29:2206" file="f29" line="2206" inline="1">
+    <Argument name="_ctor_arg" type="_5540" location="f29:2206" file="f29" line="2206"/>
+  </Constructor>
+  <Constructor id="_5999" name="num_put" explicit="1" context="_2350" access="public" mangled="_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej *INTERNAL* " demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::num_put(unsigned)" location="f29:2226" file="f29" line="2226" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:2226" file="f29" line="2226" default="0"/>
+  </Constructor>
+  <Method id="_6000" name="put" returns="_2478" const="1" context="_2350" access="public" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, bool) const" location="f29:2245" file="f29" line="2245" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:2245" file="f29" line="2245"/>
+    <Argument name="__f" type="_4942" location="f29:2245" file="f29" line="2245"/>
+    <Argument name="__fill" type="_2961" location="f29:2245" file="f29" line="2245"/>
+    <Argument name="__v" type="_3949" location="f29:2245" file="f29" line="2245"/>
+  </Method>
+  <Method id="_6001" name="put" returns="_2478" const="1" context="_2350" access="public" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long) const" location="f29:2287" file="f29" line="2287" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:2287" file="f29" line="2287"/>
+    <Argument name="__f" type="_4942" location="f29:2287" file="f29" line="2287"/>
+    <Argument name="__fill" type="_2961" location="f29:2287" file="f29" line="2287"/>
+    <Argument name="__v" type="_1553" location="f29:2287" file="f29" line="2287"/>
+  </Method>
+  <Method id="_6002" name="put" returns="_2478" const="1" context="_2350" access="public" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, unsigned long) const" location="f29:2292" file="f29" line="2292" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:2292" file="f29" line="2292"/>
+    <Argument name="__f" type="_4942" location="f29:2292" file="f29" line="2292"/>
+    <Argument name="__fill" type="_2961" location="f29:2292" file="f29" line="2292"/>
+    <Argument name="__v" type="_643" location="f29:2292" file="f29" line="2292"/>
+  </Method>
+  <Method id="_6003" name="put" returns="_2478" const="1" context="_2350" access="public" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long long) const" location="f29:2297" file="f29" line="2297" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:2297" file="f29" line="2297"/>
+    <Argument name="__f" type="_4942" location="f29:2297" file="f29" line="2297"/>
+    <Argument name="__fill" type="_2961" location="f29:2297" file="f29" line="2297"/>
+    <Argument name="__v" type="_1290" location="f29:2297" file="f29" line="2297"/>
+  </Method>
+  <Method id="_6004" name="put" returns="_2478" const="1" context="_2350" access="public" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, unsigned long long) const" location="f29:2302" file="f29" line="2302" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:2302" file="f29" line="2302"/>
+    <Argument name="__f" type="_4942" location="f29:2302" file="f29" line="2302"/>
+    <Argument name="__fill" type="_2961" location="f29:2302" file="f29" line="2302"/>
+    <Argument name="__v" type="_1288" location="f29:2302" file="f29" line="2302"/>
+  </Method>
+  <Method id="_6005" name="put" returns="_2478" const="1" context="_2350" access="public" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, double) const" location="f29:2350" file="f29" line="2350" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:2350" file="f29" line="2350"/>
+    <Argument name="__f" type="_4942" location="f29:2350" file="f29" line="2350"/>
+    <Argument name="__fill" type="_2961" location="f29:2350" file="f29" line="2350"/>
+    <Argument name="__v" type="_2753" location="f29:2350" file="f29" line="2350"/>
+  </Method>
+  <Method id="_6006" name="put" returns="_2478" const="1" context="_2350" access="public" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long double) const" location="f29:2355" file="f29" line="2355" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:2355" file="f29" line="2355"/>
+    <Argument name="__f" type="_4942" location="f29:2355" file="f29" line="2355"/>
+    <Argument name="__fill" type="_2961" location="f29:2355" file="f29" line="2355"/>
+    <Argument name="__v" type="_483" location="f29:2355" file="f29" line="2355"/>
+  </Method>
+  <Method id="_6007" name="put" returns="_2478" const="1" context="_2350" access="public" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, void const*) const" location="f29:2376" file="f29" line="2376" extern="1" inline="1">
+    <Argument name="__s" type="_2478" location="f29:2376" file="f29" line="2376"/>
+    <Argument name="__f" type="_4942" location="f29:2376" file="f29" line="2376"/>
+    <Argument name="__fill" type="_2961" location="f29:2376" file="f29" line="2376"/>
+    <Argument name="__v" type="_2807" location="f29:2376" file="f29" line="2376"/>
+  </Method>
+  <Method id="_6008" name="_M_group_float" returns="_1194" const="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_group_float(char const*, unsigned, char, char const*, char*, char*, int&) const" location="f87:1014" file="f87" line="1014" extern="1">
+    <Argument name="__grouping" type="_2749" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__grouping_size" type="_1698" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__sep" type="_2961" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__p" type="_2749" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__new" type="_1149" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__cs" type="_1149" location="f87:1014" file="f87" line="1014"/>
+    <Argument name="__len" type="_4078" location="f87:1014" file="f87" line="1014"/>
+  </Method>
+  <Method id="_6009" name="_M_group_int" returns="_1194" const="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_group_int(char const*, unsigned, char, std::ios_base&, char*, char*, int&) const" location="f87:919" file="f87" line="919" extern="1">
+    <Argument name="__grouping" type="_2749" location="f87:919" file="f87" line="919"/>
+    <Argument name="__grouping_size" type="_1698" location="f87:919" file="f87" line="919"/>
+    <Argument name="__sep" type="_2961" location="f87:919" file="f87" line="919"/>
+    <Argument type="_4942" location="f87:919" file="f87" line="919"/>
+    <Argument name="__new" type="_1149" location="f87:919" file="f87" line="919"/>
+    <Argument name="__cs" type="_1149" location="f87:919" file="f87" line="919"/>
+    <Argument name="__len" type="_4078" location="f87:919" file="f87" line="919"/>
+  </Method>
+  <Method id="_6010" name="_M_pad" returns="_1194" const="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_pad(char, int, std::ios_base&, char*, char const*, int&) const" location="f87:817" file="f87" line="817" extern="1">
+    <Argument name="__fill" type="_2961" location="f87:817" file="f87" line="817"/>
+    <Argument name="__w" type="_2499" location="f87:817" file="f87" line="817"/>
+    <Argument name="__io" type="_4942" location="f87:817" file="f87" line="817"/>
+    <Argument name="__new" type="_1149" location="f87:817" file="f87" line="817"/>
+    <Argument name="__cs" type="_2749" location="f87:817" file="f87" line="817"/>
+    <Argument name="__len" type="_4078" location="f87:817" file="f87" line="817"/>
+  </Method>
+  <Destructor id="_6011" name="num_put" virtual="1" context="_2350" access="protected" mangled="_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~num_put()" location="f29:2405" file="f29" line="2405" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6012" name="do_put" returns="_2478" const="1" virtual="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, bool) const" location="f87:1168" file="f87" line="1168" extern="1">
+    <Argument name="__s" type="_2478" location="f87:1168" file="f87" line="1168"/>
+    <Argument name="__io" type="_4942" location="f87:1168" file="f87" line="1168"/>
+    <Argument name="__fill" type="_2961" location="f87:1168" file="f87" line="1168"/>
+    <Argument name="__v" type="_3949" location="f87:1168" file="f87" line="1168"/>
+  </Method>
+  <Method id="_6013" name="do_put" returns="_2478" const="1" virtual="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long) const" location="f87:1206" file="f87" line="1206" extern="1">
+    <Argument name="__s" type="_2478" location="f87:1206" file="f87" line="1206"/>
+    <Argument name="__io" type="_4942" location="f87:1206" file="f87" line="1206"/>
+    <Argument name="__fill" type="_2961" location="f87:1206" file="f87" line="1206"/>
+    <Argument name="__v" type="_1553" location="f87:1206" file="f87" line="1206"/>
+  </Method>
+  <Method id="_6014" name="do_put" returns="_2478" const="1" virtual="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, unsigned long) const" location="f87:1213" file="f87" line="1213" extern="1">
+    <Argument name="__s" type="_2478" location="f87:1213" file="f87" line="1213"/>
+    <Argument name="__io" type="_4942" location="f87:1213" file="f87" line="1213"/>
+    <Argument name="__fill" type="_2961" location="f87:1213" file="f87" line="1213"/>
+    <Argument name="__v" type="_643" location="f87:1213" file="f87" line="1213"/>
+  </Method>
+  <Method id="_6015" name="do_put" returns="_2478" const="1" virtual="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long long) const" location="f87:1220" file="f87" line="1220" extern="1">
+    <Argument name="__s" type="_2478" location="f87:1220" file="f87" line="1220"/>
+    <Argument name="__io" type="_4942" location="f87:1220" file="f87" line="1220"/>
+    <Argument name="__fill" type="_2961" location="f87:1220" file="f87" line="1220"/>
+    <Argument name="__v" type="_1290" location="f87:1220" file="f87" line="1220"/>
+  </Method>
+  <Method id="_6016" name="do_put" returns="_2478" const="1" virtual="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, unsigned long long) const" location="f87:1227" file="f87" line="1227" extern="1">
+    <Argument name="__s" type="_2478" location="f87:1227" file="f87" line="1227"/>
+    <Argument name="__io" type="_4942" location="f87:1227" file="f87" line="1227"/>
+    <Argument name="__fill" type="_2961" location="f87:1227" file="f87" line="1227"/>
+    <Argument name="__v" type="_1288" location="f87:1227" file="f87" line="1227"/>
+  </Method>
+  <Method id="_6017" name="do_put" returns="_2478" const="1" virtual="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, double) const" location="f87:1234" file="f87" line="1234" extern="1">
+    <Argument name="__s" type="_2478" location="f87:1234" file="f87" line="1234"/>
+    <Argument name="__io" type="_4942" location="f87:1234" file="f87" line="1234"/>
+    <Argument name="__fill" type="_2961" location="f87:1234" file="f87" line="1234"/>
+    <Argument name="__v" type="_2753" location="f87:1234" file="f87" line="1234"/>
+  </Method>
+  <Method id="_6018" name="do_put" returns="_2478" const="1" virtual="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long double) const" location="f87:1241" file="f87" line="1241" extern="1">
+    <Argument name="__s" type="_2478" location="f87:1241" file="f87" line="1241"/>
+    <Argument name="__io" type="_4942" location="f87:1241" file="f87" line="1241"/>
+    <Argument name="__fill" type="_2961" location="f87:1241" file="f87" line="1241"/>
+    <Argument name="__v" type="_483" location="f87:1241" file="f87" line="1241"/>
+  </Method>
+  <Method id="_6019" name="do_put" returns="_2478" const="1" virtual="1" context="_2350" access="protected" mangled="_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv" demangled="std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, void const*) const" location="f87:1248" file="f87" line="1248" extern="1">
+    <Argument name="__s" type="_2478" location="f87:1248" file="f87" line="1248"/>
+    <Argument name="__io" type="_4942" location="f87:1248" file="f87" line="1248"/>
+    <Argument name="__fill" type="_2961" location="f87:1248" file="f87" line="1248"/>
+    <Argument name="__v" type="_2807" location="f87:1248" file="f87" line="1248"/>
+  </Method>
+  <Variable id="_6020" name="id" type="_6222" context="_2351" access="public" mangled="_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id" location="f29:2190" file="f29" line="2190" extern="1"/>
+  <Typedef id="_6021" name="char_type" type="_2786" context="_2351" access="public" location="f29:1932" file="f29" line="1932"/>
+  <Typedef id="_6022" name="iter_type" type="_2481" context="_2351" access="public" location="f29:1933" file="f29" line="1933"/>
+  <Constructor id="_6023" name="num_get" artificial="1" context="_2351" access="public" mangled="_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKS4_ *INTERNAL* " demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::num_get(std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > const&)" location="f29:1927" file="f29" line="1927" inline="1">
+    <Argument name="_ctor_arg" type="_5526" location="f29:1927" file="f29" line="1927"/>
+  </Constructor>
+  <Constructor id="_6024" name="num_get" explicit="1" context="_2351" access="public" mangled="_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej *INTERNAL* " demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::num_get(unsigned)" location="f29:1947" file="f29" line="1947" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:1947" file="f29" line="1947" default="0"/>
+  </Constructor>
+  <Method id="_6025" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:1975" file="f29" line="1975"/>
+    <Argument name="__end" type="_2481" location="f29:1975" file="f29" line="1975"/>
+    <Argument name="__io" type="_4942" location="f29:1975" file="f29" line="1975"/>
+    <Argument name="__err" type="_4936" location="f29:1975" file="f29" line="1975"/>
+    <Argument name="__v" type="_8145" location="f29:1975" file="f29" line="1975"/>
+  </Method>
+  <Method id="_6026" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:2011" file="f29" line="2011"/>
+    <Argument name="__end" type="_2481" location="f29:2011" file="f29" line="2011"/>
+    <Argument name="__io" type="_4942" location="f29:2011" file="f29" line="2011"/>
+    <Argument name="__err" type="_4936" location="f29:2011" file="f29" line="2011"/>
+    <Argument name="__v" type="_11497" location="f29:2011" file="f29" line="2011"/>
+  </Method>
+  <Method id="_6027" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:2016" file="f29" line="2016"/>
+    <Argument name="__end" type="_2481" location="f29:2016" file="f29" line="2016"/>
+    <Argument name="__io" type="_4942" location="f29:2016" file="f29" line="2016"/>
+    <Argument name="__err" type="_4936" location="f29:2016" file="f29" line="2016"/>
+    <Argument name="__v" type="_11340" location="f29:2016" file="f29" line="2016"/>
+  </Method>
+  <Method id="_6028" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:2021" file="f29" line="2021"/>
+    <Argument name="__end" type="_2481" location="f29:2021" file="f29" line="2021"/>
+    <Argument name="__io" type="_4942" location="f29:2021" file="f29" line="2021"/>
+    <Argument name="__err" type="_4936" location="f29:2021" file="f29" line="2021"/>
+    <Argument name="__v" type="_11498" location="f29:2021" file="f29" line="2021"/>
+  </Method>
+  <Method id="_6029" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:2026" file="f29" line="2026"/>
+    <Argument name="__end" type="_2481" location="f29:2026" file="f29" line="2026"/>
+    <Argument name="__io" type="_4942" location="f29:2026" file="f29" line="2026"/>
+    <Argument name="__err" type="_4936" location="f29:2026" file="f29" line="2026"/>
+    <Argument name="__v" type="_11499" location="f29:2026" file="f29" line="2026"/>
+  </Method>
+  <Method id="_6030" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:2032" file="f29" line="2032"/>
+    <Argument name="__end" type="_2481" location="f29:2032" file="f29" line="2032"/>
+    <Argument name="__io" type="_4942" location="f29:2032" file="f29" line="2032"/>
+    <Argument name="__err" type="_4936" location="f29:2032" file="f29" line="2032"/>
+    <Argument name="__v" type="_11500" location="f29:2032" file="f29" line="2032"/>
+  </Method>
+  <Method id="_6031" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:2037" file="f29" line="2037"/>
+    <Argument name="__end" type="_2481" location="f29:2037" file="f29" line="2037"/>
+    <Argument name="__io" type="_4942" location="f29:2037" file="f29" line="2037"/>
+    <Argument name="__err" type="_4936" location="f29:2037" file="f29" line="2037"/>
+    <Argument name="__v" type="_11501" location="f29:2037" file="f29" line="2037"/>
+  </Method>
+  <Method id="_6032" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:2070" file="f29" line="2070"/>
+    <Argument name="__end" type="_2481" location="f29:2070" file="f29" line="2070"/>
+    <Argument name="__io" type="_4942" location="f29:2070" file="f29" line="2070"/>
+    <Argument name="__err" type="_4936" location="f29:2070" file="f29" line="2070"/>
+    <Argument name="__v" type="_4939" location="f29:2070" file="f29" line="2070"/>
+  </Method>
+  <Method id="_6033" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:2075" file="f29" line="2075"/>
+    <Argument name="__end" type="_2481" location="f29:2075" file="f29" line="2075"/>
+    <Argument name="__io" type="_4942" location="f29:2075" file="f29" line="2075"/>
+    <Argument name="__err" type="_4936" location="f29:2075" file="f29" line="2075"/>
+    <Argument name="__v" type="_4938" location="f29:2075" file="f29" line="2075"/>
+  </Method>
+  <Method id="_6034" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base& [...]
+    <Argument name="__in" type="_2481" location="f29:2080" file="f29" line="2080"/>
+    <Argument name="__end" type="_2481" location="f29:2080" file="f29" line="2080"/>
+    <Argument name="__io" type="_4942" location="f29:2080" file="f29" line="2080"/>
+    <Argument name="__err" type="_4936" location="f29:2080" file="f29" line="2080"/>
+    <Argument name="__v" type="_4935" location="f29:2080" file="f29" line="2080"/>
+  </Method>
+  <Method id="_6035" name="get" returns="_2481" const="1" context="_2351" access="public" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&amp [...]
+    <Argument name="__in" type="_2481" location="f29:2112" file="f29" line="2112"/>
+    <Argument name="__end" type="_2481" location="f29:2112" file="f29" line="2112"/>
+    <Argument name="__io" type="_4942" location="f29:2112" file="f29" line="2112"/>
+    <Argument name="__err" type="_4936" location="f29:2112" file="f29" line="2112"/>
+    <Argument name="__v" type="_11502" location="f29:2112" file="f29" line="2112"/>
+  </Method>
+  <Destructor id="_6036" name="num_get" virtual="1" context="_2351" access="protected" mangled="_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev *INTERNAL* " demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::~num_get()" location="f29:2116" file="f29" line="2116" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6037" name="_M_extract_float" returns="_2481" const="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_float(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_tr [...]
+    <Argument name="__beg" type="_2481" location="f87:280" file="f87" line="280"/>
+    <Argument name="__end" type="_2481" location="f87:280" file="f87" line="280"/>
+    <Argument name="__io" type="_4942" location="f87:280" file="f87" line="280"/>
+    <Argument name="__err" type="_4936" location="f87:280" file="f87" line="280"/>
+    <Argument name="__xtrc" type="_4946" location="f87:280" file="f87" line="280"/>
+  </Method>
+  <Method id="_6038" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:645" file="f87" line="645"/>
+    <Argument name="__end" type="_2481" location="f87:645" file="f87" line="645"/>
+    <Argument name="__io" type="_4942" location="f87:645" file="f87" line="645"/>
+    <Argument name="__err" type="_4936" location="f87:645" file="f87" line="645"/>
+    <Argument name="__v" type="_8145" location="f87:645" file="f87" line="645"/>
+  </Method>
+  <Method id="_6039" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:710" file="f87" line="710"/>
+    <Argument name="__end" type="_2481" location="f87:710" file="f87" line="710"/>
+    <Argument name="__io" type="_4942" location="f87:710" file="f87" line="710"/>
+    <Argument name="__err" type="_4936" location="f87:710" file="f87" line="710"/>
+    <Argument name="__v" type="_11497" location="f87:710" file="f87" line="710"/>
+  </Method>
+  <Method id="_6040" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:717" file="f87" line="717"/>
+    <Argument name="__end" type="_2481" location="f87:717" file="f87" line="717"/>
+    <Argument name="__io" type="_4942" location="f87:717" file="f87" line="717"/>
+    <Argument name="__err" type="_4936" location="f87:717" file="f87" line="717"/>
+    <Argument name="__v" type="_11340" location="f87:717" file="f87" line="717"/>
+  </Method>
+  <Method id="_6041" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:724" file="f87" line="724"/>
+    <Argument name="__end" type="_2481" location="f87:724" file="f87" line="724"/>
+    <Argument name="__io" type="_4942" location="f87:724" file="f87" line="724"/>
+    <Argument name="__err" type="_4936" location="f87:724" file="f87" line="724"/>
+    <Argument name="__v" type="_11498" location="f87:724" file="f87" line="724"/>
+  </Method>
+  <Method id="_6042" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:731" file="f87" line="731"/>
+    <Argument name="__end" type="_2481" location="f87:731" file="f87" line="731"/>
+    <Argument name="__io" type="_4942" location="f87:731" file="f87" line="731"/>
+    <Argument name="__err" type="_4936" location="f87:731" file="f87" line="731"/>
+    <Argument name="__v" type="_11499" location="f87:731" file="f87" line="731"/>
+  </Method>
+  <Method id="_6043" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:739" file="f87" line="739"/>
+    <Argument name="__end" type="_2481" location="f87:739" file="f87" line="739"/>
+    <Argument name="__io" type="_4942" location="f87:739" file="f87" line="739"/>
+    <Argument name="__err" type="_4936" location="f87:739" file="f87" line="739"/>
+    <Argument name="__v" type="_11500" location="f87:739" file="f87" line="739"/>
+  </Method>
+  <Method id="_6044" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:746" file="f87" line="746"/>
+    <Argument name="__end" type="_2481" location="f87:746" file="f87" line="746"/>
+    <Argument name="__io" type="_4942" location="f87:746" file="f87" line="746"/>
+    <Argument name="__err" type="_4936" location="f87:746" file="f87" line="746"/>
+    <Argument name="__v" type="_11501" location="f87:746" file="f87" line="746"/>
+  </Method>
+  <Method id="_6045" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:754" file="f87" line="754"/>
+    <Argument name="__end" type="_2481" location="f87:754" file="f87" line="754"/>
+    <Argument name="__io" type="_4942" location="f87:754" file="f87" line="754"/>
+    <Argument name="__err" type="_4936" location="f87:754" file="f87" line="754"/>
+    <Argument name="__v" type="_4939" location="f87:754" file="f87" line="754"/>
+  </Method>
+  <Method id="_6046" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:767" file="f87" line="767"/>
+    <Argument name="__end" type="_2481" location="f87:767" file="f87" line="767"/>
+    <Argument name="__io" type="_4942" location="f87:767" file="f87" line="767"/>
+    <Argument name="__err" type="_4936" location="f87:767" file="f87" line="767"/>
+    <Argument name="__v" type="_4938" location="f87:767" file="f87" line="767"/>
+  </Method>
+  <Method id="_6047" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t>  [...]
+    <Argument name="__beg" type="_2481" location="f87:780" file="f87" line="780"/>
+    <Argument name="__end" type="_2481" location="f87:780" file="f87" line="780"/>
+    <Argument name="__io" type="_4942" location="f87:780" file="f87" line="780"/>
+    <Argument name="__err" type="_4936" location="f87:780" file="f87" line="780"/>
+    <Argument name="__v" type="_4935" location="f87:780" file="f87" line="780"/>
+  </Method>
+  <Method id="_6048" name="do_get" returns="_2481" const="1" virtual="1" context="_2351" access="protected" mangled="_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv" demangled="std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::do_get(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> [...]
+    <Argument name="__beg" type="_2481" location="f87:793" file="f87" line="793"/>
+    <Argument name="__end" type="_2481" location="f87:793" file="f87" line="793"/>
+    <Argument name="__io" type="_4942" location="f87:793" file="f87" line="793"/>
+    <Argument name="__err" type="_4936" location="f87:793" file="f87" line="793"/>
+    <Argument name="__v" type="_11502" location="f87:793" file="f87" line="793"/>
+  </Method>
+  <Variable id="_6049" name="id" type="_6222" context="_2352" access="public" mangled="_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::id" location="f29:2190" file="f29" line="2190" extern="1"/>
+  <Typedef id="_6050" name="char_type" type="_2961" context="_2352" access="public" location="f29:1932" file="f29" line="1932"/>
+  <Typedef id="_6051" name="iter_type" type="_2480" context="_2352" access="public" location="f29:1933" file="f29" line="1933"/>
+  <Constructor id="_6052" name="num_get" artificial="1" context="_2352" access="public" mangled="_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::num_get(std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > const&)" location="f29:1927" file="f29" line="1927" inline="1">
+    <Argument name="_ctor_arg" type="_5539" location="f29:1927" file="f29" line="1927"/>
+  </Constructor>
+  <Constructor id="_6053" name="num_get" explicit="1" context="_2352" access="public" mangled="_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej *INTERNAL* " demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::num_get(unsigned)" location="f29:1947" file="f29" line="1947" extern="1" inline="1">
+    <Argument name="__refs" type="_1698" location="f29:1947" file="f29" line="1947" default="0"/>
+  </Constructor>
+  <Method id="_6054" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:1975" file="f29" line="1975"/>
+    <Argument name="__end" type="_2480" location="f29:1975" file="f29" line="1975"/>
+    <Argument name="__io" type="_4942" location="f29:1975" file="f29" line="1975"/>
+    <Argument name="__err" type="_4936" location="f29:1975" file="f29" line="1975"/>
+    <Argument name="__v" type="_8145" location="f29:1975" file="f29" line="1975"/>
+  </Method>
+  <Method id="_6055" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:2011" file="f29" line="2011"/>
+    <Argument name="__end" type="_2480" location="f29:2011" file="f29" line="2011"/>
+    <Argument name="__io" type="_4942" location="f29:2011" file="f29" line="2011"/>
+    <Argument name="__err" type="_4936" location="f29:2011" file="f29" line="2011"/>
+    <Argument name="__v" type="_11497" location="f29:2011" file="f29" line="2011"/>
+  </Method>
+  <Method id="_6056" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:2016" file="f29" line="2016"/>
+    <Argument name="__end" type="_2480" location="f29:2016" file="f29" line="2016"/>
+    <Argument name="__io" type="_4942" location="f29:2016" file="f29" line="2016"/>
+    <Argument name="__err" type="_4936" location="f29:2016" file="f29" line="2016"/>
+    <Argument name="__v" type="_11340" location="f29:2016" file="f29" line="2016"/>
+  </Method>
+  <Method id="_6057" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:2021" file="f29" line="2021"/>
+    <Argument name="__end" type="_2480" location="f29:2021" file="f29" line="2021"/>
+    <Argument name="__io" type="_4942" location="f29:2021" file="f29" line="2021"/>
+    <Argument name="__err" type="_4936" location="f29:2021" file="f29" line="2021"/>
+    <Argument name="__v" type="_11498" location="f29:2021" file="f29" line="2021"/>
+  </Method>
+  <Method id="_6058" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:2026" file="f29" line="2026"/>
+    <Argument name="__end" type="_2480" location="f29:2026" file="f29" line="2026"/>
+    <Argument name="__io" type="_4942" location="f29:2026" file="f29" line="2026"/>
+    <Argument name="__err" type="_4936" location="f29:2026" file="f29" line="2026"/>
+    <Argument name="__v" type="_11499" location="f29:2026" file="f29" line="2026"/>
+  </Method>
+  <Method id="_6059" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:2032" file="f29" line="2032"/>
+    <Argument name="__end" type="_2480" location="f29:2032" file="f29" line="2032"/>
+    <Argument name="__io" type="_4942" location="f29:2032" file="f29" line="2032"/>
+    <Argument name="__err" type="_4936" location="f29:2032" file="f29" line="2032"/>
+    <Argument name="__v" type="_11500" location="f29:2032" file="f29" line="2032"/>
+  </Method>
+  <Method id="_6060" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:2037" file="f29" line="2037"/>
+    <Argument name="__end" type="_2480" location="f29:2037" file="f29" line="2037"/>
+    <Argument name="__io" type="_4942" location="f29:2037" file="f29" line="2037"/>
+    <Argument name="__err" type="_4936" location="f29:2037" file="f29" line="2037"/>
+    <Argument name="__v" type="_11501" location="f29:2037" file="f29" line="2037"/>
+  </Method>
+  <Method id="_6061" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:2070" file="f29" line="2070"/>
+    <Argument name="__end" type="_2480" location="f29:2070" file="f29" line="2070"/>
+    <Argument name="__io" type="_4942" location="f29:2070" file="f29" line="2070"/>
+    <Argument name="__err" type="_4936" location="f29:2070" file="f29" line="2070"/>
+    <Argument name="__v" type="_4939" location="f29:2070" file="f29" line="2070"/>
+  </Method>
+  <Method id="_6062" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:2075" file="f29" line="2075"/>
+    <Argument name="__end" type="_2480" location="f29:2075" file="f29" line="2075"/>
+    <Argument name="__io" type="_4942" location="f29:2075" file="f29" line="2075"/>
+    <Argument name="__err" type="_4936" location="f29:2075" file="f29" line="2075"/>
+    <Argument name="__v" type="_4938" location="f29:2075" file="f29" line="2075"/>
+  </Method>
+  <Method id="_6063" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&a [...]
+    <Argument name="__in" type="_2480" location="f29:2080" file="f29" line="2080"/>
+    <Argument name="__end" type="_2480" location="f29:2080" file="f29" line="2080"/>
+    <Argument name="__io" type="_4942" location="f29:2080" file="f29" line="2080"/>
+    <Argument name="__err" type="_4936" location="f29:2080" file="f29" line="2080"/>
+    <Argument name="__v" type="_4935" location="f29:2080" file="f29" line="2080"/>
+  </Method>
+  <Method id="_6064" name="get" returns="_2480" const="1" context="_2352" access="public" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate& [...]
+    <Argument name="__in" type="_2480" location="f29:2112" file="f29" line="2112"/>
+    <Argument name="__end" type="_2480" location="f29:2112" file="f29" line="2112"/>
+    <Argument name="__io" type="_4942" location="f29:2112" file="f29" line="2112"/>
+    <Argument name="__err" type="_4936" location="f29:2112" file="f29" line="2112"/>
+    <Argument name="__v" type="_11502" location="f29:2112" file="f29" line="2112"/>
+  </Method>
+  <Destructor id="_6065" name="num_get" virtual="1" context="_2352" access="protected" mangled="_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::~num_get()" location="f29:2116" file="f29" line="2116" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6066" name="_M_extract_float" returns="_2480" const="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_float(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> & [...]
+    <Argument name="__beg" type="_2480" location="f87:280" file="f87" line="280"/>
+    <Argument name="__end" type="_2480" location="f87:280" file="f87" line="280"/>
+    <Argument name="__io" type="_4942" location="f87:280" file="f87" line="280"/>
+    <Argument name="__err" type="_4936" location="f87:280" file="f87" line="280"/>
+    <Argument name="__xtrc" type="_4946" location="f87:280" file="f87" line="280"/>
+  </Method>
+  <Method id="_6067" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:645" file="f87" line="645"/>
+    <Argument name="__end" type="_2480" location="f87:645" file="f87" line="645"/>
+    <Argument name="__io" type="_4942" location="f87:645" file="f87" line="645"/>
+    <Argument name="__err" type="_4936" location="f87:645" file="f87" line="645"/>
+    <Argument name="__v" type="_8145" location="f87:645" file="f87" line="645"/>
+  </Method>
+  <Method id="_6068" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:710" file="f87" line="710"/>
+    <Argument name="__end" type="_2480" location="f87:710" file="f87" line="710"/>
+    <Argument name="__io" type="_4942" location="f87:710" file="f87" line="710"/>
+    <Argument name="__err" type="_4936" location="f87:710" file="f87" line="710"/>
+    <Argument name="__v" type="_11497" location="f87:710" file="f87" line="710"/>
+  </Method>
+  <Method id="_6069" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:717" file="f87" line="717"/>
+    <Argument name="__end" type="_2480" location="f87:717" file="f87" line="717"/>
+    <Argument name="__io" type="_4942" location="f87:717" file="f87" line="717"/>
+    <Argument name="__err" type="_4936" location="f87:717" file="f87" line="717"/>
+    <Argument name="__v" type="_11340" location="f87:717" file="f87" line="717"/>
+  </Method>
+  <Method id="_6070" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:724" file="f87" line="724"/>
+    <Argument name="__end" type="_2480" location="f87:724" file="f87" line="724"/>
+    <Argument name="__io" type="_4942" location="f87:724" file="f87" line="724"/>
+    <Argument name="__err" type="_4936" location="f87:724" file="f87" line="724"/>
+    <Argument name="__v" type="_11498" location="f87:724" file="f87" line="724"/>
+  </Method>
+  <Method id="_6071" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:731" file="f87" line="731"/>
+    <Argument name="__end" type="_2480" location="f87:731" file="f87" line="731"/>
+    <Argument name="__io" type="_4942" location="f87:731" file="f87" line="731"/>
+    <Argument name="__err" type="_4936" location="f87:731" file="f87" line="731"/>
+    <Argument name="__v" type="_11499" location="f87:731" file="f87" line="731"/>
+  </Method>
+  <Method id="_6072" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:739" file="f87" line="739"/>
+    <Argument name="__end" type="_2480" location="f87:739" file="f87" line="739"/>
+    <Argument name="__io" type="_4942" location="f87:739" file="f87" line="739"/>
+    <Argument name="__err" type="_4936" location="f87:739" file="f87" line="739"/>
+    <Argument name="__v" type="_11500" location="f87:739" file="f87" line="739"/>
+  </Method>
+  <Method id="_6073" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:746" file="f87" line="746"/>
+    <Argument name="__end" type="_2480" location="f87:746" file="f87" line="746"/>
+    <Argument name="__io" type="_4942" location="f87:746" file="f87" line="746"/>
+    <Argument name="__err" type="_4936" location="f87:746" file="f87" line="746"/>
+    <Argument name="__v" type="_11501" location="f87:746" file="f87" line="746"/>
+  </Method>
+  <Method id="_6074" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:754" file="f87" line="754"/>
+    <Argument name="__end" type="_2480" location="f87:754" file="f87" line="754"/>
+    <Argument name="__io" type="_4942" location="f87:754" file="f87" line="754"/>
+    <Argument name="__err" type="_4936" location="f87:754" file="f87" line="754"/>
+    <Argument name="__v" type="_4939" location="f87:754" file="f87" line="754"/>
+  </Method>
+  <Method id="_6075" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:767" file="f87" line="767"/>
+    <Argument name="__end" type="_2480" location="f87:767" file="f87" line="767"/>
+    <Argument name="__io" type="_4942" location="f87:767" file="f87" line="767"/>
+    <Argument name="__err" type="_4936" location="f87:767" file="f87" line="767"/>
+    <Argument name="__v" type="_4938" location="f87:767" file="f87" line="767"/>
+  </Method>
+  <Method id="_6076" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&a [...]
+    <Argument name="__beg" type="_2480" location="f87:780" file="f87" line="780"/>
+    <Argument name="__end" type="_2480" location="f87:780" file="f87" line="780"/>
+    <Argument name="__io" type="_4942" location="f87:780" file="f87" line="780"/>
+    <Argument name="__err" type="_4936" location="f87:780" file="f87" line="780"/>
+    <Argument name="__v" type="_4935" location="f87:780" file="f87" line="780"/>
+  </Method>
+  <Method id="_6077" name="do_get" returns="_2480" const="1" virtual="1" context="_2352" access="protected" mangled="_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv" demangled="std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::do_get(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base& [...]
+    <Argument name="__beg" type="_2480" location="f87:793" file="f87" line="793"/>
+    <Argument name="__end" type="_2480" location="f87:793" file="f87" line="793"/>
+    <Argument name="__io" type="_4942" location="f87:793" file="f87" line="793"/>
+    <Argument name="__err" type="_4936" location="f87:793" file="f87" line="793"/>
+    <Argument name="__v" type="_11502" location="f87:793" file="f87" line="793"/>
+  </Method>
+  <Constructor id="_6078" name="codecvt_byname" artificial="1" context="_2353" access="public" mangled="_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKS1_ *INTERNAL* " demangled="std::codecvt_byname<wchar_t, char, __mbstate_t>::codecvt_byname(std::codecvt_byname<wchar_t, char, __mbstate_t> const&)" location="f30:452" file="f30" line="452" inline="1">
+    <Argument name="_ctor_arg" type="_11503" location="f30:452" file="f30" line="452"/>
+  </Constructor>
+  <Constructor id="_6079" name="codecvt_byname" explicit="1" context="_2353" access="public" mangled="_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj *INTERNAL* " demangled="std::codecvt_byname<wchar_t, char, __mbstate_t>::codecvt_byname(char const*, unsigned)" location="f30:456" file="f30" line="456" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f30:456" file="f30" line="456"/>
+    <Argument name="__refs" type="_1698" location="f30:456" file="f30" line="456" default="0"/>
+  </Constructor>
+  <Destructor id="_6080" name="codecvt_byname" virtual="1" context="_2353" access="protected" mangled="_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev *INTERNAL* " demangled="std::codecvt_byname<wchar_t, char, __mbstate_t>::~codecvt_byname()" location="f30:467" file="f30" line="467" extern="1" inline="1">
+  </Destructor>
+  <Constructor id="_6081" name="codecvt_byname" artificial="1" context="_2354" access="public" mangled="_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKS1_ *INTERNAL* " demangled="std::codecvt_byname<char, char, __mbstate_t>::codecvt_byname(std::codecvt_byname<char, char, __mbstate_t> const&)" location="f30:452" file="f30" line="452" inline="1">
+    <Argument name="_ctor_arg" type="_11504" location="f30:452" file="f30" line="452"/>
+  </Constructor>
+  <Constructor id="_6082" name="codecvt_byname" explicit="1" context="_2354" access="public" mangled="_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj *INTERNAL* " demangled="std::codecvt_byname<char, char, __mbstate_t>::codecvt_byname(char const*, unsigned)" location="f30:456" file="f30" line="456" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f30:456" file="f30" line="456"/>
+    <Argument name="__refs" type="_1698" location="f30:456" file="f30" line="456" default="0"/>
+  </Constructor>
+  <Destructor id="_6083" name="codecvt_byname" virtual="1" context="_2354" access="protected" mangled="_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev *INTERNAL* " demangled="std::codecvt_byname<char, char, __mbstate_t>::~codecvt_byname()" location="f30:467" file="f30" line="467" extern="1" inline="1">
+  </Destructor>
+  <Field id="_6084" name="_M_c_locale_codecvt" type="_2534" offset="64" context="_2355" access="protected" mangled="_ZNSt7codecvtIwc11__mbstate_tE19_M_c_locale_codecvtE" demangled="std::codecvt<wchar_t, char, __mbstate_t>::_M_c_locale_codecvt" location="f30:401" file="f30" line="401"/>
+  <Variable id="_6085" name="id" type="_6222" context="_2355" access="public" mangled="_ZNSt7codecvtIwc11__mbstate_tE2idE" demangled="std::codecvt<wchar_t, char, __mbstate_t>::id" location="f30:404" file="f30" line="404" extern="1"/>
+  <Typedef id="_6086" name="intern_type" type="_2786" context="_2355" access="public" location="f30:396" file="f30" line="396"/>
+  <Typedef id="_6087" name="extern_type" type="_2961" context="_2355" access="public" location="f30:397" file="f30" line="397"/>
+  <Typedef id="_6088" name="state_type" type="_767" context="_2355" access="public" location="f30:398" file="f30" line="398"/>
+  <Constructor id="_6089" name="codecvt" artificial="1" context="_2355" access="public" mangled="_ZNSt7codecvtIwc11__mbstate_tEC1ERKS1_ *INTERNAL* " demangled="std::codecvt<wchar_t, char, __mbstate_t>::codecvt(std::codecvt<wchar_t, char, __mbstate_t> const&)" location="f30:393" file="f30" line="393" inline="1">
+    <Argument name="_ctor_arg" type="_5530" location="f30:393" file="f30" line="393"/>
+  </Constructor>
+  <Constructor id="_6090" name="codecvt" explicit="1" context="_2355" access="public" mangled="_ZNSt7codecvtIwc11__mbstate_tEC1Ej *INTERNAL* " demangled="std::codecvt<wchar_t, char, __mbstate_t>::codecvt(unsigned)" location="f30:407" file="f30" line="407" extern="1">
+    <Argument name="__refs" type="_1698" location="f30:407" file="f30" line="407" default="0"/>
+  </Constructor>
+  <Constructor id="_6091" name="codecvt" explicit="1" context="_2355" access="public" mangled="_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj *INTERNAL* " demangled="std::codecvt<wchar_t, char, __mbstate_t>::codecvt(__locale_struct*, unsigned)" location="f30:410" file="f30" line="410" extern="1">
+    <Argument name="__cloc" type="_2534" location="f30:410" file="f30" line="410"/>
+    <Argument name="__refs" type="_1698" location="f30:410" file="f30" line="410" default="0"/>
+  </Constructor>
+  <Destructor id="_6092" name="codecvt" virtual="1" context="_2355" access="protected" mangled="_ZNSt7codecvtIwc11__mbstate_tED1Ev *INTERNAL* " demangled="std::codecvt<wchar_t, char, __mbstate_t>::~codecvt()" location="f30:414" file="f30" line="414" extern="1">
+  </Destructor>
+  <Method id="_6093" name="do_out" returns="_4864" const="1" virtual="1" context="_2355" access="protected" mangled="_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_" demangled="std::codecvt<wchar_t, char, __mbstate_t>::do_out(__mbstate_t&, wchar_t const*, wchar_t const*, wchar_t const*&, char*, char*, char*&) const" location="f30:420" file="f30" line="420" extern="1">
+    <Argument name="__state" type="_11403" location="f30:420" file="f30" line="420"/>
+    <Argument name="__from" type="_2780" location="f30:420" file="f30" line="420"/>
+    <Argument name="__from_end" type="_2780" location="f30:420" file="f30" line="420"/>
+    <Argument name="__from_next" type="_11404" location="f30:420" file="f30" line="420"/>
+    <Argument name="__to" type="_1149" location="f30:420" file="f30" line="420"/>
+    <Argument name="__to_end" type="_1149" location="f30:420" file="f30" line="420"/>
+    <Argument name="__to_next" type="_7533" location="f30:420" file="f30" line="420"/>
+  </Method>
+  <Method id="_6094" name="do_unshift" returns="_4864" const="1" virtual="1" context="_2355" access="protected" mangled="_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_" demangled="std::codecvt<wchar_t, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const" location="f30:425" file="f30" line="425" extern="1">
+    <Argument name="__state" type="_11403" location="f30:425" file="f30" line="425"/>
+    <Argument name="__to" type="_1149" location="f30:425" file="f30" line="425"/>
+    <Argument name="__to_end" type="_1149" location="f30:425" file="f30" line="425"/>
+    <Argument name="__to_next" type="_7533" location="f30:425" file="f30" line="425"/>
+  </Method>
+  <Method id="_6095" name="do_in" returns="_4864" const="1" virtual="1" context="_2355" access="protected" mangled="_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_" demangled="std::codecvt<wchar_t, char, __mbstate_t>::do_in(__mbstate_t&, char const*, char const*, char const*&, wchar_t*, wchar_t*, wchar_t*&) const" location="f30:432" file="f30" line="432" extern="1">
+    <Argument name="__state" type="_11403" location="f30:432" file="f30" line="432"/>
+    <Argument name="__from" type="_2749" location="f30:432" file="f30" line="432"/>
+    <Argument name="__from_end" type="_2749" location="f30:432" file="f30" line="432"/>
+    <Argument name="__from_next" type="_11405" location="f30:432" file="f30" line="432"/>
+    <Argument name="__to" type="_2778" location="f30:432" file="f30" line="432"/>
+    <Argument name="__to_end" type="_2778" location="f30:432" file="f30" line="432"/>
+    <Argument name="__to_next" type="_11406" location="f30:432" file="f30" line="432"/>
+  </Method>
+  <Method id="_6096" name="do_encoding" returns="_503" const="1" virtual="1" throw="" context="_2355" access="protected" mangled="_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv" demangled="std::codecvt<wchar_t, char, __mbstate_t>::do_encoding() const" location="f30:435" file="f30" line="435" extern="1"/>
+  <Method id="_6097" name="do_always_noconv" returns="_3949" const="1" virtual="1" throw="" context="_2355" access="protected" mangled="_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv" demangled="std::codecvt<wchar_t, char, __mbstate_t>::do_always_noconv() const" location="f30:438" file="f30" line="438" extern="1"/>
+  <Method id="_6098" name="do_length" returns="_503" const="1" virtual="1" context="_2355" access="protected" mangled="_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j" demangled="std::codecvt<wchar_t, char, __mbstate_t>::do_length(__mbstate_t&, char const*, char const*, unsigned) const" location="f30:442" file="f30" line="442" extern="1">
+    <Argument type="_11403" location="f30:442" file="f30" line="442"/>
+    <Argument name="__from" type="_2749" location="f30:442" file="f30" line="442"/>
+    <Argument name="__end" type="_2749" location="f30:442" file="f30" line="442"/>
+    <Argument name="__max" type="_1698" location="f30:442" file="f30" line="442"/>
+  </Method>
+  <Method id="_6099" name="do_max_length" returns="_503" const="1" virtual="1" throw="" context="_2355" access="protected" mangled="_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv" demangled="std::codecvt<wchar_t, char, __mbstate_t>::do_max_length() const" location="f30:445" file="f30" line="445" extern="1"/>
+  <Field id="_6100" name="_M_c_locale_codecvt" type="_2534" offset="64" context="_2356" access="protected" mangled="_ZNSt7codecvtIcc11__mbstate_tE19_M_c_locale_codecvtE" demangled="std::codecvt<char, char, __mbstate_t>::_M_c_locale_codecvt" location="f30:343" file="f30" line="343"/>
+  <Variable id="_6101" name="id" type="_6222" context="_2356" access="public" mangled="_ZNSt7codecvtIcc11__mbstate_tE2idE" demangled="std::codecvt<char, char, __mbstate_t>::id" location="f30:346" file="f30" line="346" extern="1"/>
+  <Typedef id="_6102" name="intern_type" type="_2961" context="_2356" access="public" location="f30:338" file="f30" line="338"/>
+  <Typedef id="_6103" name="extern_type" type="_2961" context="_2356" access="public" location="f30:339" file="f30" line="339"/>
+  <Typedef id="_6104" name="state_type" type="_767" context="_2356" access="public" location="f30:340" file="f30" line="340"/>
+  <Constructor id="_6105" name="codecvt" artificial="1" context="_2356" access="public" mangled="_ZNSt7codecvtIcc11__mbstate_tEC1ERKS1_ *INTERNAL* " demangled="std::codecvt<char, char, __mbstate_t>::codecvt(std::codecvt<char, char, __mbstate_t> const&)" location="f30:335" file="f30" line="335" inline="1">
+    <Argument name="_ctor_arg" type="_5543" location="f30:335" file="f30" line="335"/>
+  </Constructor>
+  <Constructor id="_6106" name="codecvt" explicit="1" context="_2356" access="public" mangled="_ZNSt7codecvtIcc11__mbstate_tEC1Ej *INTERNAL* " demangled="std::codecvt<char, char, __mbstate_t>::codecvt(unsigned)" location="f30:349" file="f30" line="349" extern="1">
+    <Argument name="__refs" type="_1698" location="f30:349" file="f30" line="349" default="0"/>
+  </Constructor>
+  <Constructor id="_6107" name="codecvt" explicit="1" context="_2356" access="public" mangled="_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj *INTERNAL* " demangled="std::codecvt<char, char, __mbstate_t>::codecvt(__locale_struct*, unsigned)" location="f30:352" file="f30" line="352" extern="1">
+    <Argument name="__cloc" type="_2534" location="f30:352" file="f30" line="352"/>
+    <Argument name="__refs" type="_1698" location="f30:352" file="f30" line="352" default="0"/>
+  </Constructor>
+  <Destructor id="_6108" name="codecvt" virtual="1" context="_2356" access="protected" mangled="_ZNSt7codecvtIcc11__mbstate_tED1Ev *INTERNAL* " demangled="std::codecvt<char, char, __mbstate_t>::~codecvt()" location="f30:356" file="f30" line="356" extern="1">
+  </Destructor>
+  <Method id="_6109" name="do_out" returns="_4864" const="1" virtual="1" context="_2356" access="protected" mangled="_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_" demangled="std::codecvt<char, char, __mbstate_t>::do_out(__mbstate_t&, char const*, char const*, char const*&, char*, char*, char*&) const" location="f30:362" file="f30" line="362" extern="1">
+    <Argument name="__state" type="_11403" location="f30:362" file="f30" line="362"/>
+    <Argument name="__from" type="_2749" location="f30:362" file="f30" line="362"/>
+    <Argument name="__from_end" type="_2749" location="f30:362" file="f30" line="362"/>
+    <Argument name="__from_next" type="_11405" location="f30:362" file="f30" line="362"/>
+    <Argument name="__to" type="_1149" location="f30:362" file="f30" line="362"/>
+    <Argument name="__to_end" type="_1149" location="f30:362" file="f30" line="362"/>
+    <Argument name="__to_next" type="_7533" location="f30:362" file="f30" line="362"/>
+  </Method>
+  <Method id="_6110" name="do_unshift" returns="_4864" const="1" virtual="1" context="_2356" access="protected" mangled="_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_" demangled="std::codecvt<char, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const" location="f30:366" file="f30" line="366" extern="1">
+    <Argument name="__state" type="_11403" location="f30:366" file="f30" line="366"/>
+    <Argument name="__to" type="_1149" location="f30:366" file="f30" line="366"/>
+    <Argument name="__to_end" type="_1149" location="f30:366" file="f30" line="366"/>
+    <Argument name="__to_next" type="_7533" location="f30:366" file="f30" line="366"/>
+  </Method>
+  <Method id="_6111" name="do_in" returns="_4864" const="1" virtual="1" context="_2356" access="protected" mangled="_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_" demangled="std::codecvt<char, char, __mbstate_t>::do_in(__mbstate_t&, char const*, char const*, char const*&, char*, char*, char*&) const" location="f30:372" file="f30" line="372" extern="1">
+    <Argument name="__state" type="_11403" location="f30:372" file="f30" line="372"/>
+    <Argument name="__from" type="_2749" location="f30:372" file="f30" line="372"/>
+    <Argument name="__from_end" type="_2749" location="f30:372" file="f30" line="372"/>
+    <Argument name="__from_next" type="_11405" location="f30:372" file="f30" line="372"/>
+    <Argument name="__to" type="_1149" location="f30:372" file="f30" line="372"/>
+    <Argument name="__to_end" type="_1149" location="f30:372" file="f30" line="372"/>
+    <Argument name="__to_next" type="_7533" location="f30:372" file="f30" line="372"/>
+  </Method>
+  <Method id="_6112" name="do_encoding" returns="_503" const="1" virtual="1" throw="" context="_2356" access="protected" mangled="_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv" demangled="std::codecvt<char, char, __mbstate_t>::do_encoding() const" location="f30:375" file="f30" line="375" extern="1"/>
+  <Method id="_6113" name="do_always_noconv" returns="_3949" const="1" virtual="1" throw="" context="_2356" access="protected" mangled="_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv" demangled="std::codecvt<char, char, __mbstate_t>::do_always_noconv() const" location="f30:378" file="f30" line="378" extern="1"/>
+  <Method id="_6114" name="do_length" returns="_503" const="1" virtual="1" context="_2356" access="protected" mangled="_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j" demangled="std::codecvt<char, char, __mbstate_t>::do_length(__mbstate_t&, char const*, char const*, unsigned) const" location="f30:382" file="f30" line="382" extern="1">
+    <Argument type="_11403" location="f30:382" file="f30" line="382"/>
+    <Argument name="__from" type="_2749" location="f30:382" file="f30" line="382"/>
+    <Argument name="__end" type="_2749" location="f30:382" file="f30" line="382"/>
+    <Argument name="__max" type="_1698" location="f30:382" file="f30" line="382"/>
+  </Method>
+  <Method id="_6115" name="do_max_length" returns="_503" const="1" virtual="1" throw="" context="_2356" access="protected" mangled="_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv" demangled="std::codecvt<char, char, __mbstate_t>::do_max_length() const" location="f30:385" file="f30" line="385" extern="1"/>
+  <Constructor id="_6116" name="codecvt_base" artificial="1" throw="" context="_2358" access="public" mangled="_ZNSt12codecvt_baseC1ERKS_ *INTERNAL* " demangled="std::codecvt_base::codecvt_base(std::codecvt_base const&)" location="f30:49" file="f30" line="49" inline="1">
+    <Argument name="_ctor_arg" type="_11505" location="f30:49" file="f30" line="49"/>
+  </Constructor>
+  <Constructor id="_6117" name="codecvt_base" explicit="1" artificial="1" throw="" context="_2358" access="public" mangled="_ZNSt12codecvt_baseC1Ev *INTERNAL* " demangled="std::codecvt_base::codecvt_base()" location="f30:49" file="f30" line="49" inline="1"/>
+  <Typedef id="_6118" name="char_type" type="_2786" context="_2359" access="public" location="f29:1515" file="f29" line="1515"/>
+  <Constructor id="_6119" name="ctype_byname" artificial="1" context="_2359" access="public" mangled="_ZNSt12ctype_bynameIwEC1ERKS0_ *INTERNAL* " demangled="std::ctype_byname<wchar_t>::ctype_byname(std::ctype_byname<wchar_t> const&)" location="f29:1513" file="f29" line="1513" inline="1">
+    <Argument name="_ctor_arg" type="_11506" location="f29:1513" file="f29" line="1513"/>
+  </Constructor>
+  <Constructor id="_6120" name="ctype_byname" explicit="1" context="_2359" access="public" mangled="_ZNSt12ctype_bynameIwEC1EPKcj *INTERNAL* " demangled="std::ctype_byname<wchar_t>::ctype_byname(char const*, unsigned)" location="f29:1530" file="f29" line="1530" extern="1">
+    <Argument type="_2749" location="f29:1530" file="f29" line="1530"/>
+    <Argument name="refs" type="_1698" location="f29:1530" file="f29" line="1530" default="0"/>
+  </Constructor>
+  <Destructor id="_6121" name="ctype_byname" virtual="1" context="_2359" access="protected" mangled="_ZNSt12ctype_bynameIwED1Ev *INTERNAL* " demangled="std::ctype_byname<wchar_t>::~ctype_byname()" location="f29:1522" file="f29" line="1522" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_6122" name="char_type" type="_2961" context="_2360" access="public" location="f29:1515" file="f29" line="1515"/>
+  <Constructor id="_6123" name="ctype_byname" artificial="1" context="_2360" access="public" mangled="_ZNSt12ctype_bynameIcEC1ERKS0_ *INTERNAL* " demangled="std::ctype_byname<char>::ctype_byname(std::ctype_byname<char> const&)" location="f29:1513" file="f29" line="1513" inline="1">
+    <Argument name="_ctor_arg" type="_11507" location="f29:1513" file="f29" line="1513"/>
+  </Constructor>
+  <Constructor id="_6124" name="ctype_byname" explicit="1" context="_2360" access="public" mangled="_ZNSt12ctype_bynameIcEC1EPKcj *INTERNAL* " demangled="std::ctype_byname<char>::ctype_byname(char const*, unsigned)" location="f29:1527" file="f29" line="1527" extern="1">
+    <Argument type="_2749" location="f29:1527" file="f29" line="1527"/>
+    <Argument name="refs" type="_1698" location="f29:1527" file="f29" line="1527" default="0"/>
+  </Constructor>
+  <Destructor id="_6125" name="ctype_byname" virtual="1" context="_2360" access="protected" mangled="_ZNSt12ctype_bynameIcED1Ev *INTERNAL* " demangled="std::ctype_byname<char>::~ctype_byname()" location="f29:1522" file="f29" line="1522" extern="1" inline="1">
+  </Destructor>
+  <Field id="_6126" name="_M_c_locale_ctype" type="_2534" offset="64" context="_2361" access="protected" mangled="_ZNSt5ctypeIwE17_M_c_locale_ctypeE" demangled="std::ctype<wchar_t>::_M_c_locale_ctype" location="f29:1222" file="f29" line="1222"/>
+  <Field id="_6127" name="_M_narrow_ok" type="_3949" offset="96" context="_2361" access="protected" mangled="_ZNSt5ctypeIwE12_M_narrow_okE" demangled="std::ctype<wchar_t>::_M_narrow_ok" location="f29:1225" file="f29" line="1225"/>
+  <Field id="_6128" name="_M_narrow" type="_11508" offset="104" context="_2361" access="protected" mangled="_ZNSt5ctypeIwE9_M_narrowE" demangled="std::ctype<wchar_t>::_M_narrow" location="f29:1226" file="f29" line="1226"/>
+  <Field id="_6129" name="_M_widen" type="_11509" offset="1152" context="_2361" access="protected" mangled="_ZNSt5ctypeIwE8_M_widenE" demangled="std::ctype<wchar_t>::_M_widen" location="f29:1227" file="f29" line="1227"/>
+  <Field id="_6130" name="_M_bit" type="_11510" offset="9344" context="_2361" access="protected" mangled="_ZNSt5ctypeIwE6_M_bitE" demangled="std::ctype<wchar_t>::_M_bit" location="f29:1230" file="f29" line="1230"/>
+  <Field id="_6131" name="_M_wmask" type="_11511" offset="9600" context="_2361" access="protected" mangled="_ZNSt5ctypeIwE8_M_wmaskE" demangled="std::ctype<wchar_t>::_M_wmask" location="f29:1231" file="f29" line="1231"/>
+  <Variable id="_6132" name="id" type="_6222" context="_2361" access="public" mangled="_ZNSt5ctypeIwE2idE" demangled="std::ctype<wchar_t>::id" location="f29:1236" file="f29" line="1236" extern="1"/>
+  <Typedef id="_6133" name="char_type" type="_2786" context="_2361" access="public" location="f29:1218" file="f29" line="1218"/>
+  <Typedef id="_6134" name="__wmask_type" type="_644" context="_2361" access="public" location="f29:1219" file="f29" line="1219"/>
+  <Constructor id="_6135" name="ctype" artificial="1" context="_2361" access="public" mangled="_ZNSt5ctypeIwEC1ERKS0_ *INTERNAL* " demangled="std::ctype<wchar_t>::ctype(std::ctype<wchar_t> const&)" location="f29:1214" file="f29" line="1214" inline="1">
+    <Argument name="_ctor_arg" type="_5544" location="f29:1214" file="f29" line="1214"/>
+  </Constructor>
+  <Constructor id="_6136" name="ctype" explicit="1" context="_2361" access="public" mangled="_ZNSt5ctypeIwEC1Ej *INTERNAL* " demangled="std::ctype<wchar_t>::ctype(unsigned)" location="f29:1246" file="f29" line="1246" extern="1">
+    <Argument name="__refs" type="_1698" location="f29:1246" file="f29" line="1246" default="0"/>
+  </Constructor>
+  <Constructor id="_6137" name="ctype" explicit="1" context="_2361" access="public" mangled="_ZNSt5ctypeIwEC1EP15__locale_structj *INTERNAL* " demangled="std::ctype<wchar_t>::ctype(__locale_struct*, unsigned)" location="f29:1257" file="f29" line="1257" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:1257" file="f29" line="1257"/>
+    <Argument name="__refs" type="_1698" location="f29:1257" file="f29" line="1257" default="0"/>
+  </Constructor>
+  <Method id="_6138" name="_M_convert_to_wmask" returns="_644" const="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt" demangled="std::ctype<wchar_t>::_M_convert_to_wmask(unsigned short) const" location="f29:1261" file="f29" line="1261" extern="1">
+    <Argument name="__m" type="_1199c" location="f29:1261" file="f29" line="1261"/>
+  </Method>
+  <Destructor id="_6139" name="ctype" virtual="1" context="_2361" access="protected" mangled="_ZNSt5ctypeIwED1Ev *INTERNAL* " demangled="std::ctype<wchar_t>::~ctype()" location="f29:1265" file="f29" line="1265" extern="1">
+  </Destructor>
+  <Method id="_6140" name="do_is" returns="_3949" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE5do_isEtw" demangled="std::ctype<wchar_t>::do_is(unsigned short, wchar_t) const" location="f29:1281" file="f29" line="1281" extern="1">
+    <Argument name="__m" type="_1199" location="f29:1281" file="f29" line="1281"/>
+    <Argument name="__c" type="_2786" location="f29:1281" file="f29" line="1281"/>
+  </Method>
+  <Method id="_6141" name="do_is" returns="_2780" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE5do_isEPKwS2_Pt" demangled="std::ctype<wchar_t>::do_is(wchar_t const*, wchar_t const*, unsigned short*) const" location="f29:1300" file="f29" line="1300" extern="1">
+    <Argument name="__lo" type="_2780" location="f29:1300" file="f29" line="1300"/>
+    <Argument name="__hi" type="_2780" location="f29:1300" file="f29" line="1300"/>
+    <Argument name="__vec" type="_3092" location="f29:1300" file="f29" line="1300"/>
+  </Method>
+  <Method id="_6142" name="do_scan_is" returns="_2780" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_" demangled="std::ctype<wchar_t>::do_scan_is(unsigned short, wchar_t const*, wchar_t const*) const" location="f29:1318" file="f29" line="1318" extern="1">
+    <Argument name="__m" type="_1199" location="f29:1318" file="f29" line="1318"/>
+    <Argument name="__lo" type="_2780" location="f29:1318" file="f29" line="1318"/>
+    <Argument name="__hi" type="_2780" location="f29:1318" file="f29" line="1318"/>
+  </Method>
+  <Method id="_6143" name="do_scan_not" returns="_2780" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_" demangled="std::ctype<wchar_t>::do_scan_not(unsigned short, wchar_t const*, wchar_t const*) const" location="f29:1337" file="f29" line="1337" extern="1">
+    <Argument name="__m" type="_1199" location="f29:1337" file="f29" line="1337"/>
+    <Argument name="__lo" type="_2780" location="f29:1337" file="f29" line="1337"/>
+    <Argument name="__hi" type="_2780" location="f29:1337" file="f29" line="1337"/>
+  </Method>
+  <Method id="_6144" name="do_toupper" returns="_2786" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE10do_toupperEw" demangled="std::ctype<wchar_t>::do_toupper(wchar_t) const" location="f29:1353" file="f29" line="1353" extern="1">
+    <Argument type="_2786" location="f29:1353" file="f29" line="1353"/>
+  </Method>
+  <Method id="_6145" name="do_toupper" returns="_2780" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE10do_toupperEPwPKw" demangled="std::ctype<wchar_t>::do_toupper(wchar_t*, wchar_t const*) const" location="f29:1370" file="f29" line="1370" extern="1">
+    <Argument name="__lo" type="_2778" location="f29:1370" file="f29" line="1370"/>
+    <Argument name="__hi" type="_2780" location="f29:1370" file="f29" line="1370"/>
+  </Method>
+  <Method id="_6146" name="do_tolower" returns="_2786" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE10do_tolowerEw" demangled="std::ctype<wchar_t>::do_tolower(wchar_t) const" location="f29:1386" file="f29" line="1386" extern="1">
+    <Argument type="_2786" location="f29:1386" file="f29" line="1386"/>
+  </Method>
+  <Method id="_6147" name="do_tolower" returns="_2780" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE10do_tolowerEPwPKw" demangled="std::ctype<wchar_t>::do_tolower(wchar_t*, wchar_t const*) const" location="f29:1403" file="f29" line="1403" extern="1">
+    <Argument name="__lo" type="_2778" location="f29:1403" file="f29" line="1403"/>
+    <Argument name="__hi" type="_2780" location="f29:1403" file="f29" line="1403"/>
+  </Method>
+  <Method id="_6148" name="do_widen" returns="_2786" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE8do_widenEc" demangled="std::ctype<wchar_t>::do_widen(char) const" location="f29:1423" file="f29" line="1423" extern="1">
+    <Argument type="_2961" location="f29:1423" file="f29" line="1423"/>
+  </Method>
+  <Method id="_6149" name="do_widen" returns="_2749" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw" demangled="std::ctype<wchar_t>::do_widen(char const*, char const*, wchar_t*) const" location="f29:1445" file="f29" line="1445" extern="1">
+    <Argument name="__lo" type="_2749" location="f29:1445" file="f29" line="1445"/>
+    <Argument name="__hi" type="_2749" location="f29:1445" file="f29" line="1445"/>
+    <Argument name="__dest" type="_2778" location="f29:1445" file="f29" line="1445"/>
+  </Method>
+  <Method id="_6150" name="do_narrow" returns="_2961" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE9do_narrowEwc" demangled="std::ctype<wchar_t>::do_narrow(wchar_t, char) const" location="f29:1468" file="f29" line="1468" extern="1">
+    <Argument type="_2786" location="f29:1468" file="f29" line="1468"/>
+    <Argument name="__dfault" type="_2961" location="f29:1468" file="f29" line="1468"/>
+  </Method>
+  <Method id="_6151" name="do_narrow" returns="_2780" const="1" virtual="1" context="_2361" access="protected" mangled="_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc" demangled="std::ctype<wchar_t>::do_narrow(wchar_t const*, wchar_t const*, char, char*) const" location="f29:1495" file="f29" line="1495" extern="1">
+    <Argument name="__lo" type="_2780" location="f29:1495" file="f29" line="1495"/>
+    <Argument name="__hi" type="_2780" location="f29:1495" file="f29" line="1495"/>
+    <Argument name="__dfault" type="_2961" location="f29:1495" file="f29" line="1495"/>
+    <Argument name="__dest" type="_1149" location="f29:1495" file="f29" line="1495"/>
+  </Method>
+  <Method id="_6152" name="_M_initialize_ctype" returns="_1194" context="_2361" access="protected" mangled="_ZNSt5ctypeIwE19_M_initialize_ctypeEv" demangled="std::ctype<wchar_t>::_M_initialize_ctype()" location="f29:1499" file="f29" line="1499" extern="1"/>
+  <Field id="_6153" name="_M_c_locale_ctype" type="_2534" offset="64" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE17_M_c_locale_ctypeE" demangled="std::ctype<char>::_M_c_locale_ctype" location="f29:684" file="f29" line="684"/>
+  <Field id="_6154" name="_M_del" type="_3949" offset="96" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE6_M_delE" demangled="std::ctype<char>::_M_del" location="f29:685" file="f29" line="685"/>
+  <Field id="_6155" name="_M_toupper" type="_4076" offset="128" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE10_M_toupperE" demangled="std::ctype<char>::_M_toupper" location="f29:686" file="f29" line="686"/>
+  <Field id="_6156" name="_M_tolower" type="_4076" offset="160" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE10_M_tolowerE" demangled="std::ctype<char>::_M_tolower" location="f29:687" file="f29" line="687"/>
+  <Field id="_6157" name="_M_table" type="_8206" offset="192" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE8_M_tableE" demangled="std::ctype<char>::_M_table" location="f29:688" file="f29" line="688"/>
+  <Field id="_6158" name="_M_widen_ok" type="_2961" offset="224" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE11_M_widen_okE" demangled="std::ctype<char>::_M_widen_ok" mutable="1" location="f29:689" file="f29" line="689"/>
+  <Field id="_6159" name="_M_widen" type="_11513" offset="232" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE8_M_widenE" demangled="std::ctype<char>::_M_widen" mutable="1" location="f29:690" file="f29" line="690"/>
+  <Field id="_6160" name="_M_narrow" type="_11513" offset="2280" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE9_M_narrowE" demangled="std::ctype<char>::_M_narrow" mutable="1" location="f29:691" file="f29" line="691"/>
+  <Field id="_6161" name="_M_narrow_ok" type="_2961" offset="4328" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE12_M_narrow_okE" demangled="std::ctype<char>::_M_narrow_ok" mutable="1" location="f29:692" file="f29" line="692"/>
+  <Variable id="_6162" name="id" type="_6222" context="_2362" access="public" mangled="_ZNSt5ctypeIcE2idE" demangled="std::ctype<char>::id" location="f29:697" file="f29" line="697" extern="1"/>
+  <Variable id="_6163" name="table_size" type="_1698c" init="256" context="_2362" access="public" mangled="_ZNSt5ctypeIcE10table_sizeE" demangled="std::ctype<char>::table_size" location="f29:699" file="f29" line="699" extern="1"/>
+  <Typedef id="_6164" name="char_type" type="_2961" context="_2362" access="public" location="f29:680" file="f29" line="680"/>
+  <Constructor id="_6165" name="ctype" artificial="1" context="_2362" access="public" mangled="_ZNSt5ctypeIcEC1ERKS0_ *INTERNAL* " demangled="std::ctype<char>::ctype(std::ctype<char> const&)" location="f29:676" file="f29" line="676" inline="1">
+    <Argument name="_ctor_arg" type="_5545" location="f29:676" file="f29" line="676"/>
+  </Constructor>
+  <Constructor id="_6166" name="ctype" explicit="1" context="_2362" access="public" mangled="_ZNSt5ctypeIcEC1EPKtbj *INTERNAL* " demangled="std::ctype<char>::ctype(unsigned short const*, bool, unsigned)" location="f29:712" file="f29" line="712" extern="1">
+    <Argument name="__table" type="_8206" location="f29:712" file="f29" line="712" default="0"/>
+    <Argument name="__del" type="_3949" location="f29:712" file="f29" line="712" default="false"/>
+    <Argument name="__refs" type="_1698" location="f29:712" file="f29" line="712" default="0"/>
+  </Constructor>
+  <Constructor id="_6167" name="ctype" explicit="1" context="_2362" access="public" mangled="_ZNSt5ctypeIcEC1EP15__locale_structPKtbj *INTERNAL* " demangled="std::ctype<char>::ctype(__locale_struct*, unsigned short const*, bool, unsigned)" location="f29:726" file="f29" line="726" extern="1">
+    <Argument name="__cloc" type="_2534" location="f29:726" file="f29" line="726"/>
+    <Argument name="__table" type="_8206" location="f29:726" file="f29" line="726" default="0"/>
+    <Argument name="__del" type="_3949" location="f29:726" file="f29" line="726" default="false"/>
+    <Argument name="__refs" type="_1698" location="f29:726" file="f29" line="726" default="0"/>
+  </Constructor>
+  <Method id="_6168" name="is" returns="_3949" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE2isEtc" demangled="std::ctype<char>::is(unsigned short, char) const" location="f187:40" file="f187" line="40" endline="40" inline="1">
+    <Argument name="__m" type="_1199" location="f187:40" file="f187" line="40"/>
+    <Argument name="__c" type="_2961" location="f187:40" file="f187" line="40"/>
+  </Method>
+  <Method id="_6169" name="is" returns="_2749" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE2isEPKcS2_Pt" demangled="std::ctype<char>::is(char const*, char const*, unsigned short*) const" location="f187:45" file="f187" line="45" endline="49" inline="1">
+    <Argument name="__low" type="_2749" location="f187:45" file="f187" line="45"/>
+    <Argument name="__high" type="_2749" location="f187:45" file="f187" line="45"/>
+    <Argument name="__vec" type="_3092" location="f187:45" file="f187" line="45"/>
+  </Method>
+  <Method id="_6170" name="scan_is" returns="_2749" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE7scan_isEtPKcS2_" demangled="std::ctype<char>::scan_is(unsigned short, char const*, char const*) const" location="f187:54" file="f187" line="54" endline="59" inline="1">
+    <Argument name="__m" type="_1199" location="f187:54" file="f187" line="54"/>
+    <Argument name="__low" type="_2749" location="f187:54" file="f187" line="54"/>
+    <Argument name="__high" type="_2749" location="f187:54" file="f187" line="54"/>
+  </Method>
+  <Method id="_6171" name="scan_not" returns="_2749" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE8scan_notEtPKcS2_" demangled="std::ctype<char>::scan_not(unsigned short, char const*, char const*) const" location="f187:64" file="f187" line="64" endline="69" inline="1">
+    <Argument name="__m" type="_1199" location="f187:64" file="f187" line="64"/>
+    <Argument name="__low" type="_2749" location="f187:64" file="f187" line="64"/>
+    <Argument name="__high" type="_2749" location="f187:64" file="f187" line="64"/>
+  </Method>
+  <Method id="_6172" name="toupper" returns="_2961" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE7toupperEc" demangled="std::ctype<char>::toupper(char) const" location="f29:797" file="f29" line="797" endline="797" inline="1">
+    <Argument name="__c" type="_2961" location="f29:797" file="f29" line="797"/>
+  </Method>
+  <Method id="_6173" name="toupper" returns="_2749" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE7toupperEPcPKc" demangled="std::ctype<char>::toupper(char*, char const*) const" location="f29:814" file="f29" line="814" endline="814" inline="1">
+    <Argument name="__lo" type="_1149" location="f29:814" file="f29" line="814"/>
+    <Argument name="__hi" type="_2749" location="f29:814" file="f29" line="814"/>
+  </Method>
+  <Method id="_6174" name="tolower" returns="_2961" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE7tolowerEc" demangled="std::ctype<char>::tolower(char) const" location="f29:830" file="f29" line="830" endline="830" inline="1">
+    <Argument name="__c" type="_2961" location="f29:830" file="f29" line="830"/>
+  </Method>
+  <Method id="_6175" name="tolower" returns="_2749" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE7tolowerEPcPKc" demangled="std::ctype<char>::tolower(char*, char const*) const" location="f29:847" file="f29" line="847" endline="847" inline="1">
+    <Argument name="__lo" type="_1149" location="f29:847" file="f29" line="847"/>
+    <Argument name="__hi" type="_2749" location="f29:847" file="f29" line="847"/>
+  </Method>
+  <Method id="_6176" name="widen" returns="_2961" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE5widenEc" demangled="std::ctype<char>::widen(char) const" location="f29:867" file="f29" line="867" endline="872" inline="1">
+    <Argument name="__c" type="_2961" location="f29:867" file="f29" line="867"/>
+  </Method>
+  <Method id="_6177" name="widen" returns="_2749" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE5widenEPKcS2_Pc" demangled="std::ctype<char>::widen(char const*, char const*, char*) const" location="f29:894" file="f29" line="894" endline="903" inline="1">
+    <Argument name="__lo" type="_2749" location="f29:894" file="f29" line="894"/>
+    <Argument name="__hi" type="_2749" location="f29:894" file="f29" line="894"/>
+    <Argument name="__to" type="_1149" location="f29:894" file="f29" line="894"/>
+  </Method>
+  <Method id="_6178" name="narrow" returns="_2961" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE6narrowEcc" demangled="std::ctype<char>::narrow(char, char) const" location="f29:925" file="f29" line="925" endline="932" inline="1">
+    <Argument name="__c" type="_2961" location="f29:925" file="f29" line="925"/>
+    <Argument name="__dfault" type="_2961" location="f29:925" file="f29" line="925"/>
+  </Method>
+  <Method id="_6179" name="narrow" returns="_2749" const="1" context="_2362" access="public" mangled="_ZNKSt5ctypeIcE6narrowEPKcS2_cPc" demangled="std::ctype<char>::narrow(char const*, char const*, char, char*) const" location="f29:959" file="f29" line="959" endline="968" inline="1">
+    <Argument name="__lo" type="_2749" location="f29:959" file="f29" line="959"/>
+    <Argument name="__hi" type="_2749" location="f29:959" file="f29" line="959"/>
+    <Argument name="__dfault" type="_2961" location="f29:959" file="f29" line="959"/>
+    <Argument name="__to" type="_1149" location="f29:959" file="f29" line="959"/>
+  </Method>
+  <Method id="_6180" name="table" returns="_8206" const="1" throw="" context="_2362" access="protected" mangled="_ZNKSt5ctypeIcE5tableEv" demangled="std::ctype<char>::table() const" location="f29:975" file="f29" line="975" endline="975" inline="1"/>
+  <Method id="_6181" name="classic_table" returns="_8206" static="1" throw="" context="_2362" access="protected" mangled="_ZNSt5ctypeIcE13classic_tableEv" demangled="std::ctype<char>::classic_table()" location="f29:979" file="f29" line="979" extern="1"/>
+  <Destructor id="_6182" name="ctype" virtual="1" context="_2362" access="protected" mangled="_ZNSt5ctypeIcED1Ev *INTERNAL* " demangled="std::ctype<char>::~ctype()" location="f29:988" file="f29" line="988" extern="1">
+  </Destructor>
+  <Method id="_6183" name="do_toupper" returns="_2961" const="1" virtual="1" context="_2362" access="protected" mangled="_ZNKSt5ctypeIcE10do_toupperEc" demangled="std::ctype<char>::do_toupper(char) const" location="f29:1004" file="f29" line="1004" extern="1">
+    <Argument type="_2961" location="f29:1004" file="f29" line="1004"/>
+  </Method>
+  <Method id="_6184" name="do_toupper" returns="_2749" const="1" virtual="1" context="_2362" access="protected" mangled="_ZNKSt5ctypeIcE10do_toupperEPcPKc" demangled="std::ctype<char>::do_toupper(char*, char const*) const" location="f29:1021" file="f29" line="1021" extern="1">
+    <Argument name="__lo" type="_1149" location="f29:1021" file="f29" line="1021"/>
+    <Argument name="__hi" type="_2749" location="f29:1021" file="f29" line="1021"/>
+  </Method>
+  <Method id="_6185" name="do_tolower" returns="_2961" const="1" virtual="1" context="_2362" access="protected" mangled="_ZNKSt5ctypeIcE10do_tolowerEc" demangled="std::ctype<char>::do_tolower(char) const" location="f29:1037" file="f29" line="1037" extern="1">
+    <Argument type="_2961" location="f29:1037" file="f29" line="1037"/>
+  </Method>
+  <Method id="_6186" name="do_tolower" returns="_2749" const="1" virtual="1" context="_2362" access="protected" mangled="_ZNKSt5ctypeIcE10do_tolowerEPcPKc" demangled="std::ctype<char>::do_tolower(char*, char const*) const" location="f29:1054" file="f29" line="1054" extern="1">
+    <Argument name="__lo" type="_1149" location="f29:1054" file="f29" line="1054"/>
+    <Argument name="__hi" type="_2749" location="f29:1054" file="f29" line="1054"/>
+  </Method>
+  <Method id="_6187" name="do_widen" returns="_2961" const="1" virtual="1" context="_2362" access="protected" mangled="_ZNKSt5ctypeIcE8do_widenEc" demangled="std::ctype<char>::do_widen(char) const" location="f29:1075" file="f29" line="1075" endline="1075" inline="1">
+    <Argument name="__c" type="_2961" location="f29:1075" file="f29" line="1075"/>
+  </Method>
+  <Method id="_6188" name="do_widen" returns="_2749" const="1" virtual="1" context="_2362" access="protected" mangled="_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc" demangled="std::ctype<char>::do_widen(char const*, char const*, char*) const" location="f29:1098" file="f29" line="1098" endline="1101" inline="1">
+    <Argument name="__lo" type="_2749" location="f29:1098" file="f29" line="1098"/>
+    <Argument name="__hi" type="_2749" location="f29:1098" file="f29" line="1098"/>
+    <Argument name="__dest" type="_1149" location="f29:1098" file="f29" line="1098"/>
+  </Method>
+  <Method id="_6189" name="do_narrow" returns="_2961" const="1" virtual="1" context="_2362" access="protected" mangled="_ZNKSt5ctypeIcE9do_narrowEcc" demangled="std::ctype<char>::do_narrow(char, char) const" location="f29:1124" file="f29" line="1124" endline="1124" inline="1">
+    <Argument name="__c" type="_2961" location="f29:1124" file="f29" line="1124"/>
+    <Argument type="_2961" location="f29:1124" file="f29" line="1124"/>
+  </Method>
+  <Method id="_6190" name="do_narrow" returns="_2749" const="1" virtual="1" context="_2362" access="protected" mangled="_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc" demangled="std::ctype<char>::do_narrow(char const*, char const*, char, char*) const" location="f29:1151" file="f29" line="1151" endline="1154" inline="1">
+    <Argument name="__lo" type="_2749" location="f29:1151" file="f29" line="1151"/>
+    <Argument name="__hi" type="_2749" location="f29:1151" file="f29" line="1151"/>
+    <Argument type="_2961" location="f29:1151" file="f29" line="1151"/>
+    <Argument name="__dest" type="_1149" location="f29:1151" file="f29" line="1151"/>
+  </Method>
+  <Method id="_6191" name="_M_widen_init" returns="_1194" const="1" context="_2362" access="private" mangled="_ZNKSt5ctypeIcE13_M_widen_initEv" demangled="std::ctype<char>::_M_widen_init() const" location="f29:1159" file="f29" line="1159" endline="1169" inline="1"/>
+  <Method id="_6192" name="_M_narrow_init" returns="_1194" const="1" context="_2362" access="private" mangled="_ZNKSt5ctypeIcE14_M_narrow_initEv" demangled="std::ctype<char>::_M_narrow_init() const" location="f29:1175" file="f29" line="1175" endline="1193" inline="1"/>
+  <Variable id="_6193" name="upper" type="_1199c" init="256" context="_2363" access="public" mangled="_ZNSt10ctype_base5upperE" demangled="std::ctype_base::upper" location="f100:51" file="f100" line="51" extern="1"/>
+  <Variable id="_6194" name="lower" type="_1199c" init="512" context="_2363" access="public" mangled="_ZNSt10ctype_base5lowerE" demangled="std::ctype_base::lower" location="f100:52" file="f100" line="52" extern="1"/>
+  <Variable id="_6195" name="alpha" type="_1199c" init="1024" context="_2363" access="public" mangled="_ZNSt10ctype_base5alphaE" demangled="std::ctype_base::alpha" location="f100:53" file="f100" line="53" extern="1"/>
+  <Variable id="_6196" name="digit" type="_1199c" init="2048" context="_2363" access="public" mangled="_ZNSt10ctype_base5digitE" demangled="std::ctype_base::digit" location="f100:54" file="f100" line="54" extern="1"/>
+  <Variable id="_6197" name="xdigit" type="_1199c" init="4096" context="_2363" access="public" mangled="_ZNSt10ctype_base6xdigitE" demangled="std::ctype_base::xdigit" location="f100:55" file="f100" line="55" extern="1"/>
+  <Variable id="_6198" name="space" type="_1199c" init="8192" context="_2363" access="public" mangled="_ZNSt10ctype_base5spaceE" demangled="std::ctype_base::space" location="f100:56" file="f100" line="56" extern="1"/>
+  <Variable id="_6199" name="print" type="_1199c" init="16384" context="_2363" access="public" mangled="_ZNSt10ctype_base5printE" demangled="std::ctype_base::print" location="f100:57" file="f100" line="57" extern="1"/>
+  <Variable id="_6200" name="graph" type="_1199c" init="3076" context="_2363" access="public" mangled="_ZNSt10ctype_base5graphE" demangled="std::ctype_base::graph" location="f100:58" file="f100" line="58" extern="1"/>
+  <Variable id="_6201" name="cntrl" type="_1199c" init="2" context="_2363" access="public" mangled="_ZNSt10ctype_base5cntrlE" demangled="std::ctype_base::cntrl" location="f100:59" file="f100" line="59" extern="1"/>
+  <Variable id="_6202" name="punct" type="_1199c" init="4" context="_2363" access="public" mangled="_ZNSt10ctype_base5punctE" demangled="std::ctype_base::punct" location="f100:60" file="f100" line="60" extern="1"/>
+  <Variable id="_6203" name="alnum" type="_1199c" init="3072" context="_2363" access="public" mangled="_ZNSt10ctype_base5alnumE" demangled="std::ctype_base::alnum" location="f100:61" file="f100" line="61" extern="1"/>
+  <Typedef id="_6204" name="__to_type" type="_4076" context="_2363" access="public" location="f100:46" file="f100" line="46"/>
+  <Typedef id="_6205" name="mask" type="_1199" context="_2363" access="public" location="f100:50" file="f100" line="50"/>
+  <Constructor id="_6206" name="ctype_base" artificial="1" throw="" context="_2363" access="public" mangled="_ZNSt10ctype_baseC1ERKS_ *INTERNAL* " demangled="std::ctype_base::ctype_base(std::ctype_base const&)" location="f100:44" file="f100" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_11515" location="f100:44" file="f100" line="44"/>
+  </Constructor>
+  <Constructor id="_6207" name="ctype_base" explicit="1" artificial="1" throw="" context="_2363" access="public" mangled="_ZNSt10ctype_baseC1Ev *INTERNAL* " demangled="std::ctype_base::ctype_base()" location="f100:44" file="f100" line="44" inline="1"/>
+  <Variable id="_6208" name="none" type="_503c" init="0" context="_2365" access="public" mangled="_ZNSt6locale4noneE" demangled="std::locale::none" location="f3:105" file="f3" line="105" extern="1"/>
+  <Variable id="_6209" name="ctype" type="_503c" init="1" context="_2365" access="public" mangled="_ZNSt6locale5ctypeE" demangled="std::locale::ctype" location="f3:106" file="f3" line="106" extern="1"/>
+  <Variable id="_6210" name="numeric" type="_503c" init="2" context="_2365" access="public" mangled="_ZNSt6locale7numericE" demangled="std::locale::numeric" location="f3:107" file="f3" line="107" extern="1"/>
+  <Variable id="_6211" name="collate" type="_503c" init="4" context="_2365" access="public" mangled="_ZNSt6locale7collateE" demangled="std::locale::collate" location="f3:108" file="f3" line="108" extern="1"/>
+  <Variable id="_6212" name="time" type="_503c" init="8" context="_2365" access="public" mangled="_ZNSt6locale4timeE" demangled="std::locale::time" location="f3:109" file="f3" line="109" extern="1"/>
+  <Variable id="_6213" name="monetary" type="_503c" init="16" context="_2365" access="public" mangled="_ZNSt6locale8monetaryE" demangled="std::locale::monetary" location="f3:110" file="f3" line="110" extern="1"/>
+  <Variable id="_6214" name="messages" type="_503c" init="32" context="_2365" access="public" mangled="_ZNSt6locale8messagesE" demangled="std::locale::messages" location="f3:111" file="f3" line="111" extern="1"/>
+  <Variable id="_6215" name="all" type="_503c" init="63" context="_2365" access="public" mangled="_ZNSt6locale3allE" demangled="std::locale::all" location="f3:113" file="f3" line="113" extern="1"/>
+  <Field id="_6216" name="_M_impl" type="_11516" offset="0" context="_2365" access="private" mangled="_ZNSt6locale7_M_implE" demangled="std::locale::_M_impl" location="f3:286" file="f3" line="286"/>
+  <Variable id="_6217" name="_S_classic" type="_11516" context="_2365" access="private" mangled="_ZNSt6locale10_S_classicE" demangled="std::locale::_S_classic" location="f3:289" file="f3" line="289" extern="1"/>
+  <Variable id="_6218" name="_S_global" type="_11516" context="_2365" access="private" mangled="_ZNSt6locale9_S_globalE" demangled="std::locale::_S_global" location="f3:292" file="f3" line="292" extern="1"/>
+  <Variable id="_6219" name="_S_categories" type="_11517c" context="_2365" access="private" mangled="_ZNSt6locale13_S_categoriesE" demangled="std::locale::_S_categories" location="f3:298" file="f3" line="298" extern="1"/>
+  <Variable id="_6220" name="_S_once" type="_836" context="_2365" access="private" mangled="_ZNSt6locale7_S_onceE" demangled="std::locale::_S_once" location="f3:313" file="f3" line="313" extern="1"/>
+  <Typedef id="_6221" name="category" type="_503" context="_2365" access="public" location="f3:72" file="f3" line="72"/>
+  <Class id="_6222" name="id" context="_2365" access="public" mangled="NSt6locale2idE" demangled="std::locale::id" location="f3:435" file="f3" line="435" artificial="1" size="32" align="32" members="_11519 _11520 _11521 _11522 _11523 _11524 " bases=""/>
+  <Class id="_6223" name="_Impl" context="_2365" access="public" mangled="NSt6locale5_ImplE" demangled="std::locale::_Impl" location="f3:474" file="f3" line="474" artificial="1" size="160" align="32" members="_11525 _11526 _11527 _11528 _11529 _11530 _11531 _11532 _11533 _11534 _11535 _11536 _11537 _11538 _11539 _11540 _11541 _11542 _11543 _11544 _11545 _11546 _11547 _11548 _11549 _11550 " bases=""/>
+  <Enumeration id="_6224" name="._79" context="_2365" access="private" location="f3:310" file="f3" line="310" artificial="1" size="32" align="32">
+    <EnumValue name="_S_categories_size" init="12"/>
+  </Enumeration>
+  <Constructor id="_6225" name="locale" explicit="1" throw="" context="_2365" access="public" mangled="_ZNSt6localeC1Ev *INTERNAL* " demangled="std::locale::locale()" location="f3:124" file="f3" line="124" extern="1"/>
+  <Constructor id="_6226" name="locale" throw="" context="_2365" access="public" mangled="_ZNSt6localeC1ERKS_ *INTERNAL* " demangled="std::locale::locale(std::locale const&)" location="f3:133" file="f3" line="133" extern="1">
+    <Argument name="__other" type="_5517" location="f3:133" file="f3" line="133"/>
+  </Constructor>
+  <Constructor id="_6227" name="locale" explicit="1" context="_2365" access="public" mangled="_ZNSt6localeC1EPKc *INTERNAL* " demangled="std::locale::locale(char const*)" location="f3:144" file="f3" line="144" extern="1">
+    <Argument name="__s" type="_2749" location="f3:144" file="f3" line="144"/>
+  </Constructor>
+  <Constructor id="_6228" name="locale" explicit="1" context="_2365" access="public" mangled="_ZNSt6localeC1ERKS_PKci *INTERNAL* " demangled="std::locale::locale(std::locale const&, char const*, int)" location="f3:158" file="f3" line="158" extern="1">
+    <Argument name="__base" type="_5517" location="f3:158" file="f3" line="158"/>
+    <Argument name="__s" type="_2749" location="f3:158" file="f3" line="158"/>
+    <Argument name="__cat" type="_503" location="f3:158" file="f3" line="158"/>
+  </Constructor>
+  <Constructor id="_6229" name="locale" explicit="1" context="_2365" access="public" mangled="_ZNSt6localeC1ERKS_S1_i *INTERNAL* " demangled="std::locale::locale(std::locale const&, std::locale const&, int)" location="f3:171" file="f3" line="171" extern="1">
+    <Argument name="__base" type="_5517" location="f3:171" file="f3" line="171"/>
+    <Argument name="__add" type="_5517" location="f3:171" file="f3" line="171"/>
+    <Argument name="__cat" type="_503" location="f3:171" file="f3" line="171"/>
+  </Constructor>
+  <Constructor id="_6230" name="locale" explicit="1" context="_2365" access="public" mangled="_ZNSt6localeC1IN5boost9date_time10date_facetINS1_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEERKS_PT_ *INTERNAL* " demangled="std::locale::locale<boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > > >(std::locale const&, boost::date_time::date_facet<boost::gregorian::date, char, std [...]
+    <Argument name="__other" type="_5517" location="f3:567" file="f3" line="567"/>
+    <Argument name="__f" type="_11551" location="f3:567" file="f3" line="567"/>
+  </Constructor>
+  <Destructor id="_6231" name="locale" throw="" context="_2365" access="public" mangled="_ZNSt6localeD1Ev *INTERNAL* " demangled="std::locale::~locale()" location="f3:187" file="f3" line="187" extern="1">
+  </Destructor>
+  <OperatorMethod id="_6232" name="=" returns="_5517" throw="" context="_2365" access="public" mangled="_ZNSt6localeaSERKS_" demangled="std::locale::operator=(std::locale const&)" location="f3:198" file="f3" line="198" extern="1">
+    <Argument name="__other" type="_5517" location="f3:198" file="f3" line="198"/>
+  </OperatorMethod>
+  <Method id="_6233" name="name" returns="_2509" const="1" context="_2365" access="public" mangled="_ZNKSt6locale4nameEv" demangled="std::locale::name() const" location="f3:222" file="f3" line="222" extern="1"/>
+  <OperatorMethod id="_6234" name="==" returns="_3949" const="1" throw="" context="_2365" access="public" mangled="_ZNKSt6localeeqERKS_" demangled="std::locale::operator==(std::locale const&) const" location="f3:232" file="f3" line="232" extern="1">
+    <Argument name="__other" type="_5517" location="f3:232" file="f3" line="232"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6235" name="!=" returns="_3949" const="1" throw="" context="_2365" access="public" mangled="_ZNKSt6localeneERKS_" demangled="std::locale::operator!=(std::locale const&) const" location="f3:242" file="f3" line="242" endline="242" inline="1">
+    <Argument name="__other" type="_5517" location="f3:242" file="f3" line="242"/>
+  </OperatorMethod>
+  <Method id="_6236" name="global" returns="_2365" static="1" context="_2365" access="public" mangled="_ZNSt6locale6globalERKS_" demangled="std::locale::global(std::locale const&)" location="f3:276" file="f3" line="276" extern="1">
+    <Argument type="_5517" location="f3:276" file="f3" line="276"/>
+  </Method>
+  <Method id="_6237" name="classic" returns="_5517" static="1" context="_2365" access="public" mangled="_ZNSt6locale7classicEv" demangled="std::locale::classic()" location="f3:282" file="f3" line="282" extern="1"/>
+  <Constructor id="_6238" name="locale" explicit="1" throw="" context="_2365" access="private" mangled="_ZNSt6localeC1EPNS_5_ImplE *INTERNAL* " demangled="std::locale::locale(std::locale::_Impl*)" location="f3:317" file="f3" line="317" extern="1">
+    <Argument type="_11516" location="f3:317" file="f3" line="317"/>
+  </Constructor>
+  <Method id="_6239" name="_S_initialize" returns="_1194" static="1" context="_2365" access="private" mangled="_ZNSt6locale13_S_initializeEv" demangled="std::locale::_S_initialize()" location="f3:320" file="f3" line="320" extern="1"/>
+  <Method id="_6240" name="_S_initialize_once" returns="_1194" static="1" context="_2365" access="private" mangled="_ZNSt6locale18_S_initialize_onceEv" demangled="std::locale::_S_initialize_once()" location="f3:323" file="f3" line="323" extern="1"/>
+  <Method id="_6241" name="_S_normalize_category" returns="_503" static="1" context="_2365" access="private" mangled="_ZNSt6locale21_S_normalize_categoryEi" demangled="std::locale::_S_normalize_category(int)" location="f3:326" file="f3" line="326" extern="1">
+    <Argument type="_503" location="f3:326" file="f3" line="326"/>
+  </Method>
+  <Method id="_6242" name="_M_coalesce" returns="_1194" context="_2365" access="private" mangled="_ZNSt6locale11_M_coalesceERKS_S1_i" demangled="std::locale::_M_coalesce(std::locale const&, std::locale const&, int)" location="f3:329" file="f3" line="329" extern="1">
+    <Argument name="__base" type="_5517" location="f3:329" file="f3" line="329"/>
+    <Argument name="__add" type="_5517" location="f3:329" file="f3" line="329"/>
+    <Argument name="__cat" type="_503" location="f3:329" file="f3" line="329"/>
+  </Method>
+  <ReferenceType id="_6243" type="_1301c" size="32" align="32"/>
+  <ReferenceType id="_6244" type="_1296c" size="32" align="32"/>
+  <Constructor id="_6245" name="__fill_n" artificial="1" throw="" context="_2373" access="public" mangled="_ZNSt8__fill_nILb1EEC1ERKS0_ *INTERNAL* " demangled="std::__fill_n<true>::__fill_n(std::__fill_n<true> const&)" location="f101:611" file="f101" line="611" inline="1">
+    <Argument name="_ctor_arg" type="_11552" location="f101:611" file="f101" line="611"/>
+  </Constructor>
+  <Constructor id="_6246" name="__fill_n" explicit="1" artificial="1" throw="" context="_2373" access="public" mangled="_ZNSt8__fill_nILb1EEC1Ev *INTERNAL* " demangled="std::__fill_n<true>::__fill_n()" location="f101:611" file="f101" line="611" inline="1"/>
+  <Method id="_6247" name="fill_n" returns="_2748" static="1" context="_2373" access="public" mangled="_ZNSt8__fill_nILb1EE6fill_nIPiiiEET_S3_T0_RKT1_" demangled="int* std::__fill_n<true>::fill_n<int*, int, int>(int*, int, int const&)" location="f101:615" file="f101" line="615" endline="619" inline="1">
+    <Argument name="__first" type="_2748" location="f101:615" file="f101" line="615"/>
+    <Argument name="__n" type="_503" location="f101:615" file="f101" line="615"/>
+    <Argument name="__value" type="_4080" location="f101:615" file="f101" line="615"/>
+  </Method>
+  <Constructor id="_6248" name="__fill" artificial="1" throw="" context="_2377" access="public" mangled="_ZNSt6__fillILb1EEC1ERKS0_ *INTERNAL* " demangled="std::__fill<true>::__fill(std::__fill<true> const&)" location="f101:535" file="f101" line="535" inline="1">
+    <Argument name="_ctor_arg" type="_11553" location="f101:535" file="f101" line="535"/>
+  </Constructor>
+  <Constructor id="_6249" name="__fill" explicit="1" artificial="1" throw="" context="_2377" access="public" mangled="_ZNSt6__fillILb1EEC1Ev *INTERNAL* " demangled="std::__fill<true>::__fill()" location="f101:535" file="f101" line="535" inline="1"/>
+  <Constructor id="_6250" name="__copy_backward_normal" artificial="1" throw="" context="_2381" access="public" mangled="_ZNSt22__copy_backward_normalILb0ELb0EEC1ERKS0_ *INTERNAL* " demangled="std::__copy_backward_normal<false, false>::__copy_backward_normal(std::__copy_backward_normal<false, false> const&)" location="f101:448" file="f101" line="448" inline="1">
+    <Argument name="_ctor_arg" type="_11554" location="f101:448" file="f101" line="448"/>
+  </Constructor>
+  <Constructor id="_6251" name="__copy_backward_normal" explicit="1" artificial="1" throw="" context="_2381" access="public" mangled="_ZNSt22__copy_backward_normalILb0ELb0EEC1Ev *INTERNAL* " demangled="std::__copy_backward_normal<false, false>::__copy_backward_normal()" location="f101:448" file="f101" line="448" inline="1"/>
+  <Constructor id="_6252" name="__copy_backward_normal" artificial="1" throw="" context="_2382" access="public" mangled="_ZNSt22__copy_backward_normalILb1ELb1EEC1ERKS0_ *INTERNAL* " demangled="std::__copy_backward_normal<true, true>::__copy_backward_normal(std::__copy_backward_normal<true, true> const&)" location="f101:477" file="f101" line="477" inline="1">
+    <Argument name="_ctor_arg" type="_11555" location="f101:477" file="f101" line="477"/>
+  </Constructor>
+  <Constructor id="_6253" name="__copy_backward_normal" explicit="1" artificial="1" throw="" context="_2382" access="public" mangled="_ZNSt22__copy_backward_normalILb1ELb1EEC1Ev *INTERNAL* " demangled="std::__copy_backward_normal<true, true>::__copy_backward_normal()" location="f101:477" file="f101" line="477" inline="1"/>
+  <Method id="_6254" name="copy_b_n" returns="_3329" static="1" context="_2382" access="public" mangled="_ZNSt22__copy_backward_normalILb1ELb1EE8copy_b_nIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEES8_EET0_T_SA_S9_" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > std::__copy_backward_normal<true, true>::copy_b_n<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std [...]
+    <Argument name="__first" type="_3329" location="f101:481" file="f101" line="481"/>
+    <Argument name="__last" type="_3329" location="f101:481" file="f101" line="481"/>
+    <Argument name="__result" type="_3329" location="f101:481" file="f101" line="481"/>
+  </Method>
+  <Constructor id="_6255" name="__copy_backward_normal" artificial="1" throw="" context="_2383" access="public" mangled="_ZNSt22__copy_backward_normalILb0ELb1EEC1ERKS0_ *INTERNAL* " demangled="std::__copy_backward_normal<false, true>::__copy_backward_normal(std::__copy_backward_normal<false, true> const&)" location="f101:467" file="f101" line="467" inline="1">
+    <Argument name="_ctor_arg" type="_11556" location="f101:467" file="f101" line="467"/>
+  </Constructor>
+  <Constructor id="_6256" name="__copy_backward_normal" explicit="1" artificial="1" throw="" context="_2383" access="public" mangled="_ZNSt22__copy_backward_normalILb0ELb1EEC1Ev *INTERNAL* " demangled="std::__copy_backward_normal<false, true>::__copy_backward_normal()" location="f101:467" file="f101" line="467" inline="1"/>
+  <Constructor id="_6257" name="__copy_backward_normal" artificial="1" throw="" context="_2384" access="public" mangled="_ZNSt22__copy_backward_normalILb1ELb0EEC1ERKS0_ *INTERNAL* " demangled="std::__copy_backward_normal<true, false>::__copy_backward_normal(std::__copy_backward_normal<true, false> const&)" location="f101:457" file="f101" line="457" inline="1">
+    <Argument name="_ctor_arg" type="_11557" location="f101:457" file="f101" line="457"/>
+  </Constructor>
+  <Constructor id="_6258" name="__copy_backward_normal" explicit="1" artificial="1" throw="" context="_2384" access="public" mangled="_ZNSt22__copy_backward_normalILb1ELb0EEC1Ev *INTERNAL* " demangled="std::__copy_backward_normal<true, false>::__copy_backward_normal()" location="f101:457" file="f101" line="457" inline="1"/>
+  <Constructor id="_6259" name="__copy_backward" artificial="1" throw="" context="_2388" access="public" mangled="_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagEC1ERKS1_ *INTERNAL* " demangled="std::__copy_backward<false, std::random_access_iterator_tag>::__copy_backward(std::__copy_backward<false, std::random_access_iterator_tag> const&)" location="f101:392" file="f101" line="392" inline="1">
+    <Argument name="_ctor_arg" type="_11558" location="f101:392" file="f101" line="392"/>
+  </Constructor>
+  <Constructor id="_6260" name="__copy_backward" explicit="1" artificial="1" throw="" context="_2388" access="public" mangled="_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="std::__copy_backward<false, std::random_access_iterator_tag>::__copy_backward()" location="f101:392" file="f101" line="392" inline="1"/>
+  <Constructor id="_6261" name="__copy_backward" artificial="1" throw="" context="_2389" access="public" mangled="_ZNSt15__copy_backwardILb1ESt26random_access_iterator_tagEC1ERKS1_ *INTERNAL* " demangled="std::__copy_backward<true, std::random_access_iterator_tag>::__copy_backward(std::__copy_backward<true, std::random_access_iterator_tag> const&)" location="f101:419" file="f101" line="419" inline="1">
+    <Argument name="_ctor_arg" type="_11559" location="f101:419" file="f101" line="419"/>
+  </Constructor>
+  <Constructor id="_6262" name="__copy_backward" explicit="1" artificial="1" throw="" context="_2389" access="public" mangled="_ZNSt15__copy_backwardILb1ESt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="std::__copy_backward<true, std::random_access_iterator_tag>::__copy_backward()" location="f101:419" file="f101" line="419" inline="1"/>
+  <Method id="_6263" name="copy_b" returns="_2935" static="1" context="_2389" access="public" mangled="_ZNSt15__copy_backwardILb1ESt26random_access_iterator_tagE6copy_bIPcEEPT_PKS4_S7_S5_" demangled="char** std::__copy_backward<true, std::random_access_iterator_tag>::copy_b<char*>(char* const*, char* const*, char**)" location="f101:423" file="f101" line="423" endline="426" inline="1">
+    <Argument name="__first" type="_3093" location="f101:423" file="f101" line="423"/>
+    <Argument name="__last" type="_3093" location="f101:423" file="f101" line="423"/>
+    <Argument name="__result" type="_2935" location="f101:423" file="f101" line="423"/>
+  </Method>
+  <PointerType id="_6264" type="_8055c" size="32" align="32"/>
+  <Constructor id="_6265" name="__copy_normal" artificial="1" throw="" context="_2398" access="public" mangled="_ZNSt13__copy_normalILb0ELb0EEC1ERKS0_ *INTERNAL* " demangled="std::__copy_normal<false, false>::__copy_normal(std::__copy_normal<false, false> const&)" location="f101:322" file="f101" line="322" inline="1">
+    <Argument name="_ctor_arg" type="_11561" location="f101:322" file="f101" line="322"/>
+  </Constructor>
+  <Constructor id="_6266" name="__copy_normal" explicit="1" artificial="1" throw="" context="_2398" access="public" mangled="_ZNSt13__copy_normalILb0ELb0EEC1Ev *INTERNAL* " demangled="std::__copy_normal<false, false>::__copy_normal()" location="f101:322" file="f101" line="322" inline="1"/>
+  <Constructor id="_6267" name="__copy_normal" artificial="1" throw="" context="_2399" access="public" mangled="_ZNSt13__copy_normalILb1ELb0EEC1ERKS0_ *INTERNAL* " demangled="std::__copy_normal<true, false>::__copy_normal(std::__copy_normal<true, false> const&)" location="f101:331" file="f101" line="331" inline="1">
+    <Argument name="_ctor_arg" type="_11562" location="f101:331" file="f101" line="331"/>
+  </Constructor>
+  <Constructor id="_6268" name="__copy_normal" explicit="1" artificial="1" throw="" context="_2399" access="public" mangled="_ZNSt13__copy_normalILb1ELb0EEC1Ev *INTERNAL* " demangled="std::__copy_normal<true, false>::__copy_normal()" location="f101:331" file="f101" line="331" inline="1"/>
+  <Method id="_6269" name="copy_n" returns="_2005" static="1" context="_2399" access="public" mangled="_ZNSt13__copy_normalILb1ELb0EE6copy_nIN9__gnu_cxx17__normal_iteratorIPKcSsEESt15_Deque_iteratorIcRcPcEEET0_T_SC_SB_" demangled="std::_Deque_iterator<char, char&, char*> std::__copy_normal<true, false>::copy_n<__gnu_cxx::__normal_iterator<char const*, std::string>, std::_Deque_iterator<char, char&, char*> >(__gnu_cxx::__normal_iterator<char const* [...]
+    <Argument name="__first" type="_3328" location="f101:335" file="f101" line="335"/>
+    <Argument name="__last" type="_3328" location="f101:335" file="f101" line="335"/>
+    <Argument name="__result" type="_2005" location="f101:335" file="f101" line="335"/>
+  </Method>
+  <Method id="_6270" name="copy_n" returns="_2478" static="1" context="_2399" access="public" mangled="_ZNSt13__copy_normalILb1ELb0EE6copy_nIN9__gnu_cxx17__normal_iteratorIPKcSsEESt19ostreambuf_iteratorIcSt11char_traitsIcEEEET0_T_SC_SB_" demangled="std::ostreambuf_iterator<char, std::char_traits<char> > std::__copy_normal<true, false>::copy_n<__gnu_cxx::__normal_iterator<char const*, std::string>, std::ostreambuf_iterator<char, std::char_traits<char> & [...]
+    <Argument name="__first" type="_3328" location="f101:335" file="f101" line="335"/>
+    <Argument name="__last" type="_3328" location="f101:335" file="f101" line="335"/>
+    <Argument name="__result" type="_2478" location="f101:335" file="f101" line="335"/>
+  </Method>
+  <Method id="_6271" name="copy_n" returns="_2748" static="1" context="_2399" access="public" mangled="_ZNSt13__copy_normalILb1ELb0EE6copy_nIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiEET0_T_SC_SB_" demangled="int* std::__copy_normal<true, false>::copy_n<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, int*>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu [...]
+    <Argument name="__first" type="_3335" location="f101:335" file="f101" line="335"/>
+    <Argument name="__last" type="_3335" location="f101:335" file="f101" line="335"/>
+    <Argument name="__result" type="_2748" location="f101:335" file="f101" line="335"/>
+  </Method>
+  <Constructor id="_6272" name="__copy_normal" artificial="1" throw="" context="_2400" access="public" mangled="_ZNSt13__copy_normalILb1ELb1EEC1ERKS0_ *INTERNAL* " demangled="std::__copy_normal<true, true>::__copy_normal(std::__copy_normal<true, true> const&)" location="f101:349" file="f101" line="349" inline="1">
+    <Argument name="_ctor_arg" type="_11563" location="f101:349" file="f101" line="349"/>
+  </Constructor>
+  <Constructor id="_6273" name="__copy_normal" explicit="1" artificial="1" throw="" context="_2400" access="public" mangled="_ZNSt13__copy_normalILb1ELb1EEC1Ev *INTERNAL* " demangled="std::__copy_normal<true, true>::__copy_normal()" location="f101:349" file="f101" line="349" inline="1"/>
+  <Method id="_6274" name="copy_n" returns="_3330" static="1" context="_2400" access="public" mangled="_ZNSt13__copy_normalILb1ELb1EE6copy_nIN9__gnu_cxx17__normal_iteratorIPcSsEES5_EET0_T_S7_S6_" demangled="__gnu_cxx::__normal_iterator<char*, std::string> std::__copy_normal<true, true>::copy_n<__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string> >(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx: [...]
+    <Argument name="__first" type="_3330" location="f101:353" file="f101" line="353"/>
+    <Argument name="__last" type="_3330" location="f101:353" file="f101" line="353"/>
+    <Argument name="__result" type="_3330" location="f101:353" file="f101" line="353"/>
+  </Method>
+  <Constructor id="_6275" name="__copy_normal" artificial="1" throw="" context="_2401" access="public" mangled="_ZNSt13__copy_normalILb0ELb1EEC1ERKS0_ *INTERNAL* " demangled="std::__copy_normal<false, true>::__copy_normal(std::__copy_normal<false, true> const&)" location="f101:340" file="f101" line="340" inline="1">
+    <Argument name="_ctor_arg" type="_11564" location="f101:340" file="f101" line="340"/>
+  </Constructor>
+  <Constructor id="_6276" name="__copy_normal" explicit="1" artificial="1" throw="" context="_2401" access="public" mangled="_ZNSt13__copy_normalILb0ELb1EEC1Ev *INTERNAL* " demangled="std::__copy_normal<false, true>::__copy_normal()" location="f101:340" file="f101" line="340" inline="1"/>
+  <Constructor id="_6277" name="__copy" artificial="1" throw="" context="_2410" access="public" mangled="_ZNSt6__copyILb0ESt26random_access_iterator_tagEC1ERKS1_ *INTERNAL* " demangled="std::__copy<false, std::random_access_iterator_tag>::__copy(std::__copy<false, std::random_access_iterator_tag> const&)" location="f101:264" file="f101" line="264" inline="1">
+    <Argument name="_ctor_arg" type="_11565" location="f101:264" file="f101" line="264"/>
+  </Constructor>
+  <Constructor id="_6278" name="__copy" explicit="1" artificial="1" throw="" context="_2410" access="public" mangled="_ZNSt6__copyILb0ESt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="std::__copy<false, std::random_access_iterator_tag>::__copy()" location="f101:264" file="f101" line="264" inline="1"/>
+  <Constructor id="_6279" name="__copy" artificial="1" throw="" context="_2411" access="public" mangled="_ZNSt6__copyILb1ESt26random_access_iterator_tagEC1ERKS1_ *INTERNAL* " demangled="std::__copy<true, std::random_access_iterator_tag>::__copy(std::__copy<true, std::random_access_iterator_tag> const&)" location="f101:295" file="f101" line="295" inline="1">
+    <Argument name="_ctor_arg" type="_11566" location="f101:295" file="f101" line="295"/>
+  </Constructor>
+  <Constructor id="_6280" name="__copy" explicit="1" artificial="1" throw="" context="_2411" access="public" mangled="_ZNSt6__copyILb1ESt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="std::__copy<true, std::random_access_iterator_tag>::__copy()" location="f101:295" file="f101" line="295" inline="1"/>
+  <Method id="_6281" name="copy" returns="_1149" static="1" context="_2411" access="public" mangled="_ZNSt6__copyILb1ESt26random_access_iterator_tagE4copyIcEEPT_PKS3_S6_S4_" demangled="char* std::__copy<true, std::random_access_iterator_tag>::copy<char>(char const*, char const*, char*)" location="f101:299" file="f101" line="299" endline="301" inline="1">
+    <Argument name="__first" type="_2749" location="f101:299" file="f101" line="299"/>
+    <Argument name="__last" type="_2749" location="f101:299" file="f101" line="299"/>
+    <Argument name="__result" type="_1149" location="f101:299" file="f101" line="299"/>
+  </Method>
+  <Method id="_6282" name="copy" returns="_2935" static="1" context="_2411" access="public" mangled="_ZNSt6__copyILb1ESt26random_access_iterator_tagE4copyIPcEEPT_PKS4_S7_S5_" demangled="char** std::__copy<true, std::random_access_iterator_tag>::copy<char*>(char* const*, char* const*, char**)" location="f101:299" file="f101" line="299" endline="301" inline="1">
+    <Argument name="__first" type="_3093" location="f101:299" file="f101" line="299"/>
+    <Argument name="__last" type="_3093" location="f101:299" file="f101" line="299"/>
+    <Argument name="__result" type="_2935" location="f101:299" file="f101" line="299"/>
+  </Method>
+  <Method id="_6283" name="copy" returns="_2748" static="1" context="_2411" access="public" mangled="_ZNSt6__copyILb1ESt26random_access_iterator_tagE4copyIiEEPT_PKS3_S6_S4_" demangled="int* std::__copy<true, std::random_access_iterator_tag>::copy<int>(int const*, int const*, int*)" location="f101:299" file="f101" line="299" endline="301" inline="1">
+    <Argument name="__first" type="_4076" location="f101:299" file="f101" line="299"/>
+    <Argument name="__last" type="_4076" location="f101:299" file="f101" line="299"/>
+    <Argument name="__result" type="_2748" location="f101:299" file="f101" line="299"/>
+  </Method>
+  <ReferenceType id="_6284" type="_1698c" size="32" align="32"/>
+  <Constructor id="_6285" name="__iter_swap" artificial="1" throw="" context="_2415" access="public" mangled="_ZNSt11__iter_swapILb1EEC1ERKS0_ *INTERNAL* " demangled="std::__iter_swap<true>::__iter_swap(std::__iter_swap<true> const&)" location="f101:122" file="f101" line="122" inline="1">
+    <Argument name="_ctor_arg" type="_11567" location="f101:122" file="f101" line="122"/>
+  </Constructor>
+  <Constructor id="_6286" name="__iter_swap" explicit="1" artificial="1" throw="" context="_2415" access="public" mangled="_ZNSt11__iter_swapILb1EEC1Ev *INTERNAL* " demangled="std::__iter_swap<true>::__iter_swap()" location="f101:122" file="f101" line="122" inline="1"/>
+  <Constructor id="_6287" name="bad_exception" artificial="1" throw="" context="_2423" access="public" mangled="_ZNSt13bad_exceptionC1ERKS_ *INTERNAL* " demangled="std::bad_exception::bad_exception(std::bad_exception const&)" location="f36:67" file="f36" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_11568" location="f36:67" file="f36" line="67"/>
+  </Constructor>
+  <Constructor id="_6288" name="bad_exception" explicit="1" throw="" context="_2423" access="public" mangled="_ZNSt13bad_exceptionC1Ev *INTERNAL* " demangled="std::bad_exception::bad_exception()" location="f36:69" file="f36" line="69" endline="69" inline="1"/>
+  <Destructor id="_6289" name="bad_exception" virtual="1" throw="" context="_2423" access="public" mangled="_ZNSt13bad_exceptionD1Ev *INTERNAL* " demangled="std::bad_exception::~bad_exception()" location="f36:72" file="f36" line="72" extern="1">
+  </Destructor>
+  <Constructor id="_6290" name="exception" artificial="1" throw="" context="_2424" access="public" mangled="_ZNSt9exceptionC1ERKS_ *INTERNAL* " demangled="std::exception::exception(std::exception const&)" location="f26:87" file="f26" line="87" endline="87" inline="1">
+    <Argument name="_ctor_arg" type="_11569" location="f36:55" file="f36" line="55"/>
+  </Constructor>
+  <Constructor id="_6291" name="exception" explicit="1" throw="" context="_2424" access="public" mangled="_ZNSt9exceptionC1Ev *INTERNAL* " demangled="std::exception::exception()" location="f36:57" file="f36" line="57" endline="57" inline="1"/>
+  <Destructor id="_6292" name="exception" virtual="1" throw="" context="_2424" access="public" mangled="_ZNSt9exceptionD1Ev *INTERNAL* " demangled="std::exception::~exception()" location="f36:58" file="f36" line="58" extern="1">
+  </Destructor>
+  <Method id="_6293" name="what" returns="_2749" const="1" virtual="1" throw="" context="_2424" access="public" mangled="_ZNKSt9exception4whatEv" demangled="std::exception::what() const" location="f36:61" file="f36" line="61" extern="1"/>
+  <Field id="_6294" name="_M_filebuf" type="_2431" offset="96" context="_2425" access="private" mangled="_ZNSt13basic_fstreamIwSt11char_traitsIwEE10_M_filebufE" demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::_M_filebuf" location="f188:677" file="f188" line="677"/>
+  <Typedef id="_6295" name="char_type" type="_2786" context="_2425" access="public" location="f188:665" file="f188" line="665"/>
+  <Typedef id="_6296" name="traits_type" type="_2511" context="_2425" access="public" location="f188:666" file="f188" line="666"/>
+  <Typedef id="_6297" name="int_type" type="_1232" context="_2425" access="public" location="f188:667" file="f188" line="667"/>
+  <Typedef id="_6298" name="pos_type" type="_2497" context="_2425" access="public" location="f188:668" file="f188" line="668"/>
+  <Typedef id="_6299" name="off_type" type="_2500" context="_2425" access="public" location="f188:669" file="f188" line="669"/>
+  <Typedef id="_6300" name="__filebuf_type" type="_2431" context="_2425" access="public" location="f188:672" file="f188" line="672"/>
+  <Typedef id="_6301" name="__ios_type" type="_2449" context="_2425" access="public" location="f188:673" file="f188" line="673"/>
+  <Typedef id="_6302" name="__iostream_type" type="_2441" context="_2425" access="public" location="f188:674" file="f188" line="674"/>
+  <Constructor id="_6303" name="basic_fstream" artificial="1" context="_2425" access="public" mangled="_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::basic_fstream(std::basic_fstream<wchar_t, std::char_traits<wchar_t> > const&)" location="f9:95" file="f9" line="95" inline="1">
+    <Argument name="_ctor_arg" type="_11570" location="f9:95" file="f9" line="95"/>
+  </Constructor>
+  <Constructor id="_6304" name="basic_fstream" explicit="1" context="_2425" access="public" mangled="_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::basic_fstream()" location="f188:689" file="f188" line="689" extern="1" inline="1">
+  </Constructor>
+  <Constructor id="_6305" name="basic_fstream" explicit="1" context="_2425" access="public" mangled="_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::basic_fstream(char const*, std::_Ios_Openmode)" location="f188:703" file="f188" line="703" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:703" file="f188" line="703"/>
+    <Argument name="__mode" type="_2137" location="f188:703" file="f188" line="703" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Constructor>
+  <Destructor id="_6306" name="basic_fstream" virtual="1" context="_2425" access="public" mangled="_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::~basic_fstream()" location="f188:716" file="f188" line="716" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6307" name="rdbuf" returns="_11571" const="1" context="_2425" access="public" mangled="_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv" demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::rdbuf() const" location="f188:727" file="f188" line="727" extern="1" inline="1"/>
+  <Method id="_6308" name="is_open" returns="_3949" context="_2425" access="public" mangled="_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv" demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::is_open()" location="f188:735" file="f188" line="735" extern="1" inline="1"/>
+  <Method id="_6309" name="is_open" returns="_3949" const="1" context="_2425" access="public" mangled="_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv" demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::is_open() const" location="f188:741" file="f188" line="741" extern="1" inline="1"/>
+  <Method id="_6310" name="open" returns="_1194" context="_2425" access="public" mangled="_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode" demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::open(char const*, std::_Ios_Openmode)" location="f188:757" file="f188" line="757" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:757" file="f188" line="757"/>
+    <Argument name="__mode" type="_2137" location="f188:757" file="f188" line="757" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6311" name="close" returns="_1194" context="_2425" access="public" mangled="_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv" demangled="std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::close()" location="f188:774" file="f188" line="774" extern="1" inline="1"/>
+  <Field id="_6312" name="_M_filebuf" type="_2431" offset="32" context="_2427" access="private" mangled="_ZNSt14basic_ofstreamIwSt11char_traitsIwEE10_M_filebufE" demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::_M_filebuf" location="f188:545" file="f188" line="545"/>
+  <Typedef id="_6313" name="char_type" type="_2786" context="_2427" access="public" location="f188:534" file="f188" line="534"/>
+  <Typedef id="_6314" name="traits_type" type="_2511" context="_2427" access="public" location="f188:535" file="f188" line="535"/>
+  <Typedef id="_6315" name="int_type" type="_1232" context="_2427" access="public" location="f188:536" file="f188" line="536"/>
+  <Typedef id="_6316" name="pos_type" type="_2497" context="_2427" access="public" location="f188:537" file="f188" line="537"/>
+  <Typedef id="_6317" name="off_type" type="_2500" context="_2427" access="public" location="f188:538" file="f188" line="538"/>
+  <Typedef id="_6318" name="__filebuf_type" type="_2431" context="_2427" access="public" location="f188:541" file="f188" line="541"/>
+  <Typedef id="_6319" name="__ostream_type" type="_2443" context="_2427" access="public" location="f188:542" file="f188" line="542"/>
+  <Constructor id="_6320" name="basic_ofstream" artificial="1" context="_2427" access="public" mangled="_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::basic_ofstream(std::basic_ofstream<wchar_t, std::char_traits<wchar_t> > const&)" location="f9:92" file="f9" line="92" inline="1">
+    <Argument name="_ctor_arg" type="_11572" location="f9:92" file="f9" line="92"/>
+  </Constructor>
+  <Constructor id="_6321" name="basic_ofstream" explicit="1" context="_2427" access="public" mangled="_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::basic_ofstream()" location="f188:556" file="f188" line="556" extern="1" inline="1">
+  </Constructor>
+  <Constructor id="_6322" name="basic_ofstream" explicit="1" context="_2427" access="public" mangled="_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::basic_ofstream(char const*, std::_Ios_Openmode)" location="f188:573" file="f188" line="573" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:573" file="f188" line="573"/>
+    <Argument name="__mode" type="_2137" location="f188:573" file="f188" line="573" default="(std::ios_base::out | std::ios_base::trunc)"/>
+  </Constructor>
+  <Destructor id="_6323" name="basic_ofstream" virtual="1" context="_2427" access="public" mangled="_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::~basic_ofstream()" location="f188:586" file="f188" line="586" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6324" name="rdbuf" returns="_11571" const="1" context="_2427" access="public" mangled="_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv" demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::rdbuf() const" location="f188:597" file="f188" line="597" extern="1" inline="1"/>
+  <Method id="_6325" name="is_open" returns="_3949" context="_2427" access="public" mangled="_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv" demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::is_open()" location="f188:605" file="f188" line="605" extern="1" inline="1"/>
+  <Method id="_6326" name="is_open" returns="_3949" const="1" context="_2427" access="public" mangled="_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv" demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::is_open() const" location="f188:611" file="f188" line="611" extern="1" inline="1"/>
+  <Method id="_6327" name="open" returns="_1194" context="_2427" access="public" mangled="_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode" demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::open(char const*, std::_Ios_Openmode)" location="f188:627" file="f188" line="627" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:627" file="f188" line="627"/>
+    <Argument name="__mode" type="_2137" location="f188:627" file="f188" line="627" default="(std::ios_base::out | std::ios_base::trunc)"/>
+  </Method>
+  <Method id="_6328" name="close" returns="_1194" context="_2427" access="public" mangled="_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv" demangled="std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::close()" location="f188:644" file="f188" line="644" extern="1" inline="1"/>
+  <Field id="_6329" name="_M_filebuf" type="_2431" offset="64" context="_2429" access="private" mangled="_ZNSt14basic_ifstreamIwSt11char_traitsIwEE10_M_filebufE" demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::_M_filebuf" location="f188:417" file="f188" line="417"/>
+  <Typedef id="_6330" name="char_type" type="_2786" context="_2429" access="public" location="f188:406" file="f188" line="406"/>
+  <Typedef id="_6331" name="traits_type" type="_2511" context="_2429" access="public" location="f188:407" file="f188" line="407"/>
+  <Typedef id="_6332" name="int_type" type="_1232" context="_2429" access="public" location="f188:408" file="f188" line="408"/>
+  <Typedef id="_6333" name="pos_type" type="_2497" context="_2429" access="public" location="f188:409" file="f188" line="409"/>
+  <Typedef id="_6334" name="off_type" type="_2500" context="_2429" access="public" location="f188:410" file="f188" line="410"/>
+  <Typedef id="_6335" name="__filebuf_type" type="_2431" context="_2429" access="public" location="f188:413" file="f188" line="413"/>
+  <Typedef id="_6336" name="__istream_type" type="_2445" context="_2429" access="public" location="f188:414" file="f188" line="414"/>
+  <Constructor id="_6337" name="basic_ifstream" artificial="1" context="_2429" access="public" mangled="_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::basic_ifstream(std::basic_ifstream<wchar_t, std::char_traits<wchar_t> > const&)" location="f9:89" file="f9" line="89" inline="1">
+    <Argument name="_ctor_arg" type="_11573" location="f9:89" file="f9" line="89"/>
+  </Constructor>
+  <Constructor id="_6338" name="basic_ifstream" explicit="1" context="_2429" access="public" mangled="_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::basic_ifstream()" location="f188:428" file="f188" line="428" extern="1" inline="1">
+  </Constructor>
+  <Constructor id="_6339" name="basic_ifstream" explicit="1" context="_2429" access="public" mangled="_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::basic_ifstream(char const*, std::_Ios_Openmode)" location="f188:443" file="f188" line="443" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:443" file="f188" line="443"/>
+    <Argument name="__mode" type="_2137" location="f188:443" file="f188" line="443" default="std::ios_base::in"/>
+  </Constructor>
+  <Destructor id="_6340" name="basic_ifstream" virtual="1" context="_2429" access="public" mangled="_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::~basic_ifstream()" location="f188:456" file="f188" line="456" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6341" name="rdbuf" returns="_11571" const="1" context="_2429" access="public" mangled="_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv" demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::rdbuf() const" location="f188:467" file="f188" line="467" extern="1" inline="1"/>
+  <Method id="_6342" name="is_open" returns="_3949" context="_2429" access="public" mangled="_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv" demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::is_open()" location="f188:475" file="f188" line="475" extern="1" inline="1"/>
+  <Method id="_6343" name="is_open" returns="_3949" const="1" context="_2429" access="public" mangled="_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv" demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::is_open() const" location="f188:481" file="f188" line="481" extern="1" inline="1"/>
+  <Method id="_6344" name="open" returns="_1194" context="_2429" access="public" mangled="_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode" demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::open(char const*, std::_Ios_Openmode)" location="f188:496" file="f188" line="496" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:496" file="f188" line="496"/>
+    <Argument name="__mode" type="_2137" location="f188:496" file="f188" line="496" default="std::ios_base::in"/>
+  </Method>
+  <Method id="_6345" name="close" returns="_1194" context="_2429" access="public" mangled="_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv" demangled="std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::close()" location="f188:513" file="f188" line="513" extern="1" inline="1"/>
+  <Field id="_6346" name="_M_lock" type="_2533" offset="256" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_lockE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_lock" location="f188:89" file="f188" line="89"/>
+  <Field id="_6347" name="_M_file" type="_1896" offset="448" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_fileE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_file" location="f188:92" file="f188" line="92"/>
+  <Field id="_6348" name="_M_mode" type="_2137" offset="512" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_modeE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_mode" location="f188:99" file="f188" line="99"/>
+  <Field id="_6349" name="_M_state_beg" type="_767" offset="544" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE12_M_state_begE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_state_beg" location="f188:102" file="f188" line="102"/>
+  <Field id="_6350" name="_M_state_cur" type="_767" offset="608" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE12_M_state_curE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_state_cur" location="f188:107" file="f188" line="107"/>
+  <Field id="_6351" name="_M_state_last" type="_767" offset="672" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_state_lastE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_state_last" location="f188:111" file="f188" line="111"/>
+  <Field id="_6352" name="_M_buf" type="_2778" offset="736" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE6_M_bufE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_buf" location="f188:118" file="f188" line="118"/>
+  <Field id="_6353" name="_M_buf_size" type="_1698" offset="768" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE11_M_buf_sizeE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_buf_size" location="f188:127" file="f188" line="127"/>
+  <Field id="_6354" name="_M_buf_allocated" type="_3949" offset="800" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_buf_allocatedE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_buf_allocated" location="f188:130" file="f188" line="130"/>
+  <Field id="_6355" name="_M_reading" type="_3949" offset="808" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE10_M_readingE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_reading" location="f188:141" file="f188" line="141"/>
+  <Field id="_6356" name="_M_writing" type="_3949" offset="816" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE10_M_writingE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_writing" location="f188:142" file="f188" line="142"/>
+  <Field id="_6357" name="_M_pback" type="_2786" offset="832" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE8_M_pbackE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_pback" location="f188:152" file="f188" line="152"/>
+  <Field id="_6358" name="_M_pback_cur_save" type="_2778" offset="864" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_pback_cur_saveE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_pback_cur_save" location="f188:153" file="f188" line="153"/>
+  <Field id="_6359" name="_M_pback_end_save" type="_2778" offset="896" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_pback_end_saveE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_pback_end_save" location="f188:154" file="f188" line="154"/>
+  <Field id="_6360" name="_M_pback_init" type="_3949" offset="928" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_pback_initE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_pback_init" location="f188:155" file="f188" line="155"/>
+  <Field id="_6361" name="_M_codecvt" type="_11574" offset="960" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE10_M_codecvtE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_codecvt" location="f188:159" file="f188" line="159"/>
+  <Field id="_6362" name="_M_ext_buf" type="_1149" offset="992" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE10_M_ext_bufE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_ext_buf" location="f188:168" file="f188" line="168"/>
+  <Field id="_6363" name="_M_ext_buf_size" type="_2499" offset="1024" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_ext_buf_sizeE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_ext_buf_size" location="f188:175" file="f188" line="175"/>
+  <Field id="_6364" name="_M_ext_next" type="_2749" offset="1056" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE11_M_ext_nextE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_ext_next" location="f188:184" file="f188" line="184"/>
+  <Field id="_6365" name="_M_ext_end" type="_1149" offset="1088" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE10_M_ext_endE" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_ext_end" location="f188:185" file="f188" line="185"/>
+  <Typedef id="_6366" name="char_type" type="_2786" context="_2431" access="public" location="f188:72" file="f188" line="72"/>
+  <Typedef id="_6367" name="traits_type" type="_2511" context="_2431" access="public" location="f188:73" file="f188" line="73"/>
+  <Typedef id="_6368" name="int_type" type="_1232" context="_2431" access="public" location="f188:74" file="f188" line="74"/>
+  <Typedef id="_6369" name="pos_type" type="_2497" context="_2431" access="public" location="f188:75" file="f188" line="75"/>
+  <Typedef id="_6370" name="off_type" type="_2500" context="_2431" access="public" location="f188:76" file="f188" line="76"/>
+  <Typedef id="_6371" name="__streambuf_type" type="_2447" context="_2431" access="public" location="f188:78" file="f188" line="78"/>
+  <Typedef id="_6372" name="__file_type" type="_1896" context="_2431" access="public" location="f188:80" file="f188" line="80"/>
+  <Typedef id="_6373" name="__state_type" type="_767" context="_2431" access="public" location="f188:81" file="f188" line="81"/>
+  <Typedef id="_6374" name="__codecvt_type" type="_2355" context="_2431" access="public" location="f188:82" file="f188" line="82"/>
+  <Constructor id="_6375" name="basic_filebuf" artificial="1" context="_2431" access="public" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::basic_filebuf(std::basic_filebuf<wchar_t, std::char_traits<wchar_t> > const&)" location="f9:86" file="f9" line="86" inline="1">
+    <Argument name="_ctor_arg" type="_11575" location="f9:86" file="f9" line="86"/>
+  </Constructor>
+  <Method id="_6376" name="_M_create_pback" returns="_1194" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_create_pback()" location="f188:196" file="f188" line="196" extern="1" inline="1"/>
+  <Method id="_6377" name="_M_destroy_pback" returns="_1194" throw="" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_destroy_pback()" location="f188:215" file="f188" line="215" extern="1" inline="1"/>
+  <Constructor id="_6378" name="basic_filebuf" explicit="1" context="_2431" access="public" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::basic_filebuf()" location="f189:81" file="f189" line="81" extern="1"/>
+  <Destructor id="_6379" name="basic_filebuf" virtual="1" context="_2431" access="public" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::~basic_filebuf()" location="f188:240" file="f188" line="240" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6380" name="is_open" returns="_3949" const="1" throw="" context="_2431" access="public" mangled="_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::is_open() const" location="f188:248" file="f188" line="248" extern="1" inline="1"/>
+  <Method id="_6381" name="open" returns="_11571" context="_2431" access="public" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::open(char const*, std::_Ios_Openmode)" location="f189:97" file="f189" line="97" extern="1">
+    <Argument name="__s" type="_2749" location="f189:97" file="f189" line="97"/>
+    <Argument name="__mode" type="_2137" location="f189:97" file="f189" line="97"/>
+  </Method>
+  <Method id="_6382" name="close" returns="_11571" throw="" context="_2431" access="public" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::close()" location="f189:131" file="f189" line="131" extern="1"/>
+  <Method id="_6383" name="_M_allocate_internal_buffer" returns="_1194" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_allocate_internal_buffer()" location="f189:51" file="f189" line="51" extern="1"/>
+  <Method id="_6384" name="_M_destroy_internal_buffer" returns="_1194" throw="" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_destroy_internal_buffer()" location="f189:65" file="f189" line="65" extern="1"/>
+  <Method id="_6385" name="showmanyc" returns="_2499" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::showmanyc()" location="f189:166" file="f189" line="166" extern="1"/>
+  <Method id="_6386" name="underflow" returns="_1232" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::underflow()" location="f189:192" file="f189" line="192" extern="1"/>
+  <Method id="_6387" name="pbackfail" returns="_1232" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::pbackfail(unsigned)" location="f189:341" file="f189" line="341" extern="1">
+    <Argument name="__i" type="_1232" location="f189:341" file="f189" line="341" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_6388" name="overflow" returns="_1232" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::overflow(unsigned)" location="f189:393" file="f189" line="393" extern="1">
+    <Argument name="__c" type="_1232" location="f189:393" file="f189" line="393" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_6389" name="_M_convert_to_external" returns="_3949" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_convert_to_external(wchar_t*, int)" location="f189:449" file="f189" line="449" extern="1">
+    <Argument name="__ibuf" type="_2778" location="f189:449" file="f189" line="449"/>
+    <Argument name="__ilen" type="_2499" location="f189:449" file="f189" line="449"/>
+  </Method>
+  <Method id="_6390" name="setbuf" returns="_4940" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::setbuf(wchar_t*, int)" location="f189:642" file="f189" line="642" extern="1">
+    <Argument name="__s" type="_2778" location="f189:642" file="f189" line="642"/>
+    <Argument name="__n" type="_2499" location="f189:642" file="f189" line="642"/>
+  </Method>
+  <Method id="_6391" name="seekoff" returns="_2497" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)" location="f189:669" file="f189" line="669" extern="1">
+    <Argument name="__off" type="_2500" location="f189:669" file="f189" line="669"/>
+    <Argument name="__way" type="_2121" location="f189:669" file="f189" line="669"/>
+    <Argument type="_2137" location="f189:669" file="f189" line="669" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6392" name="seekpos" returns="_2497" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)" location="f189:722" file="f189" line="722" extern="1">
+    <Argument name="__pos" type="_2497" location="f189:722" file="f189" line="722"/>
+    <Argument type="_2137" location="f189:722" file="f189" line="722" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6393" name="_M_seek" returns="_2497" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_seek(long long, std::_Ios_Seekdir, __mbstate_t)" location="f189:737" file="f189" line="737" extern="1">
+    <Argument name="__off" type="_2500" location="f189:737" file="f189" line="737"/>
+    <Argument name="__way" type="_2121" location="f189:737" file="f189" line="737"/>
+    <Argument name="__state" type="_767" location="f189:737" file="f189" line="737"/>
+  </Method>
+  <Method id="_6394" name="sync" returns="_503" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::sync()" location="f189:821" file="f189" line="821" extern="1"/>
+  <Method id="_6395" name="imbue" returns="_1194" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::imbue(std::locale const&)" location="f189:838" file="f189" line="838" extern="1">
+    <Argument name="__loc" type="_5517" location="f189:838" file="f189" line="838"/>
+  </Method>
+  <Method id="_6396" name="xsgetn" returns="_2499" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::xsgetn(wchar_t*, int)" location="f189:512" file="f189" line="512" extern="1">
+    <Argument name="__s" type="_2778" location="f189:512" file="f189" line="512"/>
+    <Argument name="__n" type="_2499" location="f189:512" file="f189" line="512"/>
+  </Method>
+  <Method id="_6397" name="xsputn" returns="_2499" virtual="1" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::xsputn(wchar_t const*, int)" location="f189:595" file="f189" line="595" extern="1">
+    <Argument name="__s" type="_2780" location="f189:595" file="f189" line="595"/>
+    <Argument name="__n" type="_2499" location="f189:595" file="f189" line="595"/>
+  </Method>
+  <Method id="_6398" name="_M_terminate_output" returns="_3949" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_terminate_output()" location="f189:760" file="f189" line="760" extern="1"/>
+  <Method id="_6399" name="_M_set_buffer" returns="_1194" context="_2431" access="protected" mangled="_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi" demangled="std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_set_buffer(int)" location="f188:376" file="f188" line="376" extern="1" inline="1">
+    <Argument name="__off" type="_2499" location="f188:376" file="f188" line="376"/>
+  </Method>
+  <Field id="_6400" name="_M_stringbuf" type="_2439" offset="96" context="_2433" access="private" mangled="_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE12_M_stringbufE" demangled="std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_stringbuf" location="f190:506" file="f190" line="506"/>
+  <Typedef id="_6401" name="char_type" type="_2786" context="_2433" access="public" location="f190:491" file="f190" line="491"/>
+  <Typedef id="_6402" name="traits_type" type="_2511" context="_2433" access="public" location="f190:492" file="f190" line="492"/>
+  <Typedef id="_6403" name="allocator_type" type="_2515" context="_2433" access="public" location="f190:495" file="f190" line="495"/>
+  <Typedef id="_6404" name="int_type" type="_1232" context="_2433" access="public" location="f190:496" file="f190" line="496"/>
+  <Typedef id="_6405" name="pos_type" type="_2497" context="_2433" access="public" location="f190:497" file="f190" line="497"/>
+  <Typedef id="_6406" name="off_type" type="_2500" context="_2433" access="public" location="f190:498" file="f190" line="498"/>
+  <Typedef id="_6407" name="__string_type" type="_2506" context="_2433" access="public" location="f190:501" file="f190" line="501"/>
+  <Typedef id="_6408" name="__stringbuf_type" type="_2439" context="_2433" access="public" location="f190:502" file="f190" line="502"/>
+  <Typedef id="_6409" name="__iostream_type" type="_2441" context="_2433" access="public" location="f190:503" file="f190" line="503"/>
+  <Constructor id="_6410" name="basic_stringstream" artificial="1" context="_2433" access="public" mangled="_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKS3_ *INTERNAL* " demangled="std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_stringstream(std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f9:83" file="f9" line="83" inline="1">
+    <Argument name="_ctor_arg" type="_11576" location="f9:83" file="f9" line="83"/>
+  </Constructor>
+  <Constructor id="_6411" name="basic_stringstream" explicit="1" context="_2433" access="public" mangled="_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_stringstream(std::_Ios_Openmode)" location="f190:524" file="f190" line="524" extern="1" inline="1">
+    <Argument name="__m" type="_2137" location="f190:524" file="f190" line="524" default="(std::ios_base::out | std::ios_base::in)"/>
+  </Constructor>
+  <Constructor id="_6412" name="basic_stringstream" explicit="1" context="_2433" access="public" mangled="_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_stringstream(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::_Ios_Openmode)" location="f190:543" fi [...]
+    <Argument name="__str" type="_4947" location="f190:543" file="f190" line="543"/>
+    <Argument name="__m" type="_2137" location="f190:543" file="f190" line="543" default="(std::ios_base::out | std::ios_base::in)"/>
+  </Constructor>
+  <Destructor id="_6413" name="basic_stringstream" virtual="1" context="_2433" access="public" mangled="_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev *INTERNAL* " demangled="std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_stringstream()" location="f190:553" file="f190" line="553" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6414" name="rdbuf" returns="_11577" const="1" context="_2433" access="public" mangled="_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv" demangled="std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rdbuf() const" location="f190:564" file="f190" line="564" extern="1" inline="1"/>
+  <Method id="_6415" name="str" returns="_2506" const="1" context="_2433" access="public" mangled="_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv" demangled="std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::str() const" location="f190:572" file="f190" line="572" extern="1" inline="1"/>
+  <Method id="_6416" name="str" returns="_1194" context="_2433" access="public" mangled="_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E" demangled="std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::str(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f190:582" file="f190" line="582" extern="1" inline="1">
+    <Argument name="__s" type="_4947" location="f190:582" file="f190" line="582"/>
+  </Method>
+  <Field id="_6417" name="_M_stringbuf" type="_2439" offset="32" context="_2435" access="private" mangled="_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE12_M_stringbufE" demangled="std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_stringbuf" location="f190:393" file="f190" line="393"/>
+  <Typedef id="_6418" name="char_type" type="_2786" context="_2435" access="public" location="f190:378" file="f190" line="378"/>
+  <Typedef id="_6419" name="traits_type" type="_2511" context="_2435" access="public" location="f190:379" file="f190" line="379"/>
+  <Typedef id="_6420" name="allocator_type" type="_2515" context="_2435" access="public" location="f190:382" file="f190" line="382"/>
+  <Typedef id="_6421" name="int_type" type="_1232" context="_2435" access="public" location="f190:383" file="f190" line="383"/>
+  <Typedef id="_6422" name="pos_type" type="_2497" context="_2435" access="public" location="f190:384" file="f190" line="384"/>
+  <Typedef id="_6423" name="off_type" type="_2500" context="_2435" access="public" location="f190:385" file="f190" line="385"/>
+  <Typedef id="_6424" name="__string_type" type="_2506" context="_2435" access="public" location="f190:388" file="f190" line="388"/>
+  <Typedef id="_6425" name="__stringbuf_type" type="_2439" context="_2435" access="public" location="f190:389" file="f190" line="389"/>
+  <Typedef id="_6426" name="__ostream_type" type="_2443" context="_2435" access="public" location="f190:390" file="f190" line="390"/>
+  <Constructor id="_6427" name="basic_ostringstream" artificial="1" context="_2435" access="public" mangled="_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKS3_ *INTERNAL* " demangled="std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_ostringstream(std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f9:79" file="f9" line="79" inline="1">
+    <Argument name="_ctor_arg" type="_11578" location="f9:79" file="f9" line="79"/>
+  </Constructor>
+  <Constructor id="_6428" name="basic_ostringstream" explicit="1" context="_2435" access="public" mangled="_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_ostringstream(std::_Ios_Openmode)" location="f190:413" file="f190" line="413" endline="414" extern="1" inline="1">
+    <Argument name="__mode" type="_2137" location="f190:413" file="f190" line="413" default="std::ios_base::out"/>
+  </Constructor>
+  <Constructor id="_6429" name="basic_ostringstream" explicit="1" context="_2435" access="public" mangled="_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_ostringstream(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::_Ios_Openmode)" location="f190:434 [...]
+    <Argument name="__str" type="_4947" location="f190:434" file="f190" line="434"/>
+    <Argument name="__mode" type="_2137" location="f190:434" file="f190" line="434" default="std::ios_base::out"/>
+  </Constructor>
+  <Destructor id="_6430" name="basic_ostringstream" virtual="1" context="_2435" access="public" mangled="_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev *INTERNAL* " demangled="std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_ostringstream()" location="f190:444" file="f190" line="444" endline="444" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6431" name="rdbuf" returns="_11577" const="1" context="_2435" access="public" mangled="_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv" demangled="std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rdbuf() const" location="f190:455" file="f190" line="455" extern="1" inline="1"/>
+  <Method id="_6432" name="str" returns="_2506" const="1" context="_2435" access="public" mangled="_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv" demangled="std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::str() const" location="f190:463" file="f190" line="463" endline="463" extern="1" inline="1"/>
+  <Method id="_6433" name="str" returns="_1194" context="_2435" access="public" mangled="_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E" demangled="std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::str(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f190:473" file="f190" line="473" extern="1" inline="1">
+    <Argument name="__s" type="_4947" location="f190:473" file="f190" line="473"/>
+  </Method>
+  <Field id="_6434" name="_M_stringbuf" type="_2439" offset="64" context="_2437" access="private" mangled="_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE12_M_stringbufE" demangled="std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_stringbuf" location="f190:280" file="f190" line="280"/>
+  <Typedef id="_6435" name="char_type" type="_2786" context="_2437" access="public" location="f190:265" file="f190" line="265"/>
+  <Typedef id="_6436" name="traits_type" type="_2511" context="_2437" access="public" location="f190:266" file="f190" line="266"/>
+  <Typedef id="_6437" name="allocator_type" type="_2515" context="_2437" access="public" location="f190:269" file="f190" line="269"/>
+  <Typedef id="_6438" name="int_type" type="_1232" context="_2437" access="public" location="f190:270" file="f190" line="270"/>
+  <Typedef id="_6439" name="pos_type" type="_2497" context="_2437" access="public" location="f190:271" file="f190" line="271"/>
+  <Typedef id="_6440" name="off_type" type="_2500" context="_2437" access="public" location="f190:272" file="f190" line="272"/>
+  <Typedef id="_6441" name="__string_type" type="_2506" context="_2437" access="public" location="f190:275" file="f190" line="275"/>
+  <Typedef id="_6442" name="__stringbuf_type" type="_2439" context="_2437" access="public" location="f190:276" file="f190" line="276"/>
+  <Typedef id="_6443" name="__istream_type" type="_2445" context="_2437" access="public" location="f190:277" file="f190" line="277"/>
+  <Constructor id="_6444" name="basic_istringstream" artificial="1" context="_2437" access="public" mangled="_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKS3_ *INTERNAL* " demangled="std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_istringstream(std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f9:75" file="f9" line="75" inline="1">
+    <Argument name="_ctor_arg" type="_11579" location="f9:75" file="f9" line="75"/>
+  </Constructor>
+  <Constructor id="_6445" name="basic_istringstream" explicit="1" context="_2437" access="public" mangled="_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_istringstream(std::_Ios_Openmode)" location="f190:300" file="f190" line="300" extern="1" inline="1">
+    <Argument name="__mode" type="_2137" location="f190:300" file="f190" line="300" default="std::ios_base::in"/>
+  </Constructor>
+  <Constructor id="_6446" name="basic_istringstream" explicit="1" context="_2437" access="public" mangled="_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_istringstream(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::_Ios_Openmode)" location="f190:321 [...]
+    <Argument name="__str" type="_4947" location="f190:321" file="f190" line="321"/>
+    <Argument name="__mode" type="_2137" location="f190:321" file="f190" line="321" default="std::ios_base::in"/>
+  </Constructor>
+  <Destructor id="_6447" name="basic_istringstream" virtual="1" context="_2437" access="public" mangled="_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev *INTERNAL* " demangled="std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_istringstream()" location="f190:331" file="f190" line="331" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6448" name="rdbuf" returns="_11577" const="1" context="_2437" access="public" mangled="_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv" demangled="std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rdbuf() const" location="f190:342" file="f190" line="342" extern="1" inline="1"/>
+  <Method id="_6449" name="str" returns="_2506" const="1" context="_2437" access="public" mangled="_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv" demangled="std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::str() const" location="f190:350" file="f190" line="350" extern="1" inline="1"/>
+  <Method id="_6450" name="str" returns="_1194" context="_2437" access="public" mangled="_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E" demangled="std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::str(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f190:360" file="f190" line="360" extern="1" inline="1">
+    <Argument name="__s" type="_4947" location="f190:360" file="f190" line="360"/>
+  </Method>
+  <Field id="_6451" name="_M_mode" type="_2137" offset="256" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_modeE" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_mode" location="f190:85" file="f190" line="85"/>
+  <Field id="_6452" name="_M_string" type="_2506" offset="288" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9_M_stringE" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_string" location="f190:88" file="f190" line="88"/>
+  <Typedef id="_6453" name="char_type" type="_2786" context="_2439" access="public" location="f190:66" file="f190" line="66"/>
+  <Typedef id="_6454" name="traits_type" type="_2511" context="_2439" access="public" location="f190:67" file="f190" line="67"/>
+  <Typedef id="_6455" name="allocator_type" type="_2515" context="_2439" access="public" location="f190:70" file="f190" line="70"/>
+  <Typedef id="_6456" name="int_type" type="_1232" context="_2439" access="public" location="f190:71" file="f190" line="71"/>
+  <Typedef id="_6457" name="pos_type" type="_2497" context="_2439" access="public" location="f190:72" file="f190" line="72"/>
+  <Typedef id="_6458" name="off_type" type="_2500" context="_2439" access="public" location="f190:73" file="f190" line="73"/>
+  <Typedef id="_6459" name="__streambuf_type" type="_2447" context="_2439" access="public" location="f190:75" file="f190" line="75"/>
+  <Typedef id="_6460" name="__string_type" type="_2506" context="_2439" access="public" location="f190:76" file="f190" line="76"/>
+  <Typedef id="_6461" name="__size_type" type="_1698" context="_2439" access="public" location="f190:77" file="f190" line="77"/>
+  <Constructor id="_6462" name="basic_stringbuf" artificial="1" context="_2439" access="public" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKS3_ *INTERNAL* " demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_stringbuf(std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f9:71" file="f9" line="71" inline="1">
+    <Argument name="_ctor_arg" type="_11580" location="f9:71" file="f9" line="71"/>
+  </Constructor>
+  <Destructor id="_6463" name="basic_stringbuf" virtual="1" artificial="1" context="_2439" access="public" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev *INTERNAL* " demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_stringbuf()" location="f190:414" file="f190" line="414" endline="414" inline="1">
+  </Destructor>
+  <Constructor id="_6464" name="basic_stringbuf" explicit="1" context="_2439" access="public" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_stringbuf(std::_Ios_Openmode)" location="f190:101" file="f190" line="101" endline="102" extern="1" inline="1">
+    <Argument name="__mode" type="_2137" location="f190:101" file="f190" line="101" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Constructor>
+  <Constructor id="_6465" name="basic_stringbuf" explicit="1" context="_2439" access="public" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_stringbuf(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::_Ios_Openmode)" location="f190:115" file="f190" li [...]
+    <Argument name="__str" type="_4947" location="f190:115" file="f190" line="115"/>
+    <Argument name="__mode" type="_2137" location="f190:115" file="f190" line="115" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Constructor>
+  <Method id="_6466" name="str" returns="_2506" const="1" context="_2439" access="public" mangled="_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::str() const" location="f190:129" file="f190" line="129" endline="141" extern="1" inline="1"/>
+  <Method id="_6467" name="str" returns="_1194" context="_2439" access="public" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::str(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f190:153" file="f190" line="153" extern="1" inline="1">
+    <Argument name="__s" type="_4947" location="f190:153" file="f190" line="153"/>
+  </Method>
+  <Method id="_6468" name="_M_stringbuf_init" returns="_1194" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_stringbuf_init(std::_Ios_Openmode)" location="f190:163" file="f190" line="163" extern="1" inline="1">
+    <Argument name="__mode" type="_2137" location="f190:163" file="f190" line="163"/>
+  </Method>
+  <Method id="_6469" name="showmanyc" returns="_2499" virtual="1" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::showmanyc()" location="f190:173" file="f190" line="173" extern="1" inline="1"/>
+  <Method id="_6470" name="underflow" returns="_1232" virtual="1" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::underflow()" location="f191:130" file="f191" line="130" extern="1"/>
+  <Method id="_6471" name="pbackfail" returns="_1232" virtual="1" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::pbackfail(unsigned)" location="f191:53" file="f191" line="53" extern="1">
+    <Argument name="__c" type="_1232" location="f191:53" file="f191" line="53" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_6472" name="overflow" returns="_1232" virtual="1" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::overflow(unsigned)" location="f191:87" file="f191" line="87" extern="1">
+    <Argument name="__c" type="_1232" location="f191:87" file="f191" line="87" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_6473" name="setbuf" returns="_4940" virtual="1" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::setbuf(wchar_t*, int)" location="f190:205" file="f190" line="205" extern="1" inline="1">
+    <Argument name="__s" type="_2778" location="f190:205" file="f190" line="205"/>
+    <Argument name="__n" type="_2499" location="f190:205" file="f190" line="205"/>
+  </Method>
+  <Method id="_6474" name="seekoff" returns="_2497" virtual="1" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)" location="f191:148" file="f191" line="148" extern="1">
+    <Argument name="__off" type="_2500" location="f191:148" file="f191" line="148"/>
+    <Argument name="__way" type="_2121" location="f191:148" file="f191" line="148"/>
+    <Argument name="__mode" type="_2137" location="f191:148" file="f191" line="148" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6475" name="seekpos" returns="_2497" virtual="1" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)" location="f191:195" file="f191" line="195" extern="1">
+    <Argument name="__sp" type="_2497" location="f191:195" file="f191" line="195"/>
+    <Argument name="__mode" type="_2137" location="f191:195" file="f191" line="195" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6476" name="_M_sync" returns="_1194" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_sync(wchar_t*, unsigned, unsigned)" location="f191:224" file="f191" line="224" extern="1">
+    <Argument name="__base" type="_2778" location="f191:224" file="f191" line="224"/>
+    <Argument name="__i" type="_1698" location="f191:224" file="f191" line="224"/>
+    <Argument name="__o" type="_1698" location="f191:224" file="f191" line="224"/>
+  </Method>
+  <Method id="_6477" name="_M_update_egptr" returns="_1194" context="_2439" access="protected" mangled="_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv" demangled="std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_update_egptr()" location="f190:240" file="f190" line="240" extern="1" inline="1"/>
+  <Typedef id="_6478" name="char_type" type="_2786" context="_2441" access="public" location="f86:759" file="f86" line="759"/>
+  <Typedef id="_6479" name="int_type" type="_1232" context="_2441" access="public" location="f86:760" file="f86" line="760"/>
+  <Typedef id="_6480" name="pos_type" type="_2497" context="_2441" access="public" location="f86:761" file="f86" line="761"/>
+  <Typedef id="_6481" name="off_type" type="_2500" context="_2441" access="public" location="f86:762" file="f86" line="762"/>
+  <Typedef id="_6482" name="traits_type" type="_2511" context="_2441" access="public" location="f86:763" file="f86" line="763"/>
+  <Typedef id="_6483" name="__istream_type" type="_2445" context="_2441" access="public" location="f86:766" file="f86" line="766"/>
+  <Typedef id="_6484" name="__ostream_type" type="_2443" context="_2441" access="public" location="f86:767" file="f86" line="767"/>
+  <Constructor id="_6485" name="basic_iostream" artificial="1" throw="" context="_2441" access="public" mangled="_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::basic_iostream(std::basic_iostream<wchar_t, std::char_traits<wchar_t> > const&)" location="f9:67" file="f9" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_11581" location="f9:67" file="f9" line="67"/>
+  </Constructor>
+  <Constructor id="_6486" name="basic_iostream" explicit="1" context="_2441" access="public" mangled="_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E *INTERNAL* " demangled="std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::basic_iostream(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*)" location="f86:777" file="f86" line="777" extern="1" inline="1">
+    <Argument name="__sb" type="_4940" location="f86:777" file="f86" line="777"/>
+  </Constructor>
+  <Destructor id="_6487" name="basic_iostream" virtual="1" context="_2441" access="public" mangled="_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::~basic_iostream()" location="f86:784" file="f86" line="784" extern="1" inline="1">
+  </Destructor>
+  <Constructor id="_6488" name="basic_iostream" explicit="1" context="_2441" access="protected" mangled="_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::basic_iostream()" location="f86:788" file="f86" line="788" extern="1" inline="1">
+  </Constructor>
+  <Typedef id="_6489" name="char_type" type="_2786" context="_2443" access="public" location="f88:61" file="f88" line="61"/>
+  <Typedef id="_6490" name="int_type" type="_1232" context="_2443" access="public" location="f88:62" file="f88" line="62"/>
+  <Typedef id="_6491" name="pos_type" type="_2497" context="_2443" access="public" location="f88:63" file="f88" line="63"/>
+  <Typedef id="_6492" name="off_type" type="_2500" context="_2443" access="public" location="f88:64" file="f88" line="64"/>
+  <Typedef id="_6493" name="traits_type" type="_2511" context="_2443" access="public" location="f88:65" file="f88" line="65"/>
+  <Typedef id="_6494" name="__streambuf_type" type="_2447" context="_2443" access="public" location="f88:68" file="f88" line="68"/>
+  <Typedef id="_6495" name="__ios_type" type="_2449" context="_2443" access="public" location="f88:69" file="f88" line="69"/>
+  <Typedef id="_6496" name="__num_put_type" type="_2349" context="_2443" access="public" location="f88:72" file="f88" line="72"/>
+  <Typedef id="_6497" name="__ctype_type" type="_2361" context="_2443" access="public" location="f88:73" file="f88" line="73"/>
+  <Struct id="_6498" name="sentry" context="_2443" access="public" mangled="NSt13basic_ostreamIwSt11char_traitsIwEE6sentryE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry" location="f88:356" file="f88" line="356" artificial="1" size="64" align="32" members="_11582 _11583 _11584 _11585 _11586 _11587 " bases=""/>
+  <Constructor id="_6499" name="basic_ostream" artificial="1" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::basic_ostream(std::basic_ostream<wchar_t, std::char_traits<wchar_t> > const&)" location="f9:64" file="f9" line="64" inline="1">
+    <Argument name="_ctor_arg" type="_11588" location="f9:64" file="f9" line="64"/>
+  </Constructor>
+  <Constructor id="_6500" name="basic_ostream" explicit="1" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E *INTERNAL* " demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::basic_ostream(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*)" location="f88:105" file="f88" line="105" extern="1" inline="1">
+    <Argument name="__sb" type="_4940" location="f88:105" file="f88" line="105"/>
+  </Constructor>
+  <Destructor id="_6501" name="basic_ostream" virtual="1" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::~basic_ostream()" location="f88:113" file="f88" line="113" endline="113" extern="1" inline="1">
+  </Destructor>
+  <OperatorMethod id="_6502" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& (*)(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&))" location="f89:68" file="f89" line="68" extern="1" inline="1">
+    <Argument name="__pf" type="_11589" location="f89:68" file="f89" line="68"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6503" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(std::basic_ios<wchar_t, std::char_traits<wchar_t> >& (*)(std::basic_ios<wchar_t, std::char_traits<wchar_t> >&))" location="f89:79" file="f89" line="79" extern="1" inline="1">
+    <Argument name="__pf" type="_11590" location="f89:79" file="f89" line="79"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6504" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(std::ios_base& (*)(std::ios_base&))" location="f89:91" file="f89" line="91" extern="1" inline="1">
+    <Argument name="__pf" type="_11591" location="f89:91" file="f89" line="91"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6505" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(long)" location="f89:242" file="f89" line="242" extern="1">
+    <Argument name="__n" type="_1553" location="f89:242" file="f89" line="242"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6506" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(unsigned long)" location="f89:265" file="f89" line="265" extern="1">
+    <Argument name="__n" type="_643" location="f89:265" file="f89" line="265"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6507" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(bool)" location="f89:103" file="f89" line="103" extern="1">
+    <Argument name="__n" type="_3949" location="f89:103" file="f89" line="103"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6508" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(short)" location="f89:126" file="f89" line="126" extern="1">
+    <Argument name="__n" type="_1202" location="f89:126" file="f89" line="126"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6509" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(unsigned short)" location="f89:158" file="f89" line="158" extern="1">
+    <Argument name="__n" type="_1199" location="f89:158" file="f89" line="158"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6510" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(int)" location="f89:184" file="f89" line="184" extern="1">
+    <Argument name="__n" type="_503" location="f89:184" file="f89" line="184"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6511" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(unsigned)" location="f89:216" file="f89" line="216" extern="1">
+    <Argument name="__n" type="_837" location="f89:216" file="f89" line="216"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6512" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(long long)" location="f89:289" file="f89" line="289" extern="1">
+    <Argument name="__n" type="_1290" location="f89:289" file="f89" line="289"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6513" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(unsigned long long)" location="f89:312" file="f89" line="312" extern="1">
+    <Argument name="__n" type="_1288" location="f89:312" file="f89" line="312"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6514" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(double)" location="f89:362" file="f89" line="362" extern="1">
+    <Argument name="__n" type="_2753" location="f89:362" file="f89" line="362"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6515" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(float)" location="f89:336" file="f89" line="336" extern="1">
+    <Argument name="__n" type="_2751" location="f89:336" file="f89" line="336"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6516" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(long double)" location="f89:385" file="f89" line="385" extern="1">
+    <Argument name="__n" type="_483" location="f89:385" file="f89" line="385"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6517" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(void const*)" location="f89:408" file="f89" line="408" extern="1">
+    <Argument name="__n" type="_2807" location="f89:408" file="f89" line="408"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6518" name="<<" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*)" location="f89:431" file="f89" line="431" extern="1">
+    <Argument name="__sbin" type="_4940" location="f89:431" file="f89" line="431"/>
+  </OperatorMethod>
+  <Method id="_6519" name="put" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::put(wchar_t)" location="f89:455" file="f89" line="455" extern="1">
+    <Argument name="__c" type="_2786" location="f89:455" file="f89" line="455"/>
+  </Method>
+  <Method id="_6520" name="_M_write" returns="_1194" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_M_write(wchar_t const*, int)" location="f88:267" file="f88" line="267" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f88:267" file="f88" line="267"/>
+    <Argument name="__n" type="_2499" location="f88:267" file="f88" line="267"/>
+  </Method>
+  <Method id="_6521" name="write" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::write(wchar_t const*, int)" location="f89:484" file="f89" line="484" extern="1">
+    <Argument name="__s" type="_2780" location="f89:484" file="f89" line="484"/>
+    <Argument name="__n" type="_2499" location="f89:484" file="f89" line="484"/>
+  </Method>
+  <Method id="_6522" name="flush" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::flush()" location="f89:507" file="f89" line="507" extern="1"/>
+  <Method id="_6523" name="tellp" returns="_2497" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::tellp()" location="f89:528" file="f89" line="528" extern="1"/>
+  <Method id="_6524" name="seekp" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::seekp(std::fpos<__mbstate_t>)" location="f89:544" file="f89" line="544" extern="1">
+    <Argument name="__pos" type="_2497" location="f89:544" file="f89" line="544"/>
+  </Method>
+  <Method id="_6525" name="seekp" returns="_3923" context="_2443" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::seekp(long long, std::_Ios_Seekdir)" location="f89:571" file="f89" line="571" extern="1">
+    <Argument name="__off" type="_2500" location="f89:571" file="f89" line="571"/>
+    <Argument name="__dir" type="_2121" location="f89:571" file="f89" line="571"/>
+  </Method>
+  <Constructor id="_6526" name="basic_ostream" explicit="1" context="_2443" access="protected" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::basic_ostream()" location="f88:341" file="f88" line="341" endline="341" extern="1" inline="1">
+  </Constructor>
+  <Field id="_6527" name="_M_gcount" type="_2499" offset="32" context="_2445" access="protected" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE9_M_gcountE" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_M_gcount" location="f86:92" file="f86" line="92"/>
+  <Typedef id="_6528" name="char_type" type="_2786" context="_2445" access="public" location="f86:62" file="f86" line="62"/>
+  <Typedef id="_6529" name="int_type" type="_1232" context="_2445" access="public" location="f86:63" file="f86" line="63"/>
+  <Typedef id="_6530" name="pos_type" type="_2497" context="_2445" access="public" location="f86:64" file="f86" line="64"/>
+  <Typedef id="_6531" name="off_type" type="_2500" context="_2445" access="public" location="f86:65" file="f86" line="65"/>
+  <Typedef id="_6532" name="traits_type" type="_2511" context="_2445" access="public" location="f86:66" file="f86" line="66"/>
+  <Typedef id="_6533" name="__streambuf_type" type="_2447" context="_2445" access="public" location="f86:69" file="f86" line="69"/>
+  <Typedef id="_6534" name="__ios_type" type="_2449" context="_2445" access="public" location="f86:70" file="f86" line="70"/>
+  <Typedef id="_6535" name="__num_get_type" type="_2351" context="_2445" access="public" location="f86:73" file="f86" line="73"/>
+  <Typedef id="_6536" name="__ctype_type" type="_2361" context="_2445" access="public" location="f86:74" file="f86" line="74"/>
+  <Struct id="_6537" name="sentry" context="_2445" access="public" mangled="NSt13basic_istreamIwSt11char_traitsIwEE6sentryE" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry" location="f86:117" file="f86" line="117" artificial="1" size="8" align="8" members="_11592 _11593 _11594 _11595 _11596 _11597 _11598 _11599 _11600 " bases=""/>
+  <Constructor id="_6538" name="basic_istream" artificial="1" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::basic_istream(std::basic_istream<wchar_t, std::char_traits<wchar_t> > const&)" location="f9:61" file="f9" line="61" inline="1">
+    <Argument name="_ctor_arg" type="_11601" location="f9:61" file="f9" line="61"/>
+  </Constructor>
+  <Constructor id="_6539" name="basic_istream" explicit="1" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E *INTERNAL* " demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::basic_istream(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*)" location="f86:104" file="f86" line="104" extern="1" inline="1">
+    <Argument name="__sb" type="_4940" location="f86:104" file="f86" line="104"/>
+  </Constructor>
+  <Destructor id="_6540" name="basic_istream" virtual="1" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::~basic_istream()" location="f86:114" file="f86" line="114" extern="1" inline="1">
+  </Destructor>
+  <OperatorMethod id="_6541" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(std::basic_istream<wchar_t, std::char_traits<wchar_t> >& (*)(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&))" location="f86:131" file="f86" line="131" extern="1" inline="1">
+    <Argument name="__pf" type="_11602" location="f86:131" file="f86" line="131"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6542" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(std::basic_ios<wchar_t, std::char_traits<wchar_t> >& (*)(std::basic_ios<wchar_t, std::char_traits<wchar_t> >&))" location="f86:134" file="f86" line="134" extern="1" inline="1">
+    <Argument name="__pf" type="_11590" location="f86:134" file="f86" line="134"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6543" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(std::ios_base& (*)(std::ios_base&))" location="f86:137" file="f86" line="137" extern="1" inline="1">
+    <Argument name="__pf" type="_11591" location="f86:137" file="f86" line="137"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6544" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(bool&)" location="f86:169" file="f86" line="169" extern="1">
+    <Argument name="__n" type="_8145" location="f86:169" file="f86" line="169"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6545" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(short&)" location="f86:172" file="f86" line="172" extern="1">
+    <Argument name="__n" type="_11603" location="f86:172" file="f86" line="172"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6546" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(unsigned short&)" location="f86:175" file="f86" line="175" extern="1">
+    <Argument name="__n" type="_11340" location="f86:175" file="f86" line="175"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6547" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(int&)" location="f86:178" file="f86" line="178" extern="1">
+    <Argument name="__n" type="_4078" location="f86:178" file="f86" line="178"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6548" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(unsigned&)" location="f86:181" file="f86" line="181" extern="1">
+    <Argument name="__n" type="_11498" location="f86:181" file="f86" line="181"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6549" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(long&)" location="f86:184" file="f86" line="184" extern="1">
+    <Argument name="__n" type="_11497" location="f86:184" file="f86" line="184"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6550" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(unsigned long&)" location="f86:187" file="f86" line="187" extern="1">
+    <Argument name="__n" type="_11499" location="f86:187" file="f86" line="187"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6551" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(long long&)" location="f86:191" file="f86" line="191" extern="1">
+    <Argument name="__n" type="_11500" location="f86:191" file="f86" line="191"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6552" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(unsigned long long&)" location="f86:194" file="f86" line="194" extern="1">
+    <Argument name="__n" type="_11501" location="f86:194" file="f86" line="194"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6553" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(float&)" location="f86:198" file="f86" line="198" extern="1">
+    <Argument name="__f" type="_4939" location="f86:198" file="f86" line="198"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6554" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(double&)" location="f86:201" file="f86" line="201" extern="1">
+    <Argument name="__f" type="_4938" location="f86:201" file="f86" line="201"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6555" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(long double&)" location="f86:204" file="f86" line="204" extern="1">
+    <Argument name="__f" type="_4935" location="f86:204" file="f86" line="204"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6556" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(void*&)" location="f86:207" file="f86" line="207" extern="1">
+    <Argument name="__p" type="_11502" location="f86:207" file="f86" line="207"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6557" name=">>" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::operator>>(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*)" location="f86:230" file="f86" line="230" extern="1">
+    <Argument name="__sb" type="_4940" location="f86:230" file="f86" line="230"/>
+  </OperatorMethod>
+  <Method id="_6558" name="gcount" returns="_2499" const="1" context="_2445" access="public" mangled="_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::gcount() const" location="f86:241" file="f86" line="241" extern="1" inline="1"/>
+  <Method id="_6559" name="get" returns="_1232" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::get()" location="f86:272" file="f86" line="272" extern="1"/>
+  <Method id="_6560" name="get" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::get(wchar_t&)" location="f86:286" file="f86" line="286" extern="1">
+    <Argument name="__c" type="_7178" location="f86:286" file="f86" line="286"/>
+  </Method>
+  <Method id="_6561" name="get" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::get(wchar_t*, int, wchar_t)" location="f86:313" file="f86" line="313" extern="1">
+    <Argument name="__s" type="_2778" location="f86:313" file="f86" line="313"/>
+    <Argument name="__n" type="_2499" location="f86:313" file="f86" line="313"/>
+    <Argument name="__delim" type="_2786" location="f86:313" file="f86" line="313"/>
+  </Method>
+  <Method id="_6562" name="get" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::get(wchar_t*, int)" location="f86:325" file="f86" line="325" extern="1" inline="1">
+    <Argument name="__s" type="_2778" location="f86:325" file="f86" line="325"/>
+    <Argument name="__n" type="_2499" location="f86:325" file="f86" line="325"/>
+  </Method>
+  <Method id="_6563" name="get" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::get(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >&, wchar_t)" location="f86:347" file="f86" line="347" extern="1">
+    <Argument name="__sb" type="_11604" location="f86:347" file="f86" line="347"/>
+    <Argument name="__delim" type="_2786" location="f86:347" file="f86" line="347"/>
+  </Method>
+  <Method id="_6564" name="get" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::get(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >&)" location="f86:358" file="f86" line="358" extern="1" inline="1">
+    <Argument name="__sb" type="_11604" location="f86:358" file="f86" line="358"/>
+  </Method>
+  <Method id="_6565" name="getline" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::getline(wchar_t*, int, wchar_t)" location="f86:597" file="f86" line="597" extern="1">
+    <Argument name="__s" type="_2778" location="f86:597" file="f86" line="597"/>
+    <Argument name="__n" type="_2499" location="f86:597" file="f86" line="597"/>
+    <Argument name="__delim" type="_2786" location="f86:597" file="f86" line="597"/>
+  </Method>
+  <Method id="_6566" name="getline" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::getline(wchar_t*, int)" location="f86:398" file="f86" line="398" extern="1" inline="1">
+    <Argument name="__s" type="_2778" location="f86:398" file="f86" line="398"/>
+    <Argument name="__n" type="_2499" location="f86:398" file="f86" line="398"/>
+  </Method>
+  <Method id="_6567" name="ignore" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::ignore()" location="f86:421" file="f86" line="421" extern="1"/>
+  <Method id="_6568" name="ignore" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::ignore(int)" location="f86:602" file="f86" line="602" extern="1">
+    <Argument name="__n" type="_2499" location="f86:602" file="f86" line="602"/>
+  </Method>
+  <Method id="_6569" name="ignore" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::ignore(int, unsigned)" location="f86:607" file="f86" line="607" extern="1">
+    <Argument name="__n" type="_2499" location="f86:607" file="f86" line="607"/>
+    <Argument name="__delim" type="_1232" location="f86:607" file="f86" line="607"/>
+  </Method>
+  <Method id="_6570" name="peek" returns="_1232" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::peek()" location="f86:438" file="f86" line="438" extern="1"/>
+  <Method id="_6571" name="read" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::read(wchar_t*, int)" location="f86:456" file="f86" line="456" extern="1">
+    <Argument name="__s" type="_2778" location="f86:456" file="f86" line="456"/>
+    <Argument name="__n" type="_2499" location="f86:456" file="f86" line="456"/>
+  </Method>
+  <Method id="_6572" name="readsome" returns="_2499" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::readsome(wchar_t*, int)" location="f86:475" file="f86" line="475" extern="1">
+    <Argument name="__s" type="_2778" location="f86:475" file="f86" line="475"/>
+    <Argument name="__n" type="_2499" location="f86:475" file="f86" line="475"/>
+  </Method>
+  <Method id="_6573" name="putback" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::putback(wchar_t)" location="f86:491" file="f86" line="491" extern="1">
+    <Argument name="__c" type="_2786" location="f86:491" file="f86" line="491"/>
+  </Method>
+  <Method id="_6574" name="unget" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::unget()" location="f86:506" file="f86" line="506" extern="1"/>
+  <Method id="_6575" name="sync" returns="_503" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sync()" location="f86:524" file="f86" line="524" extern="1"/>
+  <Method id="_6576" name="tellg" returns="_2497" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::tellg()" location="f86:538" file="f86" line="538" extern="1"/>
+  <Method id="_6577" name="seekg" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::seekg(std::fpos<__mbstate_t>)" location="f86:553" file="f86" line="553" extern="1">
+    <Argument type="_2497" location="f86:553" file="f86" line="553"/>
+  </Method>
+  <Method id="_6578" name="seekg" returns="_3925" context="_2445" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::seekg(long long, std::_Ios_Seekdir)" location="f86:569" file="f86" line="569" extern="1">
+    <Argument type="_2500" location="f86:569" file="f86" line="569"/>
+    <Argument type="_2121" location="f86:569" file="f86" line="569"/>
+  </Method>
+  <Constructor id="_6579" name="basic_istream" explicit="1" context="_2445" access="protected" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::basic_istream()" location="f86:574" file="f86" line="574" extern="1" inline="1">
+  </Constructor>
+  <Field id="_6580" name="_M_in_beg" type="_2778" offset="32" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE9_M_in_begE" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_M_in_beg" location="f90:182" file="f90" line="182"/>
+  <Field id="_6581" name="_M_in_cur" type="_2778" offset="64" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE9_M_in_curE" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_M_in_cur" location="f90:183" file="f90" line="183"/>
+  <Field id="_6582" name="_M_in_end" type="_2778" offset="96" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE9_M_in_endE" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_M_in_end" location="f90:184" file="f90" line="184"/>
+  <Field id="_6583" name="_M_out_beg" type="_2778" offset="128" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE10_M_out_begE" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_M_out_beg" location="f90:185" file="f90" line="185"/>
+  <Field id="_6584" name="_M_out_cur" type="_2778" offset="160" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE10_M_out_curE" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_M_out_cur" location="f90:186" file="f90" line="186"/>
+  <Field id="_6585" name="_M_out_end" type="_2778" offset="192" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE10_M_out_endE" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_M_out_end" location="f90:187" file="f90" line="187"/>
+  <Field id="_6586" name="_M_buf_locale" type="_2365" offset="224" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE13_M_buf_localeE" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_M_buf_locale" location="f90:194" file="f90" line="194"/>
+  <Typedef id="_6587" name="char_type" type="_2786" context="_2447" access="public" location="f90:131" file="f90" line="131"/>
+  <Typedef id="_6588" name="traits_type" type="_2511" context="_2447" access="public" location="f90:132" file="f90" line="132"/>
+  <Typedef id="_6589" name="int_type" type="_1232" context="_2447" access="public" location="f90:133" file="f90" line="133"/>
+  <Typedef id="_6590" name="pos_type" type="_2497" context="_2447" access="public" location="f90:134" file="f90" line="134"/>
+  <Typedef id="_6591" name="off_type" type="_2500" context="_2447" access="public" location="f90:135" file="f90" line="135"/>
+  <Destructor id="_6592" name="basic_streambuf" virtual="1" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::~basic_streambuf()" location="f90:200" file="f90" line="200" endline="200" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6593" name="pubimbue" returns="_2365" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pubimbue(std::locale const&)" location="f90:212" file="f90" line="212" extern="1" inline="1">
+    <Argument name="__loc" type="_5517" location="f90:212" file="f90" line="212"/>
+  </Method>
+  <Method id="_6594" name="getloc" returns="_2365" const="1" context="_2447" access="public" mangled="_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::getloc() const" location="f90:229" file="f90" line="229" extern="1" inline="1"/>
+  <Method id="_6595" name="pubsetbuf" returns="_4940" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pubsetbuf(wchar_t*, int)" location="f90:242" file="f90" line="242" extern="1" inline="1">
+    <Argument name="__s" type="_2778" location="f90:242" file="f90" line="242"/>
+    <Argument name="__n" type="_2499" location="f90:242" file="f90" line="242"/>
+  </Method>
+  <Method id="_6596" name="pubseekoff" returns="_2497" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pubseekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)" location="f90:247" file="f90" line="247" extern="1" inline="1">
+    <Argument name="__off" type="_2500" location="f90:247" file="f90" line="247"/>
+    <Argument name="__way" type="_2121" location="f90:247" file="f90" line="247"/>
+    <Argument name="__mode" type="_2137" location="f90:247" file="f90" line="247" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6597" name="pubseekpos" returns="_2497" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pubseekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)" location="f90:252" file="f90" line="252" extern="1" inline="1">
+    <Argument name="__sp" type="_2497" location="f90:252" file="f90" line="252"/>
+    <Argument name="__mode" type="_2137" location="f90:252" file="f90" line="252" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6598" name="pubsync" returns="_503" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pubsync()" location="f90:255" file="f90" line="255" extern="1" inline="1"/>
+  <Method id="_6599" name="in_avail" returns="_2499" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::in_avail()" location="f90:269" file="f90" line="269" extern="1" inline="1"/>
+  <Method id="_6600" name="snextc" returns="_1232" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::snextc()" location="f90:283" file="f90" line="283" extern="1" inline="1"/>
+  <Method id="_6601" name="sbumpc" returns="_1232" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::sbumpc()" location="f90:301" file="f90" line="301" extern="1" inline="1"/>
+  <Method id="_6602" name="sgetc" returns="_1232" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::sgetc()" location="f90:323" file="f90" line="323" extern="1" inline="1"/>
+  <Method id="_6603" name="sgetn" returns="_2499" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::sgetn(wchar_t*, int)" location="f90:342" file="f90" line="342" extern="1" inline="1">
+    <Argument name="__s" type="_2778" location="f90:342" file="f90" line="342"/>
+    <Argument name="__n" type="_2499" location="f90:342" file="f90" line="342"/>
+  </Method>
+  <Method id="_6604" name="sputbackc" returns="_1232" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::sputbackc(wchar_t)" location="f90:356" file="f90" line="356" extern="1" inline="1">
+    <Argument name="__c" type="_2786" location="f90:356" file="f90" line="356"/>
+  </Method>
+  <Method id="_6605" name="sungetc" returns="_1232" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::sungetc()" location="f90:381" file="f90" line="381" extern="1" inline="1"/>
+  <Method id="_6606" name="sputc" returns="_1232" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::sputc(wchar_t)" location="f90:408" file="f90" line="408" extern="1" inline="1">
+    <Argument name="__c" type="_2786" location="f90:408" file="f90" line="408"/>
+  </Method>
+  <Method id="_6607" name="sputn" returns="_2499" context="_2447" access="public" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::sputn(wchar_t const*, int)" location="f90:434" file="f90" line="434" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f90:434" file="f90" line="434"/>
+    <Argument name="__n" type="_2499" location="f90:434" file="f90" line="434"/>
+  </Method>
+  <Constructor id="_6608" name="basic_streambuf" explicit="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::basic_streambuf()" location="f90:447" file="f90" line="447" endline="450" extern="1" inline="1"/>
+  <Method id="_6609" name="eback" returns="_2778" const="1" context="_2447" access="protected" mangled="_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::eback() const" location="f90:465" file="f90" line="465" extern="1" inline="1"/>
+  <Method id="_6610" name="gptr" returns="_2778" const="1" context="_2447" access="protected" mangled="_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::gptr() const" location="f90:468" file="f90" line="468" extern="1" inline="1"/>
+  <Method id="_6611" name="egptr" returns="_2778" const="1" context="_2447" access="protected" mangled="_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::egptr() const" location="f90:471" file="f90" line="471" endline="471" extern="1" inline="1"/>
+  <Method id="_6612" name="gbump" returns="_1194" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::gbump(int)" location="f90:481" file="f90" line="481" extern="1" inline="1">
+    <Argument name="__n" type="_503" location="f90:481" file="f90" line="481"/>
+  </Method>
+  <Method id="_6613" name="setg" returns="_1194" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::setg(wchar_t*, wchar_t*, wchar_t*)" location="f90:493" file="f90" line="493" extern="1" inline="1">
+    <Argument name="__gbeg" type="_2778" location="f90:493" file="f90" line="493"/>
+    <Argument name="__gnext" type="_2778" location="f90:493" file="f90" line="493"/>
+    <Argument name="__gend" type="_2778" location="f90:493" file="f90" line="493"/>
+  </Method>
+  <Method id="_6614" name="pbase" returns="_2778" const="1" context="_2447" access="protected" mangled="_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pbase() const" location="f90:512" file="f90" line="512" endline="512" extern="1" inline="1"/>
+  <Method id="_6615" name="pptr" returns="_2778" const="1" context="_2447" access="protected" mangled="_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pptr() const" location="f90:515" file="f90" line="515" endline="515" extern="1" inline="1"/>
+  <Method id="_6616" name="epptr" returns="_2778" const="1" context="_2447" access="protected" mangled="_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::epptr() const" location="f90:518" file="f90" line="518" extern="1" inline="1"/>
+  <Method id="_6617" name="pbump" returns="_1194" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pbump(int)" location="f90:528" file="f90" line="528" extern="1" inline="1">
+    <Argument name="__n" type="_503" location="f90:528" file="f90" line="528"/>
+  </Method>
+  <Method id="_6618" name="setp" returns="_1194" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::setp(wchar_t*, wchar_t*)" location="f90:539" file="f90" line="539" extern="1" inline="1">
+    <Argument name="__pbeg" type="_2778" location="f90:539" file="f90" line="539"/>
+    <Argument name="__pend" type="_2778" location="f90:539" file="f90" line="539"/>
+  </Method>
+  <Method id="_6619" name="imbue" returns="_1194" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::imbue(std::locale const&)" location="f90:560" file="f90" line="560" extern="1" inline="1">
+    <Argument type="_5517" location="f90:560" file="f90" line="560"/>
+  </Method>
+  <Method id="_6620" name="setbuf" returns="_4940" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::setbuf(wchar_t*, int)" location="f90:575" file="f90" line="575" extern="1" inline="1">
+    <Argument type="_2778" location="f90:575" file="f90" line="575"/>
+    <Argument type="_2499" location="f90:575" file="f90" line="575"/>
+  </Method>
+  <Method id="_6621" name="seekoff" returns="_2497" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)" location="f90:587" file="f90" line="587" extern="1" inline="1">
+    <Argument type="_2500" location="f90:587" file="f90" line="587"/>
+    <Argument type="_2121" location="f90:587" file="f90" line="587"/>
+    <Argument type="_2137" location="f90:587" file="f90" line="587" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6622" name="seekpos" returns="_2497" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)" location="f90:599" file="f90" line="599" extern="1" inline="1">
+    <Argument type="_2497" location="f90:599" file="f90" line="599"/>
+    <Argument type="_2137" location="f90:599" file="f90" line="599" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6623" name="sync" returns="_503" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::sync()" location="f90:610" file="f90" line="610" extern="1" inline="1"/>
+  <Method id="_6624" name="showmanyc" returns="_2499" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::showmanyc()" location="f90:632" file="f90" line="632" extern="1" inline="1"/>
+  <Method id="_6625" name="xsgetn" returns="_2499" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::xsgetn(wchar_t*, int)" location="f192:51" file="f192" line="51" extern="1">
+    <Argument name="__s" type="_2778" location="f192:51" file="f192" line="51"/>
+    <Argument name="__n" type="_2499" location="f192:51" file="f192" line="51"/>
+  </Method>
+  <Method id="_6626" name="underflow" returns="_1232" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::underflow()" location="f90:671" file="f90" line="671" extern="1" inline="1"/>
+  <Method id="_6627" name="uflow" returns="_1232" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::uflow()" location="f90:684" file="f90" line="684" extern="1" inline="1"/>
+  <Method id="_6628" name="pbackfail" returns="_1232" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::pbackfail(unsigned)" location="f90:708" file="f90" line="708" extern="1" inline="1">
+    <Argument type="_1232" location="f90:708" file="f90" line="708" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_6629" name="xsputn" returns="_2499" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::xsputn(wchar_t const*, int)" location="f192:85" file="f192" line="85" extern="1">
+    <Argument name="__s" type="_2780" location="f192:85" file="f192" line="85"/>
+    <Argument name="__n" type="_2499" location="f192:85" file="f192" line="85"/>
+  </Method>
+  <Method id="_6630" name="overflow" returns="_1232" virtual="1" context="_2447" access="protected" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::overflow(unsigned)" location="f90:751" file="f90" line="751" extern="1" inline="1">
+    <Argument type="_1232" location="f90:751" file="f90" line="751" default="_Traits::eof()"/>
+  </Method>
+  <Constructor id="_6631" name="basic_streambuf" context="_2447" access="private" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::basic_streambuf(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > const&)" location="f90:782" file="f90" line="782" extern="1" inline="1">
+    <Argument name="__sb" type="_11605" location="f90:782" file="f90" line="782"/>
+  </Constructor>
+  <OperatorMethod id="_6632" name="=" returns="_11604" context="_2447" access="private" mangled="_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_" demangled="std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::operator=(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > const&)" location="f90:789" file="f90" line="789" extern="1" inline="1">
+    <Argument type="_11605" location="f90:789" file="f90" line="789"/>
+  </OperatorMethod>
+  <Field id="_6633" name="_M_tie" type="_11606" offset="896" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE6_M_tieE" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_M_tie" location="f193:87" file="f193" line="87"/>
+  <Field id="_6634" name="_M_fill" type="_2786" offset="928" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE7_M_fillE" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_M_fill" mutable="1" location="f193:88" file="f193" line="88"/>
+  <Field id="_6635" name="_M_fill_init" type="_3949" offset="960" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE12_M_fill_initE" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_M_fill_init" mutable="1" location="f193:89" file="f193" line="89"/>
+  <Field id="_6636" name="_M_streambuf" type="_4940" offset="992" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE12_M_streambufE" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_M_streambuf" location="f193:90" file="f193" line="90"/>
+  <Field id="_6637" name="_M_ctype" type="_11607" offset="1024" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE8_M_ctypeE" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_M_ctype" location="f193:93" file="f193" line="93"/>
+  <Field id="_6638" name="_M_num_put" type="_11608" offset="1056" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE10_M_num_putE" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_M_num_put" location="f193:95" file="f193" line="95"/>
+  <Field id="_6639" name="_M_num_get" type="_11609" offset="1088" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE10_M_num_getE" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_M_num_get" location="f193:97" file="f193" line="97"/>
+  <Typedef id="_6640" name="char_type" type="_2786" context="_2449" access="public" location="f193:65" file="f193" line="65"/>
+  <Typedef id="_6641" name="int_type" type="_1232" context="_2449" access="public" location="f193:66" file="f193" line="66"/>
+  <Typedef id="_6642" name="pos_type" type="_2497" context="_2449" access="public" location="f193:67" file="f193" line="67"/>
+  <Typedef id="_6643" name="off_type" type="_2500" context="_2449" access="public" location="f193:68" file="f193" line="68"/>
+  <Typedef id="_6644" name="traits_type" type="_2511" context="_2449" access="public" location="f193:69" file="f193" line="69"/>
+  <Typedef id="_6645" name="__ctype_type" type="_2361" context="_2449" access="public" location="f193:78" file="f193" line="78"/>
+  <Typedef id="_6646" name="__num_put_type" type="_2349" context="_2449" access="public" location="f193:80" file="f193" line="80"/>
+  <Typedef id="_6647" name="__num_get_type" type="_2351" context="_2449" access="public" location="f193:82" file="f193" line="82"/>
+  <Constructor id="_6648" name="basic_ios" artificial="1" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::basic_ios(std::basic_ios<wchar_t, std::char_traits<wchar_t> > const&)" location="f9:55" file="f9" line="55" inline="1">
+    <Argument name="_ctor_arg" type="_11610" location="f9:55" file="f9" line="55"/>
+  </Constructor>
+  <Converter id="_6649" name="operator 4" returns="_1042" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::operator void*() const" location="f193:108" file="f193" line="108" extern="1" inline="1"/>
+  <OperatorMethod id="_6650" name="!" returns="_3949" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::operator!() const" location="f193:112" file="f193" line="112" extern="1" inline="1"/>
+  <Method id="_6651" name="rdstate" returns="_2129" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::rdstate() const" location="f193:124" file="f193" line="124" extern="1" inline="1"/>
+  <Method id="_6652" name="clear" returns="_1194" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::clear(std::_Ios_Iostate)" location="f194:45" file="f194" line="45" extern="1">
+    <Argument name="__state" type="_2129" location="f194:45" file="f194" line="45" default="std::ios_base::goodbit"/>
+  </Method>
+  <Method id="_6653" name="setstate" returns="_1194" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::setstate(std::_Ios_Iostate)" location="f193:144" file="f193" line="144" extern="1" inline="1">
+    <Argument name="__state" type="_2129" location="f193:144" file="f193" line="144"/>
+  </Method>
+  <Method id="_6654" name="_M_setstate" returns="_1194" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_M_setstate(std::_Ios_Iostate)" location="f193:151" file="f193" line="151" extern="1" inline="1">
+    <Argument name="__state" type="_2129" location="f193:151" file="f193" line="151"/>
+  </Method>
+  <Method id="_6655" name="good" returns="_3949" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::good() const" location="f193:167" file="f193" line="167" extern="1" inline="1"/>
+  <Method id="_6656" name="eof" returns="_3949" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::eof() const" location="f193:177" file="f193" line="177" extern="1" inline="1"/>
+  <Method id="_6657" name="fail" returns="_3949" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::fail() const" location="f193:188" file="f193" line="188" extern="1" inline="1"/>
+  <Method id="_6658" name="bad" returns="_3949" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::bad() const" location="f193:198" file="f193" line="198" extern="1" inline="1"/>
+  <Method id="_6659" name="exceptions" returns="_2129" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::exceptions() const" location="f193:209" file="f193" line="209" extern="1" inline="1"/>
+  <Method id="_6660" name="exceptions" returns="_1194" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::exceptions(std::_Ios_Iostate)" location="f193:244" file="f193" line="244" extern="1" inline="1">
+    <Argument name="__except" type="_2129" location="f193:244" file="f193" line="244"/>
+  </Method>
+  <Constructor id="_6661" name="basic_ios" explicit="1" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E *INTERNAL* " demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::basic_ios(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*)" location="f193:257" file="f193" line="257" extern="1" inline="1">
+    <Argument name="__sb" type="_4940" location="f193:257" file="f193" line="257"/>
+  </Constructor>
+  <Destructor id="_6662" name="basic_ios" virtual="1" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::~basic_ios()" location="f193:268" file="f193" line="268" endline="268" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6663" name="tie" returns="_11606" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::tie() const" location="f193:282" file="f193" line="282" extern="1" inline="1"/>
+  <Method id="_6664" name="tie" returns="_11606" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::tie(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >*)" location="f193:294" file="f193" line="294" extern="1" inline="1">
+    <Argument name="__tiestr" type="_11606" location="f193:294" file="f193" line="294"/>
+  </Method>
+  <Method id="_6665" name="rdbuf" returns="_4940" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::rdbuf() const" location="f193:308" file="f193" line="308" extern="1" inline="1"/>
+  <Method id="_6666" name="rdbuf" returns="_4940" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::rdbuf(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*)" location="f194:57" file="f194" line="57" extern="1">
+    <Argument name="__sb" type="_4940" location="f194:57" file="f194" line="57"/>
+  </Method>
+  <Method id="_6667" name="copyfmt" returns="_11611" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::copyfmt(std::basic_ios<wchar_t, std::char_traits<wchar_t> > const&)" location="f194:67" file="f194" line="67" extern="1">
+    <Argument name="__rhs" type="_11610" location="f194:67" file="f194" line="67"/>
+  </Method>
+  <Method id="_6668" name="fill" returns="_2786" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::fill() const" location="f193:357" file="f193" line="357" endline="363" extern="1" inline="1"/>
+  <Method id="_6669" name="fill" returns="_2786" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::fill(wchar_t)" location="f193:377" file="f193" line="377" endline="380" extern="1" inline="1">
+    <Argument name="__ch" type="_2786" location="f193:377" file="f193" line="377"/>
+  </Method>
+  <Method id="_6670" name="imbue" returns="_2365" context="_2449" access="public" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::imbue(std::locale const&)" location="f194:128" file="f194" line="128" extern="1">
+    <Argument name="__loc" type="_5517" location="f194:128" file="f194" line="128"/>
+  </Method>
+  <Method id="_6671" name="narrow" returns="_2961" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::narrow(wchar_t, char) const" location="f194:117" file="f194" line="117" extern="1">
+    <Argument name="__c" type="_2786" location="f194:117" file="f194" line="117"/>
+    <Argument name="__dfault" type="_2961" location="f194:117" file="f194" line="117"/>
+  </Method>
+  <Method id="_6672" name="widen" returns="_2786" const="1" context="_2449" access="public" mangled="_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::widen(char) const" location="f194:122" file="f194" line="122" extern="1">
+    <Argument name="__c" type="_2961" location="f194:122" file="f194" line="122"/>
+  </Method>
+  <Constructor id="_6673" name="basic_ios" explicit="1" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::basic_ios()" location="f193:445" file="f193" line="445" endline="447" extern="1" inline="1"/>
+  <Method id="_6674" name="init" returns="_1194" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::init(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*)" location="f194:140" file="f194" line="140" extern="1">
+    <Argument name="__sb" type="_4940" location="f194:140" file="f194" line="140"/>
+  </Method>
+  <Method id="_6675" name="_M_cache_locale" returns="_1194" context="_2449" access="protected" mangled="_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale" demangled="std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_M_cache_locale(std::locale const&)" location="f194:171" file="f194" line="171" extern="1">
+    <Argument name="__loc" type="_5517" location="f194:171" file="f194" line="171"/>
+  </Method>
+  <Field id="_6676" name="_M_filebuf" type="_2457" offset="96" context="_2451" access="private" mangled="_ZNSt13basic_fstreamIcSt11char_traitsIcEE10_M_filebufE" demangled="std::basic_fstream<char, std::char_traits<char> >::_M_filebuf" location="f188:677" file="f188" line="677"/>
+  <Typedef id="_6677" name="char_type" type="_2961" context="_2451" access="public" location="f188:665" file="f188" line="665"/>
+  <Typedef id="_6678" name="traits_type" type="_2510" context="_2451" access="public" location="f188:666" file="f188" line="666"/>
+  <Typedef id="_6679" name="int_type" type="_503" context="_2451" access="public" location="f188:667" file="f188" line="667"/>
+  <Typedef id="_6680" name="pos_type" type="_2498" context="_2451" access="public" location="f188:668" file="f188" line="668"/>
+  <Typedef id="_6681" name="off_type" type="_2500" context="_2451" access="public" location="f188:669" file="f188" line="669"/>
+  <Typedef id="_6682" name="__filebuf_type" type="_2457" context="_2451" access="public" location="f188:672" file="f188" line="672"/>
+  <Typedef id="_6683" name="__ios_type" type="_2475" context="_2451" access="public" location="f188:673" file="f188" line="673"/>
+  <Typedef id="_6684" name="__iostream_type" type="_2467" context="_2451" access="public" location="f188:674" file="f188" line="674"/>
+  <Constructor id="_6685" name="basic_fstream" artificial="1" context="_2451" access="public" mangled="_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKS2_ *INTERNAL* " demangled="std::basic_fstream<char, std::char_traits<char> >::basic_fstream(std::basic_fstream<char, std::char_traits<char> > const&)" location="f9:95" file="f9" line="95" inline="1">
+    <Argument name="_ctor_arg" type="_11612" location="f9:95" file="f9" line="95"/>
+  </Constructor>
+  <Constructor id="_6686" name="basic_fstream" explicit="1" context="_2451" access="public" mangled="_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev *INTERNAL* " demangled="std::basic_fstream<char, std::char_traits<char> >::basic_fstream()" location="f188:689" file="f188" line="689" extern="1" inline="1">
+  </Constructor>
+  <Constructor id="_6687" name="basic_fstream" explicit="1" context="_2451" access="public" mangled="_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_fstream<char, std::char_traits<char> >::basic_fstream(char const*, std::_Ios_Openmode)" location="f188:703" file="f188" line="703" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:703" file="f188" line="703"/>
+    <Argument name="__mode" type="_2137" location="f188:703" file="f188" line="703" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Constructor>
+  <Destructor id="_6688" name="basic_fstream" virtual="1" context="_2451" access="public" mangled="_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev *INTERNAL* " demangled="std::basic_fstream<char, std::char_traits<char> >::~basic_fstream()" location="f188:716" file="f188" line="716" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6689" name="rdbuf" returns="_11613" const="1" context="_2451" access="public" mangled="_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv" demangled="std::basic_fstream<char, std::char_traits<char> >::rdbuf() const" location="f188:727" file="f188" line="727" extern="1" inline="1"/>
+  <Method id="_6690" name="is_open" returns="_3949" context="_2451" access="public" mangled="_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv" demangled="std::basic_fstream<char, std::char_traits<char> >::is_open()" location="f188:735" file="f188" line="735" extern="1" inline="1"/>
+  <Method id="_6691" name="is_open" returns="_3949" const="1" context="_2451" access="public" mangled="_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv" demangled="std::basic_fstream<char, std::char_traits<char> >::is_open() const" location="f188:741" file="f188" line="741" extern="1" inline="1"/>
+  <Method id="_6692" name="open" returns="_1194" context="_2451" access="public" mangled="_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode" demangled="std::basic_fstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)" location="f188:757" file="f188" line="757" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:757" file="f188" line="757"/>
+    <Argument name="__mode" type="_2137" location="f188:757" file="f188" line="757" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6693" name="close" returns="_1194" context="_2451" access="public" mangled="_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv" demangled="std::basic_fstream<char, std::char_traits<char> >::close()" location="f188:774" file="f188" line="774" extern="1" inline="1"/>
+  <Field id="_6694" name="_M_filebuf" type="_2457" offset="32" context="_2453" access="private" mangled="_ZNSt14basic_ofstreamIcSt11char_traitsIcEE10_M_filebufE" demangled="std::basic_ofstream<char, std::char_traits<char> >::_M_filebuf" location="f188:545" file="f188" line="545"/>
+  <Typedef id="_6695" name="char_type" type="_2961" context="_2453" access="public" location="f188:534" file="f188" line="534"/>
+  <Typedef id="_6696" name="traits_type" type="_2510" context="_2453" access="public" location="f188:535" file="f188" line="535"/>
+  <Typedef id="_6697" name="int_type" type="_503" context="_2453" access="public" location="f188:536" file="f188" line="536"/>
+  <Typedef id="_6698" name="pos_type" type="_2498" context="_2453" access="public" location="f188:537" file="f188" line="537"/>
+  <Typedef id="_6699" name="off_type" type="_2500" context="_2453" access="public" location="f188:538" file="f188" line="538"/>
+  <Typedef id="_6700" name="__filebuf_type" type="_2457" context="_2453" access="public" location="f188:541" file="f188" line="541"/>
+  <Typedef id="_6701" name="__ostream_type" type="_2469" context="_2453" access="public" location="f188:542" file="f188" line="542"/>
+  <Constructor id="_6702" name="basic_ofstream" artificial="1" context="_2453" access="public" mangled="_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKS2_ *INTERNAL* " demangled="std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(std::basic_ofstream<char, std::char_traits<char> > const&)" location="f9:92" file="f9" line="92" inline="1">
+    <Argument name="_ctor_arg" type="_11614" location="f9:92" file="f9" line="92"/>
+  </Constructor>
+  <Constructor id="_6703" name="basic_ofstream" explicit="1" context="_2453" access="public" mangled="_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev *INTERNAL* " demangled="std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream()" location="f188:556" file="f188" line="556" extern="1" inline="1">
+  </Constructor>
+  <Constructor id="_6704" name="basic_ofstream" explicit="1" context="_2453" access="public" mangled="_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(char const*, std::_Ios_Openmode)" location="f188:573" file="f188" line="573" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:573" file="f188" line="573"/>
+    <Argument name="__mode" type="_2137" location="f188:573" file="f188" line="573" default="(std::ios_base::out | std::ios_base::trunc)"/>
+  </Constructor>
+  <Destructor id="_6705" name="basic_ofstream" virtual="1" context="_2453" access="public" mangled="_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev *INTERNAL* " demangled="std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()" location="f188:586" file="f188" line="586" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6706" name="rdbuf" returns="_11613" const="1" context="_2453" access="public" mangled="_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv" demangled="std::basic_ofstream<char, std::char_traits<char> >::rdbuf() const" location="f188:597" file="f188" line="597" extern="1" inline="1"/>
+  <Method id="_6707" name="is_open" returns="_3949" context="_2453" access="public" mangled="_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv" demangled="std::basic_ofstream<char, std::char_traits<char> >::is_open()" location="f188:605" file="f188" line="605" extern="1" inline="1"/>
+  <Method id="_6708" name="is_open" returns="_3949" const="1" context="_2453" access="public" mangled="_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv" demangled="std::basic_ofstream<char, std::char_traits<char> >::is_open() const" location="f188:611" file="f188" line="611" extern="1" inline="1"/>
+  <Method id="_6709" name="open" returns="_1194" context="_2453" access="public" mangled="_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode" demangled="std::basic_ofstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)" location="f188:627" file="f188" line="627" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:627" file="f188" line="627"/>
+    <Argument name="__mode" type="_2137" location="f188:627" file="f188" line="627" default="(std::ios_base::out | std::ios_base::trunc)"/>
+  </Method>
+  <Method id="_6710" name="close" returns="_1194" context="_2453" access="public" mangled="_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv" demangled="std::basic_ofstream<char, std::char_traits<char> >::close()" location="f188:644" file="f188" line="644" extern="1" inline="1"/>
+  <Field id="_6711" name="_M_filebuf" type="_2457" offset="64" context="_2455" access="private" mangled="_ZNSt14basic_ifstreamIcSt11char_traitsIcEE10_M_filebufE" demangled="std::basic_ifstream<char, std::char_traits<char> >::_M_filebuf" location="f188:417" file="f188" line="417"/>
+  <Typedef id="_6712" name="char_type" type="_2961" context="_2455" access="public" location="f188:406" file="f188" line="406"/>
+  <Typedef id="_6713" name="traits_type" type="_2510" context="_2455" access="public" location="f188:407" file="f188" line="407"/>
+  <Typedef id="_6714" name="int_type" type="_503" context="_2455" access="public" location="f188:408" file="f188" line="408"/>
+  <Typedef id="_6715" name="pos_type" type="_2498" context="_2455" access="public" location="f188:409" file="f188" line="409"/>
+  <Typedef id="_6716" name="off_type" type="_2500" context="_2455" access="public" location="f188:410" file="f188" line="410"/>
+  <Typedef id="_6717" name="__filebuf_type" type="_2457" context="_2455" access="public" location="f188:413" file="f188" line="413"/>
+  <Typedef id="_6718" name="__istream_type" type="_2471" context="_2455" access="public" location="f188:414" file="f188" line="414"/>
+  <Constructor id="_6719" name="basic_ifstream" artificial="1" context="_2455" access="public" mangled="_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKS2_ *INTERNAL* " demangled="std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::basic_ifstream<char, std::char_traits<char> > const&)" location="f9:89" file="f9" line="89" inline="1">
+    <Argument name="_ctor_arg" type="_11615" location="f9:89" file="f9" line="89"/>
+  </Constructor>
+  <Constructor id="_6720" name="basic_ifstream" explicit="1" context="_2455" access="public" mangled="_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev *INTERNAL* " demangled="std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream()" location="f188:428" file="f188" line="428" extern="1" inline="1">
+  </Constructor>
+  <Constructor id="_6721" name="basic_ifstream" explicit="1" context="_2455" access="public" mangled="_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(char const*, std::_Ios_Openmode)" location="f188:443" file="f188" line="443" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:443" file="f188" line="443"/>
+    <Argument name="__mode" type="_2137" location="f188:443" file="f188" line="443" default="std::ios_base::in"/>
+  </Constructor>
+  <Destructor id="_6722" name="basic_ifstream" virtual="1" context="_2455" access="public" mangled="_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev *INTERNAL* " demangled="std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()" location="f188:456" file="f188" line="456" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6723" name="rdbuf" returns="_11613" const="1" context="_2455" access="public" mangled="_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv" demangled="std::basic_ifstream<char, std::char_traits<char> >::rdbuf() const" location="f188:467" file="f188" line="467" extern="1" inline="1"/>
+  <Method id="_6724" name="is_open" returns="_3949" context="_2455" access="public" mangled="_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv" demangled="std::basic_ifstream<char, std::char_traits<char> >::is_open()" location="f188:475" file="f188" line="475" extern="1" inline="1"/>
+  <Method id="_6725" name="is_open" returns="_3949" const="1" context="_2455" access="public" mangled="_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv" demangled="std::basic_ifstream<char, std::char_traits<char> >::is_open() const" location="f188:481" file="f188" line="481" extern="1" inline="1"/>
+  <Method id="_6726" name="open" returns="_1194" context="_2455" access="public" mangled="_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode" demangled="std::basic_ifstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)" location="f188:496" file="f188" line="496" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f188:496" file="f188" line="496"/>
+    <Argument name="__mode" type="_2137" location="f188:496" file="f188" line="496" default="std::ios_base::in"/>
+  </Method>
+  <Method id="_6727" name="close" returns="_1194" context="_2455" access="public" mangled="_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv" demangled="std::basic_ifstream<char, std::char_traits<char> >::close()" location="f188:513" file="f188" line="513" extern="1" inline="1"/>
+  <Field id="_6728" name="_M_lock" type="_2533" offset="256" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_lockE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_lock" location="f188:89" file="f188" line="89"/>
+  <Field id="_6729" name="_M_file" type="_1896" offset="448" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_fileE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_file" location="f188:92" file="f188" line="92"/>
+  <Field id="_6730" name="_M_mode" type="_2137" offset="512" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_modeE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_mode" location="f188:99" file="f188" line="99"/>
+  <Field id="_6731" name="_M_state_beg" type="_767" offset="544" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE12_M_state_begE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_state_beg" location="f188:102" file="f188" line="102"/>
+  <Field id="_6732" name="_M_state_cur" type="_767" offset="608" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE12_M_state_curE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_state_cur" location="f188:107" file="f188" line="107"/>
+  <Field id="_6733" name="_M_state_last" type="_767" offset="672" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_state_lastE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_state_last" location="f188:111" file="f188" line="111"/>
+  <Field id="_6734" name="_M_buf" type="_1149" offset="736" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE6_M_bufE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_buf" location="f188:118" file="f188" line="118"/>
+  <Field id="_6735" name="_M_buf_size" type="_1698" offset="768" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE11_M_buf_sizeE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_buf_size" location="f188:127" file="f188" line="127"/>
+  <Field id="_6736" name="_M_buf_allocated" type="_3949" offset="800" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_buf_allocatedE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_buf_allocated" location="f188:130" file="f188" line="130"/>
+  <Field id="_6737" name="_M_reading" type="_3949" offset="808" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE10_M_readingE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_reading" location="f188:141" file="f188" line="141"/>
+  <Field id="_6738" name="_M_writing" type="_3949" offset="816" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE10_M_writingE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_writing" location="f188:142" file="f188" line="142"/>
+  <Field id="_6739" name="_M_pback" type="_2961" offset="824" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE8_M_pbackE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_pback" location="f188:152" file="f188" line="152"/>
+  <Field id="_6740" name="_M_pback_cur_save" type="_1149" offset="832" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_pback_cur_saveE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_pback_cur_save" location="f188:153" file="f188" line="153"/>
+  <Field id="_6741" name="_M_pback_end_save" type="_1149" offset="864" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_pback_end_saveE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_pback_end_save" location="f188:154" file="f188" line="154"/>
+  <Field id="_6742" name="_M_pback_init" type="_3949" offset="896" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_pback_initE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_pback_init" location="f188:155" file="f188" line="155"/>
+  <Field id="_6743" name="_M_codecvt" type="_11616" offset="928" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE10_M_codecvtE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_codecvt" location="f188:159" file="f188" line="159"/>
+  <Field id="_6744" name="_M_ext_buf" type="_1149" offset="960" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE10_M_ext_bufE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_ext_buf" location="f188:168" file="f188" line="168"/>
+  <Field id="_6745" name="_M_ext_buf_size" type="_2499" offset="992" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_ext_buf_sizeE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_ext_buf_size" location="f188:175" file="f188" line="175"/>
+  <Field id="_6746" name="_M_ext_next" type="_2749" offset="1024" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE11_M_ext_nextE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_ext_next" location="f188:184" file="f188" line="184"/>
+  <Field id="_6747" name="_M_ext_end" type="_1149" offset="1056" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE10_M_ext_endE" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_ext_end" location="f188:185" file="f188" line="185"/>
+  <Typedef id="_6748" name="char_type" type="_2961" context="_2457" access="public" location="f188:72" file="f188" line="72"/>
+  <Typedef id="_6749" name="traits_type" type="_2510" context="_2457" access="public" location="f188:73" file="f188" line="73"/>
+  <Typedef id="_6750" name="int_type" type="_503" context="_2457" access="public" location="f188:74" file="f188" line="74"/>
+  <Typedef id="_6751" name="pos_type" type="_2498" context="_2457" access="public" location="f188:75" file="f188" line="75"/>
+  <Typedef id="_6752" name="off_type" type="_2500" context="_2457" access="public" location="f188:76" file="f188" line="76"/>
+  <Typedef id="_6753" name="__streambuf_type" type="_2473" context="_2457" access="public" location="f188:78" file="f188" line="78"/>
+  <Typedef id="_6754" name="__file_type" type="_1896" context="_2457" access="public" location="f188:80" file="f188" line="80"/>
+  <Typedef id="_6755" name="__state_type" type="_767" context="_2457" access="public" location="f188:81" file="f188" line="81"/>
+  <Typedef id="_6756" name="__codecvt_type" type="_2356" context="_2457" access="public" location="f188:82" file="f188" line="82"/>
+  <Constructor id="_6757" name="basic_filebuf" artificial="1" context="_2457" access="public" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEEC1ERKS2_ *INTERNAL* " demangled="std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf(std::basic_filebuf<char, std::char_traits<char> > const&)" location="f9:86" file="f9" line="86" inline="1">
+    <Argument name="_ctor_arg" type="_11617" location="f9:86" file="f9" line="86"/>
+  </Constructor>
+  <Method id="_6758" name="_M_create_pback" returns="_1194" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_create_pback()" location="f188:196" file="f188" line="196" extern="1" inline="1"/>
+  <Method id="_6759" name="_M_destroy_pback" returns="_1194" throw="" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_destroy_pback()" location="f188:215" file="f188" line="215" extern="1" inline="1"/>
+  <Constructor id="_6760" name="basic_filebuf" explicit="1" context="_2457" access="public" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev *INTERNAL* " demangled="std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf()" location="f189:81" file="f189" line="81" extern="1"/>
+  <Destructor id="_6761" name="basic_filebuf" virtual="1" context="_2457" access="public" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev *INTERNAL* " demangled="std::basic_filebuf<char, std::char_traits<char> >::~basic_filebuf()" location="f188:240" file="f188" line="240" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6762" name="is_open" returns="_3949" const="1" throw="" context="_2457" access="public" mangled="_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::is_open() const" location="f188:248" file="f188" line="248" extern="1" inline="1"/>
+  <Method id="_6763" name="open" returns="_11613" context="_2457" access="public" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode" demangled="std::basic_filebuf<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)" location="f189:97" file="f189" line="97" extern="1">
+    <Argument name="__s" type="_2749" location="f189:97" file="f189" line="97"/>
+    <Argument name="__mode" type="_2137" location="f189:97" file="f189" line="97"/>
+  </Method>
+  <Method id="_6764" name="close" returns="_11613" throw="" context="_2457" access="public" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::close()" location="f189:131" file="f189" line="131" extern="1"/>
+  <Method id="_6765" name="_M_allocate_internal_buffer" returns="_1194" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_allocate_internal_buffer()" location="f189:51" file="f189" line="51" extern="1"/>
+  <Method id="_6766" name="_M_destroy_internal_buffer" returns="_1194" throw="" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_destroy_internal_buffer()" location="f189:65" file="f189" line="65" extern="1"/>
+  <Method id="_6767" name="showmanyc" returns="_2499" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::showmanyc()" location="f189:166" file="f189" line="166" extern="1"/>
+  <Method id="_6768" name="underflow" returns="_503" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::underflow()" location="f189:192" file="f189" line="192" extern="1"/>
+  <Method id="_6769" name="pbackfail" returns="_503" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi" demangled="std::basic_filebuf<char, std::char_traits<char> >::pbackfail(int)" location="f189:341" file="f189" line="341" extern="1">
+    <Argument name="__i" type="_503" location="f189:341" file="f189" line="341" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_6770" name="overflow" returns="_503" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi" demangled="std::basic_filebuf<char, std::char_traits<char> >::overflow(int)" location="f189:393" file="f189" line="393" extern="1">
+    <Argument name="__c" type="_503" location="f189:393" file="f189" line="393" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_6771" name="_M_convert_to_external" returns="_3949" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_convert_to_external(char*, int)" location="f189:449" file="f189" line="449" extern="1">
+    <Argument name="__ibuf" type="_1149" location="f189:449" file="f189" line="449"/>
+    <Argument name="__ilen" type="_2499" location="f189:449" file="f189" line="449"/>
+  </Method>
+  <Method id="_6772" name="setbuf" returns="_4941" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci" demangled="std::basic_filebuf<char, std::char_traits<char> >::setbuf(char*, int)" location="f189:642" file="f189" line="642" extern="1">
+    <Argument name="__s" type="_1149" location="f189:642" file="f189" line="642"/>
+    <Argument name="__n" type="_2499" location="f189:642" file="f189" line="642"/>
+  </Method>
+  <Method id="_6773" name="seekoff" returns="_2498" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode" demangled="std::basic_filebuf<char, std::char_traits<char> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)" location="f189:669" file="f189" line="669" extern="1">
+    <Argument name="__off" type="_2500" location="f189:669" file="f189" line="669"/>
+    <Argument name="__way" type="_2121" location="f189:669" file="f189" line="669"/>
+    <Argument type="_2137" location="f189:669" file="f189" line="669" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6774" name="seekpos" returns="_2498" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode" demangled="std::basic_filebuf<char, std::char_traits<char> >::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)" location="f189:722" file="f189" line="722" extern="1">
+    <Argument name="__pos" type="_2498" location="f189:722" file="f189" line="722"/>
+    <Argument type="_2137" location="f189:722" file="f189" line="722" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6775" name="_M_seek" returns="_2498" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_seek(long long, std::_Ios_Seekdir, __mbstate_t)" location="f189:737" file="f189" line="737" extern="1">
+    <Argument name="__off" type="_2500" location="f189:737" file="f189" line="737"/>
+    <Argument name="__way" type="_2121" location="f189:737" file="f189" line="737"/>
+    <Argument name="__state" type="_767" location="f189:737" file="f189" line="737"/>
+  </Method>
+  <Method id="_6776" name="sync" returns="_503" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::sync()" location="f189:821" file="f189" line="821" extern="1"/>
+  <Method id="_6777" name="imbue" returns="_1194" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale" demangled="std::basic_filebuf<char, std::char_traits<char> >::imbue(std::locale const&)" location="f189:838" file="f189" line="838" extern="1">
+    <Argument name="__loc" type="_5517" location="f189:838" file="f189" line="838"/>
+  </Method>
+  <Method id="_6778" name="xsgetn" returns="_2499" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci" demangled="std::basic_filebuf<char, std::char_traits<char> >::xsgetn(char*, int)" location="f189:512" file="f189" line="512" extern="1">
+    <Argument name="__s" type="_1149" location="f189:512" file="f189" line="512"/>
+    <Argument name="__n" type="_2499" location="f189:512" file="f189" line="512"/>
+  </Method>
+  <Method id="_6779" name="xsputn" returns="_2499" virtual="1" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci" demangled="std::basic_filebuf<char, std::char_traits<char> >::xsputn(char const*, int)" location="f189:595" file="f189" line="595" extern="1">
+    <Argument name="__s" type="_2749" location="f189:595" file="f189" line="595"/>
+    <Argument name="__n" type="_2499" location="f189:595" file="f189" line="595"/>
+  </Method>
+  <Method id="_6780" name="_M_terminate_output" returns="_3949" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_terminate_output()" location="f189:760" file="f189" line="760" extern="1"/>
+  <Method id="_6781" name="_M_set_buffer" returns="_1194" context="_2457" access="protected" mangled="_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi" demangled="std::basic_filebuf<char, std::char_traits<char> >::_M_set_buffer(int)" location="f188:376" file="f188" line="376" extern="1" inline="1">
+    <Argument name="__off" type="_2499" location="f188:376" file="f188" line="376"/>
+  </Method>
+  <Field id="_6782" name="_M_stringbuf" type="_2465" offset="96" context="_2459" access="private" mangled="_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE12_M_stringbufE" demangled="std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::_M_stringbuf" location="f190:506" file="f190" line="506"/>
+  <Typedef id="_6783" name="char_type" type="_2961" context="_2459" access="public" location="f190:491" file="f190" line="491"/>
+  <Typedef id="_6784" name="traits_type" type="_2510" context="_2459" access="public" location="f190:492" file="f190" line="492"/>
+  <Typedef id="_6785" name="allocator_type" type="_2512" context="_2459" access="public" location="f190:495" file="f190" line="495"/>
+  <Typedef id="_6786" name="int_type" type="_503" context="_2459" access="public" location="f190:496" file="f190" line="496"/>
+  <Typedef id="_6787" name="pos_type" type="_2498" context="_2459" access="public" location="f190:497" file="f190" line="497"/>
+  <Typedef id="_6788" name="off_type" type="_2500" context="_2459" access="public" location="f190:498" file="f190" line="498"/>
+  <Typedef id="_6789" name="__string_type" type="_2508" context="_2459" access="public" location="f190:501" file="f190" line="501"/>
+  <Typedef id="_6790" name="__stringbuf_type" type="_2465" context="_2459" access="public" location="f190:502" file="f190" line="502"/>
+  <Typedef id="_6791" name="__iostream_type" type="_2467" context="_2459" access="public" location="f190:503" file="f190" line="503"/>
+  <Constructor id="_6792" name="basic_stringstream" artificial="1" context="_2459" access="public" mangled="_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKS3_ *INTERNAL* " demangled="std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream(std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > const&)" location="f9:83" file="f9" line="83" inline="1">
+    <Argument name="_ctor_arg" type="_11618" location="f9:83" file="f9" line="83"/>
+  </Constructor>
+  <Constructor id="_6793" name="basic_stringstream" explicit="1" context="_2459" access="public" mangled="_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream(std::_Ios_Openmode)" location="f190:524" file="f190" line="524" endline="525" extern="1" inline="1">
+    <Argument name="__m" type="_2137" location="f190:524" file="f190" line="524" default="(std::ios_base::out | std::ios_base::in)"/>
+  </Constructor>
+  <Constructor id="_6794" name="basic_stringstream" explicit="1" context="_2459" access="public" mangled="_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream(std::string const&, std::_Ios_Openmode)" location="f190:543" file="f190" line="543" endline="544" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f190:543" file="f190" line="543"/>
+    <Argument name="__m" type="_2137" location="f190:543" file="f190" line="543" default="(std::ios_base::out | std::ios_base::in)"/>
+  </Constructor>
+  <Destructor id="_6795" name="basic_stringstream" virtual="1" context="_2459" access="public" mangled="_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev *INTERNAL* " demangled="std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()" location="f190:553" file="f190" line="553" endline="553" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6796" name="rdbuf" returns="_11619" const="1" context="_2459" access="public" mangled="_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv" demangled="std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::rdbuf() const" location="f190:564" file="f190" line="564" extern="1" inline="1"/>
+  <Method id="_6797" name="str" returns="_2508" const="1" context="_2459" access="public" mangled="_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv" demangled="std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::str() const" location="f190:572" file="f190" line="572" endline="572" extern="1" inline="1"/>
+  <Method id="_6798" name="str" returns="_1194" context="_2459" access="public" mangled="_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs" demangled="std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::str(std::string const&)" location="f190:582" file="f190" line="582" extern="1" inline="1">
+    <Argument name="__s" type="_4948" location="f190:582" file="f190" line="582"/>
+  </Method>
+  <Field id="_6799" name="_M_stringbuf" type="_2465" offset="32" context="_2461" access="private" mangled="_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE12_M_stringbufE" demangled="std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::_M_stringbuf" location="f190:393" file="f190" line="393"/>
+  <Typedef id="_6800" name="char_type" type="_2961" context="_2461" access="public" location="f190:378" file="f190" line="378"/>
+  <Typedef id="_6801" name="traits_type" type="_2510" context="_2461" access="public" location="f190:379" file="f190" line="379"/>
+  <Typedef id="_6802" name="allocator_type" type="_2512" context="_2461" access="public" location="f190:382" file="f190" line="382"/>
+  <Typedef id="_6803" name="int_type" type="_503" context="_2461" access="public" location="f190:383" file="f190" line="383"/>
+  <Typedef id="_6804" name="pos_type" type="_2498" context="_2461" access="public" location="f190:384" file="f190" line="384"/>
+  <Typedef id="_6805" name="off_type" type="_2500" context="_2461" access="public" location="f190:385" file="f190" line="385"/>
+  <Typedef id="_6806" name="__string_type" type="_2508" context="_2461" access="public" location="f190:388" file="f190" line="388"/>
+  <Typedef id="_6807" name="__stringbuf_type" type="_2465" context="_2461" access="public" location="f190:389" file="f190" line="389"/>
+  <Typedef id="_6808" name="__ostream_type" type="_2469" context="_2461" access="public" location="f190:390" file="f190" line="390"/>
+  <Constructor id="_6809" name="basic_ostringstream" artificial="1" context="_2461" access="public" mangled="_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKS3_ *INTERNAL* " demangled="std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> > const&)" location="f9:79" file="f9" line="79" inline="1">
+    <Argument name="_ctor_arg" type="_11620" location="f9:79" file="f9" line="79"/>
+  </Constructor>
+  <Constructor id="_6810" name="basic_ostringstream" explicit="1" context="_2461" access="public" mangled="_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)" location="f190:413" file="f190" line="413" endline="414" extern="1" inline="1">
+    <Argument name="__mode" type="_2137" location="f190:413" file="f190" line="413" default="std::ios_base::out"/>
+  </Constructor>
+  <Constructor id="_6811" name="basic_ostringstream" explicit="1" context="_2461" access="public" mangled="_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::string const&, std::_Ios_Openmode)" location="f190:434" file="f190" line="434" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f190:434" file="f190" line="434"/>
+    <Argument name="__mode" type="_2137" location="f190:434" file="f190" line="434" default="std::ios_base::out"/>
+  </Constructor>
+  <Destructor id="_6812" name="basic_ostringstream" virtual="1" context="_2461" access="public" mangled="_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev *INTERNAL* " demangled="std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()" location="f190:444" file="f190" line="444" endline="444" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6813" name="rdbuf" returns="_11619" const="1" context="_2461" access="public" mangled="_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv" demangled="std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::rdbuf() const" location="f190:455" file="f190" line="455" extern="1" inline="1"/>
+  <Method id="_6814" name="str" returns="_2508" const="1" context="_2461" access="public" mangled="_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv" demangled="std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str() const" location="f190:463" file="f190" line="463" endline="463" extern="1" inline="1"/>
+  <Method id="_6815" name="str" returns="_1194" context="_2461" access="public" mangled="_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs" demangled="std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str(std::string const&)" location="f190:473" file="f190" line="473" extern="1" inline="1">
+    <Argument name="__s" type="_4948" location="f190:473" file="f190" line="473"/>
+  </Method>
+  <Field id="_6816" name="_M_stringbuf" type="_2465" offset="64" context="_2463" access="private" mangled="_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE12_M_stringbufE" demangled="std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::_M_stringbuf" location="f190:280" file="f190" line="280"/>
+  <Typedef id="_6817" name="char_type" type="_2961" context="_2463" access="public" location="f190:265" file="f190" line="265"/>
+  <Typedef id="_6818" name="traits_type" type="_2510" context="_2463" access="public" location="f190:266" file="f190" line="266"/>
+  <Typedef id="_6819" name="allocator_type" type="_2512" context="_2463" access="public" location="f190:269" file="f190" line="269"/>
+  <Typedef id="_6820" name="int_type" type="_503" context="_2463" access="public" location="f190:270" file="f190" line="270"/>
+  <Typedef id="_6821" name="pos_type" type="_2498" context="_2463" access="public" location="f190:271" file="f190" line="271"/>
+  <Typedef id="_6822" name="off_type" type="_2500" context="_2463" access="public" location="f190:272" file="f190" line="272"/>
+  <Typedef id="_6823" name="__string_type" type="_2508" context="_2463" access="public" location="f190:275" file="f190" line="275"/>
+  <Typedef id="_6824" name="__stringbuf_type" type="_2465" context="_2463" access="public" location="f190:276" file="f190" line="276"/>
+  <Typedef id="_6825" name="__istream_type" type="_2471" context="_2463" access="public" location="f190:277" file="f190" line="277"/>
+  <Constructor id="_6826" name="basic_istringstream" artificial="1" context="_2463" access="public" mangled="_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKS3_ *INTERNAL* " demangled="std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::basic_istringstream(std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> > const&)" location="f9:75" file="f9" line="75" inline="1">
+    <Argument name="_ctor_arg" type="_11621" location="f9:75" file="f9" line="75"/>
+  </Constructor>
+  <Constructor id="_6827" name="basic_istringstream" explicit="1" context="_2463" access="public" mangled="_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::basic_istringstream(std::_Ios_Openmode)" location="f190:300" file="f190" line="300" extern="1" inline="1">
+    <Argument name="__mode" type="_2137" location="f190:300" file="f190" line="300" default="std::ios_base::in"/>
+  </Constructor>
+  <Constructor id="_6828" name="basic_istringstream" explicit="1" context="_2463" access="public" mangled="_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::basic_istringstream(std::string const&, std::_Ios_Openmode)" location="f190:321" file="f190" line="321" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f190:321" file="f190" line="321"/>
+    <Argument name="__mode" type="_2137" location="f190:321" file="f190" line="321" default="std::ios_base::in"/>
+  </Constructor>
+  <Destructor id="_6829" name="basic_istringstream" virtual="1" context="_2463" access="public" mangled="_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev *INTERNAL* " demangled="std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream()" location="f190:331" file="f190" line="331" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6830" name="rdbuf" returns="_11619" const="1" context="_2463" access="public" mangled="_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv" demangled="std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::rdbuf() const" location="f190:342" file="f190" line="342" extern="1" inline="1"/>
+  <Method id="_6831" name="str" returns="_2508" const="1" context="_2463" access="public" mangled="_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv" demangled="std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::str() const" location="f190:350" file="f190" line="350" extern="1" inline="1"/>
+  <Method id="_6832" name="str" returns="_1194" context="_2463" access="public" mangled="_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs" demangled="std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::str(std::string const&)" location="f190:360" file="f190" line="360" extern="1" inline="1">
+    <Argument name="__s" type="_4948" location="f190:360" file="f190" line="360"/>
+  </Method>
+  <Field id="_6833" name="_M_mode" type="_2137" offset="256" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_modeE" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::_M_mode" location="f190:85" file="f190" line="85"/>
+  <Field id="_6834" name="_M_string" type="_2508" offset="288" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9_M_stringE" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::_M_string" location="f190:88" file="f190" line="88"/>
+  <Typedef id="_6835" name="char_type" type="_2961" context="_2465" access="public" location="f190:66" file="f190" line="66"/>
+  <Typedef id="_6836" name="traits_type" type="_2510" context="_2465" access="public" location="f190:67" file="f190" line="67"/>
+  <Typedef id="_6837" name="allocator_type" type="_2512" context="_2465" access="public" location="f190:70" file="f190" line="70"/>
+  <Typedef id="_6838" name="int_type" type="_503" context="_2465" access="public" location="f190:71" file="f190" line="71"/>
+  <Typedef id="_6839" name="pos_type" type="_2498" context="_2465" access="public" location="f190:72" file="f190" line="72"/>
+  <Typedef id="_6840" name="off_type" type="_2500" context="_2465" access="public" location="f190:73" file="f190" line="73"/>
+  <Typedef id="_6841" name="__streambuf_type" type="_2473" context="_2465" access="public" location="f190:75" file="f190" line="75"/>
+  <Typedef id="_6842" name="__string_type" type="_2508" context="_2465" access="public" location="f190:76" file="f190" line="76"/>
+  <Typedef id="_6843" name="__size_type" type="_1698" context="_2465" access="public" location="f190:77" file="f190" line="77"/>
+  <Constructor id="_6844" name="basic_stringbuf" artificial="1" context="_2465" access="public" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKS3_ *INTERNAL* " demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::basic_stringbuf(std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> > const&)" location="f9:71" file="f9" line="71" inline="1">
+    <Argument name="_ctor_arg" type="_11622" location="f9:71" file="f9" line="71"/>
+  </Constructor>
+  <Destructor id="_6845" name="basic_stringbuf" virtual="1" artificial="1" context="_2465" access="public" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev *INTERNAL* " demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()" location="f190:525" file="f190" line="525" endline="525" inline="1">
+  </Destructor>
+  <Constructor id="_6846" name="basic_stringbuf" explicit="1" context="_2465" access="public" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode *INTERNAL* " demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::basic_stringbuf(std::_Ios_Openmode)" location="f190:101" file="f190" line="101" endline="102" extern="1" inline="1">
+    <Argument name="__mode" type="_2137" location="f190:101" file="f190" line="101" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Constructor>
+  <Constructor id="_6847" name="basic_stringbuf" explicit="1" context="_2465" access="public" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode *INTERNAL* " demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::basic_stringbuf(std::string const&, std::_Ios_Openmode)" location="f190:115" file="f190" line="115" endline="116" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f190:115" file="f190" line="115"/>
+    <Argument name="__mode" type="_2137" location="f190:115" file="f190" line="115" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Constructor>
+  <Method id="_6848" name="str" returns="_2508" const="1" context="_2465" access="public" mangled="_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const" location="f190:129" file="f190" line="129" endline="141" extern="1" inline="1"/>
+  <Method id="_6849" name="str" returns="_1194" context="_2465" access="public" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str(std::string const&)" location="f190:153" file="f190" line="153" extern="1" inline="1">
+    <Argument name="__s" type="_4948" location="f190:153" file="f190" line="153"/>
+  </Method>
+  <Method id="_6850" name="_M_stringbuf_init" returns="_1194" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::_M_stringbuf_init(std::_Ios_Openmode)" location="f190:163" file="f190" line="163" endline="168" extern="1" inline="1">
+    <Argument name="__mode" type="_2137" location="f190:163" file="f190" line="163"/>
+  </Method>
+  <Method id="_6851" name="showmanyc" returns="_2499" virtual="1" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::showmanyc()" location="f190:173" file="f190" line="173" extern="1" inline="1"/>
+  <Method id="_6852" name="underflow" returns="_503" virtual="1" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::underflow()" location="f191:130" file="f191" line="130" extern="1"/>
+  <Method id="_6853" name="pbackfail" returns="_503" virtual="1" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::pbackfail(int)" location="f191:53" file="f191" line="53" extern="1">
+    <Argument name="__c" type="_503" location="f191:53" file="f191" line="53" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_6854" name="overflow" returns="_503" virtual="1" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int)" location="f191:87" file="f191" line="87" extern="1">
+    <Argument name="__c" type="_503" location="f191:87" file="f191" line="87" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_6855" name="setbuf" returns="_4941" virtual="1" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::setbuf(char*, int)" location="f190:205" file="f190" line="205" extern="1" inline="1">
+    <Argument name="__s" type="_1149" location="f190:205" file="f190" line="205"/>
+    <Argument name="__n" type="_2499" location="f190:205" file="f190" line="205"/>
+  </Method>
+  <Method id="_6856" name="seekoff" returns="_2498" virtual="1" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)" location="f191:148" file="f191" line="148" extern="1">
+    <Argument name="__off" type="_2500" location="f191:148" file="f191" line="148"/>
+    <Argument name="__way" type="_2121" location="f191:148" file="f191" line="148"/>
+    <Argument name="__mode" type="_2137" location="f191:148" file="f191" line="148" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6857" name="seekpos" returns="_2498" virtual="1" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)" location="f191:195" file="f191" line="195" extern="1">
+    <Argument name="__sp" type="_2498" location="f191:195" file="f191" line="195"/>
+    <Argument name="__mode" type="_2137" location="f191:195" file="f191" line="195" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6858" name="_M_sync" returns="_1194" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::_M_sync(char*, unsigned, unsigned)" location="f191:224" file="f191" line="224" extern="1">
+    <Argument name="__base" type="_1149" location="f191:224" file="f191" line="224"/>
+    <Argument name="__i" type="_1698" location="f191:224" file="f191" line="224"/>
+    <Argument name="__o" type="_1698" location="f191:224" file="f191" line="224"/>
+  </Method>
+  <Method id="_6859" name="_M_update_egptr" returns="_1194" context="_2465" access="protected" mangled="_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv" demangled="std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::_M_update_egptr()" location="f190:240" file="f190" line="240" extern="1" inline="1"/>
+  <Typedef id="_6860" name="char_type" type="_2961" context="_2467" access="public" location="f86:759" file="f86" line="759"/>
+  <Typedef id="_6861" name="int_type" type="_503" context="_2467" access="public" location="f86:760" file="f86" line="760"/>
+  <Typedef id="_6862" name="pos_type" type="_2498" context="_2467" access="public" location="f86:761" file="f86" line="761"/>
+  <Typedef id="_6863" name="off_type" type="_2500" context="_2467" access="public" location="f86:762" file="f86" line="762"/>
+  <Typedef id="_6864" name="traits_type" type="_2510" context="_2467" access="public" location="f86:763" file="f86" line="763"/>
+  <Typedef id="_6865" name="__istream_type" type="_2471" context="_2467" access="public" location="f86:766" file="f86" line="766"/>
+  <Typedef id="_6866" name="__ostream_type" type="_2469" context="_2467" access="public" location="f86:767" file="f86" line="767"/>
+  <Constructor id="_6867" name="basic_iostream" artificial="1" throw="" context="_2467" access="public" mangled="_ZNSdC1ERKSd *INTERNAL* " demangled="std::iostream::iostream(std::iostream const&)" location="f9:67" file="f9" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_11623" location="f9:67" file="f9" line="67"/>
+  </Constructor>
+  <Constructor id="_6868" name="basic_iostream" explicit="1" context="_2467" access="public" mangled="_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE *INTERNAL* " demangled="std::iostream::iostream(std::basic_streambuf<char, std::char_traits<char> >*)" location="f86:777" file="f86" line="777" extern="1" inline="1">
+    <Argument name="__sb" type="_4941" location="f86:777" file="f86" line="777"/>
+  </Constructor>
+  <Destructor id="_6869" name="basic_iostream" virtual="1" context="_2467" access="public" mangled="_ZNSdD1Ev *INTERNAL* " demangled="std::iostream::~iostream()" location="f86:784" file="f86" line="784" endline="784" extern="1" inline="1">
+  </Destructor>
+  <Constructor id="_6870" name="basic_iostream" explicit="1" context="_2467" access="protected" mangled="_ZNSdC1Ev *INTERNAL* " demangled="std::iostream::iostream()" location="f86:788" file="f86" line="788" endline="789" extern="1" inline="1">
+  </Constructor>
+  <Typedef id="_6871" name="char_type" type="_2961" context="_2469" access="public" location="f88:61" file="f88" line="61"/>
+  <Typedef id="_6872" name="int_type" type="_503" context="_2469" access="public" location="f88:62" file="f88" line="62"/>
+  <Typedef id="_6873" name="pos_type" type="_2498" context="_2469" access="public" location="f88:63" file="f88" line="63"/>
+  <Typedef id="_6874" name="off_type" type="_2500" context="_2469" access="public" location="f88:64" file="f88" line="64"/>
+  <Typedef id="_6875" name="traits_type" type="_2510" context="_2469" access="public" location="f88:65" file="f88" line="65"/>
+  <Typedef id="_6876" name="__streambuf_type" type="_2473" context="_2469" access="public" location="f88:68" file="f88" line="68"/>
+  <Typedef id="_6877" name="__ios_type" type="_2475" context="_2469" access="public" location="f88:69" file="f88" line="69"/>
+  <Typedef id="_6878" name="__num_put_type" type="_2350" context="_2469" access="public" location="f88:72" file="f88" line="72"/>
+  <Typedef id="_6879" name="__ctype_type" type="_2362" context="_2469" access="public" location="f88:73" file="f88" line="73"/>
+  <Struct id="_6880" name="sentry" context="_2469" access="public" mangled="NSo6sentryE" demangled="std::ostream::sentry" location="f88:356" file="f88" line="356" artificial="1" size="64" align="32" members="_11624 _11625 _11626 _11627 _11628 _11629 " bases=""/>
+  <Constructor id="_6881" name="basic_ostream" artificial="1" context="_2469" access="public" mangled="_ZNSoC1ERKSo *INTERNAL* " demangled="std::ostream::ostream(std::ostream const&)" location="f9:64" file="f9" line="64" inline="1">
+    <Argument name="_ctor_arg" type="_11630" location="f9:64" file="f9" line="64"/>
+  </Constructor>
+  <Constructor id="_6882" name="basic_ostream" explicit="1" context="_2469" access="public" mangled="_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE *INTERNAL* " demangled="std::ostream::ostream(std::basic_streambuf<char, std::char_traits<char> >*)" location="f88:105" file="f88" line="105" extern="1" inline="1">
+    <Argument name="__sb" type="_4941" location="f88:105" file="f88" line="105"/>
+  </Constructor>
+  <Destructor id="_6883" name="basic_ostream" virtual="1" context="_2469" access="public" mangled="_ZNSoD1Ev *INTERNAL* " demangled="std::ostream::~ostream()" location="f88:113" file="f88" line="113" endline="113" extern="1" inline="1">
+  </Destructor>
+  <OperatorMethod id="_6884" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEPFRSoS_E" demangled="std::ostream::operator<<(std::ostream& (*)(std::ostream&))" location="f89:68" file="f89" line="68" extern="1" inline="1">
+    <Argument name="__pf" type="_11631" location="f89:68" file="f89" line="68"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6885" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E" demangled="std::ostream::operator<<(std::basic_ios<char, std::char_traits<char> >& (*)(std::basic_ios<char, std::char_traits<char> >&))" location="f89:79" file="f89" line="79" extern="1" inline="1">
+    <Argument name="__pf" type="_11632" location="f89:79" file="f89" line="79"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6886" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEPFRSt8ios_baseS0_E" demangled="std::ostream::operator<<(std::ios_base& (*)(std::ios_base&))" location="f89:91" file="f89" line="91" extern="1" inline="1">
+    <Argument name="__pf" type="_11591" location="f89:91" file="f89" line="91"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6887" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEl" demangled="std::ostream::operator<<(long)" location="f89:242" file="f89" line="242" extern="1">
+    <Argument name="__n" type="_1553" location="f89:242" file="f89" line="242"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6888" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEm" demangled="std::ostream::operator<<(unsigned long)" location="f89:265" file="f89" line="265" extern="1">
+    <Argument name="__n" type="_643" location="f89:265" file="f89" line="265"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6889" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEb" demangled="std::ostream::operator<<(bool)" location="f89:103" file="f89" line="103" extern="1">
+    <Argument name="__n" type="_3949" location="f89:103" file="f89" line="103"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6890" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEs" demangled="std::ostream::operator<<(short)" location="f89:126" file="f89" line="126" extern="1">
+    <Argument name="__n" type="_1202" location="f89:126" file="f89" line="126"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6891" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEt" demangled="std::ostream::operator<<(unsigned short)" location="f89:158" file="f89" line="158" extern="1">
+    <Argument name="__n" type="_1199" location="f89:158" file="f89" line="158"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6892" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEi" demangled="std::ostream::operator<<(int)" location="f89:184" file="f89" line="184" extern="1">
+    <Argument name="__n" type="_503" location="f89:184" file="f89" line="184"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6893" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEj" demangled="std::ostream::operator<<(unsigned)" location="f89:216" file="f89" line="216" extern="1">
+    <Argument name="__n" type="_837" location="f89:216" file="f89" line="216"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6894" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEx" demangled="std::ostream::operator<<(long long)" location="f89:289" file="f89" line="289" extern="1">
+    <Argument name="__n" type="_1290" location="f89:289" file="f89" line="289"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6895" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEy" demangled="std::ostream::operator<<(unsigned long long)" location="f89:312" file="f89" line="312" extern="1">
+    <Argument name="__n" type="_1288" location="f89:312" file="f89" line="312"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6896" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEd" demangled="std::ostream::operator<<(double)" location="f89:362" file="f89" line="362" extern="1">
+    <Argument name="__n" type="_2753" location="f89:362" file="f89" line="362"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6897" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEf" demangled="std::ostream::operator<<(float)" location="f89:336" file="f89" line="336" extern="1">
+    <Argument name="__n" type="_2751" location="f89:336" file="f89" line="336"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6898" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEe" demangled="std::ostream::operator<<(long double)" location="f89:385" file="f89" line="385" extern="1">
+    <Argument name="__n" type="_483" location="f89:385" file="f89" line="385"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6899" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEPKv" demangled="std::ostream::operator<<(void const*)" location="f89:408" file="f89" line="408" extern="1">
+    <Argument name="__n" type="_2807" location="f89:408" file="f89" line="408"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6900" name="<<" returns="_3924" context="_2469" access="public" mangled="_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE" demangled="std::ostream::operator<<(std::basic_streambuf<char, std::char_traits<char> >*)" location="f89:431" file="f89" line="431" extern="1">
+    <Argument name="__sbin" type="_4941" location="f89:431" file="f89" line="431"/>
+  </OperatorMethod>
+  <Method id="_6901" name="put" returns="_3924" context="_2469" access="public" mangled="_ZNSo3putEc" demangled="std::ostream::put(char)" location="f89:455" file="f89" line="455" extern="1">
+    <Argument name="__c" type="_2961" location="f89:455" file="f89" line="455"/>
+  </Method>
+  <Method id="_6902" name="_M_write" returns="_1194" context="_2469" access="public" mangled="_ZNSo8_M_writeEPKci" demangled="std::ostream::_M_write(char const*, int)" location="f88:267" file="f88" line="267" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f88:267" file="f88" line="267"/>
+    <Argument name="__n" type="_2499" location="f88:267" file="f88" line="267"/>
+  </Method>
+  <Method id="_6903" name="write" returns="_3924" context="_2469" access="public" mangled="_ZNSo5writeEPKci" demangled="std::ostream::write(char const*, int)" location="f89:484" file="f89" line="484" extern="1">
+    <Argument name="__s" type="_2749" location="f89:484" file="f89" line="484"/>
+    <Argument name="__n" type="_2499" location="f89:484" file="f89" line="484"/>
+  </Method>
+  <Method id="_6904" name="flush" returns="_3924" context="_2469" access="public" mangled="_ZNSo5flushEv" demangled="std::ostream::flush()" location="f89:507" file="f89" line="507" extern="1"/>
+  <Method id="_6905" name="tellp" returns="_2498" context="_2469" access="public" mangled="_ZNSo5tellpEv" demangled="std::ostream::tellp()" location="f89:528" file="f89" line="528" extern="1"/>
+  <Method id="_6906" name="seekp" returns="_3924" context="_2469" access="public" mangled="_ZNSo5seekpESt4fposI11__mbstate_tE" demangled="std::ostream::seekp(std::fpos<__mbstate_t>)" location="f89:544" file="f89" line="544" extern="1">
+    <Argument name="__pos" type="_2498" location="f89:544" file="f89" line="544"/>
+  </Method>
+  <Method id="_6907" name="seekp" returns="_3924" context="_2469" access="public" mangled="_ZNSo5seekpExSt12_Ios_Seekdir" demangled="std::ostream::seekp(long long, std::_Ios_Seekdir)" location="f89:571" file="f89" line="571" extern="1">
+    <Argument name="__off" type="_2500" location="f89:571" file="f89" line="571"/>
+    <Argument name="__dir" type="_2121" location="f89:571" file="f89" line="571"/>
+  </Method>
+  <Constructor id="_6908" name="basic_ostream" explicit="1" context="_2469" access="protected" mangled="_ZNSoC1Ev *INTERNAL* " demangled="std::ostream::ostream()" location="f88:341" file="f88" line="341" endline="341" extern="1" inline="1">
+  </Constructor>
+  <Field id="_6909" name="_M_gcount" type="_2499" offset="32" context="_2471" access="protected" mangled="_ZNSi9_M_gcountE" demangled="std::istream::_M_gcount" location="f86:92" file="f86" line="92"/>
+  <Typedef id="_6910" name="char_type" type="_2961" context="_2471" access="public" location="f86:62" file="f86" line="62"/>
+  <Typedef id="_6911" name="int_type" type="_503" context="_2471" access="public" location="f86:63" file="f86" line="63"/>
+  <Typedef id="_6912" name="pos_type" type="_2498" context="_2471" access="public" location="f86:64" file="f86" line="64"/>
+  <Typedef id="_6913" name="off_type" type="_2500" context="_2471" access="public" location="f86:65" file="f86" line="65"/>
+  <Typedef id="_6914" name="traits_type" type="_2510" context="_2471" access="public" location="f86:66" file="f86" line="66"/>
+  <Typedef id="_6915" name="__streambuf_type" type="_2473" context="_2471" access="public" location="f86:69" file="f86" line="69"/>
+  <Typedef id="_6916" name="__ios_type" type="_2475" context="_2471" access="public" location="f86:70" file="f86" line="70"/>
+  <Typedef id="_6917" name="__num_get_type" type="_2352" context="_2471" access="public" location="f86:73" file="f86" line="73"/>
+  <Typedef id="_6918" name="__ctype_type" type="_2362" context="_2471" access="public" location="f86:74" file="f86" line="74"/>
+  <Struct id="_6919" name="sentry" context="_2471" access="public" mangled="NSi6sentryE" demangled="std::istream::sentry" location="f86:117" file="f86" line="117" artificial="1" size="8" align="8" members="_11633 _11634 _11635 _11636 _11637 _11638 _11639 _11640 _11641 " bases=""/>
+  <Constructor id="_6920" name="basic_istream" artificial="1" context="_2471" access="public" mangled="_ZNSiC1ERKSi *INTERNAL* " demangled="std::istream::istream(std::istream const&)" location="f9:61" file="f9" line="61" inline="1">
+    <Argument name="_ctor_arg" type="_11642" location="f9:61" file="f9" line="61"/>
+  </Constructor>
+  <Constructor id="_6921" name="basic_istream" explicit="1" context="_2471" access="public" mangled="_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE *INTERNAL* " demangled="std::istream::istream(std::basic_streambuf<char, std::char_traits<char> >*)" location="f86:104" file="f86" line="104" endline="105" extern="1" inline="1">
+    <Argument name="__sb" type="_4941" location="f86:104" file="f86" line="104"/>
+  </Constructor>
+  <Destructor id="_6922" name="basic_istream" virtual="1" context="_2471" access="public" mangled="_ZNSiD1Ev *INTERNAL* " demangled="std::istream::~istream()" location="f86:114" file="f86" line="114" endline="114" extern="1" inline="1">
+  </Destructor>
+  <OperatorMethod id="_6923" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsEPFRSiS_E" demangled="std::istream::operator>>(std::istream& (*)(std::istream&))" location="f86:131" file="f86" line="131" extern="1" inline="1">
+    <Argument name="__pf" type="_11643" location="f86:131" file="f86" line="131"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6924" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E" demangled="std::istream::operator>>(std::basic_ios<char, std::char_traits<char> >& (*)(std::basic_ios<char, std::char_traits<char> >&))" location="f86:134" file="f86" line="134" extern="1" inline="1">
+    <Argument name="__pf" type="_11632" location="f86:134" file="f86" line="134"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6925" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsEPFRSt8ios_baseS0_E" demangled="std::istream::operator>>(std::ios_base& (*)(std::ios_base&))" location="f86:137" file="f86" line="137" extern="1" inline="1">
+    <Argument name="__pf" type="_11591" location="f86:137" file="f86" line="137"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6926" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERb" demangled="std::istream::operator>>(bool&)" location="f86:169" file="f86" line="169" extern="1">
+    <Argument name="__n" type="_8145" location="f86:169" file="f86" line="169"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6927" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERs" demangled="std::istream::operator>>(short&)" location="f86:172" file="f86" line="172" extern="1">
+    <Argument name="__n" type="_11603" location="f86:172" file="f86" line="172"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6928" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERt" demangled="std::istream::operator>>(unsigned short&)" location="f86:175" file="f86" line="175" extern="1">
+    <Argument name="__n" type="_11340" location="f86:175" file="f86" line="175"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6929" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERi" demangled="std::istream::operator>>(int&)" location="f86:178" file="f86" line="178" extern="1">
+    <Argument name="__n" type="_4078" location="f86:178" file="f86" line="178"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6930" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERj" demangled="std::istream::operator>>(unsigned&)" location="f86:181" file="f86" line="181" extern="1">
+    <Argument name="__n" type="_11498" location="f86:181" file="f86" line="181"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6931" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERl" demangled="std::istream::operator>>(long&)" location="f86:184" file="f86" line="184" extern="1">
+    <Argument name="__n" type="_11497" location="f86:184" file="f86" line="184"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6932" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERm" demangled="std::istream::operator>>(unsigned long&)" location="f86:187" file="f86" line="187" extern="1">
+    <Argument name="__n" type="_11499" location="f86:187" file="f86" line="187"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6933" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERx" demangled="std::istream::operator>>(long long&)" location="f86:191" file="f86" line="191" extern="1">
+    <Argument name="__n" type="_11500" location="f86:191" file="f86" line="191"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6934" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERy" demangled="std::istream::operator>>(unsigned long long&)" location="f86:194" file="f86" line="194" extern="1">
+    <Argument name="__n" type="_11501" location="f86:194" file="f86" line="194"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6935" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERf" demangled="std::istream::operator>>(float&)" location="f86:198" file="f86" line="198" extern="1">
+    <Argument name="__f" type="_4939" location="f86:198" file="f86" line="198"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6936" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERd" demangled="std::istream::operator>>(double&)" location="f86:201" file="f86" line="201" extern="1">
+    <Argument name="__f" type="_4938" location="f86:201" file="f86" line="201"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6937" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERe" demangled="std::istream::operator>>(long double&)" location="f86:204" file="f86" line="204" extern="1">
+    <Argument name="__f" type="_4935" location="f86:204" file="f86" line="204"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6938" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsERPv" demangled="std::istream::operator>>(void*&)" location="f86:207" file="f86" line="207" extern="1">
+    <Argument name="__p" type="_11502" location="f86:207" file="f86" line="207"/>
+  </OperatorMethod>
+  <OperatorMethod id="_6939" name=">>" returns="_3926" context="_2471" access="public" mangled="_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE" demangled="std::istream::operator>>(std::basic_streambuf<char, std::char_traits<char> >*)" location="f86:230" file="f86" line="230" extern="1">
+    <Argument name="__sb" type="_4941" location="f86:230" file="f86" line="230"/>
+  </OperatorMethod>
+  <Method id="_6940" name="gcount" returns="_2499" const="1" context="_2471" access="public" mangled="_ZNKSi6gcountEv" demangled="std::istream::gcount() const" location="f86:241" file="f86" line="241" extern="1" inline="1"/>
+  <Method id="_6941" name="get" returns="_503" context="_2471" access="public" mangled="_ZNSi3getEv" demangled="std::istream::get()" location="f86:272" file="f86" line="272" extern="1"/>
+  <Method id="_6942" name="get" returns="_3926" context="_2471" access="public" mangled="_ZNSi3getERc" demangled="std::istream::get(char&)" location="f86:286" file="f86" line="286" extern="1">
+    <Argument name="__c" type="_4163" location="f86:286" file="f86" line="286"/>
+  </Method>
+  <Method id="_6943" name="get" returns="_3926" context="_2471" access="public" mangled="_ZNSi3getEPcic" demangled="std::istream::get(char*, int, char)" location="f86:313" file="f86" line="313" extern="1">
+    <Argument name="__s" type="_1149" location="f86:313" file="f86" line="313"/>
+    <Argument name="__n" type="_2499" location="f86:313" file="f86" line="313"/>
+    <Argument name="__delim" type="_2961" location="f86:313" file="f86" line="313"/>
+  </Method>
+  <Method id="_6944" name="get" returns="_3926" context="_2471" access="public" mangled="_ZNSi3getEPci" demangled="std::istream::get(char*, int)" location="f86:325" file="f86" line="325" extern="1" inline="1">
+    <Argument name="__s" type="_1149" location="f86:325" file="f86" line="325"/>
+    <Argument name="__n" type="_2499" location="f86:325" file="f86" line="325"/>
+  </Method>
+  <Method id="_6945" name="get" returns="_3926" context="_2471" access="public" mangled="_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc" demangled="std::istream::get(std::basic_streambuf<char, std::char_traits<char> >&, char)" location="f86:347" file="f86" line="347" extern="1">
+    <Argument name="__sb" type="_11644" location="f86:347" file="f86" line="347"/>
+    <Argument name="__delim" type="_2961" location="f86:347" file="f86" line="347"/>
+  </Method>
+  <Method id="_6946" name="get" returns="_3926" context="_2471" access="public" mangled="_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE" demangled="std::istream::get(std::basic_streambuf<char, std::char_traits<char> >&)" location="f86:358" file="f86" line="358" extern="1" inline="1">
+    <Argument name="__sb" type="_11644" location="f86:358" file="f86" line="358"/>
+  </Method>
+  <Method id="_6947" name="getline" returns="_3926" context="_2471" access="public" mangled="_ZNSi7getlineEPcic" demangled="std::istream::getline(char*, int, char)" location="f86:581" file="f86" line="581" extern="1">
+    <Argument name="__s" type="_1149" location="f86:581" file="f86" line="581"/>
+    <Argument name="__n" type="_2499" location="f86:581" file="f86" line="581"/>
+    <Argument name="__delim" type="_2961" location="f86:581" file="f86" line="581"/>
+  </Method>
+  <Method id="_6948" name="getline" returns="_3926" context="_2471" access="public" mangled="_ZNSi7getlineEPci" demangled="std::istream::getline(char*, int)" location="f86:398" file="f86" line="398" extern="1" inline="1">
+    <Argument name="__s" type="_1149" location="f86:398" file="f86" line="398"/>
+    <Argument name="__n" type="_2499" location="f86:398" file="f86" line="398"/>
+  </Method>
+  <Method id="_6949" name="ignore" returns="_3926" context="_2471" access="public" mangled="_ZNSi6ignoreEv" demangled="std::istream::ignore()" location="f86:421" file="f86" line="421" extern="1"/>
+  <Method id="_6950" name="ignore" returns="_3926" context="_2471" access="public" mangled="_ZNSi6ignoreEi" demangled="std::istream::ignore(int)" location="f86:586" file="f86" line="586" extern="1">
+    <Argument name="__n" type="_2499" location="f86:586" file="f86" line="586"/>
+  </Method>
+  <Method id="_6951" name="ignore" returns="_3926" context="_2471" access="public" mangled="_ZNSi6ignoreEii" demangled="std::istream::ignore(int, int)" location="f86:591" file="f86" line="591" extern="1">
+    <Argument name="__n" type="_2499" location="f86:591" file="f86" line="591"/>
+    <Argument name="__delim" type="_503" location="f86:591" file="f86" line="591"/>
+  </Method>
+  <Method id="_6952" name="peek" returns="_503" context="_2471" access="public" mangled="_ZNSi4peekEv" demangled="std::istream::peek()" location="f86:438" file="f86" line="438" extern="1"/>
+  <Method id="_6953" name="read" returns="_3926" context="_2471" access="public" mangled="_ZNSi4readEPci" demangled="std::istream::read(char*, int)" location="f86:456" file="f86" line="456" extern="1">
+    <Argument name="__s" type="_1149" location="f86:456" file="f86" line="456"/>
+    <Argument name="__n" type="_2499" location="f86:456" file="f86" line="456"/>
+  </Method>
+  <Method id="_6954" name="readsome" returns="_2499" context="_2471" access="public" mangled="_ZNSi8readsomeEPci" demangled="std::istream::readsome(char*, int)" location="f86:475" file="f86" line="475" extern="1">
+    <Argument name="__s" type="_1149" location="f86:475" file="f86" line="475"/>
+    <Argument name="__n" type="_2499" location="f86:475" file="f86" line="475"/>
+  </Method>
+  <Method id="_6955" name="putback" returns="_3926" context="_2471" access="public" mangled="_ZNSi7putbackEc" demangled="std::istream::putback(char)" location="f86:491" file="f86" line="491" extern="1">
+    <Argument name="__c" type="_2961" location="f86:491" file="f86" line="491"/>
+  </Method>
+  <Method id="_6956" name="unget" returns="_3926" context="_2471" access="public" mangled="_ZNSi5ungetEv" demangled="std::istream::unget()" location="f86:506" file="f86" line="506" extern="1"/>
+  <Method id="_6957" name="sync" returns="_503" context="_2471" access="public" mangled="_ZNSi4syncEv" demangled="std::istream::sync()" location="f86:524" file="f86" line="524" extern="1"/>
+  <Method id="_6958" name="tellg" returns="_2498" context="_2471" access="public" mangled="_ZNSi5tellgEv" demangled="std::istream::tellg()" location="f86:538" file="f86" line="538" extern="1"/>
+  <Method id="_6959" name="seekg" returns="_3926" context="_2471" access="public" mangled="_ZNSi5seekgESt4fposI11__mbstate_tE" demangled="std::istream::seekg(std::fpos<__mbstate_t>)" location="f86:553" file="f86" line="553" extern="1">
+    <Argument type="_2498" location="f86:553" file="f86" line="553"/>
+  </Method>
+  <Method id="_6960" name="seekg" returns="_3926" context="_2471" access="public" mangled="_ZNSi5seekgExSt12_Ios_Seekdir" demangled="std::istream::seekg(long long, std::_Ios_Seekdir)" location="f86:569" file="f86" line="569" extern="1">
+    <Argument type="_2500" location="f86:569" file="f86" line="569"/>
+    <Argument type="_2121" location="f86:569" file="f86" line="569"/>
+  </Method>
+  <Constructor id="_6961" name="basic_istream" explicit="1" context="_2471" access="protected" mangled="_ZNSiC1Ev *INTERNAL* " demangled="std::istream::istream()" location="f86:574" file="f86" line="574" endline="574" extern="1" inline="1">
+  </Constructor>
+  <Field id="_6962" name="_M_in_beg" type="_1149" offset="32" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE9_M_in_begE" demangled="std::basic_streambuf<char, std::char_traits<char> >::_M_in_beg" location="f90:182" file="f90" line="182"/>
+  <Field id="_6963" name="_M_in_cur" type="_1149" offset="64" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE9_M_in_curE" demangled="std::basic_streambuf<char, std::char_traits<char> >::_M_in_cur" location="f90:183" file="f90" line="183"/>
+  <Field id="_6964" name="_M_in_end" type="_1149" offset="96" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE9_M_in_endE" demangled="std::basic_streambuf<char, std::char_traits<char> >::_M_in_end" location="f90:184" file="f90" line="184"/>
+  <Field id="_6965" name="_M_out_beg" type="_1149" offset="128" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE10_M_out_begE" demangled="std::basic_streambuf<char, std::char_traits<char> >::_M_out_beg" location="f90:185" file="f90" line="185"/>
+  <Field id="_6966" name="_M_out_cur" type="_1149" offset="160" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE10_M_out_curE" demangled="std::basic_streambuf<char, std::char_traits<char> >::_M_out_cur" location="f90:186" file="f90" line="186"/>
+  <Field id="_6967" name="_M_out_end" type="_1149" offset="192" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE10_M_out_endE" demangled="std::basic_streambuf<char, std::char_traits<char> >::_M_out_end" location="f90:187" file="f90" line="187"/>
+  <Field id="_6968" name="_M_buf_locale" type="_2365" offset="224" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE13_M_buf_localeE" demangled="std::basic_streambuf<char, std::char_traits<char> >::_M_buf_locale" location="f90:194" file="f90" line="194"/>
+  <Typedef id="_6969" name="char_type" type="_2961" context="_2473" access="public" location="f90:131" file="f90" line="131"/>
+  <Typedef id="_6970" name="traits_type" type="_2510" context="_2473" access="public" location="f90:132" file="f90" line="132"/>
+  <Typedef id="_6971" name="int_type" type="_503" context="_2473" access="public" location="f90:133" file="f90" line="133"/>
+  <Typedef id="_6972" name="pos_type" type="_2498" context="_2473" access="public" location="f90:134" file="f90" line="134"/>
+  <Typedef id="_6973" name="off_type" type="_2500" context="_2473" access="public" location="f90:135" file="f90" line="135"/>
+  <Destructor id="_6974" name="basic_streambuf" virtual="1" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev *INTERNAL* " demangled="std::basic_streambuf<char, std::char_traits<char> >::~basic_streambuf()" location="f90:200" file="f90" line="200" endline="200" extern="1" inline="1">
+  </Destructor>
+  <Method id="_6975" name="pubimbue" returns="_2365" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale" demangled="std::basic_streambuf<char, std::char_traits<char> >::pubimbue(std::locale const&)" location="f90:212" file="f90" line="212" extern="1" inline="1">
+    <Argument name="__loc" type="_5517" location="f90:212" file="f90" line="212"/>
+  </Method>
+  <Method id="_6976" name="getloc" returns="_2365" const="1" context="_2473" access="public" mangled="_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::getloc() const" location="f90:229" file="f90" line="229" extern="1" inline="1"/>
+  <Method id="_6977" name="pubsetbuf" returns="_4941" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci" demangled="std::basic_streambuf<char, std::char_traits<char> >::pubsetbuf(char*, int)" location="f90:242" file="f90" line="242" extern="1" inline="1">
+    <Argument name="__s" type="_1149" location="f90:242" file="f90" line="242"/>
+    <Argument name="__n" type="_2499" location="f90:242" file="f90" line="242"/>
+  </Method>
+  <Method id="_6978" name="pubseekoff" returns="_2498" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode" demangled="std::basic_streambuf<char, std::char_traits<char> >::pubseekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)" location="f90:247" file="f90" line="247" extern="1" inline="1">
+    <Argument name="__off" type="_2500" location="f90:247" file="f90" line="247"/>
+    <Argument name="__way" type="_2121" location="f90:247" file="f90" line="247"/>
+    <Argument name="__mode" type="_2137" location="f90:247" file="f90" line="247" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6979" name="pubseekpos" returns="_2498" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode" demangled="std::basic_streambuf<char, std::char_traits<char> >::pubseekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)" location="f90:252" file="f90" line="252" extern="1" inline="1">
+    <Argument name="__sp" type="_2498" location="f90:252" file="f90" line="252"/>
+    <Argument name="__mode" type="_2137" location="f90:252" file="f90" line="252" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_6980" name="pubsync" returns="_503" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::pubsync()" location="f90:255" file="f90" line="255" extern="1" inline="1"/>
+  <Method id="_6981" name="in_avail" returns="_2499" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::in_avail()" location="f90:269" file="f90" line="269" extern="1" inline="1"/>
+  <Method id="_6982" name="snextc" returns="_503" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::snextc()" location="f90:283" file="f90" line="283" extern="1" inline="1"/>
+  <Method id="_6983" name="sbumpc" returns="_503" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::sbumpc()" location="f90:301" file="f90" line="301" extern="1" inline="1"/>
+  <Method id="_6984" name="sgetc" returns="_503" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::sgetc()" location="f90:323" file="f90" line="323" extern="1" inline="1"/>
+  <Method id="_6985" name="sgetn" returns="_2499" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci" demangled="std::basic_streambuf<char, std::char_traits<char> >::sgetn(char*, int)" location="f90:342" file="f90" line="342" extern="1" inline="1">
+    <Argument name="__s" type="_1149" location="f90:342" file="f90" line="342"/>
+    <Argument name="__n" type="_2499" location="f90:342" file="f90" line="342"/>
+  </Method>
+  <Method id="_6986" name="sputbackc" returns="_503" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc" demangled="std::basic_streambuf<char, std::char_traits<char> >::sputbackc(char)" location="f90:356" file="f90" line="356" extern="1" inline="1">
+    <Argument name="__c" type="_2961" location="f90:356" file="f90" line="356"/>
+  </Method>
+  <Method id="_6987" name="sungetc" returns="_503" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::sungetc()" location="f90:381" file="f90" line="381" extern="1" inline="1"/>
+  <Method id="_6988" name="sputc" returns="_503" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc" demangled="std::basic_streambuf<char, std::char_traits<char> >::sputc(char)" location="f90:408" file="f90" line="408" endline="418" extern="1" inline="1">
+    <Argument name="__c" type="_2961" location="f90:408" file="f90" line="408"/>
+  </Method>
+  <Method id="_6989" name="sputn" returns="_2499" context="_2473" access="public" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci" demangled="std::basic_streambuf<char, std::char_traits<char> >::sputn(char const*, int)" location="f90:434" file="f90" line="434" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f90:434" file="f90" line="434"/>
+    <Argument name="__n" type="_2499" location="f90:434" file="f90" line="434"/>
+  </Method>
+  <Constructor id="_6990" name="basic_streambuf" explicit="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev *INTERNAL* " demangled="std::basic_streambuf<char, std::char_traits<char> >::basic_streambuf()" location="f90:447" file="f90" line="447" endline="450" extern="1" inline="1"/>
+  <Method id="_6991" name="eback" returns="_1149" const="1" context="_2473" access="protected" mangled="_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::eback() const" location="f90:465" file="f90" line="465" extern="1" inline="1"/>
+  <Method id="_6992" name="gptr" returns="_1149" const="1" context="_2473" access="protected" mangled="_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::gptr() const" location="f90:468" file="f90" line="468" endline="468" extern="1" inline="1"/>
+  <Method id="_6993" name="egptr" returns="_1149" const="1" context="_2473" access="protected" mangled="_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::egptr() const" location="f90:471" file="f90" line="471" endline="471" extern="1" inline="1"/>
+  <Method id="_6994" name="gbump" returns="_1194" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi" demangled="std::basic_streambuf<char, std::char_traits<char> >::gbump(int)" location="f90:481" file="f90" line="481" endline="481" extern="1" inline="1">
+    <Argument name="__n" type="_503" location="f90:481" file="f90" line="481"/>
+  </Method>
+  <Method id="_6995" name="setg" returns="_1194" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_" demangled="std::basic_streambuf<char, std::char_traits<char> >::setg(char*, char*, char*)" location="f90:493" file="f90" line="493" endline="496" extern="1" inline="1">
+    <Argument name="__gbeg" type="_1149" location="f90:493" file="f90" line="493"/>
+    <Argument name="__gnext" type="_1149" location="f90:493" file="f90" line="493"/>
+    <Argument name="__gend" type="_1149" location="f90:493" file="f90" line="493"/>
+  </Method>
+  <Method id="_6996" name="pbase" returns="_1149" const="1" context="_2473" access="protected" mangled="_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::pbase() const" location="f90:512" file="f90" line="512" endline="512" extern="1" inline="1"/>
+  <Method id="_6997" name="pptr" returns="_1149" const="1" context="_2473" access="protected" mangled="_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::pptr() const" location="f90:515" file="f90" line="515" endline="515" extern="1" inline="1"/>
+  <Method id="_6998" name="epptr" returns="_1149" const="1" context="_2473" access="protected" mangled="_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::epptr() const" location="f90:518" file="f90" line="518" endline="518" extern="1" inline="1"/>
+  <Method id="_6999" name="pbump" returns="_1194" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi" demangled="std::basic_streambuf<char, std::char_traits<char> >::pbump(int)" location="f90:528" file="f90" line="528" endline="528" extern="1" inline="1">
+    <Argument name="__n" type="_503" location="f90:528" file="f90" line="528"/>
+  </Method>
+  <Method id="_7000" name="setp" returns="_1194" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_" demangled="std::basic_streambuf<char, std::char_traits<char> >::setp(char*, char*)" location="f90:539" file="f90" line="539" extern="1" inline="1">
+    <Argument name="__pbeg" type="_1149" location="f90:539" file="f90" line="539"/>
+    <Argument name="__pend" type="_1149" location="f90:539" file="f90" line="539"/>
+  </Method>
+  <Method id="_7001" name="imbue" returns="_1194" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale" demangled="std::basic_streambuf<char, std::char_traits<char> >::imbue(std::locale const&)" location="f90:560" file="f90" line="560" endline="560" extern="1" inline="1">
+    <Argument type="_5517" location="f90:560" file="f90" line="560"/>
+  </Method>
+  <Method id="_7002" name="setbuf" returns="_4941" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci" demangled="std::basic_streambuf<char, std::char_traits<char> >::setbuf(char*, int)" location="f90:575" file="f90" line="575" endline="575" extern="1" inline="1">
+    <Argument type="_1149" location="f90:575" file="f90" line="575"/>
+    <Argument type="_2499" location="f90:575" file="f90" line="575"/>
+  </Method>
+  <Method id="_7003" name="seekoff" returns="_2498" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode" demangled="std::basic_streambuf<char, std::char_traits<char> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)" location="f90:587" file="f90" line="587" endline="587" extern="1" inline="1">
+    <Argument type="_2500" location="f90:587" file="f90" line="587"/>
+    <Argument type="_2121" location="f90:587" file="f90" line="587"/>
+    <Argument type="_2137" location="f90:587" file="f90" line="587" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_7004" name="seekpos" returns="_2498" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode" demangled="std::basic_streambuf<char, std::char_traits<char> >::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)" location="f90:599" file="f90" line="599" endline="599" extern="1" inline="1">
+    <Argument type="_2498" location="f90:599" file="f90" line="599"/>
+    <Argument type="_2137" location="f90:599" file="f90" line="599" default="(std::ios_base::in | std::ios_base::out)"/>
+  </Method>
+  <Method id="_7005" name="sync" returns="_503" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::sync()" location="f90:610" file="f90" line="610" endline="610" extern="1" inline="1"/>
+  <Method id="_7006" name="showmanyc" returns="_2499" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::showmanyc()" location="f90:632" file="f90" line="632" endline="632" extern="1" inline="1"/>
+  <Method id="_7007" name="xsgetn" returns="_2499" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci" demangled="std::basic_streambuf<char, std::char_traits<char> >::xsgetn(char*, int)" location="f192:51" file="f192" line="51" extern="1">
+    <Argument name="__s" type="_1149" location="f192:51" file="f192" line="51"/>
+    <Argument name="__n" type="_2499" location="f192:51" file="f192" line="51"/>
+  </Method>
+  <Method id="_7008" name="underflow" returns="_503" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::underflow()" location="f90:671" file="f90" line="671" endline="671" extern="1" inline="1"/>
+  <Method id="_7009" name="uflow" returns="_503" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv" demangled="std::basic_streambuf<char, std::char_traits<char> >::uflow()" location="f90:684" file="f90" line="684" endline="693" extern="1" inline="1"/>
+  <Method id="_7010" name="pbackfail" returns="_503" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi" demangled="std::basic_streambuf<char, std::char_traits<char> >::pbackfail(int)" location="f90:708" file="f90" line="708" endline="708" extern="1" inline="1">
+    <Argument type="_503" location="f90:708" file="f90" line="708" default="_Traits::eof()"/>
+  </Method>
+  <Method id="_7011" name="xsputn" returns="_2499" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci" demangled="std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, int)" location="f192:85" file="f192" line="85" extern="1">
+    <Argument name="__s" type="_2749" location="f192:85" file="f192" line="85"/>
+    <Argument name="__n" type="_2499" location="f192:85" file="f192" line="85"/>
+  </Method>
+  <Method id="_7012" name="overflow" returns="_503" virtual="1" context="_2473" access="protected" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi" demangled="std::basic_streambuf<char, std::char_traits<char> >::overflow(int)" location="f90:751" file="f90" line="751" endline="751" extern="1" inline="1">
+    <Argument type="_503" location="f90:751" file="f90" line="751" default="_Traits::eof()"/>
+  </Method>
+  <Constructor id="_7013" name="basic_streambuf" context="_2473" access="private" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_ *INTERNAL* " demangled="std::basic_streambuf<char, std::char_traits<char> >::basic_streambuf(std::basic_streambuf<char, std::char_traits<char> > const&)" location="f90:782" file="f90" line="782" extern="1" inline="1">
+    <Argument name="__sb" type="_11645" location="f90:782" file="f90" line="782"/>
+  </Constructor>
+  <OperatorMethod id="_7014" name="=" returns="_11644" context="_2473" access="private" mangled="_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_" demangled="std::basic_streambuf<char, std::char_traits<char> >::operator=(std::basic_streambuf<char, std::char_traits<char> > const&)" location="f90:789" file="f90" line="789" extern="1" inline="1">
+    <Argument type="_11645" location="f90:789" file="f90" line="789"/>
+  </OperatorMethod>
+  <Field id="_7015" name="_M_tie" type="_11646" offset="896" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE6_M_tieE" demangled="std::basic_ios<char, std::char_traits<char> >::_M_tie" location="f193:87" file="f193" line="87"/>
+  <Field id="_7016" name="_M_fill" type="_2961" offset="928" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE7_M_fillE" demangled="std::basic_ios<char, std::char_traits<char> >::_M_fill" mutable="1" location="f193:88" file="f193" line="88"/>
+  <Field id="_7017" name="_M_fill_init" type="_3949" offset="936" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE12_M_fill_initE" demangled="std::basic_ios<char, std::char_traits<char> >::_M_fill_init" mutable="1" location="f193:89" file="f193" line="89"/>
+  <Field id="_7018" name="_M_streambuf" type="_4941" offset="960" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE12_M_streambufE" demangled="std::basic_ios<char, std::char_traits<char> >::_M_streambuf" location="f193:90" file="f193" line="90"/>
+  <Field id="_7019" name="_M_ctype" type="_11647" offset="992" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE8_M_ctypeE" demangled="std::basic_ios<char, std::char_traits<char> >::_M_ctype" location="f193:93" file="f193" line="93"/>
+  <Field id="_7020" name="_M_num_put" type="_11648" offset="1024" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE10_M_num_putE" demangled="std::basic_ios<char, std::char_traits<char> >::_M_num_put" location="f193:95" file="f193" line="95"/>
+  <Field id="_7021" name="_M_num_get" type="_11649" offset="1056" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE10_M_num_getE" demangled="std::basic_ios<char, std::char_traits<char> >::_M_num_get" location="f193:97" file="f193" line="97"/>
+  <Typedef id="_7022" name="char_type" type="_2961" context="_2475" access="public" location="f193:65" file="f193" line="65"/>
+  <Typedef id="_7023" name="int_type" type="_503" context="_2475" access="public" location="f193:66" file="f193" line="66"/>
+  <Typedef id="_7024" name="pos_type" type="_2498" context="_2475" access="public" location="f193:67" file="f193" line="67"/>
+  <Typedef id="_7025" name="off_type" type="_2500" context="_2475" access="public" location="f193:68" file="f193" line="68"/>
+  <Typedef id="_7026" name="traits_type" type="_2510" context="_2475" access="public" location="f193:69" file="f193" line="69"/>
+  <Typedef id="_7027" name="__ctype_type" type="_2362" context="_2475" access="public" location="f193:78" file="f193" line="78"/>
+  <Typedef id="_7028" name="__num_put_type" type="_2350" context="_2475" access="public" location="f193:80" file="f193" line="80"/>
+  <Typedef id="_7029" name="__num_get_type" type="_2352" context="_2475" access="public" location="f193:82" file="f193" line="82"/>
+  <Constructor id="_7030" name="basic_ios" artificial="1" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEEC1ERKS2_ *INTERNAL* " demangled="std::basic_ios<char, std::char_traits<char> >::basic_ios(std::basic_ios<char, std::char_traits<char> > const&)" location="f9:55" file="f9" line="55" inline="1">
+    <Argument name="_ctor_arg" type="_11650" location="f9:55" file="f9" line="55"/>
+  </Constructor>
+  <Converter id="_7031" name="operator 4" returns="_1042" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv" demangled="std::basic_ios<char, std::char_traits<char> >::operator void*() const" location="f193:108" file="f193" line="108" endline="108" extern="1" inline="1"/>
+  <OperatorMethod id="_7032" name="!" returns="_3949" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv" demangled="std::basic_ios<char, std::char_traits<char> >::operator!() const" location="f193:112" file="f193" line="112" extern="1" inline="1"/>
+  <Method id="_7033" name="rdstate" returns="_2129" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv" demangled="std::basic_ios<char, std::char_traits<char> >::rdstate() const" location="f193:124" file="f193" line="124" endline="124" extern="1" inline="1"/>
+  <Method id="_7034" name="clear" returns="_1194" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate" demangled="std::basic_ios<char, std::char_traits<char> >::clear(std::_Ios_Iostate)" location="f194:45" file="f194" line="45" extern="1">
+    <Argument name="__state" type="_2129" location="f194:45" file="f194" line="45" default="std::ios_base::goodbit"/>
+  </Method>
+  <Method id="_7035" name="setstate" returns="_1194" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate" demangled="std::basic_ios<char, std::char_traits<char> >::setstate(std::_Ios_Iostate)" location="f193:144" file="f193" line="144" extern="1" inline="1">
+    <Argument name="__state" type="_2129" location="f193:144" file="f193" line="144"/>
+  </Method>
+  <Method id="_7036" name="_M_setstate" returns="_1194" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate" demangled="std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)" location="f193:151" file="f193" line="151" extern="1" inline="1">
+    <Argument name="__state" type="_2129" location="f193:151" file="f193" line="151"/>
+  </Method>
+  <Method id="_7037" name="good" returns="_3949" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv" demangled="std::basic_ios<char, std::char_traits<char> >::good() const" location="f193:167" file="f193" line="167" extern="1" inline="1"/>
+  <Method id="_7038" name="eof" returns="_3949" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv" demangled="std::basic_ios<char, std::char_traits<char> >::eof() const" location="f193:177" file="f193" line="177" extern="1" inline="1"/>
+  <Method id="_7039" name="fail" returns="_3949" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv" demangled="std::basic_ios<char, std::char_traits<char> >::fail() const" location="f193:188" file="f193" line="188" endline="188" extern="1" inline="1"/>
+  <Method id="_7040" name="bad" returns="_3949" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv" demangled="std::basic_ios<char, std::char_traits<char> >::bad() const" location="f193:198" file="f193" line="198" extern="1" inline="1"/>
+  <Method id="_7041" name="exceptions" returns="_2129" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv" demangled="std::basic_ios<char, std::char_traits<char> >::exceptions() const" location="f193:209" file="f193" line="209" extern="1" inline="1"/>
+  <Method id="_7042" name="exceptions" returns="_1194" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate" demangled="std::basic_ios<char, std::char_traits<char> >::exceptions(std::_Ios_Iostate)" location="f193:244" file="f193" line="244" extern="1" inline="1">
+    <Argument name="__except" type="_2129" location="f193:244" file="f193" line="244"/>
+  </Method>
+  <Constructor id="_7043" name="basic_ios" explicit="1" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E *INTERNAL* " demangled="std::basic_ios<char, std::char_traits<char> >::basic_ios(std::basic_streambuf<char, std::char_traits<char> >*)" location="f193:257" file="f193" line="257" extern="1" inline="1">
+    <Argument name="__sb" type="_4941" location="f193:257" file="f193" line="257"/>
+  </Constructor>
+  <Destructor id="_7044" name="basic_ios" virtual="1" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev *INTERNAL* " demangled="std::basic_ios<char, std::char_traits<char> >::~basic_ios()" location="f193:268" file="f193" line="268" endline="268" extern="1" inline="1">
+  </Destructor>
+  <Method id="_7045" name="tie" returns="_11646" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv" demangled="std::basic_ios<char, std::char_traits<char> >::tie() const" location="f193:282" file="f193" line="282" extern="1" inline="1"/>
+  <Method id="_7046" name="tie" returns="_11646" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo" demangled="std::basic_ios<char, std::char_traits<char> >::tie(std::ostream*)" location="f193:294" file="f193" line="294" extern="1" inline="1">
+    <Argument name="__tiestr" type="_11646" location="f193:294" file="f193" line="294"/>
+  </Method>
+  <Method id="_7047" name="rdbuf" returns="_4941" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv" demangled="std::basic_ios<char, std::char_traits<char> >::rdbuf() const" location="f193:308" file="f193" line="308" endline="308" extern="1" inline="1"/>
+  <Method id="_7048" name="rdbuf" returns="_4941" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E" demangled="std::basic_ios<char, std::char_traits<char> >::rdbuf(std::basic_streambuf<char, std::char_traits<char> >*)" location="f194:57" file="f194" line="57" extern="1">
+    <Argument name="__sb" type="_4941" location="f194:57" file="f194" line="57"/>
+  </Method>
+  <Method id="_7049" name="copyfmt" returns="_11651" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_" demangled="std::basic_ios<char, std::char_traits<char> >::copyfmt(std::basic_ios<char, std::char_traits<char> > const&)" location="f194:67" file="f194" line="67" extern="1">
+    <Argument name="__rhs" type="_11650" location="f194:67" file="f194" line="67"/>
+  </Method>
+  <Method id="_7050" name="fill" returns="_2961" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv" demangled="std::basic_ios<char, std::char_traits<char> >::fill() const" location="f193:357" file="f193" line="357" endline="363" extern="1" inline="1"/>
+  <Method id="_7051" name="fill" returns="_2961" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc" demangled="std::basic_ios<char, std::char_traits<char> >::fill(char)" location="f193:377" file="f193" line="377" endline="380" extern="1" inline="1">
+    <Argument name="__ch" type="_2961" location="f193:377" file="f193" line="377"/>
+  </Method>
+  <Method id="_7052" name="imbue" returns="_2365" context="_2475" access="public" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale" demangled="std::basic_ios<char, std::char_traits<char> >::imbue(std::locale const&)" location="f194:128" file="f194" line="128" extern="1">
+    <Argument name="__loc" type="_5517" location="f194:128" file="f194" line="128"/>
+  </Method>
+  <Method id="_7053" name="narrow" returns="_2961" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc" demangled="std::basic_ios<char, std::char_traits<char> >::narrow(char, char) const" location="f194:117" file="f194" line="117" extern="1">
+    <Argument name="__c" type="_2961" location="f194:117" file="f194" line="117"/>
+    <Argument name="__dfault" type="_2961" location="f194:117" file="f194" line="117"/>
+  </Method>
+  <Method id="_7054" name="widen" returns="_2961" const="1" context="_2475" access="public" mangled="_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc" demangled="std::basic_ios<char, std::char_traits<char> >::widen(char) const" location="f194:122" file="f194" line="122" extern="1">
+    <Argument name="__c" type="_2961" location="f194:122" file="f194" line="122"/>
+  </Method>
+  <Constructor id="_7055" name="basic_ios" explicit="1" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev *INTERNAL* " demangled="std::basic_ios<char, std::char_traits<char> >::basic_ios()" location="f193:445" file="f193" line="445" endline="447" extern="1" inline="1"/>
+  <Method id="_7056" name="init" returns="_1194" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E" demangled="std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)" location="f194:140" file="f194" line="140" extern="1">
+    <Argument name="__sb" type="_4941" location="f194:140" file="f194" line="140"/>
+  </Method>
+  <Method id="_7057" name="_M_cache_locale" returns="_1194" context="_2475" access="protected" mangled="_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale" demangled="std::basic_ios<char, std::char_traits<char> >::_M_cache_locale(std::locale const&)" location="f194:171" file="f194" line="171" extern="1">
+    <Argument name="__loc" type="_5517" location="f194:171" file="f194" line="171"/>
+  </Method>
+  <Variable id="_7058" name="boolalpha" type="_2145c" init="_S_boolalpha" context="_2477" access="public" mangled="_ZNSt8ios_base9boolalphaE" demangled="std::ios_base::boolalpha" location="f33:256" file="f33" line="256" extern="1"/>
+  <Variable id="_7059" name="dec" type="_2145c" init="_S_dec" context="_2477" access="public" mangled="_ZNSt8ios_base3decE" demangled="std::ios_base::dec" location="f33:259" file="f33" line="259" extern="1"/>
+  <Variable id="_7060" name="fixed" type="_2145c" init="_S_fixed" context="_2477" access="public" mangled="_ZNSt8ios_base5fixedE" demangled="std::ios_base::fixed" location="f33:262" file="f33" line="262" extern="1"/>
+  <Variable id="_7061" name="hex" type="_2145c" init="_S_hex" context="_2477" access="public" mangled="_ZNSt8ios_base3hexE" demangled="std::ios_base::hex" location="f33:265" file="f33" line="265" extern="1"/>
+  <Variable id="_7062" name="internal" type="_2145c" init="_S_internal" context="_2477" access="public" mangled="_ZNSt8ios_base8internalE" demangled="std::ios_base::internal" location="f33:270" file="f33" line="270" extern="1"/>
+  <Variable id="_7063" name="left" type="_2145c" init="_S_left" context="_2477" access="public" mangled="_ZNSt8ios_base4leftE" demangled="std::ios_base::left" location="f33:274" file="f33" line="274" extern="1"/>
+  <Variable id="_7064" name="oct" type="_2145c" init="_S_oct" context="_2477" access="public" mangled="_ZNSt8ios_base3octE" demangled="std::ios_base::oct" location="f33:277" file="f33" line="277" extern="1"/>
+  <Variable id="_7065" name="right" type="_2145c" init="_S_right" context="_2477" access="public" mangled="_ZNSt8ios_base5rightE" demangled="std::ios_base::right" location="f33:281" file="f33" line="281" extern="1"/>
+  <Variable id="_7066" name="scientific" type="_2145c" init="_S_scientific" context="_2477" access="public" mangled="_ZNSt8ios_base10scientificE" demangled="std::ios_base::scientific" location="f33:284" file="f33" line="284" extern="1"/>
+  <Variable id="_7067" name="showbase" type="_2145c" init="_S_showbase" context="_2477" access="public" mangled="_ZNSt8ios_base8showbaseE" demangled="std::ios_base::showbase" location="f33:288" file="f33" line="288" extern="1"/>
+  <Variable id="_7068" name="showpoint" type="_2145c" init="_S_showpoint" context="_2477" access="public" mangled="_ZNSt8ios_base9showpointE" demangled="std::ios_base::showpoint" location="f33:292" file="f33" line="292" extern="1"/>
+  <Variable id="_7069" name="showpos" type="_2145c" init="_S_showpos" context="_2477" access="public" mangled="_ZNSt8ios_base7showposE" demangled="std::ios_base::showpos" location="f33:295" file="f33" line="295" extern="1"/>
+  <Variable id="_7070" name="skipws" type="_2145c" init="_S_skipws" context="_2477" access="public" mangled="_ZNSt8ios_base6skipwsE" demangled="std::ios_base::skipws" location="f33:298" file="f33" line="298" extern="1"/>
+  <Variable id="_7071" name="unitbuf" type="_2145c" init="_S_unitbuf" context="_2477" access="public" mangled="_ZNSt8ios_base7unitbufE" demangled="std::ios_base::unitbuf" location="f33:301" file="f33" line="301" extern="1"/>
+  <Variable id="_7072" name="uppercase" type="_2145c" init="_S_uppercase" context="_2477" access="public" mangled="_ZNSt8ios_base9uppercaseE" demangled="std::ios_base::uppercase" location="f33:305" file="f33" line="305" extern="1"/>
+  <Variable id="_7073" name="adjustfield" type="_2145c" init="_S_adjustfield" context="_2477" access="public" mangled="_ZNSt8ios_base11adjustfieldE" demangled="std::ios_base::adjustfield" location="f33:308" file="f33" line="308" extern="1"/>
+  <Variable id="_7074" name="basefield" type="_2145c" init="_S_basefield" context="_2477" access="public" mangled="_ZNSt8ios_base9basefieldE" demangled="std::ios_base::basefield" location="f33:311" file="f33" line="311" extern="1"/>
+  <Variable id="_7075" name="floatfield" type="_2145c" init="_S_floatfield" context="_2477" access="public" mangled="_ZNSt8ios_base10floatfieldE" demangled="std::ios_base::floatfield" location="f33:314" file="f33" line="314" extern="1"/>
+  <Variable id="_7076" name="badbit" type="_2129c" init="_S_badbit" context="_2477" access="public" mangled="_ZNSt8ios_base6badbitE" demangled="std::ios_base::badbit" location="f33:332" file="f33" line="332" extern="1"/>
+  <Variable id="_7077" name="eofbit" type="_2129c" init="_S_eofbit" context="_2477" access="public" mangled="_ZNSt8ios_base6eofbitE" demangled="std::ios_base::eofbit" location="f33:335" file="f33" line="335" extern="1"/>
+  <Variable id="_7078" name="failbit" type="_2129c" init="_S_failbit" context="_2477" access="public" mangled="_ZNSt8ios_base7failbitE" demangled="std::ios_base::failbit" location="f33:340" file="f33" line="340" extern="1"/>
+  <Variable id="_7079" name="goodbit" type="_2129c" init="_S_goodbit" context="_2477" access="public" mangled="_ZNSt8ios_base7goodbitE" demangled="std::ios_base::goodbit" location="f33:343" file="f33" line="343" extern="1"/>
+  <Variable id="_7080" name="app" type="_2137c" init="_S_app" context="_2477" access="public" mangled="_ZNSt8ios_base3appE" demangled="std::ios_base::app" location="f33:362" file="f33" line="362" extern="1"/>
+  <Variable id="_7081" name="ate" type="_2137c" init="_S_ate" context="_2477" access="public" mangled="_ZNSt8ios_base3ateE" demangled="std::ios_base::ate" location="f33:365" file="f33" line="365" extern="1"/>
+  <Variable id="_7082" name="binary" type="_2137c" init="_S_bin" context="_2477" access="public" mangled="_ZNSt8ios_base6binaryE" demangled="std::ios_base::binary" location="f33:371" file="f33" line="371" extern="1"/>
+  <Variable id="_7083" name="in" type="_2137c" init="_S_in" context="_2477" access="public" mangled="_ZNSt8ios_base2inE" demangled="std::ios_base::in" location="f33:374" file="f33" line="374" extern="1"/>
+  <Variable id="_7084" name="out" type="_2137c" init="_S_out" context="_2477" access="public" mangled="_ZNSt8ios_base3outE" demangled="std::ios_base::out" location="f33:377" file="f33" line="377" extern="1"/>
+  <Variable id="_7085" name="trunc" type="_2137c" init="_S_trunc" context="_2477" access="public" mangled="_ZNSt8ios_base5truncE" demangled="std::ios_base::trunc" location="f33:380" file="f33" line="380" extern="1"/>
+  <Variable id="_7086" name="beg" type="_2121c" init="_S_beg" context="_2477" access="public" mangled="_ZNSt8ios_base3begE" demangled="std::ios_base::beg" location="f33:395" file="f33" line="395" extern="1"/>
+  <Variable id="_7087" name="cur" type="_2121c" init="_S_cur" context="_2477" access="public" mangled="_ZNSt8ios_base3curE" demangled="std::ios_base::cur" location="f33:398" file="f33" line="398" extern="1"/>
+  <Variable id="_7088" name="end" type="_2121c" init="_S_end" context="_2477" access="public" mangled="_ZNSt8ios_base3endE" demangled="std::ios_base::end" location="f33:401" file="f33" line="401" extern="1"/>
+  <Field id="_7089" name="_M_precision" type="_2499" offset="32" context="_2477" access="protected" mangled="_ZNSt8ios_base12_M_precisionE" demangled="std::ios_base::_M_precision" location="f33:457" file="f33" line="457"/>
+  <Field id="_7090" name="_M_width" type="_2499" offset="64" context="_2477" access="protected" mangled="_ZNSt8ios_base8_M_widthE" demangled="std::ios_base::_M_width" location="f33:458" file="f33" line="458"/>
+  <Field id="_7091" name="_M_flags" type="_2145" offset="96" context="_2477" access="protected" mangled="_ZNSt8ios_base8_M_flagsE" demangled="std::ios_base::_M_flags" location="f33:459" file="f33" line="459"/>
+  <Field id="_7092" name="_M_exception" type="_2129" offset="128" context="_2477" access="protected" mangled="_ZNSt8ios_base12_M_exceptionE" demangled="std::ios_base::_M_exception" location="f33:460" file="f33" line="460"/>
+  <Field id="_7093" name="_M_streambuf_state" type="_2129" offset="160" context="_2477" access="protected" mangled="_ZNSt8ios_base18_M_streambuf_stateE" demangled="std::ios_base::_M_streambuf_state" location="f33:461" file="f33" line="461"/>
+  <Field id="_7094" name="_M_callbacks" type="_11656" offset="192" context="_2477" access="protected" mangled="_ZNSt8ios_base12_M_callbacksE" demangled="std::ios_base::_M_callbacks" location="f33:487" file="f33" line="487"/>
+  <Field id="_7095" name="_M_word_zero" type="_7114" offset="224" context="_2477" access="protected" mangled="_ZNSt8ios_base12_M_word_zeroE" demangled="std::ios_base::_M_word_zero" location="f33:504" file="f33" line="504"/>
+  <Field id="_7096" name="_M_local_word" type="_11657" offset="288" context="_2477" access="protected" mangled="_ZNSt8ios_base13_M_local_wordE" demangled="std::ios_base::_M_local_word" location="f33:509" file="f33" line="509"/>
+  <Field id="_7097" name="_M_word_size" type="_503" offset="800" context="_2477" access="protected" mangled="_ZNSt8ios_base12_M_word_sizeE" demangled="std::ios_base::_M_word_size" location="f33:512" file="f33" line="512"/>
+  <Field id="_7098" name="_M_word" type="_11658" offset="832" context="_2477" access="protected" mangled="_ZNSt8ios_base7_M_wordE" demangled="std::ios_base::_M_word" location="f33:513" file="f33" line="513"/>
+  <Field id="_7099" name="_M_ios_locale" type="_2365" offset="864" context="_2477" access="protected" mangled="_ZNSt8ios_base13_M_ios_localeE" demangled="std::ios_base::_M_ios_locale" location="f33:519" file="f33" line="519"/>
+  <Class id="_7100" name="failure" context="_2477" access="public" mangled="NSt8ios_base7failureE" demangled="std::ios_base::failure" location="f33:208" file="f33" line="208" artificial="1" size="64" align="32" members="_11659 _11660 _11661 _11662 _11663 " bases="_2424 ">
+    <Base type="_2424" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_7101" name="fmtflags" type="_2145" context="_2477" access="public" location="f33:253" file="f33" line="253"/>
+  <Typedef id="_7102" name="iostate" type="_2129" context="_2477" access="public" location="f33:328" file="f33" line="328"/>
+  <Typedef id="_7103" name="openmode" type="_2137" context="_2477" access="public" location="f33:359" file="f33" line="359"/>
+  <Typedef id="_7104" name="seekdir" type="_2121" context="_2477" access="public" location="f33:392" file="f33" line="392"/>
+  <Typedef id="_7105" name="io_state" type="_503" context="_2477" access="public" location="f33:404" file="f33" line="404"/>
+  <Typedef id="_7106" name="open_mode" type="_503" context="_2477" access="public" location="f33:405" file="f33" line="405"/>
+  <Typedef id="_7107" name="seek_dir" type="_503" context="_2477" access="public" location="f33:406" file="f33" line="406"/>
+  <Typedef id="_7108" name="streampos" type="_2498" context="_2477" access="public" location="f33:408" file="f33" line="408"/>
+  <Typedef id="_7109" name="streamoff" type="_2500" context="_2477" access="public" location="f33:409" file="f33" line="409"/>
+  <Enumeration id="_7110" name="event" context="_2477" access="public" location="f33:419" file="f33" line="419" artificial="1" size="32" align="32">
+    <EnumValue name="erase_event" init="0"/>
+    <EnumValue name="imbue_event" init="1"/>
+    <EnumValue name="copyfmt_event" init="2"/>
+  </Enumeration>
+  <PointerType id="_7111" type="_11664" size="32" align="32"/>
+  <Typedef id="_7112" name="event_callback" type="_7111" context="_2477" access="public" location="f33:435" file="f33" line="435"/>
+  <Struct id="_7113" name="_Callback_list" context="_2477" access="protected" mangled="NSt8ios_base14_Callback_listE" demangled="std::ios_base::_Callback_list" location="f33:467" file="f33" line="467" artificial="1" size="128" align="32" members="_11665 _11666 _11667 _11668 _11669 _11670 _11671 _11672 " bases=""/>
+  <Struct id="_7114" name="_Words" context="_2477" access="protected" mangled="NSt8ios_base6_WordsE" demangled="std::ios_base::_Words" location="f33:497" file="f33" line="497" artificial="1" size="64" align="32" members="_11673 _11674 _11675 _11676 " bases=""/>
+  <Enumeration id="_7115" name="._80" context="_2477" access="protected" location="f33:508" file="f33" line="508" artificial="1" size="32" align="32">
+    <EnumValue name="_S_local_word_size" init="8"/>
+  </Enumeration>
+  <Method id="_7116" name="register_callback" returns="_1194" context="_2477" access="public" mangled="_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi" demangled="std::ios_base::register_callback(void (*)(std::ios_base::event, std::ios_base&, int), int)" location="f33:448" file="f33" line="448" extern="1">
+    <Argument name="__fn" type="_7111" location="f33:448" file="f33" line="448"/>
+    <Argument name="__index" type="_503" location="f33:448" file="f33" line="448"/>
+  </Method>
+  <Method id="_7117" name="_M_call_callbacks" returns="_1194" throw="" context="_2477" access="protected" mangled="_ZNSt8ios_base17_M_call_callbacksENS_5eventE" demangled="std::ios_base::_M_call_callbacks(std::ios_base::event)" location="f33:490" file="f33" line="490" extern="1">
+    <Argument name="__ev" type="_7110" location="f33:490" file="f33" line="490"/>
+  </Method>
+  <Method id="_7118" name="_M_dispose_callbacks" returns="_1194" context="_2477" access="protected" mangled="_ZNSt8ios_base20_M_dispose_callbacksEv" demangled="std::ios_base::_M_dispose_callbacks()" location="f33:493" file="f33" line="493" extern="1"/>
+  <Method id="_7119" name="_M_grow_words" returns="_11677" context="_2477" access="protected" mangled="_ZNSt8ios_base13_M_grow_wordsEib" demangled="std::ios_base::_M_grow_words(int, bool)" location="f33:516" file="f33" line="516" extern="1">
+    <Argument name="__index" type="_503" location="f33:516" file="f33" line="516"/>
+    <Argument name="__iword" type="_3949" location="f33:516" file="f33" line="516"/>
+  </Method>
+  <Method id="_7120" name="_M_init" returns="_1194" context="_2477" access="protected" mangled="_ZNSt8ios_base7_M_initEv" demangled="std::ios_base::_M_init()" location="f33:522" file="f33" line="522" extern="1"/>
+  <Method id="_7121" name="flags" returns="_2145" const="1" context="_2477" access="public" mangled="_ZNKSt8ios_base5flagsEv" demangled="std::ios_base::flags() const" location="f33:548" file="f33" line="548" endline="548" inline="1"/>
+  <Method id="_7122" name="flags" returns="_2145" context="_2477" access="public" mangled="_ZNSt8ios_base5flagsESt13_Ios_Fmtflags" demangled="std::ios_base::flags(std::_Ios_Fmtflags)" location="f33:559" file="f33" line="559" endline="563" inline="1">
+    <Argument name="__fmtfl" type="_2145" location="f33:559" file="f33" line="559"/>
+  </Method>
+  <Method id="_7123" name="setf" returns="_2145" context="_2477" access="public" mangled="_ZNSt8ios_base4setfESt13_Ios_Fmtflags" demangled="std::ios_base::setf(std::_Ios_Fmtflags)" location="f33:575" file="f33" line="575" endline="579" inline="1">
+    <Argument name="__fmtfl" type="_2145" location="f33:575" file="f33" line="575"/>
+  </Method>
+  <Method id="_7124" name="setf" returns="_2145" context="_2477" access="public" mangled="_ZNSt8ios_base4setfESt13_Ios_FmtflagsS0_" demangled="std::ios_base::setf(std::_Ios_Fmtflags, std::_Ios_Fmtflags)" location="f33:592" file="f33" line="592" endline="597" inline="1">
+    <Argument name="__fmtfl" type="_2145" location="f33:592" file="f33" line="592"/>
+    <Argument name="__mask" type="_2145" location="f33:592" file="f33" line="592"/>
+  </Method>
+  <Method id="_7125" name="unsetf" returns="_1194" context="_2477" access="public" mangled="_ZNSt8ios_base6unsetfESt13_Ios_Fmtflags" demangled="std::ios_base::unsetf(std::_Ios_Fmtflags)" location="f33:606" file="f33" line="606" endline="606" inline="1">
+    <Argument name="__mask" type="_2145" location="f33:606" file="f33" line="606"/>
+  </Method>
+  <Method id="_7126" name="precision" returns="_2499" const="1" context="_2477" access="public" mangled="_ZNKSt8ios_base9precisionEv" demangled="std::ios_base::precision() const" location="f33:618" file="f33" line="618" endline="618" inline="1"/>
+  <Method id="_7127" name="precision" returns="_2499" context="_2477" access="public" mangled="_ZNSt8ios_base9precisionEi" demangled="std::ios_base::precision(int)" location="f33:627" file="f33" line="627" endline="631" inline="1">
+    <Argument name="__prec" type="_2499" location="f33:627" file="f33" line="627"/>
+  </Method>
+  <Method id="_7128" name="width" returns="_2499" const="1" context="_2477" access="public" mangled="_ZNKSt8ios_base5widthEv" demangled="std::ios_base::width() const" location="f33:640" file="f33" line="640" endline="640" inline="1"/>
+  <Method id="_7129" name="width" returns="_2499" context="_2477" access="public" mangled="_ZNSt8ios_base5widthEi" demangled="std::ios_base::width(int)" location="f33:649" file="f33" line="649" endline="653" inline="1">
+    <Argument name="__wide" type="_2499" location="f33:649" file="f33" line="649"/>
+  </Method>
+  <Method id="_7130" name="sync_with_stdio" returns="_3949" static="1" context="_2477" access="public" mangled="_ZNSt8ios_base15sync_with_stdioEb" demangled="std::ios_base::sync_with_stdio(bool)" location="f33:667" file="f33" line="667" extern="1">
+    <Argument name="__sync" type="_3949" location="f33:667" file="f33" line="667" default="true"/>
+  </Method>
+  <Method id="_7131" name="imbue" returns="_2365" context="_2477" access="public" mangled="_ZNSt8ios_base5imbueERKSt6locale" demangled="std::ios_base::imbue(std::locale const&)" location="f33:679" file="f33" line="679" extern="1">
+    <Argument name="__loc" type="_5517" location="f33:679" file="f33" line="679"/>
+  </Method>
+  <Method id="_7132" name="getloc" returns="_2365" const="1" context="_2477" access="public" mangled="_ZNKSt8ios_base6getlocEv" demangled="std::ios_base::getloc() const" location="f33:690" file="f33" line="690" endline="690" inline="1"/>
+  <Method id="_7133" name="_M_getloc" returns="_5517" const="1" context="_2477" access="public" mangled="_ZNKSt8ios_base9_M_getlocEv" demangled="std::ios_base::_M_getloc() const" location="f33:700" file="f33" line="700" endline="700" inline="1"/>
+  <Method id="_7134" name="xalloc" returns="_503" static="1" throw="" context="_2477" access="public" mangled="_ZNSt8ios_base6xallocEv" demangled="std::ios_base::xalloc()" location="f33:718" file="f33" line="718" extern="1"/>
+  <Method id="_7135" name="iword" returns="_11497" context="_2477" access="public" mangled="_ZNSt8ios_base5iwordEi" demangled="std::ios_base::iword(int)" location="f33:735" file="f33" line="735" endline="739" inline="1">
+    <Argument name="__ix" type="_503" location="f33:735" file="f33" line="735"/>
+  </Method>
+  <Method id="_7136" name="pword" returns="_11502" context="_2477" access="public" mangled="_ZNSt8ios_base5pwordEi" demangled="std::ios_base::pword(int)" location="f33:756" file="f33" line="756" endline="760" inline="1">
+    <Argument name="__ix" type="_503" location="f33:756" file="f33" line="756"/>
+  </Method>
+  <Destructor id="_7137" name="ios_base" virtual="1" context="_2477" access="public" mangled="_ZNSt8ios_baseD1Ev *INTERNAL* " demangled="std::ios_base::~ios_base()" location="f33:771" file="f33" line="771" extern="1">
+  </Destructor>
+  <Constructor id="_7138" name="ios_base" explicit="1" context="_2477" access="protected" mangled="_ZNSt8ios_baseC1Ev *INTERNAL* " demangled="std::ios_base::ios_base()" location="f33:774" file="f33" line="774" extern="1"/>
+  <Constructor id="_7139" name="ios_base" context="_2477" access="private" mangled="_ZNSt8ios_baseC1ERKS_ *INTERNAL* " demangled="std::ios_base::ios_base(std::ios_base const&)" location="f33:779" file="f33" line="779" extern="1">
+    <Argument type="_11401" location="f33:779" file="f33" line="779"/>
+  </Constructor>
+  <OperatorMethod id="_7140" name="=" returns="_4942" context="_2477" access="private" mangled="_ZNSt8ios_baseaSERKS_" demangled="std::ios_base::operator=(std::ios_base const&)" location="f33:782" file="f33" line="782" extern="1">
+    <Argument type="_11401" location="f33:782" file="f33" line="782"/>
+  </OperatorMethod>
+  <Field id="_7141" name="_M_sbuf" type="_4941" offset="0" context="_2478" access="private" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEE7_M_sbufE" demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::_M_sbuf" location="f195:205" file="f195" line="205"/>
+  <Field id="_7142" name="_M_failed" type="_3949" offset="32" context="_2478" access="private" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEE9_M_failedE" demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::_M_failed" location="f195:206" file="f195" line="206"/>
+  <Typedef id="_7143" name="char_type" type="_2961" context="_2478" access="public" location="f195:198" file="f195" line="198"/>
+  <Typedef id="_7144" name="traits_type" type="_2510" context="_2478" access="public" location="f195:199" file="f195" line="199"/>
+  <Typedef id="_7145" name="streambuf_type" type="_2473" context="_2478" access="public" location="f195:200" file="f195" line="200"/>
+  <Typedef id="_7146" name="ostream_type" type="_2469" context="_2478" access="public" location="f195:201" file="f195" line="201"/>
+  <Constructor id="_7147" name="ostreambuf_iterator" artificial="1" throw="" context="_2478" access="public" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEEC1ERKS2_ *INTERNAL* " demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::ostreambuf_iterator(std::ostreambuf_iterator<char, std::char_traits<char> > const&)" location="f9:101" file="f9" line="101" inline="1">
+    <Argument name="_ctor_arg" type="_11678" location="f9:101" file="f9" line="101"/>
+  </Constructor>
+  <Constructor id="_7148" name="ostreambuf_iterator" throw="" context="_2478" access="public" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEEC1ERSo *INTERNAL* " demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::ostreambuf_iterator(std::ostream&)" location="f195:211" file="f195" line="211" endline="211" inline="1">
+    <Argument name="__s" type="_3924" location="f195:211" file="f195" line="211"/>
+  </Constructor>
+  <Constructor id="_7149" name="ostreambuf_iterator" throw="" context="_2478" access="public" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E *INTERNAL* " demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::ostreambuf_iterator(std::basic_streambuf<char, std::char_traits<char> >*)" location="f195:215" file="f195" line="215" extern="1" inline="1">
+    <Argument name="__s" type="_4941" location="f195:215" file="f195" line="215"/>
+  </Constructor>
+  <OperatorMethod id="_7150" name="=" returns="_11679" context="_2478" access="public" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEEaSEc" demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::operator=(char)" location="f195:220" file="f195" line="220" endline="224" inline="1">
+    <Argument name="__c" type="_2961" location="f195:220" file="f195" line="220"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7151" name="*" returns="_11679" context="_2478" access="public" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEEdeEv" demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::operator*()" location="f195:230" file="f195" line="230" endline="230" inline="1"/>
+  <OperatorMethod id="_7152" name="++" returns="_11679" context="_2478" access="public" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEEppEi" demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::operator++(int)" location="f195:235" file="f195" line="235" extern="1" inline="1">
+    <Argument type="_503" location="f195:235" file="f195" line="235"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7153" name="++" returns="_11679" context="_2478" access="public" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEEppEv" demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::operator++()" location="f195:240" file="f195" line="240" endline="240" inline="1"/>
+  <Method id="_7154" name="failed" returns="_3949" const="1" throw="" context="_2478" access="public" mangled="_ZNKSt19ostreambuf_iteratorIcSt11char_traitsIcEE6failedEv" demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::failed() const" location="f195:245" file="f195" line="245" extern="1" inline="1"/>
+  <Method id="_7155" name="_M_put" returns="_11679" context="_2478" access="public" mangled="_ZNSt19ostreambuf_iteratorIcSt11char_traitsIcEE6_M_putEPKci" demangled="std::ostreambuf_iterator<char, std::char_traits<char> >::_M_put(char const*, int)" location="f195:249" file="f195" line="249" extern="1" inline="1">
+    <Argument name="__ws" type="_2749" location="f195:249" file="f195" line="249"/>
+    <Argument name="__len" type="_2499" location="f195:249" file="f195" line="249"/>
+  </Method>
+  <Field id="_7156" name="_M_off" type="_2500" offset="0" context="_2496" access="private" mangled="_ZNSt4fposI11__mbstate_tE6_M_offE" demangled="std::fpos<__mbstate_t>::_M_off" location="f103:98" file="f103" line="98"/>
+  <Field id="_7157" name="_M_state" type="_767" offset="64" context="_2496" access="private" mangled="_ZNSt4fposI11__mbstate_tE8_M_stateE" demangled="std::fpos<__mbstate_t>::_M_state" location="f103:99" file="f103" line="99"/>
+  <Constructor id="_7158" name="fpos" artificial="1" throw="" context="_2496" access="public" mangled="_ZNSt4fposI11__mbstate_tEC1ERKS1_ *INTERNAL* " demangled="std::fpos<__mbstate_t>::fpos(std::fpos<__mbstate_t> const&)" location="f103:96" file="f103" line="96" inline="1">
+    <Argument name="_ctor_arg" type="_11680" location="f103:96" file="f103" line="96"/>
+  </Constructor>
+  <Constructor id="_7159" name="fpos" explicit="1" context="_2496" access="public" mangled="_ZNSt4fposI11__mbstate_tEC1Ev *INTERNAL* " demangled="std::fpos<__mbstate_t>::fpos()" location="f103:107" file="f103" line="107" extern="1" inline="1"/>
+  <Constructor id="_7160" name="fpos" context="_2496" access="public" mangled="_ZNSt4fposI11__mbstate_tEC1Ex *INTERNAL* " demangled="std::fpos<__mbstate_t>::fpos(long long)" location="f103:117" file="f103" line="117" endline="117" inline="1">
+    <Argument name="__off" type="_2500" location="f103:117" file="f103" line="117"/>
+  </Constructor>
+  <Converter id="_7161" name="operator 1" returns="_2500" const="1" context="_2496" access="public" mangled="_ZNKSt4fposI11__mbstate_tEcvxEv" demangled="std::fpos<__mbstate_t>::operator long long() const" location="f103:120" file="f103" line="120" extern="1" inline="1"/>
+  <Method id="_7162" name="state" returns="_1194" context="_2496" access="public" mangled="_ZNSt4fposI11__mbstate_tE5stateES0_" demangled="std::fpos<__mbstate_t>::state(__mbstate_t)" location="f103:125" file="f103" line="125" extern="1" inline="1">
+    <Argument name="__st" type="_767" location="f103:125" file="f103" line="125"/>
+  </Method>
+  <Method id="_7163" name="state" returns="_767" const="1" context="_2496" access="public" mangled="_ZNKSt4fposI11__mbstate_tE5stateEv" demangled="std::fpos<__mbstate_t>::state() const" location="f103:130" file="f103" line="130" extern="1" inline="1"/>
+  <OperatorMethod id="_7164" name="==" returns="_3949" const="1" context="_2496" access="public" mangled="_ZNKSt4fposI11__mbstate_tEeqERKS1_" demangled="std::fpos<__mbstate_t>::operator==(std::fpos<__mbstate_t> const&) const" location="f103:139" file="f103" line="139" extern="1" inline="1">
+    <Argument name="__other" type="_11680" location="f103:139" file="f103" line="139"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7165" name="!=" returns="_3949" const="1" context="_2496" access="public" mangled="_ZNKSt4fposI11__mbstate_tEneERKS1_" demangled="std::fpos<__mbstate_t>::operator!=(std::fpos<__mbstate_t> const&) const" location="f103:144" file="f103" line="144" extern="1" inline="1">
+    <Argument name="__other" type="_11680" location="f103:144" file="f103" line="144"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7166" name="+=" returns="_11681" context="_2496" access="public" mangled="_ZNSt4fposI11__mbstate_tEpLEx" demangled="std::fpos<__mbstate_t>::operator+=(long long)" location="f103:152" file="f103" line="152" extern="1" inline="1">
+    <Argument name="__off" type="_2500" location="f103:152" file="f103" line="152"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7167" name="-=" returns="_11681" context="_2496" access="public" mangled="_ZNSt4fposI11__mbstate_tEmIEx" demangled="std::fpos<__mbstate_t>::operator-=(long long)" location="f103:163" file="f103" line="163" extern="1" inline="1">
+    <Argument name="__off" type="_2500" location="f103:163" file="f103" line="163"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7168" name="+" returns="_2496" const="1" context="_2496" access="public" mangled="_ZNKSt4fposI11__mbstate_tEplEx" demangled="std::fpos<__mbstate_t>::operator+(long long) const" location="f103:176" file="f103" line="176" extern="1" inline="1">
+    <Argument name="__off" type="_2500" location="f103:176" file="f103" line="176"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7169" name="-" returns="_2496" const="1" context="_2496" access="public" mangled="_ZNKSt4fposI11__mbstate_tEmiEx" demangled="std::fpos<__mbstate_t>::operator-(long long) const" location="f103:190" file="f103" line="190" extern="1" inline="1">
+    <Argument name="__off" type="_2500" location="f103:190" file="f103" line="190"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7170" name="-" returns="_2500" const="1" context="_2496" access="public" mangled="_ZNKSt4fposI11__mbstate_tEmiERKS1_" demangled="std::fpos<__mbstate_t>::operator-(std::fpos<__mbstate_t> const&) const" location="f103:203" file="f103" line="203" extern="1" inline="1">
+    <Argument name="__other" type="_11680" location="f103:203" file="f103" line="203"/>
+  </OperatorMethod>
+  <Variable id="_7171" name="npos" type="_1698c" init="0x0ffffffff" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4nposE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::npos" location="f93:2716" file="f93" line="2716" extern="1"/>
+  <Field id="_7172" name="_M_dataplus" type="_7190" offset="0" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE11_M_dataplusE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_dataplus" mutable="1" location="f93:2720" file="f93" line="2720"/>
+  <Typedef id="_7173" name="traits_type" type="_2511" context="_2506" access="public" location="f93:2569" file="f93" line="2569"/>
+  <Typedef id="_7174" name="value_type" type="_2786" context="_2506" access="public" location="f93:2570" file="f93" line="2570"/>
+  <Typedef id="_7175" name="allocator_type" type="_2515" context="_2506" access="public" location="f93:2571" file="f93" line="2571"/>
+  <Typedef id="_7176" name="size_type" type="_1698" context="_2506" access="public" location="f93:2572" file="f93" line="2572"/>
+  <Typedef id="_7177" name="difference_type" type="_1699" context="_2506" access="public" location="f93:2573" file="f93" line="2573"/>
+  <ReferenceType id="_7178" type="_2786" size="32" align="32"/>
+  <Typedef id="_7179" name="reference" type="_7178" context="_2506" access="public" location="f93:2574" file="f93" line="2574"/>
+  <ReferenceType id="_7180" type="_2786c" size="32" align="32"/>
+  <Typedef id="_7181" name="const_reference" type="_7180" context="_2506" access="public" location="f93:2575" file="f93" line="2575"/>
+  <Typedef id="_7182" name="pointer" type="_2778" context="_2506" access="public" location="f93:2576" file="f93" line="2576"/>
+  <Typedef id="_7183" name="const_pointer" type="_2780" context="_2506" access="public" location="f93:2577" file="f93" line="2577"/>
+  <Typedef id="_7184" name="iterator" type="_3332" context="_2506" access="public" location="f93:2578" file="f93" line="2578"/>
+  <Typedef id="_7185" name="const_iterator" type="_3331" context="_2506" access="public" location="f93:2580" file="f93" line="2580"/>
+  <Typedef id="_7186" name="const_reverse_iterator" type="_2554" context="_2506" access="public" location="f93:2581" file="f93" line="2581"/>
+  <Typedef id="_7187" name="reverse_iterator" type="_2555" context="_2506" access="public" location="f93:2582" file="f93" line="2582"/>
+  <Struct id="_7188" name="_Rep_base" context="_2506" access="private" mangled="NSbIwSt11char_traitsIwESaIwEE9_Rep_baseE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base" location="f93:2600" file="f93" line="2600" artificial="1" size="96" align="32" members="_11682 _11683 _11684 _11685 _11686 " bases=""/>
+  <Struct id="_7189" name="_Rep" context="_2506" access="private" mangled="NSbIwSt11char_traitsIwESaIwEE4_RepE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep" location="f93:2607" file="f93" line="2607" artificial="1" size="96" align="32" members="_11687 _11688 _11689 _11690 _11691 _11692 _11693 _11694 _11695 _11696 _11697 _11698 _11699 _11700 _11701 _11702 _11703 _11704 _11705 " bases="_7188 ">
+    <Base type="_7188" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_7190" name="_Alloc_hider" context="_2506" access="private" mangled="NSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider" location="f93:2704" file="f93" line="2704" artificial="1" size="32" align="32" members="_11706 _11707 _11708 _11709 " bases="_2515 ">
+    <Base type="_2515" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Method id="_7191" name="_M_data" returns="_2778" const="1" context="_2506" access="private" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_data() const" location="f93:2724" file="f93" line="2724" endline="2724" extern="1" inline="1"/>
+  <Method id="_7192" name="_M_data" returns="_2778" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_data(wchar_t*)" location="f93:2728" file="f93" line="2728" extern="1" inline="1">
+    <Argument name="__p" type="_2778" location="f93:2728" file="f93" line="2728"/>
+  </Method>
+  <Method id="_7193" name="_M_rep" returns="_11710" const="1" context="_2506" access="private" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_rep() const" location="f93:2732" file="f93" line="2732" endline="2732" extern="1" inline="1"/>
+  <Method id="_7194" name="_M_ibegin" returns="_3332" const="1" context="_2506" access="private" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_ibegin() const" location="f93:2738" file="f93" line="2738" endline="2738" extern="1" inline="1"/>
+  <Method id="_7195" name="_M_iend" returns="_3332" const="1" context="_2506" access="private" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_iend() const" location="f93:2742" file="f93" line="2742" endline="2742" extern="1" inline="1"/>
+  <Method id="_7196" name="_M_leak" returns="_1194" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_leak()" location="f93:2746" file="f93" line="2746" endline="2748" extern="1" inline="1"/>
+  <Method id="_7197" name="_M_check" returns="_1698" const="1" context="_2506" access="private" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_check(unsigned, char const*) const" location="f93:2753" file="f93" line="2753" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:2753" file="f93" line="2753"/>
+    <Argument name="__s" type="_2749" location="f93:2753" file="f93" line="2753"/>
+  </Method>
+  <Method id="_7198" name="_M_check_length" returns="_1194" const="1" context="_2506" access="private" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_check_length(unsigned, unsigned, char const*) const" location="f93:2761" file="f93" line="2761" extern="1" inline="1">
+    <Argument name="__n1" type="_1698" location="f93:2761" file="f93" line="2761"/>
+    <Argument name="__n2" type="_1698" location="f93:2761" file="f93" line="2761"/>
+    <Argument name="__s" type="_2749" location="f93:2761" file="f93" line="2761"/>
+  </Method>
+  <Method id="_7199" name="_M_limit" returns="_1698" const="1" context="_2506" access="private" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_limit(unsigned, unsigned) const" location="f93:2769" file="f93" line="2769" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:2769" file="f93" line="2769"/>
+    <Argument name="__off" type="_1698" location="f93:2769" file="f93" line="2769"/>
+  </Method>
+  <Method id="_7200" name="_M_disjunct" returns="_3949" const="1" context="_2506" access="private" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_disjunct(wchar_t const*) const" location="f93:2777" file="f93" line="2777" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:2777" file="f93" line="2777"/>
+  </Method>
+  <Method id="_7201" name="_M_copy" returns="_1194" static="1" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_copy(wchar_t*, wchar_t const*, unsigned)" location="f93:2787" file="f93" line="2787" endline="2791" extern="1" inline="1">
+    <Argument name="__d" type="_2778" location="f93:2787" file="f93" line="2787"/>
+    <Argument name="__s" type="_2780" location="f93:2787" file="f93" line="2787"/>
+    <Argument name="__n" type="_1698" location="f93:2787" file="f93" line="2787"/>
+  </Method>
+  <Method id="_7202" name="_M_move" returns="_1194" static="1" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_move(wchar_t*, wchar_t const*, unsigned)" location="f93:2796" file="f93" line="2796" extern="1" inline="1">
+    <Argument name="__d" type="_2778" location="f93:2796" file="f93" line="2796"/>
+    <Argument name="__s" type="_2780" location="f93:2796" file="f93" line="2796"/>
+    <Argument name="__n" type="_1698" location="f93:2796" file="f93" line="2796"/>
+  </Method>
+  <Method id="_7203" name="_M_assign" returns="_1194" static="1" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_assign(wchar_t*, unsigned, wchar_t)" location="f93:2805" file="f93" line="2805" extern="1" inline="1">
+    <Argument name="__d" type="_2778" location="f93:2805" file="f93" line="2805"/>
+    <Argument name="__n" type="_1698" location="f93:2805" file="f93" line="2805"/>
+    <Argument name="__c" type="_2786" location="f93:2805" file="f93" line="2805"/>
+  </Method>
+  <Method id="_7204" name="_S_copy_chars" returns="_1194" static="1" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_S_copy_chars(wchar_t*, __gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cx [...]
+    <Argument name="__p" type="_2778" location="f93:2824" file="f93" line="2824"/>
+    <Argument name="__k1" type="_3332" location="f93:2824" file="f93" line="2824"/>
+    <Argument name="__k2" type="_3332" location="f93:2824" file="f93" line="2824"/>
+  </Method>
+  <Method id="_7205" name="_S_copy_chars" returns="_1194" static="1" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_S_copy_chars(wchar_t*, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __ [...]
+    <Argument name="__p" type="_2778" location="f93:2828" file="f93" line="2828"/>
+    <Argument name="__k1" type="_3331" location="f93:2828" file="f93" line="2828"/>
+    <Argument name="__k2" type="_3331" location="f93:2828" file="f93" line="2828"/>
+  </Method>
+  <Method id="_7206" name="_S_copy_chars" returns="_1194" static="1" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_S_copy_chars(wchar_t*, wchar_t*, wchar_t*)" location="f93:2832" file="f93" line="2832" endline="2832" extern="1" inline="1">
+    <Argument name="__p" type="_2778" location="f93:2832" file="f93" line="2832"/>
+    <Argument name="__k1" type="_2778" location="f93:2832" file="f93" line="2832"/>
+    <Argument name="__k2" type="_2778" location="f93:2832" file="f93" line="2832"/>
+  </Method>
+  <Method id="_7207" name="_S_copy_chars" returns="_1194" static="1" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_S_copy_chars(wchar_t*, wchar_t const*, wchar_t const*)" location="f93:2836" file="f93" line="2836" extern="1" inline="1">
+    <Argument name="__p" type="_2778" location="f93:2836" file="f93" line="2836"/>
+    <Argument name="__k1" type="_2780" location="f93:2836" file="f93" line="2836"/>
+    <Argument name="__k2" type="_2780" location="f93:2836" file="f93" line="2836"/>
+  </Method>
+  <Method id="_7208" name="_M_mutate" returns="_1194" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_mutate(unsigned, unsigned, unsigned)" location="f91:451" file="f91" line="451" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:451" file="f91" line="451"/>
+    <Argument name="__len1" type="_1698" location="f91:451" file="f91" line="451"/>
+    <Argument name="__len2" type="_1698" location="f91:451" file="f91" line="451"/>
+  </Method>
+  <Method id="_7209" name="_M_leak_hard" returns="_1194" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_leak_hard()" location="f91:437" file="f91" line="437" extern="1"/>
+  <Method id="_7210" name="_S_empty_rep" returns="_11711" static="1" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_S_empty_rep()" location="f93:2846" file="f93" line="2846" endline="2846" extern="1" inline="1"/>
+  <Constructor id="_7211" name="basic_string" explicit="1" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEC1Ev *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string()" location="f93:4485" file="f93" line="4485" endline="4485" extern="1" inline="1"/>
+  <Constructor id="_7212" name="basic_string" explicit="1" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(std::allocator<wchar_t> const&)" location="f91:191" file="f91" line="191" extern="1">
+    <Argument name="__a" type="_5510" location="f91:191" file="f91" line="191"/>
+  </Constructor>
+  <Constructor id="_7213" name="basic_string" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f91:183" file="f91" line="183" extern="1">
+    <Argument name="__str" type="_4947" location="f91:183" file="f91" line="183"/>
+  </Constructor>
+  <Constructor id="_7214" name="basic_string" explicit="1" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned, unsigned)" location="f91:197" file="f91" line="197" extern="1">
+    <Argument name="__str" type="_4947" location="f91:197" file="f91" line="197"/>
+    <Argument name="__pos" type="_1698" location="f91:197" file="f91" line="197"/>
+    <Argument name="__n" type="_1698" location="f91:197" file="f91" line="197" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Constructor>
+  <Constructor id="_7215" name="basic_string" explicit="1" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned, unsigned, std::allocator<wchar_t> const&)" location="f91:208" file="f91" line=" [...]
+    <Argument name="__str" type="_4947" location="f91:208" file="f91" line="208"/>
+    <Argument name="__pos" type="_1698" location="f91:208" file="f91" line="208"/>
+    <Argument name="__n" type="_1698" location="f91:208" file="f91" line="208"/>
+    <Argument name="__a" type="_5510" location="f91:208" file="f91" line="208"/>
+  </Constructor>
+  <Constructor id="_7216" name="basic_string" explicit="1" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(wchar_t const*, unsigned, std::allocator<wchar_t> const&)" location="f91:219" file="f91" line="219" extern="1">
+    <Argument name="__s" type="_2780" location="f91:219" file="f91" line="219"/>
+    <Argument name="__n" type="_1698" location="f91:219" file="f91" line="219"/>
+    <Argument name="__a" type="_5510" location="f91:219" file="f91" line="219" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_7217" name="basic_string" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(wchar_t const*, std::allocator<wchar_t> const&)" location="f91:226" file="f91" line="226" extern="1">
+    <Argument name="__s" type="_2780" location="f91:226" file="f91" line="226"/>
+    <Argument name="__a" type="_5510" location="f91:226" file="f91" line="226" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_7218" name="basic_string" explicit="1" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(unsigned, wchar_t, std::allocator<wchar_t> const&)" location="f91:233" file="f91" line="233" extern="1">
+    <Argument name="__n" type="_1698" location="f91:233" file="f91" line="233"/>
+    <Argument name="__c" type="_2786" location="f91:233" file="f91" line="233"/>
+    <Argument name="__a" type="_5510" location="f91:233" file="f91" line="233" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Destructor id="_7219" name="basic_string" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEED1Ev *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()" location="f93:2928" file="f93" line="2928" endline="2928" extern="1" inline="1">
+  </Destructor>
+  <OperatorMethod id="_7220" name="=" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator=(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f93:2936" file="f93" line="2936" endline="2936" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:2936" file="f93" line="2936"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7221" name="=" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator=(wchar_t const*)" location="f93:2944" file="f93" line="2944" endline="2944" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:2944" file="f93" line="2944"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7222" name="=" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEaSEw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator=(wchar_t)" location="f93:2955" file="f93" line="2955" extern="1" inline="1">
+    <Argument name="__c" type="_2786" location="f93:2955" file="f93" line="2955"/>
+  </OperatorMethod>
+  <Method id="_7223" name="begin" returns="_3332" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE5beginEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::begin()" location="f93:2967" file="f93" line="2967" endline="2969" extern="1" inline="1"/>
+  <Method id="_7224" name="begin" returns="_3331" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::begin() const" location="f93:2978" file="f93" line="2978" endline="2978" extern="1" inline="1"/>
+  <Method id="_7225" name="end" returns="_3332" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE3endEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::end()" location="f93:2986" file="f93" line="2986" endline="2988" extern="1" inline="1"/>
+  <Method id="_7226" name="end" returns="_3331" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE3endEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::end() const" location="f93:2997" file="f93" line="2997" endline="2997" extern="1" inline="1"/>
+  <Method id="_7227" name="rbegin" returns="_2555" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rbegin()" location="f93:3006" file="f93" line="3006" extern="1" inline="1"/>
+  <Method id="_7228" name="rbegin" returns="_2554" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rbegin() const" location="f93:3015" file="f93" line="3015" extern="1" inline="1"/>
+  <Method id="_7229" name="rend" returns="_2555" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4rendEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rend()" location="f93:3024" file="f93" line="3024" extern="1" inline="1"/>
+  <Method id="_7230" name="rend" returns="_2554" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rend() const" location="f93:3033" file="f93" line="3033" extern="1" inline="1"/>
+  <Method id="_7231" name="size" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::size() const" location="f93:3041" file="f93" line="3041" endline="3041" extern="1" inline="1"/>
+  <Method id="_7232" name="length" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::length() const" location="f93:3047" file="f93" line="3047" endline="3047" extern="1" inline="1"/>
+  <Method id="_7233" name="max_size" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::max_size() const" location="f93:3052" file="f93" line="3052" extern="1" inline="1"/>
+  <Method id="_7234" name="resize" returns="_1194" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::resize(unsigned, wchar_t)" location="f91:614" file="f91" line="614" extern="1">
+    <Argument name="__n" type="_1698" location="f91:614" file="f91" line="614"/>
+    <Argument name="__c" type="_2786" location="f91:614" file="f91" line="614"/>
+  </Method>
+  <Method id="_7235" name="resize" returns="_1194" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::resize(unsigned)" location="f93:3079" file="f93" line="3079" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:3079" file="f93" line="3079"/>
+  </Method>
+  <Method id="_7236" name="capacity" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::capacity() const" location="f93:3087" file="f93" line="3087" extern="1" inline="1"/>
+  <Method id="_7237" name="reserve" returns="_1194" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::reserve(unsigned)" location="f91:484" file="f91" line="484" extern="1">
+    <Argument name="__res" type="_1698" location="f91:484" file="f91" line="484" default="0"/>
+  </Method>
+  <Method id="_7238" name="clear" returns="_1194" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE5clearEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::clear()" location="f93:3114" file="f93" line="3114" extern="1" inline="1"/>
+  <Method id="_7239" name="empty" returns="_3949" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::empty() const" location="f93:3121" file="f93" line="3121" extern="1" inline="1"/>
+  <OperatorMethod id="_7240" name="[]" returns="_7180" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEEixEj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator[](unsigned) const" location="f93:3136" file="f93" line="3136" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3136" file="f93" line="3136"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7241" name="[]" returns="_7178" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEixEj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator[](unsigned)" location="f93:3153" file="f93" line="3153" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3153" file="f93" line="3153"/>
+  </OperatorMethod>
+  <Method id="_7242" name="at" returns="_7180" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE2atEj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::at(unsigned) const" location="f93:3171" file="f93" line="3171" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:3171" file="f93" line="3171"/>
+  </Method>
+  <Method id="_7243" name="at" returns="_7178" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE2atEj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::at(unsigned)" location="f93:3190" file="f93" line="3190" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:3190" file="f93" line="3190"/>
+  </Method>
+  <OperatorMethod id="_7244" name="+=" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator+=(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f93:3205" file="f93" line="3205" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:3205" file="f93" line="3205"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7245" name="+=" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator+=(wchar_t const*)" location="f93:3214" file="f93" line="3214" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:3214" file="f93" line="3214"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7246" name="+=" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEEpLEw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator+=(wchar_t)" location="f93:3223" file="f93" line="3223" extern="1" inline="1">
+    <Argument name="__c" type="_2786" location="f93:3223" file="f93" line="3223"/>
+  </OperatorMethod>
+  <Method id="_7247" name="append" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::append(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f91:330" file="f91" line="330" extern="1">
+    <Argument name="__str" type="_4947" location="f91:330" file="f91" line="330"/>
+  </Method>
+  <Method id="_7248" name="append" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::append(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned, unsigned)" location="f91:347" file="f91" line="347" extern="1">
+    <Argument name="__str" type="_4947" location="f91:347" file="f91" line="347"/>
+    <Argument name="__pos" type="_1698" location="f91:347" file="f91" line="347"/>
+    <Argument name="__n" type="_1698" location="f91:347" file="f91" line="347"/>
+  </Method>
+  <Method id="_7249" name="append" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::append(wchar_t const*, unsigned)" location="f91:303" file="f91" line="303" extern="1">
+    <Argument name="__s" type="_2780" location="f91:303" file="f91" line="303"/>
+    <Argument name="__n" type="_1698" location="f91:303" file="f91" line="303"/>
+  </Method>
+  <Method id="_7250" name="append" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::append(wchar_t const*)" location="f93:3267" file="f93" line="3267" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:3267" file="f93" line="3267"/>
+  </Method>
+  <Method id="_7251" name="append" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::append(unsigned, wchar_t)" location="f91:286" file="f91" line="286" extern="1">
+    <Argument name="__n" type="_1698" location="f91:286" file="f91" line="286"/>
+    <Argument name="__c" type="_2786" location="f91:286" file="f91" line="286"/>
+  </Method>
+  <Method id="_7252" name="push_back" returns="_1194" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::push_back(wchar_t)" location="f93:3302" file="f93" line="3302" extern="1" inline="1">
+    <Argument name="__c" type="_2786" location="f93:3302" file="f93" line="3302"/>
+  </Method>
+  <Method id="_7253" name="assign" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::assign(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f91:248" file="f91" line="248" extern="1">
+    <Argument name="__str" type="_4947" location="f91:248" file="f91" line="248"/>
+  </Method>
+  <Method id="_7254" name="assign" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::assign(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned, unsigned)" location="f93:3332" file="f93" line="3332" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:3332" file="f93" line="3332"/>
+    <Argument name="__pos" type="_1698" location="f93:3332" file="f93" line="3332"/>
+    <Argument name="__n" type="_1698" location="f93:3332" file="f93" line="3332"/>
+  </Method>
+  <Method id="_7255" name="assign" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::assign(wchar_t const*, unsigned)" location="f91:264" file="f91" line="264" extern="1">
+    <Argument name="__s" type="_2780" location="f91:264" file="f91" line="264"/>
+    <Argument name="__n" type="_1698" location="f91:264" file="f91" line="264"/>
+  </Method>
+  <Method id="_7256" name="assign" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::assign(wchar_t const*)" location="f93:3360" file="f93" line="3360" endline="3362" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:3360" file="f93" line="3360"/>
+  </Method>
+  <Method id="_7257" name="assign" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::assign(unsigned, wchar_t)" location="f93:3376" file="f93" line="3376" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:3376" file="f93" line="3376"/>
+    <Argument name="__c" type="_2786" location="f93:3376" file="f93" line="3376"/>
+  </Method>
+  <Method id="_7258" name="insert" returns="_1194" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::insert(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, unsigned, wchar_t)" location="f93:3405" file="f93" line= [...]
+    <Argument name="__p" type="_3332" location="f93:3405" file="f93" line="3405"/>
+    <Argument name="__n" type="_1698" location="f93:3405" file="f93" line="3405"/>
+    <Argument name="__c" type="_2786" location="f93:3405" file="f93" line="3405"/>
+  </Method>
+  <Method id="_7259" name="insert" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::insert(unsigned, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f93:3436" file="f93" line="3436" extern="1" inline="1">
+    <Argument name="__pos1" type="_1698" location="f93:3436" file="f93" line="3436"/>
+    <Argument name="__str" type="_4947" location="f93:3436" file="f93" line="3436"/>
+  </Method>
+  <Method id="_7260" name="insert" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::insert(unsigned, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned, unsigned)" location="f93:3459" file="f93" line="3459" extern="1" inline="1">
+    <Argument name="__pos1" type="_1698" location="f93:3459" file="f93" line="3459"/>
+    <Argument name="__str" type="_4947" location="f93:3459" file="f93" line="3459"/>
+    <Argument name="__pos2" type="_1698" location="f93:3459" file="f93" line="3459"/>
+    <Argument name="__n" type="_1698" location="f93:3459" file="f93" line="3459"/>
+  </Method>
+  <Method id="_7261" name="insert" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::insert(unsigned, wchar_t const*, unsigned)" location="f91:365" file="f91" line="365" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:365" file="f91" line="365"/>
+    <Argument name="__s" type="_2780" location="f91:365" file="f91" line="365"/>
+    <Argument name="__n" type="_1698" location="f91:365" file="f91" line="365"/>
+  </Method>
+  <Method id="_7262" name="insert" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::insert(unsigned, wchar_t const*)" location="f93:3499" file="f93" line="3499" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3499" file="f93" line="3499"/>
+    <Argument name="__s" type="_2780" location="f93:3499" file="f93" line="3499"/>
+  </Method>
+  <Method id="_7263" name="insert" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::insert(unsigned, unsigned, wchar_t)" location="f93:3522" file="f93" line="3522" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3522" file="f93" line="3522"/>
+    <Argument name="__n" type="_1698" location="f93:3522" file="f93" line="3522"/>
+    <Argument name="__c" type="_2786" location="f93:3522" file="f93" line="3522"/>
+  </Method>
+  <Method id="_7264" name="insert" returns="_3332" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::insert(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, wchar_t)" location="f93:3539" file="f93" line="3539" exte [...]
+    <Argument name="__p" type="_3332" location="f93:3539" file="f93" line="3539"/>
+    <Argument name="__c" type="_2786" location="f93:3539" file="f93" line="3539"/>
+  </Method>
+  <Method id="_7265" name="erase" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::erase(unsigned, unsigned)" location="f93:3563" file="f93" line="3563" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3563" file="f93" line="3563" default="0"/>
+    <Argument name="__n" type="_1698" location="f93:3563" file="f93" line="3563" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7266" name="erase" returns="_3332" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::erase(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >)" location="f93:3579" file="f93" line="3579" extern="1" inline="1">
+    <Argument name="__position" type="_3332" location="f93:3579" file="f93" line="3579"/>
+  </Method>
+  <Method id="_7267" name="erase" returns="_3332" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::erase(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, std::basic_strin [...]
+    <Argument name="__first" type="_3332" location="f93:3599" file="f93" line="3599"/>
+    <Argument name="__last" type="_3332" location="f93:3599" file="f93" line="3599"/>
+  </Method>
+  <Method id="_7268" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(unsigned, unsigned, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f93:3626" file="f93" line="3626" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3626" file="f93" line="3626"/>
+    <Argument name="__n" type="_1698" location="f93:3626" file="f93" line="3626"/>
+    <Argument name="__str" type="_4947" location="f93:3626" file="f93" line="3626"/>
+  </Method>
+  <Method id="_7269" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(unsigned, unsigned, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned, unsigned)" location="f93:3649" file="f93" line="3649" extern="1" inline="1">
+    <Argument name="__pos1" type="_1698" location="f93:3649" file="f93" line="3649"/>
+    <Argument name="__n1" type="_1698" location="f93:3649" file="f93" line="3649"/>
+    <Argument name="__str" type="_4947" location="f93:3649" file="f93" line="3649"/>
+    <Argument name="__pos2" type="_1698" location="f93:3649" file="f93" line="3649"/>
+    <Argument name="__n2" type="_1698" location="f93:3649" file="f93" line="3649"/>
+  </Method>
+  <Method id="_7270" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(unsigned, unsigned, wchar_t const*, unsigned)" location="f91:397" file="f91" line="397" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:397" file="f91" line="397"/>
+    <Argument name="__n1" type="_1698" location="f91:397" file="f91" line="397"/>
+    <Argument name="__s" type="_2780" location="f91:397" file="f91" line="397"/>
+    <Argument name="__n2" type="_1698" location="f91:397" file="f91" line="397"/>
+  </Method>
+  <Method id="_7271" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(unsigned, unsigned, wchar_t const*)" location="f93:3691" file="f93" line="3691" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3691" file="f93" line="3691"/>
+    <Argument name="__n1" type="_1698" location="f93:3691" file="f93" line="3691"/>
+    <Argument name="__s" type="_2780" location="f93:3691" file="f93" line="3691"/>
+  </Method>
+  <Method id="_7272" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(unsigned, unsigned, unsigned, wchar_t)" location="f93:3714" file="f93" line="3714" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3714" file="f93" line="3714"/>
+    <Argument name="__n1" type="_1698" location="f93:3714" file="f93" line="3714"/>
+    <Argument name="__n2" type="_1698" location="f93:3714" file="f93" line="3714"/>
+    <Argument name="__c" type="_2786" location="f93:3714" file="f93" line="3714"/>
+  </Method>
+  <Method id="_7273" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, std:: [...]
+    <Argument name="__i1" type="_3332" location="f93:3732" file="f93" line="3732"/>
+    <Argument name="__i2" type="_3332" location="f93:3732" file="f93" line="3732"/>
+    <Argument name="__str" type="_4947" location="f93:3732" file="f93" line="3732"/>
+  </Method>
+  <Method id="_7274" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, std::b [...]
+    <Argument name="__i1" type="_3332" location="f93:3750" file="f93" line="3750"/>
+    <Argument name="__i2" type="_3332" location="f93:3750" file="f93" line="3750"/>
+    <Argument name="__s" type="_2780" location="f93:3750" file="f93" line="3750"/>
+    <Argument name="__n" type="_1698" location="f93:3750" file="f93" line="3750"/>
+  </Method>
+  <Method id="_7275" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, std::ba [...]
+    <Argument name="__i1" type="_3332" location="f93:3771" file="f93" line="3771"/>
+    <Argument name="__i2" type="_3332" location="f93:3771" file="f93" line="3771"/>
+    <Argument name="__s" type="_2780" location="f93:3771" file="f93" line="3771"/>
+  </Method>
+  <Method id="_7276" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, std::bas [...]
+    <Argument name="__i1" type="_3332" location="f93:3792" file="f93" line="3792"/>
+    <Argument name="__i2" type="_3332" location="f93:3792" file="f93" line="3792"/>
+    <Argument name="__n" type="_1698" location="f93:3792" file="f93" line="3792"/>
+    <Argument name="__c" type="_2786" location="f93:3792" file="f93" line="3792"/>
+  </Method>
+  <Method id="_7277" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, std: [...]
+    <Argument name="__i1" type="_3332" location="f93:3828" file="f93" line="3828"/>
+    <Argument name="__i2" type="_3332" location="f93:3828" file="f93" line="3828"/>
+    <Argument name="__k1" type="_2778" location="f93:3828" file="f93" line="3828"/>
+    <Argument name="__k2" type="_2778" location="f93:3828" file="f93" line="3828"/>
+  </Method>
+  <Method id="_7278" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, std: [...]
+    <Argument name="__i1" type="_3332" location="f93:3839" file="f93" line="3839"/>
+    <Argument name="__i2" type="_3332" location="f93:3839" file="f93" line="3839"/>
+    <Argument name="__k1" type="_2780" location="f93:3839" file="f93" line="3839"/>
+    <Argument name="__k2" type="_2780" location="f93:3839" file="f93" line="3839"/>
+  </Method>
+  <Method id="_7279" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, std: [...]
+    <Argument name="__i1" type="_3332" location="f93:3849" file="f93" line="3849"/>
+    <Argument name="__i2" type="_3332" location="f93:3849" file="f93" line="3849"/>
+    <Argument name="__k1" type="_3332" location="f93:3849" file="f93" line="3849"/>
+    <Argument name="__k2" type="_3332" location="f93:3849" file="f93" line="3849"/>
+  </Method>
+  <Method id="_7280" name="replace" returns="_4945" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wcha [...]
+    <Argument name="__i1" type="_3332" location="f93:3860" file="f93" line="3860"/>
+    <Argument name="__i2" type="_3332" location="f93:3860" file="f93" line="3860"/>
+    <Argument name="__k1" type="_3331" location="f93:3860" file="f93" line="3860"/>
+    <Argument name="__k2" type="_3331" location="f93:3860" file="f93" line="3860"/>
+  </Method>
+  <Method id="_7281" name="_M_replace_aux" returns="_4945" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_replace_aux(unsigned, unsigned, unsigned, wchar_t)" location="f91:643" file="f91" line="643" extern="1">
+    <Argument name="__pos1" type="_1698" location="f91:643" file="f91" line="643"/>
+    <Argument name="__n1" type="_1698" location="f91:643" file="f91" line="643"/>
+    <Argument name="__n2" type="_1698" location="f91:643" file="f91" line="643"/>
+    <Argument name="__c" type="_2786" location="f91:643" file="f91" line="643"/>
+  </Method>
+  <Method id="_7282" name="_M_replace_safe" returns="_4945" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_replace_safe(unsigned, unsigned, wchar_t const*, unsigned)" location="f91:656" file="f91" line="656" extern="1">
+    <Argument name="__pos1" type="_1698" location="f91:656" file="f91" line="656"/>
+    <Argument name="__n1" type="_1698" location="f91:656" file="f91" line="656"/>
+    <Argument name="__s" type="_2780" location="f91:656" file="f91" line="656"/>
+    <Argument name="__n2" type="_1698" location="f91:656" file="f91" line="656"/>
+  </Method>
+  <Method id="_7283" name="_S_construct" returns="_2778" static="1" context="_2506" access="private" mangled="_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_S_construct(unsigned, wchar_t, std::allocator<wchar_t> const&)" location="f91:166" file="f91" line="166" extern="1">
+    <Argument name="__n" type="_1698" location="f91:166" file="f91" line="166"/>
+    <Argument name="__c" type="_2786" location="f91:166" file="f91" line="166"/>
+    <Argument name="__a" type="_5510" location="f91:166" file="f91" line="166"/>
+  </Method>
+  <Method id="_7284" name="copy" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::copy(wchar_t*, unsigned, unsigned) const" location="f91:697" file="f91" line="697" extern="1">
+    <Argument name="__s" type="_2778" location="f91:697" file="f91" line="697"/>
+    <Argument name="__n" type="_1698" location="f91:697" file="f91" line="697"/>
+    <Argument name="__pos" type="_1698" location="f91:697" file="f91" line="697" default="0"/>
+  </Method>
+  <Method id="_7285" name="swap" returns="_1194" context="_2506" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::swap(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&)" location="f91:501" file="f91" line="501" extern="1">
+    <Argument name="__s" type="_4945" location="f91:501" file="f91" line="501"/>
+  </Method>
+  <Method id="_7286" name="c_str" returns="_2780" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::c_str() const" location="f93:3965" file="f93" line="3965" extern="1" inline="1"/>
+  <Method id="_7287" name="data" returns="_2780" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::data() const" location="f93:3975" file="f93" line="3975" extern="1" inline="1"/>
+  <Method id="_7288" name="get_allocator" returns="_2515" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::get_allocator() const" location="f93:3982" file="f93" line="3982" endline="3982" extern="1" inline="1"/>
+  <Method id="_7289" name="find" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned, unsigned) const" location="f91:711" file="f91" line="711" extern="1">
+    <Argument name="__s" type="_2780" location="f91:711" file="f91" line="711"/>
+    <Argument name="__pos" type="_1698" location="f91:711" file="f91" line="711"/>
+    <Argument name="__n" type="_1698" location="f91:711" file="f91" line="711"/>
+  </Method>
+  <Method id="_7290" name="find" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned) const" location="f93:4010" file="f93" line="4010" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:4010" file="f93" line="4010"/>
+    <Argument name="__pos" type="_1698" location="f93:4010" file="f93" line="4010" default="0"/>
+  </Method>
+  <Method id="_7291" name="find" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned) const" location="f93:4024" file="f93" line="4024" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:4024" file="f93" line="4024"/>
+    <Argument name="__pos" type="_1698" location="f93:4024" file="f93" line="4024" default="0"/>
+  </Method>
+  <Method id="_7292" name="find" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t, unsigned) const" location="f91:730" file="f91" line="730" extern="1">
+    <Argument name="__c" type="_2786" location="f91:730" file="f91" line="730"/>
+    <Argument name="__pos" type="_1698" location="f91:730" file="f91" line="730" default="0"/>
+  </Method>
+  <Method id="_7293" name="rfind" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rfind(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned) const" location="f93:4054" file="f93" line="4054" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:4054" file="f93" line="4054"/>
+    <Argument name="__pos" type="_1698" location="f93:4054" file="f93" line="4054" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7294" name="rfind" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rfind(wchar_t const*, unsigned, unsigned) const" location="f91:748" file="f91" line="748" extern="1">
+    <Argument name="__s" type="_2780" location="f91:748" file="f91" line="748"/>
+    <Argument name="__pos" type="_1698" location="f91:748" file="f91" line="748"/>
+    <Argument name="__n" type="_1698" location="f91:748" file="f91" line="748"/>
+  </Method>
+  <Method id="_7295" name="rfind" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rfind(wchar_t const*, unsigned) const" location="f93:4082" file="f93" line="4082" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:4082" file="f93" line="4082"/>
+    <Argument name="__pos" type="_1698" location="f93:4082" file="f93" line="4082" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7296" name="rfind" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::rfind(wchar_t, unsigned) const" location="f91:769" file="f91" line="769" extern="1">
+    <Argument name="__c" type="_2786" location="f91:769" file="f91" line="769"/>
+    <Argument name="__pos" type="_1698" location="f91:769" file="f91" line="769" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7297" name="find_first_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_first_of(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned) const" location="f93:4112" file="f93" line="4112" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:4112" file="f93" line="4112"/>
+    <Argument name="__pos" type="_1698" location="f93:4112" file="f93" line="4112" default="0"/>
+  </Method>
+  <Method id="_7298" name="find_first_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_first_of(wchar_t const*, unsigned, unsigned) const" location="f91:786" file="f91" line="786" extern="1">
+    <Argument name="__s" type="_2780" location="f91:786" file="f91" line="786"/>
+    <Argument name="__pos" type="_1698" location="f91:786" file="f91" line="786"/>
+    <Argument name="__n" type="_1698" location="f91:786" file="f91" line="786"/>
+  </Method>
+  <Method id="_7299" name="find_first_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_first_of(wchar_t const*, unsigned) const" location="f93:4140" file="f93" line="4140" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:4140" file="f93" line="4140"/>
+    <Argument name="__pos" type="_1698" location="f93:4140" file="f93" line="4140" default="0"/>
+  </Method>
+  <Method id="_7300" name="find_first_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_first_of(wchar_t, unsigned) const" location="f93:4159" file="f93" line="4159" extern="1" inline="1">
+    <Argument name="__c" type="_2786" location="f93:4159" file="f93" line="4159"/>
+    <Argument name="__pos" type="_1698" location="f93:4159" file="f93" line="4159" default="0"/>
+  </Method>
+  <Method id="_7301" name="find_last_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_last_of(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned) const" location="f93:4173" file="f93" line="4173" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:4173" file="f93" line="4173"/>
+    <Argument name="__pos" type="_1698" location="f93:4173" file="f93" line="4173" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7302" name="find_last_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_last_of(wchar_t const*, unsigned, unsigned) const" location="f91:801" file="f91" line="801" extern="1">
+    <Argument name="__s" type="_2780" location="f91:801" file="f91" line="801"/>
+    <Argument name="__pos" type="_1698" location="f91:801" file="f91" line="801"/>
+    <Argument name="__n" type="_1698" location="f91:801" file="f91" line="801"/>
+  </Method>
+  <Method id="_7303" name="find_last_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_last_of(wchar_t const*, unsigned) const" location="f93:4201" file="f93" line="4201" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:4201" file="f93" line="4201"/>
+    <Argument name="__pos" type="_1698" location="f93:4201" file="f93" line="4201" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7304" name="find_last_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_last_of(wchar_t, unsigned) const" location="f93:4220" file="f93" line="4220" extern="1" inline="1">
+    <Argument name="__c" type="_2786" location="f93:4220" file="f93" line="4220"/>
+    <Argument name="__pos" type="_1698" location="f93:4220" file="f93" line="4220" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7305" name="find_first_not_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_first_not_of(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned) const" location="f93:4234" file="f93" line="4234" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:4234" file="f93" line="4234"/>
+    <Argument name="__pos" type="_1698" location="f93:4234" file="f93" line="4234" default="0"/>
+  </Method>
+  <Method id="_7306" name="find_first_not_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_first_not_of(wchar_t const*, unsigned, unsigned) const" location="f91:822" file="f91" line="822" extern="1">
+    <Argument name="__s" type="_2780" location="f91:822" file="f91" line="822"/>
+    <Argument name="__pos" type="_1698" location="f91:822" file="f91" line="822"/>
+    <Argument name="__n" type="_1698" location="f91:822" file="f91" line="822"/>
+  </Method>
+  <Method id="_7307" name="find_first_not_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_first_not_of(wchar_t const*, unsigned) const" location="f93:4263" file="f93" line="4263" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:4263" file="f93" line="4263"/>
+    <Argument name="__pos" type="_1698" location="f93:4263" file="f93" line="4263" default="0"/>
+  </Method>
+  <Method id="_7308" name="find_first_not_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_first_not_of(wchar_t, unsigned) const" location="f91:834" file="f91" line="834" extern="1">
+    <Argument name="__c" type="_2786" location="f91:834" file="f91" line="834"/>
+    <Argument name="__pos" type="_1698" location="f91:834" file="f91" line="834" default="0"/>
+  </Method>
+  <Method id="_7309" name="find_last_not_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_last_not_of(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned) const" location="f93:4293" file="f93" line="4293" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:4293" file="f93" line="4293"/>
+    <Argument name="__pos" type="_1698" location="f93:4293" file="f93" line="4293" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7310" name="find_last_not_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_last_not_of(wchar_t const*, unsigned, unsigned) const" location="f91:845" file="f91" line="845" extern="1">
+    <Argument name="__s" type="_2780" location="f91:845" file="f91" line="845"/>
+    <Argument name="__pos" type="_1698" location="f91:845" file="f91" line="845"/>
+    <Argument name="__n" type="_1698" location="f91:845" file="f91" line="845"/>
+  </Method>
+  <Method id="_7311" name="find_last_not_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_last_not_of(wchar_t const*, unsigned) const" location="f93:4322" file="f93" line="4322" extern="1" inline="1">
+    <Argument name="__s" type="_2780" location="f93:4322" file="f93" line="4322"/>
+    <Argument name="__pos" type="_1698" location="f93:4322" file="f93" line="4322" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7312" name="find_last_not_of" returns="_1698" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::find_last_not_of(wchar_t, unsigned) const" location="f91:866" file="f91" line="866" extern="1">
+    <Argument name="__c" type="_2786" location="f91:866" file="f91" line="866"/>
+    <Argument name="__pos" type="_1698" location="f91:866" file="f91" line="866" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7313" name="substr" returns="_2506" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::substr(unsigned, unsigned) const" location="f93:4354" file="f93" line="4354" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:4354" file="f93" line="4354" default="0"/>
+    <Argument name="__n" type="_1698" location="f93:4354" file="f93" line="4354" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7314" name="compare" returns="_503" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::compare(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) const" location="f93:4370" file="f93" line="4370" extern="1" inline="1">
+    <Argument name="__str" type="_4947" location="f93:4370" file="f93" line="4370"/>
+  </Method>
+  <Method id="_7315" name="compare" returns="_503" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::compare(unsigned, unsigned, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) const" location="f91:886" file="f91" line="886" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:886" file="f91" line="886"/>
+    <Argument name="__n" type="_1698" location="f91:886" file="f91" line="886"/>
+    <Argument name="__str" type="_4947" location="f91:886" file="f91" line="886"/>
+  </Method>
+  <Method id="_7316" name="compare" returns="_503" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::compare(unsigned, unsigned, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, unsigned, unsigned) const" location="f91:902" file="f91" line="902" extern="1">
+    <Argument name="__pos1" type="_1698" location="f91:902" file="f91" line="902"/>
+    <Argument name="__n1" type="_1698" location="f91:902" file="f91" line="902"/>
+    <Argument name="__str" type="_4947" location="f91:902" file="f91" line="902"/>
+    <Argument name="__pos2" type="_1698" location="f91:902" file="f91" line="902"/>
+    <Argument name="__n2" type="_1698" location="f91:902" file="f91" line="902"/>
+  </Method>
+  <Method id="_7317" name="compare" returns="_503" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::compare(wchar_t const*) const" location="f91:919" file="f91" line="919" extern="1">
+    <Argument name="__s" type="_2780" location="f91:919" file="f91" line="919"/>
+  </Method>
+  <Method id="_7318" name="compare" returns="_503" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::compare(unsigned, unsigned, wchar_t const*) const" location="f91:934" file="f91" line="934" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:934" file="f91" line="934"/>
+    <Argument name="__n1" type="_1698" location="f91:934" file="f91" line="934"/>
+    <Argument name="__s" type="_2780" location="f91:934" file="f91" line="934"/>
+  </Method>
+  <Method id="_7319" name="compare" returns="_503" const="1" context="_2506" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::compare(unsigned, unsigned, wchar_t const*, unsigned) const" location="f91:951" file="f91" line="951" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:951" file="f91" line="951"/>
+    <Argument name="__n1" type="_1698" location="f91:951" file="f91" line="951"/>
+    <Argument name="__s" type="_2780" location="f91:951" file="f91" line="951"/>
+    <Argument name="__n2" type="_1698" location="f91:951" file="f91" line="951"/>
+  </Method>
+  <Variable id="_7320" name="npos" type="_1698c" init="0x0ffffffff" context="_2508" access="public" mangled="_ZNSs4nposE" demangled="std::string::npos" location="f93:2716" file="f93" line="2716" extern="1"/>
+  <Field id="_7321" name="_M_dataplus" type="_7337" offset="0" context="_2508" access="private" mangled="_ZNSs11_M_dataplusE" demangled="std::string::_M_dataplus" mutable="1" location="f93:2720" file="f93" line="2720"/>
+  <Typedef id="_7322" name="traits_type" type="_2510" context="_2508" access="public" location="f93:2569" file="f93" line="2569"/>
+  <Typedef id="_7323" name="value_type" type="_2961" context="_2508" access="public" location="f93:2570" file="f93" line="2570"/>
+  <Typedef id="_7324" name="allocator_type" type="_2512" context="_2508" access="public" location="f93:2571" file="f93" line="2571"/>
+  <Typedef id="_7325" name="size_type" type="_1698" context="_2508" access="public" location="f93:2572" file="f93" line="2572"/>
+  <Typedef id="_7326" name="difference_type" type="_1699" context="_2508" access="public" location="f93:2573" file="f93" line="2573"/>
+  <Typedef id="_7327" name="reference" type="_4163" context="_2508" access="public" location="f93:2574" file="f93" line="2574"/>
+  <Typedef id="_7328" name="const_reference" type="_4165" context="_2508" access="public" location="f93:2575" file="f93" line="2575"/>
+  <Typedef id="_7329" name="pointer" type="_1149" context="_2508" access="public" location="f93:2576" file="f93" line="2576"/>
+  <Typedef id="_7330" name="const_pointer" type="_2749" context="_2508" access="public" location="f93:2577" file="f93" line="2577"/>
+  <Typedef id="_7331" name="iterator" type="_3330" context="_2508" access="public" location="f93:2578" file="f93" line="2578"/>
+  <Typedef id="_7332" name="const_iterator" type="_3328" context="_2508" access="public" location="f93:2580" file="f93" line="2580"/>
+  <Typedef id="_7333" name="const_reverse_iterator" type="_2556" context="_2508" access="public" location="f93:2581" file="f93" line="2581"/>
+  <Typedef id="_7334" name="reverse_iterator" type="_2557" context="_2508" access="public" location="f93:2582" file="f93" line="2582"/>
+  <Struct id="_7335" name="_Rep_base" context="_2508" access="private" mangled="NSs9_Rep_baseE" demangled="std::string::_Rep_base" location="f93:2600" file="f93" line="2600" artificial="1" size="96" align="32" members="_11712 _11713 _11714 _11715 _11716 " bases=""/>
+  <Struct id="_7336" name="_Rep" context="_2508" access="private" mangled="NSs4_RepE" demangled="std::string::_Rep" location="f93:2607" file="f93" line="2607" artificial="1" size="96" align="32" members="_11717 _11718 _11719 _11720 _11721 _11722 _11723 _11724 _11725 _11726 _11727 _11728 _11729 _11730 _11731 _11732 _11733 _11734 _11735 " bases="_7335 ">
+    <Base type="_7335" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_7337" name="_Alloc_hider" context="_2508" access="private" mangled="NSs12_Alloc_hiderE" demangled="std::string::_Alloc_hider" location="f93:2704" file="f93" line="2704" artificial="1" size="32" align="32" members="_11736 _11737 _11738 _11739 " bases="_2512 ">
+    <Base type="_2512" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Method id="_7338" name="_M_data" returns="_1149" const="1" context="_2508" access="private" mangled="_ZNKSs7_M_dataEv" demangled="std::string::_M_data() const" location="f93:2724" file="f93" line="2724" endline="2724" extern="1" inline="1"/>
+  <Method id="_7339" name="_M_data" returns="_1149" context="_2508" access="private" mangled="_ZNSs7_M_dataEPc" demangled="std::string::_M_data(char*)" location="f93:2728" file="f93" line="2728" extern="1" inline="1">
+    <Argument name="__p" type="_1149" location="f93:2728" file="f93" line="2728"/>
+  </Method>
+  <Method id="_7340" name="_M_rep" returns="_11740" const="1" context="_2508" access="private" mangled="_ZNKSs6_M_repEv" demangled="std::string::_M_rep() const" location="f93:2732" file="f93" line="2732" endline="2732" extern="1" inline="1"/>
+  <Method id="_7341" name="_M_ibegin" returns="_3330" const="1" context="_2508" access="private" mangled="_ZNKSs9_M_ibeginEv" demangled="std::string::_M_ibegin() const" location="f93:2738" file="f93" line="2738" endline="2738" extern="1" inline="1"/>
+  <Method id="_7342" name="_M_iend" returns="_3330" const="1" context="_2508" access="private" mangled="_ZNKSs7_M_iendEv" demangled="std::string::_M_iend() const" location="f93:2742" file="f93" line="2742" endline="2742" extern="1" inline="1"/>
+  <Method id="_7343" name="_M_leak" returns="_1194" context="_2508" access="private" mangled="_ZNSs7_M_leakEv" demangled="std::string::_M_leak()" location="f93:2746" file="f93" line="2746" endline="2748" extern="1" inline="1"/>
+  <Method id="_7344" name="_M_check" returns="_1698" const="1" context="_2508" access="private" mangled="_ZNKSs8_M_checkEjPKc" demangled="std::string::_M_check(unsigned, char const*) const" location="f93:2753" file="f93" line="2753" endline="2756" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:2753" file="f93" line="2753"/>
+    <Argument name="__s" type="_2749" location="f93:2753" file="f93" line="2753"/>
+  </Method>
+  <Method id="_7345" name="_M_check_length" returns="_1194" const="1" context="_2508" access="private" mangled="_ZNKSs15_M_check_lengthEjjPKc" demangled="std::string::_M_check_length(unsigned, unsigned, char const*) const" location="f93:2761" file="f93" line="2761" endline="2763" extern="1" inline="1">
+    <Argument name="__n1" type="_1698" location="f93:2761" file="f93" line="2761"/>
+    <Argument name="__n2" type="_1698" location="f93:2761" file="f93" line="2761"/>
+    <Argument name="__s" type="_2749" location="f93:2761" file="f93" line="2761"/>
+  </Method>
+  <Method id="_7346" name="_M_limit" returns="_1698" const="1" context="_2508" access="private" mangled="_ZNKSs8_M_limitEjj" demangled="std::string::_M_limit(unsigned, unsigned) const" location="f93:2769" file="f93" line="2769" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:2769" file="f93" line="2769"/>
+    <Argument name="__off" type="_1698" location="f93:2769" file="f93" line="2769"/>
+  </Method>
+  <Method id="_7347" name="_M_disjunct" returns="_3949" const="1" context="_2508" access="private" mangled="_ZNKSs11_M_disjunctEPKc" demangled="std::string::_M_disjunct(char const*) const" location="f93:2777" file="f93" line="2777" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:2777" file="f93" line="2777"/>
+  </Method>
+  <Method id="_7348" name="_M_copy" returns="_1194" static="1" context="_2508" access="private" mangled="_ZNSs7_M_copyEPcPKcj" demangled="std::string::_M_copy(char*, char const*, unsigned)" location="f93:2787" file="f93" line="2787" endline="2791" extern="1" inline="1">
+    <Argument name="__d" type="_1149" location="f93:2787" file="f93" line="2787"/>
+    <Argument name="__s" type="_2749" location="f93:2787" file="f93" line="2787"/>
+    <Argument name="__n" type="_1698" location="f93:2787" file="f93" line="2787"/>
+  </Method>
+  <Method id="_7349" name="_M_move" returns="_1194" static="1" context="_2508" access="private" mangled="_ZNSs7_M_moveEPcPKcj" demangled="std::string::_M_move(char*, char const*, unsigned)" location="f93:2796" file="f93" line="2796" extern="1" inline="1">
+    <Argument name="__d" type="_1149" location="f93:2796" file="f93" line="2796"/>
+    <Argument name="__s" type="_2749" location="f93:2796" file="f93" line="2796"/>
+    <Argument name="__n" type="_1698" location="f93:2796" file="f93" line="2796"/>
+  </Method>
+  <Method id="_7350" name="_M_assign" returns="_1194" static="1" context="_2508" access="private" mangled="_ZNSs9_M_assignEPcjc" demangled="std::string::_M_assign(char*, unsigned, char)" location="f93:2805" file="f93" line="2805" extern="1" inline="1">
+    <Argument name="__d" type="_1149" location="f93:2805" file="f93" line="2805"/>
+    <Argument name="__n" type="_1698" location="f93:2805" file="f93" line="2805"/>
+    <Argument name="__c" type="_2961" location="f93:2805" file="f93" line="2805"/>
+  </Method>
+  <Method id="_7351" name="_S_copy_chars" returns="_1194" static="1" context="_2508" access="private" mangled="_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_" demangled="std::string::_S_copy_chars(char*, __gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>)" location="f93:2824" file="f93" line="2824" extern="1" inline="1">
+    <Argument name="__p" type="_1149" location="f93:2824" file="f93" line="2824"/>
+    <Argument name="__k1" type="_3330" location="f93:2824" file="f93" line="2824"/>
+    <Argument name="__k2" type="_3330" location="f93:2824" file="f93" line="2824"/>
+  </Method>
+  <Method id="_7352" name="_S_copy_chars" returns="_1194" static="1" context="_2508" access="private" mangled="_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_" demangled="std::string::_S_copy_chars(char*, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>)" location="f93:2828" file="f93" line="2828" extern="1" inline="1">
+    <Argument name="__p" type="_1149" location="f93:2828" file="f93" line="2828"/>
+    <Argument name="__k1" type="_3328" location="f93:2828" file="f93" line="2828"/>
+    <Argument name="__k2" type="_3328" location="f93:2828" file="f93" line="2828"/>
+  </Method>
+  <Method id="_7353" name="_S_copy_chars" returns="_1194" static="1" context="_2508" access="private" mangled="_ZNSs13_S_copy_charsEPcS_S_" demangled="std::string::_S_copy_chars(char*, char*, char*)" location="f93:2832" file="f93" line="2832" endline="2832" extern="1" inline="1">
+    <Argument name="__p" type="_1149" location="f93:2832" file="f93" line="2832"/>
+    <Argument name="__k1" type="_1149" location="f93:2832" file="f93" line="2832"/>
+    <Argument name="__k2" type="_1149" location="f93:2832" file="f93" line="2832"/>
+  </Method>
+  <Method id="_7354" name="_S_copy_chars" returns="_1194" static="1" context="_2508" access="private" mangled="_ZNSs13_S_copy_charsEPcPKcS1_" demangled="std::string::_S_copy_chars(char*, char const*, char const*)" location="f93:2836" file="f93" line="2836" extern="1" inline="1">
+    <Argument name="__p" type="_1149" location="f93:2836" file="f93" line="2836"/>
+    <Argument name="__k1" type="_2749" location="f93:2836" file="f93" line="2836"/>
+    <Argument name="__k2" type="_2749" location="f93:2836" file="f93" line="2836"/>
+  </Method>
+  <Method id="_7355" name="_M_mutate" returns="_1194" context="_2508" access="private" mangled="_ZNSs9_M_mutateEjjj" demangled="std::string::_M_mutate(unsigned, unsigned, unsigned)" location="f91:451" file="f91" line="451" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:451" file="f91" line="451"/>
+    <Argument name="__len1" type="_1698" location="f91:451" file="f91" line="451"/>
+    <Argument name="__len2" type="_1698" location="f91:451" file="f91" line="451"/>
+  </Method>
+  <Method id="_7356" name="_M_leak_hard" returns="_1194" context="_2508" access="private" mangled="_ZNSs12_M_leak_hardEv" demangled="std::string::_M_leak_hard()" location="f91:437" file="f91" line="437" extern="1"/>
+  <Method id="_7357" name="_S_empty_rep" returns="_11741" static="1" context="_2508" access="private" mangled="_ZNSs12_S_empty_repEv" demangled="std::string::_S_empty_rep()" location="f93:2846" file="f93" line="2846" endline="2846" extern="1" inline="1"/>
+  <Constructor id="_7358" name="basic_string" explicit="1" context="_2508" access="public" mangled="_ZNSsC1Ev *INTERNAL* " demangled="std::string::string()" location="f93:4485" file="f93" line="4485" endline="4485" extern="1" inline="1"/>
+  <Constructor id="_7359" name="basic_string" explicit="1" context="_2508" access="public" mangled="_ZNSsC1ERKSaIcE *INTERNAL* " demangled="std::string::string(std::allocator<char> const&)" location="f91:191" file="f91" line="191" extern="1">
+    <Argument name="__a" type="_5511" location="f91:191" file="f91" line="191"/>
+  </Constructor>
+  <Constructor id="_7360" name="basic_string" context="_2508" access="public" mangled="_ZNSsC1ERKSs *INTERNAL* " demangled="std::string::string(std::string const&)" location="f91:183" file="f91" line="183" extern="1">
+    <Argument name="__str" type="_4948" location="f91:183" file="f91" line="183"/>
+  </Constructor>
+  <Constructor id="_7361" name="basic_string" explicit="1" context="_2508" access="public" mangled="_ZNSsC1ERKSsjj *INTERNAL* " demangled="std::string::string(std::string const&, unsigned, unsigned)" location="f91:197" file="f91" line="197" extern="1">
+    <Argument name="__str" type="_4948" location="f91:197" file="f91" line="197"/>
+    <Argument name="__pos" type="_1698" location="f91:197" file="f91" line="197"/>
+    <Argument name="__n" type="_1698" location="f91:197" file="f91" line="197" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Constructor>
+  <Constructor id="_7362" name="basic_string" explicit="1" context="_2508" access="public" mangled="_ZNSsC1ERKSsjjRKSaIcE *INTERNAL* " demangled="std::string::string(std::string const&, unsigned, unsigned, std::allocator<char> const&)" location="f91:208" file="f91" line="208" extern="1">
+    <Argument name="__str" type="_4948" location="f91:208" file="f91" line="208"/>
+    <Argument name="__pos" type="_1698" location="f91:208" file="f91" line="208"/>
+    <Argument name="__n" type="_1698" location="f91:208" file="f91" line="208"/>
+    <Argument name="__a" type="_5511" location="f91:208" file="f91" line="208"/>
+  </Constructor>
+  <Constructor id="_7363" name="basic_string" explicit="1" context="_2508" access="public" mangled="_ZNSsC1EPKcjRKSaIcE *INTERNAL* " demangled="std::string::string(char const*, unsigned, std::allocator<char> const&)" location="f91:219" file="f91" line="219" extern="1">
+    <Argument name="__s" type="_2749" location="f91:219" file="f91" line="219"/>
+    <Argument name="__n" type="_1698" location="f91:219" file="f91" line="219"/>
+    <Argument name="__a" type="_5511" location="f91:219" file="f91" line="219" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_7364" name="basic_string" context="_2508" access="public" mangled="_ZNSsC1EPKcRKSaIcE *INTERNAL* " demangled="std::string::string(char const*, std::allocator<char> const&)" location="f91:226" file="f91" line="226" extern="1">
+    <Argument name="__s" type="_2749" location="f91:226" file="f91" line="226"/>
+    <Argument name="__a" type="_5511" location="f91:226" file="f91" line="226" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_7365" name="basic_string" explicit="1" context="_2508" access="public" mangled="_ZNSsC1EjcRKSaIcE *INTERNAL* " demangled="std::string::string(unsigned, char, std::allocator<char> const&)" location="f91:233" file="f91" line="233" extern="1">
+    <Argument name="__n" type="_1698" location="f91:233" file="f91" line="233"/>
+    <Argument name="__c" type="_2961" location="f91:233" file="f91" line="233"/>
+    <Argument name="__a" type="_5511" location="f91:233" file="f91" line="233" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Destructor id="_7366" name="basic_string" context="_2508" access="public" mangled="_ZNSsD1Ev *INTERNAL* " demangled="std::string::~string()" location="f93:2928" file="f93" line="2928" endline="2928" extern="1" inline="1">
+  </Destructor>
+  <OperatorMethod id="_7367" name="=" returns="_4946" context="_2508" access="public" mangled="_ZNSsaSERKSs" demangled="std::string::operator=(std::string const&)" location="f93:2936" file="f93" line="2936" endline="2936" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:2936" file="f93" line="2936"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7368" name="=" returns="_4946" context="_2508" access="public" mangled="_ZNSsaSEPKc" demangled="std::string::operator=(char const*)" location="f93:2944" file="f93" line="2944" endline="2944" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:2944" file="f93" line="2944"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7369" name="=" returns="_4946" context="_2508" access="public" mangled="_ZNSsaSEc" demangled="std::string::operator=(char)" location="f93:2955" file="f93" line="2955" extern="1" inline="1">
+    <Argument name="__c" type="_2961" location="f93:2955" file="f93" line="2955"/>
+  </OperatorMethod>
+  <Method id="_7370" name="begin" returns="_3330" context="_2508" access="public" mangled="_ZNSs5beginEv" demangled="std::string::begin()" location="f93:2967" file="f93" line="2967" endline="2969" extern="1" inline="1"/>
+  <Method id="_7371" name="begin" returns="_3328" const="1" context="_2508" access="public" mangled="_ZNKSs5beginEv" demangled="std::string::begin() const" location="f93:2978" file="f93" line="2978" endline="2978" extern="1" inline="1"/>
+  <Method id="_7372" name="end" returns="_3330" context="_2508" access="public" mangled="_ZNSs3endEv" demangled="std::string::end()" location="f93:2986" file="f93" line="2986" endline="2988" extern="1" inline="1"/>
+  <Method id="_7373" name="end" returns="_3328" const="1" context="_2508" access="public" mangled="_ZNKSs3endEv" demangled="std::string::end() const" location="f93:2997" file="f93" line="2997" endline="2997" extern="1" inline="1"/>
+  <Method id="_7374" name="rbegin" returns="_2557" context="_2508" access="public" mangled="_ZNSs6rbeginEv" demangled="std::string::rbegin()" location="f93:3006" file="f93" line="3006" extern="1" inline="1"/>
+  <Method id="_7375" name="rbegin" returns="_2556" const="1" context="_2508" access="public" mangled="_ZNKSs6rbeginEv" demangled="std::string::rbegin() const" location="f93:3015" file="f93" line="3015" extern="1" inline="1"/>
+  <Method id="_7376" name="rend" returns="_2557" context="_2508" access="public" mangled="_ZNSs4rendEv" demangled="std::string::rend()" location="f93:3024" file="f93" line="3024" extern="1" inline="1"/>
+  <Method id="_7377" name="rend" returns="_2556" const="1" context="_2508" access="public" mangled="_ZNKSs4rendEv" demangled="std::string::rend() const" location="f93:3033" file="f93" line="3033" extern="1" inline="1"/>
+  <Method id="_7378" name="size" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs4sizeEv" demangled="std::string::size() const" location="f93:3041" file="f93" line="3041" endline="3041" extern="1" inline="1"/>
+  <Method id="_7379" name="length" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs6lengthEv" demangled="std::string::length() const" location="f93:3047" file="f93" line="3047" endline="3047" extern="1" inline="1"/>
+  <Method id="_7380" name="max_size" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs8max_sizeEv" demangled="std::string::max_size() const" location="f93:3052" file="f93" line="3052" endline="3052" extern="1" inline="1"/>
+  <Method id="_7381" name="resize" returns="_1194" context="_2508" access="public" mangled="_ZNSs6resizeEjc" demangled="std::string::resize(unsigned, char)" location="f91:614" file="f91" line="614" extern="1">
+    <Argument name="__n" type="_1698" location="f91:614" file="f91" line="614"/>
+    <Argument name="__c" type="_2961" location="f91:614" file="f91" line="614"/>
+  </Method>
+  <Method id="_7382" name="resize" returns="_1194" context="_2508" access="public" mangled="_ZNSs6resizeEj" demangled="std::string::resize(unsigned)" location="f93:3079" file="f93" line="3079" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:3079" file="f93" line="3079"/>
+  </Method>
+  <Method id="_7383" name="capacity" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs8capacityEv" demangled="std::string::capacity() const" location="f93:3087" file="f93" line="3087" endline="3087" extern="1" inline="1"/>
+  <Method id="_7384" name="reserve" returns="_1194" context="_2508" access="public" mangled="_ZNSs7reserveEj" demangled="std::string::reserve(unsigned)" location="f91:484" file="f91" line="484" extern="1">
+    <Argument name="__res" type="_1698" location="f91:484" file="f91" line="484" default="0"/>
+  </Method>
+  <Method id="_7385" name="clear" returns="_1194" context="_2508" access="public" mangled="_ZNSs5clearEv" demangled="std::string::clear()" location="f93:3114" file="f93" line="3114" extern="1" inline="1"/>
+  <Method id="_7386" name="empty" returns="_3949" const="1" context="_2508" access="public" mangled="_ZNKSs5emptyEv" demangled="std::string::empty() const" location="f93:3121" file="f93" line="3121" extern="1" inline="1"/>
+  <OperatorMethod id="_7387" name="[]" returns="_4165" const="1" context="_2508" access="public" mangled="_ZNKSsixEj" demangled="std::string::operator[](unsigned) const" location="f93:3136" file="f93" line="3136" endline="3138" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3136" file="f93" line="3136"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7388" name="[]" returns="_4163" context="_2508" access="public" mangled="_ZNSsixEj" demangled="std::string::operator[](unsigned)" location="f93:3153" file="f93" line="3153" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3153" file="f93" line="3153"/>
+  </OperatorMethod>
+  <Method id="_7389" name="at" returns="_4165" const="1" context="_2508" access="public" mangled="_ZNKSs2atEj" demangled="std::string::at(unsigned) const" location="f93:3171" file="f93" line="3171" endline="3174" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:3171" file="f93" line="3171"/>
+  </Method>
+  <Method id="_7390" name="at" returns="_4163" context="_2508" access="public" mangled="_ZNSs2atEj" demangled="std::string::at(unsigned)" location="f93:3190" file="f93" line="3190" endline="3194" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:3190" file="f93" line="3190"/>
+  </Method>
+  <OperatorMethod id="_7391" name="+=" returns="_4946" context="_2508" access="public" mangled="_ZNSspLERKSs" demangled="std::string::operator+=(std::string const&)" location="f93:3205" file="f93" line="3205" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:3205" file="f93" line="3205"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7392" name="+=" returns="_4946" context="_2508" access="public" mangled="_ZNSspLEPKc" demangled="std::string::operator+=(char const*)" location="f93:3214" file="f93" line="3214" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:3214" file="f93" line="3214"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7393" name="+=" returns="_4946" context="_2508" access="public" mangled="_ZNSspLEc" demangled="std::string::operator+=(char)" location="f93:3223" file="f93" line="3223" endline="3225" extern="1" inline="1">
+    <Argument name="__c" type="_2961" location="f93:3223" file="f93" line="3223"/>
+  </OperatorMethod>
+  <Method id="_7394" name="append" returns="_4946" context="_2508" access="public" mangled="_ZNSs6appendERKSs" demangled="std::string::append(std::string const&)" location="f91:330" file="f91" line="330" extern="1">
+    <Argument name="__str" type="_4948" location="f91:330" file="f91" line="330"/>
+  </Method>
+  <Method id="_7395" name="append" returns="_4946" context="_2508" access="public" mangled="_ZNSs6appendERKSsjj" demangled="std::string::append(std::string const&, unsigned, unsigned)" location="f91:347" file="f91" line="347" extern="1">
+    <Argument name="__str" type="_4948" location="f91:347" file="f91" line="347"/>
+    <Argument name="__pos" type="_1698" location="f91:347" file="f91" line="347"/>
+    <Argument name="__n" type="_1698" location="f91:347" file="f91" line="347"/>
+  </Method>
+  <Method id="_7396" name="append" returns="_4946" context="_2508" access="public" mangled="_ZNSs6appendEPKcj" demangled="std::string::append(char const*, unsigned)" location="f91:303" file="f91" line="303" extern="1">
+    <Argument name="__s" type="_2749" location="f91:303" file="f91" line="303"/>
+    <Argument name="__n" type="_1698" location="f91:303" file="f91" line="303"/>
+  </Method>
+  <Method id="_7397" name="append" returns="_4946" context="_2508" access="public" mangled="_ZNSs6appendEPKc" demangled="std::string::append(char const*)" location="f93:3267" file="f93" line="3267" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:3267" file="f93" line="3267"/>
+  </Method>
+  <Method id="_7398" name="append" returns="_4946" context="_2508" access="public" mangled="_ZNSs6appendEjc" demangled="std::string::append(unsigned, char)" location="f91:286" file="f91" line="286" extern="1">
+    <Argument name="__n" type="_1698" location="f91:286" file="f91" line="286"/>
+    <Argument name="__c" type="_2961" location="f91:286" file="f91" line="286"/>
+  </Method>
+  <Method id="_7399" name="push_back" returns="_1194" context="_2508" access="public" mangled="_ZNSs9push_backEc" demangled="std::string::push_back(char)" location="f93:3302" file="f93" line="3302" endline="3307" extern="1" inline="1">
+    <Argument name="__c" type="_2961" location="f93:3302" file="f93" line="3302"/>
+  </Method>
+  <Method id="_7400" name="assign" returns="_4946" context="_2508" access="public" mangled="_ZNSs6assignERKSs" demangled="std::string::assign(std::string const&)" location="f91:248" file="f91" line="248" extern="1">
+    <Argument name="__str" type="_4948" location="f91:248" file="f91" line="248"/>
+  </Method>
+  <Method id="_7401" name="assign" returns="_4946" context="_2508" access="public" mangled="_ZNSs6assignERKSsjj" demangled="std::string::assign(std::string const&, unsigned, unsigned)" location="f93:3332" file="f93" line="3332" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:3332" file="f93" line="3332"/>
+    <Argument name="__pos" type="_1698" location="f93:3332" file="f93" line="3332"/>
+    <Argument name="__n" type="_1698" location="f93:3332" file="f93" line="3332"/>
+  </Method>
+  <Method id="_7402" name="assign" returns="_4946" context="_2508" access="public" mangled="_ZNSs6assignEPKcj" demangled="std::string::assign(char const*, unsigned)" location="f91:264" file="f91" line="264" extern="1">
+    <Argument name="__s" type="_2749" location="f91:264" file="f91" line="264"/>
+    <Argument name="__n" type="_1698" location="f91:264" file="f91" line="264"/>
+  </Method>
+  <Method id="_7403" name="assign" returns="_4946" context="_2508" access="public" mangled="_ZNSs6assignEPKc" demangled="std::string::assign(char const*)" location="f93:3360" file="f93" line="3360" endline="3362" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:3360" file="f93" line="3360"/>
+  </Method>
+  <Method id="_7404" name="assign" returns="_4946" context="_2508" access="public" mangled="_ZNSs6assignEjc" demangled="std::string::assign(unsigned, char)" location="f93:3376" file="f93" line="3376" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:3376" file="f93" line="3376"/>
+    <Argument name="__c" type="_2961" location="f93:3376" file="f93" line="3376"/>
+  </Method>
+  <Method id="_7405" name="insert" returns="_1194" context="_2508" access="public" mangled="_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc" demangled="std::string::insert(__gnu_cxx::__normal_iterator<char*, std::string>, unsigned, char)" location="f93:3405" file="f93" line="3405" extern="1" inline="1">
+    <Argument name="__p" type="_3330" location="f93:3405" file="f93" line="3405"/>
+    <Argument name="__n" type="_1698" location="f93:3405" file="f93" line="3405"/>
+    <Argument name="__c" type="_2961" location="f93:3405" file="f93" line="3405"/>
+  </Method>
+  <Method id="_7406" name="insert" returns="_4946" context="_2508" access="public" mangled="_ZNSs6insertEjRKSs" demangled="std::string::insert(unsigned, std::string const&)" location="f93:3436" file="f93" line="3436" extern="1" inline="1">
+    <Argument name="__pos1" type="_1698" location="f93:3436" file="f93" line="3436"/>
+    <Argument name="__str" type="_4948" location="f93:3436" file="f93" line="3436"/>
+  </Method>
+  <Method id="_7407" name="insert" returns="_4946" context="_2508" access="public" mangled="_ZNSs6insertEjRKSsjj" demangled="std::string::insert(unsigned, std::string const&, unsigned, unsigned)" location="f93:3459" file="f93" line="3459" extern="1" inline="1">
+    <Argument name="__pos1" type="_1698" location="f93:3459" file="f93" line="3459"/>
+    <Argument name="__str" type="_4948" location="f93:3459" file="f93" line="3459"/>
+    <Argument name="__pos2" type="_1698" location="f93:3459" file="f93" line="3459"/>
+    <Argument name="__n" type="_1698" location="f93:3459" file="f93" line="3459"/>
+  </Method>
+  <Method id="_7408" name="insert" returns="_4946" context="_2508" access="public" mangled="_ZNSs6insertEjPKcj" demangled="std::string::insert(unsigned, char const*, unsigned)" location="f91:365" file="f91" line="365" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:365" file="f91" line="365"/>
+    <Argument name="__s" type="_2749" location="f91:365" file="f91" line="365"/>
+    <Argument name="__n" type="_1698" location="f91:365" file="f91" line="365"/>
+  </Method>
+  <Method id="_7409" name="insert" returns="_4946" context="_2508" access="public" mangled="_ZNSs6insertEjPKc" demangled="std::string::insert(unsigned, char const*)" location="f93:3499" file="f93" line="3499" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3499" file="f93" line="3499"/>
+    <Argument name="__s" type="_2749" location="f93:3499" file="f93" line="3499"/>
+  </Method>
+  <Method id="_7410" name="insert" returns="_4946" context="_2508" access="public" mangled="_ZNSs6insertEjjc" demangled="std::string::insert(unsigned, unsigned, char)" location="f93:3522" file="f93" line="3522" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3522" file="f93" line="3522"/>
+    <Argument name="__n" type="_1698" location="f93:3522" file="f93" line="3522"/>
+    <Argument name="__c" type="_2961" location="f93:3522" file="f93" line="3522"/>
+  </Method>
+  <Method id="_7411" name="insert" returns="_3330" context="_2508" access="public" mangled="_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc" demangled="std::string::insert(__gnu_cxx::__normal_iterator<char*, std::string>, char)" location="f93:3539" file="f93" line="3539" extern="1" inline="1">
+    <Argument name="__p" type="_3330" location="f93:3539" file="f93" line="3539"/>
+    <Argument name="__c" type="_2961" location="f93:3539" file="f93" line="3539"/>
+  </Method>
+  <Method id="_7412" name="erase" returns="_4946" context="_2508" access="public" mangled="_ZNSs5eraseEjj" demangled="std::string::erase(unsigned, unsigned)" location="f93:3563" file="f93" line="3563" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3563" file="f93" line="3563" default="0"/>
+    <Argument name="__n" type="_1698" location="f93:3563" file="f93" line="3563" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7413" name="erase" returns="_3330" context="_2508" access="public" mangled="_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE" demangled="std::string::erase(__gnu_cxx::__normal_iterator<char*, std::string>)" location="f93:3579" file="f93" line="3579" extern="1" inline="1">
+    <Argument name="__position" type="_3330" location="f93:3579" file="f93" line="3579"/>
+  </Method>
+  <Method id="_7414" name="erase" returns="_3330" context="_2508" access="public" mangled="_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_" demangled="std::string::erase(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>)" location="f93:3599" file="f93" line="3599" endline="3605" extern="1" inline="1">
+    <Argument name="__first" type="_3330" location="f93:3599" file="f93" line="3599"/>
+    <Argument name="__last" type="_3330" location="f93:3599" file="f93" line="3599"/>
+  </Method>
+  <Method id="_7415" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEjjRKSs" demangled="std::string::replace(unsigned, unsigned, std::string const&)" location="f93:3626" file="f93" line="3626" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3626" file="f93" line="3626"/>
+    <Argument name="__n" type="_1698" location="f93:3626" file="f93" line="3626"/>
+    <Argument name="__str" type="_4948" location="f93:3626" file="f93" line="3626"/>
+  </Method>
+  <Method id="_7416" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEjjRKSsjj" demangled="std::string::replace(unsigned, unsigned, std::string const&, unsigned, unsigned)" location="f93:3649" file="f93" line="3649" extern="1" inline="1">
+    <Argument name="__pos1" type="_1698" location="f93:3649" file="f93" line="3649"/>
+    <Argument name="__n1" type="_1698" location="f93:3649" file="f93" line="3649"/>
+    <Argument name="__str" type="_4948" location="f93:3649" file="f93" line="3649"/>
+    <Argument name="__pos2" type="_1698" location="f93:3649" file="f93" line="3649"/>
+    <Argument name="__n2" type="_1698" location="f93:3649" file="f93" line="3649"/>
+  </Method>
+  <Method id="_7417" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEjjPKcj" demangled="std::string::replace(unsigned, unsigned, char const*, unsigned)" location="f91:397" file="f91" line="397" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:397" file="f91" line="397"/>
+    <Argument name="__n1" type="_1698" location="f91:397" file="f91" line="397"/>
+    <Argument name="__s" type="_2749" location="f91:397" file="f91" line="397"/>
+    <Argument name="__n2" type="_1698" location="f91:397" file="f91" line="397"/>
+  </Method>
+  <Method id="_7418" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEjjPKc" demangled="std::string::replace(unsigned, unsigned, char const*)" location="f93:3691" file="f93" line="3691" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3691" file="f93" line="3691"/>
+    <Argument name="__n1" type="_1698" location="f93:3691" file="f93" line="3691"/>
+    <Argument name="__s" type="_2749" location="f93:3691" file="f93" line="3691"/>
+  </Method>
+  <Method id="_7419" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEjjjc" demangled="std::string::replace(unsigned, unsigned, unsigned, char)" location="f93:3714" file="f93" line="3714" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:3714" file="f93" line="3714"/>
+    <Argument name="__n1" type="_1698" location="f93:3714" file="f93" line="3714"/>
+    <Argument name="__n2" type="_1698" location="f93:3714" file="f93" line="3714"/>
+    <Argument name="__c" type="_2961" location="f93:3714" file="f93" line="3714"/>
+  </Method>
+  <Method id="_7420" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs" demangled="std::string::replace(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, std::string const&)" location="f93:3732" file="f93" line="3732" extern="1" inline="1">
+    <Argument name="__i1" type="_3330" location="f93:3732" file="f93" line="3732"/>
+    <Argument name="__i2" type="_3330" location="f93:3732" file="f93" line="3732"/>
+    <Argument name="__str" type="_4948" location="f93:3732" file="f93" line="3732"/>
+  </Method>
+  <Method id="_7421" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj" demangled="std::string::replace(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, char const*, unsigned)" location="f93:3750" file="f93" line="3750" extern="1" inline="1">
+    <Argument name="__i1" type="_3330" location="f93:3750" file="f93" line="3750"/>
+    <Argument name="__i2" type="_3330" location="f93:3750" file="f93" line="3750"/>
+    <Argument name="__s" type="_2749" location="f93:3750" file="f93" line="3750"/>
+    <Argument name="__n" type="_1698" location="f93:3750" file="f93" line="3750"/>
+  </Method>
+  <Method id="_7422" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc" demangled="std::string::replace(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, char const*)" location="f93:3771" file="f93" line="3771" extern="1" inline="1">
+    <Argument name="__i1" type="_3330" location="f93:3771" file="f93" line="3771"/>
+    <Argument name="__i2" type="_3330" location="f93:3771" file="f93" line="3771"/>
+    <Argument name="__s" type="_2749" location="f93:3771" file="f93" line="3771"/>
+  </Method>
+  <Method id="_7423" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc" demangled="std::string::replace(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, unsigned, char)" location="f93:3792" file="f93" line="3792" extern="1" inline="1">
+    <Argument name="__i1" type="_3330" location="f93:3792" file="f93" line="3792"/>
+    <Argument name="__i2" type="_3330" location="f93:3792" file="f93" line="3792"/>
+    <Argument name="__n" type="_1698" location="f93:3792" file="f93" line="3792"/>
+    <Argument name="__c" type="_2961" location="f93:3792" file="f93" line="3792"/>
+  </Method>
+  <Method id="_7424" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_" demangled="std::string::replace(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, char*, char*)" location="f93:3828" file="f93" line="3828" extern="1" inline="1">
+    <Argument name="__i1" type="_3330" location="f93:3828" file="f93" line="3828"/>
+    <Argument name="__i2" type="_3330" location="f93:3828" file="f93" line="3828"/>
+    <Argument name="__k1" type="_1149" location="f93:3828" file="f93" line="3828"/>
+    <Argument name="__k2" type="_1149" location="f93:3828" file="f93" line="3828"/>
+  </Method>
+  <Method id="_7425" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_" demangled="std::string::replace(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, char const*, char const*)" location="f93:3839" file="f93" line="3839" extern="1" inline="1">
+    <Argument name="__i1" type="_3330" location="f93:3839" file="f93" line="3839"/>
+    <Argument name="__i2" type="_3330" location="f93:3839" file="f93" line="3839"/>
+    <Argument name="__k1" type="_2749" location="f93:3839" file="f93" line="3839"/>
+    <Argument name="__k2" type="_2749" location="f93:3839" file="f93" line="3839"/>
+  </Method>
+  <Method id="_7426" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_" demangled="std::string::replace(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>)" location="f93:3849" file="f93" line="3849" extern="1" inline="1">
+    <Argument name="__i1" type="_3330" location="f93:3849" file="f93" line="3849"/>
+    <Argument name="__i2" type="_3330" location="f93:3849" file="f93" line="3849"/>
+    <Argument name="__k1" type="_3330" location="f93:3849" file="f93" line="3849"/>
+    <Argument name="__k2" type="_3330" location="f93:3849" file="f93" line="3849"/>
+  </Method>
+  <Method id="_7427" name="replace" returns="_4946" context="_2508" access="public" mangled="_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_" demangled="std::string::replace(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>)" location="f93:3860" file="f93" line="3860" endline="3864" e [...]
+    <Argument name="__i1" type="_3330" location="f93:3860" file="f93" line="3860"/>
+    <Argument name="__i2" type="_3330" location="f93:3860" file="f93" line="3860"/>
+    <Argument name="__k1" type="_3328" location="f93:3860" file="f93" line="3860"/>
+    <Argument name="__k2" type="_3328" location="f93:3860" file="f93" line="3860"/>
+  </Method>
+  <Method id="_7428" name="_M_replace_aux" returns="_4946" context="_2508" access="private" mangled="_ZNSs14_M_replace_auxEjjjc" demangled="std::string::_M_replace_aux(unsigned, unsigned, unsigned, char)" location="f91:643" file="f91" line="643" extern="1">
+    <Argument name="__pos1" type="_1698" location="f91:643" file="f91" line="643"/>
+    <Argument name="__n1" type="_1698" location="f91:643" file="f91" line="643"/>
+    <Argument name="__n2" type="_1698" location="f91:643" file="f91" line="643"/>
+    <Argument name="__c" type="_2961" location="f91:643" file="f91" line="643"/>
+  </Method>
+  <Method id="_7429" name="_M_replace_safe" returns="_4946" context="_2508" access="private" mangled="_ZNSs15_M_replace_safeEjjPKcj" demangled="std::string::_M_replace_safe(unsigned, unsigned, char const*, unsigned)" location="f91:656" file="f91" line="656" extern="1">
+    <Argument name="__pos1" type="_1698" location="f91:656" file="f91" line="656"/>
+    <Argument name="__n1" type="_1698" location="f91:656" file="f91" line="656"/>
+    <Argument name="__s" type="_2749" location="f91:656" file="f91" line="656"/>
+    <Argument name="__n2" type="_1698" location="f91:656" file="f91" line="656"/>
+  </Method>
+  <Method id="_7430" name="_S_construct" returns="_1149" static="1" context="_2508" access="private" mangled="_ZNSs12_S_constructEjcRKSaIcE" demangled="std::string::_S_construct(unsigned, char, std::allocator<char> const&)" location="f91:166" file="f91" line="166" extern="1">
+    <Argument name="__n" type="_1698" location="f91:166" file="f91" line="166"/>
+    <Argument name="__c" type="_2961" location="f91:166" file="f91" line="166"/>
+    <Argument name="__a" type="_5511" location="f91:166" file="f91" line="166"/>
+  </Method>
+  <Method id="_7431" name="copy" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs4copyEPcjj" demangled="std::string::copy(char*, unsigned, unsigned) const" location="f91:697" file="f91" line="697" extern="1">
+    <Argument name="__s" type="_1149" location="f91:697" file="f91" line="697"/>
+    <Argument name="__n" type="_1698" location="f91:697" file="f91" line="697"/>
+    <Argument name="__pos" type="_1698" location="f91:697" file="f91" line="697" default="0"/>
+  </Method>
+  <Method id="_7432" name="swap" returns="_1194" context="_2508" access="public" mangled="_ZNSs4swapERSs" demangled="std::string::swap(std::string&)" location="f91:501" file="f91" line="501" extern="1">
+    <Argument name="__s" type="_4946" location="f91:501" file="f91" line="501"/>
+  </Method>
+  <Method id="_7433" name="c_str" returns="_2749" const="1" context="_2508" access="public" mangled="_ZNKSs5c_strEv" demangled="std::string::c_str() const" location="f93:3965" file="f93" line="3965" extern="1" inline="1"/>
+  <Method id="_7434" name="data" returns="_2749" const="1" context="_2508" access="public" mangled="_ZNKSs4dataEv" demangled="std::string::data() const" location="f93:3975" file="f93" line="3975" endline="3975" extern="1" inline="1"/>
+  <Method id="_7435" name="get_allocator" returns="_2512" const="1" context="_2508" access="public" mangled="_ZNKSs13get_allocatorEv" demangled="std::string::get_allocator() const" location="f93:3982" file="f93" line="3982" endline="3982" extern="1" inline="1"/>
+  <Method id="_7436" name="find" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs4findEPKcjj" demangled="std::string::find(char const*, unsigned, unsigned) const" location="f91:711" file="f91" line="711" extern="1">
+    <Argument name="__s" type="_2749" location="f91:711" file="f91" line="711"/>
+    <Argument name="__pos" type="_1698" location="f91:711" file="f91" line="711"/>
+    <Argument name="__n" type="_1698" location="f91:711" file="f91" line="711"/>
+  </Method>
+  <Method id="_7437" name="find" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs4findERKSsj" demangled="std::string::find(std::string const&, unsigned) const" location="f93:4010" file="f93" line="4010" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:4010" file="f93" line="4010"/>
+    <Argument name="__pos" type="_1698" location="f93:4010" file="f93" line="4010" default="0"/>
+  </Method>
+  <Method id="_7438" name="find" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs4findEPKcj" demangled="std::string::find(char const*, unsigned) const" location="f93:4024" file="f93" line="4024" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:4024" file="f93" line="4024"/>
+    <Argument name="__pos" type="_1698" location="f93:4024" file="f93" line="4024" default="0"/>
+  </Method>
+  <Method id="_7439" name="find" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs4findEcj" demangled="std::string::find(char, unsigned) const" location="f91:730" file="f91" line="730" extern="1">
+    <Argument name="__c" type="_2961" location="f91:730" file="f91" line="730"/>
+    <Argument name="__pos" type="_1698" location="f91:730" file="f91" line="730" default="0"/>
+  </Method>
+  <Method id="_7440" name="rfind" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs5rfindERKSsj" demangled="std::string::rfind(std::string const&, unsigned) const" location="f93:4054" file="f93" line="4054" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:4054" file="f93" line="4054"/>
+    <Argument name="__pos" type="_1698" location="f93:4054" file="f93" line="4054" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7441" name="rfind" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs5rfindEPKcjj" demangled="std::string::rfind(char const*, unsigned, unsigned) const" location="f91:748" file="f91" line="748" extern="1">
+    <Argument name="__s" type="_2749" location="f91:748" file="f91" line="748"/>
+    <Argument name="__pos" type="_1698" location="f91:748" file="f91" line="748"/>
+    <Argument name="__n" type="_1698" location="f91:748" file="f91" line="748"/>
+  </Method>
+  <Method id="_7442" name="rfind" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs5rfindEPKcj" demangled="std::string::rfind(char const*, unsigned) const" location="f93:4082" file="f93" line="4082" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:4082" file="f93" line="4082"/>
+    <Argument name="__pos" type="_1698" location="f93:4082" file="f93" line="4082" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7443" name="rfind" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs5rfindEcj" demangled="std::string::rfind(char, unsigned) const" location="f91:769" file="f91" line="769" extern="1">
+    <Argument name="__c" type="_2961" location="f91:769" file="f91" line="769"/>
+    <Argument name="__pos" type="_1698" location="f91:769" file="f91" line="769" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7444" name="find_first_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs13find_first_ofERKSsj" demangled="std::string::find_first_of(std::string const&, unsigned) const" location="f93:4112" file="f93" line="4112" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:4112" file="f93" line="4112"/>
+    <Argument name="__pos" type="_1698" location="f93:4112" file="f93" line="4112" default="0"/>
+  </Method>
+  <Method id="_7445" name="find_first_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs13find_first_ofEPKcjj" demangled="std::string::find_first_of(char const*, unsigned, unsigned) const" location="f91:786" file="f91" line="786" extern="1">
+    <Argument name="__s" type="_2749" location="f91:786" file="f91" line="786"/>
+    <Argument name="__pos" type="_1698" location="f91:786" file="f91" line="786"/>
+    <Argument name="__n" type="_1698" location="f91:786" file="f91" line="786"/>
+  </Method>
+  <Method id="_7446" name="find_first_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs13find_first_ofEPKcj" demangled="std::string::find_first_of(char const*, unsigned) const" location="f93:4140" file="f93" line="4140" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:4140" file="f93" line="4140"/>
+    <Argument name="__pos" type="_1698" location="f93:4140" file="f93" line="4140" default="0"/>
+  </Method>
+  <Method id="_7447" name="find_first_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs13find_first_ofEcj" demangled="std::string::find_first_of(char, unsigned) const" location="f93:4159" file="f93" line="4159" extern="1" inline="1">
+    <Argument name="__c" type="_2961" location="f93:4159" file="f93" line="4159"/>
+    <Argument name="__pos" type="_1698" location="f93:4159" file="f93" line="4159" default="0"/>
+  </Method>
+  <Method id="_7448" name="find_last_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs12find_last_ofERKSsj" demangled="std::string::find_last_of(std::string const&, unsigned) const" location="f93:4173" file="f93" line="4173" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:4173" file="f93" line="4173"/>
+    <Argument name="__pos" type="_1698" location="f93:4173" file="f93" line="4173" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7449" name="find_last_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs12find_last_ofEPKcjj" demangled="std::string::find_last_of(char const*, unsigned, unsigned) const" location="f91:801" file="f91" line="801" extern="1">
+    <Argument name="__s" type="_2749" location="f91:801" file="f91" line="801"/>
+    <Argument name="__pos" type="_1698" location="f91:801" file="f91" line="801"/>
+    <Argument name="__n" type="_1698" location="f91:801" file="f91" line="801"/>
+  </Method>
+  <Method id="_7450" name="find_last_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs12find_last_ofEPKcj" demangled="std::string::find_last_of(char const*, unsigned) const" location="f93:4201" file="f93" line="4201" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:4201" file="f93" line="4201"/>
+    <Argument name="__pos" type="_1698" location="f93:4201" file="f93" line="4201" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7451" name="find_last_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs12find_last_ofEcj" demangled="std::string::find_last_of(char, unsigned) const" location="f93:4220" file="f93" line="4220" extern="1" inline="1">
+    <Argument name="__c" type="_2961" location="f93:4220" file="f93" line="4220"/>
+    <Argument name="__pos" type="_1698" location="f93:4220" file="f93" line="4220" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7452" name="find_first_not_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs17find_first_not_ofERKSsj" demangled="std::string::find_first_not_of(std::string const&, unsigned) const" location="f93:4234" file="f93" line="4234" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:4234" file="f93" line="4234"/>
+    <Argument name="__pos" type="_1698" location="f93:4234" file="f93" line="4234" default="0"/>
+  </Method>
+  <Method id="_7453" name="find_first_not_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs17find_first_not_ofEPKcjj" demangled="std::string::find_first_not_of(char const*, unsigned, unsigned) const" location="f91:822" file="f91" line="822" extern="1">
+    <Argument name="__s" type="_2749" location="f91:822" file="f91" line="822"/>
+    <Argument name="__pos" type="_1698" location="f91:822" file="f91" line="822"/>
+    <Argument name="__n" type="_1698" location="f91:822" file="f91" line="822"/>
+  </Method>
+  <Method id="_7454" name="find_first_not_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs17find_first_not_ofEPKcj" demangled="std::string::find_first_not_of(char const*, unsigned) const" location="f93:4263" file="f93" line="4263" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:4263" file="f93" line="4263"/>
+    <Argument name="__pos" type="_1698" location="f93:4263" file="f93" line="4263" default="0"/>
+  </Method>
+  <Method id="_7455" name="find_first_not_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs17find_first_not_ofEcj" demangled="std::string::find_first_not_of(char, unsigned) const" location="f91:834" file="f91" line="834" extern="1">
+    <Argument name="__c" type="_2961" location="f91:834" file="f91" line="834"/>
+    <Argument name="__pos" type="_1698" location="f91:834" file="f91" line="834" default="0"/>
+  </Method>
+  <Method id="_7456" name="find_last_not_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs16find_last_not_ofERKSsj" demangled="std::string::find_last_not_of(std::string const&, unsigned) const" location="f93:4293" file="f93" line="4293" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:4293" file="f93" line="4293"/>
+    <Argument name="__pos" type="_1698" location="f93:4293" file="f93" line="4293" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7457" name="find_last_not_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs16find_last_not_ofEPKcjj" demangled="std::string::find_last_not_of(char const*, unsigned, unsigned) const" location="f91:845" file="f91" line="845" extern="1">
+    <Argument name="__s" type="_2749" location="f91:845" file="f91" line="845"/>
+    <Argument name="__pos" type="_1698" location="f91:845" file="f91" line="845"/>
+    <Argument name="__n" type="_1698" location="f91:845" file="f91" line="845"/>
+  </Method>
+  <Method id="_7458" name="find_last_not_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs16find_last_not_ofEPKcj" demangled="std::string::find_last_not_of(char const*, unsigned) const" location="f93:4322" file="f93" line="4322" extern="1" inline="1">
+    <Argument name="__s" type="_2749" location="f93:4322" file="f93" line="4322"/>
+    <Argument name="__pos" type="_1698" location="f93:4322" file="f93" line="4322" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7459" name="find_last_not_of" returns="_1698" const="1" context="_2508" access="public" mangled="_ZNKSs16find_last_not_ofEcj" demangled="std::string::find_last_not_of(char, unsigned) const" location="f91:866" file="f91" line="866" extern="1">
+    <Argument name="__c" type="_2961" location="f91:866" file="f91" line="866"/>
+    <Argument name="__pos" type="_1698" location="f91:866" file="f91" line="866" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7460" name="substr" returns="_2508" const="1" context="_2508" access="public" mangled="_ZNKSs6substrEjj" demangled="std::string::substr(unsigned, unsigned) const" location="f93:4354" file="f93" line="4354" endline="4354" extern="1" inline="1">
+    <Argument name="__pos" type="_1698" location="f93:4354" file="f93" line="4354" default="0"/>
+    <Argument name="__n" type="_1698" location="f93:4354" file="f93" line="4354" default="std::basic_string<_CharT, _Traits, _Alloc>::npos"/>
+  </Method>
+  <Method id="_7461" name="compare" returns="_503" const="1" context="_2508" access="public" mangled="_ZNKSs7compareERKSs" demangled="std::string::compare(std::string const&) const" location="f93:4370" file="f93" line="4370" endline="4378" extern="1" inline="1">
+    <Argument name="__str" type="_4948" location="f93:4370" file="f93" line="4370"/>
+  </Method>
+  <Method id="_7462" name="compare" returns="_503" const="1" context="_2508" access="public" mangled="_ZNKSs7compareEjjRKSs" demangled="std::string::compare(unsigned, unsigned, std::string const&) const" location="f91:886" file="f91" line="886" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:886" file="f91" line="886"/>
+    <Argument name="__n" type="_1698" location="f91:886" file="f91" line="886"/>
+    <Argument name="__str" type="_4948" location="f91:886" file="f91" line="886"/>
+  </Method>
+  <Method id="_7463" name="compare" returns="_503" const="1" context="_2508" access="public" mangled="_ZNKSs7compareEjjRKSsjj" demangled="std::string::compare(unsigned, unsigned, std::string const&, unsigned, unsigned) const" location="f91:902" file="f91" line="902" extern="1">
+    <Argument name="__pos1" type="_1698" location="f91:902" file="f91" line="902"/>
+    <Argument name="__n1" type="_1698" location="f91:902" file="f91" line="902"/>
+    <Argument name="__str" type="_4948" location="f91:902" file="f91" line="902"/>
+    <Argument name="__pos2" type="_1698" location="f91:902" file="f91" line="902"/>
+    <Argument name="__n2" type="_1698" location="f91:902" file="f91" line="902"/>
+  </Method>
+  <Method id="_7464" name="compare" returns="_503" const="1" context="_2508" access="public" mangled="_ZNKSs7compareEPKc" demangled="std::string::compare(char const*) const" location="f91:919" file="f91" line="919" extern="1">
+    <Argument name="__s" type="_2749" location="f91:919" file="f91" line="919"/>
+  </Method>
+  <Method id="_7465" name="compare" returns="_503" const="1" context="_2508" access="public" mangled="_ZNKSs7compareEjjPKc" demangled="std::string::compare(unsigned, unsigned, char const*) const" location="f91:934" file="f91" line="934" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:934" file="f91" line="934"/>
+    <Argument name="__n1" type="_1698" location="f91:934" file="f91" line="934"/>
+    <Argument name="__s" type="_2749" location="f91:934" file="f91" line="934"/>
+  </Method>
+  <Method id="_7466" name="compare" returns="_503" const="1" context="_2508" access="public" mangled="_ZNKSs7compareEjjPKcj" demangled="std::string::compare(unsigned, unsigned, char const*, unsigned) const" location="f91:951" file="f91" line="951" extern="1">
+    <Argument name="__pos" type="_1698" location="f91:951" file="f91" line="951"/>
+    <Argument name="__n1" type="_1698" location="f91:951" file="f91" line="951"/>
+    <Argument name="__s" type="_2749" location="f91:951" file="f91" line="951"/>
+    <Argument name="__n2" type="_1698" location="f91:951" file="f91" line="951"/>
+  </Method>
+  <Typedef id="_7467" name="char_type" type="_2961" context="_2510" access="public" location="f106:233" file="f106" line="233"/>
+  <Typedef id="_7468" name="int_type" type="_503" context="_2510" access="public" location="f106:234" file="f106" line="234"/>
+  <Typedef id="_7469" name="pos_type" type="_2498" context="_2510" access="public" location="f106:235" file="f106" line="235"/>
+  <Typedef id="_7470" name="off_type" type="_2500" context="_2510" access="public" location="f106:236" file="f106" line="236"/>
+  <Typedef id="_7471" name="state_type" type="_767" context="_2510" access="public" location="f106:237" file="f106" line="237"/>
+  <Constructor id="_7472" name="char_traits" artificial="1" throw="" context="_2510" access="public" mangled="_ZNSt11char_traitsIcEC1ERKS0_ *INTERNAL* " demangled="std::char_traits<char>::char_traits(std::char_traits<char> const&)" location="f106:232" file="f106" line="232" inline="1">
+    <Argument name="_ctor_arg" type="_11742" location="f106:232" file="f106" line="232"/>
+  </Constructor>
+  <Constructor id="_7473" name="char_traits" explicit="1" artificial="1" throw="" context="_2510" access="public" mangled="_ZNSt11char_traitsIcEC1Ev *INTERNAL* " demangled="std::char_traits<char>::char_traits()" location="f106:232" file="f106" line="232" inline="1"/>
+  <Method id="_7474" name="assign" returns="_1194" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE6assignERcRKc" demangled="std::char_traits<char>::assign(char&, char const&)" location="f106:241" file="f106" line="241" endline="241" inline="1">
+    <Argument name="__c1" type="_4163" location="f106:241" file="f106" line="241"/>
+    <Argument name="__c2" type="_4165" location="f106:241" file="f106" line="241"/>
+  </Method>
+  <Method id="_7475" name="eq" returns="_3949" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE2eqERKcS2_" demangled="std::char_traits<char>::eq(char const&, char const&)" location="f106:245" file="f106" line="245" endline="245" inline="1">
+    <Argument name="__c1" type="_4165" location="f106:245" file="f106" line="245"/>
+    <Argument name="__c2" type="_4165" location="f106:245" file="f106" line="245"/>
+  </Method>
+  <Method id="_7476" name="lt" returns="_3949" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE2ltERKcS2_" demangled="std::char_traits<char>::lt(char const&, char const&)" location="f106:249" file="f106" line="249" endline="249" inline="1">
+    <Argument name="__c1" type="_4165" location="f106:249" file="f106" line="249"/>
+    <Argument name="__c2" type="_4165" location="f106:249" file="f106" line="249"/>
+  </Method>
+  <Method id="_7477" name="compare" returns="_503" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE7compareEPKcS2_j" demangled="std::char_traits<char>::compare(char const*, char const*, unsigned)" location="f106:253" file="f106" line="253" endline="253" inline="1">
+    <Argument name="__s1" type="_2749" location="f106:253" file="f106" line="253"/>
+    <Argument name="__s2" type="_2749" location="f106:253" file="f106" line="253"/>
+    <Argument name="__n" type="_1698" location="f106:253" file="f106" line="253"/>
+  </Method>
+  <Method id="_7478" name="length" returns="_1698" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE6lengthEPKc" demangled="std::char_traits<char>::length(char const*)" location="f106:257" file="f106" line="257" endline="257" inline="1">
+    <Argument name="__s" type="_2749" location="f106:257" file="f106" line="257"/>
+  </Method>
+  <Method id="_7479" name="find" returns="_2749" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE4findEPKcjRS1_" demangled="std::char_traits<char>::find(char const*, unsigned, char const&)" location="f106:261" file="f106" line="261" endline="261" inline="1">
+    <Argument name="__s" type="_2749" location="f106:261" file="f106" line="261"/>
+    <Argument name="__n" type="_1698" location="f106:261" file="f106" line="261"/>
+    <Argument name="__a" type="_4165" location="f106:261" file="f106" line="261"/>
+  </Method>
+  <Method id="_7480" name="move" returns="_1149" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE4moveEPcPKcj" demangled="std::char_traits<char>::move(char*, char const*, unsigned)" location="f106:265" file="f106" line="265" endline="265" inline="1">
+    <Argument name="__s1" type="_1149" location="f106:265" file="f106" line="265"/>
+    <Argument name="__s2" type="_2749" location="f106:265" file="f106" line="265"/>
+    <Argument name="__n" type="_1698" location="f106:265" file="f106" line="265"/>
+  </Method>
+  <Method id="_7481" name="copy" returns="_1149" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE4copyEPcPKcj" demangled="std::char_traits<char>::copy(char*, char const*, unsigned)" location="f106:269" file="f106" line="269" endline="269" inline="1">
+    <Argument name="__s1" type="_1149" location="f106:269" file="f106" line="269"/>
+    <Argument name="__s2" type="_2749" location="f106:269" file="f106" line="269"/>
+    <Argument name="__n" type="_1698" location="f106:269" file="f106" line="269"/>
+  </Method>
+  <Method id="_7482" name="assign" returns="_1149" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE6assignEPcjc" demangled="std::char_traits<char>::assign(char*, unsigned, char)" location="f106:273" file="f106" line="273" endline="273" inline="1">
+    <Argument name="__s" type="_1149" location="f106:273" file="f106" line="273"/>
+    <Argument name="__n" type="_1698" location="f106:273" file="f106" line="273"/>
+    <Argument name="__a" type="_2961" location="f106:273" file="f106" line="273"/>
+  </Method>
+  <Method id="_7483" name="to_char_type" returns="_2961" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE12to_char_typeERKi" demangled="std::char_traits<char>::to_char_type(int const&)" location="f106:277" file="f106" line="277" endline="277" inline="1">
+    <Argument name="__c" type="_4080" location="f106:277" file="f106" line="277"/>
+  </Method>
+  <Method id="_7484" name="to_int_type" returns="_503" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE11to_int_typeERKc" demangled="std::char_traits<char>::to_int_type(char const&)" location="f106:283" file="f106" line="283" endline="283" inline="1">
+    <Argument name="__c" type="_4165" location="f106:283" file="f106" line="283"/>
+  </Method>
+  <Method id="_7485" name="eq_int_type" returns="_3949" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE11eq_int_typeERKiS2_" demangled="std::char_traits<char>::eq_int_type(int const&, int const&)" location="f106:287" file="f106" line="287" endline="287" inline="1">
+    <Argument name="__c1" type="_4080" location="f106:287" file="f106" line="287"/>
+    <Argument name="__c2" type="_4080" location="f106:287" file="f106" line="287"/>
+  </Method>
+  <Method id="_7486" name="eof" returns="_503" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE3eofEv" demangled="std::char_traits<char>::eof()" location="f106:290" file="f106" line="290" endline="290" inline="1"/>
+  <Method id="_7487" name="not_eof" returns="_503" static="1" context="_2510" access="public" mangled="_ZNSt11char_traitsIcE7not_eofERKi" demangled="std::char_traits<char>::not_eof(int const&)" location="f106:294" file="f106" line="294" endline="294" inline="1">
+    <Argument name="__c" type="_4080" location="f106:294" file="f106" line="294"/>
+  </Method>
+  <Typedef id="_7488" name="char_type" type="_2786" context="_2511" access="public" location="f106:303" file="f106" line="303"/>
+  <Typedef id="_7489" name="int_type" type="_1232" context="_2511" access="public" location="f106:304" file="f106" line="304"/>
+  <Typedef id="_7490" name="off_type" type="_2500" context="_2511" access="public" location="f106:305" file="f106" line="305"/>
+  <Typedef id="_7491" name="pos_type" type="_2497" context="_2511" access="public" location="f106:306" file="f106" line="306"/>
+  <Typedef id="_7492" name="state_type" type="_767" context="_2511" access="public" location="f106:307" file="f106" line="307"/>
+  <Constructor id="_7493" name="char_traits" artificial="1" throw="" context="_2511" access="public" mangled="_ZNSt11char_traitsIwEC1ERKS0_ *INTERNAL* " demangled="std::char_traits<wchar_t>::char_traits(std::char_traits<wchar_t> const&)" location="f106:302" file="f106" line="302" inline="1">
+    <Argument name="_ctor_arg" type="_11743" location="f106:302" file="f106" line="302"/>
+  </Constructor>
+  <Constructor id="_7494" name="char_traits" explicit="1" artificial="1" throw="" context="_2511" access="public" mangled="_ZNSt11char_traitsIwEC1Ev *INTERNAL* " demangled="std::char_traits<wchar_t>::char_traits()" location="f106:302" file="f106" line="302" inline="1"/>
+  <Method id="_7495" name="assign" returns="_1194" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE6assignERwRKw" demangled="std::char_traits<wchar_t>::assign(wchar_t&, wchar_t const&)" location="f106:311" file="f106" line="311" endline="311" inline="1">
+    <Argument name="__c1" type="_7178" location="f106:311" file="f106" line="311"/>
+    <Argument name="__c2" type="_7180" location="f106:311" file="f106" line="311"/>
+  </Method>
+  <Method id="_7496" name="eq" returns="_3949" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE2eqERKwS2_" demangled="std::char_traits<wchar_t>::eq(wchar_t const&, wchar_t const&)" location="f106:315" file="f106" line="315" endline="315" inline="1">
+    <Argument name="__c1" type="_7180" location="f106:315" file="f106" line="315"/>
+    <Argument name="__c2" type="_7180" location="f106:315" file="f106" line="315"/>
+  </Method>
+  <Method id="_7497" name="lt" returns="_3949" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE2ltERKwS2_" demangled="std::char_traits<wchar_t>::lt(wchar_t const&, wchar_t const&)" location="f106:319" file="f106" line="319" endline="319" inline="1">
+    <Argument name="__c1" type="_7180" location="f106:319" file="f106" line="319"/>
+    <Argument name="__c2" type="_7180" location="f106:319" file="f106" line="319"/>
+  </Method>
+  <Method id="_7498" name="compare" returns="_503" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE7compareEPKwS2_j" demangled="std::char_traits<wchar_t>::compare(wchar_t const*, wchar_t const*, unsigned)" location="f106:323" file="f106" line="323" endline="323" inline="1">
+    <Argument name="__s1" type="_2780" location="f106:323" file="f106" line="323"/>
+    <Argument name="__s2" type="_2780" location="f106:323" file="f106" line="323"/>
+    <Argument name="__n" type="_1698" location="f106:323" file="f106" line="323"/>
+  </Method>
+  <Method id="_7499" name="length" returns="_1698" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE6lengthEPKw" demangled="std::char_traits<wchar_t>::length(wchar_t const*)" location="f106:327" file="f106" line="327" endline="327" inline="1">
+    <Argument name="__s" type="_2780" location="f106:327" file="f106" line="327"/>
+  </Method>
+  <Method id="_7500" name="find" returns="_2780" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE4findEPKwjRS1_" demangled="std::char_traits<wchar_t>::find(wchar_t const*, unsigned, wchar_t const&)" location="f106:331" file="f106" line="331" endline="331" inline="1">
+    <Argument name="__s" type="_2780" location="f106:331" file="f106" line="331"/>
+    <Argument name="__n" type="_1698" location="f106:331" file="f106" line="331"/>
+    <Argument name="__a" type="_7180" location="f106:331" file="f106" line="331"/>
+  </Method>
+  <Method id="_7501" name="move" returns="_2778" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE4moveEPwPKwj" demangled="std::char_traits<wchar_t>::move(wchar_t*, wchar_t const*, unsigned)" location="f106:335" file="f106" line="335" endline="335" inline="1">
+    <Argument name="__s1" type="_2778" location="f106:335" file="f106" line="335"/>
+    <Argument name="__s2" type="_2780" location="f106:335" file="f106" line="335"/>
+    <Argument name="__n" type="_1698" location="f106:335" file="f106" line="335"/>
+  </Method>
+  <Method id="_7502" name="copy" returns="_2778" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE4copyEPwPKwj" demangled="std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned)" location="f106:339" file="f106" line="339" endline="339" inline="1">
+    <Argument name="__s1" type="_2778" location="f106:339" file="f106" line="339"/>
+    <Argument name="__s2" type="_2780" location="f106:339" file="f106" line="339"/>
+    <Argument name="__n" type="_1698" location="f106:339" file="f106" line="339"/>
+  </Method>
+  <Method id="_7503" name="assign" returns="_2778" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE6assignEPwjw" demangled="std::char_traits<wchar_t>::assign(wchar_t*, unsigned, wchar_t)" location="f106:343" file="f106" line="343" endline="343" inline="1">
+    <Argument name="__s" type="_2778" location="f106:343" file="f106" line="343"/>
+    <Argument name="__n" type="_1698" location="f106:343" file="f106" line="343"/>
+    <Argument name="__a" type="_2786" location="f106:343" file="f106" line="343"/>
+  </Method>
+  <Method id="_7504" name="to_char_type" returns="_2786" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE12to_char_typeERKj" demangled="std::char_traits<wchar_t>::to_char_type(unsigned const&)" location="f106:346" file="f106" line="346" endline="346" inline="1">
+    <Argument name="__c" type="_11744" location="f106:346" file="f106" line="346"/>
+  </Method>
+  <Method id="_7505" name="to_int_type" returns="_1232" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE11to_int_typeERKw" demangled="std::char_traits<wchar_t>::to_int_type(wchar_t const&)" location="f106:349" file="f106" line="349" endline="349" inline="1">
+    <Argument name="__c" type="_7180" location="f106:349" file="f106" line="349"/>
+  </Method>
+  <Method id="_7506" name="eq_int_type" returns="_3949" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE11eq_int_typeERKjS2_" demangled="std::char_traits<wchar_t>::eq_int_type(unsigned const&, unsigned const&)" location="f106:353" file="f106" line="353" endline="353" inline="1">
+    <Argument name="__c1" type="_11744" location="f106:353" file="f106" line="353"/>
+    <Argument name="__c2" type="_11744" location="f106:353" file="f106" line="353"/>
+  </Method>
+  <Method id="_7507" name="eof" returns="_1232" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE3eofEv" demangled="std::char_traits<wchar_t>::eof()" location="f106:356" file="f106" line="356" endline="356" inline="1"/>
+  <Method id="_7508" name="not_eof" returns="_1232" static="1" context="_2511" access="public" mangled="_ZNSt11char_traitsIwE7not_eofERKj" demangled="std::char_traits<wchar_t>::not_eof(unsigned const&)" location="f106:360" file="f106" line="360" endline="360" inline="1">
+    <Argument name="__c" type="_11744" location="f106:360" file="f106" line="360"/>
+  </Method>
+  <Typedef id="_7509" name="size_type" type="_1698" context="_2512" access="public" location="f98:85" file="f98" line="85"/>
+  <Typedef id="_7510" name="difference_type" type="_1699" context="_2512" access="public" location="f98:86" file="f98" line="86"/>
+  <Typedef id="_7511" name="pointer" type="_1149" context="_2512" access="public" location="f98:87" file="f98" line="87"/>
+  <Typedef id="_7512" name="const_pointer" type="_2749" context="_2512" access="public" location="f98:88" file="f98" line="88"/>
+  <Typedef id="_7513" name="reference" type="_4163" context="_2512" access="public" location="f98:89" file="f98" line="89"/>
+  <Typedef id="_7514" name="const_reference" type="_4165" context="_2512" access="public" location="f98:90" file="f98" line="90"/>
+  <Typedef id="_7515" name="value_type" type="_2961" context="_2512" access="public" location="f98:91" file="f98" line="91"/>
+  <Constructor id="_7516" name="allocator" explicit="1" throw="" context="_2512" access="public" mangled="_ZNSaIcEC1Ev *INTERNAL* " demangled="std::allocator<char>::allocator()" location="f98:97" file="f98" line="97" endline="97" extern="1" inline="1"/>
+  <Constructor id="_7517" name="allocator" throw="" context="_2512" access="public" mangled="_ZNSaIcEC1ERKS_ *INTERNAL* " demangled="std::allocator<char>::allocator(std::allocator<char> const&)" location="f98:100" file="f98" line="100" endline="100" extern="1" inline="1">
+    <Argument name="__a" type="_5511" location="f98:100" file="f98" line="100"/>
+  </Constructor>
+  <Destructor id="_7518" name="allocator" throw="" context="_2512" access="public" mangled="_ZNSaIcED1Ev *INTERNAL* " demangled="std::allocator<char>::~allocator()" location="f98:105" file="f98" line="105" endline="105" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_7519" name="size_type" type="_1698" context="_2513" access="public" location="f98:85" file="f98" line="85"/>
+  <Typedef id="_7520" name="difference_type" type="_1699" context="_2513" access="public" location="f98:86" file="f98" line="86"/>
+  <Typedef id="_7521" name="pointer" type="_4014" context="_2513" access="public" location="f98:87" file="f98" line="87"/>
+  <Typedef id="_7522" name="const_pointer" type="_4016" context="_2513" access="public" location="f98:88" file="f98" line="88"/>
+  <Typedef id="_7523" name="reference" type="_4018" context="_2513" access="public" location="f98:89" file="f98" line="89"/>
+  <Typedef id="_7524" name="const_reference" type="_4020" context="_2513" access="public" location="f98:90" file="f98" line="90"/>
+  <Typedef id="_7525" name="value_type" type="_2509" context="_2513" access="public" location="f98:91" file="f98" line="91"/>
+  <Constructor id="_7526" name="allocator" explicit="1" throw="" context="_2513" access="public" mangled="_ZNSaISsEC1Ev *INTERNAL* " demangled="std::allocator<std::string>::allocator()" location="f98:97" file="f98" line="97" endline="97" inline="1"/>
+  <Constructor id="_7527" name="allocator" throw="" context="_2513" access="public" mangled="_ZNSaISsEC1ERKS_ *INTERNAL* " demangled="std::allocator<std::string>::allocator(std::allocator<std::string> const&)" location="f98:100" file="f98" line="100" endline="100" inline="1">
+    <Argument name="__a" type="_11296" location="f98:100" file="f98" line="100"/>
+  </Constructor>
+  <Destructor id="_7528" name="allocator" throw="" context="_2513" access="public" mangled="_ZNSaISsED1Ev *INTERNAL* " demangled="std::allocator<std::string>::~allocator()" location="f98:105" file="f98" line="105" endline="105" inline="1">
+  </Destructor>
+  <Typedef id="_7529" name="size_type" type="_1698" context="_2514" access="public" location="f98:85" file="f98" line="85"/>
+  <Typedef id="_7530" name="difference_type" type="_1699" context="_2514" access="public" location="f98:86" file="f98" line="86"/>
+  <Typedef id="_7531" name="pointer" type="_2935" context="_2514" access="public" location="f98:87" file="f98" line="87"/>
+  <Typedef id="_7532" name="const_pointer" type="_3093" context="_2514" access="public" location="f98:88" file="f98" line="88"/>
+  <ReferenceType id="_7533" type="_1149" size="32" align="32"/>
+  <Typedef id="_7534" name="reference" type="_7533" context="_2514" access="public" location="f98:89" file="f98" line="89"/>
+  <ReferenceType id="_7535" type="_1149c" size="32" align="32"/>
+  <Typedef id="_7536" name="const_reference" type="_7535" context="_2514" access="public" location="f98:90" file="f98" line="90"/>
+  <Typedef id="_7537" name="value_type" type="_1149" context="_2514" access="public" location="f98:91" file="f98" line="91"/>
+  <Constructor id="_7538" name="allocator" explicit="1" throw="" context="_2514" access="public" mangled="_ZNSaIPcEC1Ev *INTERNAL* " demangled="std::allocator<char*>::allocator()" location="f98:97" file="f98" line="97" extern="1" inline="1"/>
+  <Constructor id="_7539" name="allocator" throw="" context="_2514" access="public" mangled="_ZNSaIPcEC1ERKS0_ *INTERNAL* " demangled="std::allocator<char*>::allocator(std::allocator<char*> const&)" location="f98:100" file="f98" line="100" endline="100" inline="1">
+    <Argument name="__a" type="_11745" location="f98:100" file="f98" line="100"/>
+  </Constructor>
+  <Destructor id="_7540" name="allocator" throw="" context="_2514" access="public" mangled="_ZNSaIPcED1Ev *INTERNAL* " demangled="std::allocator<char*>::~allocator()" location="f98:105" file="f98" line="105" endline="105" inline="1">
+  </Destructor>
+  <Typedef id="_7541" name="size_type" type="_1698" context="_2515" access="public" location="f98:85" file="f98" line="85"/>
+  <Typedef id="_7542" name="difference_type" type="_1699" context="_2515" access="public" location="f98:86" file="f98" line="86"/>
+  <Typedef id="_7543" name="pointer" type="_2778" context="_2515" access="public" location="f98:87" file="f98" line="87"/>
+  <Typedef id="_7544" name="const_pointer" type="_2780" context="_2515" access="public" location="f98:88" file="f98" line="88"/>
+  <Typedef id="_7545" name="reference" type="_7178" context="_2515" access="public" location="f98:89" file="f98" line="89"/>
+  <Typedef id="_7546" name="const_reference" type="_7180" context="_2515" access="public" location="f98:90" file="f98" line="90"/>
+  <Typedef id="_7547" name="value_type" type="_2786" context="_2515" access="public" location="f98:91" file="f98" line="91"/>
+  <Constructor id="_7548" name="allocator" explicit="1" throw="" context="_2515" access="public" mangled="_ZNSaIwEC1Ev *INTERNAL* " demangled="std::allocator<wchar_t>::allocator()" location="f98:97" file="f98" line="97" endline="97" extern="1" inline="1"/>
+  <Constructor id="_7549" name="allocator" throw="" context="_2515" access="public" mangled="_ZNSaIwEC1ERKS_ *INTERNAL* " demangled="std::allocator<wchar_t>::allocator(std::allocator<wchar_t> const&)" location="f98:100" file="f98" line="100" endline="100" extern="1" inline="1">
+    <Argument name="__a" type="_5510" location="f98:100" file="f98" line="100"/>
+  </Constructor>
+  <Destructor id="_7550" name="allocator" throw="" context="_2515" access="public" mangled="_ZNSaIwED1Ev *INTERNAL* " demangled="std::allocator<wchar_t>::~allocator()" location="f98:105" file="f98" line="105" endline="105" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_7551" name="size_type" type="_1698" context="_2516" access="public" location="f98:85" file="f98" line="85"/>
+  <Typedef id="_7552" name="difference_type" type="_1699" context="_2516" access="public" location="f98:86" file="f98" line="86"/>
+  <Typedef id="_7553" name="pointer" type="_2748" context="_2516" access="public" location="f98:87" file="f98" line="87"/>
+  <Typedef id="_7554" name="const_pointer" type="_4076" context="_2516" access="public" location="f98:88" file="f98" line="88"/>
+  <Typedef id="_7555" name="reference" type="_4078" context="_2516" access="public" location="f98:89" file="f98" line="89"/>
+  <Typedef id="_7556" name="const_reference" type="_4080" context="_2516" access="public" location="f98:90" file="f98" line="90"/>
+  <Typedef id="_7557" name="value_type" type="_503" context="_2516" access="public" location="f98:91" file="f98" line="91"/>
+  <Constructor id="_7558" name="allocator" explicit="1" throw="" context="_2516" access="public" mangled="_ZNSaIiEC1Ev *INTERNAL* " demangled="std::allocator<int>::allocator()" location="f98:97" file="f98" line="97" endline="97" inline="1"/>
+  <Constructor id="_7559" name="allocator" throw="" context="_2516" access="public" mangled="_ZNSaIiEC1ERKS_ *INTERNAL* " demangled="std::allocator<int>::allocator(std::allocator<int> const&)" location="f98:100" file="f98" line="100" endline="100" inline="1">
+    <Argument name="__a" type="_11299" location="f98:100" file="f98" line="100"/>
+  </Constructor>
+  <Destructor id="_7560" name="allocator" throw="" context="_2516" access="public" mangled="_ZNSaIiED1Ev *INTERNAL* " demangled="std::allocator<int>::~allocator()" location="f98:105" file="f98" line="105" endline="105" inline="1">
+  </Destructor>
+  <Typedef id="_7561" name="size_type" type="_1698" context="_2517" access="public" location="f98:85" file="f98" line="85"/>
+  <Typedef id="_7562" name="difference_type" type="_1699" context="_2517" access="public" location="f98:86" file="f98" line="86"/>
+  <Typedef id="_7563" name="pointer" type="_4420" context="_2517" access="public" location="f98:87" file="f98" line="87"/>
+  <Typedef id="_7564" name="const_pointer" type="_4422" context="_2517" access="public" location="f98:88" file="f98" line="88"/>
+  <ReferenceType id="_7565" type="_2036" size="32" align="32"/>
+  <Typedef id="_7566" name="reference" type="_7565" context="_2517" access="public" location="f98:89" file="f98" line="89"/>
+  <ReferenceType id="_7567" type="_2036c" size="32" align="32"/>
+  <Typedef id="_7568" name="const_reference" type="_7567" context="_2517" access="public" location="f98:90" file="f98" line="90"/>
+  <Typedef id="_7569" name="value_type" type="_2036" context="_2517" access="public" location="f98:91" file="f98" line="91"/>
+  <Constructor id="_7570" name="allocator" explicit="1" throw="" context="_2517" access="public" mangled="_ZNSaISt13_Rb_tree_nodeISt4pairIKSstEEEC1Ev *INTERNAL* " demangled="std::allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::allocator()" location="f98:97" file="f98" line="97" extern="1" inline="1"/>
+  <Constructor id="_7571" name="allocator" throw="" context="_2517" access="public" mangled="_ZNSaISt13_Rb_tree_nodeISt4pairIKSstEEEC1ERKS4_ *INTERNAL* " demangled="std::allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::allocator(std::allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > > const&)" location="f98:100" file="f98" line="100" extern="1" inline="1">
+    <Argument name="__a" type="_11355" location="f98:100" file="f98" line="100"/>
+  </Constructor>
+  <Destructor id="_7572" name="allocator" throw="" context="_2517" access="public" mangled="_ZNSaISt13_Rb_tree_nodeISt4pairIKSstEEED1Ev *INTERNAL* " demangled="std::allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::~allocator()" location="f98:105" file="f98" line="105" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_7573" name="size_type" type="_1698" context="_2518" access="public" location="f98:85" file="f98" line="85"/>
+  <Typedef id="_7574" name="difference_type" type="_1699" context="_2518" access="public" location="f98:86" file="f98" line="86"/>
+  <Typedef id="_7575" name="pointer" type="_4293" context="_2518" access="public" location="f98:87" file="f98" line="87"/>
+  <Typedef id="_7576" name="const_pointer" type="_4295" context="_2518" access="public" location="f98:88" file="f98" line="88"/>
+  <Typedef id="_7577" name="reference" type="_4297" context="_2518" access="public" location="f98:89" file="f98" line="89"/>
+  <Typedef id="_7578" name="const_reference" type="_4299" context="_2518" access="public" location="f98:90" file="f98" line="90"/>
+  <Typedef id="_7579" name="value_type" type="_2707" context="_2518" access="public" location="f98:91" file="f98" line="91"/>
+  <Constructor id="_7580" name="allocator" explicit="1" throw="" context="_2518" access="public" mangled="_ZNSaISt4pairIKSstEEC1Ev *INTERNAL* " demangled="std::allocator<std::pair<std::string const, unsigned short> >::allocator()" location="f98:97" file="f98" line="97" extern="1" inline="1"/>
+  <Constructor id="_7581" name="allocator" throw="" context="_2518" access="public" mangled="_ZNSaISt4pairIKSstEEC1ERKS2_ *INTERNAL* " demangled="std::allocator<std::pair<std::string const, unsigned short> >::allocator(std::allocator<std::pair<std::string const, unsigned short> > const&)" location="f98:100" file="f98" line="100" extern="1" inline="1">
+    <Argument name="__a" type="_11338" location="f98:100" file="f98" line="100"/>
+  </Constructor>
+  <Destructor id="_7582" name="allocator" throw="" context="_2518" access="public" mangled="_ZNSaISt4pairIKSstEED1Ev *INTERNAL* " demangled="std::allocator<std::pair<std::string const, unsigned short> >::~allocator()" location="f98:105" file="f98" line="105" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_7583" name="size_type" type="_1698" context="_2519" access="public" location="f98:85" file="f98" line="85"/>
+  <Typedef id="_7584" name="difference_type" type="_1699" context="_2519" access="public" location="f98:86" file="f98" line="86"/>
+  <Typedef id="_7585" name="pointer" type="_4516" context="_2519" access="public" location="f98:87" file="f98" line="87"/>
+  <Typedef id="_7586" name="const_pointer" type="_4518" context="_2519" access="public" location="f98:88" file="f98" line="88"/>
+  <ReferenceType id="_7587" type="_2037" size="32" align="32"/>
+  <Typedef id="_7588" name="reference" type="_7587" context="_2519" access="public" location="f98:89" file="f98" line="89"/>
+  <ReferenceType id="_7589" type="_2037c" size="32" align="32"/>
+  <Typedef id="_7590" name="const_reference" type="_7589" context="_2519" access="public" location="f98:90" file="f98" line="90"/>
+  <Typedef id="_7591" name="value_type" type="_2037" context="_2519" access="public" location="f98:91" file="f98" line="91"/>
+  <Constructor id="_7592" name="allocator" explicit="1" throw="" context="_2519" access="public" mangled="_ZNSaISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEEEEC1Ev *INTERNAL* " demangled="std::allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::allocator()" location="f98:97" file="f98" line="97" ext [...]
+  <Constructor id="_7593" name="allocator" throw="" context="_2519" access="public" mangled="_ZNSaISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEEEEC1ERKSC_ *INTERNAL* " demangled="std::allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::allocator(std::allocator<std::_Rb_tree_node<std::pair<s [...]
+    <Argument name="__a" type="_11357" location="f98:100" file="f98" line="100"/>
+  </Constructor>
+  <Destructor id="_7594" name="allocator" throw="" context="_2519" access="public" mangled="_ZNSaISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS2_9date_time14time_zone_baseINS2_10posix_time5ptimeEcEEEEEEED1Ev *INTERNAL* " demangled="std::allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::~allocator()" location="f98:105" file="f98" line="105" extern="1" inl [...]
+  </Destructor>
+  <Typedef id="_7595" name="size_type" type="_1698" context="_2520" access="public" location="f98:85" file="f98" line="85"/>
+  <Typedef id="_7596" name="difference_type" type="_1699" context="_2520" access="public" location="f98:86" file="f98" line="86"/>
+  <Typedef id="_7597" name="pointer" type="_4355" context="_2520" access="public" location="f98:87" file="f98" line="87"/>
+  <Typedef id="_7598" name="const_pointer" type="_4357" context="_2520" access="public" location="f98:88" file="f98" line="88"/>
+  <Typedef id="_7599" name="reference" type="_4359" context="_2520" access="public" location="f98:89" file="f98" line="89"/>
+  <Typedef id="_7600" name="const_reference" type="_4361" context="_2520" access="public" location="f98:90" file="f98" line="90"/>
+  <Typedef id="_7601" name="value_type" type="_2712" context="_2520" access="public" location="f98:91" file="f98" line="91"/>
+  <Constructor id="_7602" name="allocator" explicit="1" throw="" context="_2520" access="public" mangled="_ZNSaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEEC1Ev *INTERNAL* " demangled="std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::allocator()" location="f98:97" file="f98" line="97" extern="1" inline="1"/>
+  <Constructor id="_7603" name="allocator" throw="" context="_2520" access="public" mangled="_ZNSaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEEC1ERKSA_ *INTERNAL* " demangled="std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::allocator(std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_b [...]
+    <Argument name="__a" type="_11343" location="f98:100" file="f98" line="100"/>
+  </Constructor>
+  <Destructor id="_7604" name="allocator" throw="" context="_2520" access="public" mangled="_ZNSaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEED1Ev *INTERNAL* " demangled="std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::~allocator()" location="f98:105" file="f98" line="105" extern="1" inline="1">
+  </Destructor>
+  <Typedef id="_7605" name="size_type" type="_1698" context="_2522" access="public" location="f98:64" file="f98" line="64"/>
+  <Typedef id="_7606" name="difference_type" type="_1699" context="_2522" access="public" location="f98:65" file="f98" line="65"/>
+  <Typedef id="_7607" name="pointer" type="_1042" context="_2522" access="public" location="f98:66" file="f98" line="66"/>
+  <Typedef id="_7608" name="const_pointer" type="_2807" context="_2522" access="public" location="f98:67" file="f98" line="67"/>
+  <Typedef id="_7609" name="value_type" type="_1194" context="_2522" access="public" location="f98:68" file="f98" line="68"/>
+  <Constructor id="_7610" name="allocator" artificial="1" throw="" context="_2522" access="public" mangled="_ZNSaIvEC1ERKS_ *INTERNAL* " demangled="std::allocator<void>::allocator(std::allocator<void> const&)" location="f98:62" file="f98" line="62" inline="1">
+    <Argument name="_ctor_arg" type="_11746" location="f98:62" file="f98" line="62"/>
+  </Constructor>
+  <Constructor id="_7611" name="allocator" explicit="1" artificial="1" throw="" context="_2522" access="public" mangled="_ZNSaIvEC1Ev *INTERNAL* " demangled="std::allocator<void>::allocator()" location="f98:62" file="f98" line="62" inline="1"/>
+  <Typedef id="_7612" name="other" type="_2512" context="_2523" access="public" location="f98:95" file="f98" line="95"/>
+  <Constructor id="_7613" name="rebind" artificial="1" throw="" context="_2523" access="public" mangled="_ZNSaIcE6rebindIcEC1ERKS1_ *INTERNAL* " demangled="std::allocator<char>::rebind<char>::rebind(std::allocator<char>::rebind<char> const&)" location="f98:95" file="f98" line="95" inline="1">
+    <Argument name="_ctor_arg" type="_11747" location="f98:95" file="f98" line="95"/>
+  </Constructor>
+  <Constructor id="_7614" name="rebind" explicit="1" artificial="1" throw="" context="_2523" access="public" mangled="_ZNSaIcE6rebindIcEC1Ev *INTERNAL* " demangled="std::allocator<char>::rebind<char>::rebind()" location="f98:95" file="f98" line="95" inline="1"/>
+  <Typedef id="_7615" name="other" type="_2514" context="_2524" access="public" location="f98:95" file="f98" line="95"/>
+  <Constructor id="_7616" name="rebind" artificial="1" throw="" context="_2524" access="public" mangled="_ZNSaIcE6rebindIPcEC1ERKS2_ *INTERNAL* " demangled="std::allocator<char>::rebind<char*>::rebind(std::allocator<char>::rebind<char*> const&)" location="f98:95" file="f98" line="95" inline="1">
+    <Argument name="_ctor_arg" type="_11748" location="f98:95" file="f98" line="95"/>
+  </Constructor>
+  <Constructor id="_7617" name="rebind" explicit="1" artificial="1" throw="" context="_2524" access="public" mangled="_ZNSaIcE6rebindIPcEC1Ev *INTERNAL* " demangled="std::allocator<char>::rebind<char*>::rebind()" location="f98:95" file="f98" line="95" inline="1"/>
+  <Typedef id="_7618" name="other" type="_2513" context="_2525" access="public" location="f98:95" file="f98" line="95"/>
+  <Constructor id="_7619" name="rebind" artificial="1" throw="" context="_2525" access="public" mangled="_ZNSaISsE6rebindISsEC1ERKS1_ *INTERNAL* " demangled="std::allocator<std::string>::rebind<std::string>::rebind(std::allocator<std::string>::rebind<std::string> const&)" location="f98:95" file="f98" line="95" inline="1">
+    <Argument name="_ctor_arg" type="_11749" location="f98:95" file="f98" line="95"/>
+  </Constructor>
+  <Constructor id="_7620" name="rebind" explicit="1" artificial="1" throw="" context="_2525" access="public" mangled="_ZNSaISsE6rebindISsEC1Ev *INTERNAL* " demangled="std::allocator<std::string>::rebind<std::string>::rebind()" location="f98:95" file="f98" line="95" inline="1"/>
+  <Typedef id="_7621" name="other" type="_2518" context="_2526" access="public" location="f98:95" file="f98" line="95"/>
+  <Constructor id="_7622" name="rebind" artificial="1" throw="" context="_2526" access="public" mangled="_ZNSaISt4pairIKSstEE6rebindIS1_EC1ERKS4_ *INTERNAL* " demangled="std::allocator<std::pair<std::string const, unsigned short> >::rebind<std::pair<std::string const, unsigned short> >::rebind(std::allocator<std::pair<std::string const, unsigned short> >::rebind<std::pair<std::string const, unsigned short> > const&)" location="f98:95" f [...]
+    <Argument name="_ctor_arg" type="_11750" location="f98:95" file="f98" line="95"/>
+  </Constructor>
+  <Constructor id="_7623" name="rebind" explicit="1" artificial="1" throw="" context="_2526" access="public" mangled="_ZNSaISt4pairIKSstEE6rebindIS1_EC1Ev *INTERNAL* " demangled="std::allocator<std::pair<std::string const, unsigned short> >::rebind<std::pair<std::string const, unsigned short> >::rebind()" location="f98:95" file="f98" line="95" inline="1"/>
+  <Typedef id="_7624" name="other" type="_2516" context="_2527" access="public" location="f98:95" file="f98" line="95"/>
+  <Constructor id="_7625" name="rebind" artificial="1" throw="" context="_2527" access="public" mangled="_ZNSaIiE6rebindIiEC1ERKS1_ *INTERNAL* " demangled="std::allocator<int>::rebind<int>::rebind(std::allocator<int>::rebind<int> const&)" location="f98:95" file="f98" line="95" inline="1">
+    <Argument name="_ctor_arg" type="_11751" location="f98:95" file="f98" line="95"/>
+  </Constructor>
+  <Constructor id="_7626" name="rebind" explicit="1" artificial="1" throw="" context="_2527" access="public" mangled="_ZNSaIiE6rebindIiEC1Ev *INTERNAL* " demangled="std::allocator<int>::rebind<int>::rebind()" location="f98:95" file="f98" line="95" inline="1"/>
+  <Typedef id="_7627" name="other" type="_2517" context="_2528" access="public" location="f98:95" file="f98" line="95"/>
+  <Constructor id="_7628" name="rebind" artificial="1" throw="" context="_2528" access="public" mangled="_ZNSaISt4pairIKSstEE6rebindISt13_Rb_tree_nodeIS1_EEC1ERKS6_ *INTERNAL* " demangled="std::allocator<std::pair<std::string const, unsigned short> >::rebind<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::rebind(std::allocator<std::pair<std::string const, unsigned short> >::rebind<std::_Rb_tree_node<std::pair<std::st [...]
+    <Argument name="_ctor_arg" type="_11752" location="f98:95" file="f98" line="95"/>
+  </Constructor>
+  <Constructor id="_7629" name="rebind" explicit="1" artificial="1" throw="" context="_2528" access="public" mangled="_ZNSaISt4pairIKSstEE6rebindISt13_Rb_tree_nodeIS1_EEC1Ev *INTERNAL* " demangled="std::allocator<std::pair<std::string const, unsigned short> >::rebind<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::rebind()" location="f98:95" file="f98" line="95" inline="1"/>
+  <Typedef id="_7630" name="other" type="_2520" context="_2529" access="public" location="f98:95" file="f98" line="95"/>
+  <Constructor id="_7631" name="rebind" artificial="1" throw="" context="_2529" access="public" mangled="_ZNSaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEE6rebindIS9_EC1ERKSC_ *INTERNAL* " demangled="std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::rebind<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_ [...]
+    <Argument name="_ctor_arg" type="_11753" location="f98:95" file="f98" line="95"/>
+  </Constructor>
+  <Constructor id="_7632" name="rebind" explicit="1" artificial="1" throw="" context="_2529" access="public" mangled="_ZNSaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEE6rebindIS9_EC1Ev *INTERNAL* " demangled="std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::rebind<std::pair<std::string const, boost::shared_ptr<boost::date_ti [...]
+  <Typedef id="_7633" name="other" type="_2519" context="_2530" access="public" location="f98:95" file="f98" line="95"/>
+  <Constructor id="_7634" name="rebind" artificial="1" throw="" context="_2530" access="public" mangled="_ZNSaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEE6rebindISt13_Rb_tree_nodeIS9_EEC1ERKSE_ *INTERNAL* " demangled="std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::rebind<std::_Rb_tree_node<std::pair<std::string const, boo [...]
+    <Argument name="_ctor_arg" type="_11754" location="f98:95" file="f98" line="95"/>
+  </Constructor>
+  <Constructor id="_7635" name="rebind" explicit="1" artificial="1" throw="" context="_2530" access="public" mangled="_ZNSaISt4pairIKSsN5boost10shared_ptrINS1_9date_time14time_zone_baseINS1_10posix_time5ptimeEcEEEEEE6rebindISt13_Rb_tree_nodeIS9_EEC1Ev *INTERNAL* " demangled="std::allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::rebind<std::_Rb_tree_node<std::pair<std::string c [...]
+  <Typedef id="_7636" name="other" type="_2512" context="_2531" access="public" location="f98:95" file="f98" line="95"/>
+  <Constructor id="_7637" name="rebind" artificial="1" throw="" context="_2531" access="public" mangled="_ZNSaIwE6rebindIcEC1ERKS1_ *INTERNAL* " demangled="std::allocator<wchar_t>::rebind<char>::rebind(std::allocator<wchar_t>::rebind<char> const&)" location="f98:95" file="f98" line="95" inline="1">
+    <Argument name="_ctor_arg" type="_11755" location="f98:95" file="f98" line="95"/>
+  </Constructor>
+  <Constructor id="_7638" name="rebind" explicit="1" artificial="1" throw="" context="_2531" access="public" mangled="_ZNSaIwE6rebindIcEC1Ev *INTERNAL* " demangled="std::allocator<wchar_t>::rebind<char>::rebind()" location="f98:95" file="f98" line="95" inline="1"/>
+  <ReferenceType id="_7639" type="_1994" size="32" align="32"/>
+  <Field id="_7640" name="container" type="_11756" offset="0" context="_2541" access="protected" mangled="_ZNSt20back_insert_iteratorISt6vectorISsSaISsEEE9containerE" demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > >::container" location="f110:387" file="f110" line="387"/>
+  <Typedef id="_7641" name="container_type" type="_1994" context="_2541" access="public" location="f110:391" file="f110" line="391"/>
+  <Constructor id="_7642" name="back_insert_iterator" artificial="1" throw="" context="_2541" access="public" mangled="_ZNSt20back_insert_iteratorISt6vectorISsSaISsEEEC1ERKS3_ *INTERNAL* " demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > >::back_insert_iterator(std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > const&)" location="f110:385" file="f110" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_11757" location="f110:385" file="f110" line="385"/>
+  </Constructor>
+  <Constructor id="_7643" name="back_insert_iterator" explicit="1" context="_2541" access="public" mangled="_ZNSt20back_insert_iteratorISt6vectorISsSaISsEEEC1ERS2_ *INTERNAL* " demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > >::back_insert_iterator(std::vector<std::string, std::allocator<std::string> >&)" location="f110:395" file="f110" line="395" endline="395" inline="1">
+    <Argument name="__x" type="_7639" location="f110:395" file="f110" line="395"/>
+  </Constructor>
+  <OperatorMethod id="_7644" name="=" returns="_11758" context="_2541" access="public" mangled="_ZNSt20back_insert_iteratorISt6vectorISsSaISsEEEaSERKSs" demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > >::operator=(std::string const&)" location="f110:410" file="f110" line="410" endline="412" inline="1">
+    <Argument name="__value" type="_4020" location="f110:410" file="f110" line="410"/>
+  </OperatorMethod>
+  <OperatorMethod id="_7645" name="*" returns="_11758" context="_2541" access="public" mangled="_ZNSt20back_insert_iteratorISt6vectorISsSaISsEEEdeEv" demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > >::operator*()" location="f110:418" file="f110" line="418" endline="418" inline="1"/>
+  <OperatorMethod id="_7646" name="++" returns="_11758" context="_2541" access="public" mangled="_ZNSt20back_insert_iteratorISt6vectorISsSaISsEEEppEv" demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > >::operator++()" location="f110:423" file="f110" line="423" endline="423" inline="1"/>
+  <OperatorMethod id="_7647" name="++" returns="_2541" context="_2541" access="public" mangled="_ZNSt20back_insert_iteratorISt6vectorISsSaISsEEEppEi" demangled="std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > >::operator++(int)" location="f110:428" file="f110" line="428" extern="1" inline="1">
+    <Argument type="_503" location="f110:428" file="f110" line="428"/>
+  </OperatorMethod>
+  <Enumeration id="_7648" name="._50" context="_2558" access="public" location="f60:361" file="f60" line="361" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Constructor id="_7649" name="__is_pod" artificial="1" throw="" context="_2558" access="public" mangled="_ZNSt8__is_podISt4lessISsEEC1ERKS2_ *INTERNAL* " demangled="std::__is_pod<std::less<std::string> >::__is_pod(std::__is_pod<std::less<std::string> > const&)" location="f60:359" file="f60" line="359" inline="1">
+    <Argument name="_ctor_arg" type="_11759" location="f60:359" file="f60" line="359"/>
+  </Constructor>
+  <Constructor id="_7650" name="__is_pod" explicit="1" artificial="1" throw="" context="_2558" access="public" mangled="_ZNSt8__is_podISt4lessISsEEC1Ev *INTERNAL* " demangled="std::__is_pod<std::less<std::string> >::__is_pod()" location="f60:359" file="f60" line="359" inline="1"/>
+  <Constructor id="_7651" name="__is_scalar" artificial="1" throw="" context="_2559" access="public" mangled="_ZNSt11__is_scalarIcEC1ERKS0_ *INTERNAL* " demangled="std::__is_scalar<char>::__is_scalar(std::__is_scalar<char> const&)" location="f60:352" file="f60" line="352" inline="1">
+    <Argument name="_ctor_arg" type="_11760" location="f60:352" file="f60" line="352"/>
+  </Constructor>
+  <Constructor id="_7652" name="__is_scalar" explicit="1" artificial="1" throw="" context="_2559" access="public" mangled="_ZNSt11__is_scalarIcEC1Ev *INTERNAL* " demangled="std::__is_scalar<char>::__is_scalar()" location="f60:352" file="f60" line="352" inline="1"/>
+  <Constructor id="_7653" name="__is_scalar" artificial="1" throw="" context="_2560" access="public" mangled="_ZNSt11__is_scalarISsEC1ERKS0_ *INTERNAL* " demangled="std::__is_scalar<std::string>::__is_scalar(std::__is_scalar<std::string> const&)" location="f60:352" file="f60" line="352" inline="1">
+    <Argument name="_ctor_arg" type="_11761" location="f60:352" file="f60" line="352"/>
+  </Constructor>
+  <Constructor id="_7654" name="__is_scalar" explicit="1" artificial="1" throw="" context="_2560" access="public" mangled="_ZNSt11__is_scalarISsEC1Ev *INTERNAL* " demangled="std::__is_scalar<std::string>::__is_scalar()" location="f60:352" file="f60" line="352" inline="1"/>
+  <Constructor id="_7655" name="__is_scalar" artificial="1" throw="" context="_2561" access="public" mangled="_ZNSt11__is_scalarIPcEC1ERKS1_ *INTERNAL* " demangled="std::__is_scalar<char*>::__is_scalar(std::__is_scalar<char*> const&)" location="f60:352" file="f60" line="352" inline="1">
+    <Argument name="_ctor_arg" type="_11762" location="f60:352" file="f60" line="352"/>
+  </Constructor>
+  <Constructor id="_7656" name="__is_scalar" explicit="1" artificial="1" throw="" context="_2561" access="public" mangled="_ZNSt11__is_scalarIPcEC1Ev *INTERNAL* " demangled="std::__is_scalar<char*>::__is_scalar()" location="f60:352" file="f60" line="352" inline="1"/>
+  <Constructor id="_7657" name="__is_scalar" artificial="1" throw="" context="_2562" access="public" mangled="_ZNSt11__is_scalarIA17_cEC1ERKS1_ *INTERNAL* " demangled="std::__is_scalar<char[17]>::__is_scalar(std::__is_scalar<char[17]> const&)" location="f60:352" file="f60" line="352" inline="1">
+    <Argument name="_ctor_arg" type="_11763" location="f60:352" file="f60" line="352"/>
+  </Constructor>
+  <Constructor id="_7658" name="__is_scalar" explicit="1" artificial="1" throw="" context="_2562" access="public" mangled="_ZNSt11__is_scalarIA17_cEC1Ev *INTERNAL* " demangled="std::__is_scalar<char[17]>::__is_scalar()" location="f60:352" file="f60" line="352" inline="1"/>
+  <Constructor id="_7659" name="__is_scalar" artificial="1" throw="" context="_2563" access="public" mangled="_ZNSt11__is_scalarIiEC1ERKS0_ *INTERNAL* " demangled="std::__is_scalar<int>::__is_scalar(std::__is_scalar<int> const&)" location="f60:352" file="f60" line="352" inline="1">
+    <Argument name="_ctor_arg" type="_11764" location="f60:352" file="f60" line="352"/>
+  </Constructor>
+  <Constructor id="_7660" name="__is_scalar" explicit="1" artificial="1" throw="" context="_2563" access="public" mangled="_ZNSt11__is_scalarIiEC1Ev *INTERNAL* " demangled="std::__is_scalar<int>::__is_scalar()" location="f60:352" file="f60" line="352" inline="1"/>
+  <Constructor id="_7661" name="__is_arithmetic" artificial="1" throw="" context="_2564" access="public" mangled="_ZNSt15__is_arithmeticIPcEC1ERKS1_ *INTERNAL* " demangled="std::__is_arithmetic<char*>::__is_arithmetic(std::__is_arithmetic<char*> const&)" location="f60:336" file="f60" line="336" inline="1">
+    <Argument name="_ctor_arg" type="_11765" location="f60:336" file="f60" line="336"/>
+  </Constructor>
+  <Constructor id="_7662" name="__is_arithmetic" explicit="1" artificial="1" throw="" context="_2564" access="public" mangled="_ZNSt15__is_arithmeticIPcEC1Ev *INTERNAL* " demangled="std::__is_arithmetic<char*>::__is_arithmetic()" location="f60:336" file="f60" line="336" inline="1"/>
+  <Constructor id="_7663" name="__is_arithmetic" artificial="1" throw="" context="_2565" access="public" mangled="_ZNSt15__is_arithmeticIA17_cEC1ERKS1_ *INTERNAL* " demangled="std::__is_arithmetic<char[17]>::__is_arithmetic(std::__is_arithmetic<char[17]> const&)" location="f60:336" file="f60" line="336" inline="1">
+    <Argument name="_ctor_arg" type="_11766" location="f60:336" file="f60" line="336"/>
+  </Constructor>
+  <Constructor id="_7664" name="__is_arithmetic" explicit="1" artificial="1" throw="" context="_2565" access="public" mangled="_ZNSt15__is_arithmeticIA17_cEC1Ev *INTERNAL* " demangled="std::__is_arithmetic<char[17]>::__is_arithmetic()" location="f60:336" file="f60" line="336" inline="1"/>
+  <Constructor id="_7665" name="__is_arithmetic" artificial="1" throw="" context="_2566" access="public" mangled="_ZNSt15__is_arithmeticISsEC1ERKS0_ *INTERNAL* " demangled="std::__is_arithmetic<std::string>::__is_arithmetic(std::__is_arithmetic<std::string> const&)" location="f60:336" file="f60" line="336" inline="1">
+    <Argument name="_ctor_arg" type="_11767" location="f60:336" file="f60" line="336"/>
+  </Constructor>
+  <Constructor id="_7666" name="__is_arithmetic" explicit="1" artificial="1" throw="" context="_2566" access="public" mangled="_ZNSt15__is_arithmeticISsEC1Ev *INTERNAL* " demangled="std::__is_arithmetic<std::string>::__is_arithmetic()" location="f60:336" file="f60" line="336" inline="1"/>
+  <Constructor id="_7667" name="__is_arithmetic" artificial="1" throw="" context="_2567" access="public" mangled="_ZNSt15__is_arithmeticIcEC1ERKS0_ *INTERNAL* " demangled="std::__is_arithmetic<char>::__is_arithmetic(std::__is_arithmetic<char> const&)" location="f60:336" file="f60" line="336" inline="1">
+    <Argument name="_ctor_arg" type="_11768" location="f60:336" file="f60" line="336"/>
+  </Constructor>
+  <Constructor id="_7668" name="__is_arithmetic" explicit="1" artificial="1" throw="" context="_2567" access="public" mangled="_ZNSt15__is_arithmeticIcEC1Ev *INTERNAL* " demangled="std::__is_arithmetic<char>::__is_arithmetic()" location="f60:336" file="f60" line="336" inline="1"/>
+  <Constructor id="_7669" name="__is_arithmetic" artificial="1" throw="" context="_2568" access="public" mangled="_ZNSt15__is_arithmeticIiEC1ERKS0_ *INTERNAL* " demangled="std::__is_arithmetic<int>::__is_arithmetic(std::__is_arithmetic<int> const&)" location="f60:336" file="f60" line="336" inline="1">
+    <Argument name="_ctor_arg" type="_11769" location="f60:336" file="f60" line="336"/>
+  </Constructor>
+  <Constructor id="_7670" name="__is_arithmetic" explicit="1" artificial="1" throw="" context="_2568" access="public" mangled="_ZNSt15__is_arithmeticIiEC1Ev *INTERNAL* " demangled="std::__is_arithmetic<int>::__is_arithmetic()" location="f60:336" file="f60" line="336" inline="1"/>
+  <Enumeration id="_7671" name="._48" context="_2569" access="public" location="f60:318" file="f60" line="318" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7672" name="__type" type="_1286" context="_2569" access="public" location="f60:319" file="f60" line="319"/>
+  <Constructor id="_7673" name="__is_normal_iterator" artificial="1" throw="" context="_2569" access="public" mangled="_ZNSt20__is_normal_iteratorISt15_Deque_iteratorIcRcPcEEC1ERKS4_ *INTERNAL* " demangled="std::__is_normal_iterator<std::_Deque_iterator<char, char&, char*> >::__is_normal_iterator(std::__is_normal_iterator<std::_Deque_iterator<char, char&, char*> > const&)" location="f60:317" file="f60" line="317" inline="1">
+    <Argument name="_ctor_arg" type="_11770" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7674" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2569" access="public" mangled="_ZNSt20__is_normal_iteratorISt15_Deque_iteratorIcRcPcEEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<std::_Deque_iterator<char, char&, char*> >::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7675" name="._49" context="_2570" access="public" location="f60:326" file="f60" line="326" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7676" name="__type" type="_1287" context="_2570" access="public" location="f60:327" file="f60" line="327"/>
+  <Constructor id="_7677" name="__is_normal_iterator" artificial="1" throw="" context="_2570" access="public" mangled="_ZNSt20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEC1ERKS7_ *INTERNAL* " demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > >::__is_normal_iterator(std::__is_normal_iterator<__gnu_cxx::__normal_iterator<std::string*, std::ve [...]
+    <Argument name="_ctor_arg" type="_11771" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7678" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2570" access="public" mangled="_ZNSt20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > >::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7679" name="._49" context="_2571" access="public" location="f60:326" file="f60" line="326" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7680" name="__type" type="_1287" context="_2571" access="public" location="f60:327" file="f60" line="327"/>
+  <Constructor id="_7681" name="__is_normal_iterator" artificial="1" throw="" context="_2571" access="public" mangled="_ZNSt20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS5_ *INTERNAL* " demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<char const*, std::string> >::__is_normal_iterator(std::__is_normal_iterator<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f60:317" file="f60" line="317" inline="1">
+    <Argument name="_ctor_arg" type="_11772" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7682" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2571" access="public" mangled="_ZNSt20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<char const*, std::string> >::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7683" name="._49" context="_2572" access="public" location="f60:326" file="f60" line="326" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7684" name="__type" type="_1287" context="_2572" access="public" location="f60:327" file="f60" line="327"/>
+  <Constructor id="_7685" name="__is_normal_iterator" artificial="1" throw="" context="_2572" access="public" mangled="_ZNSt20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1ERKS4_ *INTERNAL* " demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<char*, std::string> >::__is_normal_iterator(std::__is_normal_iterator<__gnu_cxx::__normal_iterator<char*, std::string> > const&)" location="f60:317" file="f60" line="317" inline="1">
+    <Argument name="_ctor_arg" type="_11773" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7686" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2572" access="public" mangled="_ZNSt20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<char*, std::string> >::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7687" name="._48" context="_2573" access="public" location="f60:318" file="f60" line="318" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7688" name="__type" type="_1286" context="_2573" access="public" location="f60:319" file="f60" line="319"/>
+  <Constructor id="_7689" name="__is_normal_iterator" artificial="1" throw="" context="_2573" access="public" mangled="_ZNSt20__is_normal_iteratorIPPcEC1ERKS2_ *INTERNAL* " demangled="std::__is_normal_iterator<char**>::__is_normal_iterator(std::__is_normal_iterator<char**> const&)" location="f60:317" file="f60" line="317" inline="1">
+    <Argument name="_ctor_arg" type="_11774" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7690" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2573" access="public" mangled="_ZNSt20__is_normal_iteratorIPPcEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<char**>::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7691" name="._48" context="_2574" access="public" location="f60:318" file="f60" line="318" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7692" name="__type" type="_1286" context="_2574" access="public" location="f60:319" file="f60" line="319"/>
+  <Constructor id="_7693" name="__is_normal_iterator" artificial="1" throw="" context="_2574" access="public" mangled="_ZNSt20__is_normal_iteratorISt20back_insert_iteratorISt6vectorISsSaISsEEEEC1ERKS5_ *INTERNAL* " demangled="std::__is_normal_iterator<std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > >::__is_normal_iterator(std::__is_normal_iterator<std::back_insert_iterator<std::vector<std::string, std::allocator<std:: [...]
+    <Argument name="_ctor_arg" type="_11775" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7694" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2574" access="public" mangled="_ZNSt20__is_normal_iteratorISt20back_insert_iteratorISt6vectorISsSaISsEEEEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > >::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7695" name="._48" context="_2575" access="public" location="f60:318" file="f60" line="318" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7696" name="__type" type="_1286" context="_2575" access="public" location="f60:319" file="f60" line="319"/>
+  <Constructor id="_7697" name="__is_normal_iterator" artificial="1" throw="" context="_2575" access="public" mangled="_ZNSt20__is_normal_iteratorIPA17_KcEC1ERKS3_ *INTERNAL* " demangled="std::__is_normal_iterator<char const (*) [17]>::__is_normal_iterator(std::__is_normal_iterator<char const (*) [17]> const&)" location="f60:317" file="f60" line="317" inline="1">
+    <Argument name="_ctor_arg" type="_11776" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7698" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2575" access="public" mangled="_ZNSt20__is_normal_iteratorIPA17_KcEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<char const (*) [17]>::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7699" name="._48" context="_2576" access="public" location="f60:318" file="f60" line="318" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7700" name="__type" type="_1286" context="_2576" access="public" location="f60:319" file="f60" line="319"/>
+  <Constructor id="_7701" name="__is_normal_iterator" artificial="1" throw="" context="_2576" access="public" mangled="_ZNSt20__is_normal_iteratorIPiEC1ERKS1_ *INTERNAL* " demangled="std::__is_normal_iterator<int*>::__is_normal_iterator(std::__is_normal_iterator<int*> const&)" location="f60:317" file="f60" line="317" inline="1">
+    <Argument name="_ctor_arg" type="_11777" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7702" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2576" access="public" mangled="_ZNSt20__is_normal_iteratorIPiEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<int*>::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7703" name="._48" context="_2577" access="public" location="f60:318" file="f60" line="318" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7704" name="__type" type="_1286" context="_2577" access="public" location="f60:319" file="f60" line="319"/>
+  <Constructor id="_7705" name="__is_normal_iterator" artificial="1" throw="" context="_2577" access="public" mangled="_ZNSt20__is_normal_iteratorISt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::__is_normal_iterator<std::ostreambuf_iterator<char, std::char_traits<char> > >::__is_normal_iterator(std::__is_normal_iterator<std::ostreambuf_iterator<char, std::char_traits<char> > > const&)" location="f60:317" file="f60 [...]
+    <Argument name="_ctor_arg" type="_11778" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7706" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2577" access="public" mangled="_ZNSt20__is_normal_iteratorISt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<std::ostreambuf_iterator<char, std::char_traits<char> > >::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7707" name="._49" context="_2578" access="public" location="f60:326" file="f60" line="326" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7708" name="__type" type="_1287" context="_2578" access="public" location="f60:327" file="f60" line="327"/>
+  <Constructor id="_7709" name="__is_normal_iterator" artificial="1" throw="" context="_2578" access="public" mangled="_ZNSt20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEEC1ERKS8_ *INTERNAL* " demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::__is_normal_iterator(std::__is_normal_iterator<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allo [...]
+    <Argument name="_ctor_arg" type="_11779" location="f60:317" file="f60" line="317"/>
+  </Constructor>
+  <Constructor id="_7710" name="__is_normal_iterator" explicit="1" artificial="1" throw="" context="_2578" access="public" mangled="_ZNSt20__is_normal_iteratorIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEEC1Ev *INTERNAL* " demangled="std::__is_normal_iterator<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::__is_normal_iterator()" location="f60:317" file="f60" line="317" inline="1"/>
+  <Enumeration id="_7711" name="._46" context="_2579" access="public" location="f60:301" file="f60" line="301" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7712" name="__type" type="_1286" context="_2579" access="public" location="f60:302" file="f60" line="302"/>
+  <Constructor id="_7713" name="__is_pointer" artificial="1" throw="" context="_2579" access="public" mangled="_ZNSt12__is_pointerISt15_Deque_iteratorIcRcPcEEC1ERKS4_ *INTERNAL* " demangled="std::__is_pointer<std::_Deque_iterator<char, char&, char*> >::__is_pointer(std::__is_pointer<std::_Deque_iterator<char, char&, char*> > const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11780" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7714" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2579" access="public" mangled="_ZNSt12__is_pointerISt15_Deque_iteratorIcRcPcEEC1Ev *INTERNAL* " demangled="std::__is_pointer<std::_Deque_iterator<char, char&, char*> >::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7715" name="._47" context="_2580" access="public" location="f60:308" file="f60" line="308" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7716" name="__type" type="_1287" context="_2580" access="public" location="f60:309" file="f60" line="309"/>
+  <Constructor id="_7717" name="__is_pointer" artificial="1" throw="" context="_2580" access="public" mangled="_ZNSt12__is_pointerIPSsEC1ERKS1_ *INTERNAL* " demangled="std::__is_pointer<std::string*>::__is_pointer(std::__is_pointer<std::string*> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11781" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7718" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2580" access="public" mangled="_ZNSt12__is_pointerIPSsEC1Ev *INTERNAL* " demangled="std::__is_pointer<std::string*>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7719" name="._47" context="_2581" access="public" location="f60:308" file="f60" line="308" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7720" name="__type" type="_1287" context="_2581" access="public" location="f60:309" file="f60" line="309"/>
+  <Constructor id="_7721" name="__is_pointer" artificial="1" throw="" context="_2581" access="public" mangled="_ZNSt12__is_pointerIPKcEC1ERKS2_ *INTERNAL* " demangled="std::__is_pointer<char const*>::__is_pointer(std::__is_pointer<char const*> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11782" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7722" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2581" access="public" mangled="_ZNSt12__is_pointerIPKcEC1Ev *INTERNAL* " demangled="std::__is_pointer<char const*>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7723" name="._47" context="_2582" access="public" location="f60:308" file="f60" line="308" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7724" name="__type" type="_1287" context="_2582" access="public" location="f60:309" file="f60" line="309"/>
+  <Constructor id="_7725" name="__is_pointer" artificial="1" throw="" context="_2582" access="public" mangled="_ZNSt12__is_pointerIPcEC1ERKS1_ *INTERNAL* " demangled="std::__is_pointer<char*>::__is_pointer(std::__is_pointer<char*> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11783" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7726" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2582" access="public" mangled="_ZNSt12__is_pointerIPcEC1Ev *INTERNAL* " demangled="std::__is_pointer<char*>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7727" name="._47" context="_2583" access="public" location="f60:308" file="f60" line="308" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7728" name="__type" type="_1287" context="_2583" access="public" location="f60:309" file="f60" line="309"/>
+  <Constructor id="_7729" name="__is_pointer" artificial="1" throw="" context="_2583" access="public" mangled="_ZNSt12__is_pointerIPPcEC1ERKS2_ *INTERNAL* " demangled="std::__is_pointer<char**>::__is_pointer(std::__is_pointer<char**> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11784" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7730" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2583" access="public" mangled="_ZNSt12__is_pointerIPPcEC1Ev *INTERNAL* " demangled="std::__is_pointer<char**>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7731" name="._46" context="_2584" access="public" location="f60:301" file="f60" line="301" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7732" name="__type" type="_1286" context="_2584" access="public" location="f60:302" file="f60" line="302"/>
+  <Constructor id="_7733" name="__is_pointer" artificial="1" throw="" context="_2584" access="public" mangled="_ZNSt12__is_pointerIA17_cEC1ERKS1_ *INTERNAL* " demangled="std::__is_pointer<char[17]>::__is_pointer(std::__is_pointer<char[17]> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11785" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7734" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2584" access="public" mangled="_ZNSt12__is_pointerIA17_cEC1Ev *INTERNAL* " demangled="std::__is_pointer<char[17]>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7735" name="._47" context="_2585" access="public" location="f60:308" file="f60" line="308" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7736" name="__type" type="_1287" context="_2585" access="public" location="f60:309" file="f60" line="309"/>
+  <Constructor id="_7737" name="__is_pointer" artificial="1" throw="" context="_2585" access="public" mangled="_ZNSt12__is_pointerIPA17_KcEC1ERKS3_ *INTERNAL* " demangled="std::__is_pointer<char const (*) [17]>::__is_pointer(std::__is_pointer<char const (*) [17]> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11786" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7738" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2585" access="public" mangled="_ZNSt12__is_pointerIPA17_KcEC1Ev *INTERNAL* " demangled="std::__is_pointer<char const (*) [17]>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7739" name="._46" context="_2586" access="public" location="f60:301" file="f60" line="301" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7740" name="__type" type="_1286" context="_2586" access="public" location="f60:302" file="f60" line="302"/>
+  <Constructor id="_7741" name="__is_pointer" artificial="1" throw="" context="_2586" access="public" mangled="_ZNSt12__is_pointerISt20back_insert_iteratorISt6vectorISsSaISsEEEEC1ERKS5_ *INTERNAL* " demangled="std::__is_pointer<std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > >::__is_pointer(std::__is_pointer<std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > > const&)" l [...]
+    <Argument name="_ctor_arg" type="_11787" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7742" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2586" access="public" mangled="_ZNSt12__is_pointerISt20back_insert_iteratorISt6vectorISsSaISsEEEEC1Ev *INTERNAL* " demangled="std::__is_pointer<std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > >::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7743" name="._46" context="_2587" access="public" location="f60:301" file="f60" line="301" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7744" name="__type" type="_1286" context="_2587" access="public" location="f60:302" file="f60" line="302"/>
+  <Constructor id="_7745" name="__is_pointer" artificial="1" throw="" context="_2587" access="public" mangled="_ZNSt12__is_pointerISsEC1ERKS0_ *INTERNAL* " demangled="std::__is_pointer<std::string>::__is_pointer(std::__is_pointer<std::string> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11788" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7746" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2587" access="public" mangled="_ZNSt12__is_pointerISsEC1Ev *INTERNAL* " demangled="std::__is_pointer<std::string>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7747" name="._47" context="_2588" access="public" location="f60:308" file="f60" line="308" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7748" name="__type" type="_1287" context="_2588" access="public" location="f60:309" file="f60" line="309"/>
+  <Constructor id="_7749" name="__is_pointer" artificial="1" throw="" context="_2588" access="public" mangled="_ZNSt12__is_pointerIPiEC1ERKS1_ *INTERNAL* " demangled="std::__is_pointer<int*>::__is_pointer(std::__is_pointer<int*> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11789" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7750" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2588" access="public" mangled="_ZNSt12__is_pointerIPiEC1Ev *INTERNAL* " demangled="std::__is_pointer<int*>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7751" name="._46" context="_2589" access="public" location="f60:301" file="f60" line="301" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7752" name="__type" type="_1286" context="_2589" access="public" location="f60:302" file="f60" line="302"/>
+  <Constructor id="_7753" name="__is_pointer" artificial="1" throw="" context="_2589" access="public" mangled="_ZNSt12__is_pointerIcEC1ERKS0_ *INTERNAL* " demangled="std::__is_pointer<char>::__is_pointer(std::__is_pointer<char> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11790" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7754" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2589" access="public" mangled="_ZNSt12__is_pointerIcEC1Ev *INTERNAL* " demangled="std::__is_pointer<char>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7755" name="._46" context="_2590" access="public" location="f60:301" file="f60" line="301" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7756" name="__type" type="_1286" context="_2590" access="public" location="f60:302" file="f60" line="302"/>
+  <Constructor id="_7757" name="__is_pointer" artificial="1" throw="" context="_2590" access="public" mangled="_ZNSt12__is_pointerISt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::__is_pointer<std::ostreambuf_iterator<char, std::char_traits<char> > >::__is_pointer(std::__is_pointer<std::ostreambuf_iterator<char, std::char_traits<char> > > const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11791" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7758" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2590" access="public" mangled="_ZNSt12__is_pointerISt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ev *INTERNAL* " demangled="std::__is_pointer<std::ostreambuf_iterator<char, std::char_traits<char> > >::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7759" name="._47" context="_2591" access="public" location="f60:308" file="f60" line="308" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7760" name="__type" type="_1287" context="_2591" access="public" location="f60:309" file="f60" line="309"/>
+  <Constructor id="_7761" name="__is_pointer" artificial="1" throw="" context="_2591" access="public" mangled="_ZNSt12__is_pointerIPKiEC1ERKS2_ *INTERNAL* " demangled="std::__is_pointer<int const*>::__is_pointer(std::__is_pointer<int const*> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11792" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7762" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2591" access="public" mangled="_ZNSt12__is_pointerIPKiEC1Ev *INTERNAL* " demangled="std::__is_pointer<int const*>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7763" name="._46" context="_2592" access="public" location="f60:301" file="f60" line="301" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7764" name="__type" type="_1286" context="_2592" access="public" location="f60:302" file="f60" line="302"/>
+  <Constructor id="_7765" name="__is_pointer" artificial="1" throw="" context="_2592" access="public" mangled="_ZNSt12__is_pointerIiEC1ERKS0_ *INTERNAL* " demangled="std::__is_pointer<int>::__is_pointer(std::__is_pointer<int> const&)" location="f60:300" file="f60" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_11793" location="f60:300" file="f60" line="300"/>
+  </Constructor>
+  <Constructor id="_7766" name="__is_pointer" explicit="1" artificial="1" throw="" context="_2592" access="public" mangled="_ZNSt12__is_pointerIiEC1Ev *INTERNAL* " demangled="std::__is_pointer<int>::__is_pointer()" location="f60:300" file="f60" line="300" inline="1"/>
+  <Enumeration id="_7767" name="._42" context="_2593" access="public" location="f60:269" file="f60" line="269" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7768" name="__type" type="_1286" context="_2593" access="public" location="f60:270" file="f60" line="270"/>
+  <Constructor id="_7769" name="__is_floating" artificial="1" throw="" context="_2593" access="public" mangled="_ZNSt13__is_floatingIPcEC1ERKS1_ *INTERNAL* " demangled="std::__is_floating<char*>::__is_floating(std::__is_floating<char*> const&)" location="f60:268" file="f60" line="268" inline="1">
+    <Argument name="_ctor_arg" type="_11794" location="f60:268" file="f60" line="268"/>
+  </Constructor>
+  <Constructor id="_7770" name="__is_floating" explicit="1" artificial="1" throw="" context="_2593" access="public" mangled="_ZNSt13__is_floatingIPcEC1Ev *INTERNAL* " demangled="std::__is_floating<char*>::__is_floating()" location="f60:268" file="f60" line="268" inline="1"/>
+  <Enumeration id="_7771" name="._42" context="_2594" access="public" location="f60:269" file="f60" line="269" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7772" name="__type" type="_1286" context="_2594" access="public" location="f60:270" file="f60" line="270"/>
+  <Constructor id="_7773" name="__is_floating" artificial="1" throw="" context="_2594" access="public" mangled="_ZNSt13__is_floatingIA17_cEC1ERKS1_ *INTERNAL* " demangled="std::__is_floating<char[17]>::__is_floating(std::__is_floating<char[17]> const&)" location="f60:268" file="f60" line="268" inline="1">
+    <Argument name="_ctor_arg" type="_11795" location="f60:268" file="f60" line="268"/>
+  </Constructor>
+  <Constructor id="_7774" name="__is_floating" explicit="1" artificial="1" throw="" context="_2594" access="public" mangled="_ZNSt13__is_floatingIA17_cEC1Ev *INTERNAL* " demangled="std::__is_floating<char[17]>::__is_floating()" location="f60:268" file="f60" line="268" inline="1"/>
+  <Enumeration id="_7775" name="._42" context="_2595" access="public" location="f60:269" file="f60" line="269" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7776" name="__type" type="_1286" context="_2595" access="public" location="f60:270" file="f60" line="270"/>
+  <Constructor id="_7777" name="__is_floating" artificial="1" throw="" context="_2595" access="public" mangled="_ZNSt13__is_floatingISsEC1ERKS0_ *INTERNAL* " demangled="std::__is_floating<std::string>::__is_floating(std::__is_floating<std::string> const&)" location="f60:268" file="f60" line="268" inline="1">
+    <Argument name="_ctor_arg" type="_11796" location="f60:268" file="f60" line="268"/>
+  </Constructor>
+  <Constructor id="_7778" name="__is_floating" explicit="1" artificial="1" throw="" context="_2595" access="public" mangled="_ZNSt13__is_floatingISsEC1Ev *INTERNAL* " demangled="std::__is_floating<std::string>::__is_floating()" location="f60:268" file="f60" line="268" inline="1"/>
+  <Enumeration id="_7779" name="._42" context="_2596" access="public" location="f60:269" file="f60" line="269" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7780" name="__type" type="_1286" context="_2596" access="public" location="f60:270" file="f60" line="270"/>
+  <Constructor id="_7781" name="__is_floating" artificial="1" throw="" context="_2596" access="public" mangled="_ZNSt13__is_floatingIcEC1ERKS0_ *INTERNAL* " demangled="std::__is_floating<char>::__is_floating(std::__is_floating<char> const&)" location="f60:268" file="f60" line="268" inline="1">
+    <Argument name="_ctor_arg" type="_11797" location="f60:268" file="f60" line="268"/>
+  </Constructor>
+  <Constructor id="_7782" name="__is_floating" explicit="1" artificial="1" throw="" context="_2596" access="public" mangled="_ZNSt13__is_floatingIcEC1Ev *INTERNAL* " demangled="std::__is_floating<char>::__is_floating()" location="f60:268" file="f60" line="268" inline="1"/>
+  <Enumeration id="_7783" name="._42" context="_2597" access="public" location="f60:269" file="f60" line="269" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7784" name="__type" type="_1286" context="_2597" access="public" location="f60:270" file="f60" line="270"/>
+  <Constructor id="_7785" name="__is_floating" artificial="1" throw="" context="_2597" access="public" mangled="_ZNSt13__is_floatingIiEC1ERKS0_ *INTERNAL* " demangled="std::__is_floating<int>::__is_floating(std::__is_floating<int> const&)" location="f60:268" file="f60" line="268" inline="1">
+    <Argument name="_ctor_arg" type="_11798" location="f60:268" file="f60" line="268"/>
+  </Constructor>
+  <Constructor id="_7786" name="__is_floating" explicit="1" artificial="1" throw="" context="_2597" access="public" mangled="_ZNSt13__is_floatingIiEC1Ev *INTERNAL* " demangled="std::__is_floating<int>::__is_floating()" location="f60:268" file="f60" line="268" inline="1"/>
+  <Enumeration id="_7787" name="._45" context="_2598" access="public" location="f60:291" file="f60" line="291" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7788" name="__type" type="_1287" context="_2598" access="public" location="f60:292" file="f60" line="292"/>
+  <Constructor id="_7789" name="__is_floating" artificial="1" throw="" context="_2598" access="public" mangled="_ZNSt13__is_floatingIeEC1ERKS0_ *INTERNAL* " demangled="std::__is_floating<long double>::__is_floating(std::__is_floating<long double> const&)" location="f60:290" file="f60" line="290" inline="1">
+    <Argument name="_ctor_arg" type="_11799" location="f60:290" file="f60" line="290"/>
+  </Constructor>
+  <Constructor id="_7790" name="__is_floating" explicit="1" artificial="1" throw="" context="_2598" access="public" mangled="_ZNSt13__is_floatingIeEC1Ev *INTERNAL* " demangled="std::__is_floating<long double>::__is_floating()" location="f60:290" file="f60" line="290" inline="1"/>
+  <Enumeration id="_7791" name="._44" context="_2599" access="public" location="f60:284" file="f60" line="284" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7792" name="__type" type="_1287" context="_2599" access="public" location="f60:285" file="f60" line="285"/>
+  <Constructor id="_7793" name="__is_floating" artificial="1" throw="" context="_2599" access="public" mangled="_ZNSt13__is_floatingIdEC1ERKS0_ *INTERNAL* " demangled="std::__is_floating<double>::__is_floating(std::__is_floating<double> const&)" location="f60:283" file="f60" line="283" inline="1">
+    <Argument name="_ctor_arg" type="_11800" location="f60:283" file="f60" line="283"/>
+  </Constructor>
+  <Constructor id="_7794" name="__is_floating" explicit="1" artificial="1" throw="" context="_2599" access="public" mangled="_ZNSt13__is_floatingIdEC1Ev *INTERNAL* " demangled="std::__is_floating<double>::__is_floating()" location="f60:283" file="f60" line="283" inline="1"/>
+  <Enumeration id="_7795" name="._43" context="_2600" access="public" location="f60:277" file="f60" line="277" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7796" name="__type" type="_1287" context="_2600" access="public" location="f60:278" file="f60" line="278"/>
+  <Constructor id="_7797" name="__is_floating" artificial="1" throw="" context="_2600" access="public" mangled="_ZNSt13__is_floatingIfEC1ERKS0_ *INTERNAL* " demangled="std::__is_floating<float>::__is_floating(std::__is_floating<float> const&)" location="f60:276" file="f60" line="276" inline="1">
+    <Argument name="_ctor_arg" type="_11801" location="f60:276" file="f60" line="276"/>
+  </Constructor>
+  <Constructor id="_7798" name="__is_floating" explicit="1" artificial="1" throw="" context="_2600" access="public" mangled="_ZNSt13__is_floatingIfEC1Ev *INTERNAL* " demangled="std::__is_floating<float>::__is_floating()" location="f60:276" file="f60" line="276" inline="1"/>
+  <Enumeration id="_7799" name="._28" context="_2601" access="public" location="f60:163" file="f60" line="163" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7800" name="__type" type="_1286" context="_2601" access="public" location="f60:164" file="f60" line="164"/>
+  <Constructor id="_7801" name="__is_integer" artificial="1" throw="" context="_2601" access="public" mangled="_ZNSt12__is_integerISt15_Deque_iteratorIcRcPcEEC1ERKS4_ *INTERNAL* " demangled="std::__is_integer<std::_Deque_iterator<char, char&, char*> >::__is_integer(std::__is_integer<std::_Deque_iterator<char, char&, char*> > const&)" location="f60:162" file="f60" line="162" inline="1">
+    <Argument name="_ctor_arg" type="_11802" location="f60:162" file="f60" line="162"/>
+  </Constructor>
+  <Constructor id="_7802" name="__is_integer" explicit="1" artificial="1" throw="" context="_2601" access="public" mangled="_ZNSt12__is_integerISt15_Deque_iteratorIcRcPcEEC1Ev *INTERNAL* " demangled="std::__is_integer<std::_Deque_iterator<char, char&, char*> >::__is_integer()" location="f60:162" file="f60" line="162" inline="1"/>
+  <Enumeration id="_7803" name="._28" context="_2602" access="public" location="f60:163" file="f60" line="163" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7804" name="__type" type="_1286" context="_2602" access="public" location="f60:164" file="f60" line="164"/>
+  <Constructor id="_7805" name="__is_integer" artificial="1" throw="" context="_2602" access="public" mangled="_ZNSt12__is_integerIPcEC1ERKS1_ *INTERNAL* " demangled="std::__is_integer<char*>::__is_integer(std::__is_integer<char*> const&)" location="f60:162" file="f60" line="162" inline="1">
+    <Argument name="_ctor_arg" type="_11803" location="f60:162" file="f60" line="162"/>
+  </Constructor>
+  <Constructor id="_7806" name="__is_integer" explicit="1" artificial="1" throw="" context="_2602" access="public" mangled="_ZNSt12__is_integerIPcEC1Ev *INTERNAL* " demangled="std::__is_integer<char*>::__is_integer()" location="f60:162" file="f60" line="162" inline="1"/>
+  <Enumeration id="_7807" name="._28" context="_2603" access="public" location="f60:163" file="f60" line="163" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7808" name="__type" type="_1286" context="_2603" access="public" location="f60:164" file="f60" line="164"/>
+  <Constructor id="_7809" name="__is_integer" artificial="1" throw="" context="_2603" access="public" mangled="_ZNSt12__is_integerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS5_ *INTERNAL* " demangled="std::__is_integer<__gnu_cxx::__normal_iterator<char const*, std::string> >::__is_integer(std::__is_integer<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f60:162" file="f60" line="162" inline="1">
+    <Argument name="_ctor_arg" type="_11804" location="f60:162" file="f60" line="162"/>
+  </Constructor>
+  <Constructor id="_7810" name="__is_integer" explicit="1" artificial="1" throw="" context="_2603" access="public" mangled="_ZNSt12__is_integerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="std::__is_integer<__gnu_cxx::__normal_iterator<char const*, std::string> >::__is_integer()" location="f60:162" file="f60" line="162" inline="1"/>
+  <Enumeration id="_7811" name="._28" context="_2604" access="public" location="f60:163" file="f60" line="163" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7812" name="__type" type="_1286" context="_2604" access="public" location="f60:164" file="f60" line="164"/>
+  <Constructor id="_7813" name="__is_integer" artificial="1" throw="" context="_2604" access="public" mangled="_ZNSt12__is_integerIA17_cEC1ERKS1_ *INTERNAL* " demangled="std::__is_integer<char[17]>::__is_integer(std::__is_integer<char[17]> const&)" location="f60:162" file="f60" line="162" inline="1">
+    <Argument name="_ctor_arg" type="_11805" location="f60:162" file="f60" line="162"/>
+  </Constructor>
+  <Constructor id="_7814" name="__is_integer" explicit="1" artificial="1" throw="" context="_2604" access="public" mangled="_ZNSt12__is_integerIA17_cEC1Ev *INTERNAL* " demangled="std::__is_integer<char[17]>::__is_integer()" location="f60:162" file="f60" line="162" inline="1"/>
+  <Enumeration id="_7815" name="._28" context="_2605" access="public" location="f60:163" file="f60" line="163" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7816" name="__type" type="_1286" context="_2605" access="public" location="f60:164" file="f60" line="164"/>
+  <Constructor id="_7817" name="__is_integer" artificial="1" throw="" context="_2605" access="public" mangled="_ZNSt12__is_integerISsEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<std::string>::__is_integer(std::__is_integer<std::string> const&)" location="f60:162" file="f60" line="162" inline="1">
+    <Argument name="_ctor_arg" type="_11806" location="f60:162" file="f60" line="162"/>
+  </Constructor>
+  <Constructor id="_7818" name="__is_integer" explicit="1" artificial="1" throw="" context="_2605" access="public" mangled="_ZNSt12__is_integerISsEC1Ev *INTERNAL* " demangled="std::__is_integer<std::string>::__is_integer()" location="f60:162" file="f60" line="162" inline="1"/>
+  <Enumeration id="_7819" name="._28" context="_2606" access="public" location="f60:163" file="f60" line="163" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7820" name="__type" type="_1286" context="_2606" access="public" location="f60:164" file="f60" line="164"/>
+  <Constructor id="_7821" name="__is_integer" artificial="1" throw="" context="_2606" access="public" mangled="_ZNSt12__is_integerIPwEC1ERKS1_ *INTERNAL* " demangled="std::__is_integer<wchar_t*>::__is_integer(std::__is_integer<wchar_t*> const&)" location="f60:162" file="f60" line="162" inline="1">
+    <Argument name="_ctor_arg" type="_11807" location="f60:162" file="f60" line="162"/>
+  </Constructor>
+  <Constructor id="_7822" name="__is_integer" explicit="1" artificial="1" throw="" context="_2606" access="public" mangled="_ZNSt12__is_integerIPwEC1Ev *INTERNAL* " demangled="std::__is_integer<wchar_t*>::__is_integer()" location="f60:162" file="f60" line="162" inline="1"/>
+  <Enumeration id="_7823" name="._30" context="_2607" access="public" location="f60:180" file="f60" line="180" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7824" name="__type" type="_1287" context="_2607" access="public" location="f60:181" file="f60" line="181"/>
+  <Constructor id="_7825" name="__is_integer" artificial="1" throw="" context="_2607" access="public" mangled="_ZNSt12__is_integerIcEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<char>::__is_integer(std::__is_integer<char> const&)" location="f60:179" file="f60" line="179" inline="1">
+    <Argument name="_ctor_arg" type="_11808" location="f60:179" file="f60" line="179"/>
+  </Constructor>
+  <Constructor id="_7826" name="__is_integer" explicit="1" artificial="1" throw="" context="_2607" access="public" mangled="_ZNSt12__is_integerIcEC1Ev *INTERNAL* " demangled="std::__is_integer<char>::__is_integer()" location="f60:179" file="f60" line="179" inline="1"/>
+  <Enumeration id="_7827" name="._36" context="_2608" access="public" location="f60:224" file="f60" line="224" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7828" name="__type" type="_1287" context="_2608" access="public" location="f60:225" file="f60" line="225"/>
+  <Constructor id="_7829" name="__is_integer" artificial="1" throw="" context="_2608" access="public" mangled="_ZNSt12__is_integerIiEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<int>::__is_integer(std::__is_integer<int> const&)" location="f60:223" file="f60" line="223" inline="1">
+    <Argument name="_ctor_arg" type="_11809" location="f60:223" file="f60" line="223"/>
+  </Constructor>
+  <Constructor id="_7830" name="__is_integer" explicit="1" artificial="1" throw="" context="_2608" access="public" mangled="_ZNSt12__is_integerIiEC1Ev *INTERNAL* " demangled="std::__is_integer<int>::__is_integer()" location="f60:223" file="f60" line="223" inline="1"/>
+  <Enumeration id="_7831" name="._28" context="_2609" access="public" location="f60:163" file="f60" line="163" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7832" name="__type" type="_1286" context="_2609" access="public" location="f60:164" file="f60" line="164"/>
+  <Constructor id="_7833" name="__is_integer" artificial="1" throw="" context="_2609" access="public" mangled="_ZNSt12__is_integerIPiEC1ERKS1_ *INTERNAL* " demangled="std::__is_integer<int*>::__is_integer(std::__is_integer<int*> const&)" location="f60:162" file="f60" line="162" inline="1">
+    <Argument name="_ctor_arg" type="_11810" location="f60:162" file="f60" line="162"/>
+  </Constructor>
+  <Constructor id="_7834" name="__is_integer" explicit="1" artificial="1" throw="" context="_2609" access="public" mangled="_ZNSt12__is_integerIPiEC1Ev *INTERNAL* " demangled="std::__is_integer<int*>::__is_integer()" location="f60:162" file="f60" line="162" inline="1"/>
+  <Enumeration id="_7835" name="._41" context="_2610" access="public" location="f60:259" file="f60" line="259" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7836" name="__type" type="_1287" context="_2610" access="public" location="f60:260" file="f60" line="260"/>
+  <Constructor id="_7837" name="__is_integer" artificial="1" throw="" context="_2610" access="public" mangled="_ZNSt12__is_integerIyEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<unsigned long long>::__is_integer(std::__is_integer<unsigned long long> const&)" location="f60:258" file="f60" line="258" inline="1">
+    <Argument name="_ctor_arg" type="_11811" location="f60:258" file="f60" line="258"/>
+  </Constructor>
+  <Constructor id="_7838" name="__is_integer" explicit="1" artificial="1" throw="" context="_2610" access="public" mangled="_ZNSt12__is_integerIyEC1Ev *INTERNAL* " demangled="std::__is_integer<unsigned long long>::__is_integer()" location="f60:258" file="f60" line="258" inline="1"/>
+  <Enumeration id="_7839" name="._40" context="_2611" access="public" location="f60:252" file="f60" line="252" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7840" name="__type" type="_1287" context="_2611" access="public" location="f60:253" file="f60" line="253"/>
+  <Constructor id="_7841" name="__is_integer" artificial="1" throw="" context="_2611" access="public" mangled="_ZNSt12__is_integerIxEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<long long>::__is_integer(std::__is_integer<long long> const&)" location="f60:251" file="f60" line="251" inline="1">
+    <Argument name="_ctor_arg" type="_11812" location="f60:251" file="f60" line="251"/>
+  </Constructor>
+  <Constructor id="_7842" name="__is_integer" explicit="1" artificial="1" throw="" context="_2611" access="public" mangled="_ZNSt12__is_integerIxEC1Ev *INTERNAL* " demangled="std::__is_integer<long long>::__is_integer()" location="f60:251" file="f60" line="251" inline="1"/>
+  <Enumeration id="_7843" name="._39" context="_2612" access="public" location="f60:245" file="f60" line="245" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7844" name="__type" type="_1287" context="_2612" access="public" location="f60:246" file="f60" line="246"/>
+  <Constructor id="_7845" name="__is_integer" artificial="1" throw="" context="_2612" access="public" mangled="_ZNSt12__is_integerImEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<unsigned long>::__is_integer(std::__is_integer<unsigned long> const&)" location="f60:244" file="f60" line="244" inline="1">
+    <Argument name="_ctor_arg" type="_11813" location="f60:244" file="f60" line="244"/>
+  </Constructor>
+  <Constructor id="_7846" name="__is_integer" explicit="1" artificial="1" throw="" context="_2612" access="public" mangled="_ZNSt12__is_integerImEC1Ev *INTERNAL* " demangled="std::__is_integer<unsigned long>::__is_integer()" location="f60:244" file="f60" line="244" inline="1"/>
+  <Enumeration id="_7847" name="._38" context="_2613" access="public" location="f60:238" file="f60" line="238" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7848" name="__type" type="_1287" context="_2613" access="public" location="f60:239" file="f60" line="239"/>
+  <Constructor id="_7849" name="__is_integer" artificial="1" throw="" context="_2613" access="public" mangled="_ZNSt12__is_integerIlEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<long>::__is_integer(std::__is_integer<long> const&)" location="f60:237" file="f60" line="237" inline="1">
+    <Argument name="_ctor_arg" type="_11814" location="f60:237" file="f60" line="237"/>
+  </Constructor>
+  <Constructor id="_7850" name="__is_integer" explicit="1" artificial="1" throw="" context="_2613" access="public" mangled="_ZNSt12__is_integerIlEC1Ev *INTERNAL* " demangled="std::__is_integer<long>::__is_integer()" location="f60:237" file="f60" line="237" inline="1"/>
+  <Enumeration id="_7851" name="._37" context="_2614" access="public" location="f60:231" file="f60" line="231" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7852" name="__type" type="_1287" context="_2614" access="public" location="f60:232" file="f60" line="232"/>
+  <Constructor id="_7853" name="__is_integer" artificial="1" throw="" context="_2614" access="public" mangled="_ZNSt12__is_integerIjEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<unsigned>::__is_integer(std::__is_integer<unsigned> const&)" location="f60:230" file="f60" line="230" inline="1">
+    <Argument name="_ctor_arg" type="_11815" location="f60:230" file="f60" line="230"/>
+  </Constructor>
+  <Constructor id="_7854" name="__is_integer" explicit="1" artificial="1" throw="" context="_2614" access="public" mangled="_ZNSt12__is_integerIjEC1Ev *INTERNAL* " demangled="std::__is_integer<unsigned>::__is_integer()" location="f60:230" file="f60" line="230" inline="1"/>
+  <Enumeration id="_7855" name="._35" context="_2615" access="public" location="f60:217" file="f60" line="217" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7856" name="__type" type="_1287" context="_2615" access="public" location="f60:218" file="f60" line="218"/>
+  <Constructor id="_7857" name="__is_integer" artificial="1" throw="" context="_2615" access="public" mangled="_ZNSt12__is_integerItEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<unsigned short>::__is_integer(std::__is_integer<unsigned short> const&)" location="f60:216" file="f60" line="216" inline="1">
+    <Argument name="_ctor_arg" type="_11816" location="f60:216" file="f60" line="216"/>
+  </Constructor>
+  <Constructor id="_7858" name="__is_integer" explicit="1" artificial="1" throw="" context="_2615" access="public" mangled="_ZNSt12__is_integerItEC1Ev *INTERNAL* " demangled="std::__is_integer<unsigned short>::__is_integer()" location="f60:216" file="f60" line="216" inline="1"/>
+  <Enumeration id="_7859" name="._34" context="_2616" access="public" location="f60:210" file="f60" line="210" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7860" name="__type" type="_1287" context="_2616" access="public" location="f60:211" file="f60" line="211"/>
+  <Constructor id="_7861" name="__is_integer" artificial="1" throw="" context="_2616" access="public" mangled="_ZNSt12__is_integerIsEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<short>::__is_integer(std::__is_integer<short> const&)" location="f60:209" file="f60" line="209" inline="1">
+    <Argument name="_ctor_arg" type="_11817" location="f60:209" file="f60" line="209"/>
+  </Constructor>
+  <Constructor id="_7862" name="__is_integer" explicit="1" artificial="1" throw="" context="_2616" access="public" mangled="_ZNSt12__is_integerIsEC1Ev *INTERNAL* " demangled="std::__is_integer<short>::__is_integer()" location="f60:209" file="f60" line="209" inline="1"/>
+  <Enumeration id="_7863" name="._33" context="_2617" access="public" location="f60:202" file="f60" line="202" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7864" name="__type" type="_1287" context="_2617" access="public" location="f60:203" file="f60" line="203"/>
+  <Constructor id="_7865" name="__is_integer" artificial="1" throw="" context="_2617" access="public" mangled="_ZNSt12__is_integerIwEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<wchar_t>::__is_integer(std::__is_integer<wchar_t> const&)" location="f60:201" file="f60" line="201" inline="1">
+    <Argument name="_ctor_arg" type="_11818" location="f60:201" file="f60" line="201"/>
+  </Constructor>
+  <Constructor id="_7866" name="__is_integer" explicit="1" artificial="1" throw="" context="_2617" access="public" mangled="_ZNSt12__is_integerIwEC1Ev *INTERNAL* " demangled="std::__is_integer<wchar_t>::__is_integer()" location="f60:201" file="f60" line="201" inline="1"/>
+  <Enumeration id="_7867" name="._32" context="_2618" access="public" location="f60:194" file="f60" line="194" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7868" name="__type" type="_1287" context="_2618" access="public" location="f60:195" file="f60" line="195"/>
+  <Constructor id="_7869" name="__is_integer" artificial="1" throw="" context="_2618" access="public" mangled="_ZNSt12__is_integerIhEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<unsigned char>::__is_integer(std::__is_integer<unsigned char> const&)" location="f60:193" file="f60" line="193" inline="1">
+    <Argument name="_ctor_arg" type="_11819" location="f60:193" file="f60" line="193"/>
+  </Constructor>
+  <Constructor id="_7870" name="__is_integer" explicit="1" artificial="1" throw="" context="_2618" access="public" mangled="_ZNSt12__is_integerIhEC1Ev *INTERNAL* " demangled="std::__is_integer<unsigned char>::__is_integer()" location="f60:193" file="f60" line="193" inline="1"/>
+  <Enumeration id="_7871" name="._31" context="_2619" access="public" location="f60:187" file="f60" line="187" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7872" name="__type" type="_1287" context="_2619" access="public" location="f60:188" file="f60" line="188"/>
+  <Constructor id="_7873" name="__is_integer" artificial="1" throw="" context="_2619" access="public" mangled="_ZNSt12__is_integerIaEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<signed char>::__is_integer(std::__is_integer<signed char> const&)" location="f60:186" file="f60" line="186" inline="1">
+    <Argument name="_ctor_arg" type="_11820" location="f60:186" file="f60" line="186"/>
+  </Constructor>
+  <Constructor id="_7874" name="__is_integer" explicit="1" artificial="1" throw="" context="_2619" access="public" mangled="_ZNSt12__is_integerIaEC1Ev *INTERNAL* " demangled="std::__is_integer<signed char>::__is_integer()" location="f60:186" file="f60" line="186" inline="1"/>
+  <Enumeration id="_7875" name="._29" context="_2620" access="public" location="f60:173" file="f60" line="173" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7876" name="__type" type="_1287" context="_2620" access="public" location="f60:174" file="f60" line="174"/>
+  <Constructor id="_7877" name="__is_integer" artificial="1" throw="" context="_2620" access="public" mangled="_ZNSt12__is_integerIbEC1ERKS0_ *INTERNAL* " demangled="std::__is_integer<bool>::__is_integer(std::__is_integer<bool> const&)" location="f60:172" file="f60" line="172" inline="1">
+    <Argument name="_ctor_arg" type="_11821" location="f60:172" file="f60" line="172"/>
+  </Constructor>
+  <Constructor id="_7878" name="__is_integer" explicit="1" artificial="1" throw="" context="_2620" access="public" mangled="_ZNSt12__is_integerIbEC1Ev *INTERNAL* " demangled="std::__is_integer<bool>::__is_integer()" location="f60:172" file="f60" line="172" inline="1"/>
+  <Enumeration id="_7879" name="._27" context="_2621" access="public" location="f60:153" file="f60" line="153" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7880" name="__type" type="_1287" context="_2621" access="public" location="f60:154" file="f60" line="154"/>
+  <Constructor id="_7881" name="__is_void" artificial="1" throw="" context="_2621" access="public" mangled="_ZNSt9__is_voidIvEC1ERKS0_ *INTERNAL* " demangled="std::__is_void<void>::__is_void(std::__is_void<void> const&)" location="f60:152" file="f60" line="152" inline="1">
+    <Argument name="_ctor_arg" type="_11822" location="f60:152" file="f60" line="152"/>
+  </Constructor>
+  <Constructor id="_7882" name="__is_void" explicit="1" artificial="1" throw="" context="_2621" access="public" mangled="_ZNSt9__is_voidIvEC1Ev *INTERNAL* " demangled="std::__is_void<void>::__is_void()" location="f60:152" file="f60" line="152" inline="1"/>
+  <Constructor id="_7883" name="__enable_if" artificial="1" throw="" context="_2622" access="public" mangled="_ZNSt11__enable_ifISsLb0EEC1ERKS0_ *INTERNAL* " demangled="std::__enable_if<std::string, false>::__enable_if(std::__enable_if<std::string, false> const&)" location="f60:133" file="f60" line="133" inline="1">
+    <Argument name="_ctor_arg" type="_11823" location="f60:133" file="f60" line="133"/>
+  </Constructor>
+  <Constructor id="_7884" name="__enable_if" explicit="1" artificial="1" throw="" context="_2622" access="public" mangled="_ZNSt11__enable_ifISsLb0EEC1Ev *INTERNAL* " demangled="std::__enable_if<std::string, false>::__enable_if()" location="f60:133" file="f60" line="133" inline="1"/>
+  <Typedef id="_7885" name="__type" type="_1994" context="_2623" access="public" location="f60:139" file="f60" line="139"/>
+  <Constructor id="_7886" name="__enable_if" artificial="1" throw="" context="_2623" access="public" mangled="_ZNSt11__enable_ifISt6vectorISsSaISsEELb1EEC1ERKS3_ *INTERNAL* " demangled="std::__enable_if<std::vector<std::string, std::allocator<std::string> >, true>::__enable_if(std::__enable_if<std::vector<std::string, std::allocator<std::string> >, true> const&)" location="f60:133" file="f60" line="133" inline="1">
+    <Argument name="_ctor_arg" type="_11824" location="f60:133" file="f60" line="133"/>
+  </Constructor>
+  <Constructor id="_7887" name="__enable_if" explicit="1" artificial="1" throw="" context="_2623" access="public" mangled="_ZNSt11__enable_ifISt6vectorISsSaISsEELb1EEC1Ev *INTERNAL* " demangled="std::__enable_if<std::vector<std::string, std::allocator<std::string> >, true>::__enable_if()" location="f60:133" file="f60" line="133" inline="1"/>
+  <Typedef id="_7888" name="__type" type="_2508" context="_2624" access="public" location="f60:139" file="f60" line="139"/>
+  <Constructor id="_7889" name="__enable_if" artificial="1" throw="" context="_2624" access="public" mangled="_ZNSt11__enable_ifISsLb1EEC1ERKS0_ *INTERNAL* " demangled="std::__enable_if<std::string, true>::__enable_if(std::__enable_if<std::string, true> const&)" location="f60:133" file="f60" line="133" inline="1">
+    <Argument name="_ctor_arg" type="_11825" location="f60:133" file="f60" line="133"/>
+  </Constructor>
+  <Constructor id="_7890" name="__enable_if" explicit="1" artificial="1" throw="" context="_2624" access="public" mangled="_ZNSt11__enable_ifISsLb1EEC1Ev *INTERNAL* " demangled="std::__enable_if<std::string, true>::__enable_if()" location="f60:133" file="f60" line="133" inline="1"/>
+  <Constructor id="_7891" name="__enable_if" artificial="1" throw="" context="_2625" access="public" mangled="_ZNSt11__enable_ifISbIwSt11char_traitsIwESaIwEELb0EEC1ERKS4_ *INTERNAL* " demangled="std::__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, false>::__enable_if(std::__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, false> const&)" location="f60 [...]
+    <Argument name="_ctor_arg" type="_11826" location="f60:133" file="f60" line="133"/>
+  </Constructor>
+  <Constructor id="_7892" name="__enable_if" explicit="1" artificial="1" throw="" context="_2625" access="public" mangled="_ZNSt11__enable_ifISbIwSt11char_traitsIwESaIwEELb0EEC1Ev *INTERNAL* " demangled="std::__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, false>::__enable_if()" location="f60:133" file="f60" line="133" inline="1"/>
+  <Typedef id="_7893" name="__type" type="_2506" context="_2626" access="public" location="f60:139" file="f60" line="139"/>
+  <Constructor id="_7894" name="__enable_if" artificial="1" throw="" context="_2626" access="public" mangled="_ZNSt11__enable_ifISbIwSt11char_traitsIwESaIwEELb1EEC1ERKS4_ *INTERNAL* " demangled="std::__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, true>::__enable_if(std::__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, true> const&)" location="f60:1 [...]
+    <Argument name="_ctor_arg" type="_11827" location="f60:133" file="f60" line="133"/>
+  </Constructor>
+  <Constructor id="_7895" name="__enable_if" explicit="1" artificial="1" throw="" context="_2626" access="public" mangled="_ZNSt11__enable_ifISbIwSt11char_traitsIwESaIwEELb1EEC1Ev *INTERNAL* " demangled="std::__enable_if<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, true>::__enable_if()" location="f60:133" file="f60" line="133" inline="1"/>
+  <Constructor id="_7896" name="__enable_if" artificial="1" throw="" context="_2627" access="public" mangled="_ZNSt11__enable_ifISt6vectorISsSaISsEELb0EEC1ERKS3_ *INTERNAL* " demangled="std::__enable_if<std::vector<std::string, std::allocator<std::string> >, false>::__enable_if(std::__enable_if<std::vector<std::string, std::allocator<std::string> >, false> const&)" location="f60:133" file="f60" line="133" inline="1">
+    <Argument name="_ctor_arg" type="_11828" location="f60:133" file="f60" line="133"/>
+  </Constructor>
+  <Constructor id="_7897" name="__enable_if" explicit="1" artificial="1" throw="" context="_2627" access="public" mangled="_ZNSt11__enable_ifISt6vectorISsSaISsEELb0EEC1Ev *INTERNAL* " demangled="std::__enable_if<std::vector<std::string, std::allocator<std::string> >, false>::__enable_if()" location="f60:133" file="f60" line="133" inline="1"/>
+  <Typedef id="_7898" name="__type" type="_1995" context="_2628" access="public" location="f60:139" file="f60" line="139"/>
+  <Constructor id="_7899" name="__enable_if" artificial="1" throw="" context="_2628" access="public" mangled="_ZNSt11__enable_ifISt6vectorIiSaIiEELb1EEC1ERKS3_ *INTERNAL* " demangled="std::__enable_if<std::vector<int, std::allocator<int> >, true>::__enable_if(std::__enable_if<std::vector<int, std::allocator<int> >, true> const&)" location="f60:133" file="f60" line="133" inline="1">
+    <Argument name="_ctor_arg" type="_11829" location="f60:133" file="f60" line="133"/>
+  </Constructor>
+  <Constructor id="_7900" name="__enable_if" explicit="1" artificial="1" throw="" context="_2628" access="public" mangled="_ZNSt11__enable_ifISt6vectorIiSaIiEELb1EEC1Ev *INTERNAL* " demangled="std::__enable_if<std::vector<int, std::allocator<int> >, true>::__enable_if()" location="f60:133" file="f60" line="133" inline="1"/>
+  <Constructor id="_7901" name="__enable_if" artificial="1" throw="" context="_2629" access="public" mangled="_ZNSt11__enable_ifISt6vectorIiSaIiEELb0EEC1ERKS3_ *INTERNAL* " demangled="std::__enable_if<std::vector<int, std::allocator<int> >, false>::__enable_if(std::__enable_if<std::vector<int, std::allocator<int> >, false> const&)" location="f60:133" file="f60" line="133" inline="1">
+    <Argument name="_ctor_arg" type="_11830" location="f60:133" file="f60" line="133"/>
+  </Constructor>
+  <Constructor id="_7902" name="__enable_if" explicit="1" artificial="1" throw="" context="_2629" access="public" mangled="_ZNSt11__enable_ifISt6vectorIiSaIiEELb0EEC1Ev *INTERNAL* " demangled="std::__enable_if<std::vector<int, std::allocator<int> >, false>::__enable_if()" location="f60:133" file="f60" line="133" inline="1"/>
+  <Enumeration id="_7903" name="._24" context="_2631" access="public" location="f60:119" file="f60" line="119" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7904" name="__type" type="_1286" context="_2631" access="public" location="f60:120" file="f60" line="120"/>
+  <Constructor id="_7905" name="__are_same" artificial="1" throw="" context="_2631" access="public" mangled="_ZNSt10__are_sameIPKcPcEC1ERKS3_ *INTERNAL* " demangled="std::__are_same<char const*, char*>::__are_same(std::__are_same<char const*, char*> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11831" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7906" name="__are_same" explicit="1" artificial="1" throw="" context="_2631" access="public" mangled="_ZNSt10__are_sameIPKcPcEC1Ev *INTERNAL* " demangled="std::__are_same<char const*, char*>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7907" name="._25" context="_2632" access="public" location="f60:126" file="f60" line="126" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7908" name="__type" type="_1287" context="_2632" access="public" location="f60:127" file="f60" line="127"/>
+  <Constructor id="_7909" name="__are_same" artificial="1" throw="" context="_2632" access="public" mangled="_ZNSt10__are_sameIccEC1ERKS0_ *INTERNAL* " demangled="std::__are_same<char, char>::__are_same(std::__are_same<char, char> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11832" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7910" name="__are_same" explicit="1" artificial="1" throw="" context="_2632" access="public" mangled="_ZNSt10__are_sameIccEC1Ev *INTERNAL* " demangled="std::__are_same<char, char>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7911" name="._25" context="_2633" access="public" location="f60:126" file="f60" line="126" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7912" name="__type" type="_1287" context="_2633" access="public" location="f60:127" file="f60" line="127"/>
+  <Constructor id="_7913" name="__are_same" artificial="1" throw="" context="_2633" access="public" mangled="_ZNSt10__are_sameIPSsS0_EC1ERKS1_ *INTERNAL* " demangled="std::__are_same<std::string*, std::string*>::__are_same(std::__are_same<std::string*, std::string*> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11833" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7914" name="__are_same" explicit="1" artificial="1" throw="" context="_2633" access="public" mangled="_ZNSt10__are_sameIPSsS0_EC1Ev *INTERNAL* " demangled="std::__are_same<std::string*, std::string*>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7915" name="._25" context="_2634" access="public" location="f60:126" file="f60" line="126" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7916" name="__type" type="_1287" context="_2634" access="public" location="f60:127" file="f60" line="127"/>
+  <Constructor id="_7917" name="__are_same" artificial="1" throw="" context="_2634" access="public" mangled="_ZNSt10__are_sameISsSsEC1ERKS0_ *INTERNAL* " demangled="std::__are_same<std::string, std::string>::__are_same(std::__are_same<std::string, std::string> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11834" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7918" name="__are_same" explicit="1" artificial="1" throw="" context="_2634" access="public" mangled="_ZNSt10__are_sameISsSsEC1Ev *INTERNAL* " demangled="std::__are_same<std::string, std::string>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7919" name="._25" context="_2635" access="public" location="f60:126" file="f60" line="126" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7920" name="__type" type="_1287" context="_2635" access="public" location="f60:127" file="f60" line="127"/>
+  <Constructor id="_7921" name="__are_same" artificial="1" throw="" context="_2635" access="public" mangled="_ZNSt10__are_sameIPcS0_EC1ERKS1_ *INTERNAL* " demangled="std::__are_same<char*, char*>::__are_same(std::__are_same<char*, char*> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11835" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7922" name="__are_same" explicit="1" artificial="1" throw="" context="_2635" access="public" mangled="_ZNSt10__are_sameIPcS0_EC1Ev *INTERNAL* " demangled="std::__are_same<char*, char*>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7923" name="._24" context="_2636" access="public" location="f60:119" file="f60" line="119" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7924" name="__type" type="_1286" context="_2636" access="public" location="f60:120" file="f60" line="120"/>
+  <Constructor id="_7925" name="__are_same" artificial="1" throw="" context="_2636" access="public" mangled="_ZNSt10__are_sameIA17_cvEC1ERKS1_ *INTERNAL* " demangled="std::__are_same<char[17], void>::__are_same(std::__are_same<char[17], void> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11836" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7926" name="__are_same" explicit="1" artificial="1" throw="" context="_2636" access="public" mangled="_ZNSt10__are_sameIA17_cvEC1Ev *INTERNAL* " demangled="std::__are_same<char[17], void>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7927" name="._24" context="_2637" access="public" location="f60:119" file="f60" line="119" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7928" name="__type" type="_1286" context="_2637" access="public" location="f60:120" file="f60" line="120"/>
+  <Constructor id="_7929" name="__are_same" artificial="1" throw="" context="_2637" access="public" mangled="_ZNSt10__are_sameIPKwPwEC1ERKS3_ *INTERNAL* " demangled="std::__are_same<wchar_t const*, wchar_t*>::__are_same(std::__are_same<wchar_t const*, wchar_t*> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11837" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7930" name="__are_same" explicit="1" artificial="1" throw="" context="_2637" access="public" mangled="_ZNSt10__are_sameIPKwPwEC1Ev *INTERNAL* " demangled="std::__are_same<wchar_t const*, wchar_t*>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7931" name="._25" context="_2638" access="public" location="f60:126" file="f60" line="126" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7932" name="__type" type="_1287" context="_2638" access="public" location="f60:127" file="f60" line="127"/>
+  <Constructor id="_7933" name="__are_same" artificial="1" throw="" context="_2638" access="public" mangled="_ZNSt10__are_sameIPwS0_EC1ERKS1_ *INTERNAL* " demangled="std::__are_same<wchar_t*, wchar_t*>::__are_same(std::__are_same<wchar_t*, wchar_t*> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11838" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7934" name="__are_same" explicit="1" artificial="1" throw="" context="_2638" access="public" mangled="_ZNSt10__are_sameIPwS0_EC1Ev *INTERNAL* " demangled="std::__are_same<wchar_t*, wchar_t*>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7935" name="._25" context="_2639" access="public" location="f60:126" file="f60" line="126" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7936" name="__type" type="_1287" context="_2639" access="public" location="f60:127" file="f60" line="127"/>
+  <Constructor id="_7937" name="__are_same" artificial="1" throw="" context="_2639" access="public" mangled="_ZNSt10__are_sameIiiEC1ERKS0_ *INTERNAL* " demangled="std::__are_same<int, int>::__are_same(std::__are_same<int, int> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11839" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7938" name="__are_same" explicit="1" artificial="1" throw="" context="_2639" access="public" mangled="_ZNSt10__are_sameIiiEC1Ev *INTERNAL* " demangled="std::__are_same<int, int>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7939" name="._24" context="_2640" access="public" location="f60:119" file="f60" line="119" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7940" name="__type" type="_1286" context="_2640" access="public" location="f60:120" file="f60" line="120"/>
+  <Constructor id="_7941" name="__are_same" artificial="1" throw="" context="_2640" access="public" mangled="_ZNSt10__are_sameIcvEC1ERKS0_ *INTERNAL* " demangled="std::__are_same<char, void>::__are_same(std::__are_same<char, void> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11840" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7942" name="__are_same" explicit="1" artificial="1" throw="" context="_2640" access="public" mangled="_ZNSt10__are_sameIcvEC1Ev *INTERNAL* " demangled="std::__are_same<char, void>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7943" name="._24" context="_2641" access="public" location="f60:119" file="f60" line="119" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7944" name="__type" type="_1286" context="_2641" access="public" location="f60:120" file="f60" line="120"/>
+  <Constructor id="_7945" name="__are_same" artificial="1" throw="" context="_2641" access="public" mangled="_ZNSt10__are_sameIPKSsPSsEC1ERKS3_ *INTERNAL* " demangled="std::__are_same<std::string const*, std::string*>::__are_same(std::__are_same<std::string const*, std::string*> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11841" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7946" name="__are_same" explicit="1" artificial="1" throw="" context="_2641" access="public" mangled="_ZNSt10__are_sameIPKSsPSsEC1Ev *INTERNAL* " demangled="std::__are_same<std::string const*, std::string*>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7947" name="._25" context="_2642" access="public" location="f60:126" file="f60" line="126" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7948" name="__type" type="_1287" context="_2642" access="public" location="f60:127" file="f60" line="127"/>
+  <Constructor id="_7949" name="__are_same" artificial="1" throw="" context="_2642" access="public" mangled="_ZNSt10__are_sameIPiS0_EC1ERKS1_ *INTERNAL* " demangled="std::__are_same<int*, int*>::__are_same(std::__are_same<int*, int*> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11842" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7950" name="__are_same" explicit="1" artificial="1" throw="" context="_2642" access="public" mangled="_ZNSt10__are_sameIPiS0_EC1Ev *INTERNAL* " demangled="std::__are_same<int*, int*>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7951" name="._24" context="_2643" access="public" location="f60:119" file="f60" line="119" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7952" name="__type" type="_1286" context="_2643" access="public" location="f60:120" file="f60" line="120"/>
+  <Constructor id="_7953" name="__are_same" artificial="1" throw="" context="_2643" access="public" mangled="_ZNSt10__are_sameIPKiPiEC1ERKS3_ *INTERNAL* " demangled="std::__are_same<int const*, int*>::__are_same(std::__are_same<int const*, int*> const&)" location="f60:118" file="f60" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_11843" location="f60:118" file="f60" line="118"/>
+  </Constructor>
+  <Constructor id="_7954" name="__are_same" explicit="1" artificial="1" throw="" context="_2643" access="public" mangled="_ZNSt10__are_sameIPKiPiEC1Ev *INTERNAL* " demangled="std::__are_same<int const*, int*>::__are_same()" location="f60:118" file="f60" line="118" inline="1"/>
+  <Enumeration id="_7955" name="._23" context="_2644" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7956" name="__type" type="_1287" context="_2644" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7957" name="__traitor" artificial="1" throw="" context="_2644" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticIPcESt12__is_pointerIS1_EEC1ERKS5_ *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<char*>, std::__is_pointer<char*> >::__traitor(std::__traitor<std::__is_arithmetic<char*>, std::__is_pointer<char*> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11844" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7958" name="__traitor" explicit="1" artificial="1" throw="" context="_2644" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticIPcESt12__is_pointerIS1_EEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<char*>, std::__is_pointer<char*> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Enumeration id="_7959" name="._23" context="_2645" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7960" name="__type" type="_1286" context="_2645" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7961" name="__traitor" artificial="1" throw="" context="_2645" access="public" mangled="_ZNSt9__traitorISt12__is_integerIPcESt13__is_floatingIS1_EEC1ERKS5_ *INTERNAL* " demangled="std::__traitor<std::__is_integer<char*>, std::__is_floating<char*> >::__traitor(std::__traitor<std::__is_integer<char*>, std::__is_floating<char*> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11845" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7962" name="__traitor" explicit="1" artificial="1" throw="" context="_2645" access="public" mangled="_ZNSt9__traitorISt12__is_integerIPcESt13__is_floatingIS1_EEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_integer<char*>, std::__is_floating<char*> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Enumeration id="_7963" name="._23" context="_2646" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7964" name="__type" type="_1286" context="_2646" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7965" name="__traitor" artificial="1" throw="" context="_2646" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticIA17_cESt12__is_pointerIS1_EEC1ERKS5_ *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<char[17]>, std::__is_pointer<char[17]> >::__traitor(std::__traitor<std::__is_arithmetic<char[17]>, std::__is_pointer<char[17]> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11846" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7966" name="__traitor" explicit="1" artificial="1" throw="" context="_2646" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticIA17_cESt12__is_pointerIS1_EEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<char[17]>, std::__is_pointer<char[17]> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Enumeration id="_7967" name="._23" context="_2647" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7968" name="__type" type="_1286" context="_2647" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7969" name="__traitor" artificial="1" throw="" context="_2647" access="public" mangled="_ZNSt9__traitorISt12__is_integerIA17_cESt13__is_floatingIS1_EEC1ERKS5_ *INTERNAL* " demangled="std::__traitor<std::__is_integer<char[17]>, std::__is_floating<char[17]> >::__traitor(std::__traitor<std::__is_integer<char[17]>, std::__is_floating<char[17]> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11847" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7970" name="__traitor" explicit="1" artificial="1" throw="" context="_2647" access="public" mangled="_ZNSt9__traitorISt12__is_integerIA17_cESt13__is_floatingIS1_EEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_integer<char[17]>, std::__is_floating<char[17]> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Enumeration id="_7971" name="._23" context="_2648" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7972" name="__type" type="_1286" context="_2648" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7973" name="__traitor" artificial="1" throw="" context="_2648" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticISsESt12__is_pointerISsEEC1ERKS4_ *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<std::string>, std::__is_pointer<std::string> >::__traitor(std::__traitor<std::__is_arithmetic<std::string>, std::__is_pointer<std::string> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11848" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7974" name="__traitor" explicit="1" artificial="1" throw="" context="_2648" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticISsESt12__is_pointerISsEEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<std::string>, std::__is_pointer<std::string> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Enumeration id="_7975" name="._23" context="_2649" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="0"/>
+  </Enumeration>
+  <Typedef id="_7976" name="__type" type="_1286" context="_2649" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7977" name="__traitor" artificial="1" throw="" context="_2649" access="public" mangled="_ZNSt9__traitorISt12__is_integerISsESt13__is_floatingISsEEC1ERKS4_ *INTERNAL* " demangled="std::__traitor<std::__is_integer<std::string>, std::__is_floating<std::string> >::__traitor(std::__traitor<std::__is_integer<std::string>, std::__is_floating<std::string> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11849" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7978" name="__traitor" explicit="1" artificial="1" throw="" context="_2649" access="public" mangled="_ZNSt9__traitorISt12__is_integerISsESt13__is_floatingISsEEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_integer<std::string>, std::__is_floating<std::string> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Enumeration id="_7979" name="._23" context="_2650" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7980" name="__type" type="_1287" context="_2650" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7981" name="__traitor" artificial="1" throw="" context="_2650" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticIcESt12__is_pointerIcEEC1ERKS4_ *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<char>, std::__is_pointer<char> >::__traitor(std::__traitor<std::__is_arithmetic<char>, std::__is_pointer<char> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11850" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7982" name="__traitor" explicit="1" artificial="1" throw="" context="_2650" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticIcESt12__is_pointerIcEEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<char>, std::__is_pointer<char> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Enumeration id="_7983" name="._23" context="_2651" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7984" name="__type" type="_1287" context="_2651" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7985" name="__traitor" artificial="1" throw="" context="_2651" access="public" mangled="_ZNSt9__traitorISt12__is_integerIcESt13__is_floatingIcEEC1ERKS4_ *INTERNAL* " demangled="std::__traitor<std::__is_integer<char>, std::__is_floating<char> >::__traitor(std::__traitor<std::__is_integer<char>, std::__is_floating<char> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11851" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7986" name="__traitor" explicit="1" artificial="1" throw="" context="_2651" access="public" mangled="_ZNSt9__traitorISt12__is_integerIcESt13__is_floatingIcEEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_integer<char>, std::__is_floating<char> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Enumeration id="_7987" name="._23" context="_2652" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7988" name="__type" type="_1287" context="_2652" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7989" name="__traitor" artificial="1" throw="" context="_2652" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticIiESt12__is_pointerIiEEC1ERKS4_ *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> >::__traitor(std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11852" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7990" name="__traitor" explicit="1" artificial="1" throw="" context="_2652" access="public" mangled="_ZNSt9__traitorISt15__is_arithmeticIiESt12__is_pointerIiEEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Enumeration id="_7991" name="._23" context="_2653" access="public" location="f60:111" file="f60" line="111" artificial="1" size="32" align="32">
+    <EnumValue name="__value" init="1"/>
+  </Enumeration>
+  <Typedef id="_7992" name="__type" type="_1287" context="_2653" access="public" location="f60:112" file="f60" line="112"/>
+  <Constructor id="_7993" name="__traitor" artificial="1" throw="" context="_2653" access="public" mangled="_ZNSt9__traitorISt12__is_integerIiESt13__is_floatingIiEEC1ERKS4_ *INTERNAL* " demangled="std::__traitor<std::__is_integer<int>, std::__is_floating<int> >::__traitor(std::__traitor<std::__is_integer<int>, std::__is_floating<int> > const&)" location="f60:110" file="f60" line="110" inline="1">
+    <Argument name="_ctor_arg" type="_11853" location="f60:110" file="f60" line="110"/>
+  </Constructor>
+  <Constructor id="_7994" name="__traitor" explicit="1" artificial="1" throw="" context="_2653" access="public" mangled="_ZNSt9__traitorISt12__is_integerIiESt13__is_floatingIiEEC1Ev *INTERNAL* " demangled="std::__traitor<std::__is_integer<int>, std::__is_floating<int> >::__traitor()" location="f60:110" file="f60" line="110" inline="1"/>
+  <Typedef id="_7995" name="__type" type="_1287" context="_2654" access="public" location="f60:104" file="f60" line="104"/>
+  <Constructor id="_7996" name="__truth_type" artificial="1" throw="" context="_2654" access="public" mangled="_ZNSt12__truth_typeILb1EEC1ERKS0_ *INTERNAL* " demangled="std::__truth_type<true>::__truth_type(std::__truth_type<true> const&)" location="f60:104" file="f60" line="104" inline="1">
+    <Argument name="_ctor_arg" type="_11854" location="f60:104" file="f60" line="104"/>
+  </Constructor>
+  <Constructor id="_7997" name="__truth_type" explicit="1" artificial="1" throw="" context="_2654" access="public" mangled="_ZNSt12__truth_typeILb1EEC1Ev *INTERNAL* " demangled="std::__truth_type<true>::__truth_type()" location="f60:104" file="f60" line="104" inline="1"/>
+  <Typedef id="_7998" name="__type" type="_1286" context="_2655" access="public" location="f60:100" file="f60" line="100"/>
+  <Constructor id="_7999" name="__truth_type" artificial="1" throw="" context="_2655" access="public" mangled="_ZNSt12__truth_typeILb0EEC1ERKS0_ *INTERNAL* " demangled="std::__truth_type<false>::__truth_type(std::__truth_type<false> const&)" location="f60:100" file="f60" line="100" inline="1">
+    <Argument name="_ctor_arg" type="_11855" location="f60:100" file="f60" line="100"/>
+  </Constructor>
+  <Constructor id="_8000" name="__truth_type" explicit="1" artificial="1" throw="" context="_2655" access="public" mangled="_ZNSt12__truth_typeILb0EEC1Ev *INTERNAL* " demangled="std::__truth_type<false>::__truth_type()" location="f60:100" file="f60" line="100" inline="1"/>
+  <ReferenceType id="_8001" type="_3328" size="32" align="32"/>
+  <ReferenceType id="_8002" type="_3328c" size="32" align="32"/>
+  <ReferenceType id="_8003" type="_2778c" size="32" align="32"/>
+  <ReferenceType id="_8004" type="_2748c" size="32" align="32"/>
+  <Typedef id="_8005" name="iterator_category" type="_2700" context="_2680" access="public" location="f112:129" file="f112" line="129"/>
+  <Typedef id="_8006" name="value_type" type="_2961" context="_2680" access="public" location="f112:130" file="f112" line="130"/>
+  <Typedef id="_8007" name="difference_type" type="_1699" context="_2680" access="public" location="f112:131" file="f112" line="131"/>
+  <Typedef id="_8008" name="pointer" type="_1149" context="_2680" access="public" location="f112:132" file="f112" line="132"/>
+  <Typedef id="_8009" name="reference" type="_4163" context="_2680" access="public" location="f112:133" file="f112" line="133"/>
+  <Constructor id="_8010" name="iterator_traits" artificial="1" throw="" context="_2680" access="public" mangled="_ZNSt15iterator_traitsISt15_Deque_iteratorIcRcPcEEC1ERKS4_ *INTERNAL* " demangled="std::iterator_traits<std::_Deque_iterator<char, char&, char*> >::iterator_traits(std::iterator_traits<std::_Deque_iterator<char, char&, char*> > const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11859" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8011" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2680" access="public" mangled="_ZNSt15iterator_traitsISt15_Deque_iteratorIcRcPcEEC1Ev *INTERNAL* " demangled="std::iterator_traits<std::_Deque_iterator<char, char&, char*> >::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8012" name="iterator_category" type="_2700" context="_2681" access="public" location="f112:149" file="f112" line="149"/>
+  <Typedef id="_8013" name="value_type" type="_2961" context="_2681" access="public" location="f112:150" file="f112" line="150"/>
+  <Typedef id="_8014" name="difference_type" type="_1699" context="_2681" access="public" location="f112:151" file="f112" line="151"/>
+  <Typedef id="_8015" name="pointer" type="_2749" context="_2681" access="public" location="f112:152" file="f112" line="152"/>
+  <Typedef id="_8016" name="reference" type="_4165" context="_2681" access="public" location="f112:153" file="f112" line="153"/>
+  <Constructor id="_8017" name="iterator_traits" artificial="1" throw="" context="_2681" access="public" mangled="_ZNSt15iterator_traitsIPKcEC1ERKS2_ *INTERNAL* " demangled="std::iterator_traits<char const*>::iterator_traits(std::iterator_traits<char const*> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11860" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8018" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2681" access="public" mangled="_ZNSt15iterator_traitsIPKcEC1Ev *INTERNAL* " demangled="std::iterator_traits<char const*>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8019" name="iterator_category" type="_2700" context="_2682" access="public" location="f112:129" file="f112" line="129"/>
+  <Typedef id="_8020" name="value_type" type="_2961" context="_2682" access="public" location="f112:130" file="f112" line="130"/>
+  <Typedef id="_8021" name="difference_type" type="_1699" context="_2682" access="public" location="f112:131" file="f112" line="131"/>
+  <Typedef id="_8022" name="pointer" type="_2749" context="_2682" access="public" location="f112:132" file="f112" line="132"/>
+  <Typedef id="_8023" name="reference" type="_4165" context="_2682" access="public" location="f112:133" file="f112" line="133"/>
+  <Constructor id="_8024" name="iterator_traits" artificial="1" throw="" context="_2682" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS5_ *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_traits(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11861" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8025" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2682" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8026" name="iterator_category" type="_2700" context="_2683" access="public" location="f112:129" file="f112" line="129"/>
+  <Typedef id="_8027" name="value_type" type="_2509" context="_2683" access="public" location="f112:130" file="f112" line="130"/>
+  <Typedef id="_8028" name="difference_type" type="_1699" context="_2683" access="public" location="f112:131" file="f112" line="131"/>
+  <Typedef id="_8029" name="pointer" type="_4014" context="_2683" access="public" location="f112:132" file="f112" line="132"/>
+  <Typedef id="_8030" name="reference" type="_4018" context="_2683" access="public" location="f112:133" file="f112" line="133"/>
+  <Constructor id="_8031" name="iterator_traits" artificial="1" throw="" context="_2683" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEC1ERKS7_ *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > >::iterator_traits(std::iterator_traits<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std: [...]
+    <Argument name="_ctor_arg" type="_11862" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8032" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2683" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEC1Ev *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > >::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8033" name="iterator_category" type="_2700" context="_2684" access="public" location="f112:139" file="f112" line="139"/>
+  <Typedef id="_8034" name="value_type" type="_2509" context="_2684" access="public" location="f112:140" file="f112" line="140"/>
+  <Typedef id="_8035" name="difference_type" type="_1699" context="_2684" access="public" location="f112:141" file="f112" line="141"/>
+  <Typedef id="_8036" name="pointer" type="_4014" context="_2684" access="public" location="f112:142" file="f112" line="142"/>
+  <Typedef id="_8037" name="reference" type="_4018" context="_2684" access="public" location="f112:143" file="f112" line="143"/>
+  <Constructor id="_8038" name="iterator_traits" artificial="1" throw="" context="_2684" access="public" mangled="_ZNSt15iterator_traitsIPSsEC1ERKS1_ *INTERNAL* " demangled="std::iterator_traits<std::string*>::iterator_traits(std::iterator_traits<std::string*> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11863" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8039" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2684" access="public" mangled="_ZNSt15iterator_traitsIPSsEC1Ev *INTERNAL* " demangled="std::iterator_traits<std::string*>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8040" name="iterator_category" type="_2700" context="_2685" access="public" location="f112:139" file="f112" line="139"/>
+  <Typedef id="_8041" name="value_type" type="_2961" context="_2685" access="public" location="f112:140" file="f112" line="140"/>
+  <Typedef id="_8042" name="difference_type" type="_1699" context="_2685" access="public" location="f112:141" file="f112" line="141"/>
+  <Typedef id="_8043" name="pointer" type="_1149" context="_2685" access="public" location="f112:142" file="f112" line="142"/>
+  <Typedef id="_8044" name="reference" type="_4163" context="_2685" access="public" location="f112:143" file="f112" line="143"/>
+  <Constructor id="_8045" name="iterator_traits" artificial="1" throw="" context="_2685" access="public" mangled="_ZNSt15iterator_traitsIPcEC1ERKS1_ *INTERNAL* " demangled="std::iterator_traits<char*>::iterator_traits(std::iterator_traits<char*> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11864" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8046" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2685" access="public" mangled="_ZNSt15iterator_traitsIPcEC1Ev *INTERNAL* " demangled="std::iterator_traits<char*>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8047" name="iterator_category" type="_2700" context="_2686" access="public" location="f112:139" file="f112" line="139"/>
+  <Typedef id="_8048" name="value_type" type="_1149" context="_2686" access="public" location="f112:140" file="f112" line="140"/>
+  <Typedef id="_8049" name="difference_type" type="_1699" context="_2686" access="public" location="f112:141" file="f112" line="141"/>
+  <Typedef id="_8050" name="pointer" type="_2935" context="_2686" access="public" location="f112:142" file="f112" line="142"/>
+  <Typedef id="_8051" name="reference" type="_7533" context="_2686" access="public" location="f112:143" file="f112" line="143"/>
+  <Constructor id="_8052" name="iterator_traits" artificial="1" throw="" context="_2686" access="public" mangled="_ZNSt15iterator_traitsIPPcEC1ERKS2_ *INTERNAL* " demangled="std::iterator_traits<char**>::iterator_traits(std::iterator_traits<char**> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11865" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8053" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2686" access="public" mangled="_ZNSt15iterator_traitsIPPcEC1Ev *INTERNAL* " demangled="std::iterator_traits<char**>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8054" name="iterator_category" type="_2700" context="_2687" access="public" location="f112:149" file="f112" line="149"/>
+  <ArrayType id="_8055" min="0" max="16" type="_2961" size="136" align="8"/>
+  <Typedef id="_8056" name="value_type" type="_8055" context="_2687" access="public" location="f112:150" file="f112" line="150"/>
+  <Typedef id="_8057" name="difference_type" type="_1699" context="_2687" access="public" location="f112:151" file="f112" line="151"/>
+  <Typedef id="_8058" name="pointer" type="_6264" context="_2687" access="public" location="f112:152" file="f112" line="152"/>
+  <ReferenceType id="_8059" type="_8055c" size="32" align="32"/>
+  <Typedef id="_8060" name="reference" type="_8059" context="_2687" access="public" location="f112:153" file="f112" line="153"/>
+  <Constructor id="_8061" name="iterator_traits" artificial="1" throw="" context="_2687" access="public" mangled="_ZNSt15iterator_traitsIPA17_KcEC1ERKS3_ *INTERNAL* " demangled="std::iterator_traits<char const (*) [17]>::iterator_traits(std::iterator_traits<char const (*) [17]> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11866" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8062" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2687" access="public" mangled="_ZNSt15iterator_traitsIPA17_KcEC1Ev *INTERNAL* " demangled="std::iterator_traits<char const (*) [17]>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8063" name="iterator_category" type="_2703" context="_2688" access="public" location="f112:129" file="f112" line="129"/>
+  <Typedef id="_8064" name="value_type" type="_1194" context="_2688" access="public" location="f112:130" file="f112" line="130"/>
+  <Typedef id="_8065" name="difference_type" type="_1194" context="_2688" access="public" location="f112:131" file="f112" line="131"/>
+  <Typedef id="_8066" name="pointer" type="_1194" context="_2688" access="public" location="f112:132" file="f112" line="132"/>
+  <Typedef id="_8067" name="reference" type="_1194" context="_2688" access="public" location="f112:133" file="f112" line="133"/>
+  <Constructor id="_8068" name="iterator_traits" artificial="1" throw="" context="_2688" access="public" mangled="_ZNSt15iterator_traitsISt20back_insert_iteratorISt6vectorISsSaISsEEEEC1ERKS5_ *INTERNAL* " demangled="std::iterator_traits<std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > >::iterator_traits(std::iterator_traits<std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > > [...]
+    <Argument name="_ctor_arg" type="_11867" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8069" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2688" access="public" mangled="_ZNSt15iterator_traitsISt20back_insert_iteratorISt6vectorISsSaISsEEEEC1Ev *INTERNAL* " demangled="std::iterator_traits<std::back_insert_iterator<std::vector<std::string, std::allocator<std::string> > > >::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8070" name="iterator_category" type="_2700" context="_2689" access="public" location="f112:139" file="f112" line="139"/>
+  <Typedef id="_8071" name="value_type" type="_2786" context="_2689" access="public" location="f112:140" file="f112" line="140"/>
+  <Typedef id="_8072" name="difference_type" type="_1699" context="_2689" access="public" location="f112:141" file="f112" line="141"/>
+  <Typedef id="_8073" name="pointer" type="_2778" context="_2689" access="public" location="f112:142" file="f112" line="142"/>
+  <Typedef id="_8074" name="reference" type="_7178" context="_2689" access="public" location="f112:143" file="f112" line="143"/>
+  <Constructor id="_8075" name="iterator_traits" artificial="1" throw="" context="_2689" access="public" mangled="_ZNSt15iterator_traitsIPwEC1ERKS1_ *INTERNAL* " demangled="std::iterator_traits<wchar_t*>::iterator_traits(std::iterator_traits<wchar_t*> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11868" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8076" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2689" access="public" mangled="_ZNSt15iterator_traitsIPwEC1Ev *INTERNAL* " demangled="std::iterator_traits<wchar_t*>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8077" name="iterator_category" type="_2700" context="_2690" access="public" location="f112:129" file="f112" line="129"/>
+  <Typedef id="_8078" name="value_type" type="_2961" context="_2690" access="public" location="f112:130" file="f112" line="130"/>
+  <Typedef id="_8079" name="difference_type" type="_1699" context="_2690" access="public" location="f112:131" file="f112" line="131"/>
+  <Typedef id="_8080" name="pointer" type="_1149" context="_2690" access="public" location="f112:132" file="f112" line="132"/>
+  <Typedef id="_8081" name="reference" type="_4163" context="_2690" access="public" location="f112:133" file="f112" line="133"/>
+  <Constructor id="_8082" name="iterator_traits" artificial="1" throw="" context="_2690" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1ERKS4_ *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_traits(std::iterator_traits<__gnu_cxx::__normal_iterator<char*, std::string> > const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11869" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8083" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2690" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1Ev *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8084" name="iterator_category" type="_2700" context="_2691" access="public" location="f112:139" file="f112" line="139"/>
+  <Typedef id="_8085" name="value_type" type="_503" context="_2691" access="public" location="f112:140" file="f112" line="140"/>
+  <Typedef id="_8086" name="difference_type" type="_1699" context="_2691" access="public" location="f112:141" file="f112" line="141"/>
+  <Typedef id="_8087" name="pointer" type="_2748" context="_2691" access="public" location="f112:142" file="f112" line="142"/>
+  <Typedef id="_8088" name="reference" type="_4078" context="_2691" access="public" location="f112:143" file="f112" line="143"/>
+  <Constructor id="_8089" name="iterator_traits" artificial="1" throw="" context="_2691" access="public" mangled="_ZNSt15iterator_traitsIPiEC1ERKS1_ *INTERNAL* " demangled="std::iterator_traits<int*>::iterator_traits(std::iterator_traits<int*> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11870" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8090" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2691" access="public" mangled="_ZNSt15iterator_traitsIPiEC1Ev *INTERNAL* " demangled="std::iterator_traits<int*>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8091" name="iterator_category" type="_2703" context="_2692" access="public" location="f112:129" file="f112" line="129"/>
+  <Typedef id="_8092" name="value_type" type="_1194" context="_2692" access="public" location="f112:130" file="f112" line="130"/>
+  <Typedef id="_8093" name="difference_type" type="_1194" context="_2692" access="public" location="f112:131" file="f112" line="131"/>
+  <Typedef id="_8094" name="pointer" type="_1194" context="_2692" access="public" location="f112:132" file="f112" line="132"/>
+  <Typedef id="_8095" name="reference" type="_1194" context="_2692" access="public" location="f112:133" file="f112" line="133"/>
+  <Constructor id="_8096" name="iterator_traits" artificial="1" throw="" context="_2692" access="public" mangled="_ZNSt15iterator_traitsISt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS4_ *INTERNAL* " demangled="std::iterator_traits<std::ostreambuf_iterator<char, std::char_traits<char> > >::iterator_traits(std::iterator_traits<std::ostreambuf_iterator<char, std::char_traits<char> > > const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11871" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8097" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2692" access="public" mangled="_ZNSt15iterator_traitsISt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ev *INTERNAL* " demangled="std::iterator_traits<std::ostreambuf_iterator<char, std::char_traits<char> > >::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8098" name="iterator_category" type="_2700" context="_2693" access="public" location="f112:149" file="f112" line="149"/>
+  <Typedef id="_8099" name="value_type" type="_2509" context="_2693" access="public" location="f112:150" file="f112" line="150"/>
+  <Typedef id="_8100" name="difference_type" type="_1699" context="_2693" access="public" location="f112:151" file="f112" line="151"/>
+  <Typedef id="_8101" name="pointer" type="_4016" context="_2693" access="public" location="f112:152" file="f112" line="152"/>
+  <Typedef id="_8102" name="reference" type="_4020" context="_2693" access="public" location="f112:153" file="f112" line="153"/>
+  <Constructor id="_8103" name="iterator_traits" artificial="1" throw="" context="_2693" access="public" mangled="_ZNSt15iterator_traitsIPKSsEC1ERKS2_ *INTERNAL* " demangled="std::iterator_traits<std::string const*>::iterator_traits(std::iterator_traits<std::string const*> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11872" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8104" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2693" access="public" mangled="_ZNSt15iterator_traitsIPKSsEC1Ev *INTERNAL* " demangled="std::iterator_traits<std::string const*>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8105" name="iterator_category" type="_2700" context="_2694" access="public" location="f112:149" file="f112" line="149"/>
+  <Typedef id="_8106" name="value_type" type="_2786" context="_2694" access="public" location="f112:150" file="f112" line="150"/>
+  <Typedef id="_8107" name="difference_type" type="_1699" context="_2694" access="public" location="f112:151" file="f112" line="151"/>
+  <Typedef id="_8108" name="pointer" type="_2780" context="_2694" access="public" location="f112:152" file="f112" line="152"/>
+  <Typedef id="_8109" name="reference" type="_7180" context="_2694" access="public" location="f112:153" file="f112" line="153"/>
+  <Constructor id="_8110" name="iterator_traits" artificial="1" throw="" context="_2694" access="public" mangled="_ZNSt15iterator_traitsIPKwEC1ERKS2_ *INTERNAL* " demangled="std::iterator_traits<wchar_t const*>::iterator_traits(std::iterator_traits<wchar_t const*> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11873" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8111" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2694" access="public" mangled="_ZNSt15iterator_traitsIPKwEC1Ev *INTERNAL* " demangled="std::iterator_traits<wchar_t const*>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8112" name="iterator_category" type="_2700" context="_2695" access="public" location="f112:149" file="f112" line="149"/>
+  <Typedef id="_8113" name="value_type" type="_503" context="_2695" access="public" location="f112:150" file="f112" line="150"/>
+  <Typedef id="_8114" name="difference_type" type="_1699" context="_2695" access="public" location="f112:151" file="f112" line="151"/>
+  <Typedef id="_8115" name="pointer" type="_4076" context="_2695" access="public" location="f112:152" file="f112" line="152"/>
+  <Typedef id="_8116" name="reference" type="_4080" context="_2695" access="public" location="f112:153" file="f112" line="153"/>
+  <Constructor id="_8117" name="iterator_traits" artificial="1" throw="" context="_2695" access="public" mangled="_ZNSt15iterator_traitsIPKiEC1ERKS2_ *INTERNAL* " demangled="std::iterator_traits<int const*>::iterator_traits(std::iterator_traits<int const*> const&)" location="f112:128" file="f112" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_11874" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8118" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2695" access="public" mangled="_ZNSt15iterator_traitsIPKiEC1Ev *INTERNAL* " demangled="std::iterator_traits<int const*>::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8119" name="iterator_category" type="_2700" context="_2696" access="public" location="f112:129" file="f112" line="129"/>
+  <Typedef id="_8120" name="value_type" type="_2786" context="_2696" access="public" location="f112:130" file="f112" line="130"/>
+  <Typedef id="_8121" name="difference_type" type="_1699" context="_2696" access="public" location="f112:131" file="f112" line="131"/>
+  <Typedef id="_8122" name="pointer" type="_2778" context="_2696" access="public" location="f112:132" file="f112" line="132"/>
+  <Typedef id="_8123" name="reference" type="_7178" context="_2696" access="public" location="f112:133" file="f112" line="133"/>
+  <Constructor id="_8124" name="iterator_traits" artificial="1" throw="" context="_2696" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEC1ERKS8_ *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::iterator_traits(std::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t*, s [...]
+    <Argument name="_ctor_arg" type="_11875" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8125" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2696" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8126" name="iterator_category" type="_2700" context="_2697" access="public" location="f112:129" file="f112" line="129"/>
+  <Typedef id="_8127" name="value_type" type="_2786" context="_2697" access="public" location="f112:130" file="f112" line="130"/>
+  <Typedef id="_8128" name="difference_type" type="_1699" context="_2697" access="public" location="f112:131" file="f112" line="131"/>
+  <Typedef id="_8129" name="pointer" type="_2780" context="_2697" access="public" location="f112:132" file="f112" line="132"/>
+  <Typedef id="_8130" name="reference" type="_7180" context="_2697" access="public" location="f112:133" file="f112" line="133"/>
+  <Constructor id="_8131" name="iterator_traits" artificial="1" throw="" context="_2697" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKS9_ *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::iterator_traits(std::iterator_traits<__gnu_cxx::__normal_iterator<wcha [...]
+    <Argument name="_ctor_arg" type="_11876" location="f112:128" file="f112" line="128"/>
+  </Constructor>
+  <Constructor id="_8132" name="iterator_traits" explicit="1" artificial="1" throw="" context="_2697" access="public" mangled="_ZNSt15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="std::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::iterator_traits()" location="f112:128" file="f112" line="128" inline="1"/>
+  <Typedef id="_8133" name="iterator_category" type="_2703" context="_2698" access="public" location="f112:109" file="f112" line="109"/>
+  <Typedef id="_8134" name="value_type" type="_1194" context="_2698" access="public" location="f112:111" file="f112" line="111"/>
+  <Typedef id="_8135" name="difference_type" type="_1194" context="_2698" access="public" location="f112:113" file="f112" line="113"/>
+  <Typedef id="_8136" name="pointer" type="_1194" context="_2698" access="public" location="f112:115" file="f112" line="115"/>
+  <Typedef id="_8137" name="reference" type="_1194" context="_2698" access="public" location="f112:117" file="f112" line="117"/>
+  <Constructor id="_8138" name="iterator" artificial="1" throw="" context="_2698" access="public" mangled="_ZNSt8iteratorISt19output_iterator_tagvvvvEC1ERKS1_ *INTERNAL* " demangled="std::iterator<std::output_iterator_tag, void, void, void, void>::iterator(std::iterator<std::output_iterator_tag, void, void, void, void> const&)" location="f112:107" file="f112" line="107" inline="1">
+    <Argument name="_ctor_arg" type="_11877" location="f112:107" file="f112" line="107"/>
+  </Constructor>
+  <Constructor id="_8139" name="iterator" explicit="1" artificial="1" throw="" context="_2698" access="public" mangled="_ZNSt8iteratorISt19output_iterator_tagvvvvEC1Ev *INTERNAL* " demangled="std::iterator<std::output_iterator_tag, void, void, void, void>::iterator()" location="f195:211" file="f195" line="211" endline="211" inline="1"/>
+  <Typedef id="_8140" name="iterator_category" type="_2700" context="_2699" access="public" location="f112:109" file="f112" line="109"/>
+  <Typedef id="_8141" name="value_type" type="_3949" context="_2699" access="public" location="f112:111" file="f112" line="111"/>
+  <Typedef id="_8142" name="difference_type" type="_1699" context="_2699" access="public" location="f112:113" file="f112" line="113"/>
+  <PointerType id="_8143" type="_3949" size="32" align="32"/>
+  <Typedef id="_8144" name="pointer" type="_8143" context="_2699" access="public" location="f112:115" file="f112" line="115"/>
+  <ReferenceType id="_8145" type="_3949" size="32" align="32"/>
+  <Typedef id="_8146" name="reference" type="_8145" context="_2699" access="public" location="f112:117" file="f112" line="117"/>
+  <Constructor id="_8147" name="iterator" artificial="1" throw="" context="_2699" access="public" mangled="_ZNSt8iteratorISt26random_access_iterator_tagbiPbRbEC1ERKS3_ *INTERNAL* " demangled="std::iterator<std::random_access_iterator_tag, bool, int, bool*, bool&>::iterator(std::iterator<std::random_access_iterator_tag, bool, int, bool*, bool&> const&)" location="f112:107" file="f112" line="107" inline="1">
+    <Argument name="_ctor_arg" type="_11878" location="f112:107" file="f112" line="107"/>
+  </Constructor>
+  <Constructor id="_8148" name="iterator" explicit="1" artificial="1" throw="" context="_2699" access="public" mangled="_ZNSt8iteratorISt26random_access_iterator_tagbiPbRbEC1Ev *INTERNAL* " demangled="std::iterator<std::random_access_iterator_tag, bool, int, bool*, bool&>::iterator()" location="f79:116" file="f79" line="116" endline="116" inline="1"/>
+  <Constructor id="_8149" name="random_access_iterator_tag" artificial="1" throw="" context="_2700" access="public" mangled="_ZNSt26random_access_iterator_tagC1ERKS_ *INTERNAL* " demangled="std::random_access_iterator_tag::random_access_iterator_tag(std::random_access_iterator_tag const&)" location="f112:90" file="f112" line="90" inline="1">
+    <Argument name="_ctor_arg" type="_11879" location="f112:90" file="f112" line="90"/>
+  </Constructor>
+  <Constructor id="_8150" name="random_access_iterator_tag" explicit="1" artificial="1" throw="" context="_2700" access="public" mangled="_ZNSt26random_access_iterator_tagC1Ev *INTERNAL* " demangled="std::random_access_iterator_tag::random_access_iterator_tag()" location="f112:90" file="f112" line="90" inline="1"/>
+  <Constructor id="_8151" name="bidirectional_iterator_tag" artificial="1" throw="" context="_2701" access="public" mangled="_ZNSt26bidirectional_iterator_tagC1ERKS_ *INTERNAL* " demangled="std::bidirectional_iterator_tag::bidirectional_iterator_tag(std::bidirectional_iterator_tag const&)" location="f112:87" file="f112" line="87" inline="1">
+    <Argument name="_ctor_arg" type="_11880" location="f112:87" file="f112" line="87"/>
+  </Constructor>
+  <Constructor id="_8152" name="bidirectional_iterator_tag" explicit="1" artificial="1" throw="" context="_2701" access="public" mangled="_ZNSt26bidirectional_iterator_tagC1Ev *INTERNAL* " demangled="std::bidirectional_iterator_tag::bidirectional_iterator_tag()" location="f112:87" file="f112" line="87" inline="1"/>
+  <Constructor id="_8153" name="forward_iterator_tag" artificial="1" throw="" context="_2702" access="public" mangled="_ZNSt20forward_iterator_tagC1ERKS_ *INTERNAL* " demangled="std::forward_iterator_tag::forward_iterator_tag(std::forward_iterator_tag const&)" location="f112:84" file="f112" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_11881" location="f112:84" file="f112" line="84"/>
+  </Constructor>
+  <Constructor id="_8154" name="forward_iterator_tag" explicit="1" artificial="1" throw="" context="_2702" access="public" mangled="_ZNSt20forward_iterator_tagC1Ev *INTERNAL* " demangled="std::forward_iterator_tag::forward_iterator_tag()" location="f112:84" file="f112" line="84" inline="1"/>
+  <Constructor id="_8155" name="output_iterator_tag" artificial="1" throw="" context="_2703" access="public" mangled="_ZNSt19output_iterator_tagC1ERKS_ *INTERNAL* " demangled="std::output_iterator_tag::output_iterator_tag(std::output_iterator_tag const&)" location="f112:82" file="f112" line="82" inline="1">
+    <Argument name="_ctor_arg" type="_11882" location="f112:82" file="f112" line="82"/>
+  </Constructor>
+  <Constructor id="_8156" name="output_iterator_tag" explicit="1" artificial="1" throw="" context="_2703" access="public" mangled="_ZNSt19output_iterator_tagC1Ev *INTERNAL* " demangled="std::output_iterator_tag::output_iterator_tag()" location="f112:82" file="f112" line="82" inline="1"/>
+  <Constructor id="_8157" name="input_iterator_tag" artificial="1" throw="" context="_2704" access="public" mangled="_ZNSt18input_iterator_tagC1ERKS_ *INTERNAL* " demangled="std::input_iterator_tag::input_iterator_tag(std::input_iterator_tag const&)" location="f112:80" file="f112" line="80" inline="1">
+    <Argument name="_ctor_arg" type="_11883" location="f112:80" file="f112" line="80"/>
+  </Constructor>
+  <Constructor id="_8158" name="input_iterator_tag" explicit="1" artificial="1" throw="" context="_2704" access="public" mangled="_ZNSt18input_iterator_tagC1Ev *INTERNAL* " demangled="std::input_iterator_tag::input_iterator_tag()" location="f112:80" file="f112" line="80" inline="1"/>
+  <Field id="_8159" name="first" type="_2509c" offset="0" context="_2707" access="public" mangled="_ZNSt4pairIKSstE5firstE" demangled="std::pair<std::string const, unsigned short>::first" location="f114:73" file="f114" line="73"/>
+  <Field id="_8160" name="second" type="_1199" offset="32" context="_2707" access="public" mangled="_ZNSt4pairIKSstE6secondE" demangled="std::pair<std::string const, unsigned short>::second" location="f114:74" file="f114" line="74"/>
+  <Typedef id="_8161" name="first_type" type="_2509c" context="_2707" access="public" location="f114:70" file="f114" line="70"/>
+  <Typedef id="_8162" name="second_type" type="_1199" context="_2707" access="public" location="f114:71" file="f114" line="71"/>
+  <Constructor id="_8163" name="pair" artificial="1" context="_2707" access="public" mangled="_ZNSt4pairIKSstEC1ERKS1_ *INTERNAL* " demangled="std::pair<std::string const, unsigned short>::pair(std::pair<std::string const, unsigned short> const&)" location="f114:69" file="f114" line="69" inline="1">
+    <Argument name="_ctor_arg" type="_4299" location="f114:69" file="f114" line="69"/>
+  </Constructor>
+  <Destructor id="_8164" name="pair" artificial="1" context="_2707" access="public" mangled="_ZNSt4pairIKSstED1Ev *INTERNAL* " demangled="std::pair<std::string const, unsigned short>::~pair()" location="f114:69" file="f114" line="69" inline="1">
+  </Destructor>
+  <Constructor id="_8165" name="pair" explicit="1" context="_2707" access="public" mangled="_ZNSt4pairIKSstEC1Ev *INTERNAL* " demangled="std::pair<std::string const, unsigned short>::pair()" location="f114:81" file="f114" line="81" extern="1" inline="1"/>
+  <Constructor id="_8166" name="pair" explicit="1" context="_2707" access="public" mangled="_ZNSt4pairIKSstEC1ERS0_RKt *INTERNAL* " demangled="std::pair<std::string const, unsigned short>::pair(std::string const&, unsigned short const&)" location="f114:85" file="f114" line="85" extern="1" inline="1">
+    <Argument name="__a" type="_4020" location="f114:85" file="f114" line="85"/>
+    <Argument name="__b" type="_11341" location="f114:85" file="f114" line="85"/>
+  </Constructor>
+  <Field id="_8167" name="__name" type="_2749" offset="32" context="_2715" access="protected" mangled="_ZNSt9type_info6__nameE" demangled="std::type_info::__name" location="f31:82" file="f31" line="82"/>
+  <Destructor id="_8168" name="type_info" virtual="1" context="_2715" access="public" mangled="_ZNSt9type_infoD1Ev *INTERNAL* " demangled="std::type_info::~type_info()" location="f31:74" file="f31" line="74" extern="1">
+  </Destructor>
+  <OperatorMethod id="_8169" name="=" returns="_11884" context="_2715" access="private" mangled="_ZNSt9type_infoaSERKS_" demangled="std::type_info::operator=(std::type_info const&)" location="f31:78" file="f31" line="78" extern="1">
+    <Argument type="_11885" location="f31:78" file="f31" line="78"/>
+  </OperatorMethod>
+  <Constructor id="_8170" name="type_info" context="_2715" access="private" mangled="_ZNSt9type_infoC1ERKS_ *INTERNAL* " demangled="std::type_info::type_info(std::type_info const&)" location="f31:79" file="f31" line="79" extern="1">
+    <Argument type="_11885" location="f31:79" file="f31" line="79"/>
+  </Constructor>
+  <Constructor id="_8171" name="type_info" explicit="1" context="_2715" access="protected" mangled="_ZNSt9type_infoC1EPKc *INTERNAL* " demangled="std::type_info::type_info(char const*)" location="f31:85" file="f31" line="85" endline="85" inline="1">
+    <Argument name="__n" type="_2749" location="f31:85" file="f31" line="85"/>
+  </Constructor>
+  <Method id="_8172" name="name" returns="_2749" const="1" context="_2715" access="public" mangled="_ZNKSt9type_info4nameEv" demangled="std::type_info::name() const" location="f31:92" file="f31" line="92" endline="92" inline="1"/>
+  <Method id="_8173" name="before" returns="_3949" const="1" context="_2715" access="public" mangled="_ZNKSt9type_info6beforeERKS_" demangled="std::type_info::before(std::type_info const&) const" location="f31:106" file="f31" line="106" endline="106" inline="1">
+    <Argument name="__arg" type="_11885" location="f31:106" file="f31" line="106"/>
+  </Method>
+  <OperatorMethod id="_8174" name="==" returns="_3949" const="1" context="_2715" access="public" mangled="_ZNKSt9type_infoeqERKS_" demangled="std::type_info::operator==(std::type_info const&) const" location="f31:108" file="f31" line="108" endline="108" inline="1">
+    <Argument name="__arg" type="_11885" location="f31:108" file="f31" line="108"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8175" name="!=" returns="_3949" const="1" context="_2715" access="public" mangled="_ZNKSt9type_infoneERKS_" demangled="std::type_info::operator!=(std::type_info const&) const" location="f31:111" file="f31" line="111" endline="111" inline="1">
+    <Argument name="__arg" type="_11885" location="f31:111" file="f31" line="111"/>
+  </OperatorMethod>
+  <Method id="_8176" name="__is_pointer_p" returns="_3949" const="1" virtual="1" context="_2715" access="public" mangled="_ZNKSt9type_info14__is_pointer_pEv" demangled="std::type_info::__is_pointer_p() const" location="f31:116" file="f31" line="116" extern="1"/>
+  <Method id="_8177" name="__is_function_p" returns="_3949" const="1" virtual="1" context="_2715" access="public" mangled="_ZNKSt9type_info15__is_function_pEv" demangled="std::type_info::__is_function_p() const" location="f31:118" file="f31" line="118" extern="1"/>
+  <Method id="_8178" name="__do_catch" returns="_3949" const="1" virtual="1" context="_2715" access="public" mangled="_ZNKSt9type_info10__do_catchEPKS_PPvj" demangled="std::type_info::__do_catch(std::type_info const*, void**, unsigned) const" location="f31:127" file="f31" line="127" extern="1">
+    <Argument name="__thr_type" type="_11886" location="f31:127" file="f31" line="127"/>
+    <Argument name="__thr_obj" type="_2878" location="f31:127" file="f31" line="127"/>
+    <Argument name="__outer" type="_837" location="f31:127" file="f31" line="127"/>
+  </Method>
+  <Method id="_8179" name="__do_upcast" returns="_3949" const="1" virtual="1" context="_2715" access="public" mangled="_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv" demangled="std::type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const" location="f31:131" file="f31" line="131" extern="1">
+    <Argument name="__target" type="_11887" location="f31:131" file="f31" line="131"/>
+    <Argument name="__obj_ptr" type="_2878" location="f31:131" file="f31" line="131"/>
+  </Method>
+  <Constructor id="_8180" name="bad_alloc" artificial="1" throw="" context="_2716" access="public" mangled="_ZNSt9bad_allocC1ERKS_ *INTERNAL* " demangled="std::bad_alloc::bad_alloc(std::bad_alloc const&)" location="f34:56" file="f34" line="56" inline="1">
+    <Argument name="_ctor_arg" type="_11888" location="f34:56" file="f34" line="56"/>
+  </Constructor>
+  <Constructor id="_8181" name="bad_alloc" explicit="1" throw="" context="_2716" access="public" mangled="_ZNSt9bad_allocC1Ev *INTERNAL* " demangled="std::bad_alloc::bad_alloc()" location="f34:58" file="f34" line="58" endline="58" inline="1"/>
+  <Destructor id="_8182" name="bad_alloc" virtual="1" throw="" context="_2716" access="public" mangled="_ZNSt9bad_allocD1Ev *INTERNAL* " demangled="std::bad_alloc::~bad_alloc()" location="f34:61" file="f34" line="61" extern="1">
+  </Destructor>
+  <ReferenceType id="_8183" type="_49c" size="32" align="32"/>
+  <ReferenceType id="_8187" type="_505c" size="32" align="32"/>
+  <ReferenceType id="_8189" type="_512c" size="32" align="32"/>
+  <Field id="_8190" name="" type="_11890" offset="0" context="_2772" access="public" location="f29:676" file="f29" line="676"/>
+  <Field id="_8191" name="" type="_503" offset="64" context="_2772" access="public" location="f29:676" file="f29" line="676"/>
+  <Field id="_8192" name="" type="_503" offset="96" context="_2772" access="public" location="f29:676" file="f29" line="676"/>
+  <Field id="_8193" name="" type="_11891" offset="128" context="_2772" access="public" location="f29:676" file="f29" line="676"/>
+  <Field id="_8194" name="" type="_11890" offset="0" context="_2774" access="public" location="f9:64" file="f9" line="64"/>
+  <Field id="_8195" name="" type="_503" offset="64" context="_2774" access="public" location="f9:64" file="f9" line="64"/>
+  <Field id="_8196" name="" type="_503" offset="96" context="_2774" access="public" location="f9:64" file="f9" line="64"/>
+  <Field id="_8197" name="" type="_11892" offset="128" context="_2774" access="public" location="f9:64" file="f9" line="64"/>
+  <Field id="_8201" name="__wch" type="_1232" offset="0" context="_2800" access="public" mangled="_ZN11__mbstate_t4._545__wchE" demangled="__mbstate_t::._54::__wch" location="f37:81" file="f37" line="81"/>
+  <Field id="_8202" name="__wchb" type="_8285" offset="0" context="_2800" access="public" mangled="_ZN11__mbstate_t4._546__wchbE" demangled="__mbstate_t::._54::__wchb" location="f37:82" file="f37" line="82"/>
+  <Constructor id="_8203" artificial="1" throw="" context="_2800" access="public" mangled="_ZN11__mbstate_t4._54C1ERKS0_ *INTERNAL* " demangled="__mbstate_t::._54::._54(__mbstate_t::._54 const&)" location="f37:80" file="f37" line="80" inline="1">
+    <Argument name="_ctor_arg" type="_11893" location="f37:80" file="f37" line="80"/>
+  </Constructor>
+  <Constructor id="_8204" explicit="1" artificial="1" throw="" context="_2800" access="public" mangled="_ZN11__mbstate_t4._54C1Ev *INTERNAL* " demangled="__mbstate_t::._54::._54()" location="f37:80" file="f37" line="80" inline="1"/>
+  <ReferenceType id="_8205" type="_766c" size="32" align="32"/>
+  <ArrayType id="_8211" min="0" max="23" type="_2961" size="192" align="8"/>
+  <Field id="_8212" name="__lock" type="_503" offset="0" context="_2821" access="public" mangled="_ZN15pthread_mutex_t17__pthread_mutex_s6__lockE" demangled="pthread_mutex_t::__pthread_mutex_s::__lock" location="f40:58" file="f40" line="58"/>
+  <Field id="_8213" name="__count" type="_837" offset="32" context="_2821" access="public" mangled="_ZN15pthread_mutex_t17__pthread_mutex_s7__countE" demangled="pthread_mutex_t::__pthread_mutex_s::__count" location="f40:59" file="f40" line="59"/>
+  <Field id="_8214" name="__owner" type="_503" offset="64" context="_2821" access="public" mangled="_ZN15pthread_mutex_t17__pthread_mutex_s7__ownerE" demangled="pthread_mutex_t::__pthread_mutex_s::__owner" location="f40:60" file="f40" line="60"/>
+  <Field id="_8215" name="__kind" type="_503" offset="96" context="_2821" access="public" mangled="_ZN15pthread_mutex_t17__pthread_mutex_s6__kindE" demangled="pthread_mutex_t::__pthread_mutex_s::__kind" location="f40:63" file="f40" line="63"/>
+  <Field id="_8216" name="__nusers" type="_837" offset="128" context="_2821" access="public" mangled="_ZN15pthread_mutex_t17__pthread_mutex_s8__nusersE" demangled="pthread_mutex_t::__pthread_mutex_s::__nusers" location="f40:64" file="f40" line="64"/>
+  <Field id="_8217" name="" type="_8218" offset="160" context="_2821" access="public" location="f40:69" file="f40" line="69"/>
+  <Union id="_8218" context="_2821" access="public" mangled="N15pthread_mutex_t17__pthread_mutex_s4._10E" demangled="pthread_mutex_t::__pthread_mutex_s::._10" location="f40:66" file="f40" line="66" artificial="1" size="32" align="32" members="_11895 _11896 " bases=""/>
+  <Constructor id="_8219" name="__pthread_mutex_s" artificial="1" throw="" context="_2821" access="public" mangled="_ZN15pthread_mutex_t17__pthread_mutex_sC1ERKS0_ *INTERNAL* " demangled="pthread_mutex_t::__pthread_mutex_s::__pthread_mutex_s(pthread_mutex_t::__pthread_mutex_s const&)" location="f40:57" file="f40" line="57" inline="1">
+    <Argument name="_ctor_arg" type="_11897" location="f40:57" file="f40" line="57"/>
+  </Constructor>
+  <Constructor id="_8220" name="__pthread_mutex_s" explicit="1" artificial="1" throw="" context="_2821" access="public" mangled="_ZN15pthread_mutex_t17__pthread_mutex_sC1Ev *INTERNAL* " demangled="pthread_mutex_t::__pthread_mutex_s::__pthread_mutex_s()" location="f40:57" file="f40" line="57" inline="1"/>
+  <ReferenceType id="_8221" type="_833c" size="32" align="32"/>
+  <ReferenceType id="_8227" type="_907c" size="32" align="32"/>
+  <ReferenceType id="_8228" type="_908c" size="32" align="32"/>
+  <ArrayType id="_8229" min="0" max="0" type="_2868" size="224" align="32"/>
+  <ArrayType id="_8230" min="0" max="3" type="_1042" size="128" align="32"/>
+  <Field id="_8231" name="__cancel_jmp_buf" type="_967" offset="0" context="_2868" access="public" mangled="_ZN4._744._7516__cancel_jmp_bufE" demangled="._74::._75::__cancel_jmp_buf" location="f41:481" file="f41" line="481"/>
+  <Field id="_8232" name="__mask_was_saved" type="_503" offset="192" context="_2868" access="public" mangled="_ZN4._744._7516__mask_was_savedE" demangled="._74::._75::__mask_was_saved" location="f41:482" file="f41" line="482"/>
+  <Constructor id="_8233" artificial="1" throw="" context="_2868" access="public" mangled="_ZN4._744._75C1ERKS0_ *INTERNAL* " demangled="._74::._75::._75(._74::._75 const&)" location="f41:480" file="f41" line="480" inline="1">
+    <Argument name="_ctor_arg" type="_11900" location="f41:480" file="f41" line="480"/>
+  </Constructor>
+  <Constructor id="_8234" explicit="1" artificial="1" throw="" context="_2868" access="public" mangled="_ZN4._744._75C1Ev *INTERNAL* " demangled="._74::._75::._75()" location="f41:480" file="f41" line="480" inline="1"/>
+  <ReferenceType id="_8235" type="_909c" size="32" align="32"/>
+  <PointerType id="_8238" type="_957" size="32" align="32"/>
+  <ReferenceType id="_8239" type="_957c" size="32" align="32"/>
+  <ReferenceType id="_8242" type="_1010c" size="32" align="32"/>
+  <ReferenceType id="_8243" type="_1011c" size="32" align="32"/>
+  <ArrayType id="_8244" min="0" max="31" type="_1023" size="1024" align="32"/>
+  <ReferenceType id="_8245" type="_1022c" size="32" align="32"/>
+  <ReferenceType id="_8246" type="_1024c" size="32" align="32"/>
+  <ReferenceType id="_8247" type="_1027c" size="32" align="32"/>
+  <ReferenceType id="_8250" type="_1145c" size="32" align="32"/>
+  <ReferenceType id="_8251" type="_1147c" size="32" align="32"/>
+  <PointerType id="_8252" type="_1187" size="32" align="32"/>
+  <PointerType id="_8253" type="_1186" size="32" align="32"/>
+  <PointerType id="_8254" type="_1185" size="32" align="32"/>
+  <PointerType id="_8255" type="_1184" size="32" align="32"/>
+  <ReferenceType id="_8256" type="_1174c" size="32" align="32"/>
+  <PointerType id="_8257" type="_1193" size="32" align="32"/>
+  <ReferenceType id="_8258" type="_1193c" size="32" align="32"/>
+  <Field id="_8259" name="__cd" type="_1207" offset="0" context="_2979" access="public" mangled="_ZN10_G_iconv_t4._604__cdE" demangled="_G_iconv_t::._60::__cd" location="f52:50" file="f52" line="50"/>
+  <Field id="_8260" name="__data" type="_1228" offset="64" context="_2979" access="public" mangled="_ZN10_G_iconv_t4._606__dataE" demangled="_G_iconv_t::._60::__data" location="f52:51" file="f52" line="51"/>
+  <Constructor id="_8261" artificial="1" throw="" context="_2979" access="public" mangled="_ZN10_G_iconv_t4._60C1ERKS0_ *INTERNAL* " demangled="_G_iconv_t::._60::._60(_G_iconv_t::._60 const&)" location="f52:49" file="f52" line="49" inline="1">
+    <Argument name="_ctor_arg" type="_11908" location="f52:49" file="f52" line="49"/>
+  </Constructor>
+  <Constructor id="_8262" explicit="1" artificial="1" throw="" context="_2979" access="public" mangled="_ZN10_G_iconv_t4._60C1Ev *INTERNAL* " demangled="_G_iconv_t::._60::._60()" location="f52:49" file="f52" line="49" inline="1"/>
+  <ReferenceType id="_8263" type="_1204c" size="32" align="32"/>
+  <PointerType id="_8264" type="_1229" size="32" align="32"/>
+  <ArrayType id="_8265" min="0" max="0xffffffffffffffff" type="_1228" size="0" align="32"/>
+  <ReferenceType id="_8266" type="_1207c" size="32" align="32"/>
+  <PointerType id="_8267" type="_1226" size="32" align="32"/>
+  <ReferenceType id="_8268" type="_1226c" size="32" align="32"/>
+  <PointerType id="_8269" type="_766" size="32" align="32"/>
+  <ReferenceType id="_8270" type="_1228c" size="32" align="32"/>
+  <PointerType id="_8271" type="_1227" size="32" align="32"/>
+  <ReferenceType id="_8272" type="_1229c" size="32" align="32"/>
+  <ArrayType id="_8273" min="0" max="0" type="_2961" size="8" align="8"/>
+  <PointerType id="_8274" type="_1195" size="32" align="32"/>
+  <ArrayType id="_8275" min="0" max="39" type="_2961" size="320" align="8"/>
+  <ReferenceType id="_8276" type="_1233c" size="32" align="32"/>
+  <ReferenceType id="_8277" type="_1284c" size="32" align="32"/>
+  <ReferenceType id="_8278" type="_1286c" size="32" align="32"/>
+  <ReferenceType id="_8279" type="_1287c" size="32" align="32"/>
+  <ArrayType id="_8282" min="0" max="2" type="_1199" size="48" align="16"/>
+  <ReferenceType id="_8283" type="_1512c" size="32" align="32"/>
+  <ReferenceType id="_8284" type="_1529c" size="32" align="32"/>
+  <ArrayType id="_8285" min="0" max="3" type="_2961" size="32" align="8"/>
+  <ReferenceType id="_8286" type="_1534c" size="32" align="32"/>
+  <ArrayType id="_8287" min="0" max="19" type="_2961" size="160" align="8"/>
+  <ReferenceType id="_8288" type="_1535c" size="32" align="32"/>
+  <ArrayType id="_8289" min="0" max="7" type="_2961" size="64" align="8"/>
+  <ReferenceType id="_8290" type="_1537c" size="32" align="32"/>
+  <ArrayType id="_8291" min="0" max="31" type="_2961" size="256" align="8"/>
+  <Field id="_8292" name="__lock" type="_503" offset="0" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._166__lockE" demangled="pthread_rwlock_t::._16::__lock" location="f40:123" file="f40" line="123"/>
+  <Field id="_8293" name="__nr_readers" type="_837" offset="32" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._1612__nr_readersE" demangled="pthread_rwlock_t::._16::__nr_readers" location="f40:124" file="f40" line="124"/>
+  <Field id="_8294" name="__readers_wakeup" type="_837" offset="64" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._1616__readers_wakeupE" demangled="pthread_rwlock_t::._16::__readers_wakeup" location="f40:125" file="f40" line="125"/>
+  <Field id="_8295" name="__writer_wakeup" type="_837" offset="96" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._1615__writer_wakeupE" demangled="pthread_rwlock_t::._16::__writer_wakeup" location="f40:126" file="f40" line="126"/>
+  <Field id="_8296" name="__nr_readers_queued" type="_837" offset="128" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._1619__nr_readers_queuedE" demangled="pthread_rwlock_t::._16::__nr_readers_queued" location="f40:127" file="f40" line="127"/>
+  <Field id="_8297" name="__nr_writers_queued" type="_837" offset="160" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._1619__nr_writers_queuedE" demangled="pthread_rwlock_t::._16::__nr_writers_queued" location="f40:128" file="f40" line="128"/>
+  <Field id="_8298" name="__flags" type="_837" offset="192" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._167__flagsE" demangled="pthread_rwlock_t::._16::__flags" location="f40:131" file="f40" line="131"/>
+  <Field id="_8299" name="__writer" type="_503" offset="224" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._168__writerE" demangled="pthread_rwlock_t::._16::__writer" location="f40:132" file="f40" line="132"/>
+  <Constructor id="_8300" artificial="1" throw="" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._16C1ERKS0_ *INTERNAL* " demangled="pthread_rwlock_t::._16::._16(pthread_rwlock_t::._16 const&)" location="f40:122" file="f40" line="122" inline="1">
+    <Argument name="_ctor_arg" type="_11921" location="f40:122" file="f40" line="122"/>
+  </Constructor>
+  <Constructor id="_8301" explicit="1" artificial="1" throw="" context="_3141" access="public" mangled="_ZN16pthread_rwlock_t4._16C1Ev *INTERNAL* " demangled="pthread_rwlock_t::._16::._16()" location="f40:122" file="f40" line="122" inline="1"/>
+  <ReferenceType id="_8302" type="_1538c" size="32" align="32"/>
+  <ReferenceType id="_8303" type="_1541c" size="32" align="32"/>
+  <ArrayType id="_8304" min="0" max="47" type="_2961" size="384" align="8"/>
+  <Field id="_8305" name="__lock" type="_503" offset="0" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._136__lockE" demangled="pthread_cond_t::._13::__lock" location="f40:88" file="f40" line="88"/>
+  <Field id="_8306" name="__futex" type="_837" offset="32" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._137__futexE" demangled="pthread_cond_t::._13::__futex" location="f40:89" file="f40" line="89"/>
+  <Field id="_8307" name="__total_seq" type="_1288" offset="64" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._1311__total_seqE" demangled="pthread_cond_t::._13::__total_seq" location="f40:90" file="f40" line="90"/>
+  <Field id="_8308" name="__wakeup_seq" type="_1288" offset="128" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._1312__wakeup_seqE" demangled="pthread_cond_t::._13::__wakeup_seq" location="f40:91" file="f40" line="91"/>
+  <Field id="_8309" name="__woken_seq" type="_1288" offset="192" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._1311__woken_seqE" demangled="pthread_cond_t::._13::__woken_seq" location="f40:92" file="f40" line="92"/>
+  <Field id="_8310" name="__mutex" type="_1042" offset="256" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._137__mutexE" demangled="pthread_cond_t::._13::__mutex" location="f40:93" file="f40" line="93"/>
+  <Field id="_8311" name="__nwaiters" type="_837" offset="288" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._1310__nwaitersE" demangled="pthread_cond_t::._13::__nwaiters" location="f40:94" file="f40" line="94"/>
+  <Field id="_8312" name="__broadcast_seq" type="_837" offset="320" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._1315__broadcast_seqE" demangled="pthread_cond_t::._13::__broadcast_seq" location="f40:95" file="f40" line="95"/>
+  <Constructor id="_8313" artificial="1" throw="" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._13C1ERKS0_ *INTERNAL* " demangled="pthread_cond_t::._13::._13(pthread_cond_t::._13 const&)" location="f40:87" file="f40" line="87" inline="1">
+    <Argument name="_ctor_arg" type="_11923" location="f40:87" file="f40" line="87"/>
+  </Constructor>
+  <Constructor id="_8314" explicit="1" artificial="1" throw="" context="_3151" access="public" mangled="_ZN14pthread_cond_t4._13C1Ev *INTERNAL* " demangled="pthread_cond_t::._13::._13()" location="f40:87" file="f40" line="87" inline="1"/>
+  <ReferenceType id="_8315" type="_1542c" size="32" align="32"/>
+  <ReferenceType id="_8316" type="_1543c" size="32" align="32"/>
+  <PointerType id="_8317" type="_1544" size="32" align="32"/>
+  <ReferenceType id="_8318" type="_1544c" size="32" align="32"/>
+  <ArrayType id="_8319" min="0" max="35" type="_2961" size="288" align="8"/>
+  <ReferenceType id="_8320" type="_1546c" size="32" align="32"/>
+  <ArrayType id="_8322" min="0" max="31" type="_1563" size="1024" align="32"/>
+  <ReferenceType id="_8323" type="_1562c" size="32" align="32"/>
+  <ReferenceType id="_8324" type="_1564c" size="32" align="32"/>
+  <ReferenceType id="_8325" type="_1565c" size="32" align="32"/>
+  <ArrayType id="_8326" min="0" max="31" type="_643" size="1024" align="32"/>
+  <ReferenceType id="_8327" type="_1566c" size="32" align="32"/>
+  <ArrayType id="_8328" min="0" max="1" type="_503" size="64" align="32"/>
+  <ReferenceType id="_8329" type="_1603c" size="32" align="32"/>
+  <ArrayType id="_8330" min="0" max="12" type="_11928" size="416" align="32"/>
+  <PointerType id="_8206" type="_1199c" size="32" align="32"/>
+  <ArrayType id="_8331" min="0" max="12" type="_2749" size="416" align="32"/>
+  <ReferenceType id="_8332" type="_1679c" size="32" align="32"/>
+  <ReferenceType id="_8333" type="_1694c" size="32" align="32"/>
+  <ReferenceType id="_8334" type="_1695c" size="32" align="32"/>
+  <ReferenceType id="_8335" type="_1696c" size="32" align="32"/>
+  <Field id="_8336" name="__w_termsig" bits="7" type="_837" offset="0" context="_3208" access="public" mangled="_ZN4wait3._011__w_termsigE" demangled="wait::._0::__w_termsig" location="f73:73" file="f73" line="73"/>
+  <Field id="_8337" name="__w_coredump" bits="1" type="_837" offset="7" context="_3208" access="public" mangled="_ZN4wait3._012__w_coredumpE" demangled="wait::._0::__w_coredump" location="f73:74" file="f73" line="74"/>
+  <Field id="_8338" name="__w_retcode" bits="8" type="_837" offset="8" context="_3208" access="public" mangled="_ZN4wait3._011__w_retcodeE" demangled="wait::._0::__w_retcode" location="f73:75" file="f73" line="75"/>
+  <Field id="_8339" name="" bits="16" type="_837" offset="16" context="_3208" access="public" location="f73:76" file="f73" line="76"/>
+  <Constructor id="_8340" artificial="1" throw="" context="_3208" access="public" mangled="_ZN4wait3._0C1ERKS0_ *INTERNAL* " demangled="wait::._0::._0(wait::._0 const&)" location="f73:71" file="f73" line="71" inline="1">
+    <Argument name="_ctor_arg" type="_11933" location="f73:71" file="f73" line="71"/>
+  </Constructor>
+  <Constructor id="_8341" explicit="1" artificial="1" throw="" context="_3208" access="public" mangled="_ZN4wait3._0C1Ev *INTERNAL* " demangled="wait::._0::._0()" location="f73:71" file="f73" line="71" inline="1"/>
+  <Field id="_8342" name="__w_stopval" bits="8" type="_837" offset="0" context="_3209" access="public" mangled="_ZN4wait3._111__w_stopvalE" demangled="wait::._1::__w_stopval" location="f73:88" file="f73" line="88"/>
+  <Field id="_8343" name="__w_stopsig" bits="8" type="_837" offset="8" context="_3209" access="public" mangled="_ZN4wait3._111__w_stopsigE" demangled="wait::._1::__w_stopsig" location="f73:89" file="f73" line="89"/>
+  <Field id="_8344" name="" bits="16" type="_837" offset="16" context="_3209" access="public" location="f73:90" file="f73" line="90"/>
+  <Constructor id="_8345" artificial="1" throw="" context="_3209" access="public" mangled="_ZN4wait3._1C1ERKS0_ *INTERNAL* " demangled="wait::._1::._1(wait::._1 const&)" location="f73:86" file="f73" line="86" inline="1">
+    <Argument name="_ctor_arg" type="_11934" location="f73:86" file="f73" line="86"/>
+  </Constructor>
+  <Constructor id="_8346" explicit="1" artificial="1" throw="" context="_3209" access="public" mangled="_ZN4wait3._1C1Ev *INTERNAL* " demangled="wait::._1::._1()" location="f73:86" file="f73" line="86" inline="1"/>
+  <ReferenceType id="_8347" type="_1697c" size="32" align="32"/>
+  <Class id="_8348" name="local_date_time_base<boost::posix_time::ptime,boost::date_time::time_zone_base<boost::posix_time::ptime, char> >" context="_3888" mangled="N5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >" location="f10:62" file="f10" line="62" artificial="1"  [...]
+    <Base type="_11199" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_8349" name="local_date_time" type="_8348" context="_3888" location="f10:520" file="f10" line="520"/>
+  <Variable id="_8350" name="value" type="_503c" init="5" context="_3222" access="public" mangled="_ZN4mpl_3argILi5EE5valueE" demangled="mpl_::arg<5>::value" location="f121:105" file="f121" line="105" extern="1"/>
+  <Typedef id="_8351" name="next" type="_3220" context="_3222" access="public" location="f121:106" file="f121" line="106"/>
+  <Constructor id="_8352" name="arg" artificial="1" throw="" context="_3222" access="public" mangled="_ZN4mpl_3argILi5EEC1ERKS1_ *INTERNAL* " demangled="mpl_::arg<5>::arg(mpl_::arg<5> const&)" location="f121:104" file="f121" line="104" inline="1">
+    <Argument name="_ctor_arg" type="_11976" location="f121:104" file="f121" line="104"/>
+  </Constructor>
+  <Constructor id="_8353" name="arg" explicit="1" artificial="1" throw="" context="_3222" access="public" mangled="_ZN4mpl_3argILi5EEC1Ev *INTERNAL* " demangled="mpl_::arg<5>::arg()" location="f121:104" file="f121" line="104" inline="1"/>
+  <Variable id="_8354" name="value" type="_503c" init="4" context="_3224" access="public" mangled="_ZN4mpl_3argILi4EE5valueE" demangled="mpl_::arg<4>::value" location="f121:87" file="f121" line="87" extern="1"/>
+  <Typedef id="_8355" name="next" type="_3222" context="_3224" access="public" location="f121:88" file="f121" line="88"/>
+  <Constructor id="_8356" name="arg" artificial="1" throw="" context="_3224" access="public" mangled="_ZN4mpl_3argILi4EEC1ERKS1_ *INTERNAL* " demangled="mpl_::arg<4>::arg(mpl_::arg<4> const&)" location="f121:86" file="f121" line="86" inline="1">
+    <Argument name="_ctor_arg" type="_11977" location="f121:86" file="f121" line="86"/>
+  </Constructor>
+  <Constructor id="_8357" name="arg" explicit="1" artificial="1" throw="" context="_3224" access="public" mangled="_ZN4mpl_3argILi4EEC1Ev *INTERNAL* " demangled="mpl_::arg<4>::arg()" location="f121:86" file="f121" line="86" inline="1"/>
+  <Variable id="_8358" name="value" type="_503c" init="3" context="_3226" access="public" mangled="_ZN4mpl_3argILi3EE5valueE" demangled="mpl_::arg<3>::value" location="f121:69" file="f121" line="69" extern="1"/>
+  <Typedef id="_8359" name="next" type="_3224" context="_3226" access="public" location="f121:70" file="f121" line="70"/>
+  <Constructor id="_8360" name="arg" artificial="1" throw="" context="_3226" access="public" mangled="_ZN4mpl_3argILi3EEC1ERKS1_ *INTERNAL* " demangled="mpl_::arg<3>::arg(mpl_::arg<3> const&)" location="f121:68" file="f121" line="68" inline="1">
+    <Argument name="_ctor_arg" type="_11978" location="f121:68" file="f121" line="68"/>
+  </Constructor>
+  <Constructor id="_8361" name="arg" explicit="1" artificial="1" throw="" context="_3226" access="public" mangled="_ZN4mpl_3argILi3EEC1Ev *INTERNAL* " demangled="mpl_::arg<3>::arg()" location="f121:68" file="f121" line="68" inline="1"/>
+  <Variable id="_8362" name="value" type="_503c" init="2" context="_3228" access="public" mangled="_ZN4mpl_3argILi2EE5valueE" demangled="mpl_::arg<2>::value" location="f121:51" file="f121" line="51" extern="1"/>
+  <Typedef id="_8363" name="next" type="_3226" context="_3228" access="public" location="f121:52" file="f121" line="52"/>
+  <Constructor id="_8364" name="arg" artificial="1" throw="" context="_3228" access="public" mangled="_ZN4mpl_3argILi2EEC1ERKS1_ *INTERNAL* " demangled="mpl_::arg<2>::arg(mpl_::arg<2> const&)" location="f121:50" file="f121" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_11979" location="f121:50" file="f121" line="50"/>
+  </Constructor>
+  <Constructor id="_8365" name="arg" explicit="1" artificial="1" throw="" context="_3228" access="public" mangled="_ZN4mpl_3argILi2EEC1Ev *INTERNAL* " demangled="mpl_::arg<2>::arg()" location="f121:50" file="f121" line="50" inline="1"/>
+  <Variable id="_8366" name="value" type="_503c" init="1" context="_3230" access="public" mangled="_ZN4mpl_3argILi1EE5valueE" demangled="mpl_::arg<1>::value" location="f121:33" file="f121" line="33" extern="1"/>
+  <Typedef id="_8367" name="next" type="_3228" context="_3230" access="public" location="f121:34" file="f121" line="34"/>
+  <Constructor id="_8368" name="arg" artificial="1" throw="" context="_3230" access="public" mangled="_ZN4mpl_3argILi1EEC1ERKS1_ *INTERNAL* " demangled="mpl_::arg<1>::arg(mpl_::arg<1> const&)" location="f121:32" file="f121" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_11980" location="f121:32" file="f121" line="32"/>
+  </Constructor>
+  <Constructor id="_8369" name="arg" explicit="1" artificial="1" throw="" context="_3230" access="public" mangled="_ZN4mpl_3argILi1EEC1Ev *INTERNAL* " demangled="mpl_::arg<1>::arg()" location="f121:32" file="f121" line="32" inline="1"/>
+  <Variable id="_8370" name="value" type="_503c" init="-1" context="_3232" access="public" mangled="_ZN4mpl_3argILin1EE5valueE" demangled="mpl_::arg<-1>::value" location="f121:16" file="f121" line="16" extern="1"/>
+  <Constructor id="_8371" name="arg" artificial="1" throw="" context="_3232" access="public" mangled="_ZN4mpl_3argILin1EEC1ERKS1_ *INTERNAL* " demangled="mpl_::arg<-1>::arg(mpl_::arg<-1> const&)" location="f121:15" file="f121" line="15" inline="1">
+    <Argument name="_ctor_arg" type="_11981" location="f121:15" file="f121" line="15"/>
+  </Constructor>
+  <Constructor id="_8372" name="arg" explicit="1" artificial="1" throw="" context="_3232" access="public" mangled="_ZN4mpl_3argILin1EEC1Ev *INTERNAL* " demangled="mpl_::arg<-1>::arg()" location="f121:15" file="f121" line="15" inline="1"/>
+  <PointerType id="_8373" type="_11982" size="32" align="32"/>
+  <PointerType id="_8374" type="_11983" size="32" align="32"/>
+  <Typedef id="_8375" name="p_type" type="_3259" context="_3236" access="public" location="f122:148" file="f122" line="148"/>
+  <Enumeration id="_8376" name="._87" context="_3236" access="public" location="f122:149" file="f122" line="149" artificial="1" size="32" align="32">
+    <EnumValue name="p" init="1"/>
+  </Enumeration>
+  <Typedef id="_8377" name="type" type="_1042" context="_3236" access="public" location="f122:150" file="f122" line="150"/>
+  <Constructor id="_8378" name="assert_arg_pred_not" artificial="1" throw="" context="_3236" access="public" mangled="_ZN4mpl_19assert_arg_pred_notIN5boost6detail20is_iterator_categoryINS1_21forward_traversal_tagEEEEC1ERKS6_ *INTERNAL* " demangled="mpl_::assert_arg_pred_not<boost::detail::is_iterator_category<boost::forward_traversal_tag> >::assert_arg_pred_not(mpl_::assert_arg_pred_not<boost::detail::is_iterator_category<boost::forward_traversal_tag> > const& [...]
+    <Argument name="_ctor_arg" type="_11984" location="f122:147" file="f122" line="147"/>
+  </Constructor>
+  <Constructor id="_8379" name="assert_arg_pred_not" explicit="1" artificial="1" throw="" context="_3236" access="public" mangled="_ZN4mpl_19assert_arg_pred_notIN5boost6detail20is_iterator_categoryINS1_21forward_traversal_tagEEEEC1Ev *INTERNAL* " demangled="mpl_::assert_arg_pred_not<boost::detail::is_iterator_category<boost::forward_traversal_tag> >::assert_arg_pred_not()" location="f122:147" file="f122" line="147" inline="1"/>
+  <Typedef id="_8380" name="p_type" type="_3259" context="_3237" access="public" location="f122:142" file="f122" line="142"/>
+  <Typedef id="_8381" name="type" type="_503" context="_3237" access="public" location="f122:143" file="f122" line="143"/>
+  <Constructor id="_8382" name="assert_arg_pred" artificial="1" throw="" context="_3237" access="public" mangled="_ZN4mpl_15assert_arg_predIN5boost6detail20is_iterator_categoryINS1_21forward_traversal_tagEEEEC1ERKS6_ *INTERNAL* " demangled="mpl_::assert_arg_pred<boost::detail::is_iterator_category<boost::forward_traversal_tag> >::assert_arg_pred(mpl_::assert_arg_pred<boost::detail::is_iterator_category<boost::forward_traversal_tag> > const&)" location="f122:14 [...]
+    <Argument name="_ctor_arg" type="_11985" location="f122:141" file="f122" line="141"/>
+  </Constructor>
+  <Constructor id="_8383" name="assert_arg_pred" explicit="1" artificial="1" throw="" context="_3237" access="public" mangled="_ZN4mpl_15assert_arg_predIN5boost6detail20is_iterator_categoryINS1_21forward_traversal_tagEEEEC1Ev *INTERNAL* " demangled="mpl_::assert_arg_pred<boost::detail::is_iterator_category<boost::forward_traversal_tag> >::assert_arg_pred()" location="f122:141" file="f122" line="141" inline="1"/>
+  <Typedef id="_8384" name="type" type="_1042" context="_3238" access="public" location="f122:138" file="f122" line="138"/>
+  <Constructor id="_8385" name="assert_arg_pred_impl" artificial="1" throw="" context="_3238" access="public" mangled="_ZN4mpl_20assert_arg_pred_implILb1EEC1ERKS1_ *INTERNAL* " demangled="mpl_::assert_arg_pred_impl<true>::assert_arg_pred_impl(mpl_::assert_arg_pred_impl<true> const&)" location="f122:138" file="f122" line="138" inline="1">
+    <Argument name="_ctor_arg" type="_11986" location="f122:138" file="f122" line="138"/>
+  </Constructor>
+  <Constructor id="_8386" name="assert_arg_pred_impl" explicit="1" artificial="1" throw="" context="_3238" access="public" mangled="_ZN4mpl_20assert_arg_pred_implILb1EEC1Ev *INTERNAL* " demangled="mpl_::assert_arg_pred_impl<true>::assert_arg_pred_impl()" location="f122:138" file="f122" line="138" inline="1"/>
+  <Typedef id="_8387" name="type" type="_503" context="_3239" access="public" location="f122:137" file="f122" line="137"/>
+  <Constructor id="_8388" name="assert_arg_pred_impl" artificial="1" throw="" context="_3239" access="public" mangled="_ZN4mpl_20assert_arg_pred_implILb0EEC1ERKS1_ *INTERNAL* " demangled="mpl_::assert_arg_pred_impl<false>::assert_arg_pred_impl(mpl_::assert_arg_pred_impl<false> const&)" location="f122:137" file="f122" line="137" inline="1">
+    <Argument name="_ctor_arg" type="_11987" location="f122:137" file="f122" line="137"/>
+  </Constructor>
+  <Constructor id="_8389" name="assert_arg_pred_impl" explicit="1" artificial="1" throw="" context="_3239" access="public" mangled="_ZN4mpl_20assert_arg_pred_implILb0EEC1Ev *INTERNAL* " demangled="mpl_::assert_arg_pred_impl<false>::assert_arg_pred_impl()" location="f122:137" file="f122" line="137" inline="1"/>
+  <ReferenceType id="_8390" type="_11988" size="32" align="32"/>
+  <ReferenceType id="_8391" type="_11989" size="32" align="32"/>
+  <ReferenceType id="_8392" type="_8285" size="32" align="32"/>
+  <ReferenceType id="_8393" type="_9946" size="32" align="32"/>
+  <ReferenceType id="_8394" type="_3286" size="32" align="32"/>
+  <ReferenceType id="_8395" type="_8273" size="32" align="32"/>
+  <Variable id="_8396" name="arg" type="_3246c" context="_3246" access="public" mangled="_ZN4mpl_7assert_3argE" demangled="mpl_::assert_::arg" location="f122:98" file="f122" line="98" extern="1"/>
+  <Enumeration id="_8397" name="relations" context="_3246" access="public" location="f122:99" file="f122" line="99" artificial="1" size="32" align="32">
+    <EnumValue name="equal" init="1"/>
+    <EnumValue name="not_equal" init="2"/>
+    <EnumValue name="greater" init="3"/>
+    <EnumValue name="greater_equal" init="4"/>
+    <EnumValue name="less" init="5"/>
+    <EnumValue name="less_equal" init="6"/>
+  </Enumeration>
+  <Constructor id="_8398" name="assert_" artificial="1" throw="" context="_3246" access="public" mangled="_ZN4mpl_7assert_C1ERKS0_ *INTERNAL* " demangled="mpl_::assert_::assert_(mpl_::assert_ const&)" location="f122:94" file="f122" line="94" inline="1">
+    <Argument name="_ctor_arg" type="_11991" location="f122:94" file="f122" line="94"/>
+  </Constructor>
+  <Constructor id="_8399" name="assert_" explicit="1" artificial="1" throw="" context="_3246" access="public" mangled="_ZN4mpl_7assert_C1Ev *INTERNAL* " demangled="mpl_::assert_::assert_()" location="f122:94" file="f122" line="94" inline="1"/>
+  <Constructor id="_8400" name="assertion" artificial="1" throw="" context="_3247" access="public" mangled="_ZN4mpl_9assertionILb1EEC1ERKS1_ *INTERNAL* " demangled="mpl_::assertion<true>::assertion(mpl_::assertion<true> const&)" location="f122:89" file="f122" line="89" inline="1">
+    <Argument name="_ctor_arg" type="_11992" location="f122:89" file="f122" line="89"/>
+  </Constructor>
+  <Constructor id="_8401" name="assertion" explicit="1" artificial="1" throw="" context="_3247" access="public" mangled="_ZN4mpl_9assertionILb1EEC1Ev *INTERNAL* " demangled="mpl_::assertion<true>::assertion()" location="f122:89" file="f122" line="89" inline="1"/>
+  <Method id="_8402" name="failed" returns="_503" static="1" context="_3247" access="public" mangled="_ZN4mpl_9assertionILb1EE6failedEPv" demangled="mpl_::assertion<true>::failed(void*)" location="f122:90" file="f122" line="90" extern="1">
+    <Argument type="_1042" location="f122:90" file="f122" line="90"/>
+  </Method>
+  <Constructor id="_8403" name="assert" artificial="1" throw="" context="_3249" access="public" mangled="_ZN4mpl_6assertILb0EEC1ERKS1_ *INTERNAL* " demangled="mpl_::assert<false>::assert(mpl_::assert<false> const&)" location="f122:76" file="f122" line="76" inline="1">
+    <Argument name="_ctor_arg" type="_11993" location="f122:76" file="f122" line="76"/>
+  </Constructor>
+  <Constructor id="_8404" name="assert" explicit="1" artificial="1" throw="" context="_3249" access="public" mangled="_ZN4mpl_6assertILb0EEC1Ev *INTERNAL* " demangled="mpl_::assert<false>::assert()" location="f122:76" file="f122" line="76" inline="1"/>
+  <Constructor id="_8405" name="failed" artificial="1" throw="" context="_3250" access="public" mangled="_ZN4mpl_6failedC1ERKS0_ *INTERNAL* " demangled="mpl_::failed::failed(mpl_::failed const&)" location="f122:64" file="f122" line="64" inline="1">
+    <Argument name="_ctor_arg" type="_11994" location="f122:64" file="f122" line="64"/>
+  </Constructor>
+  <Constructor id="_8406" name="failed" explicit="1" artificial="1" throw="" context="_3250" access="public" mangled="_ZN4mpl_6failedC1Ev *INTERNAL* " demangled="mpl_::failed::failed()" location="f122:64" file="f122" line="64" inline="1"/>
+  <Enumeration id="_8407" name="._85" context="_3251" access="public" location="f123:25" file="f123" line="25" artificial="1" size="32" align="32">
+    <EnumValue name="value" init="0"/>
+  </Enumeration>
+  <Constructor id="_8408" name="na" artificial="1" throw="" context="_3251" access="public" mangled="_ZN4mpl_2naC1ERKS0_ *INTERNAL* " demangled="mpl_::na::na(mpl_::na const&)" location="f123:23" file="f123" line="23" inline="1">
+    <Argument name="_ctor_arg" type="_11995" location="f123:23" file="f123" line="23"/>
+  </Constructor>
+  <Constructor id="_8409" name="na" explicit="1" artificial="1" throw="" context="_3251" access="public" mangled="_ZN4mpl_2naC1Ev *INTERNAL* " demangled="mpl_::na::na()" location="f123:23" file="f123" line="23" inline="1"/>
+  <Constructor id="_8410" name="void_" artificial="1" throw="" context="_3252" access="public" mangled="_ZN4mpl_5void_C1ERKS0_ *INTERNAL* " demangled="mpl_::void_::void_(mpl_::void_ const&)" location="f124:29" file="f124" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_11996" location="f124:29" file="f124" line="29"/>
+  </Constructor>
+  <Constructor id="_8411" name="void_" explicit="1" artificial="1" throw="" context="_3252" access="public" mangled="_ZN4mpl_5void_C1Ev *INTERNAL* " demangled="mpl_::void_::void_()" location="f124:29" file="f124" line="29" inline="1"/>
+  <Variable id="_8412" name="value" type="_1698c" init="4" context="_3253" access="public" mangled="_ZN4mpl_10integral_cIjLj4EE5valueE" demangled="mpl_::integral_c<unsigned, 4>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8413" name="value_type" type="_1698" context="_3253" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8414" name="tag" type="_3264" context="_3253" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8415" name="next" type="_3255" context="_3253" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8416" name="prior" type="_3254" context="_3253" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8417" name="integral_c" artificial="1" throw="" context="_3253" access="public" mangled="_ZN4mpl_10integral_cIjLj4EEC1ERKS1_ *INTERNAL* " demangled="mpl_::integral_c<unsigned, 4>::integral_c(mpl_::integral_c<unsigned, 4> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_11997" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8418" name="integral_c" explicit="1" artificial="1" throw="" context="_3253" access="public" mangled="_ZN4mpl_10integral_cIjLj4EEC1Ev *INTERNAL* " demangled="mpl_::integral_c<unsigned, 4>::integral_c()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8419" name="operator 21" returns="_1698" const="1" context="_3253" access="public" mangled="_ZNK4mpl_10integral_cIjLj4EEcvjEv" demangled="mpl_::integral_c<unsigned, 4>::operator unsigned() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8420" name="value" type="_1698c" init="0" context="_3256" access="public" mangled="_ZN4mpl_10integral_cIjLj0EE5valueE" demangled="mpl_::integral_c<unsigned, 0>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8421" name="value_type" type="_1698" context="_3256" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8422" name="tag" type="_3264" context="_3256" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8423" name="next" type="_3258" context="_3256" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8424" name="prior" type="_3257" context="_3256" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8425" name="integral_c" artificial="1" throw="" context="_3256" access="public" mangled="_ZN4mpl_10integral_cIjLj0EEC1ERKS1_ *INTERNAL* " demangled="mpl_::integral_c<unsigned, 0>::integral_c(mpl_::integral_c<unsigned, 0> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_11998" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8426" name="integral_c" explicit="1" artificial="1" throw="" context="_3256" access="public" mangled="_ZN4mpl_10integral_cIjLj0EEC1Ev *INTERNAL* " demangled="mpl_::integral_c<unsigned, 0>::integral_c()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8427" name="operator 21" returns="_1698" const="1" context="_3256" access="public" mangled="_ZNK4mpl_10integral_cIjLj0EEcvjEv" demangled="mpl_::integral_c<unsigned, 0>::operator unsigned() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8428" name="value" type="_3949c" init="false" context="_3259" access="public" mangled="_ZN4mpl_5bool_ILb0EE5valueE" demangled="mpl_::bool_<false>::value" location="f126:25" file="f126" line="25"/>
+  <Typedef id="_8429" name="tag" type="_3264" context="_3259" access="public" location="f126:26" file="f126" line="26"/>
+  <Typedef id="_8430" name="value_type" type="_3949" context="_3259" access="public" location="f126:28" file="f126" line="28"/>
+  <Constructor id="_8431" name="bool_" artificial="1" throw="" context="_3259" access="public" mangled="_ZN4mpl_5bool_ILb0EEC1ERKS1_ *INTERNAL* " demangled="mpl_::bool_<false>::bool_(mpl_::bool_<false> const&)" location="f125:21" file="f125" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_11999" location="f125:21" file="f125" line="21"/>
+  </Constructor>
+  <Constructor id="_8432" name="bool_" explicit="1" artificial="1" throw="" context="_3259" access="public" mangled="_ZN4mpl_5bool_ILb0EEC1Ev *INTERNAL* " demangled="mpl_::bool_<false>::bool_()" location="f125:21" file="f125" line="21" inline="1"/>
+  <Converter id="_8433" name="operator 5" returns="_3949" const="1" context="_3259" access="public" mangled="_ZNK4mpl_5bool_ILb0EEcvbEv" demangled="mpl_::bool_<false>::operator bool() const" location="f126:29" file="f126" line="29" extern="1" inline="1"/>
+  <Variable id="_8434" name="value" type="_3949c" init="true" context="_3261" access="public" mangled="_ZN4mpl_5bool_ILb1EE5valueE" demangled="mpl_::bool_<true>::value" location="f126:25" file="f126" line="25"/>
+  <Typedef id="_8435" name="tag" type="_3264" context="_3261" access="public" location="f126:26" file="f126" line="26"/>
+  <Typedef id="_8436" name="value_type" type="_3949" context="_3261" access="public" location="f126:28" file="f126" line="28"/>
+  <Constructor id="_8437" name="bool_" artificial="1" throw="" context="_3261" access="public" mangled="_ZN4mpl_5bool_ILb1EEC1ERKS1_ *INTERNAL* " demangled="mpl_::bool_<true>::bool_(mpl_::bool_<true> const&)" location="f125:21" file="f125" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_12000" location="f125:21" file="f125" line="21"/>
+  </Constructor>
+  <Constructor id="_8438" name="bool_" explicit="1" artificial="1" throw="" context="_3261" access="public" mangled="_ZN4mpl_5bool_ILb1EEC1Ev *INTERNAL* " demangled="mpl_::bool_<true>::bool_()" location="f125:21" file="f125" line="21" inline="1"/>
+  <Converter id="_8439" name="operator 5" returns="_3949" const="1" context="_3261" access="public" mangled="_ZNK4mpl_5bool_ILb1EEcvbEv" demangled="mpl_::bool_<true>::operator bool() const" location="f126:29" file="f126" line="29" extern="1" inline="1"/>
+  <Variable id="_8440" name="value" type="_3949c" init="C_" context="_0" access="public" mangled="_ZN4mpl_5bool_IXT_EE5valueE" location="f126:25" file="f126" line="25"/>
+  <Typedef id="_8441" name="tag" type="_3264" context="_0" access="public" location="f126:26" file="f126" line="26"/>
+  <Typedef id="_8442" name="value_type" type="_3949" context="_0" access="public" location="f126:28" file="f126" line="28"/>
+  <Converter id="_8443" name="operator 5" returns="_3949" const="1" context="_0" access="public" mangled="_ZNK4mpl_5bool_IXT_EEcvbEv" location="f126:29" file="f126" line="29" endline="29" inline="1"/>
+  <Variable id="_8444" name="value" type="_503c" init="0" context="_3264" access="public" mangled="_ZN4mpl_14integral_c_tag5valueE" demangled="mpl_::integral_c_tag::value" location="f127:22" file="f127" line="22" extern="1"/>
+  <Constructor id="_8445" name="integral_c_tag" artificial="1" throw="" context="_3264" access="public" mangled="_ZN4mpl_14integral_c_tagC1ERKS0_ *INTERNAL* " demangled="mpl_::integral_c_tag::integral_c_tag(mpl_::integral_c_tag const&)" location="f127:22" file="f127" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12001" location="f127:22" file="f127" line="22"/>
+  </Constructor>
+  <Constructor id="_8446" name="integral_c_tag" explicit="1" artificial="1" throw="" context="_3264" access="public" mangled="_ZN4mpl_14integral_c_tagC1Ev *INTERNAL* " demangled="mpl_::integral_c_tag::integral_c_tag()" location="f127:22" file="f127" line="22" inline="1"/>
+  <Variable id="_8447" name="value" type="_503c" init="-1" context="_3265" access="public" mangled="_ZN4mpl_4int_ILin1EE5valueE" demangled="mpl_::int_<-1>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8448" name="value_type" type="_503" context="_3265" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8449" name="tag" type="_3264" context="_3265" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8450" name="next" type="_3279" context="_3265" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8451" name="prior" type="_3280" context="_3265" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8452" name="int_" artificial="1" throw="" context="_3265" access="public" mangled="_ZN4mpl_4int_ILin1EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<-1>::int_(mpl_::int_<-1> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12002" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8453" name="int_" explicit="1" artificial="1" throw="" context="_3265" access="public" mangled="_ZN4mpl_4int_ILin1EEC1Ev *INTERNAL* " demangled="mpl_::int_<-1>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8454" name="operator 12" returns="_503" const="1" context="_3265" access="public" mangled="_ZNK4mpl_4int_ILin1EEcviEv" demangled="mpl_::int_<-1>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8455" name="value" type="_503c" init="3" context="_3266" access="public" mangled="_ZN4mpl_4int_ILi3EE5valueE" demangled="mpl_::int_<3>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8456" name="value_type" type="_503" context="_3266" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8457" name="tag" type="_3264" context="_3266" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8458" name="next" type="_3270" context="_3266" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8459" name="prior" type="_3271" context="_3266" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8460" name="int_" artificial="1" throw="" context="_3266" access="public" mangled="_ZN4mpl_4int_ILi3EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<3>::int_(mpl_::int_<3> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12003" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8461" name="int_" explicit="1" artificial="1" throw="" context="_3266" access="public" mangled="_ZN4mpl_4int_ILi3EEC1Ev *INTERNAL* " demangled="mpl_::int_<3>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8462" name="operator 12" returns="_503" const="1" context="_3266" access="public" mangled="_ZNK4mpl_4int_ILi3EEcviEv" demangled="mpl_::int_<3>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8463" name="value" type="_503c" init="6" context="_3267" access="public" mangled="_ZN4mpl_4int_ILi6EE5valueE" demangled="mpl_::int_<6>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8464" name="value_type" type="_503" context="_3267" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8465" name="tag" type="_3264" context="_3267" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8466" name="next" type="_3278" context="_3267" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8467" name="prior" type="_3269" context="_3267" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8468" name="int_" artificial="1" throw="" context="_3267" access="public" mangled="_ZN4mpl_4int_ILi6EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<6>::int_(mpl_::int_<6> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12004" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8469" name="int_" explicit="1" artificial="1" throw="" context="_3267" access="public" mangled="_ZN4mpl_4int_ILi6EEC1Ev *INTERNAL* " demangled="mpl_::int_<6>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8470" name="operator 12" returns="_503" const="1" context="_3267" access="public" mangled="_ZNK4mpl_4int_ILi6EEcviEv" demangled="mpl_::int_<6>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8471" name="value" type="_503c" init="1" context="_3268" access="public" mangled="_ZN4mpl_4int_ILi1EE5valueE" demangled="mpl_::int_<1>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8472" name="value_type" type="_503" context="_3268" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8473" name="tag" type="_3264" context="_3268" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8474" name="next" type="_3271" context="_3268" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8475" name="prior" type="_3279" context="_3268" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8476" name="int_" artificial="1" throw="" context="_3268" access="public" mangled="_ZN4mpl_4int_ILi1EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<1>::int_(mpl_::int_<1> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12005" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8477" name="int_" explicit="1" artificial="1" throw="" context="_3268" access="public" mangled="_ZN4mpl_4int_ILi1EEC1Ev *INTERNAL* " demangled="mpl_::int_<1>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8478" name="operator 12" returns="_503" const="1" context="_3268" access="public" mangled="_ZNK4mpl_4int_ILi1EEcviEv" demangled="mpl_::int_<1>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8479" name="value" type="_503c" init="5" context="_3269" access="public" mangled="_ZN4mpl_4int_ILi5EE5valueE" demangled="mpl_::int_<5>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8480" name="value_type" type="_503" context="_3269" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8481" name="tag" type="_3264" context="_3269" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8482" name="next" type="_3267" context="_3269" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8483" name="prior" type="_3270" context="_3269" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8484" name="int_" artificial="1" throw="" context="_3269" access="public" mangled="_ZN4mpl_4int_ILi5EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<5>::int_(mpl_::int_<5> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12006" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8485" name="int_" explicit="1" artificial="1" throw="" context="_3269" access="public" mangled="_ZN4mpl_4int_ILi5EEC1Ev *INTERNAL* " demangled="mpl_::int_<5>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8486" name="operator 12" returns="_503" const="1" context="_3269" access="public" mangled="_ZNK4mpl_4int_ILi5EEcviEv" demangled="mpl_::int_<5>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8487" name="value" type="_503c" init="4" context="_3270" access="public" mangled="_ZN4mpl_4int_ILi4EE5valueE" demangled="mpl_::int_<4>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8488" name="value_type" type="_503" context="_3270" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8489" name="tag" type="_3264" context="_3270" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8490" name="next" type="_3269" context="_3270" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8491" name="prior" type="_3266" context="_3270" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8492" name="int_" artificial="1" throw="" context="_3270" access="public" mangled="_ZN4mpl_4int_ILi4EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<4>::int_(mpl_::int_<4> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12007" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8493" name="int_" explicit="1" artificial="1" throw="" context="_3270" access="public" mangled="_ZN4mpl_4int_ILi4EEC1Ev *INTERNAL* " demangled="mpl_::int_<4>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8494" name="operator 12" returns="_503" const="1" context="_3270" access="public" mangled="_ZNK4mpl_4int_ILi4EEcviEv" demangled="mpl_::int_<4>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8495" name="value" type="_503c" init="2" context="_3271" access="public" mangled="_ZN4mpl_4int_ILi2EE5valueE" demangled="mpl_::int_<2>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8496" name="value_type" type="_503" context="_3271" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8497" name="tag" type="_3264" context="_3271" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8498" name="next" type="_3266" context="_3271" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8499" name="prior" type="_3268" context="_3271" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8500" name="int_" artificial="1" throw="" context="_3271" access="public" mangled="_ZN4mpl_4int_ILi2EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<2>::int_(mpl_::int_<2> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12008" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8501" name="int_" explicit="1" artificial="1" throw="" context="_3271" access="public" mangled="_ZN4mpl_4int_ILi2EEC1Ev *INTERNAL* " demangled="mpl_::int_<2>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8502" name="operator 12" returns="_503" const="1" context="_3271" access="public" mangled="_ZNK4mpl_4int_ILi2EEcviEv" demangled="mpl_::int_<2>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8503" name="value" type="_503c" init="12" context="_3272" access="public" mangled="_ZN4mpl_4int_ILi12EE5valueE" demangled="mpl_::int_<12>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8504" name="value_type" type="_503" context="_3272" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8505" name="tag" type="_3264" context="_3272" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8506" name="next" type="_3274" context="_3272" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8507" name="prior" type="_3273" context="_3272" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8508" name="int_" artificial="1" throw="" context="_3272" access="public" mangled="_ZN4mpl_4int_ILi12EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<12>::int_(mpl_::int_<12> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12009" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8509" name="int_" explicit="1" artificial="1" throw="" context="_3272" access="public" mangled="_ZN4mpl_4int_ILi12EEC1Ev *INTERNAL* " demangled="mpl_::int_<12>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8510" name="operator 12" returns="_503" const="1" context="_3272" access="public" mangled="_ZNK4mpl_4int_ILi12EEcviEv" demangled="mpl_::int_<12>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8511" name="value" type="_503c" init="11" context="_3273" access="public" mangled="_ZN4mpl_4int_ILi11EE5valueE" demangled="mpl_::int_<11>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8512" name="value_type" type="_503" context="_3273" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8513" name="tag" type="_3264" context="_3273" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8514" name="next" type="_3272" context="_3273" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8515" name="prior" type="_3275" context="_3273" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8516" name="int_" artificial="1" throw="" context="_3273" access="public" mangled="_ZN4mpl_4int_ILi11EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<11>::int_(mpl_::int_<11> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12010" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8517" name="int_" explicit="1" artificial="1" throw="" context="_3273" access="public" mangled="_ZN4mpl_4int_ILi11EEC1Ev *INTERNAL* " demangled="mpl_::int_<11>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8518" name="operator 12" returns="_503" const="1" context="_3273" access="public" mangled="_ZNK4mpl_4int_ILi11EEcviEv" demangled="mpl_::int_<11>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8519" name="value" type="_503c" init="10" context="_3275" access="public" mangled="_ZN4mpl_4int_ILi10EE5valueE" demangled="mpl_::int_<10>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8520" name="value_type" type="_503" context="_3275" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8521" name="tag" type="_3264" context="_3275" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8522" name="next" type="_3273" context="_3275" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8523" name="prior" type="_3276" context="_3275" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8524" name="int_" artificial="1" throw="" context="_3275" access="public" mangled="_ZN4mpl_4int_ILi10EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<10>::int_(mpl_::int_<10> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12011" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8525" name="int_" explicit="1" artificial="1" throw="" context="_3275" access="public" mangled="_ZN4mpl_4int_ILi10EEC1Ev *INTERNAL* " demangled="mpl_::int_<10>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8526" name="operator 12" returns="_503" const="1" context="_3275" access="public" mangled="_ZNK4mpl_4int_ILi10EEcviEv" demangled="mpl_::int_<10>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8527" name="value" type="_503c" init="9" context="_3276" access="public" mangled="_ZN4mpl_4int_ILi9EE5valueE" demangled="mpl_::int_<9>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8528" name="value_type" type="_503" context="_3276" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8529" name="tag" type="_3264" context="_3276" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8530" name="next" type="_3275" context="_3276" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8531" name="prior" type="_3277" context="_3276" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8532" name="int_" artificial="1" throw="" context="_3276" access="public" mangled="_ZN4mpl_4int_ILi9EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<9>::int_(mpl_::int_<9> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12012" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8533" name="int_" explicit="1" artificial="1" throw="" context="_3276" access="public" mangled="_ZN4mpl_4int_ILi9EEC1Ev *INTERNAL* " demangled="mpl_::int_<9>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8534" name="operator 12" returns="_503" const="1" context="_3276" access="public" mangled="_ZNK4mpl_4int_ILi9EEcviEv" demangled="mpl_::int_<9>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8535" name="value" type="_503c" init="8" context="_3277" access="public" mangled="_ZN4mpl_4int_ILi8EE5valueE" demangled="mpl_::int_<8>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8536" name="value_type" type="_503" context="_3277" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8537" name="tag" type="_3264" context="_3277" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8538" name="next" type="_3276" context="_3277" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8539" name="prior" type="_3278" context="_3277" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8540" name="int_" artificial="1" throw="" context="_3277" access="public" mangled="_ZN4mpl_4int_ILi8EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<8>::int_(mpl_::int_<8> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12013" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8541" name="int_" explicit="1" artificial="1" throw="" context="_3277" access="public" mangled="_ZN4mpl_4int_ILi8EEC1Ev *INTERNAL* " demangled="mpl_::int_<8>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8542" name="operator 12" returns="_503" const="1" context="_3277" access="public" mangled="_ZNK4mpl_4int_ILi8EEcviEv" demangled="mpl_::int_<8>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <Variable id="_8543" name="value" type="_503c" init="7" context="_3278" access="public" mangled="_ZN4mpl_4int_ILi7EE5valueE" demangled="mpl_::int_<7>::value" location="f118:45" file="f118" line="45"/>
+  <Typedef id="_8544" name="value_type" type="_503" context="_3278" access="public" location="f118:53" file="f118" line="53"/>
+  <Typedef id="_8545" name="tag" type="_3264" context="_3278" access="public" location="f118:54" file="f118" line="54"/>
+  <Typedef id="_8546" name="next" type="_3277" context="_3278" access="public" location="f118:72" file="f118" line="72"/>
+  <Typedef id="_8547" name="prior" type="_3267" context="_3278" access="public" location="f118:73" file="f118" line="73"/>
+  <Constructor id="_8548" name="int_" artificial="1" throw="" context="_3278" access="public" mangled="_ZN4mpl_4int_ILi7EEC1ERKS1_ *INTERNAL* " demangled="mpl_::int_<7>::int_(mpl_::int_<7> const&)" location="f118:44" file="f118" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_12014" location="f118:44" file="f118" line="44"/>
+  </Constructor>
+  <Constructor id="_8549" name="int_" explicit="1" artificial="1" throw="" context="_3278" access="public" mangled="_ZN4mpl_4int_ILi7EEC1Ev *INTERNAL* " demangled="mpl_::int_<7>::int_()" location="f118:44" file="f118" line="44" inline="1"/>
+  <Converter id="_8550" name="operator 12" returns="_503" const="1" context="_3278" access="public" mangled="_ZNK4mpl_4int_ILi7EEcviEv" demangled="mpl_::int_<7>::operator int() const" location="f118:80" file="f118" line="80" extern="1" inline="1"/>
+  <ReferenceType id="_8551" type="_3287" size="32" align="32"/>
+  <PointerType id="_8552" type="_12015" size="32" align="32"/>
+  <ReferenceType id="_8553" type="_3294c" size="32" align="32"/>
+  <ReferenceType id="_8554" type="_3292c" size="32" align="32"/>
+  <Typedef id="_8555" name="size_type" type="_1698" context="_3291" access="public" location="f128:53" file="f128" line="53"/>
+  <Typedef id="_8556" name="difference_type" type="_1699" context="_3291" access="public" location="f128:54" file="f128" line="54"/>
+  <Typedef id="_8557" name="pointer" type="_4014" context="_3291" access="public" location="f128:55" file="f128" line="55"/>
+  <Typedef id="_8558" name="const_pointer" type="_4016" context="_3291" access="public" location="f128:56" file="f128" line="56"/>
+  <Typedef id="_8559" name="reference" type="_4018" context="_3291" access="public" location="f128:57" file="f128" line="57"/>
+  <Typedef id="_8560" name="const_reference" type="_4020" context="_3291" access="public" location="f128:58" file="f128" line="58"/>
+  <Typedef id="_8561" name="value_type" type="_2509" context="_3291" access="public" location="f128:59" file="f128" line="59"/>
+  <Constructor id="_8562" name="new_allocator" explicit="1" throw="" context="_3291" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISsEC1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::string>::new_allocator()" location="f128:65" file="f128" line="65" endline="65" inline="1"/>
+  <Constructor id="_8563" name="new_allocator" throw="" context="_3291" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISsEC1ERKS1_ *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::string>::new_allocator(__gnu_cxx::new_allocator<std::string> const&)" location="f128:67" file="f128" line="67" endline="67" inline="1">
+    <Argument type="_12018" location="f128:67" file="f128" line="67"/>
+  </Constructor>
+  <Destructor id="_8564" name="new_allocator" throw="" context="_3291" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISsED1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::string>::~new_allocator()" location="f128:72" file="f128" line="72" endline="72" inline="1">
+  </Destructor>
+  <Method id="_8565" name="address" returns="_4014" const="1" context="_3291" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISsE7addressERSs" demangled="__gnu_cxx::new_allocator<std::string>::address(std::string&) const" location="f128:75" file="f128" line="75" extern="1" inline="1">
+    <Argument name="__x" type="_4018" location="f128:75" file="f128" line="75"/>
+  </Method>
+  <Method id="_8566" name="address" returns="_4016" const="1" context="_3291" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISsE7addressERKSs" demangled="__gnu_cxx::new_allocator<std::string>::address(std::string const&) const" location="f128:78" file="f128" line="78" extern="1" inline="1">
+    <Argument name="__x" type="_4020" location="f128:78" file="f128" line="78"/>
+  </Method>
+  <Method id="_8567" name="allocate" returns="_4014" context="_3291" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISsE8allocateEjPKv" demangled="__gnu_cxx::new_allocator<std::string>::allocate(unsigned, void const*)" location="f128:84" file="f128" line="84" endline="88" inline="1">
+    <Argument name="__n" type="_1698" location="f128:84" file="f128" line="84"/>
+    <Argument type="_2807" location="f128:84" file="f128" line="84" default="0"/>
+  </Method>
+  <Method id="_8568" name="deallocate" returns="_1194" context="_3291" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISsE10deallocateEPSsj" demangled="__gnu_cxx::new_allocator<std::string>::deallocate(std::string*, unsigned)" location="f128:94" file="f128" line="94" endline="94" inline="1">
+    <Argument name="__p" type="_4014" location="f128:94" file="f128" line="94"/>
+    <Argument type="_1698" location="f128:94" file="f128" line="94"/>
+  </Method>
+  <Method id="_8569" name="max_size" returns="_1698" const="1" throw="" context="_3291" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISsE8max_sizeEv" demangled="__gnu_cxx::new_allocator<std::string>::max_size() const" location="f128:98" file="f128" line="98" endline="98" inline="1"/>
+  <Method id="_8570" name="construct" returns="_1194" context="_3291" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISsE9constructEPSsRKSs" demangled="__gnu_cxx::new_allocator<std::string>::construct(std::string*, std::string const&)" location="f128:104" file="f128" line="104" endline="104" inline="1">
+    <Argument name="__p" type="_4014" location="f128:104" file="f128" line="104"/>
+    <Argument name="__val" type="_4020" location="f128:104" file="f128" line="104"/>
+  </Method>
+  <Method id="_8571" name="destroy" returns="_1194" context="_3291" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISsE7destroyEPSs" demangled="__gnu_cxx::new_allocator<std::string>::destroy(std::string*)" location="f128:107" file="f128" line="107" extern="1" inline="1">
+    <Argument name="__p" type="_4014" location="f128:107" file="f128" line="107"/>
+  </Method>
+  <Typedef id="_8572" name="size_type" type="_1698" context="_3292" access="public" location="f128:53" file="f128" line="53"/>
+  <Typedef id="_8573" name="difference_type" type="_1699" context="_3292" access="public" location="f128:54" file="f128" line="54"/>
+  <Typedef id="_8574" name="pointer" type="_1149" context="_3292" access="public" location="f128:55" file="f128" line="55"/>
+  <Typedef id="_8575" name="const_pointer" type="_2749" context="_3292" access="public" location="f128:56" file="f128" line="56"/>
+  <Typedef id="_8576" name="reference" type="_4163" context="_3292" access="public" location="f128:57" file="f128" line="57"/>
+  <Typedef id="_8577" name="const_reference" type="_4165" context="_3292" access="public" location="f128:58" file="f128" line="58"/>
+  <Typedef id="_8578" name="value_type" type="_2961" context="_3292" access="public" location="f128:59" file="f128" line="59"/>
+  <Constructor id="_8579" name="new_allocator" explicit="1" throw="" context="_3292" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIcEC1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<char>::new_allocator()" location="f128:65" file="f128" line="65" endline="65" inline="1"/>
+  <Constructor id="_8580" name="new_allocator" throw="" context="_3292" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIcEC1ERKS1_ *INTERNAL* " demangled="__gnu_cxx::new_allocator<char>::new_allocator(__gnu_cxx::new_allocator<char> const&)" location="f128:67" file="f128" line="67" endline="67" inline="1">
+    <Argument type="_8554" location="f128:67" file="f128" line="67"/>
+  </Constructor>
+  <Destructor id="_8581" name="new_allocator" throw="" context="_3292" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIcED1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<char>::~new_allocator()" location="f128:72" file="f128" line="72" endline="72" inline="1">
+  </Destructor>
+  <Method id="_8582" name="address" returns="_1149" const="1" context="_3292" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIcE7addressERc" demangled="__gnu_cxx::new_allocator<char>::address(char&) const" location="f128:75" file="f128" line="75" extern="1" inline="1">
+    <Argument name="__x" type="_4163" location="f128:75" file="f128" line="75"/>
+  </Method>
+  <Method id="_8583" name="address" returns="_2749" const="1" context="_3292" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIcE7addressERKc" demangled="__gnu_cxx::new_allocator<char>::address(char const&) const" location="f128:78" file="f128" line="78" extern="1" inline="1">
+    <Argument name="__x" type="_4165" location="f128:78" file="f128" line="78"/>
+  </Method>
+  <Method id="_8584" name="allocate" returns="_1149" context="_3292" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIcE8allocateEjPKv" demangled="__gnu_cxx::new_allocator<char>::allocate(unsigned, void const*)" location="f128:84" file="f128" line="84" endline="88" inline="1">
+    <Argument name="__n" type="_1698" location="f128:84" file="f128" line="84"/>
+    <Argument type="_2807" location="f128:84" file="f128" line="84" default="0"/>
+  </Method>
+  <Method id="_8585" name="deallocate" returns="_1194" context="_3292" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIcE10deallocateEPcj" demangled="__gnu_cxx::new_allocator<char>::deallocate(char*, unsigned)" location="f128:94" file="f128" line="94" endline="94" inline="1">
+    <Argument name="__p" type="_1149" location="f128:94" file="f128" line="94"/>
+    <Argument type="_1698" location="f128:94" file="f128" line="94"/>
+  </Method>
+  <Method id="_8586" name="max_size" returns="_1698" const="1" throw="" context="_3292" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv" demangled="__gnu_cxx::new_allocator<char>::max_size() const" location="f128:98" file="f128" line="98" endline="98" inline="1"/>
+  <Method id="_8587" name="construct" returns="_1194" context="_3292" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIcE9constructEPcRKc" demangled="__gnu_cxx::new_allocator<char>::construct(char*, char const&)" location="f128:104" file="f128" line="104" endline="104" inline="1">
+    <Argument name="__p" type="_1149" location="f128:104" file="f128" line="104"/>
+    <Argument name="__val" type="_4165" location="f128:104" file="f128" line="104"/>
+  </Method>
+  <Method id="_8588" name="destroy" returns="_1194" context="_3292" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIcE7destroyEPc" demangled="__gnu_cxx::new_allocator<char>::destroy(char*)" location="f128:107" file="f128" line="107" endline="107" inline="1">
+    <Argument name="__p" type="_1149" location="f128:107" file="f128" line="107"/>
+  </Method>
+  <Typedef id="_8589" name="size_type" type="_1698" context="_3293" access="public" location="f128:53" file="f128" line="53"/>
+  <Typedef id="_8590" name="difference_type" type="_1699" context="_3293" access="public" location="f128:54" file="f128" line="54"/>
+  <Typedef id="_8591" name="pointer" type="_2935" context="_3293" access="public" location="f128:55" file="f128" line="55"/>
+  <Typedef id="_8592" name="const_pointer" type="_3093" context="_3293" access="public" location="f128:56" file="f128" line="56"/>
+  <Typedef id="_8593" name="reference" type="_7533" context="_3293" access="public" location="f128:57" file="f128" line="57"/>
+  <Typedef id="_8594" name="const_reference" type="_7535" context="_3293" access="public" location="f128:58" file="f128" line="58"/>
+  <Typedef id="_8595" name="value_type" type="_1149" context="_3293" access="public" location="f128:59" file="f128" line="59"/>
+  <Constructor id="_8596" name="new_allocator" explicit="1" throw="" context="_3293" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIPcEC1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<char*>::new_allocator()" location="f128:65" file="f128" line="65" endline="65" inline="1"/>
+  <Constructor id="_8597" name="new_allocator" throw="" context="_3293" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIPcEC1ERKS2_ *INTERNAL* " demangled="__gnu_cxx::new_allocator<char*>::new_allocator(__gnu_cxx::new_allocator<char*> const&)" location="f128:67" file="f128" line="67" endline="67" inline="1">
+    <Argument type="_12019" location="f128:67" file="f128" line="67"/>
+  </Constructor>
+  <Destructor id="_8598" name="new_allocator" throw="" context="_3293" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIPcED1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<char*>::~new_allocator()" location="f128:72" file="f128" line="72" endline="72" inline="1">
+  </Destructor>
+  <Method id="_8599" name="address" returns="_2935" const="1" context="_3293" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIPcE7addressERS1_" demangled="__gnu_cxx::new_allocator<char*>::address(char*&) const" location="f128:75" file="f128" line="75" extern="1" inline="1">
+    <Argument name="__x" type="_7533" location="f128:75" file="f128" line="75"/>
+  </Method>
+  <Method id="_8600" name="address" returns="_3093" const="1" context="_3293" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIPcE7addressERKS1_" demangled="__gnu_cxx::new_allocator<char*>::address(char* const&) const" location="f128:78" file="f128" line="78" extern="1" inline="1">
+    <Argument name="__x" type="_7535" location="f128:78" file="f128" line="78"/>
+  </Method>
+  <Method id="_8601" name="allocate" returns="_2935" context="_3293" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIPcE8allocateEjPKv" demangled="__gnu_cxx::new_allocator<char*>::allocate(unsigned, void const*)" location="f128:84" file="f128" line="84" endline="88" inline="1">
+    <Argument name="__n" type="_1698" location="f128:84" file="f128" line="84"/>
+    <Argument type="_2807" location="f128:84" file="f128" line="84" default="0"/>
+  </Method>
+  <Method id="_8602" name="deallocate" returns="_1194" context="_3293" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIPcE10deallocateEPS1_j" demangled="__gnu_cxx::new_allocator<char*>::deallocate(char**, unsigned)" location="f128:94" file="f128" line="94" endline="94" inline="1">
+    <Argument name="__p" type="_2935" location="f128:94" file="f128" line="94"/>
+    <Argument type="_1698" location="f128:94" file="f128" line="94"/>
+  </Method>
+  <Method id="_8603" name="max_size" returns="_1698" const="1" throw="" context="_3293" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIPcE8max_sizeEv" demangled="__gnu_cxx::new_allocator<char*>::max_size() const" location="f128:98" file="f128" line="98" endline="98" inline="1"/>
+  <Method id="_8604" name="construct" returns="_1194" context="_3293" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIPcE9constructEPS1_RKS1_" demangled="__gnu_cxx::new_allocator<char*>::construct(char**, char* const&)" location="f128:104" file="f128" line="104" extern="1" inline="1">
+    <Argument name="__p" type="_2935" location="f128:104" file="f128" line="104"/>
+    <Argument name="__val" type="_7535" location="f128:104" file="f128" line="104"/>
+  </Method>
+  <Method id="_8605" name="destroy" returns="_1194" context="_3293" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIPcE7destroyEPS1_" demangled="__gnu_cxx::new_allocator<char*>::destroy(char**)" location="f128:107" file="f128" line="107" extern="1" inline="1">
+    <Argument name="__p" type="_2935" location="f128:107" file="f128" line="107"/>
+  </Method>
+  <Typedef id="_8606" name="size_type" type="_1698" context="_3294" access="public" location="f128:53" file="f128" line="53"/>
+  <Typedef id="_8607" name="difference_type" type="_1699" context="_3294" access="public" location="f128:54" file="f128" line="54"/>
+  <Typedef id="_8608" name="pointer" type="_2778" context="_3294" access="public" location="f128:55" file="f128" line="55"/>
+  <Typedef id="_8609" name="const_pointer" type="_2780" context="_3294" access="public" location="f128:56" file="f128" line="56"/>
+  <Typedef id="_8610" name="reference" type="_7178" context="_3294" access="public" location="f128:57" file="f128" line="57"/>
+  <Typedef id="_8611" name="const_reference" type="_7180" context="_3294" access="public" location="f128:58" file="f128" line="58"/>
+  <Typedef id="_8612" name="value_type" type="_2786" context="_3294" access="public" location="f128:59" file="f128" line="59"/>
+  <Constructor id="_8613" name="new_allocator" explicit="1" throw="" context="_3294" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIwEC1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<wchar_t>::new_allocator()" location="f128:65" file="f128" line="65" endline="65" inline="1"/>
+  <Constructor id="_8614" name="new_allocator" throw="" context="_3294" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIwEC1ERKS1_ *INTERNAL* " demangled="__gnu_cxx::new_allocator<wchar_t>::new_allocator(__gnu_cxx::new_allocator<wchar_t> const&)" location="f128:67" file="f128" line="67" endline="67" inline="1">
+    <Argument type="_8553" location="f128:67" file="f128" line="67"/>
+  </Constructor>
+  <Destructor id="_8615" name="new_allocator" throw="" context="_3294" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIwED1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<wchar_t>::~new_allocator()" location="f128:72" file="f128" line="72" endline="72" inline="1">
+  </Destructor>
+  <Method id="_8616" name="address" returns="_2778" const="1" context="_3294" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIwE7addressERw" demangled="__gnu_cxx::new_allocator<wchar_t>::address(wchar_t&) const" location="f128:75" file="f128" line="75" extern="1" inline="1">
+    <Argument name="__x" type="_7178" location="f128:75" file="f128" line="75"/>
+  </Method>
+  <Method id="_8617" name="address" returns="_2780" const="1" context="_3294" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIwE7addressERKw" demangled="__gnu_cxx::new_allocator<wchar_t>::address(wchar_t const&) const" location="f128:78" file="f128" line="78" extern="1" inline="1">
+    <Argument name="__x" type="_7180" location="f128:78" file="f128" line="78"/>
+  </Method>
+  <Method id="_8618" name="allocate" returns="_2778" context="_3294" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIwE8allocateEjPKv" demangled="__gnu_cxx::new_allocator<wchar_t>::allocate(unsigned, void const*)" location="f128:84" file="f128" line="84" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f128:84" file="f128" line="84"/>
+    <Argument type="_2807" location="f128:84" file="f128" line="84" default="0"/>
+  </Method>
+  <Method id="_8619" name="deallocate" returns="_1194" context="_3294" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIwE10deallocateEPwj" demangled="__gnu_cxx::new_allocator<wchar_t>::deallocate(wchar_t*, unsigned)" location="f128:94" file="f128" line="94" extern="1" inline="1">
+    <Argument name="__p" type="_2778" location="f128:94" file="f128" line="94"/>
+    <Argument type="_1698" location="f128:94" file="f128" line="94"/>
+  </Method>
+  <Method id="_8620" name="max_size" returns="_1698" const="1" throw="" context="_3294" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIwE8max_sizeEv" demangled="__gnu_cxx::new_allocator<wchar_t>::max_size() const" location="f128:98" file="f128" line="98" extern="1" inline="1"/>
+  <Method id="_8621" name="construct" returns="_1194" context="_3294" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIwE9constructEPwRKw" demangled="__gnu_cxx::new_allocator<wchar_t>::construct(wchar_t*, wchar_t const&)" location="f128:104" file="f128" line="104" extern="1" inline="1">
+    <Argument name="__p" type="_2778" location="f128:104" file="f128" line="104"/>
+    <Argument name="__val" type="_7180" location="f128:104" file="f128" line="104"/>
+  </Method>
+  <Method id="_8622" name="destroy" returns="_1194" context="_3294" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIwE7destroyEPw" demangled="__gnu_cxx::new_allocator<wchar_t>::destroy(wchar_t*)" location="f128:107" file="f128" line="107" extern="1" inline="1">
+    <Argument name="__p" type="_2778" location="f128:107" file="f128" line="107"/>
+  </Method>
+  <Typedef id="_8623" name="size_type" type="_1698" context="_3295" access="public" location="f128:53" file="f128" line="53"/>
+  <Typedef id="_8624" name="difference_type" type="_1699" context="_3295" access="public" location="f128:54" file="f128" line="54"/>
+  <Typedef id="_8625" name="pointer" type="_2748" context="_3295" access="public" location="f128:55" file="f128" line="55"/>
+  <Typedef id="_8626" name="const_pointer" type="_4076" context="_3295" access="public" location="f128:56" file="f128" line="56"/>
+  <Typedef id="_8627" name="reference" type="_4078" context="_3295" access="public" location="f128:57" file="f128" line="57"/>
+  <Typedef id="_8628" name="const_reference" type="_4080" context="_3295" access="public" location="f128:58" file="f128" line="58"/>
+  <Typedef id="_8629" name="value_type" type="_503" context="_3295" access="public" location="f128:59" file="f128" line="59"/>
+  <Constructor id="_8630" name="new_allocator" explicit="1" throw="" context="_3295" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIiEC1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<int>::new_allocator()" location="f128:65" file="f128" line="65" endline="65" inline="1"/>
+  <Constructor id="_8631" name="new_allocator" throw="" context="_3295" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIiEC1ERKS1_ *INTERNAL* " demangled="__gnu_cxx::new_allocator<int>::new_allocator(__gnu_cxx::new_allocator<int> const&)" location="f128:67" file="f128" line="67" endline="67" inline="1">
+    <Argument type="_12020" location="f128:67" file="f128" line="67"/>
+  </Constructor>
+  <Destructor id="_8632" name="new_allocator" throw="" context="_3295" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIiED1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<int>::~new_allocator()" location="f128:72" file="f128" line="72" endline="72" inline="1">
+  </Destructor>
+  <Method id="_8633" name="address" returns="_2748" const="1" context="_3295" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIiE7addressERi" demangled="__gnu_cxx::new_allocator<int>::address(int&) const" location="f128:75" file="f128" line="75" extern="1" inline="1">
+    <Argument name="__x" type="_4078" location="f128:75" file="f128" line="75"/>
+  </Method>
+  <Method id="_8634" name="address" returns="_4076" const="1" context="_3295" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIiE7addressERKi" demangled="__gnu_cxx::new_allocator<int>::address(int const&) const" location="f128:78" file="f128" line="78" extern="1" inline="1">
+    <Argument name="__x" type="_4080" location="f128:78" file="f128" line="78"/>
+  </Method>
+  <Method id="_8635" name="allocate" returns="_2748" context="_3295" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIiE8allocateEjPKv" demangled="__gnu_cxx::new_allocator<int>::allocate(unsigned, void const*)" location="f128:84" file="f128" line="84" endline="88" inline="1">
+    <Argument name="__n" type="_1698" location="f128:84" file="f128" line="84"/>
+    <Argument type="_2807" location="f128:84" file="f128" line="84" default="0"/>
+  </Method>
+  <Method id="_8636" name="deallocate" returns="_1194" context="_3295" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIiE10deallocateEPij" demangled="__gnu_cxx::new_allocator<int>::deallocate(int*, unsigned)" location="f128:94" file="f128" line="94" endline="94" inline="1">
+    <Argument name="__p" type="_2748" location="f128:94" file="f128" line="94"/>
+    <Argument type="_1698" location="f128:94" file="f128" line="94"/>
+  </Method>
+  <Method id="_8637" name="max_size" returns="_1698" const="1" throw="" context="_3295" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorIiE8max_sizeEv" demangled="__gnu_cxx::new_allocator<int>::max_size() const" location="f128:98" file="f128" line="98" endline="98" inline="1"/>
+  <Method id="_8638" name="construct" returns="_1194" context="_3295" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIiE9constructEPiRKi" demangled="__gnu_cxx::new_allocator<int>::construct(int*, int const&)" location="f128:104" file="f128" line="104" extern="1" inline="1">
+    <Argument name="__p" type="_2748" location="f128:104" file="f128" line="104"/>
+    <Argument name="__val" type="_4080" location="f128:104" file="f128" line="104"/>
+  </Method>
+  <Method id="_8639" name="destroy" returns="_1194" context="_3295" access="public" mangled="_ZN9__gnu_cxx13new_allocatorIiE7destroyEPi" demangled="__gnu_cxx::new_allocator<int>::destroy(int*)" location="f128:107" file="f128" line="107" extern="1" inline="1">
+    <Argument name="__p" type="_2748" location="f128:107" file="f128" line="107"/>
+  </Method>
+  <Typedef id="_8640" name="size_type" type="_1698" context="_3296" access="public" location="f128:53" file="f128" line="53"/>
+  <Typedef id="_8641" name="difference_type" type="_1699" context="_3296" access="public" location="f128:54" file="f128" line="54"/>
+  <Typedef id="_8642" name="pointer" type="_4420" context="_3296" access="public" location="f128:55" file="f128" line="55"/>
+  <Typedef id="_8643" name="const_pointer" type="_4422" context="_3296" access="public" location="f128:56" file="f128" line="56"/>
+  <Typedef id="_8644" name="reference" type="_7565" context="_3296" access="public" location="f128:57" file="f128" line="57"/>
+  <Typedef id="_8645" name="const_reference" type="_7567" context="_3296" access="public" location="f128:58" file="f128" line="58"/>
+  <Typedef id="_8646" name="value_type" type="_2036" context="_3296" access="public" location="f128:59" file="f128" line="59"/>
+  <Constructor id="_8647" name="new_allocator" explicit="1" throw="" context="_3296" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEEC1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::new_allocator()" location="f128:65" file="f128" line="65" extern="1" inline="1"/>
+  <Constructor id="_8648" name="new_allocator" throw="" context="_3296" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEEC1ERKS6_ *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::new_allocator(__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > > const&)" location="f128:67" file="f128" line="67" extern="1 [...]
+    <Argument type="_12021" location="f128:67" file="f128" line="67"/>
+  </Constructor>
+  <Destructor id="_8649" name="new_allocator" throw="" context="_3296" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEED1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::~new_allocator()" location="f128:72" file="f128" line="72" extern="1" inline="1">
+  </Destructor>
+  <Method id="_8650" name="address" returns="_4420" const="1" context="_3296" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEE7addressERS5_" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::address(std::_Rb_tree_node<std::pair<std::string const, unsigned short> >&) const" location="f128:75" file="f128" line="75" extern="1" inline="1">
+    <Argument name="__x" type="_7565" location="f128:75" file="f128" line="75"/>
+  </Method>
+  <Method id="_8651" name="address" returns="_4422" const="1" context="_3296" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEE7addressERKS5_" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::address(std::_Rb_tree_node<std::pair<std::string const, unsigned short> > const&) const" location="f128:78" file="f128" line="78" extern="1" inline="1">
+    <Argument name="__x" type="_7567" location="f128:78" file="f128" line="78"/>
+  </Method>
+  <Method id="_8652" name="allocate" returns="_4420" context="_3296" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEE8allocateEjPKv" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::allocate(unsigned, void const*)" location="f128:84" file="f128" line="84" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f128:84" file="f128" line="84"/>
+    <Argument type="_2807" location="f128:84" file="f128" line="84" default="0"/>
+  </Method>
+  <Method id="_8653" name="deallocate" returns="_1194" context="_3296" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEE10deallocateEPS5_j" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::deallocate(std::_Rb_tree_node<std::pair<std::string const, unsigned short> >*, unsigned)" location="f128:94" file="f128" line="94" extern="1" inline="1">
+    <Argument name="__p" type="_4420" location="f128:94" file="f128" line="94"/>
+    <Argument type="_1698" location="f128:94" file="f128" line="94"/>
+  </Method>
+  <Method id="_8654" name="max_size" returns="_1698" const="1" throw="" context="_3296" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEE8max_sizeEv" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::max_size() const" location="f128:98" file="f128" line="98" extern="1" inline="1"/>
+  <Method id="_8655" name="construct" returns="_1194" context="_3296" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEE9constructEPS5_RKS5_" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::construct(std::_Rb_tree_node<std::pair<std::string const, unsigned short> >*, std::_Rb_tree_node<std::pair<std::string const, unsigned short> > const&)" location= [...]
+    <Argument name="__p" type="_4420" location="f128:104" file="f128" line="104"/>
+    <Argument name="__val" type="_7567" location="f128:104" file="f128" line="104"/>
+  </Method>
+  <Method id="_8656" name="destroy" returns="_1194" context="_3296" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSstEEE7destroyEPS5_" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, unsigned short> > >::destroy(std::_Rb_tree_node<std::pair<std::string const, unsigned short> >*)" location="f128:107" file="f128" line="107" extern="1" inline="1">
+    <Argument name="__p" type="_4420" location="f128:107" file="f128" line="107"/>
+  </Method>
+  <Typedef id="_8657" name="size_type" type="_1698" context="_3297" access="public" location="f128:53" file="f128" line="53"/>
+  <Typedef id="_8658" name="difference_type" type="_1699" context="_3297" access="public" location="f128:54" file="f128" line="54"/>
+  <Typedef id="_8659" name="pointer" type="_4293" context="_3297" access="public" location="f128:55" file="f128" line="55"/>
+  <Typedef id="_8660" name="const_pointer" type="_4295" context="_3297" access="public" location="f128:56" file="f128" line="56"/>
+  <Typedef id="_8661" name="reference" type="_4297" context="_3297" access="public" location="f128:57" file="f128" line="57"/>
+  <Typedef id="_8662" name="const_reference" type="_4299" context="_3297" access="public" location="f128:58" file="f128" line="58"/>
+  <Typedef id="_8663" name="value_type" type="_2707" context="_3297" access="public" location="f128:59" file="f128" line="59"/>
+  <Constructor id="_8664" name="new_allocator" explicit="1" throw="" context="_3297" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSstEEC1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::new_allocator()" location="f128:65" file="f128" line="65" extern="1" inline="1"/>
+  <Constructor id="_8665" name="new_allocator" throw="" context="_3297" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSstEEC1ERKS4_ *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::new_allocator(__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> > const&)" location="f128:67" file="f128" line="67" extern="1" inline="1">
+    <Argument type="_12022" location="f128:67" file="f128" line="67"/>
+  </Constructor>
+  <Destructor id="_8666" name="new_allocator" throw="" context="_3297" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSstEED1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::~new_allocator()" location="f128:72" file="f128" line="72" extern="1" inline="1">
+  </Destructor>
+  <Method id="_8667" name="address" returns="_4293" const="1" context="_3297" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt4pairIKSstEE7addressERS3_" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::address(std::pair<std::string const, unsigned short>&) const" location="f128:75" file="f128" line="75" extern="1" inline="1">
+    <Argument name="__x" type="_4297" location="f128:75" file="f128" line="75"/>
+  </Method>
+  <Method id="_8668" name="address" returns="_4295" const="1" context="_3297" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt4pairIKSstEE7addressERKS3_" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::address(std::pair<std::string const, unsigned short> const&) const" location="f128:78" file="f128" line="78" extern="1" inline="1">
+    <Argument name="__x" type="_4299" location="f128:78" file="f128" line="78"/>
+  </Method>
+  <Method id="_8669" name="allocate" returns="_4293" context="_3297" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSstEE8allocateEjPKv" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::allocate(unsigned, void const*)" location="f128:84" file="f128" line="84" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f128:84" file="f128" line="84"/>
+    <Argument type="_2807" location="f128:84" file="f128" line="84" default="0"/>
+  </Method>
+  <Method id="_8670" name="deallocate" returns="_1194" context="_3297" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSstEE10deallocateEPS3_j" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::deallocate(std::pair<std::string const, unsigned short>*, unsigned)" location="f128:94" file="f128" line="94" extern="1" inline="1">
+    <Argument name="__p" type="_4293" location="f128:94" file="f128" line="94"/>
+    <Argument type="_1698" location="f128:94" file="f128" line="94"/>
+  </Method>
+  <Method id="_8671" name="max_size" returns="_1698" const="1" throw="" context="_3297" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt4pairIKSstEE8max_sizeEv" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::max_size() const" location="f128:98" file="f128" line="98" extern="1" inline="1"/>
+  <Method id="_8672" name="construct" returns="_1194" context="_3297" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSstEE9constructEPS3_RKS3_" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::construct(std::pair<std::string const, unsigned short>*, std::pair<std::string const, unsigned short> const&)" location="f128:104" file="f128" line="104" extern="1" inline="1">
+    <Argument name="__p" type="_4293" location="f128:104" file="f128" line="104"/>
+    <Argument name="__val" type="_4299" location="f128:104" file="f128" line="104"/>
+  </Method>
+  <Method id="_8673" name="destroy" returns="_1194" context="_3297" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSstEE7destroyEPS3_" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, unsigned short> >::destroy(std::pair<std::string const, unsigned short>*)" location="f128:107" file="f128" line="107" extern="1" inline="1">
+    <Argument name="__p" type="_4293" location="f128:107" file="f128" line="107"/>
+  </Method>
+  <Typedef id="_8674" name="size_type" type="_1698" context="_3298" access="public" location="f128:53" file="f128" line="53"/>
+  <Typedef id="_8675" name="difference_type" type="_1699" context="_3298" access="public" location="f128:54" file="f128" line="54"/>
+  <Typedef id="_8676" name="pointer" type="_4516" context="_3298" access="public" location="f128:55" file="f128" line="55"/>
+  <Typedef id="_8677" name="const_pointer" type="_4518" context="_3298" access="public" location="f128:56" file="f128" line="56"/>
+  <Typedef id="_8678" name="reference" type="_7587" context="_3298" access="public" location="f128:57" file="f128" line="57"/>
+  <Typedef id="_8679" name="const_reference" type="_7589" context="_3298" access="public" location="f128:58" file="f128" line="58"/>
+  <Typedef id="_8680" name="value_type" type="_2037" context="_3298" access="public" location="f128:59" file="f128" line="59"/>
+  <Constructor id="_8681" name="new_allocator" explicit="1" throw="" context="_3298" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEEC1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::new_allocator()" l [...]
+  <Constructor id="_8682" name="new_allocator" throw="" context="_3298" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEEC1ERKSE_ *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::new_allocator(__gnu_cxx::ne [...]
+    <Argument type="_12023" location="f128:67" file="f128" line="67"/>
+  </Constructor>
+  <Destructor id="_8683" name="new_allocator" throw="" context="_3298" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEED1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::~new_allocator()" location="f128 [...]
+  </Destructor>
+  <Method id="_8684" name="address" returns="_4516" const="1" context="_3298" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEE7addressERSD_" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::address(std::_Rb_tree_node& [...]
+    <Argument name="__x" type="_7587" location="f128:75" file="f128" line="75"/>
+  </Method>
+  <Method id="_8685" name="address" returns="_4518" const="1" context="_3298" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEE7addressERKSD_" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::address(std::_Rb_tree_node [...]
+    <Argument name="__x" type="_7589" location="f128:78" file="f128" line="78"/>
+  </Method>
+  <Method id="_8686" name="allocate" returns="_4516" context="_3298" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEE8allocateEjPKv" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::allocate(unsigned, void const*)" loc [...]
+    <Argument name="__n" type="_1698" location="f128:84" file="f128" line="84"/>
+    <Argument type="_2807" location="f128:84" file="f128" line="84" default="0"/>
+  </Method>
+  <Method id="_8687" name="deallocate" returns="_1194" context="_3298" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEE10deallocateEPSD_j" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::deallocate(std::_Rb_tree_node& [...]
+    <Argument name="__p" type="_4516" location="f128:94" file="f128" line="94"/>
+    <Argument type="_1698" location="f128:94" file="f128" line="94"/>
+  </Method>
+  <Method id="_8688" name="max_size" returns="_1698" const="1" throw="" context="_3298" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEE8max_sizeEv" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::max_size() const" l [...]
+  <Method id="_8689" name="construct" returns="_1194" context="_3298" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEE9constructEPSD_RKSD_" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::construct(std::_Rb_tree_node& [...]
+    <Argument name="__p" type="_4516" location="f128:104" file="f128" line="104"/>
+    <Argument name="__val" type="_7589" location="f128:104" file="f128" line="104"/>
+  </Method>
+  <Method id="_8690" name="destroy" returns="_1194" context="_3298" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKSsN5boost10shared_ptrINS4_9date_time14time_zone_baseINS4_10posix_time5ptimeEcEEEEEEE7destroyEPSD_" demangled="__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > > >::destroy(std::_Rb_tree_node<std::pai [...]
+    <Argument name="__p" type="_4516" location="f128:107" file="f128" line="107"/>
+  </Method>
+  <Typedef id="_8691" name="size_type" type="_1698" context="_3299" access="public" location="f128:53" file="f128" line="53"/>
+  <Typedef id="_8692" name="difference_type" type="_1699" context="_3299" access="public" location="f128:54" file="f128" line="54"/>
+  <Typedef id="_8693" name="pointer" type="_4355" context="_3299" access="public" location="f128:55" file="f128" line="55"/>
+  <Typedef id="_8694" name="const_pointer" type="_4357" context="_3299" access="public" location="f128:56" file="f128" line="56"/>
+  <Typedef id="_8695" name="reference" type="_4359" context="_3299" access="public" location="f128:57" file="f128" line="57"/>
+  <Typedef id="_8696" name="const_reference" type="_4361" context="_3299" access="public" location="f128:58" file="f128" line="58"/>
+  <Typedef id="_8697" name="value_type" type="_2712" context="_3299" access="public" location="f128:59" file="f128" line="59"/>
+  <Constructor id="_8698" name="new_allocator" explicit="1" throw="" context="_3299" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEEC1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::new_allocator()" location="f128:65" file="f128" line="65" extern [...]
+  <Constructor id="_8699" name="new_allocator" throw="" context="_3299" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEEC1ERKSC_ *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::new_allocator(__gnu_cxx::new_allocator<std::pair<std::string const, [...]
+    <Argument type="_12024" location="f128:67" file="f128" line="67"/>
+  </Constructor>
+  <Destructor id="_8700" name="new_allocator" throw="" context="_3299" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEED1Ev *INTERNAL* " demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::~new_allocator()" location="f128:72" file="f128" line="72" extern="1" inline="1">
+  </Destructor>
+  <Method id="_8701" name="address" returns="_4355" const="1" context="_3299" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEE7addressERSB_" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::address(std::pair<std::string const, boost::shared_ptr<boost::date_ [...]
+    <Argument name="__x" type="_4359" location="f128:75" file="f128" line="75"/>
+  </Method>
+  <Method id="_8702" name="address" returns="_4357" const="1" context="_3299" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEE7addressERKSB_" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::address(std::pair<std::string const, boost::shared_ptr<boost::date [...]
+    <Argument name="__x" type="_4361" location="f128:78" file="f128" line="78"/>
+  </Method>
+  <Method id="_8703" name="allocate" returns="_4355" context="_3299" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEE8allocateEjPKv" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::allocate(unsigned, void const*)" location="f128:84" file="f128" line="84" extern=" [...]
+    <Argument name="__n" type="_1698" location="f128:84" file="f128" line="84"/>
+    <Argument type="_2807" location="f128:84" file="f128" line="84" default="0"/>
+  </Method>
+  <Method id="_8704" name="deallocate" returns="_1194" context="_3299" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEE10deallocateEPSB_j" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::deallocate(std::pair<std::string const, boost::shared_ptr<boost::date_ [...]
+    <Argument name="__p" type="_4355" location="f128:94" file="f128" line="94"/>
+    <Argument type="_1698" location="f128:94" file="f128" line="94"/>
+  </Method>
+  <Method id="_8705" name="max_size" returns="_1698" const="1" throw="" context="_3299" access="public" mangled="_ZNK9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEE8max_sizeEv" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::max_size() const" location="f128:98" file="f128" line="98" extern [...]
+  <Method id="_8706" name="construct" returns="_1194" context="_3299" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEE9constructEPSB_RKSB_" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::construct(std::pair<std::string const, boost::shared_ptr<boost::date_ [...]
+    <Argument name="__p" type="_4355" location="f128:104" file="f128" line="104"/>
+    <Argument name="__val" type="_4361" location="f128:104" file="f128" line="104"/>
+  </Method>
+  <Method id="_8707" name="destroy" returns="_1194" context="_3299" access="public" mangled="_ZN9__gnu_cxx13new_allocatorISt4pairIKSsN5boost10shared_ptrINS3_9date_time14time_zone_baseINS3_10posix_time5ptimeEcEEEEEE7destroyEPSB_" demangled="__gnu_cxx::new_allocator<std::pair<std::string const, boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > > >::destroy(std::pair<std::string const, boost::shared_ptr<boost::date_time::time_ [...]
+    <Argument name="__p" type="_4355" location="f128:107" file="f128" line="107"/>
+  </Method>
+  <PointerType id="_8708" type="_661v" size="32" align="32"/>
+  <ReferenceType id="_8709" type="_3331c" size="32" align="32"/>
+  <ReferenceType id="_8710" type="_3332c" size="32" align="32"/>
+  <ReferenceType id="_8711" type="_3333c" size="32" align="32"/>
+  <ReferenceType id="_8712" type="_3330c" size="32" align="32"/>
+  <ReferenceType id="_8713" type="_3335c" size="32" align="32"/>
+  <ReferenceType id="_8714" type="_3329c" size="32" align="32"/>
+  <Field id="_8715" name="_M_current" type="_2749" offset="0" context="_3328" access="protected" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsE10_M_currentE" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::_M_current" location="f110:636" file="f110" line="636"/>
+  <Typedef id="_8716" name="iterator_category" type="_2700" context="_3328" access="public" location="f110:640" file="f110" line="640"/>
+  <Typedef id="_8717" name="value_type" type="_2961" context="_3328" access="public" location="f110:641" file="f110" line="641"/>
+  <Typedef id="_8718" name="difference_type" type="_1699" context="_3328" access="public" location="f110:643" file="f110" line="643"/>
+  <Typedef id="_8719" name="reference" type="_4165" context="_3328" access="public" location="f110:644" file="f110" line="644"/>
+  <Typedef id="_8720" name="pointer" type="_2749" context="_3328" access="public" location="f110:645" file="f110" line="645"/>
+  <Constructor id="_8721" name="__normal_iterator" artificial="1" throw="" context="_3328" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsEC1ERKS3_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::__normal_iterator(__gnu_cxx::__normal_iterator<char const*, std::string> const&)" location="f110:634" file="f110" line="634" inline="1">
+    <Argument name="_ctor_arg" type="_8002" location="f110:634" file="f110" line="634"/>
+  </Constructor>
+  <Constructor id="_8722" name="__normal_iterator" explicit="1" context="_3328" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsEC1Ev *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::__normal_iterator()" location="f110:647" file="f110" line="647" extern="1" inline="1"/>
+  <Constructor id="_8723" name="__normal_iterator" explicit="1" context="_3328" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsEC1ERKS2_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::__normal_iterator(char const* const&)" location="f110:650" file="f110" line="650" endline="650" inline="1">
+    <Argument name="__i" type="_12032" location="f110:650" file="f110" line="650"/>
+  </Constructor>
+  <OperatorMethod id="_8724" name="*" returns="_4165" const="1" context="_3328" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEdeEv" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator*() const" location="f110:664" file="f110" line="664" endline="664" inline="1"/>
+  <OperatorMethod id="_8725" name="->" returns="_2749" const="1" context="_3328" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEptEv" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator->() const" location="f110:668" file="f110" line="668" extern="1" inline="1"/>
+  <OperatorMethod id="_8726" name="++" returns="_8001" context="_3328" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsEppEv" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator++()" location="f110:672" file="f110" line="672" endline="674" inline="1"/>
+  <OperatorMethod id="_8727" name="++" returns="_3328" context="_3328" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsEppEi" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator++(int)" location="f110:679" file="f110" line="679" endline="679" inline="1">
+    <Argument type="_503" location="f110:679" file="f110" line="679"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8728" name="--" returns="_8001" context="_3328" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsEmmEv" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator--()" location="f110:684" file="f110" line="684" extern="1" inline="1"/>
+  <OperatorMethod id="_8729" name="--" returns="_3328" context="_3328" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsEmmEi" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator--(int)" location="f110:691" file="f110" line="691" extern="1" inline="1">
+    <Argument type="_503" location="f110:691" file="f110" line="691"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8730" name="[]" returns="_4165" const="1" context="_3328" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEixERKi" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator[](int const&) const" location="f110:696" file="f110" line="696" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:696" file="f110" line="696"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8731" name="+=" returns="_8001" context="_3328" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsEpLERKi" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator+=(int const&)" location="f110:700" file="f110" line="700" endline="700" inline="1">
+    <Argument name="__n" type="_12033" location="f110:700" file="f110" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8732" name="+" returns="_3328" const="1" context="_3328" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEplERKi" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator+(int const&) const" location="f110:704" file="f110" line="704" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:704" file="f110" line="704"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8733" name="-=" returns="_8001" context="_3328" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKcSsEmIERKi" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator-=(int const&)" location="f110:708" file="f110" line="708" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:708" file="f110" line="708"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8734" name="-" returns="_3328" const="1" context="_3328" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKcSsEmiERKi" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::operator-(int const&) const" location="f110:712" file="f110" line="712" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:712" file="f110" line="712"/>
+  </OperatorMethod>
+  <Method id="_8735" name="base" returns="_12032" const="1" context="_3328" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKcSsE4baseEv" demangled="__gnu_cxx::__normal_iterator<char const*, std::string>::base() const" location="f110:716" file="f110" line="716" endline="716" inline="1"/>
+  <Field id="_8736" name="_M_current" type="_4014" offset="0" context="_3329" access="protected" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEE10_M_currentE" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::_M_current" location="f110:636" file="f110" line="636"/>
+  <Typedef id="_8737" name="iterator_category" type="_2700" context="_3329" access="public" location="f110:640" file="f110" line="640"/>
+  <Typedef id="_8738" name="value_type" type="_2509" context="_3329" access="public" location="f110:641" file="f110" line="641"/>
+  <Typedef id="_8739" name="difference_type" type="_1699" context="_3329" access="public" location="f110:643" file="f110" line="643"/>
+  <Typedef id="_8740" name="reference" type="_4018" context="_3329" access="public" location="f110:644" file="f110" line="644"/>
+  <Typedef id="_8741" name="pointer" type="_4014" context="_3329" access="public" location="f110:645" file="f110" line="645"/>
+  <Constructor id="_8742" name="__normal_iterator" artificial="1" throw="" context="_3329" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS5_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::__normal_iterator(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > const&)" location="f110:634" [...]
+    <Argument name="_ctor_arg" type="_8714" location="f110:634" file="f110" line="634"/>
+  </Constructor>
+  <Constructor id="_8743" name="__normal_iterator" explicit="1" context="_3329" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1Ev *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::__normal_iterator()" location="f110:647" file="f110" line="647" extern="1" inline="1"/>
+  <Constructor id="_8744" name="__normal_iterator" explicit="1" context="_3329" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEC1ERKS1_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::__normal_iterator(std::string* const&)" location="f110:650" file="f110" line="650" endline="650" inline="1">
+    <Argument name="__i" type="_12034" location="f110:650" file="f110" line="650"/>
+  </Constructor>
+  <OperatorMethod id="_8745" name="*" returns="_4018" const="1" context="_3329" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEdeEv" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator*() const" location="f110:664" file="f110" line="664" endline="664" inline="1"/>
+  <OperatorMethod id="_8746" name="->" returns="_4014" const="1" context="_3329" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEptEv" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator->() const" location="f110:668" file="f110" line="668" extern="1" inline="1"/>
+  <OperatorMethod id="_8747" name="++" returns="_12035" context="_3329" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEppEv" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator++()" location="f110:672" file="f110" line="672" endline="674" inline="1"/>
+  <OperatorMethod id="_8748" name="++" returns="_3329" context="_3329" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEppEi" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator++(int)" location="f110:679" file="f110" line="679" extern="1" inline="1">
+    <Argument type="_503" location="f110:679" file="f110" line="679"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8749" name="--" returns="_12035" context="_3329" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEmmEv" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator--()" location="f110:684" file="f110" line="684" extern="1" inline="1"/>
+  <OperatorMethod id="_8750" name="--" returns="_3329" context="_3329" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEmmEi" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator--(int)" location="f110:691" file="f110" line="691" extern="1" inline="1">
+    <Argument type="_503" location="f110:691" file="f110" line="691"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8751" name="[]" returns="_4018" const="1" context="_3329" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEixERKi" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator[](int const&) const" location="f110:696" file="f110" line="696" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:696" file="f110" line="696"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8752" name="+=" returns="_12035" context="_3329" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEpLERKi" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator+=(int const&)" location="f110:700" file="f110" line="700" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:700" file="f110" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8753" name="+" returns="_3329" const="1" context="_3329" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEplERKi" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator+(int const&) const" location="f110:704" file="f110" line="704" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:704" file="f110" line="704"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8754" name="-=" returns="_12035" context="_3329" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEmIERKi" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator-=(int const&)" location="f110:708" file="f110" line="708" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:708" file="f110" line="708"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8755" name="-" returns="_3329" const="1" context="_3329" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEmiERKi" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::operator-(int const&) const" location="f110:712" file="f110" line="712" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:712" file="f110" line="712"/>
+  </OperatorMethod>
+  <Method id="_8756" name="base" returns="_12034" const="1" context="_3329" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEE4baseEv" demangled="__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >::base() const" location="f110:716" file="f110" line="716" endline="716" inline="1"/>
+  <Field id="_8757" name="_M_current" type="_1149" offset="0" context="_3330" access="protected" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsE10_M_currentE" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::_M_current" location="f110:636" file="f110" line="636"/>
+  <Typedef id="_8758" name="iterator_category" type="_2700" context="_3330" access="public" location="f110:640" file="f110" line="640"/>
+  <Typedef id="_8759" name="value_type" type="_2961" context="_3330" access="public" location="f110:641" file="f110" line="641"/>
+  <Typedef id="_8760" name="difference_type" type="_1699" context="_3330" access="public" location="f110:643" file="f110" line="643"/>
+  <Typedef id="_8761" name="reference" type="_4163" context="_3330" access="public" location="f110:644" file="f110" line="644"/>
+  <Typedef id="_8762" name="pointer" type="_1149" context="_3330" access="public" location="f110:645" file="f110" line="645"/>
+  <Constructor id="_8763" name="__normal_iterator" artificial="1" throw="" context="_3330" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS2_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<char*, std::string>::__normal_iterator(__gnu_cxx::__normal_iterator<char*, std::string> const&)" location="f110:634" file="f110" line="634" inline="1">
+    <Argument name="_ctor_arg" type="_8712" location="f110:634" file="f110" line="634"/>
+  </Constructor>
+  <Constructor id="_8764" name="__normal_iterator" explicit="1" context="_3330" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1Ev *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<char*, std::string>::__normal_iterator()" location="f110:647" file="f110" line="647" extern="1" inline="1"/>
+  <Constructor id="_8765" name="__normal_iterator" explicit="1" context="_3330" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsEC1ERKS1_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<char*, std::string>::__normal_iterator(char* const&)" location="f110:650" file="f110" line="650" endline="650" inline="1">
+    <Argument name="__i" type="_7535" location="f110:650" file="f110" line="650"/>
+  </Constructor>
+  <OperatorMethod id="_8766" name="*" returns="_4163" const="1" context="_3330" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPcSsEdeEv" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator*() const" location="f110:664" file="f110" line="664" endline="664" inline="1"/>
+  <OperatorMethod id="_8767" name="->" returns="_1149" const="1" context="_3330" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPcSsEptEv" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator->() const" location="f110:668" file="f110" line="668" extern="1" inline="1"/>
+  <OperatorMethod id="_8768" name="++" returns="_12036" context="_3330" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsEppEv" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator++()" location="f110:672" file="f110" line="672" endline="674" inline="1"/>
+  <OperatorMethod id="_8769" name="++" returns="_3330" context="_3330" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsEppEi" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator++(int)" location="f110:679" file="f110" line="679" endline="679" inline="1">
+    <Argument type="_503" location="f110:679" file="f110" line="679"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8770" name="--" returns="_12036" context="_3330" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsEmmEv" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator--()" location="f110:684" file="f110" line="684" extern="1" inline="1"/>
+  <OperatorMethod id="_8771" name="--" returns="_3330" context="_3330" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsEmmEi" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator--(int)" location="f110:691" file="f110" line="691" extern="1" inline="1">
+    <Argument type="_503" location="f110:691" file="f110" line="691"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8772" name="[]" returns="_4163" const="1" context="_3330" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPcSsEixERKi" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator[](int const&) const" location="f110:696" file="f110" line="696" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:696" file="f110" line="696"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8773" name="+=" returns="_12036" context="_3330" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsEpLERKi" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator+=(int const&)" location="f110:700" file="f110" line="700" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:700" file="f110" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8774" name="+" returns="_3330" const="1" context="_3330" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPcSsEplERKi" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator+(int const&) const" location="f110:704" file="f110" line="704" endline="704" inline="1">
+    <Argument name="__n" type="_12033" location="f110:704" file="f110" line="704"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8775" name="-=" returns="_12036" context="_3330" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPcSsEmIERKi" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator-=(int const&)" location="f110:708" file="f110" line="708" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:708" file="f110" line="708"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8776" name="-" returns="_3330" const="1" context="_3330" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPcSsEmiERKi" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::operator-(int const&) const" location="f110:712" file="f110" line="712" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:712" file="f110" line="712"/>
+  </OperatorMethod>
+  <Method id="_8777" name="base" returns="_7535" const="1" context="_3330" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPcSsE4baseEv" demangled="__gnu_cxx::__normal_iterator<char*, std::string>::base() const" location="f110:716" file="f110" line="716" endline="716" inline="1"/>
+  <Field id="_8778" name="_M_current" type="_2780" offset="0" context="_3331" access="protected" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEE10_M_currentE" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::_M_current" location="f110:636" file="f110" line="636"/>
+  <Typedef id="_8779" name="iterator_category" type="_2700" context="_3331" access="public" location="f110:640" file="f110" line="640"/>
+  <Typedef id="_8780" name="value_type" type="_2786" context="_3331" access="public" location="f110:641" file="f110" line="641"/>
+  <Typedef id="_8781" name="difference_type" type="_1699" context="_3331" access="public" location="f110:643" file="f110" line="643"/>
+  <Typedef id="_8782" name="reference" type="_7180" context="_3331" access="public" location="f110:644" file="f110" line="644"/>
+  <Typedef id="_8783" name="pointer" type="_2780" context="_3331" access="public" location="f110:645" file="f110" line="645"/>
+  <Constructor id="_8784" name="__normal_iterator" artificial="1" throw="" context="_3331" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEC1ERKS7_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::__normal_iterator(__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t&gt [...]
+    <Argument name="_ctor_arg" type="_8709" location="f110:634" file="f110" line="634"/>
+  </Constructor>
+  <Constructor id="_8785" name="__normal_iterator" explicit="1" context="_3331" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::__normal_iterator()" location="f110:647" file="f110" line="647" extern="1" inline="1"/>
+  <Constructor id="_8786" name="__normal_iterator" explicit="1" context="_3331" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEC1ERKS2_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::__normal_iterator(wchar_t const* const&)" location="f110:650" file="f110" line="650" endline="650" inline="1">
+    <Argument name="__i" type="_12037" location="f110:650" file="f110" line="650"/>
+  </Constructor>
+  <OperatorMethod id="_8787" name="*" returns="_7180" const="1" context="_3331" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEdeEv" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator*() const" location="f110:664" file="f110" line="664" endline="664" inline="1"/>
+  <OperatorMethod id="_8788" name="->" returns="_2780" const="1" context="_3331" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEptEv" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator->() const" location="f110:668" file="f110" line="668" extern="1" inline="1"/>
+  <OperatorMethod id="_8789" name="++" returns="_9748" context="_3331" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEppEv" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator++()" location="f110:672" file="f110" line="672" endline="674" inline="1"/>
+  <OperatorMethod id="_8790" name="++" returns="_3331" context="_3331" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEppEi" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator++(int)" location="f110:679" file="f110" line="679" extern="1" inline="1">
+    <Argument type="_503" location="f110:679" file="f110" line="679"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8791" name="--" returns="_9748" context="_3331" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEmmEv" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator--()" location="f110:684" file="f110" line="684" extern="1" inline="1"/>
+  <OperatorMethod id="_8792" name="--" returns="_3331" context="_3331" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEmmEi" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator--(int)" location="f110:691" file="f110" line="691" extern="1" inline="1">
+    <Argument type="_503" location="f110:691" file="f110" line="691"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8793" name="[]" returns="_7180" const="1" context="_3331" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEixERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator[](int const&) const" location="f110:696" file="f110" line="696" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:696" file="f110" line="696"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8794" name="+=" returns="_9748" context="_3331" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEpLERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator+=(int const&)" location="f110:700" file="f110" line="700" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:700" file="f110" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8795" name="+" returns="_3331" const="1" context="_3331" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEplERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator+(int const&) const" location="f110:704" file="f110" line="704" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:704" file="f110" line="704"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8796" name="-=" returns="_9748" context="_3331" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEmIERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator-=(int const&)" location="f110:708" file="f110" line="708" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:708" file="f110" line="708"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8797" name="-" returns="_3331" const="1" context="_3331" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEmiERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator-(int const&) const" location="f110:712" file="f110" line="712" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:712" file="f110" line="712"/>
+  </OperatorMethod>
+  <Method id="_8798" name="base" returns="_12037" const="1" context="_3331" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEE4baseEv" demangled="__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::base() const" location="f110:716" file="f110" line="716" endline="716" inline="1"/>
+  <Field id="_8799" name="_M_current" type="_2778" offset="0" context="_3332" access="protected" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEE10_M_currentE" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::_M_current" location="f110:636" file="f110" line="636"/>
+  <Typedef id="_8800" name="iterator_category" type="_2700" context="_3332" access="public" location="f110:640" file="f110" line="640"/>
+  <Typedef id="_8801" name="value_type" type="_2786" context="_3332" access="public" location="f110:641" file="f110" line="641"/>
+  <Typedef id="_8802" name="difference_type" type="_1699" context="_3332" access="public" location="f110:643" file="f110" line="643"/>
+  <Typedef id="_8803" name="reference" type="_7178" context="_3332" access="public" location="f110:644" file="f110" line="644"/>
+  <Typedef id="_8804" name="pointer" type="_2778" context="_3332" access="public" location="f110:645" file="f110" line="645"/>
+  <Constructor id="_8805" name="__normal_iterator" artificial="1" throw="" context="_3332" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::__normal_iterator(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::alloc [...]
+    <Argument name="_ctor_arg" type="_8710" location="f110:634" file="f110" line="634"/>
+  </Constructor>
+  <Constructor id="_8806" name="__normal_iterator" explicit="1" context="_3332" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::__normal_iterator()" location="f110:647" file="f110" line="647" extern="1" inline="1"/>
+  <Constructor id="_8807" name="__normal_iterator" explicit="1" context="_3332" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEC1ERKS1_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::__normal_iterator(wchar_t* const&)" location="f110:650" file="f110" line="650" endline="650" inline="1">
+    <Argument name="__i" type="_8003" location="f110:650" file="f110" line="650"/>
+  </Constructor>
+  <OperatorMethod id="_8808" name="*" returns="_7178" const="1" context="_3332" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEdeEv" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator*() const" location="f110:664" file="f110" line="664" endline="664" inline="1"/>
+  <OperatorMethod id="_8809" name="->" returns="_2778" const="1" context="_3332" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEptEv" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator->() const" location="f110:668" file="f110" line="668" extern="1" inline="1"/>
+  <OperatorMethod id="_8810" name="++" returns="_12038" context="_3332" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEppEv" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator++()" location="f110:672" file="f110" line="672" extern="1" inline="1"/>
+  <OperatorMethod id="_8811" name="++" returns="_3332" context="_3332" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEppEi" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator++(int)" location="f110:679" file="f110" line="679" endline="679" inline="1">
+    <Argument type="_503" location="f110:679" file="f110" line="679"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8812" name="--" returns="_12038" context="_3332" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEmmEv" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator--()" location="f110:684" file="f110" line="684" extern="1" inline="1"/>
+  <OperatorMethod id="_8813" name="--" returns="_3332" context="_3332" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEmmEi" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator--(int)" location="f110:691" file="f110" line="691" extern="1" inline="1">
+    <Argument type="_503" location="f110:691" file="f110" line="691"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8814" name="[]" returns="_7178" const="1" context="_3332" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEixERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator[](int const&) const" location="f110:696" file="f110" line="696" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:696" file="f110" line="696"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8815" name="+=" returns="_12038" context="_3332" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEpLERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator+=(int const&)" location="f110:700" file="f110" line="700" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:700" file="f110" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8816" name="+" returns="_3332" const="1" context="_3332" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEplERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator+(int const&) const" location="f110:704" file="f110" line="704" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:704" file="f110" line="704"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8817" name="-=" returns="_12038" context="_3332" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEmIERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator-=(int const&)" location="f110:708" file="f110" line="708" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:708" file="f110" line="708"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8818" name="-" returns="_3332" const="1" context="_3332" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEmiERKi" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::operator-(int const&) const" location="f110:712" file="f110" line="712" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:712" file="f110" line="712"/>
+  </OperatorMethod>
+  <Method id="_8819" name="base" returns="_8003" const="1" context="_3332" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEE4baseEv" demangled="__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::base() const" location="f110:716" file="f110" line="716" endline="716" inline="1"/>
+  <Field id="_8820" name="_M_current" type="_4016" offset="0" context="_3333" access="protected" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEE10_M_currentE" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::_M_current" location="f110:636" file="f110" line="636"/>
+  <Typedef id="_8821" name="iterator_category" type="_2700" context="_3333" access="public" location="f110:640" file="f110" line="640"/>
+  <Typedef id="_8822" name="value_type" type="_2509" context="_3333" access="public" location="f110:641" file="f110" line="641"/>
+  <Typedef id="_8823" name="difference_type" type="_1699" context="_3333" access="public" location="f110:643" file="f110" line="643"/>
+  <Typedef id="_8824" name="reference" type="_4020" context="_3333" access="public" location="f110:644" file="f110" line="644"/>
+  <Typedef id="_8825" name="pointer" type="_4016" context="_3333" access="public" location="f110:645" file="f110" line="645"/>
+  <Constructor id="_8826" name="__normal_iterator" artificial="1" throw="" context="_3333" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS6_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::__normal_iterator(__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > > const&)" locati [...]
+    <Argument name="_ctor_arg" type="_8711" location="f110:634" file="f110" line="634"/>
+  </Constructor>
+  <Constructor id="_8827" name="__normal_iterator" explicit="1" context="_3333" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1Ev *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::__normal_iterator()" location="f110:647" file="f110" line="647" extern="1" inline="1"/>
+  <Constructor id="_8828" name="__normal_iterator" explicit="1" context="_3333" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEC1ERKS2_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::__normal_iterator(std::string const* const&)" location="f110:650" file="f110" line="650" endline="650" inline="1">
+    <Argument name="__i" type="_12039" location="f110:650" file="f110" line="650"/>
+  </Constructor>
+  <OperatorMethod id="_8829" name="*" returns="_4020" const="1" context="_3333" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEdeEv" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator*() const" location="f110:664" file="f110" line="664" endline="664" inline="1"/>
+  <OperatorMethod id="_8830" name="->" returns="_4016" const="1" context="_3333" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEptEv" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator->() const" location="f110:668" file="f110" line="668" extern="1" inline="1"/>
+  <OperatorMethod id="_8831" name="++" returns="_12040" context="_3333" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEppEv" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator++()" location="f110:672" file="f110" line="672" extern="1" inline="1"/>
+  <OperatorMethod id="_8832" name="++" returns="_3333" context="_3333" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEppEi" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator++(int)" location="f110:679" file="f110" line="679" extern="1" inline="1">
+    <Argument type="_503" location="f110:679" file="f110" line="679"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8833" name="--" returns="_12040" context="_3333" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEmmEv" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator--()" location="f110:684" file="f110" line="684" extern="1" inline="1"/>
+  <OperatorMethod id="_8834" name="--" returns="_3333" context="_3333" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEmmEi" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator--(int)" location="f110:691" file="f110" line="691" extern="1" inline="1">
+    <Argument type="_503" location="f110:691" file="f110" line="691"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8835" name="[]" returns="_4020" const="1" context="_3333" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEixERKi" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator[](int const&) const" location="f110:696" file="f110" line="696" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:696" file="f110" line="696"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8836" name="+=" returns="_12040" context="_3333" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEpLERKi" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator+=(int const&)" location="f110:700" file="f110" line="700" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:700" file="f110" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8837" name="+" returns="_3333" const="1" context="_3333" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEplERKi" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator+(int const&) const" location="f110:704" file="f110" line="704" endline="704" inline="1">
+    <Argument name="__n" type="_12033" location="f110:704" file="f110" line="704"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8838" name="-=" returns="_12040" context="_3333" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEmIERKi" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator-=(int const&)" location="f110:708" file="f110" line="708" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:708" file="f110" line="708"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8839" name="-" returns="_3333" const="1" context="_3333" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEmiERKi" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::operator-(int const&) const" location="f110:712" file="f110" line="712" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:712" file="f110" line="712"/>
+  </OperatorMethod>
+  <Method id="_8840" name="base" returns="_12039" const="1" context="_3333" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEE4baseEv" demangled="__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >::base() const" location="f110:716" file="f110" line="716" endline="716" inline="1"/>
+  <Field id="_8841" name="_M_current" type="_2748" offset="0" context="_3334" access="protected" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE10_M_currentE" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::_M_current" location="f110:636" file="f110" line="636"/>
+  <Typedef id="_8842" name="iterator_category" type="_2700" context="_3334" access="public" location="f110:640" file="f110" line="640"/>
+  <Typedef id="_8843" name="value_type" type="_503" context="_3334" access="public" location="f110:641" file="f110" line="641"/>
+  <Typedef id="_8844" name="difference_type" type="_1699" context="_3334" access="public" location="f110:643" file="f110" line="643"/>
+  <Typedef id="_8845" name="reference" type="_4078" context="_3334" access="public" location="f110:644" file="f110" line="644"/>
+  <Typedef id="_8846" name="pointer" type="_2748" context="_3334" access="public" location="f110:645" file="f110" line="645"/>
+  <Constructor id="_8847" name="__normal_iterator" artificial="1" throw="" context="_3334" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC1ERKS5_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::__normal_iterator(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > const&)" location="f110:634" file="f110" line="634" inline="1">
+    <Argument name="_ctor_arg" type="_12041" location="f110:634" file="f110" line="634"/>
+  </Constructor>
+  <Constructor id="_8848" name="__normal_iterator" explicit="1" context="_3334" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC1Ev *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::__normal_iterator()" location="f110:647" file="f110" line="647" extern="1" inline="1"/>
+  <Constructor id="_8849" name="__normal_iterator" explicit="1" context="_3334" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC1ERKS1_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::__normal_iterator(int* const&)" location="f110:650" file="f110" line="650" endline="650" inline="1">
+    <Argument name="__i" type="_8004" location="f110:650" file="f110" line="650"/>
+  </Constructor>
+  <OperatorMethod id="_8850" name="*" returns="_4078" const="1" context="_3334" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator*() const" location="f110:664" file="f110" line="664" endline="664" inline="1"/>
+  <OperatorMethod id="_8851" name="->" returns="_2748" const="1" context="_3334" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEptEv" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator->() const" location="f110:668" file="f110" line="668" extern="1" inline="1"/>
+  <OperatorMethod id="_8852" name="++" returns="_12042" context="_3334" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator++()" location="f110:672" file="f110" line="672" extern="1" inline="1"/>
+  <OperatorMethod id="_8853" name="++" returns="_3334" context="_3334" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEi" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator++(int)" location="f110:679" file="f110" line="679" extern="1" inline="1">
+    <Argument type="_503" location="f110:679" file="f110" line="679"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8854" name="--" returns="_12042" context="_3334" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmmEv" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator--()" location="f110:684" file="f110" line="684" extern="1" inline="1"/>
+  <OperatorMethod id="_8855" name="--" returns="_3334" context="_3334" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmmEi" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator--(int)" location="f110:691" file="f110" line="691" extern="1" inline="1">
+    <Argument type="_503" location="f110:691" file="f110" line="691"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8856" name="[]" returns="_4078" const="1" context="_3334" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEixERKi" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator[](int const&) const" location="f110:696" file="f110" line="696" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:696" file="f110" line="696"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8857" name="+=" returns="_12042" context="_3334" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEpLERKi" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator+=(int const&)" location="f110:700" file="f110" line="700" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:700" file="f110" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8858" name="+" returns="_3334" const="1" context="_3334" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplERKi" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator+(int const&) const" location="f110:704" file="f110" line="704" endline="704" inline="1">
+    <Argument name="__n" type="_12033" location="f110:704" file="f110" line="704"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8859" name="-=" returns="_12042" context="_3334" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmIERKi" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator-=(int const&)" location="f110:708" file="f110" line="708" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:708" file="f110" line="708"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8860" name="-" returns="_3334" const="1" context="_3334" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmiERKi" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::operator-(int const&) const" location="f110:712" file="f110" line="712" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:712" file="f110" line="712"/>
+  </OperatorMethod>
+  <Method id="_8861" name="base" returns="_8004" const="1" context="_3334" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv" demangled="__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >::base() const" location="f110:716" file="f110" line="716" extern="1" inline="1"/>
+  <Field id="_8862" name="_M_current" type="_4076" offset="0" context="_3335" access="protected" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE10_M_currentE" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::_M_current" location="f110:636" file="f110" line="636"/>
+  <Typedef id="_8863" name="iterator_category" type="_2700" context="_3335" access="public" location="f110:640" file="f110" line="640"/>
+  <Typedef id="_8864" name="value_type" type="_503" context="_3335" access="public" location="f110:641" file="f110" line="641"/>
+  <Typedef id="_8865" name="difference_type" type="_1699" context="_3335" access="public" location="f110:643" file="f110" line="643"/>
+  <Typedef id="_8866" name="reference" type="_4080" context="_3335" access="public" location="f110:644" file="f110" line="644"/>
+  <Typedef id="_8867" name="pointer" type="_4076" context="_3335" access="public" location="f110:645" file="f110" line="645"/>
+  <Constructor id="_8868" name="__normal_iterator" artificial="1" throw="" context="_3335" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC1ERKS6_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::__normal_iterator(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > const&)" location="f110:634" file="f110" line="634" inline="1">
+    <Argument name="_ctor_arg" type="_8713" location="f110:634" file="f110" line="634"/>
+  </Constructor>
+  <Constructor id="_8869" name="__normal_iterator" explicit="1" context="_3335" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC1Ev *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::__normal_iterator()" location="f110:647" file="f110" line="647" extern="1" inline="1"/>
+  <Constructor id="_8870" name="__normal_iterator" explicit="1" context="_3335" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC1ERKS2_ *INTERNAL* " demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::__normal_iterator(int const* const&)" location="f110:650" file="f110" line="650" endline="650" inline="1">
+    <Argument name="__i" type="_12043" location="f110:650" file="f110" line="650"/>
+  </Constructor>
+  <OperatorMethod id="_8871" name="*" returns="_4080" const="1" context="_3335" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator*() const" location="f110:664" file="f110" line="664" extern="1" inline="1"/>
+  <OperatorMethod id="_8872" name="->" returns="_4076" const="1" context="_3335" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEptEv" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator->() const" location="f110:668" file="f110" line="668" extern="1" inline="1"/>
+  <OperatorMethod id="_8873" name="++" returns="_12044" context="_3335" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator++()" location="f110:672" file="f110" line="672" extern="1" inline="1"/>
+  <OperatorMethod id="_8874" name="++" returns="_3335" context="_3335" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEi" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator++(int)" location="f110:679" file="f110" line="679" extern="1" inline="1">
+    <Argument type="_503" location="f110:679" file="f110" line="679"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8875" name="--" returns="_12044" context="_3335" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEmmEv" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator--()" location="f110:684" file="f110" line="684" extern="1" inline="1"/>
+  <OperatorMethod id="_8876" name="--" returns="_3335" context="_3335" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEmmEi" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator--(int)" location="f110:691" file="f110" line="691" extern="1" inline="1">
+    <Argument type="_503" location="f110:691" file="f110" line="691"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8877" name="[]" returns="_4080" const="1" context="_3335" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEixERS1_" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator[](int const&) const" location="f110:696" file="f110" line="696" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:696" file="f110" line="696"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8878" name="+=" returns="_12044" context="_3335" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEpLERS1_" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator+=(int const&)" location="f110:700" file="f110" line="700" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:700" file="f110" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8879" name="+" returns="_3335" const="1" context="_3335" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEplERS1_" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator+(int const&) const" location="f110:704" file="f110" line="704" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:704" file="f110" line="704"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8880" name="-=" returns="_12044" context="_3335" access="public" mangled="_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEmIERS1_" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator-=(int const&)" location="f110:708" file="f110" line="708" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:708" file="f110" line="708"/>
+  </OperatorMethod>
+  <OperatorMethod id="_8881" name="-" returns="_3335" const="1" context="_3335" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEmiERS1_" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::operator-(int const&) const" location="f110:712" file="f110" line="712" extern="1" inline="1">
+    <Argument name="__n" type="_12033" location="f110:712" file="f110" line="712"/>
+  </OperatorMethod>
+  <Method id="_8882" name="base" returns="_12043" const="1" context="_3335" access="public" mangled="_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv" demangled="__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >::base() const" location="f110:716" file="f110" line="716" endline="716" inline="1"/>
+  <ReferenceType id="_8883" type="_10240c" size="32" align="32"/>
+  <ReferenceType id="_8884" type="_10322c" size="32" align="32"/>
+  <ReferenceType id="_8885" type="_10341c" size="32" align="32"/>
+  <ReferenceType id="_8886" type="_10347c" size="32" align="32"/>
+  <Field id="_8887" name="first_" type="_3328" offset="0" context="_3354" access="private" mangled="_ZN5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6first_E" demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::first_" location="f131:90" file="f131" line="90"/>
+  <Field id="_8888" name="last_" type="_3328" offset="32" context="_3354" access="private" mangled="_ZN5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE5last_E" demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::last_" location="f131:91" file="f131" line="91"/>
+  <Field id="_8889" name="f_" type="_3369" offset="64" context="_3354" access="private" mangled="_ZN5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE2f_E" demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::f_" location="f131:92" file="f131" line="92"/>
+  <Typedef id="_8890" name="TGen" type="_3358" context="_3354" access="private" location="f131:34" file="f131" line="34"/>
+  <Typedef id="_8891" name="iter" type="_3362" context="_3354" access="private" location="f131:39" file="f131" line="39"/>
+  <Typedef id="_8892" name="iterator" type="_3362" context="_3354" access="public" location="f131:43" file="f131" line="43"/>
+  <Typedef id="_8893" name="const_iterator" type="_3362" context="_3354" access="public" location="f131:44" file="f131" line="44"/>
+  <Typedef id="_8894" name="value_type" type="_2508" context="_3354" access="public" location="f131:45" file="f131" line="45"/>
+  <Typedef id="_8895" name="reference" type="_4946" context="_3354" access="public" location="f131:46" file="f131" line="46"/>
+  <Typedef id="_8896" name="const_reference" type="_4948" context="_3354" access="public" location="f131:47" file="f131" line="47"/>
+  <PointerType id="_8897" type="_2508" size="32" align="32"/>
+  <Typedef id="_8898" name="pointer" type="_8897" context="_3354" access="public" location="f131:48" file="f131" line="48"/>
+  <Typedef id="_8899" name="const_pointer" type="_8897c" context="_3354" access="public" location="f131:49" file="f131" line="49"/>
+  <Typedef id="_8900" name="size_type" type="_1194" context="_3354" access="public" location="f131:50" file="f131" line="50"/>
+  <Typedef id="_8901" name="difference_type" type="_1194" context="_3354" access="public" location="f131:51" file="f131" line="51"/>
+  <Constructor id="_8902" name="tokenizer" artificial="1" context="_3354" access="public" mangled="_ZN5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ERKS7_ *INTERNAL* " demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::tokenizer(boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> const&)" locatio [...]
+    <Argument name="_ctor_arg" type="_12050" location="f131:32" file="f131" line="32"/>
+  </Constructor>
+  <Destructor id="_8903" name="tokenizer" artificial="1" context="_3354" access="public" mangled="_ZN5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsED1Ev *INTERNAL* " demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::~tokenizer()" location="f14:175" file="f14" line="175" endline="175" inline="1">
+  </Destructor>
+  <Constructor id="_8904" name="tokenizer" explicit="1" context="_3354" access="public" mangled="_ZN5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ES6_S6_RKS1_ *INTERNAL* " demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::tokenizer(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, boost::offset_s [...]
+    <Argument name="first" type="_3328" location="f131:55" file="f131" line="55"/>
+    <Argument name="last" type="_3328" location="f131:55" file="f131" line="55"/>
+    <Argument name="f" type="_12051" location="f131:55" file="f131" line="55" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Method id="_8905" name="assign" returns="_1194" context="_3354" access="public" mangled="_ZN5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6assignES6_S6_" demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::assign(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>)" location="f131:65" file="f131" lin [...]
+    <Argument name="first" type="_3328" location="f131:65" file="f131" line="65"/>
+    <Argument name="last" type="_3328" location="f131:65" file="f131" line="65"/>
+  </Method>
+  <Method id="_8906" name="assign" returns="_1194" context="_3354" access="public" mangled="_ZN5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6assignES6_S6_RKS1_" demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::assign(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, boost::offset_separator const& [...]
+    <Argument name="first" type="_3328" location="f131:70" file="f131" line="70"/>
+    <Argument name="last" type="_3328" location="f131:70" file="f131" line="70"/>
+    <Argument name="f" type="_12051" location="f131:70" file="f131" line="70"/>
+  </Method>
+  <Method id="_8907" name="begin" returns="_3362" const="1" context="_3354" access="public" mangled="_ZNK5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE5beginEv" demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::begin() const" location="f131:86" file="f131" line="86" endline="86" inline="1"/>
+  <Method id="_8908" name="end" returns="_3362" const="1" context="_3354" access="public" mangled="_ZNK5boost9tokenizerINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE3endEv" demangled="boost::tokenizer<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::end() const" location="f131:87" file="f131" line="87" endline="87" inline="1"/>
+  <Field id="_8909" name="first_" type="_3331" offset="0" context="_3355" access="private" mangled="_ZN5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E6first_E" demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_st [...]
+  <Field id="_8910" name="last_" type="_3331" offset="32" context="_3355" access="private" mangled="_ZN5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E5last_E" demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_str [...]
+  <Field id="_8911" name="f_" type="_3366" offset="64" context="_3355" access="private" mangled="_ZN5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E2f_E" demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_string&lt [...]
+  <Typedef id="_8912" name="TGen" type="_3357" context="_3355" access="private" location="f131:34" file="f131" line="34"/>
+  <Typedef id="_8913" name="iter" type="_3361" context="_3355" access="private" location="f131:39" file="f131" line="39"/>
+  <Typedef id="_8914" name="iterator" type="_3361" context="_3355" access="public" location="f131:43" file="f131" line="43"/>
+  <Typedef id="_8915" name="const_iterator" type="_3361" context="_3355" access="public" location="f131:44" file="f131" line="44"/>
+  <Typedef id="_8916" name="value_type" type="_2506" context="_3355" access="public" location="f131:45" file="f131" line="45"/>
+  <Typedef id="_8917" name="reference" type="_4945" context="_3355" access="public" location="f131:46" file="f131" line="46"/>
+  <Typedef id="_8918" name="const_reference" type="_4947" context="_3355" access="public" location="f131:47" file="f131" line="47"/>
+  <PointerType id="_8919" type="_2506" size="32" align="32"/>
+  <Typedef id="_8920" name="pointer" type="_8919" context="_3355" access="public" location="f131:48" file="f131" line="48"/>
+  <Typedef id="_8921" name="const_pointer" type="_8919c" context="_3355" access="public" location="f131:49" file="f131" line="49"/>
+  <Typedef id="_8922" name="size_type" type="_1194" context="_3355" access="public" location="f131:50" file="f131" line="50"/>
+  <Typedef id="_8923" name="difference_type" type="_1194" context="_3355" access="public" location="f131:51" file="f131" line="51"/>
+  <Constructor id="_8924" name="tokenizer" artificial="1" context="_3355" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_EC1ERKSC_ *INTERNAL* " demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, st [...]
+    <Argument name="_ctor_arg" type="_12053" location="f131:32" file="f131" line="32"/>
+  </Constructor>
+  <Destructor id="_8925" name="tokenizer" artificial="1" context="_3355" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_ED1Ev *INTERNAL* " demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::ba [...]
+  </Destructor>
+  <Constructor id="_8926" name="tokenizer" explicit="1" context="_3355" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_EC1ESB_SB_RKS4_ *INTERNAL* " demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > [...]
+    <Argument name="first" type="_3331" location="f131:55" file="f131" line="55"/>
+    <Argument name="last" type="_3331" location="f131:55" file="f131" line="55"/>
+    <Argument name="f" type="_12054" location="f131:55" file="f131" line="55" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Method id="_8927" name="assign" returns="_1194" context="_3355" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E6assignESB_SB_" demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_stri [...]
+    <Argument name="first" type="_3331" location="f131:65" file="f131" line="65"/>
+    <Argument name="last" type="_3331" location="f131:65" file="f131" line="65"/>
+  </Method>
+  <Method id="_8928" name="assign" returns="_1194" context="_3355" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E6assignESB_SB_RKS4_" demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic [...]
+    <Argument name="first" type="_3331" location="f131:70" file="f131" line="70"/>
+    <Argument name="last" type="_3331" location="f131:70" file="f131" line="70"/>
+    <Argument name="f" type="_12054" location="f131:70" file="f131" line="70"/>
+  </Method>
+  <Method id="_8929" name="begin" returns="_3361" const="1" context="_3355" access="public" mangled="_ZNK5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E5beginEv" demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_ [...]
+  <Method id="_8930" name="end" returns="_3361" const="1" context="_3355" access="public" mangled="_ZNK5boost9tokenizerINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E3endEv" demangled="boost::tokenizer<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_stri [...]
+  <Field id="_8931" name="first_" type="_3328" offset="0" context="_3356" access="private" mangled="_ZN5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6first_E" demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::first_" location="f131:90" file="f131" line="90"/>
+  <Field id="_8932" name="last_" type="_3328" offset="32" context="_3356" access="private" mangled="_ZN5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE5last_E" demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::last_" location="f131:91" file="f131" line="91"/>
+  <Field id="_8933" name="f_" type="_12055" offset="64" context="_3356" access="private" mangled="_ZN5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE2f_E" demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::f_" location="f131:92" file="f131" line="92"/>
+  <Typedef id="_8934" name="TGen" type="_3359" context="_3356" access="private" location="f131:34" file="f131" line="34"/>
+  <Typedef id="_8935" name="iter" type="_3363" context="_3356" access="private" location="f131:39" file="f131" line="39"/>
+  <Typedef id="_8936" name="iterator" type="_3363" context="_3356" access="public" location="f131:43" file="f131" line="43"/>
+  <Typedef id="_8937" name="const_iterator" type="_3363" context="_3356" access="public" location="f131:44" file="f131" line="44"/>
+  <Typedef id="_8938" name="value_type" type="_2508" context="_3356" access="public" location="f131:45" file="f131" line="45"/>
+  <Typedef id="_8939" name="reference" type="_4946" context="_3356" access="public" location="f131:46" file="f131" line="46"/>
+  <Typedef id="_8940" name="const_reference" type="_4948" context="_3356" access="public" location="f131:47" file="f131" line="47"/>
+  <Typedef id="_8941" name="pointer" type="_8897" context="_3356" access="public" location="f131:48" file="f131" line="48"/>
+  <Typedef id="_8942" name="const_pointer" type="_8897c" context="_3356" access="public" location="f131:49" file="f131" line="49"/>
+  <Typedef id="_8943" name="size_type" type="_1194" context="_3356" access="public" location="f131:50" file="f131" line="50"/>
+  <Typedef id="_8944" name="difference_type" type="_1194" context="_3356" access="public" location="f131:51" file="f131" line="51"/>
+  <Constructor id="_8945" name="tokenizer" artificial="1" context="_3356" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ERKSA_ *INTERNAL* " demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::tokenizer(boost::tokenizer<boost::char_separator<char, std::char_traits<char> &gt [...]
+    <Argument name="_ctor_arg" type="_12056" location="f131:32" file="f131" line="32"/>
+  </Constructor>
+  <Destructor id="_8946" name="tokenizer" artificial="1" context="_3356" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsED1Ev *INTERNAL* " demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::~tokenizer()" location="f14:130" file="f14" line="130" endline="130" inline="1">
+  </Destructor>
+  <Constructor id="_8947" name="tokenizer" explicit="1" context="_3356" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ES9_S9_RKS4_ *INTERNAL* " demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::tokenizer(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__norm [...]
+    <Argument name="first" type="_3328" location="f131:55" file="f131" line="55"/>
+    <Argument name="last" type="_3328" location="f131:55" file="f131" line="55"/>
+    <Argument name="f" type="_12057" location="f131:55" file="f131" line="55" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Method id="_8948" name="assign" returns="_1194" context="_3356" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6assignES9_S9_" demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::assign(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char  [...]
+    <Argument name="first" type="_3328" location="f131:65" file="f131" line="65"/>
+    <Argument name="last" type="_3328" location="f131:65" file="f131" line="65"/>
+  </Method>
+  <Method id="_8949" name="assign" returns="_1194" context="_3356" access="public" mangled="_ZN5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6assignES9_S9_RKS4_" demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::assign(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator< [...]
+    <Argument name="first" type="_3328" location="f131:70" file="f131" line="70"/>
+    <Argument name="last" type="_3328" location="f131:70" file="f131" line="70"/>
+    <Argument name="f" type="_12057" location="f131:70" file="f131" line="70"/>
+  </Method>
+  <Method id="_8950" name="begin" returns="_3363" const="1" context="_3356" access="public" mangled="_ZNK5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE5beginEv" demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::begin() const" location="f131:86" file="f131" line="86" endline="86" inline="1"/>
+  <Method id="_8951" name="end" returns="_3363" const="1" context="_3356" access="public" mangled="_ZNK5boost9tokenizerINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE3endEv" demangled="boost::tokenizer<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::end() const" location="f131:87" file="f131" line="87" endline="87" inline="1"/>
+  <Typedef id="_8952" name="type" type="_3361" context="_3357" access="public" location="f132:112" file="f132" line="112"/>
+  <Constructor id="_8953" name="token_iterator_generator" artificial="1" throw="" context="_3357" access="public" mangled="_ZN5boost24token_iterator_generatorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_EC1ERKSC_ *INTERNAL* " demangled="boost::token_iterator_generator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<w [...]
+    <Argument name="_ctor_arg" type="_12058" location="f132:108" file="f132" line="108"/>
+  </Constructor>
+  <Constructor id="_8954" name="token_iterator_generator" explicit="1" artificial="1" throw="" context="_3357" access="public" mangled="_ZN5boost24token_iterator_generatorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_EC1Ev *INTERNAL* " demangled="boost::token_iterator_generator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_tr [...]
+  <Typedef id="_8955" name="type" type="_3362" context="_3358" access="public" location="f132:112" file="f132" line="112"/>
+  <Constructor id="_8956" name="token_iterator_generator" artificial="1" throw="" context="_3358" access="public" mangled="_ZN5boost24token_iterator_generatorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ERKS7_ *INTERNAL* " demangled="boost::token_iterator_generator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator_generator(boost::token_iterator_generator<boost::offset_separator, __gnu_cxx::__ [...]
+    <Argument name="_ctor_arg" type="_12059" location="f132:108" file="f132" line="108"/>
+  </Constructor>
+  <Constructor id="_8957" name="token_iterator_generator" explicit="1" artificial="1" throw="" context="_3358" access="public" mangled="_ZN5boost24token_iterator_generatorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1Ev *INTERNAL* " demangled="boost::token_iterator_generator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator_generator()" location="f132:108" file="f132" line="108" inline="1"/>
+  <Typedef id="_8958" name="type" type="_3363" context="_3359" access="public" location="f132:112" file="f132" line="112"/>
+  <Constructor id="_8959" name="token_iterator_generator" artificial="1" throw="" context="_3359" access="public" mangled="_ZN5boost24token_iterator_generatorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ERKSA_ *INTERNAL* " demangled="boost::token_iterator_generator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator_generator(boost::token_ [...]
+    <Argument name="_ctor_arg" type="_12060" location="f132:108" file="f132" line="108"/>
+  </Constructor>
+  <Constructor id="_8960" name="token_iterator_generator" explicit="1" artificial="1" throw="" context="_3359" access="public" mangled="_ZN5boost24token_iterator_generatorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1Ev *INTERNAL* " demangled="boost::token_iterator_generator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator_generator()" l [...]
+  <Typedef id="_8961" name="type" type="_3364" context="_3360" access="public" location="f132:112" file="f132" line="112"/>
+  <Constructor id="_8962" name="token_iterator_generator" artificial="1" throw="" context="_3360" access="public" mangled="_ZN5boost24token_iterator_generatorINS_22escaped_list_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ERKSA_ *INTERNAL* " demangled="boost::token_iterator_generator<boost::escaped_list_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator_generat [...]
+    <Argument name="_ctor_arg" type="_12061" location="f132:108" file="f132" line="108"/>
+  </Constructor>
+  <Constructor id="_8963" name="token_iterator_generator" explicit="1" artificial="1" throw="" context="_3360" access="public" mangled="_ZN5boost24token_iterator_generatorINS_22escaped_list_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1Ev *INTERNAL* " demangled="boost::token_iterator_generator<boost::escaped_list_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterato [...]
+  <Field id="_8964" name="f_" type="_3366" offset="0" context="_3361" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E2f_E" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic [...]
+  <Field id="_8965" name="begin_" type="_3331" offset="160" context="_3361" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E6begin_E" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,  [...]
+  <Field id="_8966" name="end_" type="_3331" offset="192" context="_3361" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E4end_E" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std: [...]
+  <Field id="_8967" name="valid_" type="_3949" offset="224" context="_3361" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E6valid_E" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,  [...]
+  <Field id="_8968" name="tok_" type="_2506" offset="256" context="_3361" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E4tok_E" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std: [...]
+  <Constructor id="_8969" name="token_iterator" artificial="1" context="_3361" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_EC1ERKSC_ *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t&g [...]
+    <Argument name="_ctor_arg" type="_12062" location="f132:40" file="f132" line="40"/>
+  </Constructor>
+  <Destructor id="_8970" name="token_iterator" artificial="1" context="_3361" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_ED1Ev *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> &g [...]
+  </Destructor>
+  <Method id="_8971" name="increment" returns="_1194" context="_3361" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E9incrementEv" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, st [...]
+  <Method id="_8972" name="dereference" returns="_4947" const="1" context="_3361" access="private" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E11dereferenceEv" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t&g [...]
+  <Method id="_8973" name="initialize" returns="_1194" context="_3361" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E10initializeEv" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, [...]
+  <Constructor id="_8974" name="token_iterator" explicit="1" context="_3361" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_EC1Ev *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> &gt [...]
+  <Constructor id="_8975" name="token_iterator" explicit="1" context="_3361" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_EC1ES4_SB_SB_ *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t [...]
+    <Argument name="f" type="_3366" location="f132:77" file="f132" line="77"/>
+    <Argument name="begin" type="_3331" location="f132:77" file="f132" line="77"/>
+    <Argument name="e" type="_3331" location="f132:77" file="f132" line="77" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_8976" name="token_iterator" context="_3361" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_EC1ESB_SB_ *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,  [...]
+    <Argument name="begin" type="_3331" location="f132:80" file="f132" line="80"/>
+    <Argument name="e" type="_3331" location="f132:80" file="f132" line="80" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Method id="_8977" name="base" returns="_3331" const="1" context="_3361" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E4baseEv" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, st [...]
+  <Method id="_8978" name="end" returns="_3331" const="1" context="_3361" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E3endEv" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std: [...]
+  <Method id="_8979" name="tokenizer_function" returns="_3366" const="1" context="_3361" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E18tokenizer_functionEv" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator [...]
+  <Method id="_8980" name="current_token" returns="_2506" const="1" context="_3361" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E13current_tokenEv" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_ [...]
+  <Method id="_8981" name="at_end" returns="_3949" const="1" context="_3361" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS3_SaIwEEEESA_E6at_endEv" demangled="boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > [...]
+  <Field id="_8982" name="f_" type="_3369" offset="0" context="_3362" access="private" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE2f_E" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::f_" location="f132:44" file="f132" line="44"/>
+  <Field id="_8983" name="begin_" type="_3328" offset="160" context="_3362" access="private" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6begin_E" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::begin_" location="f132:45" file="f132" line="45"/>
+  <Field id="_8984" name="end_" type="_3328" offset="192" context="_3362" access="private" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE4end_E" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::end_" location="f132:46" file="f132" line="46"/>
+  <Field id="_8985" name="valid_" type="_3949" offset="224" context="_3362" access="private" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6valid_E" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::valid_" location="f132:47" file="f132" line="47"/>
+  <Field id="_8986" name="tok_" type="_2508" offset="256" context="_3362" access="private" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE4tok_E" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::tok_" location="f132:48" file="f132" line="48"/>
+  <Constructor id="_8987" name="token_iterator" artificial="1" context="_3362" access="public" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ERKS7_ *INTERNAL* " demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator(boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::strin [...]
+    <Argument name="_ctor_arg" type="_12063" location="f132:40" file="f132" line="40"/>
+  </Constructor>
+  <Destructor id="_8988" name="token_iterator" artificial="1" context="_3362" access="public" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsED1Ev *INTERNAL* " demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::~token_iterator()" location="f14:176" file="f14" line="176" endline="176" inline="1">
+  </Destructor>
+  <Method id="_8989" name="increment" returns="_1194" context="_3362" access="private" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE9incrementEv" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::increment()" location="f132:50" file="f132" line="50" endline="52" inline="1"/>
+  <Method id="_8990" name="dereference" returns="_4948" const="1" context="_3362" access="private" mangled="_ZNK5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE11dereferenceEv" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::dereference() const" location="f132:55" file="f132" line="55" endline="57" inline="1"/>
+  <Method id="_8991" name="initialize" returns="_1194" context="_3362" access="private" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE10initializeEv" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::initialize()" location="f132:67" file="f132" line="67" endline="70" inline="1"/>
+  <Constructor id="_8992" name="token_iterator" explicit="1" context="_3362" access="public" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1Ev *INTERNAL* " demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator()" location="f132:74" file="f132" line="74" extern="1" inline="1"/>
+  <Constructor id="_8993" name="token_iterator" explicit="1" context="_3362" access="public" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ES1_S6_S6_ *INTERNAL* " demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator(boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<c [...]
+    <Argument name="f" type="_3369" location="f132:77" file="f132" line="77"/>
+    <Argument name="begin" type="_3328" location="f132:77" file="f132" line="77"/>
+    <Argument name="e" type="_3328" location="f132:77" file="f132" line="77" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_8994" name="token_iterator" context="_3362" access="public" mangled="_ZN5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ES6_S6_ *INTERNAL* " demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>)" location="f [...]
+    <Argument name="begin" type="_3328" location="f132:80" file="f132" line="80"/>
+    <Argument name="e" type="_3328" location="f132:80" file="f132" line="80" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Method id="_8995" name="base" returns="_3328" const="1" context="_3362" access="public" mangled="_ZNK5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE4baseEv" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::base() const" location="f132:89" file="f132" line="89" extern="1" inline="1"/>
+  <Method id="_8996" name="end" returns="_3328" const="1" context="_3362" access="public" mangled="_ZNK5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE3endEv" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::end() const" location="f132:91" file="f132" line="91" extern="1" inline="1"/>
+  <Method id="_8997" name="tokenizer_function" returns="_3369" const="1" context="_3362" access="public" mangled="_ZNK5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE18tokenizer_functionEv" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::tokenizer_function() const" location="f132:93" file="f132" line="93" extern="1" inline="1"/>
+  <Method id="_8998" name="current_token" returns="_2508" const="1" context="_3362" access="public" mangled="_ZNK5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE13current_tokenEv" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::current_token() const" location="f132:95" file="f132" line="95" extern="1" inline="1"/>
+  <Method id="_8999" name="at_end" returns="_3949" const="1" context="_3362" access="public" mangled="_ZNK5boost14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6at_endEv" demangled="boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::at_end() const" location="f132:97" file="f132" line="97" extern="1" inline="1"/>
+  <Field id="_9000" name="f_" type="_12055" offset="0" context="_3363" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE2f_E" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::f_" location="f132:44" file="f132" line="44"/>
+  <Field id="_9001" name="begin_" type="_3328" offset="160" context="_3363" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6begin_E" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::begin_" location="f132:45" file="f132" line="45"/>
+  <Field id="_9002" name="end_" type="_3328" offset="192" context="_3363" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE4end_E" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::end_" location="f132:46" file="f132" line="46"/>
+  <Field id="_9003" name="valid_" type="_3949" offset="224" context="_3363" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6valid_E" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::valid_" location="f132:47" file="f132" line="47"/>
+  <Field id="_9004" name="tok_" type="_2508" offset="256" context="_3363" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE4tok_E" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::tok_" location="f132:48" file="f132" line="48"/>
+  <Constructor id="_9005" name="token_iterator" artificial="1" context="_3363" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ERKSA_ *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator(boost::token_iterator<boost::char_separator<char, std::c [...]
+    <Argument name="_ctor_arg" type="_12064" location="f132:40" file="f132" line="40"/>
+  </Constructor>
+  <Destructor id="_9006" name="token_iterator" artificial="1" context="_3363" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsED1Ev *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::~token_iterator()" location="f14:131" file="f14" line="131" endline="131" inline="1">
+  </Destructor>
+  <Method id="_9007" name="increment" returns="_1194" context="_3363" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE9incrementEv" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::increment()" location="f132:50" file="f132" line="50" endline="52" inline="1"/>
+  <Method id="_9008" name="dereference" returns="_4948" const="1" context="_3363" access="private" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE11dereferenceEv" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::dereference() const" location="f132:55" file="f132" line="55" endline="57" in [...]
+  <Method id="_9009" name="initialize" returns="_1194" context="_3363" access="private" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE10initializeEv" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::initialize()" location="f132:67" file="f132" line="67" endline="70" inline="1"/>
+  <Constructor id="_9010" name="token_iterator" explicit="1" context="_3363" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1Ev *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator()" location="f132:74" file="f132" line="74" extern="1" inline="1"/>
+  <Constructor id="_9011" name="token_iterator" explicit="1" context="_3363" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ES4_S9_S9_ *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator(boost::char_separator<char, std::char_traits<char>  [...]
+    <Argument name="f" type="_12055" location="f132:77" file="f132" line="77"/>
+    <Argument name="begin" type="_3328" location="f132:77" file="f132" line="77"/>
+    <Argument name="e" type="_3328" location="f132:77" file="f132" line="77" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Constructor id="_9012" name="token_iterator" context="_3363" access="public" mangled="_ZN5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEC1ES9_S9_ *INTERNAL* " demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::token_iterator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__n [...]
+    <Argument name="begin" type="_3328" location="f132:80" file="f132" line="80"/>
+    <Argument name="e" type="_3328" location="f132:80" file="f132" line="80" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Method id="_9013" name="base" returns="_3328" const="1" context="_3363" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE4baseEv" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::base() const" location="f132:89" file="f132" line="89" extern="1" inline="1"/>
+  <Method id="_9014" name="end" returns="_3328" const="1" context="_3363" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE3endEv" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::end() const" location="f132:91" file="f132" line="91" extern="1" inline="1"/>
+  <Method id="_9015" name="tokenizer_function" returns="_12055" const="1" context="_3363" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE18tokenizer_functionEv" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::tokenizer_function() const" location="f132:93" file="f132" line [...]
+  <Method id="_9016" name="current_token" returns="_2508" const="1" context="_3363" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE13current_tokenEv" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::current_token() const" location="f132:95" file="f132" line="95" extern="1" [...]
+  <Method id="_9017" name="at_end" returns="_3949" const="1" context="_3363" access="public" mangled="_ZNK5boost14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsE6at_endEv" demangled="boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>::at_end() const" location="f132:97" file="f132" line="97" extern="1" inline="1"/>
+  <Field id="_9018" name="m_kept_delims" type="_2506" offset="0" context="_3366" access="private" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEE13m_kept_delimsE" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::m_kept_delims" location="f15:484" file="f15" line="484"/>
+  <Field id="_9019" name="m_dropped_delims" type="_2506" offset="32" context="_3366" access="private" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEE16m_dropped_delimsE" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::m_dropped_delims" location="f15:485" file="f15" line="485"/>
+  <Field id="_9020" name="m_use_ispunct" type="_3949" offset="64" context="_3366" access="private" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEE13m_use_ispunctE" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::m_use_ispunct" location="f15:486" file="f15" line="486"/>
+  <Field id="_9021" name="m_use_isspace" type="_3949" offset="72" context="_3366" access="private" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEE13m_use_isspaceE" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::m_use_isspace" location="f15:487" file="f15" line="487"/>
+  <Field id="_9022" name="m_empty_tokens" type="_3368" offset="96" context="_3366" access="private" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEE14m_empty_tokensE" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::m_empty_tokens" location="f15:488" file="f15" line="488"/>
+  <Field id="_9023" name="m_output_done" type="_3949" offset="128" context="_3366" access="private" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEE13m_output_doneE" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::m_output_done" location="f15:489" file="f15" line="489"/>
+  <Typedef id="_9024" name="string_type" type="_2506" context="_3366" access="private" location="f15:388" file="f15" line="388"/>
+  <Constructor id="_9025" name="char_separator" artificial="1" context="_3366" access="public" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEEC1ERKS3_ *INTERNAL* " demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::char_separator(boost::char_separator<wchar_t, std::char_traits<wchar_t> > const&)" location="f14:279" file="f14" line="279" endline="279" inline="1">
+    <Argument name="_ctor_arg" type="_12054" location="f15:387" file="f15" line="387"/>
+  </Constructor>
+  <Destructor id="_9026" name="char_separator" artificial="1" context="_3366" access="public" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEED1Ev *INTERNAL* " demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::~char_separator()" location="f14:277" file="f14" line="277" endline="277" inline="1">
+  </Destructor>
+  <Constructor id="_9027" name="char_separator" explicit="1" context="_3366" access="public" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEEC1EPKwS5_NS_18empty_token_policyE *INTERNAL* " demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::char_separator(wchar_t const*, wchar_t const*, boost::empty_token_policy)" location="f15:394" file="f15" line="394" endline="402" inline="1">
+    <Argument name="dropped_delims" type="_2780" location="f15:394" file="f15" line="394"/>
+    <Argument name="kept_delims" type="_2780" location="f15:394" file="f15" line="394" default="0"/>
+    <Argument name="empty_tokens" type="_3368" location="f15:394" file="f15" line="394" default="drop_empty_tokens"/>
+  </Constructor>
+  <Constructor id="_9028" name="char_separator" explicit="1" context="_3366" access="public" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEEC1Ev *INTERNAL* " demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::char_separator()" location="f15:408" file="f15" line="408" extern="1" inline="1"/>
+  <Method id="_9029" name="reset" returns="_1194" context="_3366" access="public" mangled="_ZN5boost14char_separatorIwSt11char_traitsIwEE5resetEv" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::reset()" location="f15:412" file="f15" line="412" endline="412" inline="1"/>
+  <Method id="_9030" name="is_kept" returns="_3949" const="1" context="_3366" access="private" mangled="_ZNK5boost14char_separatorIwSt11char_traitsIwEE7is_keptEw" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::is_kept(wchar_t) const" location="f15:492" file="f15" line="492" endline="498" inline="1">
+    <Argument name="E" type="_2786" location="f15:492" file="f15" line="492"/>
+  </Method>
+  <Method id="_9031" name="is_dropped" returns="_3949" const="1" context="_3366" access="private" mangled="_ZNK5boost14char_separatorIwSt11char_traitsIwEE10is_droppedEw" demangled="boost::char_separator<wchar_t, std::char_traits<wchar_t> >::is_dropped(wchar_t) const" location="f15:501" file="f15" line="501" endline="507" inline="1">
+    <Argument name="E" type="_2786" location="f15:501" file="f15" line="501"/>
+  </Method>
+  <Field id="_9032" name="m_kept_delims" type="_2508" offset="0" context="_3367" access="private" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEE13m_kept_delimsE" demangled="boost::char_separator<char, std::char_traits<char> >::m_kept_delims" location="f15:484" file="f15" line="484"/>
+  <Field id="_9033" name="m_dropped_delims" type="_2508" offset="32" context="_3367" access="private" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEE16m_dropped_delimsE" demangled="boost::char_separator<char, std::char_traits<char> >::m_dropped_delims" location="f15:485" file="f15" line="485"/>
+  <Field id="_9034" name="m_use_ispunct" type="_3949" offset="64" context="_3367" access="private" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEE13m_use_ispunctE" demangled="boost::char_separator<char, std::char_traits<char> >::m_use_ispunct" location="f15:486" file="f15" line="486"/>
+  <Field id="_9035" name="m_use_isspace" type="_3949" offset="72" context="_3367" access="private" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEE13m_use_isspaceE" demangled="boost::char_separator<char, std::char_traits<char> >::m_use_isspace" location="f15:487" file="f15" line="487"/>
+  <Field id="_9036" name="m_empty_tokens" type="_3368" offset="96" context="_3367" access="private" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEE14m_empty_tokensE" demangled="boost::char_separator<char, std::char_traits<char> >::m_empty_tokens" location="f15:488" file="f15" line="488"/>
+  <Field id="_9037" name="m_output_done" type="_3949" offset="128" context="_3367" access="private" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEE13m_output_doneE" demangled="boost::char_separator<char, std::char_traits<char> >::m_output_done" location="f15:489" file="f15" line="489"/>
+  <Typedef id="_9038" name="string_type" type="_2508" context="_3367" access="private" location="f15:388" file="f15" line="388"/>
+  <Constructor id="_9039" name="char_separator" artificial="1" context="_3367" access="public" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEEC1ERKS3_ *INTERNAL* " demangled="boost::char_separator<char, std::char_traits<char> >::char_separator(boost::char_separator<char, std::char_traits<char> > const&)" location="f14:131" file="f14" line="131" endline="131" inline="1">
+    <Argument name="_ctor_arg" type="_12065" location="f15:387" file="f15" line="387"/>
+  </Constructor>
+  <Destructor id="_9040" name="char_separator" artificial="1" context="_3367" access="public" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEED1Ev *INTERNAL* " demangled="boost::char_separator<char, std::char_traits<char> >::~char_separator()" location="f14:129" file="f14" line="129" endline="129" inline="1">
+  </Destructor>
+  <Constructor id="_9041" name="char_separator" explicit="1" context="_3367" access="public" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEEC1EPKcS5_NS_18empty_token_policyE *INTERNAL* " demangled="boost::char_separator<char, std::char_traits<char> >::char_separator(char const*, char const*, boost::empty_token_policy)" location="f15:394" file="f15" line="394" endline="402" inline="1">
+    <Argument name="dropped_delims" type="_2749" location="f15:394" file="f15" line="394"/>
+    <Argument name="kept_delims" type="_2749" location="f15:394" file="f15" line="394" default="0"/>
+    <Argument name="empty_tokens" type="_3368" location="f15:394" file="f15" line="394" default="drop_empty_tokens"/>
+  </Constructor>
+  <Constructor id="_9042" name="char_separator" explicit="1" context="_3367" access="public" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEEC1Ev *INTERNAL* " demangled="boost::char_separator<char, std::char_traits<char> >::char_separator()" location="f15:408" file="f15" line="408" extern="1" inline="1"/>
+  <Method id="_9043" name="reset" returns="_1194" context="_3367" access="public" mangled="_ZN5boost14char_separatorIcSt11char_traitsIcEE5resetEv" demangled="boost::char_separator<char, std::char_traits<char> >::reset()" location="f15:412" file="f15" line="412" endline="412" inline="1"/>
+  <Method id="_9044" name="is_kept" returns="_3949" const="1" context="_3367" access="private" mangled="_ZNK5boost14char_separatorIcSt11char_traitsIcEE7is_keptEc" demangled="boost::char_separator<char, std::char_traits<char> >::is_kept(char) const" location="f15:492" file="f15" line="492" endline="498" inline="1">
+    <Argument name="E" type="_2961" location="f15:492" file="f15" line="492"/>
+  </Method>
+  <Method id="_9045" name="is_dropped" returns="_3949" const="1" context="_3367" access="private" mangled="_ZNK5boost14char_separatorIcSt11char_traitsIcEE10is_droppedEc" demangled="boost::char_separator<char, std::char_traits<char> >::is_dropped(char) const" location="f15:501" file="f15" line="501" endline="507" inline="1">
+    <Argument name="E" type="_2961" location="f15:501" file="f15" line="501"/>
+  </Method>
+  <Field id="_9046" name="offsets_" type="_1995" offset="0" context="_3369" access="private" mangled="_ZN5boost16offset_separator8offsets_E" demangled="boost::offset_separator::offsets_" location="f15:298" file="f15" line="298"/>
+  <Field id="_9047" name="current_offset_" type="_837" offset="96" context="_3369" access="private" mangled="_ZN5boost16offset_separator15current_offset_E" demangled="boost::offset_separator::current_offset_" location="f15:299" file="f15" line="299"/>
+  <Field id="_9048" name="wrap_offsets_" type="_3949" offset="128" context="_3369" access="private" mangled="_ZN5boost16offset_separator13wrap_offsets_E" demangled="boost::offset_separator::wrap_offsets_" location="f15:300" file="f15" line="300"/>
+  <Field id="_9049" name="return_partial_last_" type="_3949" offset="136" context="_3369" access="private" mangled="_ZN5boost16offset_separator20return_partial_last_E" demangled="boost::offset_separator::return_partial_last_" location="f15:301" file="f15" line="301"/>
+  <Constructor id="_9050" name="offset_separator" artificial="1" context="_3369" access="public" mangled="_ZN5boost16offset_separatorC1ERKS0_ *INTERNAL* " demangled="boost::offset_separator::offset_separator(boost::offset_separator const&)" location="f14:176" file="f14" line="176" endline="176" inline="1">
+    <Argument name="_ctor_arg" type="_12051" location="f15:295" file="f15" line="295"/>
+  </Constructor>
+  <Destructor id="_9051" name="offset_separator" artificial="1" context="_3369" access="public" mangled="_ZN5boost16offset_separatorD1Ev *INTERNAL* " demangled="boost::offset_separator::~offset_separator()" location="f14:170" file="f14" line="170" endline="170" inline="1">
+  </Destructor>
+  <Constructor id="_9052" name="offset_separator" explicit="1" context="_3369" access="public" mangled="_ZN5boost16offset_separatorC1IPiEET_S3_bb *INTERNAL* " demangled="boost::offset_separator::offset_separator<int*>(int*, int*, bool, bool)" location="f15:307" file="f15" line="307" endline="309" inline="1">
+    <Argument name="begin" type="_2748" location="f15:307" file="f15" line="307"/>
+    <Argument name="end" type="_2748" location="f15:307" file="f15" line="307"/>
+    <Argument name="wrap_offsets" type="_3949" location="f15:307" file="f15" line="307" default="true"/>
+    <Argument name="return_partial_last" type="_3949" location="f15:307" file="f15" line="307" default="true"/>
+  </Constructor>
+  <Constructor id="_9053" name="offset_separator" explicit="1" context="_3369" access="public" mangled="_ZN5boost16offset_separatorC1Ev *INTERNAL* " demangled="boost::offset_separator::offset_separator()" location="f15:312" file="f15" line="312" endline="313" inline="1"/>
+  <Method id="_9054" name="reset" returns="_1194" context="_3369" access="public" mangled="_ZN5boost16offset_separator5resetEv" demangled="boost::offset_separator::reset()" location="f15:315" file="f15" line="315" endline="317" inline="1"/>
+  <OperatorMethod id="_9055" name="()" returns="_3949" context="_3369" access="public" mangled="_ZN5boost16offset_separatorclIN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEbRT_S7_RT0_" demangled="bool boost::offset_separator::operator()<__gnu_cxx::__normal_iterator<char const*, std::string>, std::string>(__gnu_cxx::__normal_iterator<char const*, std::string>&, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string&)" location="f15:321" file="f15"  [...]
+    <Argument name="next" type="_8001" location="f15:321" file="f15" line="321"/>
+    <Argument name="end" type="_3328" location="f15:321" file="f15" line="321"/>
+    <Argument name="tok" type="_4946" location="f15:321" file="f15" line="321"/>
+  </OperatorMethod>
+  <Constructor id="_9056" name="escaped_list_error" artificial="1" context="_3371" access="public" mangled="_ZN5boost18escaped_list_errorC1ERKS0_ *INTERNAL* " demangled="boost::escaped_list_error::escaped_list_error(boost::escaped_list_error const&)" location="f15:76" file="f15" line="76" inline="1">
+    <Argument name="_ctor_arg" type="_12066" location="f15:76" file="f15" line="76"/>
+  </Constructor>
+  <Destructor id="_9057" name="escaped_list_error" virtual="1" artificial="1" throw="" context="_3371" access="public" mangled="_ZN5boost18escaped_list_errorD1Ev *INTERNAL* " demangled="boost::escaped_list_error::~escaped_list_error()" location="f82:178" file="f82" line="178" endline="178" inline="1">
+  </Destructor>
+  <Constructor id="_9058" name="escaped_list_error" context="_3371" access="public" mangled="_ZN5boost18escaped_list_errorC1ERKSs *INTERNAL* " demangled="boost::escaped_list_error::escaped_list_error(std::string const&)" location="f15:77" file="f15" line="77" endline="77" inline="1">
+    <Argument name="what_arg" type="_4020" location="f15:77" file="f15" line="77"/>
+  </Constructor>
+  <ReferenceType id="_9059" type="_10742c" size="32" align="32"/>
+  <ReferenceType id="_9060" type="_3412c" size="32" align="32"/>
+  <Class id="_9061" name="date" context="_3901" mangled="N5boost9gregorian4dateE" demangled="boost::gregorian::date" location="f196:37" file="f196" line="37" artificial="1" size="32" align="32" members="_12069 _12070 _12071 _12072 _12073 _12074 _12075 _12076 _12077 _12078 _12079 _12080 _12081 _12082 _12083 _12084 _12085 _12086 _12087 _12088 _12089 " bases="_11274 ">
+    <Base type="_11274" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Enumeration id="_9062" name="TZ_FOR_CREATE" context="_10316" access="private" location="f197:67" file="f197" line="67" artificial="1" size="32" align="32">
+    <EnumValue name="LOCAL" init="0"/>
+    <EnumValue name="GMT" init="1"/>
+  </Enumeration>
+  <Class id="_9063" name="greg_day" context="_3901" mangled="N5boost9gregorian8greg_dayE" demangled="boost::gregorian::greg_day" location="f24:42" file="f24" line="42" artificial="1" size="16" align="16" members="_12090 _12091 _12092 _12093 " bases="_10774 ">
+    <Base type="_10774" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Enumeration id="_9064" name="ymd_order_spec" context="_3904" location="f198:22" file="f198" line="22" artificial="1" size="32" align="32">
+    <EnumValue name="ymd_order_iso" init="0"/>
+    <EnumValue name="ymd_order_dmy" init="1"/>
+    <EnumValue name="ymd_order_us" init="2"/>
+  </Enumeration>
+  <PointerType id="_9065" type="_12094" size="32" align="32"/>
+  <Constructor id="_9066" name="bad_function_call" artificial="1" context="_3411" access="public" mangled="_ZN5boost17bad_function_callC1ERKS0_ *INTERNAL* " demangled="boost::bad_function_call::bad_function_call(boost::bad_function_call const&)" location="f17:570" file="f17" line="570" inline="1">
+    <Argument name="_ctor_arg" type="_12095" location="f17:570" file="f17" line="570"/>
+  </Constructor>
+  <Destructor id="_9067" name="bad_function_call" virtual="1" artificial="1" throw="" context="_3411" access="public" mangled="_ZN5boost17bad_function_callD1Ev *INTERNAL* " demangled="boost::bad_function_call::~bad_function_call()" location="f82:142" file="f82" line="142" endline="142" inline="1">
+  </Destructor>
+  <Constructor id="_9068" name="bad_function_call" explicit="1" context="_3411" access="public" mangled="_ZN5boost17bad_function_callC1Ev *INTERNAL* " demangled="boost::bad_function_call::bad_function_call()" location="f17:572" file="f17" line="572" endline="572" inline="1"/>
+  <Field id="_9069" name="vtable" type="_12096" offset="0" context="_3412" access="public" mangled="_ZN5boost13function_base6vtableE" demangled="boost::function_base::vtable" location="f17:561" file="f17" line="561"/>
+  <Field id="_9070" name="functor" type="_12097" offset="32" context="_3412" access="public" mangled="_ZN5boost13function_base7functorE" demangled="boost::function_base::functor" mutable="1" location="f17:562" file="f17" line="562"/>
+  <Constructor id="_9071" name="function_base" artificial="1" throw="" context="_3412" access="public" mangled="_ZN5boost13function_baseC1ERKS0_ *INTERNAL* " demangled="boost::function_base::function_base(boost::function_base const&)" location="f17:474" file="f17" line="474" inline="1">
+    <Argument name="_ctor_arg" type="_9060" location="f17:474" file="f17" line="474"/>
+  </Constructor>
+  <Constructor id="_9072" name="function_base" explicit="1" context="_3412" access="public" mangled="_ZN5boost13function_baseC1Ev *INTERNAL* " demangled="boost::function_base::function_base()" location="f17:476" file="f17" line="476" endline="476" inline="1"/>
+  <Method id="_9073" name="empty" returns="_3949" const="1" context="_3412" access="public" mangled="_ZNK5boost13function_base5emptyEv" demangled="boost::function_base::empty() const" location="f17:479" file="f17" line="479" endline="479" inline="1"/>
+  <Method id="_9074" name="target_type" returns="_11885" const="1" context="_3412" access="public" mangled="_ZNK5boost13function_base11target_typeEv" demangled="boost::function_base::target_type() const" location="f17:484" file="f17" line="484" endline="490" inline="1"/>
+  <Constructor id="_9075" name="alignment_of" artificial="1" throw="" context="_3413" access="public" mangled="_ZN5boost12alignment_ofINS_6detail8function15function_bufferEEC1ERKS4_ *INTERNAL* " demangled="boost::alignment_of<boost::detail::function::function_buffer>::alignment_of(boost::alignment_of<boost::detail::function::function_buffer> const&)" location="f133:61" file="f133" line="61" inline="1">
+    <Argument name="_ctor_arg" type="_12098" location="f133:61" file="f133" line="61"/>
+  </Constructor>
+  <Constructor id="_9076" name="alignment_of" explicit="1" artificial="1" throw="" context="_3413" access="public" mangled="_ZN5boost12alignment_ofINS_6detail8function15function_bufferEEC1Ev *INTERNAL* " demangled="boost::alignment_of<boost::detail::function::function_buffer>::alignment_of()" location="f133:61" file="f133" line="61" inline="1"/>
+  <Constructor id="_9077" name="alignment_of" artificial="1" throw="" context="_3414" access="public" mangled="_ZN5boost12alignment_ofIVKvEC1ERKS2_ *INTERNAL* " demangled="boost::alignment_of<void volatile const>::alignment_of(boost::alignment_of<void volatile const> const&)" location="f133:85" file="f133" line="85" inline="1">
+    <Argument name="_ctor_arg" type="_12099" location="f133:85" file="f133" line="85"/>
+  </Constructor>
+  <Constructor id="_9078" name="alignment_of" explicit="1" artificial="1" throw="" context="_3414" access="public" mangled="_ZN5boost12alignment_ofIVKvEC1Ev *INTERNAL* " demangled="boost::alignment_of<void volatile const>::alignment_of()" location="f133:85" file="f133" line="85" inline="1"/>
+  <Constructor id="_9079" name="alignment_of" artificial="1" throw="" context="_3415" access="public" mangled="_ZN5boost12alignment_ofIVvEC1ERKS2_ *INTERNAL* " demangled="boost::alignment_of<void volatile>::alignment_of(boost::alignment_of<void volatile> const&)" location="f133:84" file="f133" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_12100" location="f133:84" file="f133" line="84"/>
+  </Constructor>
+  <Constructor id="_9080" name="alignment_of" explicit="1" artificial="1" throw="" context="_3415" access="public" mangled="_ZN5boost12alignment_ofIVvEC1Ev *INTERNAL* " demangled="boost::alignment_of<void volatile>::alignment_of()" location="f133:84" file="f133" line="84" inline="1"/>
+  <Constructor id="_9081" name="alignment_of" artificial="1" throw="" context="_3416" access="public" mangled="_ZN5boost12alignment_ofIKvEC1ERKS2_ *INTERNAL* " demangled="boost::alignment_of<void const>::alignment_of(boost::alignment_of<void const> const&)" location="f133:83" file="f133" line="83" inline="1">
+    <Argument name="_ctor_arg" type="_12101" location="f133:83" file="f133" line="83"/>
+  </Constructor>
+  <Constructor id="_9082" name="alignment_of" explicit="1" artificial="1" throw="" context="_3416" access="public" mangled="_ZN5boost12alignment_ofIKvEC1Ev *INTERNAL* " demangled="boost::alignment_of<void const>::alignment_of()" location="f133:83" file="f133" line="83" inline="1"/>
+  <Constructor id="_9083" name="alignment_of" artificial="1" throw="" context="_3417" access="public" mangled="_ZN5boost12alignment_ofIvEC1ERKS1_ *INTERNAL* " demangled="boost::alignment_of<void>::alignment_of(boost::alignment_of<void> const&)" location="f133:81" file="f133" line="81" inline="1">
+    <Argument name="_ctor_arg" type="_12102" location="f133:81" file="f133" line="81"/>
+  </Constructor>
+  <Constructor id="_9084" name="alignment_of" explicit="1" artificial="1" throw="" context="_3417" access="public" mangled="_ZN5boost12alignment_ofIvEC1Ev *INTERNAL* " demangled="boost::alignment_of<void>::alignment_of()" location="f133:81" file="f133" line="81" inline="1"/>
+  <Field id="_9085" name="source" type="_11886" offset="32" context="_3422" access="private" mangled="_ZN5boost16bad_lexical_cast6sourceE" demangled="boost::bad_lexical_cast::source" location="f2:77" file="f2" line="77"/>
+  <Field id="_9086" name="target" type="_11886" offset="64" context="_3422" access="private" mangled="_ZN5boost16bad_lexical_cast6targetE" demangled="boost::bad_lexical_cast::target" location="f2:78" file="f2" line="78"/>
+  <Constructor id="_9087" name="bad_lexical_cast" artificial="1" throw="" context="_3422" access="public" mangled="_ZN5boost16bad_lexical_castC1ERKS0_ *INTERNAL* " demangled="boost::bad_lexical_cast::bad_lexical_cast(boost::bad_lexical_cast const&)" location="f181:39" file="f181" line="39" endline="39" inline="1">
+    <Argument name="_ctor_arg" type="_10093" location="f2:48" file="f2" line="48"/>
+  </Constructor>
+  <Constructor id="_9088" name="bad_lexical_cast" explicit="1" context="_3422" access="public" mangled="_ZN5boost16bad_lexical_castC1Ev *INTERNAL* " demangled="boost::bad_lexical_cast::bad_lexical_cast()" location="f2:50" file="f2" line="50" endline="53" inline="1"/>
+  <Constructor id="_9089" name="bad_lexical_cast" explicit="1" context="_3422" access="public" mangled="_ZN5boost16bad_lexical_castC1ERKSt9type_infoS3_ *INTERNAL* " demangled="boost::bad_lexical_cast::bad_lexical_cast(std::type_info const&, std::type_info const&)" location="f2:56" file="f2" line="56" endline="59" inline="1">
+    <Argument name="source_type" type="_11885" location="f2:56" file="f2" line="56"/>
+    <Argument name="target_type" type="_11885" location="f2:56" file="f2" line="56"/>
+  </Constructor>
+  <Method id="_9090" name="source_type" returns="_11885" const="1" context="_3422" access="public" mangled="_ZNK5boost16bad_lexical_cast11source_typeEv" demangled="boost::bad_lexical_cast::source_type() const" location="f2:61" file="f2" line="61" endline="63" inline="1"/>
+  <Method id="_9091" name="target_type" returns="_11885" const="1" context="_3422" access="public" mangled="_ZNK5boost16bad_lexical_cast11target_typeEv" demangled="boost::bad_lexical_cast::target_type() const" location="f2:65" file="f2" line="65" endline="67" inline="1"/>
+  <Method id="_9092" name="what" returns="_2749" const="1" virtual="1" throw="" context="_3422" access="public" mangled="_ZNK5boost16bad_lexical_cast4whatEv" demangled="boost::bad_lexical_cast::what() const" location="f2:69" file="f2" line="69" endline="72" inline="1"/>
+  <Destructor id="_9093" name="bad_lexical_cast" virtual="1" throw="" context="_3422" access="public" mangled="_ZN5boost16bad_lexical_castD1Ev *INTERNAL* " demangled="boost::bad_lexical_cast::~bad_lexical_cast()" location="f2:74" file="f2" line="74" endline="75" inline="1">
+  </Destructor>
+  <Constructor id="_9094" name="integer_traits" artificial="1" throw="" context="_3423" access="public" mangled="_ZN5boost14integer_traitsIiEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<int>::integer_traits(boost::integer_traits<int> const&)" location="f134:138" file="f134" line="138" inline="1">
+    <Argument name="_ctor_arg" type="_12103" location="f134:138" file="f134" line="138"/>
+  </Constructor>
+  <Constructor id="_9095" name="integer_traits" explicit="1" artificial="1" throw="" context="_3423" access="public" mangled="_ZN5boost14integer_traitsIiEC1Ev *INTERNAL* " demangled="boost::integer_traits<int>::integer_traits()" location="f134:138" file="f134" line="138" inline="1"/>
+  <Class id="_9096" name="integer_traits_base<int,-2147483648,2147483647>" context="_3903" mangled="N5boost6detail19integer_traits_baseIiLin2147483648ELi2147483647EEE" demangled="boost::detail::integer_traits_base<int, -2147483648, 2147483647>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12104 _12105 _12106 _12107 _12108 " bases=""/>
+  <Constructor id="_9097" name="integer_traits" artificial="1" throw="" context="_3424" access="public" mangled="_ZN5boost14integer_traitsIyEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<unsigned long long>::integer_traits(boost::integer_traits<unsigned long long> const&)" location="f134:171" file="f134" line="171" inline="1">
+    <Argument name="_ctor_arg" type="_12109" location="f134:171" file="f134" line="171"/>
+  </Constructor>
+  <Constructor id="_9098" name="integer_traits" explicit="1" artificial="1" throw="" context="_3424" access="public" mangled="_ZN5boost14integer_traitsIyEC1Ev *INTERNAL* " demangled="boost::integer_traits<unsigned long long>::integer_traits()" location="f134:171" file="f134" line="171" inline="1"/>
+  <Class id="_9099" name="integer_traits_base<long long unsigned int,0,0xffffffffffffffff>" context="_3903" mangled="N5boost6detail19integer_traits_baseIyLy0ELy18446744073709551615EEE" demangled="boost::detail::integer_traits_base<unsigned long long, (unsigned long long)0, (unsigned long long)18446744073709551615>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12110 _12111 _12112 _12113 _12114 " bases=""/>
+  <Constructor id="_9100" name="integer_traits" artificial="1" throw="" context="_3425" access="public" mangled="_ZN5boost14integer_traitsIxEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<long long>::integer_traits(boost::integer_traits<long long> const&)" location="f134:165" file="f134" line="165" inline="1">
+    <Argument name="_ctor_arg" type="_12115" location="f134:165" file="f134" line="165"/>
+  </Constructor>
+  <Constructor id="_9101" name="integer_traits" explicit="1" artificial="1" throw="" context="_3425" access="public" mangled="_ZN5boost14integer_traitsIxEC1Ev *INTERNAL* " demangled="boost::integer_traits<long long>::integer_traits()" location="f134:165" file="f134" line="165" inline="1"/>
+  <Class id="_9102" name="integer_traits_base<long long int,-0x8000000000000000,0x7fffffffffffffff>" context="_3903" mangled="N5boost6detail19integer_traits_baseIxLxn9223372036854775808ELx9223372036854775807EEE" demangled="boost::detail::integer_traits_base<long long, (long long)-9223372036854775808, (long long)9223372036854775807>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12116 _12117 _12118 _12119 _12120 " bases=""/>
+  <Constructor id="_9103" name="integer_traits" artificial="1" throw="" context="_3426" access="public" mangled="_ZN5boost14integer_traitsImEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<unsigned long>::integer_traits(boost::integer_traits<unsigned long> const&)" location="f134:156" file="f134" line="156" inline="1">
+    <Argument name="_ctor_arg" type="_12121" location="f134:156" file="f134" line="156"/>
+  </Constructor>
+  <Constructor id="_9104" name="integer_traits" explicit="1" artificial="1" throw="" context="_3426" access="public" mangled="_ZN5boost14integer_traitsImEC1Ev *INTERNAL* " demangled="boost::integer_traits<unsigned long>::integer_traits()" location="f134:156" file="f134" line="156" inline="1"/>
+  <Class id="_9105" name="integer_traits_base<long unsigned int,0,0x0ffffffff>" context="_3903" mangled="N5boost6detail19integer_traits_baseImLm0ELm4294967295EEE" demangled="boost::detail::integer_traits_base<unsigned long, 0l, 4294967295l>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12122 _12123 _12124 _12125 _12126 " bases=""/>
+  <Constructor id="_9106" name="integer_traits" artificial="1" throw="" context="_3427" access="public" mangled="_ZN5boost14integer_traitsIlEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<long>::integer_traits(boost::integer_traits<long> const&)" location="f134:150" file="f134" line="150" inline="1">
+    <Argument name="_ctor_arg" type="_12127" location="f134:150" file="f134" line="150"/>
+  </Constructor>
+  <Constructor id="_9107" name="integer_traits" explicit="1" artificial="1" throw="" context="_3427" access="public" mangled="_ZN5boost14integer_traitsIlEC1Ev *INTERNAL* " demangled="boost::integer_traits<long>::integer_traits()" location="f134:150" file="f134" line="150" inline="1"/>
+  <Class id="_9108" name="integer_traits_base<long int,-2147483648,2147483647>" context="_3903" mangled="N5boost6detail19integer_traits_baseIlLln2147483648ELl2147483647EEE" demangled="boost::detail::integer_traits_base<long, -2147483648l, 2147483647l>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12128 _12129 _12130 _12131 _12132 " bases=""/>
+  <Constructor id="_9109" name="integer_traits" artificial="1" throw="" context="_3428" access="public" mangled="_ZN5boost14integer_traitsIjEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<unsigned>::integer_traits(boost::integer_traits<unsigned> const&)" location="f134:144" file="f134" line="144" inline="1">
+    <Argument name="_ctor_arg" type="_12133" location="f134:144" file="f134" line="144"/>
+  </Constructor>
+  <Constructor id="_9110" name="integer_traits" explicit="1" artificial="1" throw="" context="_3428" access="public" mangled="_ZN5boost14integer_traitsIjEC1Ev *INTERNAL* " demangled="boost::integer_traits<unsigned>::integer_traits()" location="f134:144" file="f134" line="144" inline="1"/>
+  <Class id="_9111" name="integer_traits_base<unsigned int,0,0x0ffffffff>" context="_3903" mangled="N5boost6detail19integer_traits_baseIjLj0ELj4294967295EEE" demangled="boost::detail::integer_traits_base<unsigned, 0, 4294967295>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12134 _12135 _12136 _12137 _12138 " bases=""/>
+  <Constructor id="_9112" name="integer_traits" artificial="1" throw="" context="_3429" access="public" mangled="_ZN5boost14integer_traitsItEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<unsigned short>::integer_traits(boost::integer_traits<unsigned short> const&)" location="f134:132" file="f134" line="132" inline="1">
+    <Argument name="_ctor_arg" type="_12139" location="f134:132" file="f134" line="132"/>
+  </Constructor>
+  <Constructor id="_9113" name="integer_traits" explicit="1" artificial="1" throw="" context="_3429" access="public" mangled="_ZN5boost14integer_traitsItEC1Ev *INTERNAL* " demangled="boost::integer_traits<unsigned short>::integer_traits()" location="f134:132" file="f134" line="132" inline="1"/>
+  <Class id="_9114" name="integer_traits_base<short unsigned int,0,65535>" context="_3903" mangled="N5boost6detail19integer_traits_baseItLt0ELt65535EEE" demangled="boost::detail::integer_traits_base<unsigned short, 0, 65535>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12140 _12141 _12142 _12143 _12144 " bases=""/>
+  <Constructor id="_9115" name="integer_traits" artificial="1" throw="" context="_3430" access="public" mangled="_ZN5boost14integer_traitsIsEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<short>::integer_traits(boost::integer_traits<short> const&)" location="f134:126" file="f134" line="126" inline="1">
+    <Argument name="_ctor_arg" type="_12145" location="f134:126" file="f134" line="126"/>
+  </Constructor>
+  <Constructor id="_9116" name="integer_traits" explicit="1" artificial="1" throw="" context="_3430" access="public" mangled="_ZN5boost14integer_traitsIsEC1Ev *INTERNAL* " demangled="boost::integer_traits<short>::integer_traits()" location="f134:126" file="f134" line="126" inline="1"/>
+  <Class id="_9117" name="integer_traits_base<short int,-32768,32767>" context="_3903" mangled="N5boost6detail19integer_traits_baseIsLsn32768ELs32767EEE" demangled="boost::detail::integer_traits_base<short, -32768, 32767>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12146 _12147 _12148 _12149 _12150 " bases=""/>
+  <Constructor id="_9118" name="integer_traits" artificial="1" throw="" context="_3431" access="public" mangled="_ZN5boost14integer_traitsIwEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<wchar_t>::integer_traits(boost::integer_traits<wchar_t> const&)" location="f134:119" file="f134" line="119" inline="1">
+    <Argument name="_ctor_arg" type="_12151" location="f134:119" file="f134" line="119"/>
+  </Constructor>
+  <Constructor id="_9119" name="integer_traits" explicit="1" artificial="1" throw="" context="_3431" access="public" mangled="_ZN5boost14integer_traitsIwEC1Ev *INTERNAL* " demangled="boost::integer_traits<wchar_t>::integer_traits()" location="f134:119" file="f134" line="119" inline="1"/>
+  <Class id="_9120" name="integer_traits_base<wchar_t,-2147483648,2147483647>" context="_3903" mangled="N5boost6detail19integer_traits_baseIwLwn2147483648ELw2147483647EEE" demangled="boost::detail::integer_traits_base<wchar_t, -2147483648, 2147483647>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12152 _12153 _12154 _12155 _12156 " bases=""/>
+  <Constructor id="_9121" name="integer_traits" artificial="1" throw="" context="_3432" access="public" mangled="_ZN5boost14integer_traitsIhEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<unsigned char>::integer_traits(boost::integer_traits<unsigned char> const&)" location="f134:85" file="f134" line="85" inline="1">
+    <Argument name="_ctor_arg" type="_12157" location="f134:85" file="f134" line="85"/>
+  </Constructor>
+  <Constructor id="_9122" name="integer_traits" explicit="1" artificial="1" throw="" context="_3432" access="public" mangled="_ZN5boost14integer_traitsIhEC1Ev *INTERNAL* " demangled="boost::integer_traits<unsigned char>::integer_traits()" location="f134:85" file="f134" line="85" inline="1"/>
+  <Class id="_9123" name="integer_traits_base<unsigned char,0,255>" context="_3903" mangled="N5boost6detail19integer_traits_baseIhLh0ELh255EEE" demangled="boost::detail::integer_traits_base<unsigned char, 0, 255>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12158 _12159 _12160 _12161 _12162 " bases=""/>
+  <Constructor id="_9124" name="integer_traits" artificial="1" throw="" context="_3433" access="public" mangled="_ZN5boost14integer_traitsIaEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<signed char>::integer_traits(boost::integer_traits<signed char> const&)" location="f134:79" file="f134" line="79" inline="1">
+    <Argument name="_ctor_arg" type="_12163" location="f134:79" file="f134" line="79"/>
+  </Constructor>
+  <Constructor id="_9125" name="integer_traits" explicit="1" artificial="1" throw="" context="_3433" access="public" mangled="_ZN5boost14integer_traitsIaEC1Ev *INTERNAL* " demangled="boost::integer_traits<signed char>::integer_traits()" location="f134:79" file="f134" line="79" inline="1"/>
+  <Class id="_9126" name="integer_traits_base<signed char,-128,127>" context="_3903" mangled="N5boost6detail19integer_traits_baseIaLan128ELa127EEE" demangled="boost::detail::integer_traits_base<signed char, -128, 127>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12164 _12165 _12166 _12167 _12168 " bases=""/>
+  <Constructor id="_9127" name="integer_traits" artificial="1" throw="" context="_3434" access="public" mangled="_ZN5boost14integer_traitsIcEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<char>::integer_traits(boost::integer_traits<char> const&)" location="f134:73" file="f134" line="73" inline="1">
+    <Argument name="_ctor_arg" type="_12169" location="f134:73" file="f134" line="73"/>
+  </Constructor>
+  <Constructor id="_9128" name="integer_traits" explicit="1" artificial="1" throw="" context="_3434" access="public" mangled="_ZN5boost14integer_traitsIcEC1Ev *INTERNAL* " demangled="boost::integer_traits<char>::integer_traits()" location="f134:73" file="f134" line="73" inline="1"/>
+  <Class id="_9129" name="integer_traits_base<char,'\37777777600','\177'>" context="_3903" mangled="N5boost6detail19integer_traits_baseIcLcn128ELc127EEE" demangled="boost::detail::integer_traits_base<char, -128, 127>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12170 _12171 _12172 _12173 _12174 " bases=""/>
+  <Constructor id="_9130" name="integer_traits" artificial="1" throw="" context="_3435" access="public" mangled="_ZN5boost14integer_traitsIbEC1ERKS1_ *INTERNAL* " demangled="boost::integer_traits<bool>::integer_traits(boost::integer_traits<bool> const&)" location="f134:67" file="f134" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_12175" location="f134:67" file="f134" line="67"/>
+  </Constructor>
+  <Constructor id="_9131" name="integer_traits" explicit="1" artificial="1" throw="" context="_3435" access="public" mangled="_ZN5boost14integer_traitsIbEC1Ev *INTERNAL* " demangled="boost::integer_traits<bool>::integer_traits()" location="f134:67" file="f134" line="67" inline="1"/>
+  <Class id="_9132" name="integer_traits_base<bool,false,true>" context="_3903" mangled="N5boost6detail19integer_traits_baseIbLb0ELb1EEE" demangled="boost::detail::integer_traits_base<bool, false, true>" location="f134:42" file="f134" line="42" artificial="1" size="8" align="8" members="_12176 _12177 _12178 _12179 _12180 " bases=""/>
+  <Typedef id="_9133" name="value_type" type="_2508" context="_3436" access="public" location="f135:70" file="f135" line="70"/>
+  <Typedef id="_9134" name="reference" type="_4946" context="_3436" access="public" location="f135:71" file="f135" line="71"/>
+  <Typedef id="_9135" name="const_reference" type="_4948" context="_3436" access="public" location="f135:72" file="f135" line="72"/>
+  <Typedef id="_9136" name="param_type" type="_4948" context="_3436" access="public" location="f135:83" file="f135" line="83"/>
+  <Constructor id="_9137" name="call_traits" artificial="1" throw="" context="_3436" access="public" mangled="_ZN5boost11call_traitsISsEC1ERKS1_ *INTERNAL* " demangled="boost::call_traits<std::string>::call_traits(boost::call_traits<std::string> const&)" location="f135:68" file="f135" line="68" inline="1">
+    <Argument name="_ctor_arg" type="_12181" location="f135:68" file="f135" line="68"/>
+  </Constructor>
+  <Constructor id="_9138" name="call_traits" explicit="1" artificial="1" throw="" context="_3436" access="public" mangled="_ZN5boost11call_traitsISsEC1Ev *INTERNAL* " demangled="boost::call_traits<std::string>::call_traits()" location="f135:68" file="f135" line="68" inline="1"/>
+  <Constructor id="_9139" name="range_value" artificial="1" throw="" context="_3437" access="public" mangled="_ZN5boost11range_valueISsEC1ERKS1_ *INTERNAL* " demangled="boost::range_value<std::string>::range_value(boost::range_value<std::string> const&)" location="f136:31" file="f136" line="31" inline="1">
+    <Argument name="_ctor_arg" type="_12182" location="f136:31" file="f136" line="31"/>
+  </Constructor>
+  <Constructor id="_9140" name="range_value" explicit="1" artificial="1" throw="" context="_3437" access="public" mangled="_ZN5boost11range_valueISsEC1Ev *INTERNAL* " demangled="boost::range_value<std::string>::range_value()" location="f136:31" file="f136" line="31" inline="1"/>
+  <Constructor id="_9141" name="UnsignedInteger" artificial="1" throw="" context="_3438" access="public" mangled="_ZN5boost15UnsignedIntegerIyEC1ERKS1_ *INTERNAL* " demangled="boost::UnsignedInteger<unsigned long long>::UnsignedInteger(boost::UnsignedInteger<unsigned long long> const&)" location="f137:121" file="f137" line="121" inline="1">
+    <Argument name="_ctor_arg" type="_12183" location="f137:121" file="f137" line="121"/>
+  </Constructor>
+  <Constructor id="_9142" name="UnsignedInteger" explicit="1" artificial="1" throw="" context="_3438" access="public" mangled="_ZN5boost15UnsignedIntegerIyEC1Ev *INTERNAL* " demangled="boost::UnsignedInteger<unsigned long long>::UnsignedInteger()" location="f137:121" file="f137" line="121" inline="1"/>
+  <Constructor id="_9143" name="UnsignedInteger" artificial="1" throw="" context="_3439" access="public" mangled="_ZN5boost15UnsignedIntegerImEC1ERKS1_ *INTERNAL* " demangled="boost::UnsignedInteger<unsigned long>::UnsignedInteger(boost::UnsignedInteger<unsigned long> const&)" location="f137:119" file="f137" line="119" inline="1">
+    <Argument name="_ctor_arg" type="_12184" location="f137:119" file="f137" line="119"/>
+  </Constructor>
+  <Constructor id="_9144" name="UnsignedInteger" explicit="1" artificial="1" throw="" context="_3439" access="public" mangled="_ZN5boost15UnsignedIntegerImEC1Ev *INTERNAL* " demangled="boost::UnsignedInteger<unsigned long>::UnsignedInteger()" location="f137:119" file="f137" line="119" inline="1"/>
+  <Constructor id="_9145" name="UnsignedInteger" artificial="1" throw="" context="_3440" access="public" mangled="_ZN5boost15UnsignedIntegerIjEC1ERKS1_ *INTERNAL* " demangled="boost::UnsignedInteger<unsigned>::UnsignedInteger(boost::UnsignedInteger<unsigned> const&)" location="f137:118" file="f137" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_12185" location="f137:118" file="f137" line="118"/>
+  </Constructor>
+  <Constructor id="_9146" name="UnsignedInteger" explicit="1" artificial="1" throw="" context="_3440" access="public" mangled="_ZN5boost15UnsignedIntegerIjEC1Ev *INTERNAL* " demangled="boost::UnsignedInteger<unsigned>::UnsignedInteger()" location="f137:118" file="f137" line="118" inline="1"/>
+  <Constructor id="_9147" name="UnsignedInteger" artificial="1" throw="" context="_3441" access="public" mangled="_ZN5boost15UnsignedIntegerItEC1ERKS1_ *INTERNAL* " demangled="boost::UnsignedInteger<unsigned short>::UnsignedInteger(boost::UnsignedInteger<unsigned short> const&)" location="f137:117" file="f137" line="117" inline="1">
+    <Argument name="_ctor_arg" type="_12186" location="f137:117" file="f137" line="117"/>
+  </Constructor>
+  <Constructor id="_9148" name="UnsignedInteger" explicit="1" artificial="1" throw="" context="_3441" access="public" mangled="_ZN5boost15UnsignedIntegerItEC1Ev *INTERNAL* " demangled="boost::UnsignedInteger<unsigned short>::UnsignedInteger()" location="f137:117" file="f137" line="117" inline="1"/>
+  <Constructor id="_9149" name="UnsignedInteger" artificial="1" throw="" context="_3442" access="public" mangled="_ZN5boost15UnsignedIntegerIhEC1ERKS1_ *INTERNAL* " demangled="boost::UnsignedInteger<unsigned char>::UnsignedInteger(boost::UnsignedInteger<unsigned char> const&)" location="f137:116" file="f137" line="116" inline="1">
+    <Argument name="_ctor_arg" type="_12187" location="f137:116" file="f137" line="116"/>
+  </Constructor>
+  <Constructor id="_9150" name="UnsignedInteger" explicit="1" artificial="1" throw="" context="_3442" access="public" mangled="_ZN5boost15UnsignedIntegerIhEC1Ev *INTERNAL* " demangled="boost::UnsignedInteger<unsigned char>::UnsignedInteger()" location="f137:116" file="f137" line="116" inline="1"/>
+  <Constructor id="_9151" name="SignedInteger" artificial="1" throw="" context="_3443" access="public" mangled="_ZN5boost13SignedIntegerIxEC1ERKS1_ *INTERNAL* " demangled="boost::SignedInteger<long long>::SignedInteger(boost::SignedInteger<long long> const&)" location="f137:101" file="f137" line="101" inline="1">
+    <Argument name="_ctor_arg" type="_12188" location="f137:101" file="f137" line="101"/>
+  </Constructor>
+  <Constructor id="_9152" name="SignedInteger" explicit="1" artificial="1" throw="" context="_3443" access="public" mangled="_ZN5boost13SignedIntegerIxEC1Ev *INTERNAL* " demangled="boost::SignedInteger<long long>::SignedInteger()" location="f137:101" file="f137" line="101" inline="1"/>
+  <Constructor id="_9153" name="SignedInteger" artificial="1" throw="" context="_3444" access="public" mangled="_ZN5boost13SignedIntegerIlEC1ERKS1_ *INTERNAL* " demangled="boost::SignedInteger<long>::SignedInteger(boost::SignedInteger<long> const&)" location="f137:99" file="f137" line="99" inline="1">
+    <Argument name="_ctor_arg" type="_12189" location="f137:99" file="f137" line="99"/>
+  </Constructor>
+  <Constructor id="_9154" name="SignedInteger" explicit="1" artificial="1" throw="" context="_3444" access="public" mangled="_ZN5boost13SignedIntegerIlEC1Ev *INTERNAL* " demangled="boost::SignedInteger<long>::SignedInteger()" location="f137:99" file="f137" line="99" inline="1"/>
+  <Constructor id="_9155" name="SignedInteger" artificial="1" throw="" context="_3445" access="public" mangled="_ZN5boost13SignedIntegerIiEC1ERKS1_ *INTERNAL* " demangled="boost::SignedInteger<int>::SignedInteger(boost::SignedInteger<int> const&)" location="f137:98" file="f137" line="98" inline="1">
+    <Argument name="_ctor_arg" type="_12190" location="f137:98" file="f137" line="98"/>
+  </Constructor>
+  <Constructor id="_9156" name="SignedInteger" explicit="1" artificial="1" throw="" context="_3445" access="public" mangled="_ZN5boost13SignedIntegerIiEC1Ev *INTERNAL* " demangled="boost::SignedInteger<int>::SignedInteger()" location="f137:98" file="f137" line="98" inline="1"/>
+  <Constructor id="_9157" name="SignedInteger" artificial="1" throw="" context="_3446" access="public" mangled="_ZN5boost13SignedIntegerIsEC1ERKS1_ *INTERNAL* " demangled="boost::SignedInteger<short>::SignedInteger(boost::SignedInteger<short> const&)" location="f137:97" file="f137" line="97" inline="1">
+    <Argument name="_ctor_arg" type="_12191" location="f137:97" file="f137" line="97"/>
+  </Constructor>
+  <Constructor id="_9158" name="SignedInteger" explicit="1" artificial="1" throw="" context="_3446" access="public" mangled="_ZN5boost13SignedIntegerIsEC1Ev *INTERNAL* " demangled="boost::SignedInteger<short>::SignedInteger()" location="f137:97" file="f137" line="97" inline="1"/>
+  <Constructor id="_9159" name="SignedInteger" artificial="1" throw="" context="_3447" access="public" mangled="_ZN5boost13SignedIntegerIaEC1ERKS1_ *INTERNAL* " demangled="boost::SignedInteger<signed char>::SignedInteger(boost::SignedInteger<signed char> const&)" location="f137:96" file="f137" line="96" inline="1">
+    <Argument name="_ctor_arg" type="_12192" location="f137:96" file="f137" line="96"/>
+  </Constructor>
+  <Constructor id="_9160" name="SignedInteger" explicit="1" artificial="1" throw="" context="_3447" access="public" mangled="_ZN5boost13SignedIntegerIaEC1Ev *INTERNAL* " demangled="boost::SignedInteger<signed char>::SignedInteger()" location="f137:96" file="f137" line="96" inline="1"/>
+  <Constructor id="_9161" name="Integer" artificial="1" throw="" context="_3448" access="public" mangled="_ZN5boost7IntegerImEC1ERKS1_ *INTERNAL* " demangled="boost::Integer<unsigned long>::Integer(boost::Integer<unsigned long> const&)" location="f137:83" file="f137" line="83" inline="1">
+    <Argument name="_ctor_arg" type="_12193" location="f137:83" file="f137" line="83"/>
+  </Constructor>
+  <Constructor id="_9162" name="Integer" explicit="1" artificial="1" throw="" context="_3448" access="public" mangled="_ZN5boost7IntegerImEC1Ev *INTERNAL* " demangled="boost::Integer<unsigned long>::Integer()" location="f137:83" file="f137" line="83" inline="1"/>
+  <Constructor id="_9163" name="Integer" artificial="1" throw="" context="_3449" access="public" mangled="_ZN5boost7IntegerIlEC1ERKS1_ *INTERNAL* " demangled="boost::Integer<long>::Integer(boost::Integer<long> const&)" location="f137:82" file="f137" line="82" inline="1">
+    <Argument name="_ctor_arg" type="_12194" location="f137:82" file="f137" line="82"/>
+  </Constructor>
+  <Constructor id="_9164" name="Integer" explicit="1" artificial="1" throw="" context="_3449" access="public" mangled="_ZN5boost7IntegerIlEC1Ev *INTERNAL* " demangled="boost::Integer<long>::Integer()" location="f137:82" file="f137" line="82" inline="1"/>
+  <Constructor id="_9165" name="Integer" artificial="1" throw="" context="_3450" access="public" mangled="_ZN5boost7IntegerIjEC1ERKS1_ *INTERNAL* " demangled="boost::Integer<unsigned>::Integer(boost::Integer<unsigned> const&)" location="f137:81" file="f137" line="81" inline="1">
+    <Argument name="_ctor_arg" type="_12195" location="f137:81" file="f137" line="81"/>
+  </Constructor>
+  <Constructor id="_9166" name="Integer" explicit="1" artificial="1" throw="" context="_3450" access="public" mangled="_ZN5boost7IntegerIjEC1Ev *INTERNAL* " demangled="boost::Integer<unsigned>::Integer()" location="f137:81" file="f137" line="81" inline="1"/>
+  <Constructor id="_9167" name="Integer" artificial="1" throw="" context="_3451" access="public" mangled="_ZN5boost7IntegerIiEC1ERKS1_ *INTERNAL* " demangled="boost::Integer<int>::Integer(boost::Integer<int> const&)" location="f137:80" file="f137" line="80" inline="1">
+    <Argument name="_ctor_arg" type="_12196" location="f137:80" file="f137" line="80"/>
+  </Constructor>
+  <Constructor id="_9168" name="Integer" explicit="1" artificial="1" throw="" context="_3451" access="public" mangled="_ZN5boost7IntegerIiEC1Ev *INTERNAL* " demangled="boost::Integer<int>::Integer()" location="f137:80" file="f137" line="80" inline="1"/>
+  <Constructor id="_9169" name="Integer" artificial="1" throw="" context="_3452" access="public" mangled="_ZN5boost7IntegerItEC1ERKS1_ *INTERNAL* " demangled="boost::Integer<unsigned short>::Integer(boost::Integer<unsigned short> const&)" location="f137:79" file="f137" line="79" inline="1">
+    <Argument name="_ctor_arg" type="_12197" location="f137:79" file="f137" line="79"/>
+  </Constructor>
+  <Constructor id="_9170" name="Integer" explicit="1" artificial="1" throw="" context="_3452" access="public" mangled="_ZN5boost7IntegerItEC1Ev *INTERNAL* " demangled="boost::Integer<unsigned short>::Integer()" location="f137:79" file="f137" line="79" inline="1"/>
+  <Constructor id="_9171" name="Integer" artificial="1" throw="" context="_3453" access="public" mangled="_ZN5boost7IntegerIsEC1ERKS1_ *INTERNAL* " demangled="boost::Integer<short>::Integer(boost::Integer<short> const&)" location="f137:78" file="f137" line="78" inline="1">
+    <Argument name="_ctor_arg" type="_12198" location="f137:78" file="f137" line="78"/>
+  </Constructor>
+  <Constructor id="_9172" name="Integer" explicit="1" artificial="1" throw="" context="_3453" access="public" mangled="_ZN5boost7IntegerIsEC1Ev *INTERNAL* " demangled="boost::Integer<short>::Integer()" location="f137:78" file="f137" line="78" inline="1"/>
+  <Constructor id="_9173" name="Integer" artificial="1" throw="" context="_3454" access="public" mangled="_ZN5boost7IntegerIhEC1ERKS1_ *INTERNAL* " demangled="boost::Integer<unsigned char>::Integer(boost::Integer<unsigned char> const&)" location="f137:77" file="f137" line="77" inline="1">
+    <Argument name="_ctor_arg" type="_12199" location="f137:77" file="f137" line="77"/>
+  </Constructor>
+  <Constructor id="_9174" name="Integer" explicit="1" artificial="1" throw="" context="_3454" access="public" mangled="_ZN5boost7IntegerIhEC1Ev *INTERNAL* " demangled="boost::Integer<unsigned char>::Integer()" location="f137:77" file="f137" line="77" inline="1"/>
+  <Constructor id="_9175" name="Integer" artificial="1" throw="" context="_3455" access="public" mangled="_ZN5boost7IntegerIaEC1ERKS1_ *INTERNAL* " demangled="boost::Integer<signed char>::Integer(boost::Integer<signed char> const&)" location="f137:76" file="f137" line="76" inline="1">
+    <Argument name="_ctor_arg" type="_12200" location="f137:76" file="f137" line="76"/>
+  </Constructor>
+  <Constructor id="_9176" name="Integer" explicit="1" artificial="1" throw="" context="_3455" access="public" mangled="_ZN5boost7IntegerIaEC1Ev *INTERNAL* " demangled="boost::Integer<signed char>::Integer()" location="f137:76" file="f137" line="76" inline="1"/>
+  <PointerType id="_9177" type="_10411" size="32" align="32"/>
+  <PointerType id="_9178" type="_10412" size="32" align="32"/>
+  <Field id="_9179" name="m_Begin" type="_3328" offset="0" context="_3458" access="private" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE7m_BeginE" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::m_Begin" location="f138:373" file="f138" line="373"/>
+  <Field id="_9180" name="m_End" type="_3328" offset="32" context="_3458" access="private" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE5m_EndE" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::m_End" location="f138:374" file="f138" line="374"/>
+  <Field id="_9181" name="singular" type="_3949" offset="64" context="_3458" access="private" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE8singularE" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::singular" location="f138:377" file="f138" line="377"/>
+  <Struct id="_9182" name="iterator_range_impl<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3895" incomplete="1" mangled="N5boost21iterator_range_detail19iterator_range_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::iterator_range_detail::iterator_range_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f138:56" file="f138" l [...]
+  <Typedef id="_9183" name="impl" type="_9182" context="_3458" access="protected" location="f138:123" file="f138" line="123"/>
+  <Typedef id="_9184" name="value_type" type="_2961" context="_3458" access="public" location="f138:132" file="f138" line="132"/>
+  <Typedef id="_9185" name="difference_type" type="_1699" context="_3458" access="public" location="f138:136" file="f138" line="136"/>
+  <Typedef id="_9186" name="size_type" type="_1698" context="_3458" access="public" location="f138:139" file="f138" line="139"/>
+  <Typedef id="_9187" name="reference" type="_4165" context="_3458" access="public" location="f138:150" file="f138" line="150"/>
+  <Typedef id="_9188" name="const_iterator" type="_3328" context="_3458" access="public" location="f138:157" file="f138" line="157"/>
+  <Typedef id="_9189" name="iterator" type="_3328" context="_3458" access="public" location="f138:159" file="f138" line="159"/>
+  <PointerType id="_9190" type="_12201" size="32" align="32"/>
+  <Typedef id="_9191" name="unspecified_bool_type" type="_9190" context="_3458" access="public" location="f138:301" file="f138" line="301"/>
+  <Constructor id="_9192" name="iterator_range" artificial="1" throw="" context="_3458" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_range(boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f138:120" file="f138" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_9793" location="f138:120" file="f138" line="120"/>
+  </Constructor>
+  <Constructor id="_9193" name="iterator_range" explicit="1" context="_3458" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_range()" location="f138:161" file="f138" line="161" extern="1" inline="1"/>
+  <OperatorMethod id="_9194" name="=" returns="_12202" context="_3458" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEaSERKS6_" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::operator=(boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f138:227" file="f138" line="227" endline="234" inline="1">
+    <Argument name="r" type="_9793" location="f138:227" file="f138" line="227"/>
+  </OperatorMethod>
+  <Method id="_9195" name="begin" returns="_3328" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE5beginEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::begin() const" location="f138:272" file="f138" line="272" endline="274" inline="1"/>
+  <Method id="_9196" name="end" returns="_3328" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE3endEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::end() const" location="f138:278" file="f138" line="278" endline="280" inline="1"/>
+  <Method id="_9197" name="size" returns="_1698" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE4sizeEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::size() const" location="f138:284" file="f138" line="284" extern="1" inline="1"/>
+  <Method id="_9198" name="empty" returns="_3949" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE5emptyEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::empty() const" location="f138:290" file="f138" line="290" extern="1" inline="1"/>
+  <Converter id="_9199" name="operator 37" returns="_9190" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEcvMS6_KFS5_vEEv" location="f138:303" file="f138" line="303" extern="1" inline="1"/>
+  <Method id="_9200" name="equal" returns="_3949" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE5equalERKS6_" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::equal(boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const&) const" location="f138:309" file="f138" line="309" extern="1" inline="1">
+    <Argument name="r" type="_9793" location="f138:309" file="f138" line="309"/>
+  </Method>
+  <Method id="_9201" name="front" returns="_4165" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE5frontEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::front() const" location="f138:339" file="f138" line="339" extern="1" inline="1"/>
+  <Method id="_9202" name="back" returns="_4165" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE4backEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::back() const" location="f138:345" file="f138" line="345" extern="1" inline="1"/>
+  <OperatorMethod id="_9203" name="[]" returns="_4165" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEixEj" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::operator[](unsigned) const" location="f138:352" file="f138" line="352" extern="1" inline="1">
+    <Argument name="sz" type="_1698" location="f138:352" file="f138" line="352"/>
+  </OperatorMethod>
+  <Method id="_9204" name="advance_begin" returns="_12202" context="_3458" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE13advance_beginEi" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::advance_begin(int)" location="f138:358" file="f138" line="358" extern="1" inline="1">
+    <Argument name="n" type="_1699" location="f138:358" file="f138" line="358"/>
+  </Method>
+  <Method id="_9205" name="advance_end" returns="_12202" context="_3458" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE11advance_endEi" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::advance_end(int)" location="f138:365" file="f138" line="365" extern="1" inline="1">
+    <Argument name="n" type="_1699" location="f138:365" file="f138" line="365"/>
+  </Method>
+  <Method id="_9206" name="is_singular" returns="_3949" const="1" context="_3458" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEE11is_singularEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_singular() const" location="f138:383" file="f138" line="383" endline="384" inline="1"/>
+  <Field id="_9207" name="m_Begin" type="_3330" offset="0" context="_3459" access="private" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE7m_BeginE" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::m_Begin" location="f138:373" file="f138" line="373"/>
+  <Field id="_9208" name="m_End" type="_3330" offset="32" context="_3459" access="private" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE5m_EndE" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::m_End" location="f138:374" file="f138" line="374"/>
+  <Field id="_9209" name="singular" type="_3949" offset="64" context="_3459" access="private" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE8singularE" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::singular" location="f138:377" file="f138" line="377"/>
+  <Struct id="_9210" name="iterator_range_impl<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3895" mangled="N5boost21iterator_range_detail19iterator_range_implIN9__gnu_cxx17__normal_iteratorIPcSsEEEE" demangled="boost::iterator_range_detail::iterator_range_impl<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f138:56" file="f138" line="56" artificial="1" size [...]
+  <Typedef id="_9211" name="impl" type="_9210" context="_3459" access="protected" location="f138:123" file="f138" line="123"/>
+  <Typedef id="_9212" name="value_type" type="_2961" context="_3459" access="public" location="f138:132" file="f138" line="132"/>
+  <Typedef id="_9213" name="difference_type" type="_1699" context="_3459" access="public" location="f138:136" file="f138" line="136"/>
+  <Typedef id="_9214" name="size_type" type="_1698" context="_3459" access="public" location="f138:139" file="f138" line="139"/>
+  <Typedef id="_9215" name="reference" type="_4163" context="_3459" access="public" location="f138:150" file="f138" line="150"/>
+  <Typedef id="_9216" name="const_iterator" type="_3330" context="_3459" access="public" location="f138:157" file="f138" line="157"/>
+  <Typedef id="_9217" name="iterator" type="_3330" context="_3459" access="public" location="f138:159" file="f138" line="159"/>
+  <PointerType id="_9218" type="_12205" size="32" align="32"/>
+  <Typedef id="_9219" name="unspecified_bool_type" type="_9218" context="_3459" access="public" location="f138:301" file="f138" line="301"/>
+  <Constructor id="_9220" name="iterator_range" artificial="1" throw="" context="_3459" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1ERKS5_ *INTERNAL* " demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_range(boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const&)" location="f138:120" file="f138" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_9792" location="f138:120" file="f138" line="120"/>
+  </Constructor>
+  <Constructor id="_9221" name="iterator_range" explicit="1" context="_3459" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_range()" location="f138:161" file="f138" line="161" extern="1" inline="1"/>
+  <OperatorMethod id="_9222" name="=" returns="_9795" context="_3459" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEaSERKS5_" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::operator=(boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const&)" location="f138:227" file="f138" line="227" extern="1" inline="1">
+    <Argument name="r" type="_9792" location="f138:227" file="f138" line="227"/>
+  </OperatorMethod>
+  <Method id="_9223" name="begin" returns="_3330" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE5beginEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::begin() const" location="f138:272" file="f138" line="272" endline="274" inline="1"/>
+  <Method id="_9224" name="end" returns="_3330" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE3endEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::end() const" location="f138:278" file="f138" line="278" endline="280" inline="1"/>
+  <Method id="_9225" name="size" returns="_1698" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE4sizeEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::size() const" location="f138:284" file="f138" line="284" extern="1" inline="1"/>
+  <Method id="_9226" name="empty" returns="_3949" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE5emptyEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::empty() const" location="f138:290" file="f138" line="290" endline="292" inline="1"/>
+  <Converter id="_9227" name="operator 38" returns="_9218" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEcvMS5_KFS4_vEEv" location="f138:303" file="f138" line="303" endline="304" inline="1"/>
+  <Method id="_9228" name="equal" returns="_3949" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE5equalERKS5_" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::equal(boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const&) const" location="f138:309" file="f138" line="309" extern="1" inline="1">
+    <Argument name="r" type="_9792" location="f138:309" file="f138" line="309"/>
+  </Method>
+  <Method id="_9229" name="front" returns="_4163" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE5frontEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::front() const" location="f138:339" file="f138" line="339" extern="1" inline="1"/>
+  <Method id="_9230" name="back" returns="_4163" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE4backEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::back() const" location="f138:345" file="f138" line="345" extern="1" inline="1"/>
+  <OperatorMethod id="_9231" name="[]" returns="_4163" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEixEj" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::operator[](unsigned) const" location="f138:352" file="f138" line="352" extern="1" inline="1">
+    <Argument name="sz" type="_1698" location="f138:352" file="f138" line="352"/>
+  </OperatorMethod>
+  <Method id="_9232" name="advance_begin" returns="_9795" context="_3459" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE13advance_beginEi" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::advance_begin(int)" location="f138:358" file="f138" line="358" extern="1" inline="1">
+    <Argument name="n" type="_1699" location="f138:358" file="f138" line="358"/>
+  </Method>
+  <Method id="_9233" name="advance_end" returns="_9795" context="_3459" access="public" mangled="_ZN5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE11advance_endEi" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::advance_end(int)" location="f138:365" file="f138" line="365" extern="1" inline="1">
+    <Argument name="n" type="_1699" location="f138:365" file="f138" line="365"/>
+  </Method>
+  <Method id="_9234" name="is_singular" returns="_3949" const="1" context="_3459" access="public" mangled="_ZNK5boost14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEE11is_singularEv" demangled="boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >::is_singular() const" location="f138:383" file="f138" line="383" endline="384" inline="1"/>
+  <Field id="_9235" name="m_Begin" type="_2749" offset="0" context="_3460" access="private" mangled="_ZN5boost14iterator_rangeIPKcE7m_BeginE" demangled="boost::iterator_range<char const*>::m_Begin" location="f138:373" file="f138" line="373"/>
+  <Field id="_9236" name="m_End" type="_2749" offset="32" context="_3460" access="private" mangled="_ZN5boost14iterator_rangeIPKcE5m_EndE" demangled="boost::iterator_range<char const*>::m_End" location="f138:374" file="f138" line="374"/>
+  <Field id="_9237" name="singular" type="_3949" offset="64" context="_3460" access="private" mangled="_ZN5boost14iterator_rangeIPKcE8singularE" demangled="boost::iterator_range<char const*>::singular" location="f138:377" file="f138" line="377"/>
+  <Struct id="_9238" name="iterator_range_impl<const char*>" context="_3895" incomplete="1" mangled="N5boost21iterator_range_detail19iterator_range_implIPKcEE" demangled="boost::iterator_range_detail::iterator_range_impl<char const*>" location="f138:56" file="f138" line="56" artificial="1" align="8"/>
+  <Typedef id="_9239" name="impl" type="_9238" context="_3460" access="protected" location="f138:123" file="f138" line="123"/>
+  <Typedef id="_9240" name="value_type" type="_2961" context="_3460" access="public" location="f138:132" file="f138" line="132"/>
+  <Typedef id="_9241" name="difference_type" type="_1699" context="_3460" access="public" location="f138:136" file="f138" line="136"/>
+  <Typedef id="_9242" name="size_type" type="_1698" context="_3460" access="public" location="f138:139" file="f138" line="139"/>
+  <Typedef id="_9243" name="reference" type="_4165" context="_3460" access="public" location="f138:150" file="f138" line="150"/>
+  <Typedef id="_9244" name="const_iterator" type="_2749" context="_3460" access="public" location="f138:157" file="f138" line="157"/>
+  <Typedef id="_9245" name="iterator" type="_2749" context="_3460" access="public" location="f138:159" file="f138" line="159"/>
+  <PointerType id="_9246" type="_12206" size="32" align="32"/>
+  <Typedef id="_9247" name="unspecified_bool_type" type="_9246" context="_3460" access="public" location="f138:301" file="f138" line="301"/>
+  <Constructor id="_9248" name="iterator_range" artificial="1" throw="" context="_3460" access="public" mangled="_ZN5boost14iterator_rangeIPKcEC1ERKS3_ *INTERNAL* " demangled="boost::iterator_range<char const*>::iterator_range(boost::iterator_range<char const*> const&)" location="f138:120" file="f138" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_9791" location="f138:120" file="f138" line="120"/>
+  </Constructor>
+  <Constructor id="_9249" name="iterator_range" explicit="1" context="_3460" access="public" mangled="_ZN5boost14iterator_rangeIPKcEC1Ev *INTERNAL* " demangled="boost::iterator_range<char const*>::iterator_range()" location="f138:161" file="f138" line="161" extern="1" inline="1"/>
+  <OperatorMethod id="_9250" name="=" returns="_12207" context="_3460" access="public" mangled="_ZN5boost14iterator_rangeIPKcEaSERKS3_" demangled="boost::iterator_range<char const*>::operator=(boost::iterator_range<char const*> const&)" location="f138:227" file="f138" line="227" extern="1" inline="1">
+    <Argument name="r" type="_9791" location="f138:227" file="f138" line="227"/>
+  </OperatorMethod>
+  <Method id="_9251" name="begin" returns="_2749" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcE5beginEv" demangled="boost::iterator_range<char const*>::begin() const" location="f138:272" file="f138" line="272" endline="274" inline="1"/>
+  <Method id="_9252" name="end" returns="_2749" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcE3endEv" demangled="boost::iterator_range<char const*>::end() const" location="f138:278" file="f138" line="278" endline="280" inline="1"/>
+  <Method id="_9253" name="size" returns="_1698" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcE4sizeEv" demangled="boost::iterator_range<char const*>::size() const" location="f138:284" file="f138" line="284" extern="1" inline="1"/>
+  <Method id="_9254" name="empty" returns="_3949" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcE5emptyEv" demangled="boost::iterator_range<char const*>::empty() const" location="f138:290" file="f138" line="290" extern="1" inline="1"/>
+  <Converter id="_9255" name="operator 36" returns="_9246" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcEcvMS3_KFS2_vEEv" location="f138:303" file="f138" line="303" extern="1" inline="1"/>
+  <Method id="_9256" name="equal" returns="_3949" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcE5equalERKS3_" demangled="boost::iterator_range<char const*>::equal(boost::iterator_range<char const*> const&) const" location="f138:309" file="f138" line="309" extern="1" inline="1">
+    <Argument name="r" type="_9791" location="f138:309" file="f138" line="309"/>
+  </Method>
+  <Method id="_9257" name="front" returns="_4165" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcE5frontEv" demangled="boost::iterator_range<char const*>::front() const" location="f138:339" file="f138" line="339" extern="1" inline="1"/>
+  <Method id="_9258" name="back" returns="_4165" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcE4backEv" demangled="boost::iterator_range<char const*>::back() const" location="f138:345" file="f138" line="345" extern="1" inline="1"/>
+  <OperatorMethod id="_9259" name="[]" returns="_4165" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcEixEj" demangled="boost::iterator_range<char const*>::operator[](unsigned) const" location="f138:352" file="f138" line="352" extern="1" inline="1">
+    <Argument name="sz" type="_1698" location="f138:352" file="f138" line="352"/>
+  </OperatorMethod>
+  <Method id="_9260" name="advance_begin" returns="_12207" context="_3460" access="public" mangled="_ZN5boost14iterator_rangeIPKcE13advance_beginEi" demangled="boost::iterator_range<char const*>::advance_begin(int)" location="f138:358" file="f138" line="358" extern="1" inline="1">
+    <Argument name="n" type="_1699" location="f138:358" file="f138" line="358"/>
+  </Method>
+  <Method id="_9261" name="advance_end" returns="_12207" context="_3460" access="public" mangled="_ZN5boost14iterator_rangeIPKcE11advance_endEi" demangled="boost::iterator_range<char const*>::advance_end(int)" location="f138:365" file="f138" line="365" extern="1" inline="1">
+    <Argument name="n" type="_1699" location="f138:365" file="f138" line="365"/>
+  </Method>
+  <Method id="_9262" name="is_singular" returns="_3949" const="1" context="_3460" access="public" mangled="_ZNK5boost14iterator_rangeIPKcE11is_singularEv" demangled="boost::iterator_range<char const*>::is_singular() const" location="f138:383" file="f138" line="383" endline="384" inline="1"/>
+  <Constructor id="_9263" name="enable_if_convertible" artificial="1" throw="" context="_3461" access="public" mangled="_ZN5boost21enable_if_convertibleIN9__gnu_cxx17__normal_iteratorIPKcSsEES5_EC1ERKS6_ *INTERNAL* " demangled="boost::enable_if_convertible<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::enable_if_convertible(boost::enable_if_convertible<__gnu_cxx::__normal_iterator<char const*, std: [...]
+    <Argument name="_ctor_arg" type="_12208" location="f139:149" file="f139" line="149"/>
+  </Constructor>
+  <Constructor id="_9264" name="enable_if_convertible" explicit="1" artificial="1" throw="" context="_3461" access="public" mangled="_ZN5boost21enable_if_convertibleIN9__gnu_cxx17__normal_iteratorIPKcSsEES5_EC1Ev *INTERNAL* " demangled="boost::enable_if_convertible<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::enable_if_convertible()" location="f139:149" file="f139" line="149" inline="1"/>
+  <Struct id="_9265" name="enable_if<boost::is_convertible<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,boost::detail::enable_type>" context="_3896" mangled="N5boost9iterators9enable_ifINS_14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKcSsEE [...]
+    <Base type="_10429" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_9266" name="enable_if_convertible" artificial="1" throw="" context="_3462" access="public" mangled="_ZN5boost21enable_if_convertibleIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEES9_EC1ERKSA_ *INTERNAL* " demangled="boost::enable_if_convertible<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t const*, std::b [...]
+    <Argument name="_ctor_arg" type="_12211" location="f139:149" file="f139" line="149"/>
+  </Constructor>
+  <Constructor id="_9267" name="enable_if_convertible" explicit="1" artificial="1" throw="" context="_3462" access="public" mangled="_ZN5boost21enable_if_convertibleIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEES9_EC1Ev *INTERNAL* " demangled="boost::enable_if_convertible<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t const [...]
+  <Struct id="_9268" name="enable_if<boost::is_convertible<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >,boost::detail::enable_type>" context="_3896" mangled="N5boost9iterators9enable_ifINS_14is_convertibleIN9__gnu_cxx17_ [...]
+    <Base type="_10429" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <ReferenceType id="_9269" type="_3466c" size="32" align="32"/>
+  <ReferenceType id="_9270" type="_3467c" size="32" align="32"/>
+  <Constructor id="_9271" name="iterator_core_access" artificial="1" throw="" context="_3465" access="public" mangled="_ZN5boost20iterator_core_accessC1ERKS0_ *INTERNAL* " demangled="boost::iterator_core_access::iterator_core_access(boost::iterator_core_access const&)" location="f140:472" file="f140" line="472" inline="1">
+    <Argument name="_ctor_arg" type="_12216" location="f140:472" file="f140" line="472"/>
+  </Constructor>
+  <Method id="_9272" name="dereference" returns="_4947" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access11dereferenceINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS5_SaIwEEEESC_EEEEN6Facade9referenceERKSF_" demangled="Facade::reference boost::iterator_core_access::dereference<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_itera [...]
+    <Argument name="f" type="_12062" location="f140:516" file="f140" line="516"/>
+  </Method>
+  <Method id="_9273" name="dereference" returns="_4948" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access11dereferenceINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEEN6Facade9referenceERKSA_" demangled="Facade::reference boost::iterator_core_access::dereference<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >(Facade const&)"  [...]
+    <Argument name="f" type="_12063" location="f140:516" file="f140" line="516"/>
+  </Method>
+  <Method id="_9274" name="dereference" returns="_4948" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access11dereferenceINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEEN6Facade9referenceERKSD_" demangled="Facade::reference boost::iterator_core_access::dereference<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const* [...]
+    <Argument name="f" type="_12064" location="f140:516" file="f140" line="516"/>
+  </Method>
+  <Method id="_9275" name="increment" returns="_1194" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access9incrementINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS5_SaIwEEEESC_EEEEvRT_" demangled="void boost::iterator_core_access::increment<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string [...]
+    <Argument name="f" type="_12217" location="f140:522" file="f140" line="522"/>
+  </Method>
+  <Method id="_9276" name="increment" returns="_1194" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access9incrementINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEEvRT_" demangled="void boost::iterator_core_access::increment<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >(boost::token_iterator<boost::offset_separator, __gnu_cxx: [...]
+    <Argument name="f" type="_9752" location="f140:522" file="f140" line="522"/>
+  </Method>
+  <Method id="_9277" name="increment" returns="_1194" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access9incrementINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEEvRT_" demangled="void boost::iterator_core_access::increment<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >( [...]
+    <Argument name="f" type="_9756" location="f140:522" file="f140" line="522"/>
+  </Method>
+  <Method id="_9278" name="equal" returns="_3949" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access5equalINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE" demangled="bool boost::iterator_core_access::equal<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separator [...]
+    <Argument name="f1" type="_12063" location="f140:534" file="f140" line="534"/>
+    <Argument name="f2" type="_12063" location="f140:534" file="f140" line="534"/>
+    <Argument type="_3261" location="f140:534" file="f140" line="534"/>
+  </Method>
+  <Method id="_9279" name="equal" returns="_3949" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access5equalINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE" demangled="bool boost::iterator_core_access::equal<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std:: [...]
+    <Argument name="f1" type="_12064" location="f140:534" file="f140" line="534"/>
+    <Argument name="f2" type="_12064" location="f140:534" file="f140" line="534"/>
+    <Argument type="_3261" location="f140:534" file="f140" line="534"/>
+  </Method>
+  <Method id="_9280" name="equal" returns="_3949" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access5equalINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EEbRKT_RKT0_N4mpl_5bool_ILb0EEE" demangled="bool boost::iterator_core_access::equal<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separator [...]
+    <Argument name="f1" type="_12063" location="f140:540" file="f140" line="540"/>
+    <Argument name="f2" type="_12063" location="f140:540" file="f140" line="540"/>
+    <Argument type="_3259" location="f140:540" file="f140" line="540"/>
+  </Method>
+  <Method id="_9281" name="equal" returns="_3949" static="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_access5equalINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EEbRKT_RKT0_N4mpl_5bool_ILb0EEE" demangled="bool boost::iterator_core_access::equal<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std:: [...]
+    <Argument name="f1" type="_12064" location="f140:540" file="f140" line="540"/>
+    <Argument name="f2" type="_12064" location="f140:540" file="f140" line="540"/>
+    <Argument type="_3259" location="f140:540" file="f140" line="540"/>
+  </Method>
+  <Constructor id="_9282" name="iterator_core_access" explicit="1" context="_3465" access="private" mangled="_ZN5boost20iterator_core_accessC1Ev *INTERNAL* " demangled="boost::iterator_core_access::iterator_core_access()" location="f140:581" file="f140" line="581" extern="1"/>
+  <Struct id="_9283" name="iterator_facade_types<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,boost::forward_traversal_tag,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,int>" context="_3903" mangled="N5boost6detail21iterator_facade_typesISsNS_21forward_traversal_tagERKSsiEE" demangled="boost::detail::iterator_facade_types<std::string, boost::forward_traversal_tag, std::string const& [...]
+  <Typedef id="_9284" name="associated_types" type="_9283" context="_3466" access="private" location="f140:619" file="f140" line="619"/>
+  <Typedef id="_9285" name="value_type" type="_2508" context="_3466" access="public" location="f140:627" file="f140" line="627"/>
+  <Typedef id="_9286" name="reference" type="_4948" context="_3466" access="public" location="f140:628" file="f140" line="628"/>
+  <Typedef id="_9287" name="difference_type" type="_1699" context="_3466" access="public" location="f140:629" file="f140" line="629"/>
+  <PointerType id="_9288" type="_2508c" size="32" align="32"/>
+  <Typedef id="_9289" name="pointer" type="_9288" context="_3466" access="public" location="f140:630" file="f140" line="630"/>
+  <Typedef id="_9290" name="iterator_category" type="_2702" context="_3466" access="public" location="f140:631" file="f140" line="631"/>
+  <Constructor id="_9291" name="iterator_facade" artificial="1" throw="" context="_3466" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEC1ERKSC_ *INTERNAL* " demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, s [...]
+    <Argument name="_ctor_arg" type="_9269" location="f140:602" file="f140" line="602"/>
+  </Constructor>
+  <Constructor id="_9292" name="iterator_facade" explicit="1" artificial="1" throw="" context="_3466" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEC1Ev *INTERNAL* " demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_travers [...]
+  <Method id="_9293" name="derived" returns="_9752" context="_3466" access="private" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiE7derivedEv" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&, int> [...]
+  <Method id="_9294" name="derived" returns="_12063" const="1" context="_3466" access="private" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiE7derivedEv" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&a [...]
+  <OperatorMethod id="_9295" name="*" returns="_4948" const="1" context="_3466" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEdeEv" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&, i [...]
+  <OperatorMethod id="_9296" name="->" returns="_9288" const="1" context="_3466" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEptEv" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&amp [...]
+  <OperatorMethod id="_9297" name="[]" returns="_10907" const="1" context="_3466" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEixEi" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&, [...]
+    <Argument name="n" type="_1699" location="f140:654" file="f140" line="654"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9298" name="++" returns="_9752" context="_3466" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEppEv" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&, int>::op [...]
+  <OperatorMethod id="_9299" name="--" returns="_9752" context="_3466" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEmmEv" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&, int>::op [...]
+  <OperatorMethod id="_9300" name="--" returns="_3362" context="_3466" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEmmEi" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&, int>::op [...]
+    <Argument type="_503" location="f140:687" file="f140" line="687"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9301" name="+=" returns="_9752" context="_3466" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEpLEi" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&, int>::op [...]
+    <Argument name="n" type="_1699" location="f140:694" file="f140" line="694"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9302" name="-=" returns="_9752" context="_3466" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEmIEi" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&, int>::op [...]
+    <Argument name="n" type="_1699" location="f140:700" file="f140" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9303" name="-" returns="_3362" const="1" context="_3466" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEmiEi" demangled="boost::iterator_facade<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost::forward_traversal_tag, std::string const&, i [...]
+    <Argument name="x" type="_1699" location="f140:706" file="f140" line="706"/>
+  </OperatorMethod>
+  <Typedef id="_9304" name="associated_types" type="_9283" context="_3467" access="private" location="f140:619" file="f140" line="619"/>
+  <Typedef id="_9305" name="value_type" type="_2508" context="_3467" access="public" location="f140:627" file="f140" line="627"/>
+  <Typedef id="_9306" name="reference" type="_4948" context="_3467" access="public" location="f140:628" file="f140" line="628"/>
+  <Typedef id="_9307" name="difference_type" type="_1699" context="_3467" access="public" location="f140:629" file="f140" line="629"/>
+  <Typedef id="_9308" name="pointer" type="_9288" context="_3467" access="public" location="f140:630" file="f140" line="630"/>
+  <Typedef id="_9309" name="iterator_category" type="_2702" context="_3467" access="public" location="f140:631" file="f140" line="631"/>
+  <Constructor id="_9310" name="iterator_facade" artificial="1" throw="" context="_3467" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEC1ERKSF_ *INTERNAL* " demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, s [...]
+    <Argument name="_ctor_arg" type="_9270" location="f140:602" file="f140" line="602"/>
+  </Constructor>
+  <Constructor id="_9311" name="iterator_facade" explicit="1" artificial="1" throw="" context="_3467" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEC1Ev *INTERNAL* " demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::stri [...]
+  <Method id="_9312" name="derived" returns="_9756" context="_3467" access="private" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiE7derivedEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, b [...]
+  <Method id="_9313" name="derived" returns="_12064" const="1" context="_3467" access="private" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiE7derivedEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, st [...]
+  <OperatorMethod id="_9314" name="*" returns="_4948" const="1" context="_3467" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEdeEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::str [...]
+  <OperatorMethod id="_9315" name="->" returns="_9288" const="1" context="_3467" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEptEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std: [...]
+  <OperatorMethod id="_9316" name="[]" returns="_10908" const="1" context="_3467" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEixEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::s [...]
+    <Argument name="n" type="_1699" location="f140:654" file="f140" line="654"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9317" name="++" returns="_9756" context="_3467" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEppEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost [...]
+  <OperatorMethod id="_9318" name="--" returns="_9756" context="_3467" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEmmEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost [...]
+  <OperatorMethod id="_9319" name="--" returns="_3363" context="_3467" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEmmEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost [...]
+    <Argument type="_503" location="f140:687" file="f140" line="687"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9320" name="+=" returns="_9756" context="_3467" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEpLEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost [...]
+    <Argument name="n" type="_1699" location="f140:694" file="f140" line="694"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9321" name="-=" returns="_9756" context="_3467" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEmIEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, boost [...]
+    <Argument name="n" type="_1699" location="f140:700" file="f140" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9322" name="-" returns="_3363" const="1" context="_3467" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsNS_21forward_traversal_tagERKSsiEmiEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::str [...]
+    <Argument name="x" type="_1699" location="f140:706" file="f140" line="706"/>
+  </OperatorMethod>
+  <Struct id="_9323" name="iterator_facade_types<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,boost::forward_traversal_tag,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&,int>" context="_3903" mangled="N5boost6detail21iterator_facade_typesISbIwSt11char_traitsIwESaIwEENS_21forward_traversal_tagERKS5_iEE" demangled="boost::detail::iterator_facade_types<std::basic_strin [...]
+  <Typedef id="_9324" name="associated_types" type="_9323" context="_3468" access="private" location="f140:619" file="f140" line="619"/>
+  <Typedef id="_9325" name="value_type" type="_2506" context="_3468" access="public" location="f140:627" file="f140" line="627"/>
+  <Typedef id="_9326" name="reference" type="_4947" context="_3468" access="public" location="f140:628" file="f140" line="628"/>
+  <Typedef id="_9327" name="difference_type" type="_1699" context="_3468" access="public" location="f140:629" file="f140" line="629"/>
+  <PointerType id="_9328" type="_2506c" size="32" align="32"/>
+  <Typedef id="_9329" name="pointer" type="_9328" context="_3468" access="public" location="f140:630" file="f140" line="630"/>
+  <Typedef id="_9330" name="iterator_category" type="_2702" context="_3468" access="public" location="f140:631" file="f140" line="631"/>
+  <Constructor id="_9331" name="iterator_facade" artificial="1" throw="" context="_3468" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEC1ERKSH_ *INTERNAL* " demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t con [...]
+    <Argument name="_ctor_arg" type="_12228" location="f140:602" file="f140" line="602"/>
+  </Constructor>
+  <Constructor id="_9332" name="iterator_facade" explicit="1" artificial="1" throw="" context="_3468" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEC1Ev *INTERNAL* " demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wc [...]
+  <Method id="_9333" name="derived" returns="_12217" context="_3468" access="private" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iE7derivedEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wch [...]
+  <Method id="_9334" name="derived" returns="_12062" const="1" context="_3468" access="private" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iE7derivedEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_st [...]
+  <OperatorMethod id="_9335" name="*" returns="_4947" const="1" context="_3468" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEdeEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string&l [...]
+  <OperatorMethod id="_9336" name="->" returns="_9328" const="1" context="_3468" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEptEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_stri [...]
+  <OperatorMethod id="_9337" name="[]" returns="_10906" const="1" context="_3468" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEixEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string [...]
+    <Argument name="n" type="_1699" location="f140:654" file="f140" line="654"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9338" name="++" returns="_12217" context="_3468" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEppEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t [...]
+  <OperatorMethod id="_9339" name="--" returns="_12217" context="_3468" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEmmEv" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t [...]
+  <OperatorMethod id="_9340" name="--" returns="_3361" context="_3468" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEmmEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, [...]
+    <Argument type="_503" location="f140:687" file="f140" line="687"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9341" name="+=" returns="_12217" context="_3468" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEpLEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t [...]
+    <Argument name="n" type="_1699" location="f140:694" file="f140" line="694"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9342" name="-=" returns="_12217" context="_3468" access="public" mangled="_ZN5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEmIEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t [...]
+    <Argument name="n" type="_1699" location="f140:700" file="f140" line="700"/>
+  </OperatorMethod>
+  <OperatorMethod id="_9343" name="-" returns="_3361" const="1" context="_3468" access="public" mangled="_ZNK5boost15iterator_facadeINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS4_SaIwEEEESB_EESB_NS_21forward_traversal_tagERKSB_iEmiEi" demangled="boost::iterator_facade<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string&l [...]
+    <Argument name="x" type="_1699" location="f140:706" file="f140" line="706"/>
+  </OperatorMethod>
+  <Constructor id="_9344" name="is_POD" artificial="1" throw="" context="_3469" access="public" mangled="_ZN5boost6is_PODISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_POD(boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f141:128" file="f141" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_12229" location="f141:128" file="f141" line="128"/>
+  </Constructor>
+  <Constructor id="_9345" name="is_POD" explicit="1" artificial="1" throw="" context="_3469" access="public" mangled="_ZN5boost6is_PODISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_POD()" location="f141:128" file="f141" line="128" inline="1"/>
+  <Constructor id="_9346" name="is_POD" artificial="1" throw="" context="_3470" access="public" mangled="_ZN5boost6is_PODISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_POD<std::string>::is_POD(boost::is_POD<std::string> const&)" location="f141:128" file="f141" line="128" inline="1">
+    <Argument name="_ctor_arg" type="_12230" location="f141:128" file="f141" line="128"/>
+  </Constructor>
+  <Constructor id="_9347" name="is_POD" explicit="1" artificial="1" throw="" context="_3470" access="public" mangled="_ZN5boost6is_PODISsEC1Ev *INTERNAL* " demangled="boost::is_POD<std::string>::is_POD()" location="f141:128" file="f141" line="128" inline="1"/>
+  <Constructor id="_9348" name="is_scalar" artificial="1" throw="" context="_3471" access="public" mangled="_ZN5boost9is_scalarISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_scalar<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_scalar(boost::is_scalar<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f142:49" file="f142" l [...]
+    <Argument name="_ctor_arg" type="_12231" location="f142:49" file="f142" line="49"/>
+  </Constructor>
+  <Constructor id="_9349" name="is_scalar" explicit="1" artificial="1" throw="" context="_3471" access="public" mangled="_ZN5boost9is_scalarISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_scalar<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_scalar()" location="f142:49" file="f142" line="49" inline="1"/>
+  <Constructor id="_9350" name="is_scalar" artificial="1" throw="" context="_3472" access="public" mangled="_ZN5boost9is_scalarISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_scalar<std::string>::is_scalar(boost::is_scalar<std::string> const&)" location="f142:49" file="f142" line="49" inline="1">
+    <Argument name="_ctor_arg" type="_12232" location="f142:49" file="f142" line="49"/>
+  </Constructor>
+  <Constructor id="_9351" name="is_scalar" explicit="1" artificial="1" throw="" context="_3472" access="public" mangled="_ZN5boost9is_scalarISsEC1Ev *INTERNAL* " demangled="boost::is_scalar<std::string>::is_scalar()" location="f142:49" file="f142" line="49" inline="1"/>
+  <Constructor id="_9352" name="is_enum" artificial="1" throw="" context="_3473" access="public" mangled="_ZN5boost7is_enumISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_enum<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_enum(boost::is_enum<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f143:166" file="f143" line="166" [...]
+    <Argument name="_ctor_arg" type="_12233" location="f143:166" file="f143" line="166"/>
+  </Constructor>
+  <Constructor id="_9353" name="is_enum" explicit="1" artificial="1" throw="" context="_3473" access="public" mangled="_ZN5boost7is_enumISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_enum<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_enum()" location="f143:166" file="f143" line="166" inline="1"/>
+  <Constructor id="_9354" name="is_enum" artificial="1" throw="" context="_3474" access="public" mangled="_ZN5boost7is_enumISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_enum<std::string>::is_enum(boost::is_enum<std::string> const&)" location="f143:166" file="f143" line="166" inline="1">
+    <Argument name="_ctor_arg" type="_12234" location="f143:166" file="f143" line="166"/>
+  </Constructor>
+  <Constructor id="_9355" name="is_enum" explicit="1" artificial="1" throw="" context="_3474" access="public" mangled="_ZN5boost7is_enumISsEC1Ev *INTERNAL* " demangled="boost::is_enum<std::string>::is_enum()" location="f143:166" file="f143" line="166" inline="1"/>
+  <Typedef id="_9356" name="type" type="_9328" context="_3475" access="public" location="f144:66" file="f144" line="66"/>
+  <Constructor id="_9357" name="add_pointer" artificial="1" throw="" context="_3475" access="public" mangled="_ZN5boost11add_pointerIKSbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>::add_pointer(boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const> const&)" location=" [...]
+    <Argument name="_ctor_arg" type="_12235" location="f144:66" file="f144" line="66"/>
+  </Constructor>
+  <Constructor id="_9358" name="add_pointer" explicit="1" artificial="1" throw="" context="_3475" access="public" mangled="_ZN5boost11add_pointerIKSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>::add_pointer()" location="f144:66" file="f144" line="66" inline="1"/>
+  <Typedef id="_9359" name="type" type="_9288" context="_3477" access="public" location="f144:66" file="f144" line="66"/>
+  <Constructor id="_9360" name="add_pointer" artificial="1" throw="" context="_3477" access="public" mangled="_ZN5boost11add_pointerIKSsEC1ERKS2_ *INTERNAL* " demangled="boost::add_pointer<std::string const>::add_pointer(boost::add_pointer<std::string const> const&)" location="f144:66" file="f144" line="66" inline="1">
+    <Argument name="_ctor_arg" type="_12236" location="f144:66" file="f144" line="66"/>
+  </Constructor>
+  <Constructor id="_9361" name="add_pointer" explicit="1" artificial="1" throw="" context="_3477" access="public" mangled="_ZN5boost11add_pointerIKSsEC1Ev *INTERNAL* " demangled="boost::add_pointer<std::string const>::add_pointer()" location="f144:66" file="f144" line="66" inline="1"/>
+  <Typedef id="_9362" name="type" type="_2506c" context="_3481" access="public" location="f147:27" file="f147" line="27"/>
+  <Constructor id="_9363" name="remove_reference" artificial="1" throw="" context="_3481" access="public" mangled="_ZN5boost16remove_referenceIKSbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::remove_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>::remove_reference(boost::remove_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&gt [...]
+    <Argument name="_ctor_arg" type="_12237" location="f147:27" file="f147" line="27"/>
+  </Constructor>
+  <Constructor id="_9364" name="remove_reference" explicit="1" artificial="1" throw="" context="_3481" access="public" mangled="_ZN5boost16remove_referenceIKSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::remove_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>::remove_reference()" location="f147:27" file="f147" line="27" inline="1"/>
+  <Typedef id="_9365" name="type" type="_2508c" context="_3482" access="public" location="f147:27" file="f147" line="27"/>
+  <Constructor id="_9366" name="remove_reference" artificial="1" throw="" context="_3482" access="public" mangled="_ZN5boost16remove_referenceIKSsEC1ERKS2_ *INTERNAL* " demangled="boost::remove_reference<std::string const>::remove_reference(boost::remove_reference<std::string const> const&)" location="f147:27" file="f147" line="27" inline="1">
+    <Argument name="_ctor_arg" type="_12238" location="f147:27" file="f147" line="27"/>
+  </Constructor>
+  <Constructor id="_9367" name="remove_reference" explicit="1" artificial="1" throw="" context="_3482" access="public" mangled="_ZN5boost16remove_referenceIKSsEC1Ev *INTERNAL* " demangled="boost::remove_reference<std::string const>::remove_reference()" location="f147:27" file="f147" line="27" inline="1"/>
+  <Constructor id="_9368" name="is_class" artificial="1" throw="" context="_3483" access="public" mangled="_ZN5boost8is_classISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_class<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_class(boost::is_class<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f148:121" file="f148" line= [...]
+    <Argument name="_ctor_arg" type="_12239" location="f148:121" file="f148" line="121"/>
+  </Constructor>
+  <Constructor id="_9369" name="is_class" explicit="1" artificial="1" throw="" context="_3483" access="public" mangled="_ZN5boost8is_classISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_class<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_class()" location="f148:121" file="f148" line="121" inline="1"/>
+  <Constructor id="_9370" name="is_class" artificial="1" throw="" context="_3484" access="public" mangled="_ZN5boost8is_classISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_class<std::string>::is_class(boost::is_class<std::string> const&)" location="f148:121" file="f148" line="121" inline="1">
+    <Argument name="_ctor_arg" type="_12240" location="f148:121" file="f148" line="121"/>
+  </Constructor>
+  <Constructor id="_9371" name="is_class" explicit="1" artificial="1" throw="" context="_3484" access="public" mangled="_ZN5boost8is_classISsEC1Ev *INTERNAL* " demangled="boost::is_class<std::string>::is_class()" location="f148:121" file="f148" line="121" inline="1"/>
+  <Constructor id="_9372" name="is_union" artificial="1" throw="" context="_3485" access="public" mangled="_ZN5boost8is_unionISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_union(boost::is_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f149:43" file="f149" line=" [...]
+    <Argument name="_ctor_arg" type="_12241" location="f149:43" file="f149" line="43"/>
+  </Constructor>
+  <Constructor id="_9373" name="is_union" explicit="1" artificial="1" throw="" context="_3485" access="public" mangled="_ZN5boost8is_unionISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_union()" location="f149:43" file="f149" line="43" inline="1"/>
+  <Constructor id="_9374" name="is_union" artificial="1" throw="" context="_3486" access="public" mangled="_ZN5boost8is_unionISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_union<std::string>::is_union(boost::is_union<std::string> const&)" location="f149:43" file="f149" line="43" inline="1">
+    <Argument name="_ctor_arg" type="_12242" location="f149:43" file="f149" line="43"/>
+  </Constructor>
+  <Constructor id="_9375" name="is_union" explicit="1" artificial="1" throw="" context="_3486" access="public" mangled="_ZN5boost8is_unionISsEC1Ev *INTERNAL* " demangled="boost::is_union<std::string>::is_union()" location="f149:43" file="f149" line="43" inline="1"/>
+  <Constructor id="_9376" name="is_pointer" artificial="1" throw="" context="_3487" access="public" mangled="_ZN5boost10is_pointerIsEC1ERKS1_ *INTERNAL* " demangled="boost::is_pointer<short>::is_pointer(boost::is_pointer<short> const&)" location="f150:91" file="f150" line="91" inline="1">
+    <Argument name="_ctor_arg" type="_12243" location="f150:91" file="f150" line="91"/>
+  </Constructor>
+  <Constructor id="_9377" name="is_pointer" explicit="1" artificial="1" throw="" context="_3487" access="public" mangled="_ZN5boost10is_pointerIsEC1Ev *INTERNAL* " demangled="boost::is_pointer<short>::is_pointer()" location="f150:91" file="f150" line="91" inline="1"/>
+  <Constructor id="_9378" name="is_pointer" artificial="1" throw="" context="_3488" access="public" mangled="_ZN5boost10is_pointerIxEC1ERKS1_ *INTERNAL* " demangled="boost::is_pointer<long long>::is_pointer(boost::is_pointer<long long> const&)" location="f150:91" file="f150" line="91" inline="1">
+    <Argument name="_ctor_arg" type="_12244" location="f150:91" file="f150" line="91"/>
+  </Constructor>
+  <Constructor id="_9379" name="is_pointer" explicit="1" artificial="1" throw="" context="_3488" access="public" mangled="_ZN5boost10is_pointerIxEC1Ev *INTERNAL* " demangled="boost::is_pointer<long long>::is_pointer()" location="f150:91" file="f150" line="91" inline="1"/>
+  <Constructor id="_9380" name="is_pointer" artificial="1" throw="" context="_3489" access="public" mangled="_ZN5boost10is_pointerIiEC1ERKS1_ *INTERNAL* " demangled="boost::is_pointer<int>::is_pointer(boost::is_pointer<int> const&)" location="f150:91" file="f150" line="91" inline="1">
+    <Argument name="_ctor_arg" type="_12245" location="f150:91" file="f150" line="91"/>
+  </Constructor>
+  <Constructor id="_9381" name="is_pointer" explicit="1" artificial="1" throw="" context="_3489" access="public" mangled="_ZN5boost10is_pointerIiEC1Ev *INTERNAL* " demangled="boost::is_pointer<int>::is_pointer()" location="f150:91" file="f150" line="91" inline="1"/>
+  <Constructor id="_9382" name="is_pointer" artificial="1" throw="" context="_3490" access="public" mangled="_ZN5boost10is_pointerItEC1ERKS1_ *INTERNAL* " demangled="boost::is_pointer<unsigned short>::is_pointer(boost::is_pointer<unsigned short> const&)" location="f150:91" file="f150" line="91" inline="1">
+    <Argument name="_ctor_arg" type="_12246" location="f150:91" file="f150" line="91"/>
+  </Constructor>
+  <Constructor id="_9383" name="is_pointer" explicit="1" artificial="1" throw="" context="_3490" access="public" mangled="_ZN5boost10is_pointerItEC1Ev *INTERNAL* " demangled="boost::is_pointer<unsigned short>::is_pointer()" location="f150:91" file="f150" line="91" inline="1"/>
+  <Constructor id="_9384" name="is_pointer" artificial="1" throw="" context="_3491" access="public" mangled="_ZN5boost10is_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::is_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_pointer(boost::is_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std:: [...]
+    <Argument name="_ctor_arg" type="_12247" location="f150:91" file="f150" line="91"/>
+  </Constructor>
+  <Constructor id="_9385" name="is_pointer" explicit="1" artificial="1" throw="" context="_3491" access="public" mangled="_ZN5boost10is_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::is_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_pointer()" location="f150:91" file="f150" line="91" inline="1"/>
+  <Constructor id="_9386" name="is_pointer" artificial="1" throw="" context="_3492" access="public" mangled="_ZN5boost10is_pointerISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_pointer<std::string>::is_pointer(boost::is_pointer<std::string> const&)" location="f150:91" file="f150" line="91" inline="1">
+    <Argument name="_ctor_arg" type="_12248" location="f150:91" file="f150" line="91"/>
+  </Constructor>
+  <Constructor id="_9387" name="is_pointer" explicit="1" artificial="1" throw="" context="_3492" access="public" mangled="_ZN5boost10is_pointerISsEC1Ev *INTERNAL* " demangled="boost::is_pointer<std::string>::is_pointer()" location="f150:91" file="f150" line="91" inline="1"/>
+  <Constructor id="_9388" name="is_pointer" artificial="1" throw="" context="_3493" access="public" mangled="_ZN5boost10is_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_pointer(boost::is_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f150:91" file="f150" line="91" inline="1">
+    <Argument name="_ctor_arg" type="_12249" location="f150:91" file="f150" line="91"/>
+  </Constructor>
+  <Constructor id="_9389" name="is_pointer" explicit="1" artificial="1" throw="" context="_3493" access="public" mangled="_ZN5boost10is_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::is_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_pointer()" location="f150:91" file="f150" line="91" inline="1"/>
+  <Constructor id="_9390" name="is_pointer" artificial="1" throw="" context="_3494" access="public" mangled="_ZN5boost10is_pointerISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_pointer(boost::is_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f150:91" file="f [...]
+    <Argument name="_ctor_arg" type="_12250" location="f150:91" file="f150" line="91"/>
+  </Constructor>
+  <Constructor id="_9391" name="is_pointer" explicit="1" artificial="1" throw="" context="_3494" access="public" mangled="_ZN5boost10is_pointerISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_pointer()" location="f150:91" file="f150" line="91" inline="1"/>
+  <Constructor id="_9392" name="is_member_pointer" artificial="1" throw="" context="_3495" access="public" mangled="_ZN5boost17is_member_pointerIsEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_pointer<short>::is_member_pointer(boost::is_member_pointer<short> const&)" location="f151:48" file="f151" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12251" location="f151:48" file="f151" line="48"/>
+  </Constructor>
+  <Constructor id="_9393" name="is_member_pointer" explicit="1" artificial="1" throw="" context="_3495" access="public" mangled="_ZN5boost17is_member_pointerIsEC1Ev *INTERNAL* " demangled="boost::is_member_pointer<short>::is_member_pointer()" location="f151:48" file="f151" line="48" inline="1"/>
+  <Constructor id="_9394" name="is_member_pointer" artificial="1" throw="" context="_3496" access="public" mangled="_ZN5boost17is_member_pointerIxEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_pointer<long long>::is_member_pointer(boost::is_member_pointer<long long> const&)" location="f151:48" file="f151" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12252" location="f151:48" file="f151" line="48"/>
+  </Constructor>
+  <Constructor id="_9395" name="is_member_pointer" explicit="1" artificial="1" throw="" context="_3496" access="public" mangled="_ZN5boost17is_member_pointerIxEC1Ev *INTERNAL* " demangled="boost::is_member_pointer<long long>::is_member_pointer()" location="f151:48" file="f151" line="48" inline="1"/>
+  <Constructor id="_9396" name="is_member_pointer" artificial="1" throw="" context="_3497" access="public" mangled="_ZN5boost17is_member_pointerIiEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_pointer<int>::is_member_pointer(boost::is_member_pointer<int> const&)" location="f151:48" file="f151" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12253" location="f151:48" file="f151" line="48"/>
+  </Constructor>
+  <Constructor id="_9397" name="is_member_pointer" explicit="1" artificial="1" throw="" context="_3497" access="public" mangled="_ZN5boost17is_member_pointerIiEC1Ev *INTERNAL* " demangled="boost::is_member_pointer<int>::is_member_pointer()" location="f151:48" file="f151" line="48" inline="1"/>
+  <Constructor id="_9398" name="is_member_pointer" artificial="1" throw="" context="_3498" access="public" mangled="_ZN5boost17is_member_pointerItEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_pointer<unsigned short>::is_member_pointer(boost::is_member_pointer<unsigned short> const&)" location="f151:48" file="f151" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12254" location="f151:48" file="f151" line="48"/>
+  </Constructor>
+  <Constructor id="_9399" name="is_member_pointer" explicit="1" artificial="1" throw="" context="_3498" access="public" mangled="_ZN5boost17is_member_pointerItEC1Ev *INTERNAL* " demangled="boost::is_member_pointer<unsigned short>::is_member_pointer()" location="f151:48" file="f151" line="48" inline="1"/>
+  <Constructor id="_9400" name="is_member_pointer" artificial="1" throw="" context="_3499" access="public" mangled="_ZN5boost17is_member_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::is_member_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_member_pointer(boost::is_member_pointer<__gnu_cxx::__norma [...]
+    <Argument name="_ctor_arg" type="_12255" location="f151:48" file="f151" line="48"/>
+  </Constructor>
+  <Constructor id="_9401" name="is_member_pointer" explicit="1" artificial="1" throw="" context="_3499" access="public" mangled="_ZN5boost17is_member_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::is_member_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_member_pointer()" location="f151:48" file="f151" lin [...]
+  <Constructor id="_9402" name="is_member_pointer" artificial="1" throw="" context="_3500" access="public" mangled="_ZN5boost17is_member_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_member_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_member_pointer(boost::is_member_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f151:48" file="f151" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12256" location="f151:48" file="f151" line="48"/>
+  </Constructor>
+  <Constructor id="_9403" name="is_member_pointer" explicit="1" artificial="1" throw="" context="_3500" access="public" mangled="_ZN5boost17is_member_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::is_member_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_member_pointer()" location="f151:48" file="f151" line="48" inline="1"/>
+  <Constructor id="_9404" name="is_member_pointer" artificial="1" throw="" context="_3501" access="public" mangled="_ZN5boost17is_member_pointerISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_member_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_member_pointer(boost::is_member_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > cons [...]
+    <Argument name="_ctor_arg" type="_12257" location="f151:48" file="f151" line="48"/>
+  </Constructor>
+  <Constructor id="_9405" name="is_member_pointer" explicit="1" artificial="1" throw="" context="_3501" access="public" mangled="_ZN5boost17is_member_pointerISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_member_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_member_pointer()" location="f151:48" file="f151" line="48" inline="1"/>
+  <Constructor id="_9406" name="is_member_pointer" artificial="1" throw="" context="_3502" access="public" mangled="_ZN5boost17is_member_pointerISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_pointer<std::string>::is_member_pointer(boost::is_member_pointer<std::string> const&)" location="f151:48" file="f151" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12258" location="f151:48" file="f151" line="48"/>
+  </Constructor>
+  <Constructor id="_9407" name="is_member_pointer" explicit="1" artificial="1" throw="" context="_3502" access="public" mangled="_ZN5boost17is_member_pointerISsEC1Ev *INTERNAL* " demangled="boost::is_member_pointer<std::string>::is_member_pointer()" location="f151:48" file="f151" line="48" inline="1"/>
+  <Constructor id="_9408" name="is_member_function_pointer" artificial="1" throw="" context="_3503" access="public" mangled="_ZN5boost26is_member_function_pointerIsEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_function_pointer<short>::is_member_function_pointer(boost::is_member_function_pointer<short> const&)" location="f152:42" file="f152" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_12259" location="f152:42" file="f152" line="42"/>
+  </Constructor>
+  <Constructor id="_9409" name="is_member_function_pointer" explicit="1" artificial="1" throw="" context="_3503" access="public" mangled="_ZN5boost26is_member_function_pointerIsEC1Ev *INTERNAL* " demangled="boost::is_member_function_pointer<short>::is_member_function_pointer()" location="f152:42" file="f152" line="42" inline="1"/>
+  <Constructor id="_9410" name="is_member_function_pointer" artificial="1" throw="" context="_3504" access="public" mangled="_ZN5boost26is_member_function_pointerIxEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_function_pointer<long long>::is_member_function_pointer(boost::is_member_function_pointer<long long> const&)" location="f152:42" file="f152" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_12260" location="f152:42" file="f152" line="42"/>
+  </Constructor>
+  <Constructor id="_9411" name="is_member_function_pointer" explicit="1" artificial="1" throw="" context="_3504" access="public" mangled="_ZN5boost26is_member_function_pointerIxEC1Ev *INTERNAL* " demangled="boost::is_member_function_pointer<long long>::is_member_function_pointer()" location="f152:42" file="f152" line="42" inline="1"/>
+  <Constructor id="_9412" name="is_member_function_pointer" artificial="1" throw="" context="_3505" access="public" mangled="_ZN5boost26is_member_function_pointerIiEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_function_pointer<int>::is_member_function_pointer(boost::is_member_function_pointer<int> const&)" location="f152:42" file="f152" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_12261" location="f152:42" file="f152" line="42"/>
+  </Constructor>
+  <Constructor id="_9413" name="is_member_function_pointer" explicit="1" artificial="1" throw="" context="_3505" access="public" mangled="_ZN5boost26is_member_function_pointerIiEC1Ev *INTERNAL* " demangled="boost::is_member_function_pointer<int>::is_member_function_pointer()" location="f152:42" file="f152" line="42" inline="1"/>
+  <Constructor id="_9414" name="is_member_function_pointer" artificial="1" throw="" context="_3506" access="public" mangled="_ZN5boost26is_member_function_pointerItEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_function_pointer<unsigned short>::is_member_function_pointer(boost::is_member_function_pointer<unsigned short> const&)" location="f152:42" file="f152" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_12262" location="f152:42" file="f152" line="42"/>
+  </Constructor>
+  <Constructor id="_9415" name="is_member_function_pointer" explicit="1" artificial="1" throw="" context="_3506" access="public" mangled="_ZN5boost26is_member_function_pointerItEC1Ev *INTERNAL* " demangled="boost::is_member_function_pointer<unsigned short>::is_member_function_pointer()" location="f152:42" file="f152" line="42" inline="1"/>
+  <Constructor id="_9416" name="is_member_function_pointer" artificial="1" throw="" context="_3507" access="public" mangled="_ZN5boost26is_member_function_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::is_member_function_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_member_function_pointer(boost::is_ [...]
+    <Argument name="_ctor_arg" type="_12263" location="f152:42" file="f152" line="42"/>
+  </Constructor>
+  <Constructor id="_9417" name="is_member_function_pointer" explicit="1" artificial="1" throw="" context="_3507" access="public" mangled="_ZN5boost26is_member_function_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::is_member_function_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_member_function_pointer() [...]
+  <Constructor id="_9418" name="is_member_function_pointer" artificial="1" throw="" context="_3508" access="public" mangled="_ZN5boost26is_member_function_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_member_function_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_member_function_pointer(boost::is_member_function_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location=" [...]
+    <Argument name="_ctor_arg" type="_12264" location="f152:42" file="f152" line="42"/>
+  </Constructor>
+  <Constructor id="_9419" name="is_member_function_pointer" explicit="1" artificial="1" throw="" context="_3508" access="public" mangled="_ZN5boost26is_member_function_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::is_member_function_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_member_function_pointer()" location="f152:42" file="f152" line="42" inline="1"/>
+  <Constructor id="_9420" name="is_member_function_pointer" artificial="1" throw="" context="_3509" access="public" mangled="_ZN5boost26is_member_function_pointerISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_member_function_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_member_function_pointer(boost::is_member_function_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, [...]
+    <Argument name="_ctor_arg" type="_12265" location="f152:42" file="f152" line="42"/>
+  </Constructor>
+  <Constructor id="_9421" name="is_member_function_pointer" explicit="1" artificial="1" throw="" context="_3509" access="public" mangled="_ZN5boost26is_member_function_pointerISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_member_function_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_member_function_pointer()" location="f152:42" file="f152" line="42" inline="1"/>
+  <Constructor id="_9422" name="is_member_function_pointer" artificial="1" throw="" context="_3510" access="public" mangled="_ZN5boost26is_member_function_pointerISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_member_function_pointer<std::string>::is_member_function_pointer(boost::is_member_function_pointer<std::string> const&)" location="f152:42" file="f152" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_12266" location="f152:42" file="f152" line="42"/>
+  </Constructor>
+  <Constructor id="_9423" name="is_member_function_pointer" explicit="1" artificial="1" throw="" context="_3510" access="public" mangled="_ZN5boost26is_member_function_pointerISsEC1Ev *INTERNAL* " demangled="boost::is_member_function_pointer<std::string>::is_member_function_pointer()" location="f152:42" file="f152" line="42" inline="1"/>
+  <Typedef id="_9424" name="type" type="_1202" context="_3511" access="public" location="f153:33" file="f153" line="33"/>
+  <Constructor id="_9425" name="remove_cv" artificial="1" throw="" context="_3511" access="public" mangled="_ZN5boost9remove_cvIsEC1ERKS1_ *INTERNAL* " demangled="boost::remove_cv<short>::remove_cv(boost::remove_cv<short> const&)" location="f153:33" file="f153" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12267" location="f153:33" file="f153" line="33"/>
+  </Constructor>
+  <Constructor id="_9426" name="remove_cv" explicit="1" artificial="1" throw="" context="_3511" access="public" mangled="_ZN5boost9remove_cvIsEC1Ev *INTERNAL* " demangled="boost::remove_cv<short>::remove_cv()" location="f153:33" file="f153" line="33" inline="1"/>
+  <Typedef id="_9427" name="type" type="_1574" context="_3512" access="public" location="f153:33" file="f153" line="33"/>
+  <Constructor id="_9428" name="remove_cv" artificial="1" throw="" context="_3512" access="public" mangled="_ZN5boost9remove_cvIxEC1ERKS1_ *INTERNAL* " demangled="boost::remove_cv<long long>::remove_cv(boost::remove_cv<long long> const&)" location="f153:33" file="f153" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12268" location="f153:33" file="f153" line="33"/>
+  </Constructor>
+  <Constructor id="_9429" name="remove_cv" explicit="1" artificial="1" throw="" context="_3512" access="public" mangled="_ZN5boost9remove_cvIxEC1Ev *INTERNAL* " demangled="boost::remove_cv<long long>::remove_cv()" location="f153:33" file="f153" line="33" inline="1"/>
+  <Typedef id="_9430" name="type" type="_503" context="_3513" access="public" location="f153:33" file="f153" line="33"/>
+  <Constructor id="_9431" name="remove_cv" artificial="1" throw="" context="_3513" access="public" mangled="_ZN5boost9remove_cvIiEC1ERKS1_ *INTERNAL* " demangled="boost::remove_cv<int>::remove_cv(boost::remove_cv<int> const&)" location="f153:33" file="f153" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12269" location="f153:33" file="f153" line="33"/>
+  </Constructor>
+  <Constructor id="_9432" name="remove_cv" explicit="1" artificial="1" throw="" context="_3513" access="public" mangled="_ZN5boost9remove_cvIiEC1Ev *INTERNAL* " demangled="boost::remove_cv<int>::remove_cv()" location="f153:33" file="f153" line="33" inline="1"/>
+  <Typedef id="_9433" name="type" type="_1199" context="_3514" access="public" location="f153:33" file="f153" line="33"/>
+  <Constructor id="_9434" name="remove_cv" artificial="1" throw="" context="_3514" access="public" mangled="_ZN5boost9remove_cvItEC1ERKS1_ *INTERNAL* " demangled="boost::remove_cv<unsigned short>::remove_cv(boost::remove_cv<unsigned short> const&)" location="f153:33" file="f153" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12270" location="f153:33" file="f153" line="33"/>
+  </Constructor>
+  <Constructor id="_9435" name="remove_cv" explicit="1" artificial="1" throw="" context="_3514" access="public" mangled="_ZN5boost9remove_cvItEC1Ev *INTERNAL* " demangled="boost::remove_cv<unsigned short>::remove_cv()" location="f153:33" file="f153" line="33" inline="1"/>
+  <Typedef id="_9436" name="type" type="_3331" context="_3515" access="public" location="f153:33" file="f153" line="33"/>
+  <Constructor id="_9437" name="remove_cv" artificial="1" throw="" context="_3515" access="public" mangled="_ZN5boost9remove_cvIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::remove_cv<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::remove_cv(boost::remove_cv<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_ [...]
+    <Argument name="_ctor_arg" type="_12271" location="f153:33" file="f153" line="33"/>
+  </Constructor>
+  <Constructor id="_9438" name="remove_cv" explicit="1" artificial="1" throw="" context="_3515" access="public" mangled="_ZN5boost9remove_cvIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::remove_cv<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::remove_cv()" location="f153:33" file="f153" line="33" inline="1"/>
+  <Typedef id="_9439" name="type" type="_3328" context="_3516" access="public" location="f153:33" file="f153" line="33"/>
+  <Constructor id="_9440" name="remove_cv" artificial="1" throw="" context="_3516" access="public" mangled="_ZN5boost9remove_cvIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::remove_cv<__gnu_cxx::__normal_iterator<char const*, std::string> >::remove_cv(boost::remove_cv<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f153:33" file="f153" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12272" location="f153:33" file="f153" line="33"/>
+  </Constructor>
+  <Constructor id="_9441" name="remove_cv" explicit="1" artificial="1" throw="" context="_3516" access="public" mangled="_ZN5boost9remove_cvIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::remove_cv<__gnu_cxx::__normal_iterator<char const*, std::string> >::remove_cv()" location="f153:33" file="f153" line="33" inline="1"/>
+  <Typedef id="_9442" name="type" type="_2506" context="_3517" access="public" location="f153:33" file="f153" line="33"/>
+  <Constructor id="_9443" name="remove_cv" artificial="1" throw="" context="_3517" access="public" mangled="_ZN5boost9remove_cvISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::remove_cv<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::remove_cv(boost::remove_cv<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f153:33" file="f153" l [...]
+    <Argument name="_ctor_arg" type="_12273" location="f153:33" file="f153" line="33"/>
+  </Constructor>
+  <Constructor id="_9444" name="remove_cv" explicit="1" artificial="1" throw="" context="_3517" access="public" mangled="_ZN5boost9remove_cvISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::remove_cv<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::remove_cv()" location="f153:33" file="f153" line="33" inline="1"/>
+  <Typedef id="_9445" name="type" type="_2508" context="_3518" access="public" location="f153:33" file="f153" line="33"/>
+  <Constructor id="_9446" name="remove_cv" artificial="1" throw="" context="_3518" access="public" mangled="_ZN5boost9remove_cvISsEC1ERKS1_ *INTERNAL* " demangled="boost::remove_cv<std::string>::remove_cv(boost::remove_cv<std::string> const&)" location="f153:33" file="f153" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12274" location="f153:33" file="f153" line="33"/>
+  </Constructor>
+  <Constructor id="_9447" name="remove_cv" explicit="1" artificial="1" throw="" context="_3518" access="public" mangled="_ZN5boost9remove_cvISsEC1Ev *INTERNAL* " demangled="boost::remove_cv<std::string>::remove_cv()" location="f153:33" file="f153" line="33" inline="1"/>
+  <Constructor id="_9448" name="is_function" artificial="1" throw="" context="_3519" access="public" mangled="_ZN5boost11is_functionISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_function<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_function(boost::is_function<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f154:82" fi [...]
+    <Argument name="_ctor_arg" type="_12275" location="f154:82" file="f154" line="82"/>
+  </Constructor>
+  <Constructor id="_9449" name="is_function" explicit="1" artificial="1" throw="" context="_3519" access="public" mangled="_ZN5boost11is_functionISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_function<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_function()" location="f154:82" file="f154" line="82" inline="1"/>
+  <Constructor id="_9450" name="is_function" artificial="1" throw="" context="_3520" access="public" mangled="_ZN5boost11is_functionISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_function<std::string>::is_function(boost::is_function<std::string> const&)" location="f154:82" file="f154" line="82" inline="1">
+    <Argument name="_ctor_arg" type="_12276" location="f154:82" file="f154" line="82"/>
+  </Constructor>
+  <Constructor id="_9451" name="is_function" explicit="1" artificial="1" throw="" context="_3520" access="public" mangled="_ZN5boost11is_functionISsEC1Ev *INTERNAL* " demangled="boost::is_function<std::string>::is_function()" location="f154:82" file="f154" line="82" inline="1"/>
+  <Constructor id="_9452" name="is_interoperable" artificial="1" throw="" context="_3521" access="public" mangled="_ZN5boost16is_interoperableINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES8_EC1ERKS9_ *INTERNAL* " demangled="boost::is_interoperable<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_it [...]
+    <Argument name="_ctor_arg" type="_12277" location="f155:43" file="f155" line="43"/>
+  </Constructor>
+  <Constructor id="_9453" name="is_interoperable" explicit="1" artificial="1" throw="" context="_3521" access="public" mangled="_ZN5boost16is_interoperableINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES8_EC1Ev *INTERNAL* " demangled="boost::is_interoperable<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separator, __gnu_cxx::__ [...]
+  <Struct id="_9454" name="or_<boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char&g [...]
+    <Base type="_12280" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_9455" name="is_interoperable" artificial="1" throw="" context="_3522" access="public" mangled="_ZN5boost16is_interoperableINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1ERKSC_ *INTERNAL* " demangled="boost::is_interoperable<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token [...]
+    <Argument name="_ctor_arg" type="_12281" location="f155:43" file="f155" line="43"/>
+  </Constructor>
+  <Constructor id="_9456" name="is_interoperable" explicit="1" artificial="1" throw="" context="_3522" access="public" mangled="_ZN5boost16is_interoperableINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1Ev *INTERNAL* " demangled="boost::is_interoperable<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boo [...]
+  <Struct id="_9457" name="or_<boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__nor [...]
+    <Base type="_12284" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_9458" name="iterator_traversal" artificial="1" throw="" context="_3523" access="public" mangled="_ZN5boost18iterator_traversalIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::iterator_traversal<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::iterator_traversal(boost::iterator_traversal<__gnu_cxx::__ [...]
+    <Argument name="_ctor_arg" type="_12285" location="f156:163" file="f156" line="163"/>
+  </Constructor>
+  <Constructor id="_9459" name="iterator_traversal" explicit="1" artificial="1" throw="" context="_3523" access="public" mangled="_ZN5boost18iterator_traversalIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::iterator_traversal<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::iterator_traversal()" location="f156:163" file="f156 [...]
+  <Constructor id="_9460" name="iterator_traversal" artificial="1" throw="" context="_3524" access="public" mangled="_ZN5boost18iterator_traversalIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::iterator_traversal<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_traversal(boost::iterator_traversal<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f156:163" file="f156" line="163" inline="1">
+    <Argument name="_ctor_arg" type="_12286" location="f156:163" file="f156" line="163"/>
+  </Constructor>
+  <Constructor id="_9461" name="iterator_traversal" explicit="1" artificial="1" throw="" context="_3524" access="public" mangled="_ZN5boost18iterator_traversalIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_traversal<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_traversal()" location="f156:163" file="f156" line="163" inline="1"/>
+  <Constructor id="_9462" name="iterator_category_to_traversal" artificial="1" throw="" context="_3525" access="public" mangled="_ZN5boost30iterator_category_to_traversalISt20forward_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::iterator_category_to_traversal<std::forward_iterator_tag>::iterator_category_to_traversal(boost::iterator_category_to_traversal<std::forward_iterator_tag> const&)" location="f156:155" file="f156" line="155" inline="1">
+    <Argument name="_ctor_arg" type="_12287" location="f156:155" file="f156" line="155"/>
+  </Constructor>
+  <Constructor id="_9463" name="iterator_category_to_traversal" explicit="1" artificial="1" throw="" context="_3525" access="public" mangled="_ZN5boost30iterator_category_to_traversalISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::iterator_category_to_traversal<std::forward_iterator_tag>::iterator_category_to_traversal()" location="f156:155" file="f156" line="155" inline="1"/>
+  <Struct id="_9464" name="eval_if<boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag>,boost::mpl::identity<std::forward_iterator_tag>,boost::detail::old_category_to_traversal<std::forward_iterator_tag> >" context="_3900" mangled="N5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEE" demangled="boost::mpl::eval_if<boost [...]
+  <Constructor id="_9465" name="iterator_category_to_traversal" artificial="1" throw="" context="_3526" access="public" mangled="_ZN5boost30iterator_category_to_traversalISt26random_access_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::iterator_category_to_traversal<std::random_access_iterator_tag>::iterator_category_to_traversal(boost::iterator_category_to_traversal<std::random_access_iterator_tag> const&)" location="f156:155" file="f156" line="155" inline="1">
+    <Argument name="_ctor_arg" type="_12292" location="f156:155" file="f156" line="155"/>
+  </Constructor>
+  <Constructor id="_9466" name="iterator_category_to_traversal" explicit="1" artificial="1" throw="" context="_3526" access="public" mangled="_ZN5boost30iterator_category_to_traversalISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::iterator_category_to_traversal<std::random_access_iterator_tag>::iterator_category_to_traversal()" location="f156:155" file="f156" line="155" inline="1"/>
+  <Struct id="_9467" name="eval_if<boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag>,boost::mpl::identity<std::random_access_iterator_tag>,boost::detail::old_category_to_traversal<std::random_access_iterator_tag> >" context="_3900" mangled="N5boost3mpl7eval_ifINS_14is_convertibleISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEE" demangled="boos [...]
+  <Constructor id="_9468" name="random_access_traversal_tag" artificial="1" throw="" context="_3527" access="public" mangled="_ZN5boost27random_access_traversal_tagC1ERKS0_ *INTERNAL* " demangled="boost::random_access_traversal_tag::random_access_traversal_tag(boost::random_access_traversal_tag const&)" location="f156:62" file="f156" line="62" inline="1">
+    <Argument name="_ctor_arg" type="_12297" location="f156:62" file="f156" line="62"/>
+  </Constructor>
+  <Constructor id="_9469" name="random_access_traversal_tag" explicit="1" artificial="1" throw="" context="_3527" access="public" mangled="_ZN5boost27random_access_traversal_tagC1Ev *INTERNAL* " demangled="boost::random_access_traversal_tag::random_access_traversal_tag()" location="f156:62" file="f156" line="62" inline="1"/>
+  <Constructor id="_9470" name="bidirectional_traversal_tag" artificial="1" throw="" context="_3528" access="public" mangled="_ZN5boost27bidirectional_traversal_tagC1ERKS0_ *INTERNAL* " demangled="boost::bidirectional_traversal_tag::bidirectional_traversal_tag(boost::bidirectional_traversal_tag const&)" location="f156:55" file="f156" line="55" inline="1">
+    <Argument name="_ctor_arg" type="_12298" location="f156:55" file="f156" line="55"/>
+  </Constructor>
+  <Constructor id="_9471" name="bidirectional_traversal_tag" explicit="1" artificial="1" throw="" context="_3528" access="public" mangled="_ZN5boost27bidirectional_traversal_tagC1Ev *INTERNAL* " demangled="boost::bidirectional_traversal_tag::bidirectional_traversal_tag()" location="f156:55" file="f156" line="55" inline="1"/>
+  <Constructor id="_9472" name="forward_traversal_tag" artificial="1" throw="" context="_3529" access="public" mangled="_ZN5boost21forward_traversal_tagC1ERKS0_ *INTERNAL* " demangled="boost::forward_traversal_tag::forward_traversal_tag(boost::forward_traversal_tag const&)" location="f156:48" file="f156" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12299" location="f156:48" file="f156" line="48"/>
+  </Constructor>
+  <Constructor id="_9473" name="forward_traversal_tag" explicit="1" artificial="1" throw="" context="_3529" access="public" mangled="_ZN5boost21forward_traversal_tagC1Ev *INTERNAL* " demangled="boost::forward_traversal_tag::forward_traversal_tag()" location="f156:48" file="f156" line="48" inline="1"/>
+  <Constructor id="_9474" name="single_pass_traversal_tag" artificial="1" throw="" context="_3530" access="public" mangled="_ZN5boost25single_pass_traversal_tagC1ERKS0_ *INTERNAL* " demangled="boost::single_pass_traversal_tag::single_pass_traversal_tag(boost::single_pass_traversal_tag const&)" location="f156:41" file="f156" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_12300" location="f156:41" file="f156" line="41"/>
+  </Constructor>
+  <Constructor id="_9475" name="single_pass_traversal_tag" explicit="1" artificial="1" throw="" context="_3530" access="public" mangled="_ZN5boost25single_pass_traversal_tagC1Ev *INTERNAL* " demangled="boost::single_pass_traversal_tag::single_pass_traversal_tag()" location="f156:41" file="f156" line="41" inline="1"/>
+  <Constructor id="_9476" name="incrementable_traversal_tag" artificial="1" throw="" context="_3531" access="public" mangled="_ZN5boost27incrementable_traversal_tagC1ERKS0_ *INTERNAL* " demangled="boost::incrementable_traversal_tag::incrementable_traversal_tag(boost::incrementable_traversal_tag const&)" location="f156:34" file="f156" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_12301" location="f156:34" file="f156" line="34"/>
+  </Constructor>
+  <Constructor id="_9477" name="incrementable_traversal_tag" explicit="1" artificial="1" throw="" context="_3531" access="public" mangled="_ZN5boost27incrementable_traversal_tagC1Ev *INTERNAL* " demangled="boost::incrementable_traversal_tag::incrementable_traversal_tag()" location="f156:34" file="f156" line="34" inline="1"/>
+  <Constructor id="_9478" name="no_traversal_tag" artificial="1" throw="" context="_3532" access="public" mangled="_ZN5boost16no_traversal_tagC1ERKS0_ *INTERNAL* " demangled="boost::no_traversal_tag::no_traversal_tag(boost::no_traversal_tag const&)" location="f156:30" file="f156" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_12302" location="f156:30" file="f156" line="30"/>
+  </Constructor>
+  <Constructor id="_9479" name="no_traversal_tag" explicit="1" artificial="1" throw="" context="_3532" access="public" mangled="_ZN5boost16no_traversal_tagC1Ev *INTERNAL* " demangled="boost::no_traversal_tag::no_traversal_tag()" location="f156:30" file="f156" line="30" inline="1"/>
+  <Constructor id="_9480" name="is_convertible" artificial="1" throw="" context="_3533" access="public" mangled="_ZN5boost14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES8_EC1ERKS9_ *INTERNAL* " demangled="boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator [...]
+    <Argument name="_ctor_arg" type="_12303" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9481" name="is_convertible" explicit="1" artificial="1" throw="" context="_3533" access="public" mangled="_ZN5boost14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES8_EC1Ev *INTERNAL* " demangled="boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal [...]
+  <Constructor id="_9482" name="is_convertible" artificial="1" throw="" context="_3534" access="public" mangled="_ZN5boost14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1ERKSC_ *INTERNAL* " demangled="boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_itera [...]
+    <Argument name="_ctor_arg" type="_12304" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9483" name="is_convertible" explicit="1" artificial="1" throw="" context="_3534" access="public" mangled="_ZN5boost14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1Ev *INTERNAL* " demangled="boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::to [...]
+  <Constructor id="_9484" name="is_convertible" artificial="1" throw="" context="_3535" access="public" mangled="_ZN5boost14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEES9_EC1ERKSA_ *INTERNAL* " demangled="boost::is_convertible<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_ [...]
+    <Argument name="_ctor_arg" type="_12305" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9485" name="is_convertible" explicit="1" artificial="1" throw="" context="_3535" access="public" mangled="_ZN5boost14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEES9_EC1Ev *INTERNAL* " demangled="boost::is_convertible<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string& [...]
+  <Constructor id="_9486" name="is_convertible" artificial="1" throw="" context="_3538" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::is_convertible(boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag> const&)" location="f157:409" file="f157" line="409" [...]
+    <Argument name="_ctor_arg" type="_12306" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9487" name="is_convertible" explicit="1" artificial="1" throw="" context="_3538" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9488" name="is_convertible" artificial="1" throw="" context="_3539" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>::is_convertible(boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag> const&)" location="f157:409" file="f157" line="409" [...]
+    <Argument name="_ctor_arg" type="_12307" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9489" name="is_convertible" explicit="1" artificial="1" throw="" context="_3539" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9490" name="is_convertible" artificial="1" throw="" context="_3540" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagES1_EC1ERKS2_ *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_convertible(boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag> const&)" location="f157:409" file="f157" line="409" inline="1">
+    <Argument name="_ctor_arg" type="_12308" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9491" name="is_convertible" explicit="1" artificial="1" throw="" context="_3540" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagES1_EC1Ev *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9492" name="is_convertible" artificial="1" throw="" context="_3541" access="public" mangled="_ZN5boost14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKcSsEES5_EC1ERKS6_ *INTERNAL* " demangled="boost::is_convertible<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible(boost::is_convertible<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_it [...]
+    <Argument name="_ctor_arg" type="_12309" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9493" name="is_convertible" explicit="1" artificial="1" throw="" context="_3541" access="public" mangled="_ZN5boost14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKcSsEES5_EC1Ev *INTERNAL* " demangled="boost::is_convertible<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9494" name="is_convertible" artificial="1" throw="" context="_3542" access="public" mangled="_ZN5boost14is_convertibleISt20forward_iterator_tagS1_EC1ERKS2_ *INTERNAL* " demangled="boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>::is_convertible(boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag> const&)" location="f157:409" file="f157" line="409" inline="1">
+    <Argument name="_ctor_arg" type="_12310" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9495" name="is_convertible" explicit="1" artificial="1" throw="" context="_3542" access="public" mangled="_ZN5boost14is_convertibleISt20forward_iterator_tagS1_EC1Ev *INTERNAL* " demangled="boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9496" name="is_convertible" artificial="1" throw="" context="_3543" access="public" mangled="_ZN5boost14is_convertibleISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::is_convertible<std::forward_iterator_tag, std::bidirectional_iterator_tag>::is_convertible(boost::is_convertible<std::forward_iterator_tag, std::bidirectional_iterator_tag> const&)" location="f157:409" file="f157" line="409" inline="1">
+    <Argument name="_ctor_arg" type="_12311" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9497" name="is_convertible" explicit="1" artificial="1" throw="" context="_3543" access="public" mangled="_ZN5boost14is_convertibleISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_convertible<std::forward_iterator_tag, std::bidirectional_iterator_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9498" name="is_convertible" artificial="1" throw="" context="_3544" access="public" mangled="_ZN5boost14is_convertibleISt20forward_iterator_tagSt26random_access_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::is_convertible<std::forward_iterator_tag, std::random_access_iterator_tag>::is_convertible(boost::is_convertible<std::forward_iterator_tag, std::random_access_iterator_tag> const&)" location="f157:409" file="f157" line="409" inline="1">
+    <Argument name="_ctor_arg" type="_12312" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9499" name="is_convertible" explicit="1" artificial="1" throw="" context="_3544" access="public" mangled="_ZN5boost14is_convertibleISt20forward_iterator_tagSt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_convertible<std::forward_iterator_tag, std::random_access_iterator_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9500" name="is_convertible" artificial="1" throw="" context="_3547" access="public" mangled="_ZN5boost14is_convertibleISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag>::is_convertible(boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag> const&)" location="f157:409" file="f157" line="409" inline="1">
+    <Argument name="_ctor_arg" type="_12313" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9501" name="is_convertible" explicit="1" artificial="1" throw="" context="_3547" access="public" mangled="_ZN5boost14is_convertibleISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9502" name="is_convertible" artificial="1" throw="" context="_3549" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagESt19output_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag>::is_convertible(boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag> const&)" location="f157:409" file="f157" line="409" inline="1">
+    <Argument name="_ctor_arg" type="_12314" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9503" name="is_convertible" explicit="1" artificial="1" throw="" context="_3549" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagESt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9504" name="is_convertible" artificial="1" throw="" context="_3550" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagESt18input_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag>::is_convertible(boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag> const&)" location="f157:409" file="f157" line="409" inline="1">
+    <Argument name="_ctor_arg" type="_12315" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9505" name="is_convertible" explicit="1" artificial="1" throw="" context="_3550" access="public" mangled="_ZN5boost14is_convertibleINS_21forward_traversal_tagESt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9506" name="is_convertible" artificial="1" throw="" context="_3551" access="public" mangled="_ZN5boost14is_convertibleINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::is_convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>::is_convertible(boost::is_convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag> const&)" location="f157:409" file="f157" line="409" [...]
+    <Argument name="_ctor_arg" type="_12316" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9507" name="is_convertible" explicit="1" artificial="1" throw="" context="_3551" access="public" mangled="_ZN5boost14is_convertibleINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_convertible<boost::random_access_traversal_tag, boost::forward_traversal_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9508" name="is_convertible" artificial="1" throw="" context="_3552" access="public" mangled="_ZN5boost14is_convertibleISt26random_access_iterator_tagS1_EC1ERKS2_ *INTERNAL* " demangled="boost::is_convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>::is_convertible(boost::is_convertible<std::random_access_iterator_tag, std::random_access_iterator_tag> const&)" location="f157:409" file="f157" line="409" inline="1">
+    <Argument name="_ctor_arg" type="_12317" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9509" name="is_convertible" explicit="1" artificial="1" throw="" context="_3552" access="public" mangled="_ZN5boost14is_convertibleISt26random_access_iterator_tagS1_EC1Ev *INTERNAL* " demangled="boost::is_convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9510" name="is_convertible" artificial="1" throw="" context="_3557" access="public" mangled="_ZN5boost14is_convertibleISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::is_convertible(boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag> const&)" location="f157:409" file="f157" l [...]
+    <Argument name="_ctor_arg" type="_12318" location="f157:409" file="f157" line="409"/>
+  </Constructor>
+  <Constructor id="_9511" name="is_convertible" explicit="1" artificial="1" throw="" context="_3557" access="public" mangled="_ZN5boost14is_convertibleISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::is_convertible()" location="f157:409" file="f157" line="409" inline="1"/>
+  <Constructor id="_9512" name="is_arithmetic" artificial="1" throw="" context="_3558" access="public" mangled="_ZN5boost13is_arithmeticISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_arithmetic<std::string>::is_arithmetic(boost::is_arithmetic<std::string> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12319" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9513" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3558" access="public" mangled="_ZN5boost13is_arithmeticISsEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<std::string>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9514" name="is_arithmetic" artificial="1" throw="" context="_3559" access="public" mangled="_ZN5boost13is_arithmeticIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::is_arithmetic<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_arithmetic(boost::is_arithmetic<__gnu_cxx::__normal_iterator<wchar_ [...]
+    <Argument name="_ctor_arg" type="_12320" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9515" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3559" access="public" mangled="_ZN5boost13is_arithmeticIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9516" name="is_arithmetic" artificial="1" throw="" context="_3560" access="public" mangled="_ZN5boost13is_arithmeticISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_arithmetic<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_arithmetic(boost::is_arithmetic<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f [...]
+    <Argument name="_ctor_arg" type="_12321" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9517" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3560" access="public" mangled="_ZN5boost13is_arithmeticISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9518" name="is_arithmetic" artificial="1" throw="" context="_3561" access="public" mangled="_ZN5boost13is_arithmeticINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKS9_ *INTERNAL* " demangled="boost::is_arithmetic<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_arithmetic(boost::is_arithmetic<boost::token_iterator<boost::offset_se [...]
+    <Argument name="_ctor_arg" type="_12322" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9519" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3561" access="public" mangled="_ZN5boost13is_arithmeticINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9520" name="is_arithmetic" artificial="1" throw="" context="_3562" access="public" mangled="_ZN5boost13is_arithmeticINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSC_ *INTERNAL* " demangled="boost::is_arithmetic<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_arithmetic(boost [...]
+    <Argument name="_ctor_arg" type="_12323" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9521" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3562" access="public" mangled="_ZN5boost13is_arithmeticINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_arithme [...]
+  <Constructor id="_9522" name="is_arithmetic" artificial="1" throw="" context="_3563" access="public" mangled="_ZN5boost13is_arithmeticIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_arithmetic<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_arithmetic(boost::is_arithmetic<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12324" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9523" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3563" access="public" mangled="_ZN5boost13is_arithmeticIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9524" name="is_arithmetic" artificial="1" throw="" context="_3564" access="public" mangled="_ZN5boost13is_arithmeticISt20forward_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_arithmetic<std::forward_iterator_tag>::is_arithmetic(boost::is_arithmetic<std::forward_iterator_tag> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12325" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9525" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3564" access="public" mangled="_ZN5boost13is_arithmeticISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<std::forward_iterator_tag>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9526" name="is_arithmetic" artificial="1" throw="" context="_3565" access="public" mangled="_ZN5boost13is_arithmeticISt26bidirectional_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_arithmetic<std::bidirectional_iterator_tag>::is_arithmetic(boost::is_arithmetic<std::bidirectional_iterator_tag> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12326" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9527" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3565" access="public" mangled="_ZN5boost13is_arithmeticISt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<std::bidirectional_iterator_tag>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9528" name="is_arithmetic" artificial="1" throw="" context="_3566" access="public" mangled="_ZN5boost13is_arithmeticISt26random_access_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_arithmetic<std::random_access_iterator_tag>::is_arithmetic(boost::is_arithmetic<std::random_access_iterator_tag> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12327" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9529" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3566" access="public" mangled="_ZN5boost13is_arithmeticISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<std::random_access_iterator_tag>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9530" name="is_arithmetic" artificial="1" throw="" context="_3567" access="public" mangled="_ZN5boost13is_arithmeticINS_27incrementable_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_arithmetic<boost::incrementable_traversal_tag>::is_arithmetic(boost::is_arithmetic<boost::incrementable_traversal_tag> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12328" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9531" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3567" access="public" mangled="_ZN5boost13is_arithmeticINS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<boost::incrementable_traversal_tag>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9532" name="is_arithmetic" artificial="1" throw="" context="_3568" access="public" mangled="_ZN5boost13is_arithmeticINS_27bidirectional_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_arithmetic<boost::bidirectional_traversal_tag>::is_arithmetic(boost::is_arithmetic<boost::bidirectional_traversal_tag> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12329" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9533" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3568" access="public" mangled="_ZN5boost13is_arithmeticINS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<boost::bidirectional_traversal_tag>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9534" name="is_arithmetic" artificial="1" throw="" context="_3569" access="public" mangled="_ZN5boost13is_arithmeticINS_21forward_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_arithmetic<boost::forward_traversal_tag>::is_arithmetic(boost::is_arithmetic<boost::forward_traversal_tag> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12330" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9535" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3569" access="public" mangled="_ZN5boost13is_arithmeticINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<boost::forward_traversal_tag>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9536" name="is_arithmetic" artificial="1" throw="" context="_3570" access="public" mangled="_ZN5boost13is_arithmeticISt19output_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_arithmetic<std::output_iterator_tag>::is_arithmetic(boost::is_arithmetic<std::output_iterator_tag> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12331" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9537" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3570" access="public" mangled="_ZN5boost13is_arithmeticISt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<std::output_iterator_tag>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9538" name="is_arithmetic" artificial="1" throw="" context="_3571" access="public" mangled="_ZN5boost13is_arithmeticISt18input_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_arithmetic<std::input_iterator_tag>::is_arithmetic(boost::is_arithmetic<std::input_iterator_tag> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12332" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9539" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3571" access="public" mangled="_ZN5boost13is_arithmeticISt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<std::input_iterator_tag>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9540" name="is_arithmetic" artificial="1" throw="" context="_3572" access="public" mangled="_ZN5boost13is_arithmeticINS_27random_access_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_arithmetic<boost::random_access_traversal_tag>::is_arithmetic(boost::is_arithmetic<boost::random_access_traversal_tag> const&)" location="f158:37" file="f158" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12333" location="f158:37" file="f158" line="37"/>
+  </Constructor>
+  <Constructor id="_9541" name="is_arithmetic" explicit="1" artificial="1" throw="" context="_3572" access="public" mangled="_ZN5boost13is_arithmeticINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_arithmetic<boost::random_access_traversal_tag>::is_arithmetic()" location="f158:37" file="f158" line="37" inline="1"/>
+  <Constructor id="_9542" name="is_float" artificial="1" throw="" context="_3573" access="public" mangled="_ZN5boost8is_floatIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::is_float<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_float(boost::is_float<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_strin [...]
+    <Argument name="_ctor_arg" type="_12334" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9543" name="is_float" explicit="1" artificial="1" throw="" context="_3573" access="public" mangled="_ZN5boost8is_floatIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::is_float<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9544" name="is_float" artificial="1" throw="" context="_3574" access="public" mangled="_ZN5boost8is_floatISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_float<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_float(boost::is_float<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f159:18" file="f159" line=" [...]
+    <Argument name="_ctor_arg" type="_12335" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9545" name="is_float" explicit="1" artificial="1" throw="" context="_3574" access="public" mangled="_ZN5boost8is_floatISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_float<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9546" name="is_float" artificial="1" throw="" context="_3575" access="public" mangled="_ZN5boost8is_floatINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKS9_ *INTERNAL* " demangled="boost::is_float<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_float(boost::is_float<boost::token_iterator<boost::offset_separator, __gnu_cxx::__norm [...]
+    <Argument name="_ctor_arg" type="_12336" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9547" name="is_float" explicit="1" artificial="1" throw="" context="_3575" access="public" mangled="_ZN5boost8is_floatINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_float<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9548" name="is_float" artificial="1" throw="" context="_3576" access="public" mangled="_ZN5boost8is_floatINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSC_ *INTERNAL* " demangled="boost::is_float<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_float(boost::is_float<boost:: [...]
+    <Argument name="_ctor_arg" type="_12337" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9549" name="is_float" explicit="1" artificial="1" throw="" context="_3576" access="public" mangled="_ZN5boost8is_floatINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_float<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_float()" location="f159 [...]
+  <Constructor id="_9550" name="is_float" artificial="1" throw="" context="_3577" access="public" mangled="_ZN5boost8is_floatIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_float<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_float(boost::is_float<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12338" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9551" name="is_float" explicit="1" artificial="1" throw="" context="_3577" access="public" mangled="_ZN5boost8is_floatIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::is_float<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9552" name="is_float" artificial="1" throw="" context="_3578" access="public" mangled="_ZN5boost8is_floatISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_float<std::string>::is_float(boost::is_float<std::string> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12339" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9553" name="is_float" explicit="1" artificial="1" throw="" context="_3578" access="public" mangled="_ZN5boost8is_floatISsEC1Ev *INTERNAL* " demangled="boost::is_float<std::string>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9554" name="is_float" artificial="1" throw="" context="_3579" access="public" mangled="_ZN5boost8is_floatISt26bidirectional_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<std::bidirectional_iterator_tag>::is_float(boost::is_float<std::bidirectional_iterator_tag> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12340" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9555" name="is_float" explicit="1" artificial="1" throw="" context="_3579" access="public" mangled="_ZN5boost8is_floatISt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_float<std::bidirectional_iterator_tag>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9556" name="is_float" artificial="1" throw="" context="_3580" access="public" mangled="_ZN5boost8is_floatISt20forward_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<std::forward_iterator_tag>::is_float(boost::is_float<std::forward_iterator_tag> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12341" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9557" name="is_float" explicit="1" artificial="1" throw="" context="_3580" access="public" mangled="_ZN5boost8is_floatISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_float<std::forward_iterator_tag>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9558" name="is_float" artificial="1" throw="" context="_3581" access="public" mangled="_ZN5boost8is_floatINS_27bidirectional_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<boost::bidirectional_traversal_tag>::is_float(boost::is_float<boost::bidirectional_traversal_tag> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12342" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9559" name="is_float" explicit="1" artificial="1" throw="" context="_3581" access="public" mangled="_ZN5boost8is_floatINS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_float<boost::bidirectional_traversal_tag>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9560" name="is_float" artificial="1" throw="" context="_3582" access="public" mangled="_ZN5boost8is_floatISt19output_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<std::output_iterator_tag>::is_float(boost::is_float<std::output_iterator_tag> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12343" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9561" name="is_float" explicit="1" artificial="1" throw="" context="_3582" access="public" mangled="_ZN5boost8is_floatISt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_float<std::output_iterator_tag>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9562" name="is_float" artificial="1" throw="" context="_3583" access="public" mangled="_ZN5boost8is_floatISt18input_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<std::input_iterator_tag>::is_float(boost::is_float<std::input_iterator_tag> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12344" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9563" name="is_float" explicit="1" artificial="1" throw="" context="_3583" access="public" mangled="_ZN5boost8is_floatISt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_float<std::input_iterator_tag>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9564" name="is_float" artificial="1" throw="" context="_3584" access="public" mangled="_ZN5boost8is_floatINS_27random_access_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<boost::random_access_traversal_tag>::is_float(boost::is_float<boost::random_access_traversal_tag> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12345" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9565" name="is_float" explicit="1" artificial="1" throw="" context="_3584" access="public" mangled="_ZN5boost8is_floatINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_float<boost::random_access_traversal_tag>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9566" name="is_float" artificial="1" throw="" context="_3585" access="public" mangled="_ZN5boost8is_floatINS_21forward_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<boost::forward_traversal_tag>::is_float(boost::is_float<boost::forward_traversal_tag> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12346" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9567" name="is_float" explicit="1" artificial="1" throw="" context="_3585" access="public" mangled="_ZN5boost8is_floatINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_float<boost::forward_traversal_tag>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9568" name="is_float" artificial="1" throw="" context="_3586" access="public" mangled="_ZN5boost8is_floatINS_27incrementable_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<boost::incrementable_traversal_tag>::is_float(boost::is_float<boost::incrementable_traversal_tag> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12347" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9569" name="is_float" explicit="1" artificial="1" throw="" context="_3586" access="public" mangled="_ZN5boost8is_floatINS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_float<boost::incrementable_traversal_tag>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9570" name="is_float" artificial="1" throw="" context="_3587" access="public" mangled="_ZN5boost8is_floatISt26random_access_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<std::random_access_iterator_tag>::is_float(boost::is_float<std::random_access_iterator_tag> const&)" location="f159:18" file="f159" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_12348" location="f159:18" file="f159" line="18"/>
+  </Constructor>
+  <Constructor id="_9571" name="is_float" explicit="1" artificial="1" throw="" context="_3587" access="public" mangled="_ZN5boost8is_floatISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_float<std::random_access_iterator_tag>::is_float()" location="f159:18" file="f159" line="18" inline="1"/>
+  <Constructor id="_9572" name="is_float" artificial="1" throw="" context="_3588" access="public" mangled="_ZN5boost8is_floatIVKeEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<long double volatile const>::is_float(boost::is_float<long double volatile const> const&)" location="f159:21" file="f159" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_12349" location="f159:21" file="f159" line="21"/>
+  </Constructor>
+  <Constructor id="_9573" name="is_float" explicit="1" artificial="1" throw="" context="_3588" access="public" mangled="_ZN5boost8is_floatIVKeEC1Ev *INTERNAL* " demangled="boost::is_float<long double volatile const>::is_float()" location="f159:21" file="f159" line="21" inline="1"/>
+  <Constructor id="_9574" name="is_float" artificial="1" throw="" context="_3589" access="public" mangled="_ZN5boost8is_floatIVeEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<long double volatile>::is_float(boost::is_float<long double volatile> const&)" location="f159:21" file="f159" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_12350" location="f159:21" file="f159" line="21"/>
+  </Constructor>
+  <Constructor id="_9575" name="is_float" explicit="1" artificial="1" throw="" context="_3589" access="public" mangled="_ZN5boost8is_floatIVeEC1Ev *INTERNAL* " demangled="boost::is_float<long double volatile>::is_float()" location="f159:21" file="f159" line="21" inline="1"/>
+  <Constructor id="_9576" name="is_float" artificial="1" throw="" context="_3590" access="public" mangled="_ZN5boost8is_floatIKeEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<long double const>::is_float(boost::is_float<long double const> const&)" location="f159:21" file="f159" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_12351" location="f159:21" file="f159" line="21"/>
+  </Constructor>
+  <Constructor id="_9577" name="is_float" explicit="1" artificial="1" throw="" context="_3590" access="public" mangled="_ZN5boost8is_floatIKeEC1Ev *INTERNAL* " demangled="boost::is_float<long double const>::is_float()" location="f159:21" file="f159" line="21" inline="1"/>
+  <Constructor id="_9578" name="is_float" artificial="1" throw="" context="_3591" access="public" mangled="_ZN5boost8is_floatIeEC1ERKS1_ *INTERNAL* " demangled="boost::is_float<long double>::is_float(boost::is_float<long double> const&)" location="f159:21" file="f159" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_12352" location="f159:21" file="f159" line="21"/>
+  </Constructor>
+  <Constructor id="_9579" name="is_float" explicit="1" artificial="1" throw="" context="_3591" access="public" mangled="_ZN5boost8is_floatIeEC1Ev *INTERNAL* " demangled="boost::is_float<long double>::is_float()" location="f159:21" file="f159" line="21" inline="1"/>
+  <Constructor id="_9580" name="is_float" artificial="1" throw="" context="_3592" access="public" mangled="_ZN5boost8is_floatIVKdEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<double volatile const>::is_float(boost::is_float<double volatile const> const&)" location="f159:20" file="f159" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12353" location="f159:20" file="f159" line="20"/>
+  </Constructor>
+  <Constructor id="_9581" name="is_float" explicit="1" artificial="1" throw="" context="_3592" access="public" mangled="_ZN5boost8is_floatIVKdEC1Ev *INTERNAL* " demangled="boost::is_float<double volatile const>::is_float()" location="f159:20" file="f159" line="20" inline="1"/>
+  <Constructor id="_9582" name="is_float" artificial="1" throw="" context="_3593" access="public" mangled="_ZN5boost8is_floatIVdEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<double volatile>::is_float(boost::is_float<double volatile> const&)" location="f159:20" file="f159" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12354" location="f159:20" file="f159" line="20"/>
+  </Constructor>
+  <Constructor id="_9583" name="is_float" explicit="1" artificial="1" throw="" context="_3593" access="public" mangled="_ZN5boost8is_floatIVdEC1Ev *INTERNAL* " demangled="boost::is_float<double volatile>::is_float()" location="f159:20" file="f159" line="20" inline="1"/>
+  <Constructor id="_9584" name="is_float" artificial="1" throw="" context="_3594" access="public" mangled="_ZN5boost8is_floatIKdEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<double const>::is_float(boost::is_float<double const> const&)" location="f159:20" file="f159" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12355" location="f159:20" file="f159" line="20"/>
+  </Constructor>
+  <Constructor id="_9585" name="is_float" explicit="1" artificial="1" throw="" context="_3594" access="public" mangled="_ZN5boost8is_floatIKdEC1Ev *INTERNAL* " demangled="boost::is_float<double const>::is_float()" location="f159:20" file="f159" line="20" inline="1"/>
+  <Constructor id="_9586" name="is_float" artificial="1" throw="" context="_3595" access="public" mangled="_ZN5boost8is_floatIdEC1ERKS1_ *INTERNAL* " demangled="boost::is_float<double>::is_float(boost::is_float<double> const&)" location="f159:20" file="f159" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12356" location="f159:20" file="f159" line="20"/>
+  </Constructor>
+  <Constructor id="_9587" name="is_float" explicit="1" artificial="1" throw="" context="_3595" access="public" mangled="_ZN5boost8is_floatIdEC1Ev *INTERNAL* " demangled="boost::is_float<double>::is_float()" location="f159:20" file="f159" line="20" inline="1"/>
+  <Constructor id="_9588" name="is_float" artificial="1" throw="" context="_3596" access="public" mangled="_ZN5boost8is_floatIVKfEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<float volatile const>::is_float(boost::is_float<float volatile const> const&)" location="f159:19" file="f159" line="19" inline="1">
+    <Argument name="_ctor_arg" type="_12357" location="f159:19" file="f159" line="19"/>
+  </Constructor>
+  <Constructor id="_9589" name="is_float" explicit="1" artificial="1" throw="" context="_3596" access="public" mangled="_ZN5boost8is_floatIVKfEC1Ev *INTERNAL* " demangled="boost::is_float<float volatile const>::is_float()" location="f159:19" file="f159" line="19" inline="1"/>
+  <Constructor id="_9590" name="is_float" artificial="1" throw="" context="_3597" access="public" mangled="_ZN5boost8is_floatIVfEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<float volatile>::is_float(boost::is_float<float volatile> const&)" location="f159:19" file="f159" line="19" inline="1">
+    <Argument name="_ctor_arg" type="_12358" location="f159:19" file="f159" line="19"/>
+  </Constructor>
+  <Constructor id="_9591" name="is_float" explicit="1" artificial="1" throw="" context="_3597" access="public" mangled="_ZN5boost8is_floatIVfEC1Ev *INTERNAL* " demangled="boost::is_float<float volatile>::is_float()" location="f159:19" file="f159" line="19" inline="1"/>
+  <Constructor id="_9592" name="is_float" artificial="1" throw="" context="_3598" access="public" mangled="_ZN5boost8is_floatIKfEC1ERKS2_ *INTERNAL* " demangled="boost::is_float<float const>::is_float(boost::is_float<float const> const&)" location="f159:19" file="f159" line="19" inline="1">
+    <Argument name="_ctor_arg" type="_12359" location="f159:19" file="f159" line="19"/>
+  </Constructor>
+  <Constructor id="_9593" name="is_float" explicit="1" artificial="1" throw="" context="_3598" access="public" mangled="_ZN5boost8is_floatIKfEC1Ev *INTERNAL* " demangled="boost::is_float<float const>::is_float()" location="f159:19" file="f159" line="19" inline="1"/>
+  <Constructor id="_9594" name="is_float" artificial="1" throw="" context="_3599" access="public" mangled="_ZN5boost8is_floatIfEC1ERKS1_ *INTERNAL* " demangled="boost::is_float<float>::is_float(boost::is_float<float> const&)" location="f159:19" file="f159" line="19" inline="1">
+    <Argument name="_ctor_arg" type="_12360" location="f159:19" file="f159" line="19"/>
+  </Constructor>
+  <Constructor id="_9595" name="is_float" explicit="1" artificial="1" throw="" context="_3599" access="public" mangled="_ZN5boost8is_floatIfEC1Ev *INTERNAL* " demangled="boost::is_float<float>::is_float()" location="f159:19" file="f159" line="19" inline="1"/>
+  <Constructor id="_9596" name="is_integral" artificial="1" throw="" context="_3600" access="public" mangled="_ZN5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_integral<__gnu_cxx::__normal_iterator<char*, std::string> >::is_integral(boost::is_integral<__gnu_cxx::__normal_iterator<char*, std::string> > const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12361" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9597" name="is_integral" explicit="1" artificial="1" throw="" context="_3600" access="public" mangled="_ZN5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1Ev *INTERNAL* " demangled="boost::is_integral<__gnu_cxx::__normal_iterator<char*, std::string> >::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9598" name="is_integral" artificial="1" throw="" context="_3601" access="public" mangled="_ZN5boost11is_integralINS_9gregorian4dateEEC1ERKS3_ *INTERNAL* " demangled="boost::is_integral<boost::gregorian::date>::is_integral(boost::is_integral<boost::gregorian::date> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12362" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9599" name="is_integral" explicit="1" artificial="1" throw="" context="_3601" access="public" mangled="_ZN5boost11is_integralINS_9gregorian4dateEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::gregorian::date>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9600" name="is_integral" artificial="1" throw="" context="_3602" access="public" mangled="_ZN5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_integral(boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t const*,  [...]
+    <Argument name="_ctor_arg" type="_12363" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9601" name="is_integral" explicit="1" artificial="1" throw="" context="_3602" access="public" mangled="_ZN5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9602" name="is_integral" artificial="1" throw="" context="_3603" access="public" mangled="_ZN5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_integral<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_integral(boost::is_integral<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12364" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9603" name="is_integral" explicit="1" artificial="1" throw="" context="_3603" access="public" mangled="_ZN5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::is_integral<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9604" name="is_integral" artificial="1" throw="" context="_3604" access="public" mangled="_ZN5boost11is_integralINS_9date_time14microsec_clockINS_10posix_time5ptimeEE13TZ_FOR_CREATEEEC1ERKS7_ *INTERNAL* " demangled="boost::is_integral<boost::date_time::microsec_clock<boost::posix_time::ptime>::TZ_FOR_CREATE>::is_integral(boost::is_integral<boost::date_time::microsec_clock<boost::posix_time::ptime>::TZ_FOR_CREATE> const&)" location="f160:22" [...]
+    <Argument name="_ctor_arg" type="_12365" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9605" name="is_integral" explicit="1" artificial="1" throw="" context="_3604" access="public" mangled="_ZN5boost11is_integralINS_9date_time14microsec_clockINS_10posix_time5ptimeEE13TZ_FOR_CREATEEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::date_time::microsec_clock<boost::posix_time::ptime>::TZ_FOR_CREATE>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9606" name="is_integral" artificial="1" throw="" context="_3605" access="public" mangled="_ZN5boost11is_integralINS_10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEEEC1ERKS8_ *INTERNAL* " demangled="boost::is_integral<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::is_integral(boost::is_integral<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> & [...]
+    <Argument name="_ctor_arg" type="_12366" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9607" name="is_integral" explicit="1" artificial="1" throw="" context="_3605" access="public" mangled="_ZN5boost11is_integralINS_10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9608" name="is_integral" artificial="1" throw="" context="_3606" access="public" mangled="_ZN5boost11is_integralINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKS9_ *INTERNAL* " demangled="boost::is_integral<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_integral(boost::is_integral<boost::token_iterator<boost::offset_separator, _ [...]
+    <Argument name="_ctor_arg" type="_12367" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9609" name="is_integral" explicit="1" artificial="1" throw="" context="_3606" access="public" mangled="_ZN5boost11is_integralINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9610" name="is_integral" artificial="1" throw="" context="_3607" access="public" mangled="_ZN5boost11is_integralINS_9gregorian8greg_dayEEC1ERKS3_ *INTERNAL* " demangled="boost::is_integral<boost::gregorian::greg_day>::is_integral(boost::is_integral<boost::gregorian::greg_day> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12368" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9611" name="is_integral" explicit="1" artificial="1" throw="" context="_3607" access="public" mangled="_ZN5boost11is_integralINS_9gregorian8greg_dayEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::gregorian::greg_day>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9612" name="is_integral" artificial="1" throw="" context="_3608" access="public" mangled="_ZN5boost11is_integralINS_18empty_token_policyEEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<boost::empty_token_policy>::is_integral(boost::is_integral<boost::empty_token_policy> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12369" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9613" name="is_integral" explicit="1" artificial="1" throw="" context="_3608" access="public" mangled="_ZN5boost11is_integralINS_18empty_token_policyEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::empty_token_policy>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9614" name="is_integral" artificial="1" throw="" context="_3609" access="public" mangled="_ZN5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_integral(boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_st [...]
+    <Argument name="_ctor_arg" type="_12370" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9615" name="is_integral" explicit="1" artificial="1" throw="" context="_3609" access="public" mangled="_ZN5boost11is_integralIN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::is_integral<__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9616" name="is_integral" artificial="1" throw="" context="_3610" access="public" mangled="_ZN5boost11is_integralISt17_Rb_tree_iteratorISt4pairIKSstEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_integral<std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > >::is_integral(boost::is_integral<std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > > const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12371" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9617" name="is_integral" explicit="1" artificial="1" throw="" context="_3610" access="public" mangled="_ZN5boost11is_integralISt17_Rb_tree_iteratorISt4pairIKSstEEEC1Ev *INTERNAL* " demangled="boost::is_integral<std::_Rb_tree_iterator<std::pair<std::string const, unsigned short> > >::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9618" name="is_integral" artificial="1" throw="" context="_3611" access="public" mangled="_ZN5boost11is_integralINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSC_ *INTERNAL* " demangled="boost::is_integral<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_integral(boost::is_int [...]
+    <Argument name="_ctor_arg" type="_12372" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9619" name="is_integral" explicit="1" artificial="1" throw="" context="_3611" access="public" mangled="_ZN5boost11is_integralINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_integral()" l [...]
+  <Constructor id="_9620" name="is_integral" artificial="1" throw="" context="_3612" access="public" mangled="_ZN5boost11is_integralISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_integral<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_integral(boost::is_integral<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f160:22" fi [...]
+    <Argument name="_ctor_arg" type="_12373" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9621" name="is_integral" explicit="1" artificial="1" throw="" context="_3612" access="public" mangled="_ZN5boost11is_integralISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_integral<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9622" name="is_integral" artificial="1" throw="" context="_3613" access="public" mangled="_ZN5boost11is_integralISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<std::string>::is_integral(boost::is_integral<std::string> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12374" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9623" name="is_integral" explicit="1" artificial="1" throw="" context="_3613" access="public" mangled="_ZN5boost11is_integralISsEC1Ev *INTERNAL* " demangled="boost::is_integral<std::string>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9624" name="is_integral" artificial="1" throw="" context="_3614" access="public" mangled="_ZN5boost11is_integralISt26bidirectional_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<std::bidirectional_iterator_tag>::is_integral(boost::is_integral<std::bidirectional_iterator_tag> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12375" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9625" name="is_integral" explicit="1" artificial="1" throw="" context="_3614" access="public" mangled="_ZN5boost11is_integralISt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_integral<std::bidirectional_iterator_tag>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9626" name="is_integral" artificial="1" throw="" context="_3615" access="public" mangled="_ZN5boost11is_integralISt20forward_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<std::forward_iterator_tag>::is_integral(boost::is_integral<std::forward_iterator_tag> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12376" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9627" name="is_integral" explicit="1" artificial="1" throw="" context="_3615" access="public" mangled="_ZN5boost11is_integralISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_integral<std::forward_iterator_tag>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9628" name="is_integral" artificial="1" throw="" context="_3616" access="public" mangled="_ZN5boost11is_integralINS_27bidirectional_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<boost::bidirectional_traversal_tag>::is_integral(boost::is_integral<boost::bidirectional_traversal_tag> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12377" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9629" name="is_integral" explicit="1" artificial="1" throw="" context="_3616" access="public" mangled="_ZN5boost11is_integralINS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::bidirectional_traversal_tag>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9630" name="is_integral" artificial="1" throw="" context="_3617" access="public" mangled="_ZN5boost11is_integralISt19output_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<std::output_iterator_tag>::is_integral(boost::is_integral<std::output_iterator_tag> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12378" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9631" name="is_integral" explicit="1" artificial="1" throw="" context="_3617" access="public" mangled="_ZN5boost11is_integralISt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_integral<std::output_iterator_tag>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9632" name="is_integral" artificial="1" throw="" context="_3618" access="public" mangled="_ZN5boost11is_integralISt18input_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<std::input_iterator_tag>::is_integral(boost::is_integral<std::input_iterator_tag> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12379" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9633" name="is_integral" explicit="1" artificial="1" throw="" context="_3618" access="public" mangled="_ZN5boost11is_integralISt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_integral<std::input_iterator_tag>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9634" name="is_integral" artificial="1" throw="" context="_3619" access="public" mangled="_ZN5boost11is_integralINS_27random_access_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<boost::random_access_traversal_tag>::is_integral(boost::is_integral<boost::random_access_traversal_tag> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12380" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9635" name="is_integral" explicit="1" artificial="1" throw="" context="_3619" access="public" mangled="_ZN5boost11is_integralINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::random_access_traversal_tag>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9636" name="is_integral" artificial="1" throw="" context="_3620" access="public" mangled="_ZN5boost11is_integralINS_21forward_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<boost::forward_traversal_tag>::is_integral(boost::is_integral<boost::forward_traversal_tag> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12381" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9637" name="is_integral" explicit="1" artificial="1" throw="" context="_3620" access="public" mangled="_ZN5boost11is_integralINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::forward_traversal_tag>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9638" name="is_integral" artificial="1" throw="" context="_3621" access="public" mangled="_ZN5boost11is_integralINS_27incrementable_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<boost::incrementable_traversal_tag>::is_integral(boost::is_integral<boost::incrementable_traversal_tag> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12382" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9639" name="is_integral" explicit="1" artificial="1" throw="" context="_3621" access="public" mangled="_ZN5boost11is_integralINS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::incrementable_traversal_tag>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9640" name="is_integral" artificial="1" throw="" context="_3622" access="public" mangled="_ZN5boost11is_integralISt26random_access_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<std::random_access_iterator_tag>::is_integral(boost::is_integral<std::random_access_iterator_tag> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12383" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9641" name="is_integral" explicit="1" artificial="1" throw="" context="_3622" access="public" mangled="_ZN5boost11is_integralISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_integral<std::random_access_iterator_tag>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9642" name="is_integral" artificial="1" throw="" context="_3623" access="public" mangled="_ZN5boost11is_integralINS_9date_time14ymd_order_specEEC1ERKS3_ *INTERNAL* " demangled="boost::is_integral<boost::date_time::ymd_order_spec>::is_integral(boost::is_integral<boost::date_time::ymd_order_spec> const&)" location="f160:22" file="f160" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_12384" location="f160:22" file="f160" line="22"/>
+  </Constructor>
+  <Constructor id="_9643" name="is_integral" explicit="1" artificial="1" throw="" context="_3623" access="public" mangled="_ZN5boost11is_integralINS_9date_time14ymd_order_specEEC1Ev *INTERNAL* " demangled="boost::is_integral<boost::date_time::ymd_order_spec>::is_integral()" location="f160:22" file="f160" line="22" inline="1"/>
+  <Constructor id="_9644" name="is_integral" artificial="1" throw="" context="_3624" access="public" mangled="_ZN5boost11is_integralIiEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<int>::is_integral(boost::is_integral<int> const&)" location="f160:31" file="f160" line="31" inline="1">
+    <Argument name="_ctor_arg" type="_12385" location="f160:31" file="f160" line="31"/>
+  </Constructor>
+  <Constructor id="_9645" name="is_integral" explicit="1" artificial="1" throw="" context="_3624" access="public" mangled="_ZN5boost11is_integralIiEC1Ev *INTERNAL* " demangled="boost::is_integral<int>::is_integral()" location="f160:31" file="f160" line="31" inline="1"/>
+  <Constructor id="_9646" name="is_integral" artificial="1" throw="" context="_3625" access="public" mangled="_ZN5boost11is_integralIVKxEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<long long volatile const>::is_integral(boost::is_integral<long long volatile const> const&)" location="f160:63" file="f160" line="63" inline="1">
+    <Argument name="_ctor_arg" type="_12386" location="f160:63" file="f160" line="63"/>
+  </Constructor>
+  <Constructor id="_9647" name="is_integral" explicit="1" artificial="1" throw="" context="_3625" access="public" mangled="_ZN5boost11is_integralIVKxEC1Ev *INTERNAL* " demangled="boost::is_integral<long long volatile const>::is_integral()" location="f160:63" file="f160" line="63" inline="1"/>
+  <Constructor id="_9648" name="is_integral" artificial="1" throw="" context="_3626" access="public" mangled="_ZN5boost11is_integralIVxEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<long long volatile>::is_integral(boost::is_integral<long long volatile> const&)" location="f160:63" file="f160" line="63" inline="1">
+    <Argument name="_ctor_arg" type="_12387" location="f160:63" file="f160" line="63"/>
+  </Constructor>
+  <Constructor id="_9649" name="is_integral" explicit="1" artificial="1" throw="" context="_3626" access="public" mangled="_ZN5boost11is_integralIVxEC1Ev *INTERNAL* " demangled="boost::is_integral<long long volatile>::is_integral()" location="f160:63" file="f160" line="63" inline="1"/>
+  <Constructor id="_9650" name="is_integral" artificial="1" throw="" context="_3627" access="public" mangled="_ZN5boost11is_integralIKxEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<long long const>::is_integral(boost::is_integral<long long const> const&)" location="f160:63" file="f160" line="63" inline="1">
+    <Argument name="_ctor_arg" type="_12388" location="f160:63" file="f160" line="63"/>
+  </Constructor>
+  <Constructor id="_9651" name="is_integral" explicit="1" artificial="1" throw="" context="_3627" access="public" mangled="_ZN5boost11is_integralIKxEC1Ev *INTERNAL* " demangled="boost::is_integral<long long const>::is_integral()" location="f160:63" file="f160" line="63" inline="1"/>
+  <Constructor id="_9652" name="is_integral" artificial="1" throw="" context="_3628" access="public" mangled="_ZN5boost11is_integralIxEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<long long>::is_integral(boost::is_integral<long long> const&)" location="f160:63" file="f160" line="63" inline="1">
+    <Argument name="_ctor_arg" type="_12389" location="f160:63" file="f160" line="63"/>
+  </Constructor>
+  <Constructor id="_9653" name="is_integral" explicit="1" artificial="1" throw="" context="_3628" access="public" mangled="_ZN5boost11is_integralIxEC1Ev *INTERNAL* " demangled="boost::is_integral<long long>::is_integral()" location="f160:63" file="f160" line="63" inline="1"/>
+  <Constructor id="_9654" name="is_integral" artificial="1" throw="" context="_3629" access="public" mangled="_ZN5boost11is_integralIVKyEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned long long volatile const>::is_integral(boost::is_integral<unsigned long long volatile const> const&)" location="f160:62" file="f160" line="62" inline="1">
+    <Argument name="_ctor_arg" type="_12390" location="f160:62" file="f160" line="62"/>
+  </Constructor>
+  <Constructor id="_9655" name="is_integral" explicit="1" artificial="1" throw="" context="_3629" access="public" mangled="_ZN5boost11is_integralIVKyEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned long long volatile const>::is_integral()" location="f160:62" file="f160" line="62" inline="1"/>
+  <Constructor id="_9656" name="is_integral" artificial="1" throw="" context="_3630" access="public" mangled="_ZN5boost11is_integralIVyEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned long long volatile>::is_integral(boost::is_integral<unsigned long long volatile> const&)" location="f160:62" file="f160" line="62" inline="1">
+    <Argument name="_ctor_arg" type="_12391" location="f160:62" file="f160" line="62"/>
+  </Constructor>
+  <Constructor id="_9657" name="is_integral" explicit="1" artificial="1" throw="" context="_3630" access="public" mangled="_ZN5boost11is_integralIVyEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned long long volatile>::is_integral()" location="f160:62" file="f160" line="62" inline="1"/>
+  <Constructor id="_9658" name="is_integral" artificial="1" throw="" context="_3631" access="public" mangled="_ZN5boost11is_integralIKyEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned long long const>::is_integral(boost::is_integral<unsigned long long const> const&)" location="f160:62" file="f160" line="62" inline="1">
+    <Argument name="_ctor_arg" type="_12392" location="f160:62" file="f160" line="62"/>
+  </Constructor>
+  <Constructor id="_9659" name="is_integral" explicit="1" artificial="1" throw="" context="_3631" access="public" mangled="_ZN5boost11is_integralIKyEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned long long const>::is_integral()" location="f160:62" file="f160" line="62" inline="1"/>
+  <Constructor id="_9660" name="is_integral" artificial="1" throw="" context="_3632" access="public" mangled="_ZN5boost11is_integralIyEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<unsigned long long>::is_integral(boost::is_integral<unsigned long long> const&)" location="f160:62" file="f160" line="62" inline="1">
+    <Argument name="_ctor_arg" type="_12393" location="f160:62" file="f160" line="62"/>
+  </Constructor>
+  <Constructor id="_9661" name="is_integral" explicit="1" artificial="1" throw="" context="_3632" access="public" mangled="_ZN5boost11is_integralIyEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned long long>::is_integral()" location="f160:62" file="f160" line="62" inline="1"/>
+  <Constructor id="_9662" name="is_integral" artificial="1" throw="" context="_3633" access="public" mangled="_ZN5boost11is_integralIVKwEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<wchar_t volatile const>::is_integral(boost::is_integral<wchar_t volatile const> const&)" location="f160:41" file="f160" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_12394" location="f160:41" file="f160" line="41"/>
+  </Constructor>
+  <Constructor id="_9663" name="is_integral" explicit="1" artificial="1" throw="" context="_3633" access="public" mangled="_ZN5boost11is_integralIVKwEC1Ev *INTERNAL* " demangled="boost::is_integral<wchar_t volatile const>::is_integral()" location="f160:41" file="f160" line="41" inline="1"/>
+  <Constructor id="_9664" name="is_integral" artificial="1" throw="" context="_3634" access="public" mangled="_ZN5boost11is_integralIVwEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<wchar_t volatile>::is_integral(boost::is_integral<wchar_t volatile> const&)" location="f160:41" file="f160" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_12395" location="f160:41" file="f160" line="41"/>
+  </Constructor>
+  <Constructor id="_9665" name="is_integral" explicit="1" artificial="1" throw="" context="_3634" access="public" mangled="_ZN5boost11is_integralIVwEC1Ev *INTERNAL* " demangled="boost::is_integral<wchar_t volatile>::is_integral()" location="f160:41" file="f160" line="41" inline="1"/>
+  <Constructor id="_9666" name="is_integral" artificial="1" throw="" context="_3635" access="public" mangled="_ZN5boost11is_integralIKwEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<wchar_t const>::is_integral(boost::is_integral<wchar_t const> const&)" location="f160:41" file="f160" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_12396" location="f160:41" file="f160" line="41"/>
+  </Constructor>
+  <Constructor id="_9667" name="is_integral" explicit="1" artificial="1" throw="" context="_3635" access="public" mangled="_ZN5boost11is_integralIKwEC1Ev *INTERNAL* " demangled="boost::is_integral<wchar_t const>::is_integral()" location="f160:41" file="f160" line="41" inline="1"/>
+  <Constructor id="_9668" name="is_integral" artificial="1" throw="" context="_3636" access="public" mangled="_ZN5boost11is_integralIwEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<wchar_t>::is_integral(boost::is_integral<wchar_t> const&)" location="f160:41" file="f160" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_12397" location="f160:41" file="f160" line="41"/>
+  </Constructor>
+  <Constructor id="_9669" name="is_integral" explicit="1" artificial="1" throw="" context="_3636" access="public" mangled="_ZN5boost11is_integralIwEC1Ev *INTERNAL* " demangled="boost::is_integral<wchar_t>::is_integral()" location="f160:41" file="f160" line="41" inline="1"/>
+  <Constructor id="_9670" name="is_integral" artificial="1" throw="" context="_3637" access="public" mangled="_ZN5boost11is_integralIVKcEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<char volatile const>::is_integral(boost::is_integral<char volatile const> const&)" location="f160:35" file="f160" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_12398" location="f160:35" file="f160" line="35"/>
+  </Constructor>
+  <Constructor id="_9671" name="is_integral" explicit="1" artificial="1" throw="" context="_3637" access="public" mangled="_ZN5boost11is_integralIVKcEC1Ev *INTERNAL* " demangled="boost::is_integral<char volatile const>::is_integral()" location="f160:35" file="f160" line="35" inline="1"/>
+  <Constructor id="_9672" name="is_integral" artificial="1" throw="" context="_3638" access="public" mangled="_ZN5boost11is_integralIVcEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<char volatile>::is_integral(boost::is_integral<char volatile> const&)" location="f160:35" file="f160" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_12399" location="f160:35" file="f160" line="35"/>
+  </Constructor>
+  <Constructor id="_9673" name="is_integral" explicit="1" artificial="1" throw="" context="_3638" access="public" mangled="_ZN5boost11is_integralIVcEC1Ev *INTERNAL* " demangled="boost::is_integral<char volatile>::is_integral()" location="f160:35" file="f160" line="35" inline="1"/>
+  <Constructor id="_9674" name="is_integral" artificial="1" throw="" context="_3639" access="public" mangled="_ZN5boost11is_integralIKcEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<char const>::is_integral(boost::is_integral<char const> const&)" location="f160:35" file="f160" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_12400" location="f160:35" file="f160" line="35"/>
+  </Constructor>
+  <Constructor id="_9675" name="is_integral" explicit="1" artificial="1" throw="" context="_3639" access="public" mangled="_ZN5boost11is_integralIKcEC1Ev *INTERNAL* " demangled="boost::is_integral<char const>::is_integral()" location="f160:35" file="f160" line="35" inline="1"/>
+  <Constructor id="_9676" name="is_integral" artificial="1" throw="" context="_3640" access="public" mangled="_ZN5boost11is_integralIcEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<char>::is_integral(boost::is_integral<char> const&)" location="f160:35" file="f160" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_12401" location="f160:35" file="f160" line="35"/>
+  </Constructor>
+  <Constructor id="_9677" name="is_integral" explicit="1" artificial="1" throw="" context="_3640" access="public" mangled="_ZN5boost11is_integralIcEC1Ev *INTERNAL* " demangled="boost::is_integral<char>::is_integral()" location="f160:35" file="f160" line="35" inline="1"/>
+  <Constructor id="_9678" name="is_integral" artificial="1" throw="" context="_3641" access="public" mangled="_ZN5boost11is_integralIVKbEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<bool volatile const>::is_integral(boost::is_integral<bool volatile const> const&)" location="f160:34" file="f160" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_12402" location="f160:34" file="f160" line="34"/>
+  </Constructor>
+  <Constructor id="_9679" name="is_integral" explicit="1" artificial="1" throw="" context="_3641" access="public" mangled="_ZN5boost11is_integralIVKbEC1Ev *INTERNAL* " demangled="boost::is_integral<bool volatile const>::is_integral()" location="f160:34" file="f160" line="34" inline="1"/>
+  <Constructor id="_9680" name="is_integral" artificial="1" throw="" context="_3642" access="public" mangled="_ZN5boost11is_integralIVbEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<bool volatile>::is_integral(boost::is_integral<bool volatile> const&)" location="f160:34" file="f160" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_12403" location="f160:34" file="f160" line="34"/>
+  </Constructor>
+  <Constructor id="_9681" name="is_integral" explicit="1" artificial="1" throw="" context="_3642" access="public" mangled="_ZN5boost11is_integralIVbEC1Ev *INTERNAL* " demangled="boost::is_integral<bool volatile>::is_integral()" location="f160:34" file="f160" line="34" inline="1"/>
+  <Constructor id="_9682" name="is_integral" artificial="1" throw="" context="_3643" access="public" mangled="_ZN5boost11is_integralIKbEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<bool const>::is_integral(boost::is_integral<bool const> const&)" location="f160:34" file="f160" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_12404" location="f160:34" file="f160" line="34"/>
+  </Constructor>
+  <Constructor id="_9683" name="is_integral" explicit="1" artificial="1" throw="" context="_3643" access="public" mangled="_ZN5boost11is_integralIKbEC1Ev *INTERNAL* " demangled="boost::is_integral<bool const>::is_integral()" location="f160:34" file="f160" line="34" inline="1"/>
+  <Constructor id="_9684" name="is_integral" artificial="1" throw="" context="_3644" access="public" mangled="_ZN5boost11is_integralIbEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<bool>::is_integral(boost::is_integral<bool> const&)" location="f160:34" file="f160" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_12405" location="f160:34" file="f160" line="34"/>
+  </Constructor>
+  <Constructor id="_9685" name="is_integral" explicit="1" artificial="1" throw="" context="_3644" access="public" mangled="_ZN5boost11is_integralIbEC1Ev *INTERNAL* " demangled="boost::is_integral<bool>::is_integral()" location="f160:34" file="f160" line="34" inline="1"/>
+  <Constructor id="_9686" name="is_integral" artificial="1" throw="" context="_3645" access="public" mangled="_ZN5boost11is_integralIVKlEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<long volatile const>::is_integral(boost::is_integral<long volatile const> const&)" location="f160:32" file="f160" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_12406" location="f160:32" file="f160" line="32"/>
+  </Constructor>
+  <Constructor id="_9687" name="is_integral" explicit="1" artificial="1" throw="" context="_3645" access="public" mangled="_ZN5boost11is_integralIVKlEC1Ev *INTERNAL* " demangled="boost::is_integral<long volatile const>::is_integral()" location="f160:32" file="f160" line="32" inline="1"/>
+  <Constructor id="_9688" name="is_integral" artificial="1" throw="" context="_3646" access="public" mangled="_ZN5boost11is_integralIVlEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<long volatile>::is_integral(boost::is_integral<long volatile> const&)" location="f160:32" file="f160" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_12407" location="f160:32" file="f160" line="32"/>
+  </Constructor>
+  <Constructor id="_9689" name="is_integral" explicit="1" artificial="1" throw="" context="_3646" access="public" mangled="_ZN5boost11is_integralIVlEC1Ev *INTERNAL* " demangled="boost::is_integral<long volatile>::is_integral()" location="f160:32" file="f160" line="32" inline="1"/>
+  <Constructor id="_9690" name="is_integral" artificial="1" throw="" context="_3647" access="public" mangled="_ZN5boost11is_integralIKlEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<long const>::is_integral(boost::is_integral<long const> const&)" location="f160:32" file="f160" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_12408" location="f160:32" file="f160" line="32"/>
+  </Constructor>
+  <Constructor id="_9691" name="is_integral" explicit="1" artificial="1" throw="" context="_3647" access="public" mangled="_ZN5boost11is_integralIKlEC1Ev *INTERNAL* " demangled="boost::is_integral<long const>::is_integral()" location="f160:32" file="f160" line="32" inline="1"/>
+  <Constructor id="_9692" name="is_integral" artificial="1" throw="" context="_3648" access="public" mangled="_ZN5boost11is_integralIlEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<long>::is_integral(boost::is_integral<long> const&)" location="f160:32" file="f160" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_12409" location="f160:32" file="f160" line="32"/>
+  </Constructor>
+  <Constructor id="_9693" name="is_integral" explicit="1" artificial="1" throw="" context="_3648" access="public" mangled="_ZN5boost11is_integralIlEC1Ev *INTERNAL* " demangled="boost::is_integral<long>::is_integral()" location="f160:32" file="f160" line="32" inline="1"/>
+  <Constructor id="_9694" name="is_integral" artificial="1" throw="" context="_3649" access="public" mangled="_ZN5boost11is_integralIVKiEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<int volatile const>::is_integral(boost::is_integral<int volatile const> const&)" location="f160:31" file="f160" line="31" inline="1">
+    <Argument name="_ctor_arg" type="_12410" location="f160:31" file="f160" line="31"/>
+  </Constructor>
+  <Constructor id="_9695" name="is_integral" explicit="1" artificial="1" throw="" context="_3649" access="public" mangled="_ZN5boost11is_integralIVKiEC1Ev *INTERNAL* " demangled="boost::is_integral<int volatile const>::is_integral()" location="f160:31" file="f160" line="31" inline="1"/>
+  <Constructor id="_9696" name="is_integral" artificial="1" throw="" context="_3650" access="public" mangled="_ZN5boost11is_integralIViEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<int volatile>::is_integral(boost::is_integral<int volatile> const&)" location="f160:31" file="f160" line="31" inline="1">
+    <Argument name="_ctor_arg" type="_12411" location="f160:31" file="f160" line="31"/>
+  </Constructor>
+  <Constructor id="_9697" name="is_integral" explicit="1" artificial="1" throw="" context="_3650" access="public" mangled="_ZN5boost11is_integralIViEC1Ev *INTERNAL* " demangled="boost::is_integral<int volatile>::is_integral()" location="f160:31" file="f160" line="31" inline="1"/>
+  <Constructor id="_9698" name="is_integral" artificial="1" throw="" context="_3651" access="public" mangled="_ZN5boost11is_integralIKiEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<int const>::is_integral(boost::is_integral<int const> const&)" location="f160:31" file="f160" line="31" inline="1">
+    <Argument name="_ctor_arg" type="_12412" location="f160:31" file="f160" line="31"/>
+  </Constructor>
+  <Constructor id="_9699" name="is_integral" explicit="1" artificial="1" throw="" context="_3651" access="public" mangled="_ZN5boost11is_integralIKiEC1Ev *INTERNAL* " demangled="boost::is_integral<int const>::is_integral()" location="f160:31" file="f160" line="31" inline="1"/>
+  <Constructor id="_9700" name="is_integral" artificial="1" throw="" context="_3652" access="public" mangled="_ZN5boost11is_integralIVKsEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<short volatile const>::is_integral(boost::is_integral<short volatile const> const&)" location="f160:30" file="f160" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_12413" location="f160:30" file="f160" line="30"/>
+  </Constructor>
+  <Constructor id="_9701" name="is_integral" explicit="1" artificial="1" throw="" context="_3652" access="public" mangled="_ZN5boost11is_integralIVKsEC1Ev *INTERNAL* " demangled="boost::is_integral<short volatile const>::is_integral()" location="f160:30" file="f160" line="30" inline="1"/>
+  <Constructor id="_9702" name="is_integral" artificial="1" throw="" context="_3653" access="public" mangled="_ZN5boost11is_integralIVsEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<short volatile>::is_integral(boost::is_integral<short volatile> const&)" location="f160:30" file="f160" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_12414" location="f160:30" file="f160" line="30"/>
+  </Constructor>
+  <Constructor id="_9703" name="is_integral" explicit="1" artificial="1" throw="" context="_3653" access="public" mangled="_ZN5boost11is_integralIVsEC1Ev *INTERNAL* " demangled="boost::is_integral<short volatile>::is_integral()" location="f160:30" file="f160" line="30" inline="1"/>
+  <Constructor id="_9704" name="is_integral" artificial="1" throw="" context="_3654" access="public" mangled="_ZN5boost11is_integralIKsEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<short const>::is_integral(boost::is_integral<short const> const&)" location="f160:30" file="f160" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_12415" location="f160:30" file="f160" line="30"/>
+  </Constructor>
+  <Constructor id="_9705" name="is_integral" explicit="1" artificial="1" throw="" context="_3654" access="public" mangled="_ZN5boost11is_integralIKsEC1Ev *INTERNAL* " demangled="boost::is_integral<short const>::is_integral()" location="f160:30" file="f160" line="30" inline="1"/>
+  <Constructor id="_9706" name="is_integral" artificial="1" throw="" context="_3655" access="public" mangled="_ZN5boost11is_integralIsEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<short>::is_integral(boost::is_integral<short> const&)" location="f160:30" file="f160" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_12416" location="f160:30" file="f160" line="30"/>
+  </Constructor>
+  <Constructor id="_9707" name="is_integral" explicit="1" artificial="1" throw="" context="_3655" access="public" mangled="_ZN5boost11is_integralIsEC1Ev *INTERNAL* " demangled="boost::is_integral<short>::is_integral()" location="f160:30" file="f160" line="30" inline="1"/>
+  <Constructor id="_9708" name="is_integral" artificial="1" throw="" context="_3656" access="public" mangled="_ZN5boost11is_integralIVKaEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<signed char volatile const>::is_integral(boost::is_integral<signed char volatile const> const&)" location="f160:29" file="f160" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12417" location="f160:29" file="f160" line="29"/>
+  </Constructor>
+  <Constructor id="_9709" name="is_integral" explicit="1" artificial="1" throw="" context="_3656" access="public" mangled="_ZN5boost11is_integralIVKaEC1Ev *INTERNAL* " demangled="boost::is_integral<signed char volatile const>::is_integral()" location="f160:29" file="f160" line="29" inline="1"/>
+  <Constructor id="_9710" name="is_integral" artificial="1" throw="" context="_3657" access="public" mangled="_ZN5boost11is_integralIVaEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<signed char volatile>::is_integral(boost::is_integral<signed char volatile> const&)" location="f160:29" file="f160" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12418" location="f160:29" file="f160" line="29"/>
+  </Constructor>
+  <Constructor id="_9711" name="is_integral" explicit="1" artificial="1" throw="" context="_3657" access="public" mangled="_ZN5boost11is_integralIVaEC1Ev *INTERNAL* " demangled="boost::is_integral<signed char volatile>::is_integral()" location="f160:29" file="f160" line="29" inline="1"/>
+  <Constructor id="_9712" name="is_integral" artificial="1" throw="" context="_3658" access="public" mangled="_ZN5boost11is_integralIKaEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<signed char const>::is_integral(boost::is_integral<signed char const> const&)" location="f160:29" file="f160" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12419" location="f160:29" file="f160" line="29"/>
+  </Constructor>
+  <Constructor id="_9713" name="is_integral" explicit="1" artificial="1" throw="" context="_3658" access="public" mangled="_ZN5boost11is_integralIKaEC1Ev *INTERNAL* " demangled="boost::is_integral<signed char const>::is_integral()" location="f160:29" file="f160" line="29" inline="1"/>
+  <Constructor id="_9714" name="is_integral" artificial="1" throw="" context="_3659" access="public" mangled="_ZN5boost11is_integralIaEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<signed char>::is_integral(boost::is_integral<signed char> const&)" location="f160:29" file="f160" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12420" location="f160:29" file="f160" line="29"/>
+  </Constructor>
+  <Constructor id="_9715" name="is_integral" explicit="1" artificial="1" throw="" context="_3659" access="public" mangled="_ZN5boost11is_integralIaEC1Ev *INTERNAL* " demangled="boost::is_integral<signed char>::is_integral()" location="f160:29" file="f160" line="29" inline="1"/>
+  <Constructor id="_9716" name="is_integral" artificial="1" throw="" context="_3660" access="public" mangled="_ZN5boost11is_integralIVKmEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned long volatile const>::is_integral(boost::is_integral<unsigned long volatile const> const&)" location="f160:27" file="f160" line="27" inline="1">
+    <Argument name="_ctor_arg" type="_12421" location="f160:27" file="f160" line="27"/>
+  </Constructor>
+  <Constructor id="_9717" name="is_integral" explicit="1" artificial="1" throw="" context="_3660" access="public" mangled="_ZN5boost11is_integralIVKmEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned long volatile const>::is_integral()" location="f160:27" file="f160" line="27" inline="1"/>
+  <Constructor id="_9718" name="is_integral" artificial="1" throw="" context="_3661" access="public" mangled="_ZN5boost11is_integralIVmEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned long volatile>::is_integral(boost::is_integral<unsigned long volatile> const&)" location="f160:27" file="f160" line="27" inline="1">
+    <Argument name="_ctor_arg" type="_12422" location="f160:27" file="f160" line="27"/>
+  </Constructor>
+  <Constructor id="_9719" name="is_integral" explicit="1" artificial="1" throw="" context="_3661" access="public" mangled="_ZN5boost11is_integralIVmEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned long volatile>::is_integral()" location="f160:27" file="f160" line="27" inline="1"/>
+  <Constructor id="_9720" name="is_integral" artificial="1" throw="" context="_3662" access="public" mangled="_ZN5boost11is_integralIKmEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned long const>::is_integral(boost::is_integral<unsigned long const> const&)" location="f160:27" file="f160" line="27" inline="1">
+    <Argument name="_ctor_arg" type="_12423" location="f160:27" file="f160" line="27"/>
+  </Constructor>
+  <Constructor id="_9721" name="is_integral" explicit="1" artificial="1" throw="" context="_3662" access="public" mangled="_ZN5boost11is_integralIKmEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned long const>::is_integral()" location="f160:27" file="f160" line="27" inline="1"/>
+  <Constructor id="_9722" name="is_integral" artificial="1" throw="" context="_3663" access="public" mangled="_ZN5boost11is_integralImEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<unsigned long>::is_integral(boost::is_integral<unsigned long> const&)" location="f160:27" file="f160" line="27" inline="1">
+    <Argument name="_ctor_arg" type="_12424" location="f160:27" file="f160" line="27"/>
+  </Constructor>
+  <Constructor id="_9723" name="is_integral" explicit="1" artificial="1" throw="" context="_3663" access="public" mangled="_ZN5boost11is_integralImEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned long>::is_integral()" location="f160:27" file="f160" line="27" inline="1"/>
+  <Constructor id="_9724" name="is_integral" artificial="1" throw="" context="_3664" access="public" mangled="_ZN5boost11is_integralIVKjEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned volatile const>::is_integral(boost::is_integral<unsigned volatile const> const&)" location="f160:26" file="f160" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_12425" location="f160:26" file="f160" line="26"/>
+  </Constructor>
+  <Constructor id="_9725" name="is_integral" explicit="1" artificial="1" throw="" context="_3664" access="public" mangled="_ZN5boost11is_integralIVKjEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned volatile const>::is_integral()" location="f160:26" file="f160" line="26" inline="1"/>
+  <Constructor id="_9726" name="is_integral" artificial="1" throw="" context="_3665" access="public" mangled="_ZN5boost11is_integralIVjEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned volatile>::is_integral(boost::is_integral<unsigned volatile> const&)" location="f160:26" file="f160" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_12426" location="f160:26" file="f160" line="26"/>
+  </Constructor>
+  <Constructor id="_9727" name="is_integral" explicit="1" artificial="1" throw="" context="_3665" access="public" mangled="_ZN5boost11is_integralIVjEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned volatile>::is_integral()" location="f160:26" file="f160" line="26" inline="1"/>
+  <Constructor id="_9728" name="is_integral" artificial="1" throw="" context="_3666" access="public" mangled="_ZN5boost11is_integralIKjEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned const>::is_integral(boost::is_integral<unsigned const> const&)" location="f160:26" file="f160" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_12427" location="f160:26" file="f160" line="26"/>
+  </Constructor>
+  <Constructor id="_9729" name="is_integral" explicit="1" artificial="1" throw="" context="_3666" access="public" mangled="_ZN5boost11is_integralIKjEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned const>::is_integral()" location="f160:26" file="f160" line="26" inline="1"/>
+  <Constructor id="_9730" name="is_integral" artificial="1" throw="" context="_3667" access="public" mangled="_ZN5boost11is_integralIjEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<unsigned>::is_integral(boost::is_integral<unsigned> const&)" location="f160:26" file="f160" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_12428" location="f160:26" file="f160" line="26"/>
+  </Constructor>
+  <Constructor id="_9731" name="is_integral" explicit="1" artificial="1" throw="" context="_3667" access="public" mangled="_ZN5boost11is_integralIjEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned>::is_integral()" location="f160:26" file="f160" line="26" inline="1"/>
+  <Constructor id="_9732" name="is_integral" artificial="1" throw="" context="_3668" access="public" mangled="_ZN5boost11is_integralIVKtEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned short volatile const>::is_integral(boost::is_integral<unsigned short volatile const> const&)" location="f160:25" file="f160" line="25" inline="1">
+    <Argument name="_ctor_arg" type="_12429" location="f160:25" file="f160" line="25"/>
+  </Constructor>
+  <Constructor id="_9733" name="is_integral" explicit="1" artificial="1" throw="" context="_3668" access="public" mangled="_ZN5boost11is_integralIVKtEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned short volatile const>::is_integral()" location="f160:25" file="f160" line="25" inline="1"/>
+  <Constructor id="_9734" name="is_integral" artificial="1" throw="" context="_3669" access="public" mangled="_ZN5boost11is_integralIVtEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned short volatile>::is_integral(boost::is_integral<unsigned short volatile> const&)" location="f160:25" file="f160" line="25" inline="1">
+    <Argument name="_ctor_arg" type="_12430" location="f160:25" file="f160" line="25"/>
+  </Constructor>
+  <Constructor id="_9735" name="is_integral" explicit="1" artificial="1" throw="" context="_3669" access="public" mangled="_ZN5boost11is_integralIVtEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned short volatile>::is_integral()" location="f160:25" file="f160" line="25" inline="1"/>
+  <Constructor id="_9736" name="is_integral" artificial="1" throw="" context="_3670" access="public" mangled="_ZN5boost11is_integralIKtEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned short const>::is_integral(boost::is_integral<unsigned short const> const&)" location="f160:25" file="f160" line="25" inline="1">
+    <Argument name="_ctor_arg" type="_12431" location="f160:25" file="f160" line="25"/>
+  </Constructor>
+  <Constructor id="_9737" name="is_integral" explicit="1" artificial="1" throw="" context="_3670" access="public" mangled="_ZN5boost11is_integralIKtEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned short const>::is_integral()" location="f160:25" file="f160" line="25" inline="1"/>
+  <Constructor id="_9738" name="is_integral" artificial="1" throw="" context="_3671" access="public" mangled="_ZN5boost11is_integralItEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<unsigned short>::is_integral(boost::is_integral<unsigned short> const&)" location="f160:25" file="f160" line="25" inline="1">
+    <Argument name="_ctor_arg" type="_12432" location="f160:25" file="f160" line="25"/>
+  </Constructor>
+  <Constructor id="_9739" name="is_integral" explicit="1" artificial="1" throw="" context="_3671" access="public" mangled="_ZN5boost11is_integralItEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned short>::is_integral()" location="f160:25" file="f160" line="25" inline="1"/>
+  <Constructor id="_9740" name="is_integral" artificial="1" throw="" context="_3672" access="public" mangled="_ZN5boost11is_integralIVKhEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned char volatile const>::is_integral(boost::is_integral<unsigned char volatile const> const&)" location="f160:24" file="f160" line="24" inline="1">
+    <Argument name="_ctor_arg" type="_12433" location="f160:24" file="f160" line="24"/>
+  </Constructor>
+  <Constructor id="_9741" name="is_integral" explicit="1" artificial="1" throw="" context="_3672" access="public" mangled="_ZN5boost11is_integralIVKhEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned char volatile const>::is_integral()" location="f160:24" file="f160" line="24" inline="1"/>
+  <Constructor id="_9742" name="is_integral" artificial="1" throw="" context="_3673" access="public" mangled="_ZN5boost11is_integralIVhEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned char volatile>::is_integral(boost::is_integral<unsigned char volatile> const&)" location="f160:24" file="f160" line="24" inline="1">
+    <Argument name="_ctor_arg" type="_12434" location="f160:24" file="f160" line="24"/>
+  </Constructor>
+  <Constructor id="_9743" name="is_integral" explicit="1" artificial="1" throw="" context="_3673" access="public" mangled="_ZN5boost11is_integralIVhEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned char volatile>::is_integral()" location="f160:24" file="f160" line="24" inline="1"/>
+  <Constructor id="_9744" name="is_integral" artificial="1" throw="" context="_3674" access="public" mangled="_ZN5boost11is_integralIKhEC1ERKS2_ *INTERNAL* " demangled="boost::is_integral<unsigned char const>::is_integral(boost::is_integral<unsigned char const> const&)" location="f160:24" file="f160" line="24" inline="1">
+    <Argument name="_ctor_arg" type="_12435" location="f160:24" file="f160" line="24"/>
+  </Constructor>
+  <Constructor id="_9745" name="is_integral" explicit="1" artificial="1" throw="" context="_3674" access="public" mangled="_ZN5boost11is_integralIKhEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned char const>::is_integral()" location="f160:24" file="f160" line="24" inline="1"/>
+  <Constructor id="_9746" name="is_integral" artificial="1" throw="" context="_3675" access="public" mangled="_ZN5boost11is_integralIhEC1ERKS1_ *INTERNAL* " demangled="boost::is_integral<unsigned char>::is_integral(boost::is_integral<unsigned char> const&)" location="f160:24" file="f160" line="24" inline="1">
+    <Argument name="_ctor_arg" type="_12436" location="f160:24" file="f160" line="24"/>
+  </Constructor>
+  <Constructor id="_9747" name="is_integral" explicit="1" artificial="1" throw="" context="_3675" access="public" mangled="_ZN5boost11is_integralIhEC1Ev *INTERNAL* " demangled="boost::is_integral<unsigned char>::is_integral()" location="f160:24" file="f160" line="24" inline="1"/>
+  <ReferenceType id="_9748" type="_3331" size="32" align="32"/>
+  <Typedef id="_9749" name="type" type="_9748" context="_3676" access="public" location="f161:77" file="f161" line="77"/>
+  <Constructor id="_9750" name="add_reference" artificial="1" throw="" context="_3676" access="public" mangled="_ZN5boost13add_referenceIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::add_reference<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::add_reference(boost::add_reference<__gnu_cxx::__normal_iterator<wchar_ [...]
+    <Argument name="_ctor_arg" type="_12437" location="f161:77" file="f161" line="77"/>
+  </Constructor>
+  <Constructor id="_9751" name="add_reference" explicit="1" artificial="1" throw="" context="_3676" access="public" mangled="_ZN5boost13add_referenceIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::add_reference<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::add_reference()" location="f161:77" file="f161" line="77" inline="1"/>
+  <ReferenceType id="_9752" type="_3362" size="32" align="32"/>
+  <Typedef id="_9753" name="type" type="_9752" context="_3677" access="public" location="f161:77" file="f161" line="77"/>
+  <Constructor id="_9754" name="add_reference" artificial="1" throw="" context="_3677" access="public" mangled="_ZN5boost13add_referenceINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKS9_ *INTERNAL* " demangled="boost::add_reference<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::add_reference(boost::add_reference<boost::token_iterator<boost::offset_se [...]
+    <Argument name="_ctor_arg" type="_12438" location="f161:77" file="f161" line="77"/>
+  </Constructor>
+  <Constructor id="_9755" name="add_reference" explicit="1" artificial="1" throw="" context="_3677" access="public" mangled="_ZN5boost13add_referenceINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::add_reference<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::add_reference()" location="f161:77" file="f161" line="77" inline="1"/>
+  <ReferenceType id="_9756" type="_3363" size="32" align="32"/>
+  <Typedef id="_9757" name="type" type="_9756" context="_3678" access="public" location="f161:77" file="f161" line="77"/>
+  <Constructor id="_9758" name="add_reference" artificial="1" throw="" context="_3678" access="public" mangled="_ZN5boost13add_referenceINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSC_ *INTERNAL* " demangled="boost::add_reference<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::add_reference(boost [...]
+    <Argument name="_ctor_arg" type="_12439" location="f161:77" file="f161" line="77"/>
+  </Constructor>
+  <Constructor id="_9759" name="add_reference" explicit="1" artificial="1" throw="" context="_3678" access="public" mangled="_ZN5boost13add_referenceINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::add_reference<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::add_refere [...]
+  <Typedef id="_9760" name="type" type="_8001" context="_3679" access="public" location="f161:77" file="f161" line="77"/>
+  <Constructor id="_9761" name="add_reference" artificial="1" throw="" context="_3679" access="public" mangled="_ZN5boost13add_referenceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::add_reference<__gnu_cxx::__normal_iterator<char const*, std::string> >::add_reference(boost::add_reference<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f161:77" file="f161" line="77" inline="1">
+    <Argument name="_ctor_arg" type="_12440" location="f161:77" file="f161" line="77"/>
+  </Constructor>
+  <Constructor id="_9762" name="add_reference" explicit="1" artificial="1" throw="" context="_3679" access="public" mangled="_ZN5boost13add_referenceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::add_reference<__gnu_cxx::__normal_iterator<char const*, std::string> >::add_reference()" location="f161:77" file="f161" line="77" inline="1"/>
+  <ReferenceType id="_9763" type="_2702" size="32" align="32"/>
+  <Typedef id="_9764" name="type" type="_9763" context="_3680" access="public" location="f161:77" file="f161" line="77"/>
+  <Constructor id="_9765" name="add_reference" artificial="1" throw="" context="_3680" access="public" mangled="_ZN5boost13add_referenceISt20forward_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::add_reference<std::forward_iterator_tag>::add_reference(boost::add_reference<std::forward_iterator_tag> const&)" location="f161:77" file="f161" line="77" inline="1">
+    <Argument name="_ctor_arg" type="_12441" location="f161:77" file="f161" line="77"/>
+  </Constructor>
+  <Constructor id="_9766" name="add_reference" explicit="1" artificial="1" throw="" context="_3680" access="public" mangled="_ZN5boost13add_referenceISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::add_reference<std::forward_iterator_tag>::add_reference()" location="f161:77" file="f161" line="77" inline="1"/>
+  <ReferenceType id="_9767" type="_3529" size="32" align="32"/>
+  <Typedef id="_9768" name="type" type="_9767" context="_3681" access="public" location="f161:77" file="f161" line="77"/>
+  <Constructor id="_9769" name="add_reference" artificial="1" throw="" context="_3681" access="public" mangled="_ZN5boost13add_referenceINS_21forward_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::add_reference<boost::forward_traversal_tag>::add_reference(boost::add_reference<boost::forward_traversal_tag> const&)" location="f161:77" file="f161" line="77" inline="1">
+    <Argument name="_ctor_arg" type="_12442" location="f161:77" file="f161" line="77"/>
+  </Constructor>
+  <Constructor id="_9770" name="add_reference" explicit="1" artificial="1" throw="" context="_3681" access="public" mangled="_ZN5boost13add_referenceINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::add_reference<boost::forward_traversal_tag>::add_reference()" location="f161:77" file="f161" line="77" inline="1"/>
+  <ReferenceType id="_9771" type="_3527" size="32" align="32"/>
+  <Typedef id="_9772" name="type" type="_9771" context="_3682" access="public" location="f161:77" file="f161" line="77"/>
+  <Constructor id="_9773" name="add_reference" artificial="1" throw="" context="_3682" access="public" mangled="_ZN5boost13add_referenceINS_27random_access_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::add_reference<boost::random_access_traversal_tag>::add_reference(boost::add_reference<boost::random_access_traversal_tag> const&)" location="f161:77" file="f161" line="77" inline="1">
+    <Argument name="_ctor_arg" type="_12443" location="f161:77" file="f161" line="77"/>
+  </Constructor>
+  <Constructor id="_9774" name="add_reference" explicit="1" artificial="1" throw="" context="_3682" access="public" mangled="_ZN5boost13add_referenceINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::add_reference<boost::random_access_traversal_tag>::add_reference()" location="f161:77" file="f161" line="77" inline="1"/>
+  <ReferenceType id="_9775" type="_2700" size="32" align="32"/>
+  <Typedef id="_9776" name="type" type="_9775" context="_3683" access="public" location="f161:77" file="f161" line="77"/>
+  <Constructor id="_9777" name="add_reference" artificial="1" throw="" context="_3683" access="public" mangled="_ZN5boost13add_referenceISt26random_access_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::add_reference<std::random_access_iterator_tag>::add_reference(boost::add_reference<std::random_access_iterator_tag> const&)" location="f161:77" file="f161" line="77" inline="1">
+    <Argument name="_ctor_arg" type="_12444" location="f161:77" file="f161" line="77"/>
+  </Constructor>
+  <Constructor id="_9778" name="add_reference" explicit="1" artificial="1" throw="" context="_3683" access="public" mangled="_ZN5boost13add_referenceISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::add_reference<std::random_access_iterator_tag>::add_reference()" location="f161:77" file="f161" line="77" inline="1"/>
+  <Enumeration id="_9779" name="._86" context="_3693" access="public" location="f162:40" file="f162" line="40" artificial="1" size="32" align="32">
+    <EnumValue name="value" init="1"/>
+  </Enumeration>
+  <Constructor id="_9780" name="STATIC_ASSERTION_FAILURE" artificial="1" throw="" context="_3693" access="public" mangled="_ZN5boost24STATIC_ASSERTION_FAILUREILb1EEC1ERKS1_ *INTERNAL* " demangled="boost::STATIC_ASSERTION_FAILURE<true>::STATIC_ASSERTION_FAILURE(boost::STATIC_ASSERTION_FAILURE<true> const&)" location="f162:40" file="f162" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_12445" location="f162:40" file="f162" line="40"/>
+  </Constructor>
+  <Constructor id="_9781" name="STATIC_ASSERTION_FAILURE" explicit="1" artificial="1" throw="" context="_3693" access="public" mangled="_ZN5boost24STATIC_ASSERTION_FAILUREILb1EEC1Ev *INTERNAL* " demangled="boost::STATIC_ASSERTION_FAILURE<true>::STATIC_ASSERTION_FAILURE()" location="f162:40" file="f162" line="40" inline="1"/>
+  <Constructor id="_9782" name="noncopyable" explicit="1" context="_3694" access="protected" mangled="_ZN5boost12noncopyable_11noncopyableC1Ev *INTERNAL* " demangled="boost::noncopyable_::noncopyable::noncopyable()" location="f163:24" file="f163" line="24" endline="24" inline="1"/>
+  <Destructor id="_9783" name="noncopyable" context="_3694" access="protected" mangled="_ZN5boost12noncopyable_11noncopyableD1Ev *INTERNAL* " demangled="boost::noncopyable_::noncopyable::~noncopyable()" location="f163:25" file="f163" line="25" endline="25" inline="1">
+  </Destructor>
+  <Constructor id="_9784" name="noncopyable" context="_3694" access="private" mangled="_ZN5boost12noncopyable_11noncopyableC1ERKS1_ *INTERNAL* " demangled="boost::noncopyable_::noncopyable::noncopyable(boost::noncopyable_::noncopyable const&)" location="f163:27" file="f163" line="27" extern="1">
+    <Argument type="_12446" location="f163:27" file="f163" line="27"/>
+  </Constructor>
+  <OperatorMethod id="_9785" name="=" returns="_12446" context="_3694" access="private" mangled="_ZN5boost12noncopyable_11noncopyableaSERKS1_" demangled="boost::noncopyable_::noncopyable::operator=(boost::noncopyable_::noncopyable const&)" location="f163:28" file="f163" line="28" extern="1">
+    <Argument type="_12446" location="f163:28" file="f163" line="28"/>
+  </OperatorMethod>
+  <Typedef id="_9786" name="type" type="_3949" context="_3696" access="public" location="f164:29" file="f164" line="29"/>
+  <Constructor id="_9787" name="enable_if_c" artificial="1" throw="" context="_3696" access="public" mangled="_ZN5boost11enable_if_cILb1EbEC1ERKS1_ *INTERNAL* " demangled="boost::enable_if_c<true, bool>::enable_if_c(boost::enable_if_c<true, bool> const&)" location="f164:28" file="f164" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_12447" location="f164:28" file="f164" line="28"/>
+  </Constructor>
+  <Constructor id="_9788" name="enable_if_c" explicit="1" artificial="1" throw="" context="_3696" access="public" mangled="_ZN5boost11enable_if_cILb1EbEC1Ev *INTERNAL* " demangled="boost::enable_if_c<true, bool>::enable_if_c()" location="f164:28" file="f164" line="28" inline="1"/>
+  <Constructor id="_9789" name="enable_if_c" artificial="1" throw="" context="_3697" access="public" mangled="_ZN5boost11enable_if_cILb0EbEC1ERKS1_ *INTERNAL* " demangled="boost::enable_if_c<false, bool>::enable_if_c(boost::enable_if_c<false, bool> const&)" location="f164:28" file="f164" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_12448" location="f164:28" file="f164" line="28"/>
+  </Constructor>
+  <Constructor id="_9790" name="enable_if_c" explicit="1" artificial="1" throw="" context="_3697" access="public" mangled="_ZN5boost11enable_if_cILb0EbEC1Ev *INTERNAL* " demangled="boost::enable_if_c<false, bool>::enable_if_c()" location="f164:28" file="f164" line="28" inline="1"/>
+  <ReferenceType id="_9791" type="_3460c" size="32" align="32"/>
+  <ReferenceType id="_9792" type="_3459c" size="32" align="32"/>
+  <ReferenceType id="_9793" type="_3458c" size="32" align="32"/>
+  <ReferenceType id="_9794" type="_9946c" size="32" align="32"/>
+  <ReferenceType id="_9795" type="_3459" size="32" align="32"/>
+  <Constructor id="_9796" name="is_same" artificial="1" throw="" context="_3710" access="public" mangled="_ZN5boost7is_sameINS_21forward_traversal_tagES1_EC1ERKS2_ *INTERNAL* " demangled="boost::is_same<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_same(boost::is_same<boost::forward_traversal_tag, boost::forward_traversal_tag> const&)" location="f167:37" file="f167" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12453" location="f167:37" file="f167" line="37"/>
+  </Constructor>
+  <Constructor id="_9797" name="is_same" explicit="1" artificial="1" throw="" context="_3710" access="public" mangled="_ZN5boost7is_sameINS_21forward_traversal_tagES1_EC1Ev *INTERNAL* " demangled="boost::is_same<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_same()" location="f167:37" file="f167" line="37" inline="1"/>
+  <Constructor id="_9798" name="is_void" artificial="1" throw="" context="_3711" access="public" mangled="_ZN5boost7is_voidIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::is_void<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_void(boost::is_void<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string< [...]
+    <Argument name="_ctor_arg" type="_12454" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9799" name="is_void" explicit="1" artificial="1" throw="" context="_3711" access="public" mangled="_ZN5boost7is_voidIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::is_void<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9800" name="is_void" artificial="1" throw="" context="_3712" access="public" mangled="_ZN5boost7is_voidISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_void<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_void(boost::is_void<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f168:20" file="f168" line="20" i [...]
+    <Argument name="_ctor_arg" type="_12455" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9801" name="is_void" explicit="1" artificial="1" throw="" context="_3712" access="public" mangled="_ZN5boost7is_voidISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_void<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9802" name="is_void" artificial="1" throw="" context="_3713" access="public" mangled="_ZN5boost7is_voidINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKS9_ *INTERNAL* " demangled="boost::is_void<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_void(boost::is_void<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_it [...]
+    <Argument name="_ctor_arg" type="_12456" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9803" name="is_void" explicit="1" artificial="1" throw="" context="_3713" access="public" mangled="_ZN5boost7is_voidINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_void<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9804" name="is_void" artificial="1" throw="" context="_3714" access="public" mangled="_ZN5boost7is_voidINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSC_ *INTERNAL* " demangled="boost::is_void<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_void(boost::is_void<boost::token [...]
+    <Argument name="_ctor_arg" type="_12457" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9805" name="is_void" explicit="1" artificial="1" throw="" context="_3714" access="public" mangled="_ZN5boost7is_voidINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_void<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_void()" location="f168:20" [...]
+  <Constructor id="_9806" name="is_void" artificial="1" throw="" context="_3715" access="public" mangled="_ZN5boost7is_voidIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_void<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_void(boost::is_void<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12458" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9807" name="is_void" explicit="1" artificial="1" throw="" context="_3715" access="public" mangled="_ZN5boost7is_voidIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::is_void<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9808" name="is_void" artificial="1" throw="" context="_3716" access="public" mangled="_ZN5boost7is_voidISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_void<std::string>::is_void(boost::is_void<std::string> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12459" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9809" name="is_void" explicit="1" artificial="1" throw="" context="_3716" access="public" mangled="_ZN5boost7is_voidISsEC1Ev *INTERNAL* " demangled="boost::is_void<std::string>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9810" name="is_void" artificial="1" throw="" context="_3717" access="public" mangled="_ZN5boost7is_voidISt20forward_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<std::forward_iterator_tag>::is_void(boost::is_void<std::forward_iterator_tag> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12460" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9811" name="is_void" explicit="1" artificial="1" throw="" context="_3717" access="public" mangled="_ZN5boost7is_voidISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_void<std::forward_iterator_tag>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9812" name="is_void" artificial="1" throw="" context="_3718" access="public" mangled="_ZN5boost7is_voidISt26bidirectional_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<std::bidirectional_iterator_tag>::is_void(boost::is_void<std::bidirectional_iterator_tag> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12461" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9813" name="is_void" explicit="1" artificial="1" throw="" context="_3718" access="public" mangled="_ZN5boost7is_voidISt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_void<std::bidirectional_iterator_tag>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9814" name="is_void" artificial="1" throw="" context="_3719" access="public" mangled="_ZN5boost7is_voidISt26random_access_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<std::random_access_iterator_tag>::is_void(boost::is_void<std::random_access_iterator_tag> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12462" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9815" name="is_void" explicit="1" artificial="1" throw="" context="_3719" access="public" mangled="_ZN5boost7is_voidISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_void<std::random_access_iterator_tag>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9816" name="is_void" artificial="1" throw="" context="_3720" access="public" mangled="_ZN5boost7is_voidINS_27incrementable_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<boost::incrementable_traversal_tag>::is_void(boost::is_void<boost::incrementable_traversal_tag> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12463" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9817" name="is_void" explicit="1" artificial="1" throw="" context="_3720" access="public" mangled="_ZN5boost7is_voidINS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_void<boost::incrementable_traversal_tag>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9818" name="is_void" artificial="1" throw="" context="_3721" access="public" mangled="_ZN5boost7is_voidINS_27bidirectional_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<boost::bidirectional_traversal_tag>::is_void(boost::is_void<boost::bidirectional_traversal_tag> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12464" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9819" name="is_void" explicit="1" artificial="1" throw="" context="_3721" access="public" mangled="_ZN5boost7is_voidINS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_void<boost::bidirectional_traversal_tag>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9820" name="is_void" artificial="1" throw="" context="_3722" access="public" mangled="_ZN5boost7is_voidINS_21forward_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<boost::forward_traversal_tag>::is_void(boost::is_void<boost::forward_traversal_tag> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12465" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9821" name="is_void" explicit="1" artificial="1" throw="" context="_3722" access="public" mangled="_ZN5boost7is_voidINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_void<boost::forward_traversal_tag>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9822" name="is_void" artificial="1" throw="" context="_3723" access="public" mangled="_ZN5boost7is_voidISt19output_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<std::output_iterator_tag>::is_void(boost::is_void<std::output_iterator_tag> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12466" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9823" name="is_void" explicit="1" artificial="1" throw="" context="_3723" access="public" mangled="_ZN5boost7is_voidISt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_void<std::output_iterator_tag>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9824" name="is_void" artificial="1" throw="" context="_3724" access="public" mangled="_ZN5boost7is_voidISt18input_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<std::input_iterator_tag>::is_void(boost::is_void<std::input_iterator_tag> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12467" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9825" name="is_void" explicit="1" artificial="1" throw="" context="_3724" access="public" mangled="_ZN5boost7is_voidISt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_void<std::input_iterator_tag>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9826" name="is_void" artificial="1" throw="" context="_3725" access="public" mangled="_ZN5boost7is_voidINS_27random_access_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<boost::random_access_traversal_tag>::is_void(boost::is_void<boost::random_access_traversal_tag> const&)" location="f168:20" file="f168" line="20" inline="1">
+    <Argument name="_ctor_arg" type="_12468" location="f168:20" file="f168" line="20"/>
+  </Constructor>
+  <Constructor id="_9827" name="is_void" explicit="1" artificial="1" throw="" context="_3725" access="public" mangled="_ZN5boost7is_voidINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_void<boost::random_access_traversal_tag>::is_void()" location="f168:20" file="f168" line="20" inline="1"/>
+  <Constructor id="_9828" name="is_void" artificial="1" throw="" context="_3726" access="public" mangled="_ZN5boost7is_voidIVKvEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<void volatile const>::is_void(boost::is_void<void volatile const> const&)" location="f168:26" file="f168" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_12469" location="f168:26" file="f168" line="26"/>
+  </Constructor>
+  <Constructor id="_9829" name="is_void" explicit="1" artificial="1" throw="" context="_3726" access="public" mangled="_ZN5boost7is_voidIVKvEC1Ev *INTERNAL* " demangled="boost::is_void<void volatile const>::is_void()" location="f168:26" file="f168" line="26" inline="1"/>
+  <Constructor id="_9830" name="is_void" artificial="1" throw="" context="_3727" access="public" mangled="_ZN5boost7is_voidIVvEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<void volatile>::is_void(boost::is_void<void volatile> const&)" location="f168:25" file="f168" line="25" inline="1">
+    <Argument name="_ctor_arg" type="_12470" location="f168:25" file="f168" line="25"/>
+  </Constructor>
+  <Constructor id="_9831" name="is_void" explicit="1" artificial="1" throw="" context="_3727" access="public" mangled="_ZN5boost7is_voidIVvEC1Ev *INTERNAL* " demangled="boost::is_void<void volatile>::is_void()" location="f168:25" file="f168" line="25" inline="1"/>
+  <Constructor id="_9832" name="is_void" artificial="1" throw="" context="_3728" access="public" mangled="_ZN5boost7is_voidIKvEC1ERKS2_ *INTERNAL* " demangled="boost::is_void<void const>::is_void(boost::is_void<void const> const&)" location="f168:24" file="f168" line="24" inline="1">
+    <Argument name="_ctor_arg" type="_12471" location="f168:24" file="f168" line="24"/>
+  </Constructor>
+  <Constructor id="_9833" name="is_void" explicit="1" artificial="1" throw="" context="_3728" access="public" mangled="_ZN5boost7is_voidIKvEC1Ev *INTERNAL* " demangled="boost::is_void<void const>::is_void()" location="f168:24" file="f168" line="24" inline="1"/>
+  <Constructor id="_9834" name="is_void" artificial="1" throw="" context="_3729" access="public" mangled="_ZN5boost7is_voidIvEC1ERKS1_ *INTERNAL* " demangled="boost::is_void<void>::is_void(boost::is_void<void> const&)" location="f168:21" file="f168" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_12472" location="f168:21" file="f168" line="21"/>
+  </Constructor>
+  <Constructor id="_9835" name="is_void" explicit="1" artificial="1" throw="" context="_3729" access="public" mangled="_ZN5boost7is_voidIvEC1Ev *INTERNAL* " demangled="boost::is_void<void>::is_void()" location="f168:21" file="f168" line="21" inline="1"/>
+  <Constructor id="_9836" name="is_array" artificial="1" throw="" context="_3730" access="public" mangled="_ZN5boost8is_arrayIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::is_array<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_array(boost::is_array<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_strin [...]
+    <Argument name="_ctor_arg" type="_12473" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9837" name="is_array" explicit="1" artificial="1" throw="" context="_3730" access="public" mangled="_ZN5boost8is_arrayIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::is_array<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9838" name="is_array" artificial="1" throw="" context="_3731" access="public" mangled="_ZN5boost8is_arrayISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_array<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_array(boost::is_array<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f169:33" file="f169" line=" [...]
+    <Argument name="_ctor_arg" type="_12474" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9839" name="is_array" explicit="1" artificial="1" throw="" context="_3731" access="public" mangled="_ZN5boost8is_arrayISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_array<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9840" name="is_array" artificial="1" throw="" context="_3732" access="public" mangled="_ZN5boost8is_arrayINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKS9_ *INTERNAL* " demangled="boost::is_array<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_array(boost::is_array<boost::token_iterator<boost::offset_separator, __gnu_cxx::__norm [...]
+    <Argument name="_ctor_arg" type="_12475" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9841" name="is_array" explicit="1" artificial="1" throw="" context="_3732" access="public" mangled="_ZN5boost8is_arrayINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_array<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9842" name="is_array" artificial="1" throw="" context="_3733" access="public" mangled="_ZN5boost8is_arrayINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSC_ *INTERNAL* " demangled="boost::is_array<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_array(boost::is_array<boost:: [...]
+    <Argument name="_ctor_arg" type="_12476" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9843" name="is_array" explicit="1" artificial="1" throw="" context="_3733" access="public" mangled="_ZN5boost8is_arrayINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::is_array<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_array()" location="f169 [...]
+  <Constructor id="_9844" name="is_array" artificial="1" throw="" context="_3734" access="public" mangled="_ZN5boost8is_arrayIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_array<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_array(boost::is_array<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12477" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9845" name="is_array" explicit="1" artificial="1" throw="" context="_3734" access="public" mangled="_ZN5boost8is_arrayIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::is_array<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9846" name="is_array" artificial="1" throw="" context="_3735" access="public" mangled="_ZN5boost8is_arrayISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_array<std::string>::is_array(boost::is_array<std::string> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12478" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9847" name="is_array" explicit="1" artificial="1" throw="" context="_3735" access="public" mangled="_ZN5boost8is_arrayISsEC1Ev *INTERNAL* " demangled="boost::is_array<std::string>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9848" name="is_array" artificial="1" throw="" context="_3736" access="public" mangled="_ZN5boost8is_arrayISt20forward_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_array<std::forward_iterator_tag>::is_array(boost::is_array<std::forward_iterator_tag> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12479" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9849" name="is_array" explicit="1" artificial="1" throw="" context="_3736" access="public" mangled="_ZN5boost8is_arrayISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_array<std::forward_iterator_tag>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9850" name="is_array" artificial="1" throw="" context="_3737" access="public" mangled="_ZN5boost8is_arrayISt26bidirectional_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_array<std::bidirectional_iterator_tag>::is_array(boost::is_array<std::bidirectional_iterator_tag> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12480" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9851" name="is_array" explicit="1" artificial="1" throw="" context="_3737" access="public" mangled="_ZN5boost8is_arrayISt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_array<std::bidirectional_iterator_tag>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9852" name="is_array" artificial="1" throw="" context="_3738" access="public" mangled="_ZN5boost8is_arrayISt26random_access_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_array<std::random_access_iterator_tag>::is_array(boost::is_array<std::random_access_iterator_tag> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12481" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9853" name="is_array" explicit="1" artificial="1" throw="" context="_3738" access="public" mangled="_ZN5boost8is_arrayISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_array<std::random_access_iterator_tag>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9854" name="is_array" artificial="1" throw="" context="_3739" access="public" mangled="_ZN5boost8is_arrayINS_27incrementable_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_array<boost::incrementable_traversal_tag>::is_array(boost::is_array<boost::incrementable_traversal_tag> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12482" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9855" name="is_array" explicit="1" artificial="1" throw="" context="_3739" access="public" mangled="_ZN5boost8is_arrayINS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_array<boost::incrementable_traversal_tag>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9856" name="is_array" artificial="1" throw="" context="_3740" access="public" mangled="_ZN5boost8is_arrayINS_27bidirectional_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_array<boost::bidirectional_traversal_tag>::is_array(boost::is_array<boost::bidirectional_traversal_tag> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12483" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9857" name="is_array" explicit="1" artificial="1" throw="" context="_3740" access="public" mangled="_ZN5boost8is_arrayINS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_array<boost::bidirectional_traversal_tag>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9858" name="is_array" artificial="1" throw="" context="_3741" access="public" mangled="_ZN5boost8is_arrayINS_21forward_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_array<boost::forward_traversal_tag>::is_array(boost::is_array<boost::forward_traversal_tag> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12484" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9859" name="is_array" explicit="1" artificial="1" throw="" context="_3741" access="public" mangled="_ZN5boost8is_arrayINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_array<boost::forward_traversal_tag>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9860" name="is_array" artificial="1" throw="" context="_3742" access="public" mangled="_ZN5boost8is_arrayISt19output_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_array<std::output_iterator_tag>::is_array(boost::is_array<std::output_iterator_tag> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12485" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9861" name="is_array" explicit="1" artificial="1" throw="" context="_3742" access="public" mangled="_ZN5boost8is_arrayISt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_array<std::output_iterator_tag>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9862" name="is_array" artificial="1" throw="" context="_3743" access="public" mangled="_ZN5boost8is_arrayISt18input_iterator_tagEC1ERKS2_ *INTERNAL* " demangled="boost::is_array<std::input_iterator_tag>::is_array(boost::is_array<std::input_iterator_tag> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12486" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9863" name="is_array" explicit="1" artificial="1" throw="" context="_3743" access="public" mangled="_ZN5boost8is_arrayISt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::is_array<std::input_iterator_tag>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Constructor id="_9864" name="is_array" artificial="1" throw="" context="_3744" access="public" mangled="_ZN5boost8is_arrayINS_27random_access_traversal_tagEEC1ERKS2_ *INTERNAL* " demangled="boost::is_array<boost::random_access_traversal_tag>::is_array(boost::is_array<boost::random_access_traversal_tag> const&)" location="f169:33" file="f169" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_12487" location="f169:33" file="f169" line="33"/>
+  </Constructor>
+  <Constructor id="_9865" name="is_array" explicit="1" artificial="1" throw="" context="_3744" access="public" mangled="_ZN5boost8is_arrayINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::is_array<boost::random_access_traversal_tag>::is_array()" location="f169:33" file="f169" line="33" inline="1"/>
+  <Typedef id="_9866" name="type" type="_3328" context="_3756" access="public" location="f171:33" file="f171" line="33"/>
+  <Constructor id="_9867" name="range_iterator" artificial="1" throw="" context="_3756" access="public" mangled="_ZN5boost14range_iteratorIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::range_iterator(boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >  [...]
+    <Argument name="_ctor_arg" type="_12488" location="f171:29" file="f171" line="29"/>
+  </Constructor>
+  <Constructor id="_9868" name="range_iterator" explicit="1" artificial="1" throw="" context="_3756" access="public" mangled="_ZN5boost14range_iteratorIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1Ev *INTERNAL* " demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::range_iterator()" location="f171:29" file="f171" line="29" inline="1"/>
+  <Typedef id="_9869" name="type" type="_3330" context="_3757" access="public" location="f171:33" file="f171" line="33"/>
+  <Constructor id="_9870" name="range_iterator" artificial="1" throw="" context="_3757" access="public" mangled="_ZN5boost14range_iteratorISsEC1ERKS1_ *INTERNAL* " demangled="boost::range_iterator<std::string>::range_iterator(boost::range_iterator<std::string> const&)" location="f171:29" file="f171" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12489" location="f171:29" file="f171" line="29"/>
+  </Constructor>
+  <Constructor id="_9871" name="range_iterator" explicit="1" artificial="1" throw="" context="_3757" access="public" mangled="_ZN5boost14range_iteratorISsEC1Ev *INTERNAL* " demangled="boost::range_iterator<std::string>::range_iterator()" location="f171:29" file="f171" line="29" inline="1"/>
+  <Typedef id="_9872" name="type" type="_3328" context="_3758" access="public" location="f171:33" file="f171" line="33"/>
+  <Constructor id="_9873" name="range_iterator" artificial="1" throw="" context="_3758" access="public" mangled="_ZN5boost14range_iteratorIKSsEC1ERKS2_ *INTERNAL* " demangled="boost::range_iterator<std::string const>::range_iterator(boost::range_iterator<std::string const> const&)" location="f171:29" file="f171" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12490" location="f171:29" file="f171" line="29"/>
+  </Constructor>
+  <Constructor id="_9874" name="range_iterator" explicit="1" artificial="1" throw="" context="_3758" access="public" mangled="_ZN5boost14range_iteratorIKSsEC1Ev *INTERNAL* " demangled="boost::range_iterator<std::string const>::range_iterator()" location="f171:29" file="f171" line="29" inline="1"/>
+  <Typedef id="_9875" name="type" type="_3330" context="_3759" access="public" location="f171:33" file="f171" line="33"/>
+  <Constructor id="_9876" name="range_iterator" artificial="1" throw="" context="_3759" access="public" mangled="_ZN5boost14range_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS7_ *INTERNAL* " demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::range_iterator(boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > > const&)" l [...]
+    <Argument name="_ctor_arg" type="_12491" location="f171:29" file="f171" line="29"/>
+  </Constructor>
+  <Constructor id="_9877" name="range_iterator" explicit="1" artificial="1" throw="" context="_3759" access="public" mangled="_ZN5boost14range_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::range_iterator()" location="f171:29" file="f171" line="29" inline="1"/>
+  <Typedef id="_9878" name="type" type="_3330" context="_3760" access="public" location="f171:33" file="f171" line="33"/>
+  <Constructor id="_9879" name="range_iterator" artificial="1" throw="" context="_3760" access="public" mangled="_ZN5boost14range_iteratorIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS8_ *INTERNAL* " demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::range_iterator(boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const> con [...]
+    <Argument name="_ctor_arg" type="_12492" location="f171:29" file="f171" line="29"/>
+  </Constructor>
+  <Constructor id="_9880" name="range_iterator" explicit="1" artificial="1" throw="" context="_3760" access="public" mangled="_ZN5boost14range_iteratorIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::range_iterator()" location="f171:29" file="f171" line="29" inline="1"/>
+  <Typedef id="_9881" name="type" type="_2749" context="_3761" access="public" location="f171:33" file="f171" line="33"/>
+  <Constructor id="_9882" name="range_iterator" artificial="1" throw="" context="_3761" access="public" mangled="_ZN5boost14range_iteratorIKNS_14iterator_rangeIPKcEEEC1ERKS6_ *INTERNAL* " demangled="boost::range_iterator<boost::iterator_range<char const*> const>::range_iterator(boost::range_iterator<boost::iterator_range<char const*> const> const&)" location="f171:29" file="f171" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12493" location="f171:29" file="f171" line="29"/>
+  </Constructor>
+  <Constructor id="_9883" name="range_iterator" explicit="1" artificial="1" throw="" context="_3761" access="public" mangled="_ZN5boost14range_iteratorIKNS_14iterator_rangeIPKcEEEC1Ev *INTERNAL* " demangled="boost::range_iterator<boost::iterator_range<char const*> const>::range_iterator()" location="f171:29" file="f171" line="29" inline="1"/>
+  <Typedef id="_9884" name="type" type="_2749" context="_3762" access="public" location="f171:33" file="f171" line="33"/>
+  <Constructor id="_9885" name="range_iterator" artificial="1" throw="" context="_3762" access="public" mangled="_ZN5boost14range_iteratorIA3_KcEC1ERKS3_ *INTERNAL* " demangled="boost::range_iterator<char const[3]>::range_iterator(boost::range_iterator<char const[3]> const&)" location="f171:29" file="f171" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12494" location="f171:29" file="f171" line="29"/>
+  </Constructor>
+  <Constructor id="_9886" name="range_iterator" explicit="1" artificial="1" throw="" context="_3762" access="public" mangled="_ZN5boost14range_iteratorIA3_KcEC1Ev *INTERNAL* " demangled="boost::range_iterator<char const[3]>::range_iterator()" location="f171:29" file="f171" line="29" inline="1"/>
+  <Constructor id="_9887" name="is_const" artificial="1" throw="" context="_3763" access="public" mangled="_ZN5boost8is_constINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS7_ *INTERNAL* " demangled="boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::is_const(boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > > const&)" location="f172:53" file="f172" l [...]
+    <Argument name="_ctor_arg" type="_12495" location="f172:53" file="f172" line="53"/>
+  </Constructor>
+  <Constructor id="_9888" name="is_const" explicit="1" artificial="1" throw="" context="_3763" access="public" mangled="_ZN5boost8is_constINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::is_const()" location="f172:53" file="f172" line="53" inline="1"/>
+  <Constructor id="_9889" name="is_const" artificial="1" throw="" context="_3764" access="public" mangled="_ZN5boost8is_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS8_ *INTERNAL* " demangled="boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::is_const(boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const> const&)" location="f172:53" fi [...]
+    <Argument name="_ctor_arg" type="_12496" location="f172:53" file="f172" line="53"/>
+  </Constructor>
+  <Constructor id="_9890" name="is_const" explicit="1" artificial="1" throw="" context="_3764" access="public" mangled="_ZN5boost8is_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::is_const()" location="f172:53" file="f172" line="53" inline="1"/>
+  <Constructor id="_9891" name="is_const" artificial="1" throw="" context="_3765" access="public" mangled="_ZN5boost8is_constISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_const<std::string>::is_const(boost::is_const<std::string> const&)" location="f172:53" file="f172" line="53" inline="1">
+    <Argument name="_ctor_arg" type="_12497" location="f172:53" file="f172" line="53"/>
+  </Constructor>
+  <Constructor id="_9892" name="is_const" explicit="1" artificial="1" throw="" context="_3765" access="public" mangled="_ZN5boost8is_constISsEC1Ev *INTERNAL* " demangled="boost::is_const<std::string>::is_const()" location="f172:53" file="f172" line="53" inline="1"/>
+  <Constructor id="_9893" name="is_const" artificial="1" throw="" context="_3766" access="public" mangled="_ZN5boost8is_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::is_const(boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const> const&)" location [...]
+    <Argument name="_ctor_arg" type="_12498" location="f172:53" file="f172" line="53"/>
+  </Constructor>
+  <Constructor id="_9894" name="is_const" explicit="1" artificial="1" throw="" context="_3766" access="public" mangled="_ZN5boost8is_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1Ev *INTERNAL* " demangled="boost::is_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::is_const()" location="f172:53" file="f172" line="53" inline="1"/>
+  <Constructor id="_9895" name="is_const" artificial="1" throw="" context="_3767" access="public" mangled="_ZN5boost8is_constIKNS_14iterator_rangeIPKcEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_const<boost::iterator_range<char const*> const>::is_const(boost::is_const<boost::iterator_range<char const*> const> const&)" location="f172:53" file="f172" line="53" inline="1">
+    <Argument name="_ctor_arg" type="_12499" location="f172:53" file="f172" line="53"/>
+  </Constructor>
+  <Constructor id="_9896" name="is_const" explicit="1" artificial="1" throw="" context="_3767" access="public" mangled="_ZN5boost8is_constIKNS_14iterator_rangeIPKcEEEC1Ev *INTERNAL* " demangled="boost::is_const<boost::iterator_range<char const*> const>::is_const()" location="f172:53" file="f172" line="53" inline="1"/>
+  <Constructor id="_9897" name="is_const" artificial="1" throw="" context="_3768" access="public" mangled="_ZN5boost8is_constIKSsEC1ERKS2_ *INTERNAL* " demangled="boost::is_const<std::string const>::is_const(boost::is_const<std::string const> const&)" location="f172:53" file="f172" line="53" inline="1">
+    <Argument name="_ctor_arg" type="_12500" location="f172:53" file="f172" line="53"/>
+  </Constructor>
+  <Constructor id="_9898" name="is_const" explicit="1" artificial="1" throw="" context="_3768" access="public" mangled="_ZN5boost8is_constIKSsEC1Ev *INTERNAL* " demangled="boost::is_const<std::string const>::is_const()" location="f172:53" file="f172" line="53" inline="1"/>
+  <Constructor id="_9899" name="is_const" artificial="1" throw="" context="_3769" access="public" mangled="_ZN5boost8is_constIA3_KcEC1ERKS3_ *INTERNAL* " demangled="boost::is_const<char const[3]>::is_const(boost::is_const<char const[3]> const&)" location="f172:53" file="f172" line="53" inline="1">
+    <Argument name="_ctor_arg" type="_12501" location="f172:53" file="f172" line="53"/>
+  </Constructor>
+  <Constructor id="_9900" name="is_const" explicit="1" artificial="1" throw="" context="_3769" access="public" mangled="_ZN5boost8is_constIA3_KcEC1Ev *INTERNAL* " demangled="boost::is_const<char const[3]>::is_const()" location="f172:53" file="f172" line="53" inline="1"/>
+  <Constructor id="_9901" name="is_const" artificial="1" throw="" context="_3770" access="public" mangled="_ZN5boost8is_constIRKSbIwSt11char_traitsIwESaIwEEEC1ERKS7_ *INTERNAL* " demangled="boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>::is_const(boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> const&)" location="f172: [...]
+    <Argument name="_ctor_arg" type="_12502" location="f172:53" file="f172" line="53"/>
+  </Constructor>
+  <Constructor id="_9902" name="is_const" explicit="1" artificial="1" throw="" context="_3770" access="public" mangled="_ZN5boost8is_constIRKSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>::is_const()" location="f172:53" file="f172" line="53" inline="1"/>
+  <Constructor id="_9903" name="is_const" artificial="1" throw="" context="_3772" access="public" mangled="_ZN5boost8is_constIRKSsEC1ERKS3_ *INTERNAL* " demangled="boost::is_const<std::string const&>::is_const(boost::is_const<std::string const&> const&)" location="f172:53" file="f172" line="53" inline="1">
+    <Argument name="_ctor_arg" type="_12503" location="f172:53" file="f172" line="53"/>
+  </Constructor>
+  <Constructor id="_9904" name="is_const" explicit="1" artificial="1" throw="" context="_3772" access="public" mangled="_ZN5boost8is_constIRKSsEC1Ev *INTERNAL* " demangled="boost::is_const<std::string const&>::is_const()" location="f172:53" file="f172" line="53" inline="1"/>
+  <Constructor id="_9905" name="is_reference" artificial="1" throw="" context="_3773" access="public" mangled="_ZN5boost12is_referenceIRKSsEC1ERKS3_ *INTERNAL* " demangled="boost::is_reference<std::string const&>::is_reference(boost::is_reference<std::string const&> const&)" location="f173:38" file="f173" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_12504" location="f173:38" file="f173" line="38"/>
+  </Constructor>
+  <Constructor id="_9906" name="is_reference" explicit="1" artificial="1" throw="" context="_3773" access="public" mangled="_ZN5boost12is_referenceIRKSsEC1Ev *INTERNAL* " demangled="boost::is_reference<std::string const&>::is_reference()" location="f173:38" file="f173" line="38" inline="1"/>
+  <Constructor id="_9907" name="is_reference" artificial="1" throw="" context="_3774" access="public" mangled="_ZN5boost12is_referenceISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_reference(boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f173:3 [...]
+    <Argument name="_ctor_arg" type="_12505" location="f173:38" file="f173" line="38"/>
+  </Constructor>
+  <Constructor id="_9908" name="is_reference" explicit="1" artificial="1" throw="" context="_3774" access="public" mangled="_ZN5boost12is_referenceISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_reference()" location="f173:38" file="f173" line="38" inline="1"/>
+  <Constructor id="_9909" name="is_reference" artificial="1" throw="" context="_3775" access="public" mangled="_ZN5boost12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEC1ERKS7_ *INTERNAL* " demangled="boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>::is_reference(boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> const&a [...]
+    <Argument name="_ctor_arg" type="_12506" location="f173:38" file="f173" line="38"/>
+  </Constructor>
+  <Constructor id="_9910" name="is_reference" explicit="1" artificial="1" throw="" context="_3775" access="public" mangled="_ZN5boost12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>::is_reference()" location="f173:38" file="f173" line="38" inline="1"/>
+  <Constructor id="_9911" name="is_reference" artificial="1" throw="" context="_3776" access="public" mangled="_ZN5boost12is_referenceISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_reference<std::string>::is_reference(boost::is_reference<std::string> const&)" location="f173:38" file="f173" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_12507" location="f173:38" file="f173" line="38"/>
+  </Constructor>
+  <Constructor id="_9912" name="is_reference" explicit="1" artificial="1" throw="" context="_3776" access="public" mangled="_ZN5boost12is_referenceISsEC1Ev *INTERNAL* " demangled="boost::is_reference<std::string>::is_reference()" location="f173:38" file="f173" line="38" inline="1"/>
+  <Typedef id="_9913" name="type" type="_3330" context="_3777" access="public" location="f174:37" file="f174" line="37"/>
+  <Constructor id="_9914" name="range_const_iterator" artificial="1" throw="" context="_3777" access="public" mangled="_ZN5boost20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS7_ *INTERNAL* " demangled="boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::range_const_iterator(boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::strin [...]
+    <Argument name="_ctor_arg" type="_12508" location="f174:36" file="f174" line="36"/>
+  </Constructor>
+  <Constructor id="_9915" name="range_const_iterator" explicit="1" artificial="1" throw="" context="_3777" access="public" mangled="_ZN5boost20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::range_const_iterator()" location="f174:36" file="f174" line="36" inline="1"/>
+  <Typedef id="_9916" name="type" type="_3328" context="_3778" access="public" location="f174:37" file="f174" line="37"/>
+  <Constructor id="_9917" name="range_const_iterator" artificial="1" throw="" context="_3778" access="public" mangled="_ZN5boost20range_const_iteratorISsEC1ERKS1_ *INTERNAL* " demangled="boost::range_const_iterator<std::string>::range_const_iterator(boost::range_const_iterator<std::string> const&)" location="f174:36" file="f174" line="36" inline="1">
+    <Argument name="_ctor_arg" type="_12509" location="f174:36" file="f174" line="36"/>
+  </Constructor>
+  <Constructor id="_9918" name="range_const_iterator" explicit="1" artificial="1" throw="" context="_3778" access="public" mangled="_ZN5boost20range_const_iteratorISsEC1Ev *INTERNAL* " demangled="boost::range_const_iterator<std::string>::range_const_iterator()" location="f174:36" file="f174" line="36" inline="1"/>
+  <Typedef id="_9919" name="type" type="_3328" context="_3779" access="public" location="f174:37" file="f174" line="37"/>
+  <Constructor id="_9920" name="range_const_iterator" artificial="1" throw="" context="_3779" access="public" mangled="_ZN5boost20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1ERKS8_ *INTERNAL* " demangled="boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >::range_const_iterator(boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const [...]
+    <Argument name="_ctor_arg" type="_12510" location="f174:36" file="f174" line="36"/>
+  </Constructor>
+  <Constructor id="_9921" name="range_const_iterator" explicit="1" artificial="1" throw="" context="_3779" access="public" mangled="_ZN5boost20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1Ev *INTERNAL* " demangled="boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >::range_const_iterator()" location="f174:36" file="f174" line="36" inline="1"/>
+  <Typedef id="_9922" name="type" type="_2749" context="_3780" access="public" location="f174:37" file="f174" line="37"/>
+  <Constructor id="_9923" name="range_const_iterator" artificial="1" throw="" context="_3780" access="public" mangled="_ZN5boost20range_const_iteratorINS_14iterator_rangeIPKcEEEC1ERKS5_ *INTERNAL* " demangled="boost::range_const_iterator<boost::iterator_range<char const*> >::range_const_iterator(boost::range_const_iterator<boost::iterator_range<char const*> > const&)" location="f174:36" file="f174" line="36" inline="1">
+    <Argument name="_ctor_arg" type="_12511" location="f174:36" file="f174" line="36"/>
+  </Constructor>
+  <Constructor id="_9924" name="range_const_iterator" explicit="1" artificial="1" throw="" context="_3780" access="public" mangled="_ZN5boost20range_const_iteratorINS_14iterator_rangeIPKcEEEC1Ev *INTERNAL* " demangled="boost::range_const_iterator<boost::iterator_range<char const*> >::range_const_iterator()" location="f174:36" file="f174" line="36" inline="1"/>
+  <Typedef id="_9925" name="type" type="_2749" context="_3781" access="public" location="f174:57" file="f174" line="57"/>
+  <Constructor id="_9926" name="range_const_iterator" artificial="1" throw="" context="_3781" access="public" mangled="_ZN5boost20range_const_iteratorIA3_cEC1ERKS2_ *INTERNAL* " demangled="boost::range_const_iterator<char[3]>::range_const_iterator(boost::range_const_iterator<char[3]> const&)" location="f174:36" file="f174" line="36" inline="1">
+    <Argument name="_ctor_arg" type="_12512" location="f174:36" file="f174" line="36"/>
+  </Constructor>
+  <Constructor id="_9927" name="range_const_iterator" explicit="1" artificial="1" throw="" context="_3781" access="public" mangled="_ZN5boost20range_const_iteratorIA3_cEC1Ev *INTERNAL* " demangled="boost::range_const_iterator<char[3]>::range_const_iterator()" location="f174:36" file="f174" line="36" inline="1"/>
+  <Typedef id="_9928" name="type" type="_3459" context="_3782" access="public" location="f175:61" file="f175" line="61"/>
+  <Constructor id="_9929" name="remove_const" artificial="1" throw="" context="_3782" access="public" mangled="_ZN5boost12remove_constINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS7_ *INTERNAL* " demangled="boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::remove_const(boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > > const&)" location="f [...]
+    <Argument name="_ctor_arg" type="_12513" location="f175:61" file="f175" line="61"/>
+  </Constructor>
+  <Constructor id="_9930" name="remove_const" explicit="1" artificial="1" throw="" context="_3782" access="public" mangled="_ZN5boost12remove_constINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::remove_const()" location="f175:61" file="f175" line="61" inline="1"/>
+  <Typedef id="_9931" name="type" type="_3459" context="_3783" access="public" location="f175:61" file="f175" line="61"/>
+  <Constructor id="_9932" name="remove_const" artificial="1" throw="" context="_3783" access="public" mangled="_ZN5boost12remove_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS8_ *INTERNAL* " demangled="boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::remove_const(boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const> const&)"  [...]
+    <Argument name="_ctor_arg" type="_12514" location="f175:61" file="f175" line="61"/>
+  </Constructor>
+  <Constructor id="_9933" name="remove_const" explicit="1" artificial="1" throw="" context="_3783" access="public" mangled="_ZN5boost12remove_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::remove_const()" location="f175:61" file="f175" line="61" inline="1"/>
+  <Typedef id="_9934" name="type" type="_2508" context="_3784" access="public" location="f175:61" file="f175" line="61"/>
+  <Constructor id="_9935" name="remove_const" artificial="1" throw="" context="_3784" access="public" mangled="_ZN5boost12remove_constISsEC1ERKS1_ *INTERNAL* " demangled="boost::remove_const<std::string>::remove_const(boost::remove_const<std::string> const&)" location="f175:61" file="f175" line="61" inline="1">
+    <Argument name="_ctor_arg" type="_12515" location="f175:61" file="f175" line="61"/>
+  </Constructor>
+  <Constructor id="_9936" name="remove_const" explicit="1" artificial="1" throw="" context="_3784" access="public" mangled="_ZN5boost12remove_constISsEC1Ev *INTERNAL* " demangled="boost::remove_const<std::string>::remove_const()" location="f175:61" file="f175" line="61" inline="1"/>
+  <Typedef id="_9937" name="type" type="_3458" context="_3785" access="public" location="f175:61" file="f175" line="61"/>
+  <Constructor id="_9938" name="remove_const" artificial="1" throw="" context="_3785" access="public" mangled="_ZN5boost12remove_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::remove_const(boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>  [...]
+    <Argument name="_ctor_arg" type="_12516" location="f175:61" file="f175" line="61"/>
+  </Constructor>
+  <Constructor id="_9939" name="remove_const" explicit="1" artificial="1" throw="" context="_3785" access="public" mangled="_ZN5boost12remove_constIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1Ev *INTERNAL* " demangled="boost::remove_const<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::remove_const()" location="f175:61" file="f175" line="61" inline="1"/>
+  <Typedef id="_9940" name="type" type="_3460" context="_3786" access="public" location="f175:61" file="f175" line="61"/>
+  <Constructor id="_9941" name="remove_const" artificial="1" throw="" context="_3786" access="public" mangled="_ZN5boost12remove_constIKNS_14iterator_rangeIPKcEEEC1ERKS6_ *INTERNAL* " demangled="boost::remove_const<boost::iterator_range<char const*> const>::remove_const(boost::remove_const<boost::iterator_range<char const*> const> const&)" location="f175:61" file="f175" line="61" inline="1">
+    <Argument name="_ctor_arg" type="_12517" location="f175:61" file="f175" line="61"/>
+  </Constructor>
+  <Constructor id="_9942" name="remove_const" explicit="1" artificial="1" throw="" context="_3786" access="public" mangled="_ZN5boost12remove_constIKNS_14iterator_rangeIPKcEEEC1Ev *INTERNAL* " demangled="boost::remove_const<boost::iterator_range<char const*> const>::remove_const()" location="f175:61" file="f175" line="61" inline="1"/>
+  <Typedef id="_9943" name="type" type="_2508" context="_3787" access="public" location="f175:61" file="f175" line="61"/>
+  <Constructor id="_9944" name="remove_const" artificial="1" throw="" context="_3787" access="public" mangled="_ZN5boost12remove_constIKSsEC1ERKS2_ *INTERNAL* " demangled="boost::remove_const<std::string const>::remove_const(boost::remove_const<std::string const> const&)" location="f175:61" file="f175" line="61" inline="1">
+    <Argument name="_ctor_arg" type="_12518" location="f175:61" file="f175" line="61"/>
+  </Constructor>
+  <Constructor id="_9945" name="remove_const" explicit="1" artificial="1" throw="" context="_3787" access="public" mangled="_ZN5boost12remove_constIKSsEC1Ev *INTERNAL* " demangled="boost::remove_const<std::string const>::remove_const()" location="f175:61" file="f175" line="61" inline="1"/>
+  <ArrayType id="_9946" min="0" max="2" type="_2961" size="24" align="8"/>
+  <Typedef id="_9947" name="type" type="_9946" context="_3788" access="public" location="f175:64" file="f175" line="64"/>
+  <Constructor id="_9948" name="remove_const" artificial="1" throw="" context="_3788" access="public" mangled="_ZN5boost12remove_constIA3_KcEC1ERKS3_ *INTERNAL* " demangled="boost::remove_const<char const[3]>::remove_const(boost::remove_const<char const[3]> const&)" location="f175:61" file="f175" line="61" inline="1">
+    <Argument name="_ctor_arg" type="_12519" location="f175:61" file="f175" line="61"/>
+  </Constructor>
+  <Constructor id="_9949" name="remove_const" explicit="1" artificial="1" throw="" context="_3788" access="public" mangled="_ZN5boost12remove_constIA3_KcEC1Ev *INTERNAL* " demangled="boost::remove_const<char const[3]>::remove_const()" location="f175:61" file="f175" line="61" inline="1"/>
+  <Typedef id="_9950" name="type" type="_2506" context="_3789" access="public" location="f175:61" file="f175" line="61"/>
+  <Constructor id="_9951" name="remove_const" artificial="1" throw="" context="_3789" access="public" mangled="_ZN5boost12remove_constISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::remove_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::remove_const(boost::remove_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f175:6 [...]
+    <Argument name="_ctor_arg" type="_12520" location="f175:61" file="f175" line="61"/>
+  </Constructor>
+  <Constructor id="_9952" name="remove_const" explicit="1" artificial="1" throw="" context="_3789" access="public" mangled="_ZN5boost12remove_constISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::remove_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::remove_const()" location="f175:61" file="f175" line="61" inline="1"/>
+  <Constructor id="_9953" name="is_volatile" artificial="1" throw="" context="_3790" access="public" mangled="_ZN5boost11is_volatileINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS7_ *INTERNAL* " demangled="boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::is_volatile(boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > > const&)" location="f176:5 [...]
+    <Argument name="_ctor_arg" type="_12521" location="f176:50" file="f176" line="50"/>
+  </Constructor>
+  <Constructor id="_9954" name="is_volatile" explicit="1" artificial="1" throw="" context="_3790" access="public" mangled="_ZN5boost11is_volatileINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::is_volatile()" location="f176:50" file="f176" line="50" inline="1"/>
+  <Constructor id="_9955" name="is_volatile" artificial="1" throw="" context="_3791" access="public" mangled="_ZN5boost11is_volatileIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS8_ *INTERNAL* " demangled="boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::is_volatile(boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const> const&)" locat [...]
+    <Argument name="_ctor_arg" type="_12522" location="f176:50" file="f176" line="50"/>
+  </Constructor>
+  <Constructor id="_9956" name="is_volatile" explicit="1" artificial="1" throw="" context="_3791" access="public" mangled="_ZN5boost11is_volatileIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::is_volatile()" location="f176:50" file="f176" line="50" inline="1"/>
+  <Constructor id="_9957" name="is_volatile" artificial="1" throw="" context="_3792" access="public" mangled="_ZN5boost11is_volatileIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::is_volatile(boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const> const [...]
+    <Argument name="_ctor_arg" type="_12523" location="f176:50" file="f176" line="50"/>
+  </Constructor>
+  <Constructor id="_9958" name="is_volatile" explicit="1" artificial="1" throw="" context="_3792" access="public" mangled="_ZN5boost11is_volatileIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1Ev *INTERNAL* " demangled="boost::is_volatile<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::is_volatile()" location="f176:50" file="f176" line="50" inline="1"/>
+  <Constructor id="_9959" name="is_volatile" artificial="1" throw="" context="_3793" access="public" mangled="_ZN5boost11is_volatileIKNS_14iterator_rangeIPKcEEEC1ERKS6_ *INTERNAL* " demangled="boost::is_volatile<boost::iterator_range<char const*> const>::is_volatile(boost::is_volatile<boost::iterator_range<char const*> const> const&)" location="f176:50" file="f176" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_12524" location="f176:50" file="f176" line="50"/>
+  </Constructor>
+  <Constructor id="_9960" name="is_volatile" explicit="1" artificial="1" throw="" context="_3793" access="public" mangled="_ZN5boost11is_volatileIKNS_14iterator_rangeIPKcEEEC1Ev *INTERNAL* " demangled="boost::is_volatile<boost::iterator_range<char const*> const>::is_volatile()" location="f176:50" file="f176" line="50" inline="1"/>
+  <Constructor id="_9961" name="is_volatile" artificial="1" throw="" context="_3794" access="public" mangled="_ZN5boost11is_volatileIKSsEC1ERKS2_ *INTERNAL* " demangled="boost::is_volatile<std::string const>::is_volatile(boost::is_volatile<std::string const> const&)" location="f176:50" file="f176" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_12525" location="f176:50" file="f176" line="50"/>
+  </Constructor>
+  <Constructor id="_9962" name="is_volatile" explicit="1" artificial="1" throw="" context="_3794" access="public" mangled="_ZN5boost11is_volatileIKSsEC1Ev *INTERNAL* " demangled="boost::is_volatile<std::string const>::is_volatile()" location="f176:50" file="f176" line="50" inline="1"/>
+  <Constructor id="_9963" name="is_volatile" artificial="1" throw="" context="_3795" access="public" mangled="_ZN5boost11is_volatileISbIwSt11char_traitsIwESaIwEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_volatile<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_volatile(boost::is_volatile<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&)" location="f176:50" fi [...]
+    <Argument name="_ctor_arg" type="_12526" location="f176:50" file="f176" line="50"/>
+  </Constructor>
+  <Constructor id="_9964" name="is_volatile" explicit="1" artificial="1" throw="" context="_3795" access="public" mangled="_ZN5boost11is_volatileISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::is_volatile<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_volatile()" location="f176:50" file="f176" line="50" inline="1"/>
+  <Constructor id="_9965" name="is_volatile" artificial="1" throw="" context="_3796" access="public" mangled="_ZN5boost11is_volatileISsEC1ERKS1_ *INTERNAL* " demangled="boost::is_volatile<std::string>::is_volatile(boost::is_volatile<std::string> const&)" location="f176:50" file="f176" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_12527" location="f176:50" file="f176" line="50"/>
+  </Constructor>
+  <Constructor id="_9966" name="is_volatile" explicit="1" artificial="1" throw="" context="_3796" access="public" mangled="_ZN5boost11is_volatileISsEC1Ev *INTERNAL* " demangled="boost::is_volatile<std::string>::is_volatile()" location="f176:50" file="f176" line="50" inline="1"/>
+  <Constructor id="_9967" name="integral_constant" artificial="1" throw="" context="_3797" access="public" mangled="_ZN5boost17integral_constantIbLb0EEC1ERKS1_ *INTERNAL* " demangled="boost::integral_constant<bool, false>::integral_constant(boost::integral_constant<bool, false> const&)" location="f177:37" file="f177" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_12528" location="f177:37" file="f177" line="37"/>
+  </Constructor>
+  <Constructor id="_9968" name="integral_constant" explicit="1" artificial="1" throw="" context="_3797" access="public" mangled="_ZN5boost17integral_constantIbLb0EEC1Ev *INTERNAL* " demangled="boost::integral_constant<bool, false>::integral_constant()" location="f177:37" file="f177" line="37" inline="1"/>
+  <Constructor id="_9969" name="integral_constant" artificial="1" throw="" context="_3799" access="public" mangled="_ZN5boost17integral_constantIbLb1EEC1ERKS1_ *INTERNAL* " demangled="boost::integral_constant<bool, true>::integral_constant(boost::integral_constant<bool, true> const&)" location="f177:26" file="f177" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_12529" location="f177:26" file="f177" line="26"/>
+  </Constructor>
+  <Constructor id="_9970" name="integral_constant" explicit="1" artificial="1" throw="" context="_3799" access="public" mangled="_ZN5boost17integral_constantIbLb1EEC1Ev *INTERNAL* " demangled="boost::integral_constant<bool, true>::integral_constant()" location="f177:26" file="f177" line="26" inline="1"/>
+  <Constructor id="_9971" name="integral_constant" artificial="1" throw="" context="_3801" access="public" mangled="_ZN5boost17integral_constantIjLj4EEC1ERKS1_ *INTERNAL* " demangled="boost::integral_constant<unsigned, 4>::integral_constant(boost::integral_constant<unsigned, 4> const&)" location="f177:21" file="f177" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_12530" location="f177:21" file="f177" line="21"/>
+  </Constructor>
+  <Constructor id="_9972" name="integral_constant" explicit="1" artificial="1" throw="" context="_3801" access="public" mangled="_ZN5boost17integral_constantIjLj4EEC1Ev *INTERNAL* " demangled="boost::integral_constant<unsigned, 4>::integral_constant()" location="f177:21" file="f177" line="21" inline="1"/>
+  <Constructor id="_9973" name="integral_constant" artificial="1" throw="" context="_3802" access="public" mangled="_ZN5boost17integral_constantIjLj0EEC1ERKS1_ *INTERNAL* " demangled="boost::integral_constant<unsigned, 0>::integral_constant(boost::integral_constant<unsigned, 0> const&)" location="f177:21" file="f177" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_12531" location="f177:21" file="f177" line="21"/>
+  </Constructor>
+  <Constructor id="_9974" name="integral_constant" explicit="1" artificial="1" throw="" context="_3802" access="public" mangled="_ZN5boost17integral_constantIjLj0EEC1Ev *INTERNAL* " demangled="boost::integral_constant<unsigned, 0>::integral_constant()" location="f177:21" file="f177" line="21" inline="1"/>
+  <Typedef id="_9975" name="type" type="_3330" context="_3803" access="public" location="f178:37" file="f178" line="37"/>
+  <Constructor id="_9976" name="range_mutable_iterator" artificial="1" throw="" context="_3803" access="public" mangled="_ZN5boost22range_mutable_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS7_ *INTERNAL* " demangled="boost::range_mutable_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::range_mutable_iterator(boost::range_mutable_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*,  [...]
+    <Argument name="_ctor_arg" type="_12532" location="f178:36" file="f178" line="36"/>
+  </Constructor>
+  <Constructor id="_9977" name="range_mutable_iterator" explicit="1" artificial="1" throw="" context="_3803" access="public" mangled="_ZN5boost22range_mutable_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::range_mutable_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::range_mutable_iterator()" location="f178:36" file="f178" line="36" inline="1"/>
+  <Typedef id="_9978" name="type" type="_3330" context="_3805" access="public" location="f178:37" file="f178" line="37"/>
+  <Constructor id="_9979" name="range_mutable_iterator" artificial="1" throw="" context="_3805" access="public" mangled="_ZN5boost22range_mutable_iteratorISsEC1ERKS1_ *INTERNAL* " demangled="boost::range_mutable_iterator<std::string>::range_mutable_iterator(boost::range_mutable_iterator<std::string> const&)" location="f178:36" file="f178" line="36" inline="1">
+    <Argument name="_ctor_arg" type="_12533" location="f178:36" file="f178" line="36"/>
+  </Constructor>
+  <Constructor id="_9980" name="range_mutable_iterator" explicit="1" artificial="1" throw="" context="_3805" access="public" mangled="_ZN5boost22range_mutable_iteratorISsEC1Ev *INTERNAL* " demangled="boost::range_mutable_iterator<std::string>::range_mutable_iterator()" location="f178:36" file="f178" line="36" inline="1"/>
+  <Typedef id="_9981" name="type" type="_1699" context="_3810" access="public" location="f179:49" file="f179" line="49"/>
+  <Constructor id="_9982" name="iterator_difference" artificial="1" throw="" context="_3810" access="public" mangled="_ZN5boost19iterator_differenceIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1ERKS5_ *INTERNAL* " demangled="boost::iterator_difference<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_difference(boost::iterator_difference<__gnu_cxx::__normal_iterator<char*, std::string> > const&)" location="f179:48" file="f179" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12534" location="f179:48" file="f179" line="48"/>
+  </Constructor>
+  <Constructor id="_9983" name="iterator_difference" explicit="1" artificial="1" throw="" context="_3810" access="public" mangled="_ZN5boost19iterator_differenceIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_difference<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_difference()" location="f179:48" file="f179" line="48" inline="1"/>
+  <Typedef id="_9984" name="type" type="_1699" context="_3811" access="public" location="f179:49" file="f179" line="49"/>
+  <Constructor id="_9985" name="iterator_difference" artificial="1" throw="" context="_3811" access="public" mangled="_ZN5boost19iterator_differenceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::iterator_difference<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_difference(boost::iterator_difference<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f179:48" file="f179" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12535" location="f179:48" file="f179" line="48"/>
+  </Constructor>
+  <Constructor id="_9986" name="iterator_difference" explicit="1" artificial="1" throw="" context="_3811" access="public" mangled="_ZN5boost19iterator_differenceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_difference<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_difference()" location="f179:48" file="f179" line="48" inline="1"/>
+  <Typedef id="_9987" name="type" type="_1699" context="_3812" access="public" location="f179:49" file="f179" line="49"/>
+  <Constructor id="_9988" name="iterator_difference" artificial="1" throw="" context="_3812" access="public" mangled="_ZN5boost19iterator_differenceIPKcEC1ERKS3_ *INTERNAL* " demangled="boost::iterator_difference<char const*>::iterator_difference(boost::iterator_difference<char const*> const&)" location="f179:48" file="f179" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_12536" location="f179:48" file="f179" line="48"/>
+  </Constructor>
+  <Constructor id="_9989" name="iterator_difference" explicit="1" artificial="1" throw="" context="_3812" access="public" mangled="_ZN5boost19iterator_differenceIPKcEC1Ev *INTERNAL* " demangled="boost::iterator_difference<char const*>::iterator_difference()" location="f179:48" file="f179" line="48" inline="1"/>
+  <Typedef id="_9990" name="type" type="_4163" context="_3813" access="public" location="f179:36" file="f179" line="36"/>
+  <Constructor id="_9991" name="iterator_reference" artificial="1" throw="" context="_3813" access="public" mangled="_ZN5boost18iterator_referenceIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1ERKS5_ *INTERNAL* " demangled="boost::iterator_reference<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_reference(boost::iterator_reference<__gnu_cxx::__normal_iterator<char*, std::string> > const&)" location="f179:35" file="f179" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_12537" location="f179:35" file="f179" line="35"/>
+  </Constructor>
+  <Constructor id="_9992" name="iterator_reference" explicit="1" artificial="1" throw="" context="_3813" access="public" mangled="_ZN5boost18iterator_referenceIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_reference<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_reference()" location="f179:35" file="f179" line="35" inline="1"/>
+  <Typedef id="_9993" name="type" type="_4165" context="_3814" access="public" location="f179:36" file="f179" line="36"/>
+  <Constructor id="_9994" name="iterator_reference" artificial="1" throw="" context="_3814" access="public" mangled="_ZN5boost18iterator_referenceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::iterator_reference<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_reference(boost::iterator_reference<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f179:35" file="f179" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_12538" location="f179:35" file="f179" line="35"/>
+  </Constructor>
+  <Constructor id="_9995" name="iterator_reference" explicit="1" artificial="1" throw="" context="_3814" access="public" mangled="_ZN5boost18iterator_referenceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_reference<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_reference()" location="f179:35" file="f179" line="35" inline="1"/>
+  <Typedef id="_9996" name="type" type="_4165" context="_3815" access="public" location="f179:36" file="f179" line="36"/>
+  <Constructor id="_9997" name="iterator_reference" artificial="1" throw="" context="_3815" access="public" mangled="_ZN5boost18iterator_referenceIPKcEC1ERKS3_ *INTERNAL* " demangled="boost::iterator_reference<char const*>::iterator_reference(boost::iterator_reference<char const*> const&)" location="f179:35" file="f179" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_12539" location="f179:35" file="f179" line="35"/>
+  </Constructor>
+  <Constructor id="_9998" name="iterator_reference" explicit="1" artificial="1" throw="" context="_3815" access="public" mangled="_ZN5boost18iterator_referenceIPKcEC1Ev *INTERNAL* " demangled="boost::iterator_reference<char const*>::iterator_reference()" location="f179:35" file="f179" line="35" inline="1"/>
+  <Typedef id="_9999" name="type" type="_2961" context="_3816" access="public" location="f179:30" file="f179" line="30"/>
+  <Constructor id="_10000" name="iterator_value" artificial="1" throw="" context="_3816" access="public" mangled="_ZN5boost14iterator_valueIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1ERKS5_ *INTERNAL* " demangled="boost::iterator_value<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_value(boost::iterator_value<__gnu_cxx::__normal_iterator<char*, std::string> > const&)" location="f179:29" file="f179" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12540" location="f179:29" file="f179" line="29"/>
+  </Constructor>
+  <Constructor id="_10001" name="iterator_value" explicit="1" artificial="1" throw="" context="_3816" access="public" mangled="_ZN5boost14iterator_valueIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_value<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_value()" location="f179:29" file="f179" line="29" inline="1"/>
+  <Typedef id="_10002" name="type" type="_2961" context="_3817" access="public" location="f179:30" file="f179" line="30"/>
+  <Constructor id="_10003" name="iterator_value" artificial="1" throw="" context="_3817" access="public" mangled="_ZN5boost14iterator_valueIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::iterator_value<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_value(boost::iterator_value<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f179:29" file="f179" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12541" location="f179:29" file="f179" line="29"/>
+  </Constructor>
+  <Constructor id="_10004" name="iterator_value" explicit="1" artificial="1" throw="" context="_3817" access="public" mangled="_ZN5boost14iterator_valueIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_value<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_value()" location="f179:29" file="f179" line="29" inline="1"/>
+  <Typedef id="_10005" name="type" type="_2961" context="_3818" access="public" location="f179:30" file="f179" line="30"/>
+  <Constructor id="_10006" name="iterator_value" artificial="1" throw="" context="_3818" access="public" mangled="_ZN5boost14iterator_valueIPKcEC1ERKS3_ *INTERNAL* " demangled="boost::iterator_value<char const*>::iterator_value(boost::iterator_value<char const*> const&)" location="f179:29" file="f179" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_12542" location="f179:29" file="f179" line="29"/>
+  </Constructor>
+  <Constructor id="_10007" name="iterator_value" explicit="1" artificial="1" throw="" context="_3818" access="public" mangled="_ZN5boost14iterator_valueIPKcEC1Ev *INTERNAL* " demangled="boost::iterator_value<char const*>::iterator_value()" location="f179:29" file="f179" line="29" inline="1"/>
+  <ReferenceType id="_10008" type="_10009c" size="32" align="32"/>
+  <Class id="_10009" name="date_duration<boost::date_time::duration_traits_adapted>" context="_3904" mangled="N5boost9date_time13date_durationINS0_23duration_traits_adaptedEEE" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>" location="f202:27" file="f202" line="27" artificial="1" size="32" align="32" members="_12544 _12545 _12546 _12547 _12548 _12549 _12550 _12551 _12552 _12553 _12554 _12555 _12556 _12557 _12558 _12559 _12560 _12561 " ba [...]
+    <Base type="_3851" access="private" virtual="0" offset="0"/>
+  </Class>
+  <ReferenceType id="_10010" type="_9061c" size="32" align="32"/>
+  <ReferenceType id="_10011" type="_3830c" size="32" align="32"/>
+  <Field id="_10012" name="px" type="_10017" offset="0" context="_3830" access="private" mangled="_ZN5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEE2pxE" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::px" location="f180:422" file="f180" line="422"/>
+  <Field id="_10013" name="pn" type="_11172" offset="32" context="_3830" access="private" mangled="_ZN5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEE2pnE" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::pn" location="f180:423" file="f180" line="423"/>
+  <Class id="_10014" name="time_zone_base<boost::posix_time::ptime,char>" context="_3904" abstract="1" mangled="N5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcEE" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>" location="f7:34" file="f7" line="34" artificial="1" size="32" align="32" members="_12564 _12565 _12566 _12567 _12568 _12569 _12570 _12571 _12572 _12573 _12574 _12575 _12576 _12577 _12578 _12579 _12580 _12581 " bases=""/>
+  <Typedef id="_10015" name="element_type" type="_10014" context="_3830" access="public" location="f180:139" file="f180" line="139"/>
+  <Typedef id="_10016" name="value_type" type="_10014" context="_3830" access="public" location="f180:140" file="f180" line="140"/>
+  <PointerType id="_10017" type="_10014" size="32" align="32"/>
+  <Typedef id="_10018" name="pointer" type="_10017" context="_3830" access="public" location="f180:141" file="f180" line="141"/>
+  <ReferenceType id="_10019" type="_10014" size="32" align="32"/>
+  <Typedef id="_10020" name="reference" type="_10019" context="_3830" access="public" location="f180:142" file="f180" line="142"/>
+  <PointerType id="_10021" type="_12582" size="32" align="32"/>
+  <Typedef id="_10022" name="unspecified_bool_type" type="_10021" context="_3830" access="public" location="f180:343" file="f180" line="343"/>
+  <Constructor id="_10023" name="shared_ptr" artificial="1" context="_3830" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEC1ERKS6_ *INTERNAL* " demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::shared_ptr(boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > const&)" location="f117:9" file="f117" line="9" endline="9" inline="1">
+    <Argument name="_ctor_arg" type="_10011" location="f180:131" file="f180" line="131"/>
+  </Constructor>
+  <Destructor id="_10024" name="shared_ptr" artificial="1" context="_3830" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEED1Ev *INTERNAL* " demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::~shared_ptr()" location="f10:265" file="f10" line="265" endline="265" inline="1">
+  </Destructor>
+  <Constructor id="_10025" name="shared_ptr" explicit="1" context="_3830" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEC1Ev *INTERNAL* " demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::shared_ptr()" location="f180:144" file="f180" line="144" endline="145" inline="1"/>
+  <OperatorMethod id="_10026" name="=" returns="_11346" context="_3830" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEaSERKS6_" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator=(boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > const&)" location="f180:178" file="f180" line="178" extern="1" inline="1">
+    <Argument name="r" type="_10011" location="f180:178" file="f180" line="178"/>
+  </OperatorMethod>
+  <Method id="_10027" name="reset" returns="_1194" context="_3830" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEE5resetEv" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::reset()" location="f180:287" file="f180" line="287" extern="1" inline="1"/>
+  <OperatorMethod id="_10028" name="*" returns="_10019" const="1" context="_3830" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEdeEv" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator*() const" location="f180:308" file="f180" line="308" extern="1" inline="1"/>
+  <OperatorMethod id="_10029" name="->" returns="_10017" const="1" context="_3830" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEptEv" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator->() const" location="f180:314" file="f180" line="314" endline="316" inline="1"/>
+  <Method id="_10030" name="get" returns="_10017" const="1" context="_3830" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEE3getEv" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::get() const" location="f180:320" file="f180" line="320" endline="321" inline="1"/>
+  <Method id="_10031" name="unspecified_bool" returns="_1194" static="1" context="_3830" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEE16unspecified_boolEPPPS6_" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::unspecified_bool(boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >***)" location="f180:340" file="f180" line="340" ex [...]
+    <Argument type="_12583" location="f180:340" file="f180" line="340"/>
+  </Method>
+  <Converter id="_10032" name="operator 33" returns="_10021" const="1" context="_3830" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEcvPFvPPPS6_EEv" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator void (*)(boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >***)() const" location="f180:346" file="f180" line="346" exter [...]
+  <OperatorMethod id="_10033" name="!" returns="_3949" const="1" context="_3830" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEntEv" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator!() const" location="f180:379" file="f180" line="379" extern="1" inline="1"/>
+  <Method id="_10034" name="unique" returns="_3949" const="1" context="_3830" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEE6uniqueEv" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::unique() const" location="f180:384" file="f180" line="384" extern="1" inline="1"/>
+  <Method id="_10035" name="use_count" returns="_1553" const="1" context="_3830" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEE9use_countEv" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::use_count() const" location="f180:389" file="f180" line="389" extern="1" inline="1"/>
+  <Method id="_10036" name="swap" returns="_1194" context="_3830" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEE4swapERS6_" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::swap(boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >&)" location="f180:394" file="f180" line="394" extern="1" inline="1">
+    <Argument name="other" type="_11346" location="f180:394" file="f180" line="394"/>
+  </Method>
+  <Method id="_10037" name="_internal_get_deleter" returns="_1042" const="1" context="_3830" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEE21_internal_get_deleterERKSt9type_info" demangled="boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::_internal_get_deleter(std::type_info const&) const" location="f180:405" file="f180" line="405" extern="1" inline="1">
+    <Argument name="ti" type="_11885" location="f180:405" file="f180" line="405"/>
+  </Method>
+  <Field id="_10038" name="px" type="_10042" offset="0" context="_3831" access="private" mangled="_ZN5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEE2pxE" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::px" location="f180:422" file="f180" line="422"/>
+  <Field id="_10039" name="pn" type="_11172" offset="32" context="_3831" access="private" mangled="_ZN5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEE2pnE" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::pn" location="f180:423" file="f180" line="423"/>
+  <Typedef id="_10040" name="element_type" type="_2017" context="_3831" access="public" location="f180:139" file="f180" line="139"/>
+  <Typedef id="_10041" name="value_type" type="_2017" context="_3831" access="public" location="f180:140" file="f180" line="140"/>
+  <PointerType id="_10042" type="_2017" size="32" align="32"/>
+  <Typedef id="_10043" name="pointer" type="_10042" context="_3831" access="public" location="f180:141" file="f180" line="141"/>
+  <ReferenceType id="_10044" type="_2017" size="32" align="32"/>
+  <Typedef id="_10045" name="reference" type="_10044" context="_3831" access="public" location="f180:142" file="f180" line="142"/>
+  <PointerType id="_10046" type="_12584" size="32" align="32"/>
+  <Typedef id="_10047" name="unspecified_bool_type" type="_10046" context="_3831" access="public" location="f180:343" file="f180" line="343"/>
+  <Constructor id="_10048" name="shared_ptr" artificial="1" context="_3831" access="public" mangled="_ZN5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEEC1ERKS9_ *INTERNAL* " demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::shared_ptr(boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator&l [...]
+    <Argument name="_ctor_arg" type="_12585" location="f180:131" file="f180" line="131"/>
+  </Constructor>
+  <Destructor id="_10049" name="shared_ptr" artificial="1" context="_3831" access="public" mangled="_ZN5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEED1Ev *INTERNAL* " demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::~shared_ptr()" location="f14:67" file="f14" line="67" endline="67" inline="1">
+  </Destructor>
+  <Constructor id="_10050" name="shared_ptr" explicit="1" context="_3831" access="public" mangled="_ZN5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEEC1Ev *INTERNAL* " demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::shared_ptr()" location="f180:144" file="f180" line="144" extern="1" inline="1"/>
+  <OperatorMethod id="_10051" name="=" returns="_12586" context="_3831" access="public" mangled="_ZN5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEEaSERKS9_" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::operator=(boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<st [...]
+    <Argument name="r" type="_12585" location="f180:178" file="f180" line="178"/>
+  </OperatorMethod>
+  <Method id="_10052" name="reset" returns="_1194" context="_3831" access="public" mangled="_ZN5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEE5resetEv" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::reset()" location="f180:287" file="f180" line="287" extern="1" inline="1"/>
+  <OperatorMethod id="_10053" name="*" returns="_10044" const="1" context="_3831" access="public" mangled="_ZNK5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEEdeEv" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::operator*() const" location="f180:308" file="f180" line="308" extern="1" inline="1"/>
+  <OperatorMethod id="_10054" name="->" returns="_10042" const="1" context="_3831" access="public" mangled="_ZNK5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEEptEv" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::operator->() const" location="f180:314" file="f180" line="314" endline="316" inline="1"/>
+  <Method id="_10055" name="get" returns="_10042" const="1" context="_3831" access="public" mangled="_ZNK5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEE3getEv" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::get() const" location="f180:320" file="f180" line="320" extern="1" inline="1"/>
+  <Method id="_10056" name="unspecified_bool" returns="_1194" static="1" context="_3831" access="public" mangled="_ZN5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEE16unspecified_boolEPPPS9_" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::unspecified_bool(boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::stri [...]
+    <Argument type="_12587" location="f180:340" file="f180" line="340"/>
+  </Method>
+  <Converter id="_10057" name="operator 35" returns="_10046" const="1" context="_3831" access="public" mangled="_ZNK5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEEcvPFvPPPS9_EEv" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::operator void (*)(boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std [...]
+  <OperatorMethod id="_10058" name="!" returns="_3949" const="1" context="_3831" access="public" mangled="_ZNK5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEEntEv" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::operator!() const" location="f180:379" file="f180" line="379" extern="1" inline="1"/>
+  <Method id="_10059" name="unique" returns="_3949" const="1" context="_3831" access="public" mangled="_ZNK5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEE6uniqueEv" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::unique() const" location="f180:384" file="f180" line="384" extern="1" inline="1"/>
+  <Method id="_10060" name="use_count" returns="_1553" const="1" context="_3831" access="public" mangled="_ZNK5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEE9use_countEv" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::use_count() const" location="f180:389" file="f180" line="389" extern="1" inline="1"/>
+  <Method id="_10061" name="swap" returns="_1194" context="_3831" access="public" mangled="_ZN5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEE4swapERS9_" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::swap(boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string [...]
+    <Argument name="other" type="_12586" location="f180:394" file="f180" line="394"/>
+  </Method>
+  <Method id="_10062" name="_internal_get_deleter" returns="_1042" const="1" context="_3831" access="public" mangled="_ZNK5boost10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEE21_internal_get_deleterERKSt9type_info" demangled="boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::_internal_get_deleter(std::type_info const&) const" location="f180:405" file="f [...]
+    <Argument name="ti" type="_11885" location="f180:405" file="f180" line="405"/>
+  </Method>
+  <Field id="_10063" name="px" type="_10068" offset="0" context="_3832" access="private" mangled="_ZN5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEE2pxE" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::px" location="f180:422" file="f180" line="422"/>
+  <Field id="_10064" name="pn" type="_11172" offset="32" context="_3832" access="private" mangled="_ZN5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEE2pnE" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::pn" location="f180:423" file="f180" line="423"/>
+  <Class id="_10065" name="dst_day_calc_rule<boost::gregorian::date>" context="_3904" abstract="1" mangled="N5boost9date_time17dst_day_calc_ruleINS_9gregorian4dateEEE" demangled="boost::date_time::dst_day_calc_rule<boost::gregorian::date>" location="f6:18" file="f6" line="18" artificial="1" size="32" align="32" members="_12588 _12589 _12590 _12591 _12592 _12593 _12594 _12595 " bases=""/>
+  <Typedef id="_10066" name="element_type" type="_10263" context="_3832" access="public" location="f180:139" file="f180" line="139"/>
+  <Typedef id="_10067" name="value_type" type="_10263" context="_3832" access="public" location="f180:140" file="f180" line="140"/>
+  <PointerType id="_10068" type="_10263" size="32" align="32"/>
+  <Typedef id="_10069" name="pointer" type="_10068" context="_3832" access="public" location="f180:141" file="f180" line="141"/>
+  <ReferenceType id="_10070" type="_10263" size="32" align="32"/>
+  <Typedef id="_10071" name="reference" type="_10070" context="_3832" access="public" location="f180:142" file="f180" line="142"/>
+  <PointerType id="_10072" type="_12596" size="32" align="32"/>
+  <Typedef id="_10073" name="unspecified_bool_type" type="_10072" context="_3832" access="public" location="f180:343" file="f180" line="343"/>
+  <Constructor id="_10074" name="shared_ptr" artificial="1" context="_3832" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEC1ERKS6_ *INTERNAL* " demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::shared_ptr(boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> > const&)" location="f180:131" file="f180" line="131" inline="1">
+    <Argument name="_ctor_arg" type="_12597" location="f180:131" file="f180" line="131"/>
+  </Constructor>
+  <Destructor id="_10075" name="shared_ptr" artificial="1" context="_3832" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEED1Ev *INTERNAL* " demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::~shared_ptr()" location="f180:131" file="f180" line="131" inline="1">
+  </Destructor>
+  <Constructor id="_10076" name="shared_ptr" explicit="1" context="_3832" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEC1Ev *INTERNAL* " demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::shared_ptr()" location="f180:144" file="f180" line="144" extern="1" inline="1"/>
+  <OperatorMethod id="_10077" name="=" returns="_12598" context="_3832" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEaSERKS6_" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::operator=(boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> > const&)" location="f180:178" file="f180" line="178" extern="1" inline="1">
+    <Argument name="r" type="_12597" location="f180:178" file="f180" line="178"/>
+  </OperatorMethod>
+  <Method id="_10078" name="reset" returns="_1194" context="_3832" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEE5resetEv" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::reset()" location="f180:287" file="f180" line="287" extern="1" inline="1"/>
+  <OperatorMethod id="_10079" name="*" returns="_10070" const="1" context="_3832" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEdeEv" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::operator*() const" location="f180:308" file="f180" line="308" extern="1" inline="1"/>
+  <OperatorMethod id="_10080" name="->" returns="_10068" const="1" context="_3832" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEptEv" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::operator->() const" location="f180:314" file="f180" line="314" extern="1" inline="1"/>
+  <Method id="_10081" name="get" returns="_10068" const="1" context="_3832" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEE3getEv" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::get() const" location="f180:320" file="f180" line="320" extern="1" inline="1"/>
+  <Method id="_10082" name="unspecified_bool" returns="_1194" static="1" context="_3832" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEE16unspecified_boolEPPPS6_" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::unspecified_bool(boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >***)" location="f180:340" file="f180" line="340" extern="1" in [...]
+    <Argument type="_12599" location="f180:340" file="f180" line="340"/>
+  </Method>
+  <Converter id="_10083" name="operator 34" returns="_10072" const="1" context="_3832" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEcvPFvPPPS6_EEv" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::operator void (*)(boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >***)() const" location="f180:346" file="f180" line="346" extern="1" inline="1"/>
+  <OperatorMethod id="_10084" name="!" returns="_3949" const="1" context="_3832" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEntEv" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::operator!() const" location="f180:379" file="f180" line="379" extern="1" inline="1"/>
+  <Method id="_10085" name="unique" returns="_3949" const="1" context="_3832" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEE6uniqueEv" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::unique() const" location="f180:384" file="f180" line="384" extern="1" inline="1"/>
+  <Method id="_10086" name="use_count" returns="_1553" const="1" context="_3832" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEE9use_countEv" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::use_count() const" location="f180:389" file="f180" line="389" extern="1" inline="1"/>
+  <Method id="_10087" name="swap" returns="_1194" context="_3832" access="public" mangled="_ZN5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEE4swapERS6_" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::swap(boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >&)" location="f180:394" file="f180" line="394" extern="1" inline="1">
+    <Argument name="other" type="_12598" location="f180:394" file="f180" line="394"/>
+  </Method>
+  <Method id="_10088" name="_internal_get_deleter" returns="_1042" const="1" context="_3832" access="public" mangled="_ZNK5boost10shared_ptrINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEE21_internal_get_deleterERKSt9type_info" demangled="boost::shared_ptr<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::_internal_get_deleter(std::type_info const&) const" location="f180:405" file="f180" line="405" extern="1" inline="1">
+    <Argument name="ti" type="_11885" location="f180:405" file="f180" line="405"/>
+  </Method>
+  <Constructor id="_10089" name="bad_weak_ptr" artificial="1" throw="" context="_3834" access="public" mangled="_ZN5boost12bad_weak_ptrC1ERKS0_ *INTERNAL* " demangled="boost::bad_weak_ptr::bad_weak_ptr(boost::bad_weak_ptr const&)" location="f181:39" file="f181" line="39" endline="39" inline="1">
+    <Argument name="_ctor_arg" type="_10094" location="f21:40" file="f21" line="40"/>
+  </Constructor>
+  <Constructor id="_10090" name="bad_weak_ptr" explicit="1" artificial="1" throw="" context="_3834" access="public" mangled="_ZN5boost12bad_weak_ptrC1Ev *INTERNAL* " demangled="boost::bad_weak_ptr::bad_weak_ptr()" location="f203:364" file="f203" line="364" endline="364" inline="1"/>
+  <Destructor id="_10091" name="bad_weak_ptr" virtual="1" artificial="1" throw="" context="_3834" access="public" mangled="_ZN5boost12bad_weak_ptrD1Ev *INTERNAL* " demangled="boost::bad_weak_ptr::~bad_weak_ptr()" location="f203:364" file="f203" line="364" endline="364" inline="1">
+  </Destructor>
+  <Method id="_10092" name="what" returns="_2749" const="1" virtual="1" throw="" context="_3834" access="public" mangled="_ZNK5boost12bad_weak_ptr4whatEv" demangled="boost::bad_weak_ptr::what() const" location="f21:44" file="f21" line="44" endline="46" inline="1"/>
+  <ReferenceType id="_10093" type="_3422c" size="32" align="32"/>
+  <ReferenceType id="_10094" type="_3834c" size="32" align="32"/>
+  <Constructor id="_10095" name="subtractable" artificial="1" throw="" context="_3837" access="public" mangled="_ZN5boost12subtractableINS_9date_time13date_durationINS1_23duration_traits_adaptedEEES4_NS_6detail10empty_baseENS5_7false_tEEC1ERKS8_ *INTERNAL* " demangled="boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, boost::d [...]
+    <Argument name="_ctor_arg" type="_12602" location="f130:802" file="f130" line="802"/>
+  </Constructor>
+  <Constructor id="_10096" name="subtractable" explicit="1" artificial="1" throw="" context="_3837" access="public" mangled="_ZN5boost12subtractableINS_9date_time13date_durationINS1_23duration_traits_adaptedEEES4_NS_6detail10empty_baseENS5_7false_tEEC1Ev *INTERNAL* " demangled="boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base, [...]
+  <Constructor id="_10097" name="addable" artificial="1" throw="" context="_3838" access="public" mangled="_ZN5boost7addableINS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_12subtractableIS4_S4_NS_6detail10empty_baseENS6_7false_tEEES7_NS6_6true_tEEC1ERKSB_ *INTERNAL* " demangled="boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_ada [...]
+    <Argument name="_ctor_arg" type="_12603" location="f130:801" file="f130" line="801"/>
+  </Constructor>
+  <Constructor id="_10098" name="addable" explicit="1" artificial="1" throw="" context="_3838" access="public" mangled="_ZN5boost7addableINS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_12subtractableIS4_S4_NS_6detail10empty_baseENS6_7false_tEEES7_NS6_6true_tEEC1Ev *INTERNAL* " demangled="boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_t [...]
+  <Constructor id="_10099" name="equality_comparable" artificial="1" throw="" context="_3839" access="public" mangled="_ZN5boost19equality_comparableINS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEESB_NS_6detail10empty_baseENSC_7false_tEEC1ERKSF_ *INTERNAL* " demangled="boost::equality_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::dat [...]
+    <Argument name="_ctor_arg" type="_12604" location="f130:799" file="f130" line="799"/>
+  </Constructor>
+  <Constructor id="_10100" name="equality_comparable" explicit="1" artificial="1" throw="" context="_3839" access="public" mangled="_ZN5boost19equality_comparableINS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEESB_NS_6detail10empty_baseENSC_7false_tEEC1Ev *INTERNAL* " demangled="boost::equality_comparable<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, b [...]
+  <Constructor id="_10101" name="equality_comparable" artificial="1" throw="" context="_3840" access="public" mangled="_ZN5boost19equality_comparableINS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEES6_NS_6detail10empty_baseENS7_7false_tEEC1ERKSA_ *INTERNAL* " demangled="boost::equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_dura [...]
+    <Argument name="_ctor_arg" type="_12605" location="f130:799" file="f130" line="799"/>
+  </Constructor>
+  <Constructor id="_10102" name="equality_comparable" explicit="1" artificial="1" throw="" context="_3840" access="public" mangled="_ZN5boost19equality_comparableINS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEES6_NS_6detail10empty_baseENS7_7false_tEEC1Ev *INTERNAL* " demangled="boost::equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period<boost::posix_time::ptime, boost::posix_time:: [...]
+  <Constructor id="_10103" name="equality_comparable" artificial="1" throw="" context="_3841" access="public" mangled="_ZN5boost19equality_comparableINS_10posix_time5ptimeES2_NS_6detail10empty_baseENS3_7false_tEEC1ERKS6_ *INTERNAL* " demangled="boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t>::equality_comparable(boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::d [...]
+    <Argument name="_ctor_arg" type="_12606" location="f130:799" file="f130" line="799"/>
+  </Constructor>
+  <Constructor id="_10104" name="equality_comparable" explicit="1" artificial="1" throw="" context="_3841" access="public" mangled="_ZN5boost19equality_comparableINS_10posix_time5ptimeES2_NS_6detail10empty_baseENS3_7false_tEEC1Ev *INTERNAL* " demangled="boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t>::equality_comparable()" location="f130:799" file="f130" line="799" inline="1"/>
+  <Constructor id="_10105" name="equality_comparable" artificial="1" throw="" context="_3842" access="public" mangled="_ZN5boost19equality_comparableINS_10posix_time13time_durationES2_NS_6detail10empty_baseENS3_7false_tEEC1ERKS6_ *INTERNAL* " demangled="boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t>::equality_comparable(boost::equality_comparable<boost::posix_time::time_duration, b [...]
+    <Argument name="_ctor_arg" type="_12607" location="f130:799" file="f130" line="799"/>
+  </Constructor>
+  <Constructor id="_10106" name="equality_comparable" explicit="1" artificial="1" throw="" context="_3842" access="public" mangled="_ZN5boost19equality_comparableINS_10posix_time13time_durationES2_NS_6detail10empty_baseENS3_7false_tEEC1Ev *INTERNAL* " demangled="boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t>::equality_comparable()" location="f130:799" file="f130" line="799" inline="1"/>
+  <Constructor id="_10107" name="equality_comparable" artificial="1" throw="" context="_3843" access="public" mangled="_ZN5boost19equality_comparableINS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEES8_NS_6detail10empty_baseENS9_7false_tEEC1ERKSC_ *INTERNAL* " demangled="boost::equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost: [...]
+    <Argument name="_ctor_arg" type="_12608" location="f130:799" file="f130" line="799"/>
+  </Constructor>
+  <Constructor id="_10108" name="equality_comparable" explicit="1" artificial="1" throw="" context="_3843" access="public" mangled="_ZN5boost19equality_comparableINS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEES8_NS_6detail10empty_baseENS9_7false_tEEC1Ev *INTERNAL* " demangled="boost::equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> &gt [...]
+  <Constructor id="_10109" name="equality_comparable" artificial="1" throw="" context="_3844" access="public" mangled="_ZN5boost19equality_comparableINS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_7addableIS4_NS_12subtractableIS4_S4_NS_6detail10empty_baseENS7_7false_tEEES8_NS7_6true_tEEES8_SB_EC1ERKSD_ *INTERNAL* " demangled="boost::equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date_time: [...]
+    <Argument name="_ctor_arg" type="_12609" location="f130:799" file="f130" line="799"/>
+  </Constructor>
+  <Constructor id="_10110" name="equality_comparable" explicit="1" artificial="1" throw="" context="_3844" access="public" mangled="_ZN5boost19equality_comparableINS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_7addableIS4_NS_12subtractableIS4_S4_NS_6detail10empty_baseENS7_7false_tEEES8_NS7_6true_tEEES8_SB_EC1Ev *INTERNAL* " demangled="boost::equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::d [...]
+  <Constructor id="_10111" name="equality_comparable" artificial="1" throw="" context="_3845" access="public" mangled="_ZN5boost19equality_comparableINS_9gregorian4dateES2_NS_6detail10empty_baseENS3_7false_tEEC1ERKS6_ *INTERNAL* " demangled="boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t>::equality_comparable(boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empt [...]
+    <Argument name="_ctor_arg" type="_12610" location="f130:799" file="f130" line="799"/>
+  </Constructor>
+  <Constructor id="_10112" name="equality_comparable" explicit="1" artificial="1" throw="" context="_3845" access="public" mangled="_ZN5boost19equality_comparableINS_9gregorian4dateES2_NS_6detail10empty_baseENS3_7false_tEEC1Ev *INTERNAL* " demangled="boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t>::equality_comparable()" location="f130:799" file="f130" line="799" inline="1"/>
+  <Constructor id="_10113" name="less_than_comparable" artificial="1" throw="" context="_3846" access="public" mangled="_ZN5boost20less_than_comparableINS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEENS_19equality_comparableISB_SB_NS_6detail10empty_baseENSD_7false_tEEESE_NSD_6true_tEEC1ERKSI_ *INTERNAL* " demangled="boost::less_than_comparable<boost::date_time::period<boost::local_time::local_date_t [...]
+    <Argument name="_ctor_arg" type="_12611" location="f130:798" file="f130" line="798"/>
+  </Constructor>
+  <Constructor id="_10114" name="less_than_comparable" explicit="1" artificial="1" throw="" context="_3846" access="public" mangled="_ZN5boost20less_than_comparableINS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEENS_19equality_comparableISB_SB_NS_6detail10empty_baseENSD_7false_tEEESE_NSD_6true_tEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable<boost::date_time::period<boost::local_time::loc [...]
+  <Constructor id="_10115" name="less_than_comparable" artificial="1" throw="" context="_3847" access="public" mangled="_ZN5boost20less_than_comparableINS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEENS_19equality_comparableIS6_S6_NS_6detail10empty_baseENS8_7false_tEEES9_NS8_6true_tEEC1ERKSD_ *INTERNAL* " demangled="boost::less_than_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::equality_comparable<boos [...]
+    <Argument name="_ctor_arg" type="_12612" location="f130:798" file="f130" line="798"/>
+  </Constructor>
+  <Constructor id="_10116" name="less_than_comparable" explicit="1" artificial="1" throw="" context="_3847" access="public" mangled="_ZN5boost20less_than_comparableINS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEENS_19equality_comparableIS6_S6_NS_6detail10empty_baseENS8_7false_tEEES9_NS8_6true_tEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::equality_comparabl [...]
+  <Constructor id="_10117" name="less_than_comparable" artificial="1" throw="" context="_3848" access="public" mangled="_ZN5boost20less_than_comparableINS_10posix_time5ptimeENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEES5_NS4_6true_tEEC1ERKS9_ *INTERNAL* " demangled="boost::less_than_comparable<boost::posix_time::ptime, boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t>, boost: [...]
+    <Argument name="_ctor_arg" type="_12613" location="f130:798" file="f130" line="798"/>
+  </Constructor>
+  <Constructor id="_10118" name="less_than_comparable" explicit="1" artificial="1" throw="" context="_3848" access="public" mangled="_ZN5boost20less_than_comparableINS_10posix_time5ptimeENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEES5_NS4_6true_tEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable<boost::posix_time::ptime, boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t&gt [...]
+  <Constructor id="_10119" name="less_than_comparable" artificial="1" throw="" context="_3849" access="public" mangled="_ZN5boost20less_than_comparableINS_10posix_time13time_durationENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEES5_NS4_6true_tEEC1ERKS9_ *INTERNAL* " demangled="boost::less_than_comparable<boost::posix_time::time_duration, boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, b [...]
+    <Argument name="_ctor_arg" type="_12614" location="f130:798" file="f130" line="798"/>
+  </Constructor>
+  <Constructor id="_10120" name="less_than_comparable" explicit="1" artificial="1" throw="" context="_3849" access="public" mangled="_ZN5boost20less_than_comparableINS_10posix_time13time_durationENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEES5_NS4_6true_tEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable<boost::posix_time::time_duration, boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empt [...]
+  <Constructor id="_10121" name="less_than_comparable" artificial="1" throw="" context="_3850" access="public" mangled="_ZN5boost20less_than_comparableINS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEENS_19equality_comparableIS8_S8_NS_6detail10empty_baseENSA_7false_tEEESB_NSA_6true_tEEC1ERKSF_ *INTERNAL* " demangled="boost::less_than_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::dat [...]
+    <Argument name="_ctor_arg" type="_12615" location="f130:798" file="f130" line="798"/>
+  </Constructor>
+  <Constructor id="_10122" name="less_than_comparable" explicit="1" artificial="1" throw="" context="_3850" access="public" mangled="_ZN5boost20less_than_comparableINS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEENS_19equality_comparableIS8_S8_NS_6detail10empty_baseENSA_7false_tEEESB_NSA_6true_tEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<b [...]
+  <Constructor id="_10123" name="less_than_comparable" artificial="1" throw="" context="_3851" access="public" mangled="_ZN5boost20less_than_comparableINS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_19equality_comparableIS4_NS_7addableIS4_NS_12subtractableIS4_S4_NS_6detail10empty_baseENS8_7false_tEEES9_NS8_6true_tEEES9_SC_EES9_SC_EC1ERKSF_ *INTERNAL* " demangled="boost::less_than_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted&g [...]
+    <Argument name="_ctor_arg" type="_12616" location="f130:798" file="f130" line="798"/>
+  </Constructor>
+  <Constructor id="_10124" name="less_than_comparable" explicit="1" artificial="1" throw="" context="_3851" access="public" mangled="_ZN5boost20less_than_comparableINS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_19equality_comparableIS4_NS_7addableIS4_NS_12subtractableIS4_S4_NS_6detail10empty_baseENS8_7false_tEEES9_NS8_6true_tEEES9_SC_EES9_SC_EC1Ev *INTERNAL* " demangled="boost::less_than_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_ [...]
+  <Constructor id="_10125" name="less_than_comparable" artificial="1" throw="" context="_3852" access="public" mangled="_ZN5boost20less_than_comparableINS_9gregorian4dateENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEES5_NS4_6true_tEEC1ERKS9_ *INTERNAL* " demangled="boost::less_than_comparable<boost::gregorian::date, boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t>, boost::detail:: [...]
+    <Argument name="_ctor_arg" type="_12617" location="f130:798" file="f130" line="798"/>
+  </Constructor>
+  <Constructor id="_10126" name="less_than_comparable" explicit="1" artificial="1" throw="" context="_3852" access="public" mangled="_ZN5boost20less_than_comparableINS_9gregorian4dateENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEES5_NS4_6true_tEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable<boost::gregorian::date, boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t>, boost: [...]
+  <Struct id="_10127" name="true_t" context="_3903" mangled="N5boost6detail6true_tE" demangled="boost::detail::true_t" location="f130:689" file="f130" line="689" artificial="1" size="8" align="8" members="_12618 _12619 " bases=""/>
+  <Typedef id="_10128" name="value" type="_10127" context="_3853" access="public" location="f130:799" file="f130" line="799"/>
+  <Constructor id="_10129" name="is_chained_base" artificial="1" throw="" context="_3853" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS2_14time_zone_baseIS7_cEEEENS6_13time_durationEEESC_NS_6detail10empty_baseENSD_7false_tEEEEC1ERKSH_ *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::date_time::period<boost::local_time::local_date_time [...]
+    <Argument name="_ctor_arg" type="_12620" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10130" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3853" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS2_14time_zone_baseIS7_cEEEENS6_13time_durationEEESC_NS_6detail10empty_baseENSD_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::date_time::period<boost::local_time::local_ [...]
+  <Struct id="_10131" name="false_t" context="_3903" mangled="N5boost6detail7false_tE" demangled="boost::detail::false_t" location="f130:690" file="f130" line="690" artificial="1" size="8" align="8" members="_12621 _12622 " bases=""/>
+  <Typedef id="_10132" name="value" type="_10131" context="_3854" access="public" location="f130:697" file="f130" line="697"/>
+  <Constructor id="_10133" name="is_chained_base" artificial="1" throw="" context="_3854" access="public" mangled="_ZN5boost15is_chained_baseINS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEEEC1ERKSC_ *INTERNAL* " demangled="boost::is_chained_base<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, [...]
+    <Argument name="_ctor_arg" type="_12623" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10134" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3854" access="public" mangled="_ZN5boost15is_chained_baseINS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_tim [...]
+  <Typedef id="_10135" name="value" type="_10127" context="_3855" access="public" location="f130:799" file="f130" line="799"/>
+  <Constructor id="_10136" name="is_chained_base" artificial="1" throw="" context="_3855" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9date_time6periodINS_10posix_time5ptimeENS4_13time_durationEEES7_NS_6detail10empty_baseENS8_7false_tEEEEC1ERKSC_ *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period<boost::po [...]
+    <Argument name="_ctor_arg" type="_12624" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10137" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3855" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9date_time6periodINS_10posix_time5ptimeENS4_13time_durationEEES7_NS_6detail10empty_baseENS8_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::date_time::period< [...]
+  <Typedef id="_10138" name="value" type="_10131" context="_3856" access="public" location="f130:697" file="f130" line="697"/>
+  <Constructor id="_10139" name="is_chained_base" artificial="1" throw="" context="_3856" access="public" mangled="_ZN5boost15is_chained_baseINS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEEEC1ERKS7_ *INTERNAL* " demangled="boost::is_chained_base<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> >::is_chained_base(boost::is_chained_base<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration [...]
+    <Argument name="_ctor_arg" type="_12625" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10140" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3856" access="public" mangled="_ZN5boost15is_chained_baseINS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> >::is_chained_base()" location="f130:696" file="f130" line="696" inline="1"/>
+  <Typedef id="_10141" name="value" type="_10127" context="_3857" access="public" location="f130:799" file="f130" line="799"/>
+  <Constructor id="_10142" name="is_chained_base" artificial="1" throw="" context="_3857" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_10posix_time5ptimeES3_NS_6detail10empty_baseENS4_7false_tEEEEC1ERKS8_ *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t> >::is_chained_base(boost::is_chained_base<boost::equality_co [...]
+    <Argument name="_ctor_arg" type="_12626" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10143" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3857" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_10posix_time5ptimeES3_NS_6detail10empty_baseENS4_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t> >::is_chained_base()" location="f130:696" file="f130"  [...]
+  <Typedef id="_10144" name="value" type="_10131" context="_3858" access="public" location="f130:697" file="f130" line="697"/>
+  <Constructor id="_10145" name="is_chained_base" artificial="1" throw="" context="_3858" access="public" mangled="_ZN5boost15is_chained_baseINS_10posix_time5ptimeEEC1ERKS3_ *INTERNAL* " demangled="boost::is_chained_base<boost::posix_time::ptime>::is_chained_base(boost::is_chained_base<boost::posix_time::ptime> const&)" location="f130:696" file="f130" line="696" inline="1">
+    <Argument name="_ctor_arg" type="_12627" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10146" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3858" access="public" mangled="_ZN5boost15is_chained_baseINS_10posix_time5ptimeEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::posix_time::ptime>::is_chained_base()" location="f130:696" file="f130" line="696" inline="1"/>
+  <Typedef id="_10147" name="value" type="_10127" context="_3859" access="public" location="f130:799" file="f130" line="799"/>
+  <Constructor id="_10148" name="is_chained_base" artificial="1" throw="" context="_3859" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_10posix_time13time_durationES3_NS_6detail10empty_baseENS4_7false_tEEEEC1ERKS8_ *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t> >::is_chained_base(boost::is_chained_b [...]
+    <Argument name="_ctor_arg" type="_12628" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10149" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3859" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_10posix_time13time_durationES3_NS_6detail10empty_baseENS4_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail::false_t> >::is_chained_base()" locatio [...]
+  <Typedef id="_10150" name="value" type="_10131" context="_3860" access="public" location="f130:697" file="f130" line="697"/>
+  <Constructor id="_10151" name="is_chained_base" artificial="1" throw="" context="_3860" access="public" mangled="_ZN5boost15is_chained_baseINS_10posix_time13time_durationEEC1ERKS3_ *INTERNAL* " demangled="boost::is_chained_base<boost::posix_time::time_duration>::is_chained_base(boost::is_chained_base<boost::posix_time::time_duration> const&)" location="f130:696" file="f130" line="696" inline="1">
+    <Argument name="_ctor_arg" type="_12629" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10152" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3860" access="public" mangled="_ZN5boost15is_chained_baseINS_10posix_time13time_durationEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::posix_time::time_duration>::is_chained_base()" location="f130:696" file="f130" line="696" inline="1"/>
+  <Typedef id="_10153" name="value" type="_10127" context="_3861" access="public" location="f130:799" file="f130" line="799"/>
+  <Constructor id="_10154" name="is_chained_base" artificial="1" throw="" context="_3861" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9date_time6periodINS_9gregorian4dateENS2_13date_durationINS2_23duration_traits_adaptedEEEEES9_NS_6detail10empty_baseENSA_7false_tEEEEC1ERKSE_ *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_t [...]
+    <Argument name="_ctor_arg" type="_12630" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10155" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3861" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9date_time6periodINS_9gregorian4dateENS2_13date_durationINS2_23duration_traits_adaptedEEEEES9_NS_6detail10empty_baseENSA_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boos [...]
+  <Typedef id="_10156" name="value" type="_10131" context="_3862" access="public" location="f130:697" file="f130" line="697"/>
+  <Constructor id="_10157" name="is_chained_base" artificial="1" throw="" context="_3862" access="public" mangled="_ZN5boost15is_chained_baseINS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::is_chained_base<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > >::is_chained_base(boost::is_chained_base<boost::dat [...]
+    <Argument name="_ctor_arg" type="_12631" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10158" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3862" access="public" mangled="_ZN5boost15is_chained_baseINS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > >::is_chained_base()" location="f130:696" file [...]
+  <Typedef id="_10159" name="value" type="_10127" context="_3863" access="public" location="f130:799" file="f130" line="799"/>
+  <Constructor id="_10160" name="is_chained_base" artificial="1" throw="" context="_3863" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9date_time13date_durationINS2_23duration_traits_adaptedEEENS_7addableIS5_NS_12subtractableIS5_S5_NS_6detail10empty_baseENS8_7false_tEEES9_NS8_6true_tEEES9_SC_EEEC1ERKSF_ *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::date_time::date_duration<boost::date_time::duration_traits_ada [...]
+    <Argument name="_ctor_arg" type="_12632" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10161" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3863" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9date_time13date_durationINS2_23duration_traits_adaptedEEENS_7addableIS5_NS_12subtractableIS5_S5_NS_6detail10empty_baseENS8_7false_tEEES9_NS8_6true_tEEES9_SC_EEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::date_time::date_duration<boost::date_time::duration_t [...]
+  <Typedef id="_10162" name="value" type="_10127" context="_3864" access="public" location="f130:801" file="f130" line="801"/>
+  <Constructor id="_10163" name="is_chained_base" artificial="1" throw="" context="_3864" access="public" mangled="_ZN5boost15is_chained_baseINS_7addableINS_9date_time13date_durationINS2_23duration_traits_adaptedEEENS_12subtractableIS5_S5_NS_6detail10empty_baseENS7_7false_tEEES8_NS7_6true_tEEEEC1ERKSD_ *INTERNAL* " demangled="boost::is_chained_base<boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_tim [...]
+    <Argument name="_ctor_arg" type="_12633" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10164" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3864" access="public" mangled="_ZN5boost15is_chained_baseINS_7addableINS_9date_time13date_durationINS2_23duration_traits_adaptedEEENS_12subtractableIS5_S5_NS_6detail10empty_baseENS7_7false_tEEES8_NS7_6true_tEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::addable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost: [...]
+  <Typedef id="_10165" name="value" type="_10127" context="_3865" access="public" location="f130:802" file="f130" line="802"/>
+  <Constructor id="_10166" name="is_chained_base" artificial="1" throw="" context="_3865" access="public" mangled="_ZN5boost15is_chained_baseINS_12subtractableINS_9date_time13date_durationINS2_23duration_traits_adaptedEEES5_NS_6detail10empty_baseENS6_7false_tEEEEC1ERKSA_ *INTERNAL* " demangled="boost::is_chained_base<boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::duration_tra [...]
+    <Argument name="_ctor_arg" type="_12634" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10167" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3865" access="public" mangled="_ZN5boost15is_chained_baseINS_12subtractableINS_9date_time13date_durationINS2_23duration_traits_adaptedEEES5_NS_6detail10empty_baseENS6_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::date_time::date_duration<boost::date_time::dur [...]
+  <Typedef id="_10168" name="value" type="_10131" context="_3866" access="public" location="f130:697" file="f130" line="697"/>
+  <Constructor id="_10169" name="is_chained_base" artificial="1" throw="" context="_3866" access="public" mangled="_ZN5boost15is_chained_baseINS_9date_time13date_durationINS1_23duration_traits_adaptedEEEEC1ERKS5_ *INTERNAL* " demangled="boost::is_chained_base<boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_chained_base(boost::is_chained_base<boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > const&)" l [...]
+    <Argument name="_ctor_arg" type="_12635" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10170" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3866" access="public" mangled="_ZN5boost15is_chained_baseINS_9date_time13date_durationINS1_23duration_traits_adaptedEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_chained_base()" location="f130:696" file="f130" line="696" inline="1"/>
+  <Typedef id="_10171" name="value" type="_10127" context="_3867" access="public" location="f130:799" file="f130" line="799"/>
+  <Constructor id="_10172" name="is_chained_base" artificial="1" throw="" context="_3867" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9gregorian4dateES3_NS_6detail10empty_baseENS4_7false_tEEEEC1ERKS8_ *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t> >::is_chained_base(boost::is_chained_base<boost::equality_comparabl [...]
+    <Argument name="_ctor_arg" type="_12636" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10173" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3867" access="public" mangled="_ZN5boost15is_chained_baseINS_19equality_comparableINS_9gregorian4dateES3_NS_6detail10empty_baseENS4_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t> >::is_chained_base()" location="f130:696" file="f130" line="6 [...]
+  <Typedef id="_10174" name="value" type="_10131" context="_3868" access="public" location="f130:697" file="f130" line="697"/>
+  <Constructor id="_10175" name="is_chained_base" artificial="1" throw="" context="_3868" access="public" mangled="_ZN5boost15is_chained_baseINS_9gregorian4dateEEC1ERKS3_ *INTERNAL* " demangled="boost::is_chained_base<boost::gregorian::date>::is_chained_base(boost::is_chained_base<boost::gregorian::date> const&)" location="f130:696" file="f130" line="696" inline="1">
+    <Argument name="_ctor_arg" type="_12637" location="f130:696" file="f130" line="696"/>
+  </Constructor>
+  <Constructor id="_10176" name="is_chained_base" explicit="1" artificial="1" throw="" context="_3868" access="public" mangled="_ZN5boost15is_chained_baseINS_9gregorian4dateEEC1Ev *INTERNAL* " demangled="boost::is_chained_base<boost::gregorian::date>::is_chained_base()" location="f130:696" file="f130" line="696" inline="1"/>
+  <Constructor id="_10177" name="subtractable1" artificial="1" throw="" context="_3869" access="public" mangled="_ZN5boost13subtractable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_6detail10empty_baseEEC1ERKS7_ *INTERNAL* " demangled="boost::subtractable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base>::subtractable1(boost::subtractable1<boost::date_time::date_duration<boost::date_time::duration [...]
+    <Argument name="_ctor_arg" type="_12638" location="f130:251" file="f130" line="251"/>
+  </Constructor>
+  <Constructor id="_10178" name="subtractable1" explicit="1" artificial="1" throw="" context="_3869" access="public" mangled="_ZN5boost13subtractable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_6detail10empty_baseEEC1Ev *INTERNAL* " demangled="boost::subtractable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::detail::empty_base>::subtractable1()" location="f130:251" file="f130" line="251" inline="1"/>
+  <Class id="_10179" name="empty_base" context="_3903" mangled="N5boost6detail10empty_baseE" demangled="boost::detail::empty_base" location="f130:99" file="f130" line="99" artificial="1" size="8" align="8" members="_12639 _12640 " bases=""/>
+  <Constructor id="_10180" name="addable1" artificial="1" throw="" context="_3870" access="public" mangled="_ZN5boost8addable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_12subtractableIS4_S4_NS_6detail10empty_baseENS6_7false_tEEEEC1ERKSA_ *INTERNAL* " demangled="boost::addable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, bo [...]
+    <Argument name="_ctor_arg" type="_12641" location="f130:250" file="f130" line="250"/>
+  </Constructor>
+  <Constructor id="_10181" name="addable1" explicit="1" artificial="1" throw="" context="_3870" access="public" mangled="_ZN5boost8addable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_12subtractableIS4_S4_NS_6detail10empty_baseENS6_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::addable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::subtractable<boost::date_time::date_duration<boost::date_time::duration_traits_adapte [...]
+  <Constructor id="_10182" name="equality_comparable1" artificial="1" throw="" context="_3871" access="public" mangled="_ZN5boost20equality_comparable1INS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEENS_6detail10empty_baseEEC1ERKSE_ *INTERNAL* " demangled="boost::equality_comparable1<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_ [...]
+    <Argument name="_ctor_arg" type="_12642" location="f130:151" file="f130" line="151"/>
+  </Constructor>
+  <Constructor id="_10183" name="equality_comparable1" explicit="1" artificial="1" throw="" context="_3871" access="public" mangled="_ZN5boost20equality_comparable1INS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEENS_6detail10empty_baseEEC1Ev *INTERNAL* " demangled="boost::equality_comparable1<boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_ti [...]
+  <Constructor id="_10184" name="equality_comparable1" artificial="1" throw="" context="_3872" access="public" mangled="_ZN5boost20equality_comparable1INS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEENS_6detail10empty_baseEEC1ERKS9_ *INTERNAL* " demangled="boost::equality_comparable1<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base>::equality_comparable1(boost::equality_comparable1<boost::date_ [...]
+    <Argument name="_ctor_arg" type="_12643" location="f130:151" file="f130" line="151"/>
+  </Constructor>
+  <Constructor id="_10185" name="equality_comparable1" explicit="1" artificial="1" throw="" context="_3872" access="public" mangled="_ZN5boost20equality_comparable1INS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEENS_6detail10empty_baseEEC1Ev *INTERNAL* " demangled="boost::equality_comparable1<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::detail::empty_base>::equality_comparable1()" location="f130:151" file="f130" [...]
+  <Constructor id="_10186" name="equality_comparable1" artificial="1" throw="" context="_3873" access="public" mangled="_ZN5boost20equality_comparable1INS_10posix_time5ptimeENS_6detail10empty_baseEEC1ERKS5_ *INTERNAL* " demangled="boost::equality_comparable1<boost::posix_time::ptime, boost::detail::empty_base>::equality_comparable1(boost::equality_comparable1<boost::posix_time::ptime, boost::detail::empty_base> const&)" location="f130:151" file="f130" line="151" inline="1">
+    <Argument name="_ctor_arg" type="_12644" location="f130:151" file="f130" line="151"/>
+  </Constructor>
+  <Constructor id="_10187" name="equality_comparable1" explicit="1" artificial="1" throw="" context="_3873" access="public" mangled="_ZN5boost20equality_comparable1INS_10posix_time5ptimeENS_6detail10empty_baseEEC1Ev *INTERNAL* " demangled="boost::equality_comparable1<boost::posix_time::ptime, boost::detail::empty_base>::equality_comparable1()" location="f130:151" file="f130" line="151" inline="1"/>
+  <Constructor id="_10188" name="equality_comparable1" artificial="1" throw="" context="_3874" access="public" mangled="_ZN5boost20equality_comparable1INS_10posix_time13time_durationENS_6detail10empty_baseEEC1ERKS5_ *INTERNAL* " demangled="boost::equality_comparable1<boost::posix_time::time_duration, boost::detail::empty_base>::equality_comparable1(boost::equality_comparable1<boost::posix_time::time_duration, boost::detail::empty_base> const&)" location="f130:151" file="f [...]
+    <Argument name="_ctor_arg" type="_12645" location="f130:151" file="f130" line="151"/>
+  </Constructor>
+  <Constructor id="_10189" name="equality_comparable1" explicit="1" artificial="1" throw="" context="_3874" access="public" mangled="_ZN5boost20equality_comparable1INS_10posix_time13time_durationENS_6detail10empty_baseEEC1Ev *INTERNAL* " demangled="boost::equality_comparable1<boost::posix_time::time_duration, boost::detail::empty_base>::equality_comparable1()" location="f130:151" file="f130" line="151" inline="1"/>
+  <Constructor id="_10190" name="equality_comparable1" artificial="1" throw="" context="_3875" access="public" mangled="_ZN5boost20equality_comparable1INS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEENS_6detail10empty_baseEEC1ERKSB_ *INTERNAL* " demangled="boost::equality_comparable1<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::detail::empt [...]
+    <Argument name="_ctor_arg" type="_12646" location="f130:151" file="f130" line="151"/>
+  </Constructor>
+  <Constructor id="_10191" name="equality_comparable1" explicit="1" artificial="1" throw="" context="_3875" access="public" mangled="_ZN5boost20equality_comparable1INS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEENS_6detail10empty_baseEEC1Ev *INTERNAL* " demangled="boost::equality_comparable1<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >, boost::det [...]
+  <Constructor id="_10192" name="equality_comparable1" artificial="1" throw="" context="_3876" access="public" mangled="_ZN5boost20equality_comparable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_7addableIS4_NS_12subtractableIS4_S4_NS_6detail10empty_baseENS7_7false_tEEES8_NS7_6true_tEEEEC1ERKSD_ *INTERNAL* " demangled="boost::equality_comparable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date_time::da [...]
+    <Argument name="_ctor_arg" type="_12647" location="f130:151" file="f130" line="151"/>
+  </Constructor>
+  <Constructor id="_10193" name="equality_comparable1" explicit="1" artificial="1" throw="" context="_3876" access="public" mangled="_ZN5boost20equality_comparable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_7addableIS4_NS_12subtractableIS4_S4_NS_6detail10empty_baseENS7_7false_tEEES8_NS7_6true_tEEEEC1Ev *INTERNAL* " demangled="boost::equality_comparable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, boost::addable<boost::date [...]
+  <Constructor id="_10194" name="equality_comparable1" artificial="1" throw="" context="_3877" access="public" mangled="_ZN5boost20equality_comparable1INS_9gregorian4dateENS_6detail10empty_baseEEC1ERKS5_ *INTERNAL* " demangled="boost::equality_comparable1<boost::gregorian::date, boost::detail::empty_base>::equality_comparable1(boost::equality_comparable1<boost::gregorian::date, boost::detail::empty_base> const&)" location="f130:151" file="f130" line="151" inline="1">
+    <Argument name="_ctor_arg" type="_12648" location="f130:151" file="f130" line="151"/>
+  </Constructor>
+  <Constructor id="_10195" name="equality_comparable1" explicit="1" artificial="1" throw="" context="_3877" access="public" mangled="_ZN5boost20equality_comparable1INS_9gregorian4dateENS_6detail10empty_baseEEC1Ev *INTERNAL* " demangled="boost::equality_comparable1<boost::gregorian::date, boost::detail::empty_base>::equality_comparable1()" location="f130:151" file="f130" line="151" inline="1"/>
+  <Constructor id="_10196" name="less_than_comparable1" artificial="1" throw="" context="_3878" access="public" mangled="_ZN5boost21less_than_comparable1INS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEENS_19equality_comparableISB_SB_NS_6detail10empty_baseENSD_7false_tEEEEC1ERKSH_ *INTERNAL* " demangled="boost::less_than_comparable1<boost::date_time::period<boost::local_time::local_date_time_base< [...]
+    <Argument name="_ctor_arg" type="_12649" location="f130:135" file="f130" line="135"/>
+  </Constructor>
+  <Constructor id="_10197" name="less_than_comparable1" explicit="1" artificial="1" throw="" context="_3878" access="public" mangled="_ZN5boost21less_than_comparable1INS_9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS1_14time_zone_baseIS6_cEEEENS5_13time_durationEEENS_19equality_comparableISB_SB_NS_6detail10empty_baseENSD_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable1<boost::date_time::period<boost::local_time::local_date_time [...]
+  <Constructor id="_10198" name="less_than_comparable1" artificial="1" throw="" context="_3879" access="public" mangled="_ZN5boost21less_than_comparable1INS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEENS_19equality_comparableIS6_S6_NS_6detail10empty_baseENS8_7false_tEEEEC1ERKSC_ *INTERNAL* " demangled="boost::less_than_comparable1<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::equality_comparable<boost::date_time [...]
+    <Argument name="_ctor_arg" type="_12650" location="f130:135" file="f130" line="135"/>
+  </Constructor>
+  <Constructor id="_10199" name="less_than_comparable1" explicit="1" artificial="1" throw="" context="_3879" access="public" mangled="_ZN5boost21less_than_comparable1INS_9date_time6periodINS_10posix_time5ptimeENS3_13time_durationEEENS_19equality_comparableIS6_S6_NS_6detail10empty_baseENS8_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable1<boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>, boost::equality_comparable<boost:: [...]
+  <Constructor id="_10200" name="less_than_comparable1" artificial="1" throw="" context="_3880" access="public" mangled="_ZN5boost21less_than_comparable1INS_10posix_time5ptimeENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEEEC1ERKS8_ *INTERNAL* " demangled="boost::less_than_comparable1<boost::posix_time::ptime, boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t> >::less_than_com [...]
+    <Argument name="_ctor_arg" type="_12651" location="f130:135" file="f130" line="135"/>
+  </Constructor>
+  <Constructor id="_10201" name="less_than_comparable1" explicit="1" artificial="1" throw="" context="_3880" access="public" mangled="_ZN5boost21less_than_comparable1INS_10posix_time5ptimeENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable1<boost::posix_time::ptime, boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base, boost::detail::false_t> >::less [...]
+  <Constructor id="_10202" name="less_than_comparable1" artificial="1" throw="" context="_3881" access="public" mangled="_ZN5boost21less_than_comparable1INS_10posix_time13time_durationENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEEEC1ERKS8_ *INTERNAL* " demangled="boost::less_than_comparable1<boost::posix_time::time_duration, boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boost::detail [...]
+    <Argument name="_ctor_arg" type="_12652" location="f130:135" file="f130" line="135"/>
+  </Constructor>
+  <Constructor id="_10203" name="less_than_comparable1" explicit="1" artificial="1" throw="" context="_3881" access="public" mangled="_ZN5boost21less_than_comparable1INS_10posix_time13time_durationENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable1<boost::posix_time::time_duration, boost::equality_comparable<boost::posix_time::time_duration, boost::posix_time::time_duration, boost::detail::empty_base, boos [...]
+  <Constructor id="_10204" name="less_than_comparable1" artificial="1" throw="" context="_3882" access="public" mangled="_ZN5boost21less_than_comparable1INS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEENS_19equality_comparableIS8_S8_NS_6detail10empty_baseENSA_7false_tEEEEC1ERKSE_ *INTERNAL* " demangled="boost::less_than_comparable1<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::dura [...]
+    <Argument name="_ctor_arg" type="_12653" location="f130:135" file="f130" line="135"/>
+  </Constructor>
+  <Constructor id="_10205" name="less_than_comparable1" explicit="1" artificial="1" throw="" context="_3882" access="public" mangled="_ZN5boost21less_than_comparable1INS_9date_time6periodINS_9gregorian4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEENS_19equality_comparableIS8_S8_NS_6detail10empty_baseENSA_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable1<boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_t [...]
+  <Constructor id="_10206" name="less_than_comparable1" artificial="1" throw="" context="_3883" access="public" mangled="_ZN5boost21less_than_comparable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_19equality_comparableIS4_NS_7addableIS4_NS_12subtractableIS4_S4_NS_6detail10empty_baseENS8_7false_tEEES9_NS8_6true_tEEES9_SC_EEEC1ERKSF_ *INTERNAL* " demangled="boost::less_than_comparable1<boost::date_time::date_duration<boost::date_time::duration_traits_adapted>, [...]
+    <Argument name="_ctor_arg" type="_12654" location="f130:135" file="f130" line="135"/>
+  </Constructor>
+  <Constructor id="_10207" name="less_than_comparable1" explicit="1" artificial="1" throw="" context="_3883" access="public" mangled="_ZN5boost21less_than_comparable1INS_9date_time13date_durationINS1_23duration_traits_adaptedEEENS_19equality_comparableIS4_NS_7addableIS4_NS_12subtractableIS4_S4_NS_6detail10empty_baseENS8_7false_tEEES9_NS8_6true_tEEES9_SC_EEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable1<boost::date_time::date_duration<boost::date_time::duration_traits_ada [...]
+  <Constructor id="_10208" name="less_than_comparable1" artificial="1" throw="" context="_3884" access="public" mangled="_ZN5boost21less_than_comparable1INS_9gregorian4dateENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEEEC1ERKS8_ *INTERNAL* " demangled="boost::less_than_comparable1<boost::gregorian::date, boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t> >::less_than_comparable1( [...]
+    <Argument name="_ctor_arg" type="_12655" location="f130:135" file="f130" line="135"/>
+  </Constructor>
+  <Constructor id="_10209" name="less_than_comparable1" explicit="1" artificial="1" throw="" context="_3884" access="public" mangled="_ZN5boost21less_than_comparable1INS_9gregorian4dateENS_19equality_comparableIS2_S2_NS_6detail10empty_baseENS4_7false_tEEEEC1Ev *INTERNAL* " demangled="boost::less_than_comparable1<boost::gregorian::date, boost::equality_comparable<boost::gregorian::date, boost::gregorian::date, boost::detail::empty_base, boost::detail::false_t> >::less_than_com [...]
+  <Function id="_10210" name="to_tm" returns="_1011" context="_3888" mangled="_ZN5boost10local_time5to_tmERKNS0_20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEE" demangled="boost::local_time::to_tm(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > const&)" location="f208:21" file="f208" line="21" endline="31" inline="1">
+    <Argument name="lt" type="_12656" location="f208:21" file="f208" line="21"/>
+  </Function>
+  <Class id="_10211" name="tz_db_base<boost::local_time::custom_time_zone_base<char>,boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >" context="_3904" mangled="N5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEEE" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_ [...]
+  <Typedef id="_10212" name="tz_database" type="_10211" context="_3888" location="f209:27" file="f209" line="27"/>
+  <Class id="_10213" name="time_input_facet<boost::posix_time::ptime,char,std::istreambuf_iterator<char, std::char_traits<char> > >" context="_3904" incomplete="1" mangled="N5boost9date_time16time_input_facetINS_10posix_time5ptimeEcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE" demangled="boost::date_time::time_input_facet<boost::posix_time::ptime, char, std::istreambuf_iterator<char, std::char_traits<char> > >" location="f210:599" file="f210" line="5 [...]
+  <Typedef id="_10214" name="local_time_input_facet" type="_10213" context="_3888" location="f211:25" file="f211" line="25"/>
+  <Class id="_10215" name="time_input_facet<boost::posix_time::ptime,wchar_t,std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_3904" incomplete="1" mangled="N5boost9date_time16time_input_facetINS_10posix_time5ptimeEwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE" demangled="boost::date_time::time_input_facet<boost::posix_time::ptime, wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f210:599" f [...]
+  <Typedef id="_10216" name="wlocal_time_input_facet" type="_10215" context="_3888" location="f211:24" file="f211" line="24"/>
+  <Class id="_10217" name="time_facet<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >,char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_3904" incomplete="1" mangled="N5boost9date_time10time_facetINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE" demangled="boost::d [...]
+  <Typedef id="_10218" name="local_time_facet" type="_10217" context="_3888" location="f211:22" file="f211" line="22"/>
+  <Class id="_10219" name="time_facet<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >,wchar_t,std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_3904" incomplete="1" mangled="N5boost9date_time10time_facetINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE" demangled= [...]
+  <Typedef id="_10220" name="wlocal_time_facet" type="_10219" context="_3888" location="f211:21" file="f211" line="21"/>
+  <Class id="_10221" name="posix_time_zone_base<char>" context="_3888" mangled="N5boost10local_time20posix_time_zone_baseIcEE" demangled="boost::local_time::posix_time_zone_base<char>" location="f5:64" file="f5" line="64" artificial="1" size="512" align="32" members="_12678 _12679 _12680 _12681 _12682 _12683 _12684 _12685 _12686 _12687 _12688 _12689 _12690 _12691 _12692 _12693 _12694 _12695 _12696 _12697 _12698 _12699 _12700 _12701 _12702 _12703 _12704 _12705 _12706 _12707 _1 [...]
+    <Base type="_10014" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10222" name="posix_time_zone" type="_10221" context="_3888" location="f5:438" file="f5" line="438"/>
+  <Struct id="_10223" name="bad_adjustment" context="_3888" mangled="N5boost10local_time14bad_adjustmentE" demangled="boost::local_time::bad_adjustment" location="f5:33" file="f5" line="33" artificial="1" size="64" align="32" members="_12711 _12712 _12713 " bases="_2044 ">
+    <Base type="_2044" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10224" name="bad_offset" context="_3888" mangled="N5boost10local_time10bad_offsetE" demangled="boost::local_time::bad_offset" location="f5:28" file="f5" line="28" artificial="1" size="64" align="32" members="_12714 _12715 _12716 " bases="_2044 ">
+    <Base type="_2044" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Class id="_10225" name="time_zone_names_base<wchar_t>" context="_3904" incomplete="1" mangled="N5boost9date_time20time_zone_names_baseIwEE" demangled="boost::date_time::time_zone_names_base<wchar_t>" location="f212:50" file="f212" line="50" artificial="1" align="8"/>
+  <Typedef id="_10226" name="wtime_zone_names" type="_10225" context="_3888" location="f213:39" file="f213" line="39"/>
+  <Class id="_10227" name="time_zone_names_base<char>" context="_3904" mangled="N5boost9date_time20time_zone_names_baseIcEE" demangled="boost::date_time::time_zone_names_base<char>" location="f212:50" file="f212" line="50" artificial="1" size="128" align="32" members="_12717 _12718 _12719 _12720 _12721 _12722 _12723 _12724 _12725 _12726 _12727 _12728 _12729 " bases=""/>
+  <Typedef id="_10228" name="time_zone_names" type="_10227" context="_3888" location="f213:38" file="f213" line="38"/>
+  <Typedef id="_10229" name="wtime_zone_ptr" type="_3833" context="_3888" location="f213:36" file="f213" line="36"/>
+  <Typedef id="_10230" name="time_zone_ptr" type="_3830" context="_3888" location="f213:35" file="f213" line="35"/>
+  <Class id="_10231" name="time_zone_base<boost::posix_time::ptime,wchar_t>" context="_3904" incomplete="1" mangled="N5boost9date_time14time_zone_baseINS_10posix_time5ptimeEwEE" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, wchar_t>" location="f7:34" file="f7" line="34" artificial="1" align="8"/>
+  <Typedef id="_10232" name="wtime_zone" type="_10231" context="_3888" location="f213:32" file="f213" line="32"/>
+  <Typedef id="_10233" name="time_zone" type="_10014" context="_3888" location="f213:31" file="f213" line="31"/>
+  <Class id="_10234" name="microsec_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >" context="_3904" mangled="N5boost9date_time14microsec_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEEE" demangled="boost::date_time::microsec_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_ [...]
+  <Typedef id="_10235" name="local_microsec_clock" type="_10234" context="_3888" location="f213:29" file="f213" line="29"/>
+  <Class id="_10236" name="second_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >" context="_3904" mangled="N5boost9date_time12second_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEEE" demangled="boost::date_time::second_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base&l [...]
+  <Typedef id="_10237" name="local_sec_clock" type="_10236" context="_3888" location="f213:28" file="f213" line="28"/>
+  <Class id="_10238" name="time_itr<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >" context="_3904" incomplete="1" mangled="N5boost9date_time8time_itrINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEEE" demangled="boost::date_time::time_itr<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base [...]
+  <Typedef id="_10239" name="local_time_iterator" type="_10238" context="_3888" location="f213:26" file="f213" line="26"/>
+  <Class id="_10240" name="period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >,boost::posix_time::time_duration>" context="_3904" mangled="N5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEE" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, b [...]
+    <Base type="_3846" access="private" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10241" name="local_time_period" type="_10240" context="_3888" location="f213:24" file="f213" line="24"/>
+  <Class id="_10242" name="custom_time_zone_base<char>" context="_3888" mangled="N5boost10local_time21custom_time_zone_baseIcEE" demangled="boost::local_time::custom_time_zone_base<char>" location="f4:29" file="f4" line="29" artificial="1" size="512" align="32" members="_12772 _12773 _12774 _12775 _12776 _12777 _12778 _12779 _12780 _12781 _12782 _12783 _12784 _12785 _12786 _12787 _12788 _12789 _12790 _12791 _12792 _12793 _12794 _12795 " bases="_10014 ">
+    <Base type="_10014" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10243" name="custom_time_zone" type="_10242" context="_3888" location="f4:163" file="f4" line="163"/>
+  <Typedef id="_10244" name="dst_calc_rule_ptr" type="_3832" context="_3888" location="f4:25" file="f4" line="25"/>
+  <Class id="_10245" name="dst_adjustment_offsets<boost::posix_time::time_duration>" context="_3904" mangled="N5boost9date_time22dst_adjustment_offsetsINS_10posix_time13time_durationEEE" demangled="boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration>" location="f7:76" file="f7" line="76" artificial="1" size="192" align="32" members="_12796 _12797 _12798 _12799 _12800 " bases=""/>
+  <Typedef id="_10246" name="dst_adjustment_offsets" type="_10245" context="_3888" location="f5:37" file="f5" line="37"/>
+  <Class id="_10247" name="day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>" context="_3904" mangled="N5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEEE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>" location="f6:38" file="f6" line="38" artificial="1" size="288" align="32" members="_12801 _12802 _12803 _12804 _12805 _12806 _12807 _12808 _12809 _12810 _12811 _12812 _12813 " bases="_10065 ">
+    <Base type="_10065" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10248" name="nth_day_of_the_week_in_month_dst_rule" type="_10247" context="_3888" location="f216:71" file="f216" line="71"/>
+  <Typedef id="_10249" name="nth_kday_dst_rule" type="_10247" context="_3888" location="f216:69" file="f216" line="69"/>
+  <Struct id="_10250" name="nth_kday_rule_spec" context="_3888" mangled="N5boost10local_time18nth_kday_rule_specE" demangled="boost::local_time::nth_kday_rule_spec" location="f216:62" file="f216" line="62" artificial="1" size="8" align="8" members="_12814 _12815 _12816 _12817 _12818 " bases=""/>
+  <Class id="_10251" name="day_calc_dst_rule<boost::local_time::nth_last_rule_spec>" context="_3904" mangled="N5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEEE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>" location="f6:38" file="f6" line="38" artificial="1" size="224" align="32" members="_12819 _12820 _12821 _12822 _12823 _12824 _12825 _12826 _12827 _12828 _12829 _12830 _12831 " bases="_10065 ">
+    <Base type="_10065" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10252" name="nth_last_dst_rule" type="_10251" context="_3888" location="f216:59" file="f216" line="59"/>
+  <Struct id="_10253" name="nth_last_rule_spec" context="_3888" mangled="N5boost10local_time18nth_last_rule_specE" demangled="boost::local_time::nth_last_rule_spec" location="f216:52" file="f216" line="52" artificial="1" size="8" align="8" members="_12832 _12833 _12834 _12835 _12836 " bases=""/>
+  <Class id="_10254" name="day_calc_dst_rule<boost::local_time::last_last_rule_spec>" context="_3904" mangled="N5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEEE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>" location="f6:38" file="f6" line="38" artificial="1" size="160" align="32" members="_12837 _12838 _12839 _12840 _12841 _12842 _12843 _12844 _12845 _12846 _12847 _12848 _12849 " bases="_10065 ">
+    <Base type="_10065" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10255" name="last_last_dst_rule" type="_10254" context="_3888" location="f216:49" file="f216" line="49"/>
+  <Struct id="_10256" name="last_last_rule_spec" context="_3888" mangled="N5boost10local_time19last_last_rule_specE" demangled="boost::local_time::last_last_rule_spec" location="f216:42" file="f216" line="42" artificial="1" size="8" align="8" members="_12850 _12851 _12852 _12853 _12854 " bases=""/>
+  <Class id="_10257" name="day_calc_dst_rule<boost::local_time::first_last_rule_spec>" context="_3904" mangled="N5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEEE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>" location="f6:38" file="f6" line="38" artificial="1" size="160" align="32" members="_12855 _12856 _12857 _12858 _12859 _12860 _12861 _12862 _12863 _12864 _12865 _12866 _12867 " bases="_10065 ">
+    <Base type="_10065" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10258" name="first_last_dst_rule" type="_10257" context="_3888" location="f216:39" file="f216" line="39"/>
+  <Struct id="_10259" name="first_last_rule_spec" context="_3888" mangled="N5boost10local_time20first_last_rule_specE" demangled="boost::local_time::first_last_rule_spec" location="f216:32" file="f216" line="32" artificial="1" size="8" align="8" members="_12868 _12869 _12870 _12871 _12872 " bases=""/>
+  <Class id="_10260" name="day_calc_dst_rule<boost::local_time::partial_date_rule_spec>" context="_3904" mangled="N5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEEE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>" location="f6:38" file="f6" line="38" artificial="1" size="160" align="32" members="_12873 _12874 _12875 _12876 _12877 _12878 _12879 _12880 _12881 _12882 _12883 _12884 _12885 " bases="_10065 ">
+    <Base type="_10065" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10261" name="partial_date_dst_rule" type="_10260" context="_3888" location="f216:29" file="f216" line="29"/>
+  <Struct id="_10262" name="partial_date_rule_spec" context="_3888" mangled="N5boost10local_time22partial_date_rule_specE" demangled="boost::local_time::partial_date_rule_spec" location="f216:22" file="f216" line="22" artificial="1" size="8" align="8" members="_12886 _12887 _12888 _12889 _12890 " bases=""/>
+  <Typedef id="_10263" name="dst_calc_rule" type="_10065" context="_3888" location="f216:19" file="f216" line="19"/>
+  <OperatorFunction id="_10264" name="-=" returns="_8349" context="_3888" mangled="_ZN5boost10local_timemIERNS0_20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEERKNS4_14years_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::local_time::operator-=(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >&, boost::date_time::years_duration<boost [...]
+    <Argument name="t" type="_12891" location="f217:107" file="f217" line="107"/>
+    <Argument name="y" type="_12892" location="f217:107" file="f217" line="107"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10265" name="-" returns="_8349" context="_3888" mangled="_ZN5boost10local_timemiERKNS0_20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEERKNS4_14years_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::local_time::operator-(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > const&, boost::date_time::years_duration< [...]
+    <Argument name="t" type="_12656" location="f217:96" file="f217" line="96"/>
+    <Argument name="y" type="_12892" location="f217:96" file="f217" line="96"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10266" name="+=" returns="_8349" context="_3888" mangled="_ZN5boost10local_timepLERNS0_20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEERKNS4_14years_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::local_time::operator+=(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >&, boost::date_time::years_duration<boost [...]
+    <Argument name="t" type="_12891" location="f217:86" file="f217" line="86"/>
+    <Argument name="y" type="_12892" location="f217:86" file="f217" line="86"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10267" name="+" returns="_8349" context="_3888" mangled="_ZN5boost10local_timeplERKNS0_20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEERKNS4_14years_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::local_time::operator+(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > const&, boost::date_time::years_duration< [...]
+    <Argument name="t" type="_12656" location="f217:76" file="f217" line="76"/>
+    <Argument name="y" type="_12892" location="f217:76" file="f217" line="76"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10268" name="-=" returns="_8349" context="_3888" mangled="_ZN5boost10local_timemIERNS0_20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEERKNS4_15months_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::local_time::operator-=(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >&, boost::date_time::months_duration<boo [...]
+    <Argument name="t" type="_12891" location="f217:63" file="f217" line="63"/>
+    <Argument name="m" type="_12893" location="f217:63" file="f217" line="63"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10269" name="-" returns="_8349" context="_3888" mangled="_ZN5boost10local_timemiERKNS0_20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEERKNS4_15months_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::local_time::operator-(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > const&, boost::date_time::months_duration&l [...]
+    <Argument name="t" type="_12656" location="f217:52" file="f217" line="52"/>
+    <Argument name="m" type="_12893" location="f217:52" file="f217" line="52"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10270" name="+=" returns="_8349" context="_3888" mangled="_ZN5boost10local_timepLERNS0_20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEERKNS4_15months_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::local_time::operator+=(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >&, boost::date_time::months_duration<boo [...]
+    <Argument name="t" type="_12891" location="f217:42" file="f217" line="42"/>
+    <Argument name="m" type="_12893" location="f217:42" file="f217" line="42"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10271" name="+" returns="_8349" context="_3888" mangled="_ZN5boost10local_timeplERKNS0_20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEERKNS4_15months_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::local_time::operator+(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > const&, boost::date_time::months_duration&l [...]
+    <Argument name="t" type="_12656" location="f217:32" file="f217" line="32"/>
+    <Argument name="m" type="_12893" location="f217:32" file="f217" line="32"/>
+  </OperatorFunction>
+  <Struct id="_10272" name="dst_not_valid" context="_3888" mangled="N5boost10local_time13dst_not_validE" demangled="boost::local_time::dst_not_valid" location="f10:37" file="f10" line="37" artificial="1" size="64" align="32" members="_12894 _12895 _12896 " bases="_2048 ">
+    <Base type="_2048" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10273" name="time_label_invalid" context="_3888" mangled="N5boost10local_time18time_label_invalidE" demangled="boost::local_time::time_label_invalid" location="f10:32" file="f10" line="32" artificial="1" size="64" align="32" members="_12897 _12898 _12899 " bases="_2048 ">
+    <Base type="_2048" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10274" name="ambiguous_result" context="_3888" mangled="N5boost10local_time16ambiguous_resultE" demangled="boost::local_time::ambiguous_result" location="f10:26" file="f10" line="26" artificial="1" size="64" align="32" members="_12900 _12901 _12902 " bases="_2048 ">
+    <Base type="_2048" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Function id="_10275" name="ptime_from_tm" returns="_10341" context="_3889" mangled="_ZN5boost10posix_time13ptime_from_tmERK2tm" demangled="boost::posix_time::ptime_from_tm(tm const&)" location="f218:61" file="f218" line="61" endline="64" inline="1">
+    <Argument name="timetm" type="_8243" location="f218:61" file="f218" line="61"/>
+  </Function>
+  <Function id="_10276" name="to_tm" returns="_1011" context="_3889" mangled="_ZN5boost10posix_time5to_tmERKNS0_13time_durationE" demangled="boost::posix_time::to_tm(boost::posix_time::time_duration const&)" location="f218:44" file="f218" line="44" endline="57" inline="1">
+    <Argument name="td" type="_8886" location="f218:44" file="f218" line="44"/>
+  </Function>
+  <Function id="_10277" name="to_tm" returns="_1011" context="_3889" mangled="_ZN5boost10posix_time5to_tmERKNS0_5ptimeE" demangled="boost::posix_time::to_tm(boost::posix_time::ptime const&)" location="f218:33" file="f218" line="33" endline="41" inline="1">
+    <Argument name="t" type="_8885" location="f218:33" file="f218" line="33"/>
+  </Function>
+  <Function id="_10278" name="from_time_t" returns="_10341" context="_3889" mangled="_ZN5boost10posix_time11from_time_tEl" demangled="boost::posix_time::from_time_t(long)" location="f218:26" file="f218" line="26" endline="29" inline="1">
+    <Argument name="t" type="_1585" location="f218:26" file="f218" line="26"/>
+  </Function>
+  <Function id="_10279" name="from_iso_string" returns="_10341" context="_3889" mangled="_ZN5boost10posix_time15from_iso_stringERKSs" demangled="boost::posix_time::from_iso_string(std::string const&)" location="f219:34" file="f219" line="34" endline="36" inline="1">
+    <Argument name="s" type="_4020" location="f219:34" file="f219" line="34"/>
+  </Function>
+  <Function id="_10280" name="time_from_string" returns="_10341" context="_3889" mangled="_ZN5boost10posix_time16time_from_stringERKSs" demangled="boost::posix_time::time_from_string(std::string const&)" location="f219:30" file="f219" line="30" endline="32" inline="1">
+    <Argument name="s" type="_4020" location="f219:30" file="f219" line="30"/>
+  </Function>
+  <Function id="_10281" name="duration_from_string" returns="_10347" context="_3889" mangled="_ZN5boost10posix_time20duration_from_stringERKSs" demangled="boost::posix_time::duration_from_string(std::string const&)" location="f219:26" file="f219" line="26" endline="28" inline="1">
+    <Argument name="s" type="_4020" location="f219:26" file="f219" line="26"/>
+  </Function>
+  <Typedef id="_10282" name="time_input_facet" type="_10213" context="_3889" location="f220:39" file="f220" line="39"/>
+  <Typedef id="_10283" name="wtime_input_facet" type="_10215" context="_3889" location="f220:38" file="f220" line="38"/>
+  <Class id="_10284" name="time_facet<boost::posix_time::ptime,char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_3904" incomplete="1" mangled="N5boost9date_time10time_facetINS_10posix_time5ptimeEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE" demangled="boost::date_time::time_facet<boost::posix_time::ptime, char, std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f210:160" file="f210" line="160" artificial="1" [...]
+  <Typedef id="_10285" name="time_facet" type="_10284" context="_3889" location="f220:36" file="f220" line="36"/>
+  <Class id="_10286" name="time_facet<boost::posix_time::ptime,wchar_t,std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_3904" incomplete="1" mangled="N5boost9date_time10time_facetINS_10posix_time5ptimeEwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE" demangled="boost::date_time::time_facet<boost::posix_time::ptime, wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f210:160" file="f210" line="1 [...]
+  <Typedef id="_10287" name="wtime_facet" type="_10286" context="_3889" location="f220:35" file="f220" line="35"/>
+  <Function id="_10288" name="to_iso_extended_wstring" returns="_2507" context="_3889" mangled="_ZN5boost10posix_time23to_iso_extended_wstringENS0_5ptimeE" demangled="boost::posix_time::to_iso_extended_wstring(boost::posix_time::ptime)" location="f221:278" file="f221" line="278" endline="280" inline="1">
+    <Argument name="t" type="_10341" location="f221:278" file="f221" line="278"/>
+  </Function>
+  <Function id="_10289" name="to_iso_wstring" returns="_2507" context="_3889" mangled="_ZN5boost10posix_time14to_iso_wstringENS0_5ptimeE" demangled="boost::posix_time::to_iso_wstring(boost::posix_time::ptime)" location="f221:272" file="f221" line="272" endline="274" inline="1">
+    <Argument name="t" type="_10341" location="f221:272" file="f221" line="272"/>
+  </Function>
+  <Function id="_10290" name="to_simple_wstring" returns="_2507" context="_3889" mangled="_ZN5boost10posix_time17to_simple_wstringENS_9date_time6periodINS0_5ptimeENS0_13time_durationEEE" demangled="boost::posix_time::to_simple_wstring(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>)" location="f221:266" file="f221" line="266" endline="268" inline="1">
+    <Argument name="tp" type="_10323" location="f221:266" file="f221" line="266"/>
+  </Function>
+  <Function id="_10291" name="to_simple_wstring" returns="_2507" context="_3889" mangled="_ZN5boost10posix_time17to_simple_wstringENS0_5ptimeE" demangled="boost::posix_time::to_simple_wstring(boost::posix_time::ptime)" location="f221:260" file="f221" line="260" endline="262" inline="1">
+    <Argument name="t" type="_10341" location="f221:260" file="f221" line="260"/>
+  </Function>
+  <Function id="_10292" name="to_iso_wstring" returns="_2507" context="_3889" mangled="_ZN5boost10posix_time14to_iso_wstringENS0_13time_durationE" demangled="boost::posix_time::to_iso_wstring(boost::posix_time::time_duration)" location="f221:257" file="f221" line="257" endline="259" inline="1">
+    <Argument name="td" type="_10347" location="f221:257" file="f221" line="257"/>
+  </Function>
+  <Function id="_10293" name="to_simple_wstring" returns="_2507" context="_3889" mangled="_ZN5boost10posix_time17to_simple_wstringENS0_13time_durationE" demangled="boost::posix_time::to_simple_wstring(boost::posix_time::time_duration)" location="f221:251" file="f221" line="251" endline="253" inline="1">
+    <Argument name="td" type="_10347" location="f221:251" file="f221" line="251"/>
+  </Function>
+  <Function id="_10294" name="to_iso_extended_string" returns="_2509" context="_3889" mangled="_ZN5boost10posix_time22to_iso_extended_stringENS0_5ptimeE" demangled="boost::posix_time::to_iso_extended_string(boost::posix_time::ptime)" location="f221:243" file="f221" line="243" endline="245" inline="1">
+    <Argument name="t" type="_10341" location="f221:243" file="f221" line="243"/>
+  </Function>
+  <Function id="_10295" name="to_iso_extended_string_type" returns="_2506" context="_3889" mangled="_ZN5boost10posix_time27to_iso_extended_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EENS0_5ptimeE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::posix_time::to_iso_extended_string_type<wchar_t>(boost::posix_time::ptime)" location="f221:230" file="f221" line="230" endline="237" inline="1">
+    <Argument name="t" type="_10341" location="f221:230" file="f221" line="230"/>
+  </Function>
+  <Function id="_10296" name="to_iso_extended_string_type" returns="_2508" context="_3889" mangled="_ZN5boost10posix_time27to_iso_extended_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EENS0_5ptimeE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::posix_time::to_iso_extended_string_type<char>(boost::posix_time::ptime)" location="f221:230" file="f221" line="230" endline="237" inline="1">
+    <Argument name="t" type="_10341" location="f221:230" file="f221" line="230"/>
+  </Function>
+  <Function id="_10297" name="to_iso_string" returns="_2509" context="_3889" mangled="_ZN5boost10posix_time13to_iso_stringENS0_5ptimeE" demangled="boost::posix_time::to_iso_string(boost::posix_time::ptime)" location="f221:221" file="f221" line="221" endline="223" inline="1">
+    <Argument name="t" type="_10341" location="f221:221" file="f221" line="221"/>
+  </Function>
+  <Function id="_10298" name="to_iso_string_type" returns="_2506" context="_3889" mangled="_ZN5boost10posix_time18to_iso_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EENS0_5ptimeE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::posix_time::to_iso_string_type<wchar_t>(boost::posix_time::ptime)" location="f221:208" file="f221" line="208" endline="215" inline="1">
+    <Argument name="t" type="_10341" location="f221:208" file="f221" line="208"/>
+  </Function>
+  <Function id="_10299" name="to_iso_string_type" returns="_2508" context="_3889" mangled="_ZN5boost10posix_time18to_iso_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EENS0_5ptimeE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::posix_time::to_iso_string_type<char>(boost::posix_time::ptime)" location="f221:208" file="f221" line="208" endline="215" inline="1">
+    <Argument name="t" type="_10341" location="f221:208" file="f221" line="208"/>
+  </Function>
+  <Function id="_10300" name="to_simple_string" returns="_2509" context="_3889" mangled="_ZN5boost10posix_time16to_simple_stringENS_9date_time6periodINS0_5ptimeENS0_13time_durationEEE" demangled="boost::posix_time::to_simple_string(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>)" location="f221:200" file="f221" line="200" endline="202" inline="1">
+    <Argument name="tp" type="_10323" location="f221:200" file="f221" line="200"/>
+  </Function>
+  <Function id="_10301" name="to_simple_string_type" returns="_2506" context="_3889" mangled="_ZN5boost10posix_time21to_simple_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EENS_9date_time6periodINS0_5ptimeENS0_13time_durationEEE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::posix_time::to_simple_string_type<wchar_t>(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>)" loc [...]
+    <Argument name="tp" type="_10322" location="f221:191" file="f221" line="191"/>
+  </Function>
+  <Function id="_10302" name="to_simple_string_type" returns="_2508" context="_3889" mangled="_ZN5boost10posix_time21to_simple_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EENS_9date_time6periodINS0_5ptimeENS0_13time_durationEEE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::posix_time::to_simple_string_type<char>(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>)" location="f221: [...]
+    <Argument name="tp" type="_10322" location="f221:191" file="f221" line="191"/>
+  </Function>
+  <Function id="_10303" name="to_simple_string" returns="_2509" context="_3889" mangled="_ZN5boost10posix_time16to_simple_stringENS0_5ptimeE" demangled="boost::posix_time::to_simple_string(boost::posix_time::ptime)" location="f221:183" file="f221" line="183" endline="185" inline="1">
+    <Argument name="t" type="_10341" location="f221:183" file="f221" line="183"/>
+  </Function>
+  <Function id="_10304" name="to_simple_string_type" returns="_2506" context="_3889" mangled="_ZN5boost10posix_time21to_simple_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EENS0_5ptimeE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::posix_time::to_simple_string_type<wchar_t>(boost::posix_time::ptime)" location="f221:172" file="f221" line="172" endline="180" inline="1">
+    <Argument name="t" type="_10341" location="f221:172" file="f221" line="172"/>
+  </Function>
+  <Function id="_10305" name="to_simple_string_type" returns="_2508" context="_3889" mangled="_ZN5boost10posix_time21to_simple_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EENS0_5ptimeE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::posix_time::to_simple_string_type<char>(boost::posix_time::ptime)" location="f221:172" file="f221" line="172" endline="180" inline="1">
+    <Argument name="t" type="_10341" location="f221:172" file="f221" line="172"/>
+  </Function>
+  <Function id="_10306" name="to_iso_string" returns="_2509" context="_3889" mangled="_ZN5boost10posix_time13to_iso_stringENS0_13time_durationE" demangled="boost::posix_time::to_iso_string(boost::posix_time::time_duration)" location="f221:163" file="f221" line="163" endline="165" inline="1">
+    <Argument name="td" type="_10347" location="f221:163" file="f221" line="163"/>
+  </Function>
+  <Function id="_10307" name="to_iso_string_type" returns="_2506" context="_3889" mangled="_ZN5boost10posix_time18to_iso_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EENS0_13time_durationE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::posix_time::to_iso_string_type<wchar_t>(boost::posix_time::time_duration)" location="f221:103" file="f221" line="103" endline="158" inline="1">
+    <Argument name="td" type="_10347" location="f221:103" file="f221" line="103"/>
+  </Function>
+  <Function id="_10308" name="to_iso_string_type" returns="_2508" context="_3889" mangled="_ZN5boost10posix_time18to_iso_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EENS0_13time_durationE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::posix_time::to_iso_string_type<char>(boost::posix_time::time_duration)" location="f221:103" file="f221" line="103" endline="158" inline="1">
+    <Argument name="td" type="_10347" location="f221:103" file="f221" line="103"/>
+  </Function>
+  <Function id="_10309" name="to_simple_string" returns="_2509" context="_3889" mangled="_ZN5boost10posix_time16to_simple_stringENS0_13time_durationE" demangled="boost::posix_time::to_simple_string(boost::posix_time::time_duration)" location="f221:94" file="f221" line="94" endline="96" inline="1">
+    <Argument name="td" type="_10347" location="f221:94" file="f221" line="94"/>
+  </Function>
+  <Function id="_10310" name="to_simple_string_type" returns="_2506" context="_3889" mangled="_ZN5boost10posix_time21to_simple_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EENS0_13time_durationE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::posix_time::to_simple_string_type<wchar_t>(boost::posix_time::time_duration)" location="f221:33" file="f221" line="33" endline="89" inline="1">
+    <Argument name="td" type="_10347" location="f221:33" file="f221" line="33"/>
+  </Function>
+  <Function id="_10311" name="to_simple_string_type" returns="_2508" context="_3889" mangled="_ZN5boost10posix_time21to_simple_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EENS0_13time_durationE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::posix_time::to_simple_string_type<char>(boost::posix_time::time_duration)" location="f221:33" file="f221" line="33" endline="89" inline="1">
+    <Argument name="td" type="_10347" location="f221:33" file="f221" line="33"/>
+  </Function>
+  <Class id="_10312" name="us_dst_rules<boost::gregorian::date,boost::posix_time::time_duration,120,60>" context="_3904" mangled="N5boost9date_time12us_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationELj120ELs60EEE" demangled="boost::date_time::us_dst_rules<boost::gregorian::date, boost::posix_time::time_duration, 120, 60>" location="f222:275" file="f222" line="275" artificial="1" size="8" align="8" members="_12903 _12904 _12905 _12906 _12907 _12908 _12909 _12910 _ [...]
+  <Typedef id="_10313" name="us_dst" type="_10312" context="_3889" location="f223:46" file="f223" line="46"/>
+  <Class id="_10314" name="null_dst_rules<boost::gregorian::date,boost::posix_time::time_duration>" context="_3904" mangled="N5boost9date_time14null_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationEEE" demangled="boost::date_time::null_dst_rules<boost::gregorian::date, boost::posix_time::time_duration>" location="f222:352" file="f222" line="352" artificial="1" size="8" align="8" members="_12918 _12919 _12920 _12921 _12922 _12923 _12924 _12925 " bases=""/>
+  <Typedef id="_10315" name="no_dst" type="_10314" context="_3889" location="f223:44" file="f223" line="44"/>
+  <Class id="_10316" name="microsec_clock<boost::posix_time::ptime>" context="_3904" mangled="N5boost9date_time14microsec_clockINS_10posix_time5ptimeEEE" demangled="boost::date_time::microsec_clock<boost::posix_time::ptime>" location="f197:42" file="f197" line="42" artificial="1" size="8" align="8" members="_12926 _12927 _12928 _9062 _12929 _12930 _12931 _12932 _12933 " bases=""/>
+  <Typedef id="_10317" name="microsec_clock" type="_10316" context="_3889" location="f223:40" file="f223" line="40"/>
+  <Class id="_10318" name="second_clock<boost::posix_time::ptime>" context="_3904" mangled="N5boost9date_time12second_clockINS_10posix_time5ptimeEEE" demangled="boost::date_time::second_clock<boost::posix_time::ptime>" location="f214:28" file="f214" line="28" artificial="1" size="8" align="8" members="_12934 _12935 _12936 _12937 _12938 _12939 _12940 " bases=""/>
+  <Typedef id="_10319" name="second_clock" type="_10318" context="_3889" location="f223:34" file="f223" line="34"/>
+  <Class id="_10320" name="time_itr<boost::posix_time::ptime>" context="_3904" incomplete="1" mangled="N5boost9date_time8time_itrINS_10posix_time5ptimeEEE" demangled="boost::date_time::time_itr<boost::posix_time::ptime>" location="f215:19" file="f215" line="19" artificial="1" align="8"/>
+  <Typedef id="_10321" name="time_iterator" type="_10320" context="_3889" location="f223:30" file="f223" line="30"/>
+  <Class id="_10322" name="period<boost::posix_time::ptime,boost::posix_time::time_duration>" context="_3904" mangled="N5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEE" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>" location="f206:55" file="f206" line="55" artificial="1" size="160" align="32" members="_12941 _12942 _12943 _12944 _12945 _12946 _12947 _12948 _12949 _12950 _12951 _12952 _12953 _12954 _12955 _ [...]
+    <Base type="_3847" access="private" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10323" name="time_period" type="_10322" context="_3889" location="f224:22" file="f224" line="22"/>
+  <Class id="_10324" name="subsecond_duration<boost::posix_time::time_duration,1000000>" context="_3904" mangled="N5boost9date_time18subsecond_durationINS_10posix_time13time_durationELx1000000EEE" demangled="boost::date_time::subsecond_duration<boost::posix_time::time_duration, (long long)1000000>" location="f205:265" file="f205" line="265" artificial="1" size="64" align="32" members="_12966 _12967 _12968 " bases="_10347 ">
+    <Base type="_10347" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10325" name="microseconds" type="_10324" context="_3889" location="f225:61" file="f225" line="61"/>
+  <Typedef id="_10326" name="microsec" type="_10324" context="_3889" location="f225:60" file="f225" line="60"/>
+  <Class id="_10327" name="subsecond_duration<boost::posix_time::time_duration,1000>" context="_3904" mangled="N5boost9date_time18subsecond_durationINS_10posix_time13time_durationELx1000EEE" demangled="boost::date_time::subsecond_duration<boost::posix_time::time_duration, (long long)1000>" location="f205:265" file="f205" line="265" artificial="1" size="64" align="32" members="_12969 _12970 _12971 " bases="_10347 ">
+    <Base type="_10347" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10328" name="milliseconds" type="_10327" context="_3889" location="f225:55" file="f225" line="55"/>
+  <Typedef id="_10329" name="millisec" type="_10327" context="_3889" location="f225:54" file="f225" line="54"/>
+  <Class id="_10330" name="seconds" context="_3889" mangled="N5boost10posix_time7secondsE" demangled="boost::posix_time::seconds" location="f225:43" file="f225" line="43" artificial="1" size="64" align="32" members="_12972 _12973 " bases="_10347 ">
+    <Base type="_10347" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_10331" name="minutes" context="_3889" mangled="N5boost10posix_time7minutesE" demangled="boost::posix_time::minutes" location="f225:32" file="f225" line="32" artificial="1" size="64" align="32" members="_12974 _12975 " bases="_10347 ">
+    <Base type="_10347" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_10332" name="hours" context="_3889" mangled="N5boost10posix_time5hoursE" demangled="boost::posix_time::hours" location="f225:21" file="f225" line="21" artificial="1" size="64" align="32" members="_12976 _12977 " bases="_10347 ">
+    <Base type="_10347" access="public" virtual="0" offset="0"/>
+  </Class>
+  <OperatorFunction id="_10333" name="-=" returns="_10341" context="_3889" mangled="_ZN5boost10posix_timemIERNS0_5ptimeERKNS_9date_time14years_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::posix_time::operator-=(boost::posix_time::ptime&, boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f226:107" file="f226" line="107" endline="110" inline="1">
+    <Argument name="t" type="_12978" location="f226:107" file="f226" line="107"/>
+    <Argument name="y" type="_12892" location="f226:107" file="f226" line="107"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10334" name="-" returns="_10341" context="_3889" mangled="_ZN5boost10posix_timemiERKNS0_5ptimeERKNS_9date_time14years_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::posix_time::operator-(boost::posix_time::ptime const&, boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f226:96" file="f226" line="96" endline="99" inline="1">
+    <Argument name="t" type="_8885" location="f226:96" file="f226" line="96"/>
+    <Argument name="y" type="_12892" location="f226:96" file="f226" line="96"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10335" name="+=" returns="_10341" context="_3889" mangled="_ZN5boost10posix_timepLERNS0_5ptimeERKNS_9date_time14years_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::posix_time::operator+=(boost::posix_time::ptime&, boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f226:86" file="f226" line="86" endline="88" inline="1">
+    <Argument name="t" type="_12978" location="f226:86" file="f226" line="86"/>
+    <Argument name="y" type="_12892" location="f226:86" file="f226" line="86"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10336" name="+" returns="_10341" context="_3889" mangled="_ZN5boost10posix_timeplERKNS0_5ptimeERKNS_9date_time14years_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::posix_time::operator+(boost::posix_time::ptime const&, boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f226:76" file="f226" line="76" endline="78" inline="1">
+    <Argument name="t" type="_8885" location="f226:76" file="f226" line="76"/>
+    <Argument name="y" type="_12892" location="f226:76" file="f226" line="76"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10337" name="-=" returns="_10341" context="_3889" mangled="_ZN5boost10posix_timemIERNS0_5ptimeERKNS_9date_time15months_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::posix_time::operator-=(boost::posix_time::ptime&, boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f226:64" file="f226" line="64" endline="66" inline="1">
+    <Argument name="t" type="_12978" location="f226:64" file="f226" line="64"/>
+    <Argument name="m" type="_12893" location="f226:64" file="f226" line="64"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10338" name="-" returns="_10341" context="_3889" mangled="_ZN5boost10posix_timemiERKNS0_5ptimeERKNS_9date_time15months_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::posix_time::operator-(boost::posix_time::ptime const&, boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f226:53" file="f226" line="53" endline="56" inline="1">
+    <Argument name="t" type="_8885" location="f226:53" file="f226" line="53"/>
+    <Argument name="m" type="_12893" location="f226:53" file="f226" line="53"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10339" name="+=" returns="_10341" context="_3889" mangled="_ZN5boost10posix_timepLERNS0_5ptimeERKNS_9date_time15months_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::posix_time::operator+=(boost::posix_time::ptime&, boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f226:42" file="f226" line="42" endline="45" inline="1">
+    <Argument name="t" type="_12978" location="f226:42" file="f226" line="42"/>
+    <Argument name="m" type="_12893" location="f226:42" file="f226" line="42"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10340" name="+" returns="_10341" context="_3889" mangled="_ZN5boost10posix_timeplERKNS0_5ptimeERKNS_9date_time15months_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::posix_time::operator+(boost::posix_time::ptime const&, boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f226:32" file="f226" line="32" endline="34" inline="1">
+    <Argument name="t" type="_8885" location="f226:32" file="f226" line="32"/>
+    <Argument name="m" type="_12893" location="f226:32" file="f226" line="32"/>
+  </OperatorFunction>
+  <Class id="_10341" name="ptime" context="_3889" mangled="N5boost10posix_time5ptimeE" demangled="boost::posix_time::ptime" location="f227:32" file="f227" line="32" artificial="1" size="64" align="32" members="_12979 _12980 _12981 _12982 _12983 _12984 _12985 _12986 _12987 " bases="_11199 ">
+    <Base type="_11199" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_10342" name="counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >" context="_3904" mangled="N5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEEE" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >" location="f228:121" file="f228" line="121" a [...]
+  <Typedef id="_10343" name="posix_time_system" type="_10342" context="_3889" location="f229:33" file="f229" line="33"/>
+  <Struct id="_10344" name="counted_time_rep<boost::posix_time::millisec_posix_time_system_config>" context="_3904" mangled="N5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEE" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>" location="f228:24" file="f228" line="24" artificial="1" size="64" align="32" members="_13008 _13009 _13010 _13011 _13012 _13013 _13014 _13015 _13016 _13017 _13018  [...]
+  <Typedef id="_10345" name="int64_time_rep" type="_10344" context="_3889" location="f229:32" file="f229" line="32"/>
+  <Class id="_10346" name="millisec_posix_time_system_config" context="_3889" mangled="N5boost10posix_time33millisec_posix_time_system_configE" demangled="boost::posix_time::millisec_posix_time_system_config" location="f230:155" file="f230" line="155" artificial="1" size="8" align="8" members="_13031 _13032 _13033 _13034 _13035 _13036 _13037 _13038 _13039 " bases=""/>
+  <Class id="_10347" name="time_duration" context="_3889" mangled="N5boost10posix_time13time_durationE" demangled="boost::posix_time::time_duration" location="f230:59" file="f230" line="59" artificial="1" size="64" align="32" members="_13040 _13041 _13042 _13043 _13044 _13045 _13046 _13047 _13048 _13049 _13050 _13051 _13052 " bases="_11211 ">
+    <Base type="_11211" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_10348" name="time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl,micro,1000000,6,int>" context="_3904" mangled="N5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEE" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>" location="f231:71"  [...]
+  <Typedef id="_10349" name="time_res_traits" type="_10348" context="_3889" location="f230:42" file="f230" line="42"/>
+  <Struct id="_10350" name="get_iterator_category<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3890" mangled="N5boost16tokenizer_detail21get_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::tokenizer_detail::get_iterator_category<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, s [...]
+  <Struct id="_10351" name="get_iterator_category<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3890" mangled="N5boost16tokenizer_detail21get_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::tokenizer_detail::get_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f15:278" file="f15" line="278" artificia [...]
+  <Struct id="_10352" name="class_iterator_category<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3890" mangled="N5boost16tokenizer_detail23class_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wcha [...]
+  <Struct id="_10353" name="class_iterator_category<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3890" mangled="N5boost16tokenizer_detail23class_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f15:270" file="f15" line="270" art [...]
+  <Struct id="_10354" name="pointer_iterator_category<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3890" incomplete="1" mangled="N5boost16tokenizer_detail25pointer_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<wchar_t const*, std: [...]
+  <Struct id="_10355" name="pointer_iterator_category<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3890" incomplete="1" mangled="N5boost16tokenizer_detail25pointer_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f15:264" file [...]
+  <Struct id="_10356" name="assign_or_plus_equal<std::random_access_iterator_tag>" context="_3890" mangled="N5boost16tokenizer_detail20assign_or_plus_equalISt26random_access_iterator_tagEE" demangled="boost::tokenizer_detail::assign_or_plus_equal<std::random_access_iterator_tag>" location="f15:211" file="f15" line="211" artificial="1" size="8" align="8" members="_13083 _13084 " bases=""/>
+  <Struct id="_10357" name="assign_or_plus_equal<std::input_iterator_tag>" context="_3890" mangled="N5boost16tokenizer_detail20assign_or_plus_equalISt18input_iterator_tagEE" demangled="boost::tokenizer_detail::assign_or_plus_equal<std::input_iterator_tag>" location="f15:247" file="f15" line="247" artificial="1" size="8" align="8" members="_13085 _13086 " bases=""/>
+  <Class id="_10358" name="ios_all_word_saver" context="_3891" mangled="N5boost2io18ios_all_word_saverE" demangled="boost::io::ios_all_word_saver" location="f232:387" file="f232" line="387" artificial="1" size="128" align="32" members="_13087 _13088 _13089 _13090 _13091 _13092 _13093 _13094 _13095 _13096 " bases=""/>
+  <Class id="_10359" name="ios_pword_saver" context="_3891" mangled="N5boost2io15ios_pword_saverE" demangled="boost::io::ios_pword_saver" location="f232:283" file="f232" line="283" artificial="1" size="96" align="32" members="_13097 _13098 _13099 _13100 _13101 _13102 _13103 _13104 _13105 _13106 _13107 " bases=""/>
+  <Class id="_10360" name="ios_iword_saver" context="_3891" mangled="N5boost2io15ios_iword_saverE" demangled="boost::io::ios_iword_saver" location="f232:258" file="f232" line="258" artificial="1" size="96" align="32" members="_13108 _13109 _13110 _13111 _13112 _13113 _13114 _13115 _13116 _13117 _13118 " bases=""/>
+  <Struct id="_10361" name="basic_ios_all_saver<wchar_t,std::char_traits<wchar_t> >" context="_3891" incomplete="1" mangled="N5boost2io19basic_ios_all_saverIwSt11char_traitsIwEEE" demangled="boost::io::basic_ios_all_saver<wchar_t, std::char_traits<wchar_t> >" location="f233:41" file="f233" line="41" artificial="1" align="8"/>
+  <Typedef id="_10362" name="wios_all_saver" type="_10361" context="_3891" location="f233:56" file="f233" line="56"/>
+  <Struct id="_10363" name="basic_ios_all_saver<char,std::char_traits<char> >" context="_3891" incomplete="1" mangled="N5boost2io19basic_ios_all_saverIcSt11char_traitsIcEEE" demangled="boost::io::basic_ios_all_saver<char, std::char_traits<char> >" location="f233:41" file="f233" line="41" artificial="1" align="8"/>
+  <Typedef id="_10364" name="ios_all_saver" type="_10363" context="_3891" location="f233:55" file="f233" line="55"/>
+  <Struct id="_10365" name="basic_ios_locale_saver<wchar_t,std::char_traits<wchar_t> >" context="_3891" incomplete="1" mangled="N5boost2io22basic_ios_locale_saverIwSt11char_traitsIwEEE" demangled="boost::io::basic_ios_locale_saver<wchar_t, std::char_traits<wchar_t> >" location="f233:39" file="f233" line="39" artificial="1" align="8"/>
+  <Typedef id="_10366" name="wios_locale_saver" type="_10365" context="_3891" location="f233:54" file="f233" line="54"/>
+  <Struct id="_10367" name="basic_ios_locale_saver<char,std::char_traits<char> >" context="_3891" incomplete="1" mangled="N5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEEE" demangled="boost::io::basic_ios_locale_saver<char, std::char_traits<char> >" location="f233:39" file="f233" line="39" artificial="1" align="8"/>
+  <Typedef id="_10368" name="ios_locale_saver" type="_10367" context="_3891" location="f233:53" file="f233" line="53"/>
+  <Struct id="_10369" name="basic_ios_fill_saver<wchar_t,std::char_traits<wchar_t> >" context="_3891" incomplete="1" mangled="N5boost2io20basic_ios_fill_saverIwSt11char_traitsIwEEE" demangled="boost::io::basic_ios_fill_saver<wchar_t, std::char_traits<wchar_t> >" location="f233:37" file="f233" line="37" artificial="1" align="8"/>
+  <Typedef id="_10370" name="wios_fill_saver" type="_10369" context="_3891" location="f233:52" file="f233" line="52"/>
+  <Struct id="_10371" name="basic_ios_fill_saver<char,std::char_traits<char> >" context="_3891" incomplete="1" mangled="N5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEEE" demangled="boost::io::basic_ios_fill_saver<char, std::char_traits<char> >" location="f233:37" file="f233" line="37" artificial="1" align="8"/>
+  <Typedef id="_10372" name="ios_fill_saver" type="_10371" context="_3891" location="f233:51" file="f233" line="51"/>
+  <Struct id="_10373" name="basic_ios_rdbuf_saver<wchar_t,std::char_traits<wchar_t> >" context="_3891" incomplete="1" mangled="N5boost2io21basic_ios_rdbuf_saverIwSt11char_traitsIwEEE" demangled="boost::io::basic_ios_rdbuf_saver<wchar_t, std::char_traits<wchar_t> >" location="f233:35" file="f233" line="35" artificial="1" align="8"/>
+  <Typedef id="_10374" name="wios_rdbuf_saver" type="_10373" context="_3891" location="f233:50" file="f233" line="50"/>
+  <Struct id="_10375" name="basic_ios_rdbuf_saver<char,std::char_traits<char> >" context="_3891" incomplete="1" mangled="N5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEEE" demangled="boost::io::basic_ios_rdbuf_saver<char, std::char_traits<char> >" location="f233:35" file="f233" line="35" artificial="1" align="8"/>
+  <Typedef id="_10376" name="ios_rdbuf_saver" type="_10375" context="_3891" location="f233:49" file="f233" line="49"/>
+  <Struct id="_10377" name="basic_ios_tie_saver<wchar_t,std::char_traits<wchar_t> >" context="_3891" incomplete="1" mangled="N5boost2io19basic_ios_tie_saverIwSt11char_traitsIwEEE" demangled="boost::io::basic_ios_tie_saver<wchar_t, std::char_traits<wchar_t> >" location="f233:33" file="f233" line="33" artificial="1" align="8"/>
+  <Typedef id="_10378" name="wios_tie_saver" type="_10377" context="_3891" location="f233:48" file="f233" line="48"/>
+  <Struct id="_10379" name="basic_ios_tie_saver<char,std::char_traits<char> >" context="_3891" incomplete="1" mangled="N5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEEE" demangled="boost::io::basic_ios_tie_saver<char, std::char_traits<char> >" location="f233:33" file="f233" line="33" artificial="1" align="8"/>
+  <Typedef id="_10380" name="ios_tie_saver" type="_10379" context="_3891" location="f233:47" file="f233" line="47"/>
+  <Struct id="_10381" name="basic_ios_exception_saver<wchar_t,std::char_traits<wchar_t> >" context="_3891" incomplete="1" mangled="N5boost2io25basic_ios_exception_saverIwSt11char_traitsIwEEE" demangled="boost::io::basic_ios_exception_saver<wchar_t, std::char_traits<wchar_t> >" location="f233:31" file="f233" line="31" artificial="1" align="8"/>
+  <Typedef id="_10382" name="wios_exception_saver" type="_10381" context="_3891" location="f233:46" file="f233" line="46"/>
+  <Struct id="_10383" name="basic_ios_exception_saver<char,std::char_traits<char> >" context="_3891" incomplete="1" mangled="N5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEEE" demangled="boost::io::basic_ios_exception_saver<char, std::char_traits<char> >" location="f233:31" file="f233" line="31" artificial="1" align="8"/>
+  <Typedef id="_10384" name="ios_exception_saver" type="_10383" context="_3891" location="f233:45" file="f233" line="45"/>
+  <Struct id="_10385" name="basic_ios_iostate_saver<wchar_t,std::char_traits<wchar_t> >" context="_3891" incomplete="1" mangled="N5boost2io23basic_ios_iostate_saverIwSt11char_traitsIwEEE" demangled="boost::io::basic_ios_iostate_saver<wchar_t, std::char_traits<wchar_t> >" location="f233:29" file="f233" line="29" artificial="1" align="8"/>
+  <Typedef id="_10386" name="wios_iostate_saver" type="_10385" context="_3891" location="f233:44" file="f233" line="44"/>
+  <Struct id="_10387" name="basic_ios_iostate_saver<char,std::char_traits<char> >" context="_3891" incomplete="1" mangled="N5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEE" demangled="boost::io::basic_ios_iostate_saver<char, std::char_traits<char> >" location="f233:29" file="f233" line="29" artificial="1" align="8"/>
+  <Typedef id="_10388" name="ios_iostate_saver" type="_10387" context="_3891" location="f233:43" file="f233" line="43"/>
+  <Class id="_10389" name="ios_base_all_saver" context="_3891" mangled="N5boost2io18ios_base_all_saverE" demangled="boost::io::ios_base_all_saver" location="f232:311" file="f232" line="311" artificial="1" size="128" align="32" members="_13119 _13120 _13121 _13122 _13123 _13124 _13125 _13126 _13127 " bases=""/>
+  <Class id="_10390" name="ios_width_saver" context="_3891" mangled="N5boost2io15ios_width_saverE" demangled="boost::io::ios_width_saver" location="f232:79" file="f232" line="79" artificial="1" size="64" align="32" members="_13128 _13129 _13130 _13131 _13132 _13133 _13134 _13135 _13136 " bases=""/>
+  <Class id="_10391" name="ios_precision_saver" context="_3891" mangled="N5boost2io19ios_precision_saverE" demangled="boost::io::ios_precision_saver" location="f232:56" file="f232" line="56" artificial="1" size="64" align="32" members="_13137 _13138 _13139 _13140 _13141 _13142 _13143 _13144 _13145 " bases=""/>
+  <Class id="_10392" name="ios_flags_saver" context="_3891" mangled="N5boost2io15ios_flags_saverE" demangled="boost::io::ios_flags_saver" location="f232:33" file="f232" line="33" artificial="1" size="64" align="32" members="_13146 _13147 _13148 _13149 _13150 _13151 _13152 _13153 _13154 " bases=""/>
+  <Function id="_10393" name="replace_all" returns="_1194" context="_3893" mangled="_ZN5boost9algorithm11replace_allISsA3_cSsEEvRT_RKT0_RKT1_" demangled="void boost::algorithm::replace_all<std::string, char[3], std::string>(std::string&, char[3] const&, std::string const&)" location="f234:652" file="f234" line="652" endline="653" inline="1">
+    <Argument name="Input" type="_4946" location="f234:652" file="f234" line="652"/>
+    <Argument name="Search" type="_9794" location="f234:652" file="f234" line="652"/>
+    <Argument name="Format" type="_4948" location="f234:652" file="f234" line="652"/>
+  </Function>
+  <Function id="_10394" name="const_formatter" returns="_13155" context="_3893" mangled="_ZN5boost9algorithm15const_formatterISsEENS0_6detail13const_formatFIT_EERKS4_" demangled="boost::algorithm::detail::const_formatF<std::string> boost::algorithm::const_formatter<std::string>(std::string const&)" location="f235:46" file="f235" line="46" endline="47" inline="1">
+    <Argument name="Format" type="_4948" location="f235:46" file="f235" line="46"/>
+  </Function>
+  <Function id="_10395" name="tail_finder" returns="_13156" context="_3893" mangled="_ZN5boost9algorithm11tail_finderEi" demangled="boost::algorithm::tail_finder(int)" location="f236:193" file="f236" line="193" endline="195" inline="1">
+    <Argument name="N" type="_503" location="f236:193" file="f236" line="193"/>
+  </Function>
+  <Function id="_10396" name="head_finder" returns="_13157" context="_3893" mangled="_ZN5boost9algorithm11head_finderEi" demangled="boost::algorithm::head_finder(int)" location="f236:176" file="f236" line="176" endline="178" inline="1">
+    <Argument name="N" type="_503" location="f236:176" file="f236" line="176"/>
+  </Function>
+  <Function id="_10397" name="first_finder" returns="_13158" context="_3893" mangled="_ZN5boost9algorithm12first_finderIA3_cEENS0_6detail13first_finderFINS_20range_const_iteratorIT_E4typeENS0_8is_equalEEERKS6_" demangled="boost::algorithm::detail::first_finderF<boost::range_const_iterator<char[3]>::type, boost::algorithm::is_equal> boost::algorithm::first_finder<char[3]>(char[3] const&)" location="f236:53" file="f236" line="53" endline="54" inline="1">
+    <Argument name="Search" type="_9794" location="f236:53" file="f236" line="53"/>
+  </Function>
+  <Struct id="_10398" name="is_not_igreater" context="_3893" mangled="N5boost9algorithm15is_not_igreaterE" demangled="boost::algorithm::is_not_igreater" location="f237:158" file="f237" line="158" artificial="1" size="32" align="32" members="_13159 _13160 _13161 _13162 " bases=""/>
+  <Struct id="_10399" name="is_not_greater" context="_3893" mangled="N5boost9algorithm14is_not_greaterE" demangled="boost::algorithm::is_not_greater" location="f237:139" file="f237" line="139" artificial="1" size="8" align="8" members="_13163 _13164 " bases=""/>
+  <Struct id="_10400" name="is_iless" context="_3893" mangled="N5boost9algorithm8is_ilessE" demangled="boost::algorithm::is_iless" location="f237:105" file="f237" line="105" artificial="1" size="32" align="32" members="_13165 _13166 _13167 _13168 " bases=""/>
+  <Struct id="_10401" name="is_less" context="_3893" mangled="N5boost9algorithm7is_lessE" demangled="boost::algorithm::is_less" location="f237:86" file="f237" line="86" artificial="1" size="8" align="8" members="_13169 _13170 " bases=""/>
+  <Struct id="_10402" name="is_iequal" context="_3893" mangled="N5boost9algorithm9is_iequalE" demangled="boost::algorithm::is_iequal" location="f237:52" file="f237" line="52" artificial="1" size="32" align="32" members="_13171 _13172 _13173 _13174 " bases=""/>
+  <Struct id="_10403" name="is_equal" context="_3893" mangled="N5boost9algorithm8is_equalE" demangled="boost::algorithm::is_equal" location="f237:34" file="f237" line="34" artificial="1" size="8" align="8" members="_13175 _13176 " bases=""/>
+  <Enumeration id="_10404" name="token_compress_mode_type" context="_3893" location="f238:21" file="f238" line="21" artificial="1" size="32" align="32">
+    <EnumValue name="token_compress_on" init="0"/>
+    <EnumValue name="token_compress_off" init="1"/>
+  </Enumeration>
+  <Function id="_10405" name="find_format_all" returns="_1194" context="_3893" mangled="_ZN5boost9algorithm15find_format_allISsNS0_6detail13first_finderFIPKcNS0_8is_equalEEENS2_13const_formatFISsEEEEvRT_T0_T1_" demangled="void boost::algorithm::find_format_all<std::string, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, boost::algorithm::detail::const_formatF<std::string> >(std::string&, boost::algorithm::detail::first_finderF<ch [...]
+    <Argument name="Input" type="_4946" location="f239:234" file="f239" line="234"/>
+    <Argument name="Finder" type="_13158" location="f239:234" file="f239" line="234"/>
+    <Argument name="Formatter" type="_13155" location="f239:234" file="f239" line="234"/>
+  </Function>
+  <Class id="_10406" name="has_stable_iterators<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3893" mangled="N5boost9algorithm20has_stable_iteratorsISsEE" demangled="boost::algorithm::has_stable_iterators<std::string>" location="f0:115" file="f0" line="115" artificial="1" size="8" align="8" members="_13178 _13179 _13180 _13181 " bases=""/>
+  <Typedef id="_10407" name="no_type" type="_8394" context="_3893" location="f240:26" file="f240" line="26"/>
+  <Typedef id="_10408" name="yes_type" type="_8395" context="_3893" location="f240:25" file="f240" line="25"/>
+  <Struct id="_10409" name="size_descriptor<2>" context="_3893" mangled="N5boost9algorithm15size_descriptorILi2EEE" demangled="boost::algorithm::size_descriptor<2>" location="f240:21" file="f240" line="21" artificial="1" size="8" align="8" members="_13182 _13183 _13184 " bases=""/>
+  <Struct id="_10410" name="size_descriptor<1>" context="_3893" mangled="N5boost9algorithm15size_descriptorILi1EEE" demangled="boost::algorithm::size_descriptor<1>" location="f240:21" file="f240" line="21" artificial="1" size="8" align="8" members="_13185 _13186 _13187 " bases=""/>
+  <Struct id="_10411" name="FormatterConcept<boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3893" mangled="N5boost9algorithm16FormatterConceptINS0_6detail13c [...]
+  <Struct id="_10412" name="FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3893" mangled="N5boost9algorithm13FinderConceptINS0_6detail13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS5_SsEEEE" demangled="boost::algorithm::FinderConcept<boost::algorithm::detai [...]
+  <Namespace id="_10413" name="detail" context="_3893" members="_13156 _13157 " mangled="_ZN5boost9algorithm6detailE" demangled="boost::algorithm::detail"/>
+  <Struct id="_10414" name="constraint<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3894" mangled="N5boost7con [...]
+  <Struct id="_10415" name="constraint<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3894" mangled="N5boost7concept10constraintINS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEEE" deman [...]
+  <Struct id="_10416" name="requirement<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3894" incomplete="1" mang [...]
+  <Struct id="_10417" name="requirement<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3894" incomplete="1" mangled="N5boost7concept11requirementINS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS [...]
+  <Struct id="_10418" name="requirement_<void (*)(boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)>" context="_3894" mangled=" [...]
+    <Base type="_10414" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10419" name="requirement_<void (*)(boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)>" context="_3894" mangled="N5boost7concept12requirement_IPFvNS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7 [...]
+    <Base type="_10415" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10420" name="not_satisfied<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3894" mangled="N5boost7 [...]
+  <Struct id="_10421" name="not_satisfied<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3894" mangled="N5boost7concept13not_satisfiedINS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEEE" [...]
+  <Namespace id="_10422" name="detail" context="_3894" members="_13286 _13289 _13290 " mangled="_ZN5boost7concept6detailE" demangled="boost::concept::detail"/>
+  <Struct id="_10423" name="const_range_tag" context="_3895" mangled="N5boost21iterator_range_detail15const_range_tagE" demangled="boost::iterator_range_detail::const_range_tag" location="f138:95" file="f138" line="95" artificial="1" size="8" align="8" members="_13291 _13292 " bases=""/>
+  <Struct id="_10424" name="range_tag" context="_3895" mangled="N5boost21iterator_range_detail9range_tagE" demangled="boost::iterator_range_detail::range_tag" location="f138:94" file="f138" line="94" artificial="1" size="8" align="8" members="_13293 _13294 " bases=""/>
+  <Struct id="_10425" name="enable_if<boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char,  [...]
+    <Base type="_10430" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10426" name="enable_if<boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::token_iterator<boost::char_separator<char, std::char_traits<char& [...]
+    <Base type="_10430" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10427" name="enabled<true>" context="_3896" mangled="N5boost9iterators7enabledILb1EEE" demangled="boost::iterators::enabled<true>" location="f199:31" file="f199" line="31" artificial="1" size="8" align="8" members="_13299 _13300 " bases=""/>
+  <Struct id="_10428" name="enabled<false>" context="_3896" mangled="N5boost9iterators7enabledILb0EEE" demangled="boost::iterators::enabled<false>" location="f199:46" file="f199" line="46" artificial="1" size="8" align="8" members="_13301 _13302 " bases=""/>
+  <Struct id="_10429" name="base<boost::detail::enable_type>" context="_10427" access="public" mangled="N5boost9iterators7enabledILb1EE4baseINS_6detail11enable_typeEEE" demangled="boost::iterators::enabled<true>::base<boost::detail::enable_type>" location="f199:34" file="f199" line="34" artificial="1" size="8" align="8" members="_13303 _13304 _13305 " bases=""/>
+  <Struct id="_10430" name="base<bool>" context="_10427" access="public" mangled="N5boost9iterators7enabledILb1EE4baseIbEE" demangled="boost::iterators::enabled<true>::base<bool>" location="f199:34" file="f199" line="34" artificial="1" size="8" align="8" members="_13306 _13307 _13308 " bases=""/>
+  <Struct id="_10431" name="is_mem_fun_pointer_impl<short int>" context="_3898" mangled="N5boost11type_traits23is_mem_fun_pointer_implIsEE" demangled="boost::type_traits::is_mem_fun_pointer_impl<short>" location="f244:30" file="f244" line="30" artificial="1" size="8" align="8" members="_13309 _13310 _13311 " bases=""/>
+  <Struct id="_10432" name="is_mem_fun_pointer_impl<long long int>" context="_3898" mangled="N5boost11type_traits23is_mem_fun_pointer_implIxEE" demangled="boost::type_traits::is_mem_fun_pointer_impl<long long>" location="f244:30" file="f244" line="30" artificial="1" size="8" align="8" members="_13312 _13313 _13314 " bases=""/>
+  <Struct id="_10433" name="is_mem_fun_pointer_impl<int>" context="_3898" mangled="N5boost11type_traits23is_mem_fun_pointer_implIiEE" demangled="boost::type_traits::is_mem_fun_pointer_impl<int>" location="f244:30" file="f244" line="30" artificial="1" size="8" align="8" members="_13315 _13316 _13317 " bases=""/>
+  <Struct id="_10434" name="is_mem_fun_pointer_impl<short unsigned int>" context="_3898" mangled="N5boost11type_traits23is_mem_fun_pointer_implItEE" demangled="boost::type_traits::is_mem_fun_pointer_impl<unsigned short>" location="f244:30" file="f244" line="30" artificial="1" size="8" align="8" members="_13318 _13319 _13320 " bases=""/>
+  <Struct id="_10435" name="is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3898" mangled="N5boost11type_traits23is_mem_fun_pointer_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::type_traits::is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std:: [...]
+  <Struct id="_10436" name="is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3898" mangled="N5boost11type_traits23is_mem_fun_pointer_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::type_traits::is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f244:30" file="f244" line="30" artificial="1 [...]
+  <Struct id="_10437" name="is_mem_fun_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3898" mangled="N5boost11type_traits23is_mem_fun_pointer_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::type_traits::is_mem_fun_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f244:30" file="f244" line="30" artificial="1" size="8" ali [...]
+  <Struct id="_10438" name="is_mem_fun_pointer_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3898" mangled="N5boost11type_traits23is_mem_fun_pointer_implISsEE" demangled="boost::type_traits::is_mem_fun_pointer_impl<std::string>" location="f244:30" file="f244" line="30" artificial="1" size="8" align="8" members="_13330 _13331 _13332 " bases=""/>
+  <Struct id="_10439" name="is_function_ptr_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>" context="_3898" mangled="N5boost11type_traits22is_function_ptr_helperIPSbIwSt11char_traitsIwESaIwEEEE" demangled="boost::type_traits::is_function_ptr_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>" location="f245:31" file="f245" line="31" artificial="1" size="8" align [...]
+  <Struct id="_10440" name="is_function_ptr_helper<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_3898" mangled="N5boost11type_traits22is_function_ptr_helperIPSsEE" demangled="boost::type_traits::is_function_ptr_helper<std::string*>" location="f245:31" file="f245" line="31" artificial="1" size="8" align="8" members="_13336 _13337 _13338 " bases=""/>
+  <Struct id="_10441" name="false_result" context="_3898" mangled="N5boost11type_traits12false_resultE" demangled="boost::type_traits::false_result" location="f246:19" file="f246" line="19" artificial="1" size="8" align="8" members="_13339 _13340 " bases=""/>
+  <Struct id="_10442" name="ice_not<false>" context="_3898" mangled="N5boost11type_traits7ice_notILb0EEE" demangled="boost::type_traits::ice_not<false>" location="f247:18" file="f247" line="18" artificial="1" size="8" align="8" members="_13341 _13342 _13343 " bases=""/>
+  <Struct id="_10443" name="ice_not<true>" context="_3898" mangled="N5boost11type_traits7ice_notILb1EEE" demangled="boost::type_traits::ice_not<true>" location="f247:24" file="f247" line="24" artificial="1" size="8" align="8" members="_13344 _13345 _13346 " bases=""/>
+  <Struct id="_10444" name="ice_and<false,true,true,true,true,true,true>" context="_3898" mangled="N5boost11type_traits7ice_andILb0ELb1ELb1ELb1ELb1ELb1ELb1EEE" demangled="boost::type_traits::ice_and<false, true, true, true, true, true, true>" location="f248:22" file="f248" line="22" artificial="1" size="8" align="8" members="_13347 _13348 _13349 " bases=""/>
+  <Struct id="_10445" name="ice_and<true,true,true,true,true,true,true>" context="_3898" mangled="N5boost11type_traits7ice_andILb1ELb1ELb1ELb1ELb1ELb1ELb1EEE" demangled="boost::type_traits::ice_and<true, true, true, true, true, true, true>" location="f248:28" file="f248" line="28" artificial="1" size="8" align="8" members="_13350 _13351 _13352 " bases=""/>
+  <Struct id="_10446" name="ice_or<true,false,false,false,false,false,false>" context="_3898" mangled="N5boost11type_traits6ice_orILb1ELb0ELb0ELb0ELb0ELb0ELb0EEE" demangled="boost::type_traits::ice_or<true, false, false, false, false, false, false>" location="f249:21" file="f249" line="21" artificial="1" size="8" align="8" members="_13353 _13354 _13355 " bases=""/>
+  <Struct id="_10447" name="ice_or<false,false,false,false,false,false,false>" context="_3898" mangled="N5boost11type_traits6ice_orILb0ELb0ELb0ELb0ELb0ELb0ELb0EEE" demangled="boost::type_traits::ice_or<false, false, false, false, false, false, false>" location="f249:27" file="f249" line="27" artificial="1" size="8" align="8" members="_13356 _13357 _13358 " bases=""/>
+  <Struct id="_10448" name="ice_or<false,false,false,true,false,false,false>" context="_3898" mangled="N5boost11type_traits6ice_orILb0ELb0ELb0ELb1ELb0ELb0ELb0EEE" demangled="boost::type_traits::ice_or<false, false, false, true, false, false, false>" location="f249:21" file="f249" line="21" artificial="1" size="8" align="8" members="_13359 _13360 _13361 " bases=""/>
+  <Struct id="_10449" name="no_type" context="_3898" mangled="N5boost11type_traits7no_typeE" demangled="boost::type_traits::no_type" location="f250:19" file="f250" line="19" artificial="1" size="64" align="8" members="_13362 _13363 _13364 " bases=""/>
+  <Typedef id="_10450" name="yes_type" type="_2961" context="_3898" location="f250:17" file="f250" line="17"/>
+  <Function id="_10451" name="range_end" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail9range_endIKcLi3EEEPT_RAT0__S3_" demangled="char const* boost::range_detail::range_end<char const, 3>(char const (&) [3])" location="f166:76" file="f166" line="76" extern="1" inline="1">
+    <Argument name="array" type="_9794" location="f166:76" file="f166" line="76"/>
+  </Function>
+  <Function id="_10452" name="range_end" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail9range_endIcLi3EEEPKT_RAT0__S3_" demangled="char const* boost::range_detail::range_end<char, 3>(char const (&) [3])" location="f166:70" file="f166" line="70" endline="71" inline="1">
+    <Argument name="array" type="_9794" location="f166:70" file="f166" line="70"/>
+  </Function>
+  <Function id="_10453" name="range_end" returns="_3330" context="_3899" mangled="_ZN5boost12range_detail9range_endINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_14range_iteratorIT_E4typeERS9_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::type boost::range_detail::range_end<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >(boost::iterator_range&lt [...]
+    <Argument name="c" type="_9795" location="f166:44" file="f166" line="44"/>
+  </Function>
+  <Function id="_10454" name="range_end" returns="_3330" context="_3899" mangled="_ZN5boost12range_detail9range_endISsEENS_14range_iteratorIT_E4typeERS3_" demangled="boost::range_iterator<std::string>::type boost::range_detail::range_end<std::string>(std::string&)" location="f166:44" file="f166" line="44" endline="45" inline="1">
+    <Argument name="c" type="_4946" location="f166:44" file="f166" line="44"/>
+  </Function>
+  <Function id="_10455" name="range_end" returns="_3328" context="_3899" mangled="_ZN5boost12range_detail9range_endIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_14range_iteratorIT_E4typeERSB_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::type boost::range_detail::range_end<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>( [...]
+    <Argument name="c" type="_9793" location="f166:44" file="f166" line="44"/>
+  </Function>
+  <Function id="_10456" name="range_end" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail9range_endIKNS_14iterator_rangeIPKcEEEENS_14range_iteratorIT_E4typeERS8_" demangled="boost::range_iterator<boost::iterator_range<char const*> const>::type boost::range_detail::range_end<boost::iterator_range<char const*> const>(boost::iterator_range<char const*> const&)" location="f166:44" file="f166" line="44" endline="45" inline="1">
+    <Argument name="c" type="_9791" location="f166:44" file="f166" line="44"/>
+  </Function>
+  <Function id="_10457" name="range_end" returns="_3328" context="_3899" mangled="_ZN5boost12range_detail9range_endIKSsEENS_14range_iteratorIT_E4typeERS4_" demangled="boost::range_iterator<std::string const>::type boost::range_detail::range_end<std::string const>(std::string const&)" location="f166:44" file="f166" line="44" endline="45" inline="1">
+    <Argument name="c" type="_4948" location="f166:44" file="f166" line="44"/>
+  </Function>
+  <Function id="_10458" name="range_end" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail9range_endIA3_KcEENS_14range_iteratorIT_E4typeERS5_" demangled="boost::range_iterator<char const[3]>::type boost::range_detail::range_end<char const[3]>(char const[3]&)" location="f166:44" file="f166" line="44" extern="1" inline="1">
+    <Argument name="c" type="_9794" location="f166:44" file="f166" line="44"/>
+  </Function>
+  <Function id="_10459" name="array_end" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail9array_endIcLj3EEEPKT_RAT0__S3_" demangled="char const* boost::range_detail::array_end<char, 3>(char const (&) [3])" location="f251:101" file="f251" line="101" endline="109" inline="1">
+    <Argument name="boost_range_array" type="_9794" location="f251:101" file="f251" line="101"/>
+  </Function>
+  <Function id="_10460" name="array_end" returns="_1149" context="_3899" mangled="_ZN5boost12range_detail9array_endIcLj3EEEPT_RAT0__S2_" demangled="char* boost::range_detail::array_end<char, 3>(char (&) [3])" location="f251:88" file="f251" line="88" extern="1" inline="1">
+    <Argument name="boost_range_array" type="_8393" location="f251:88" file="f251" line="88"/>
+  </Function>
+  <Function id="_10461" name="str_end" returns="_2780" context="_3899" mangled="_ZN5boost12range_detail7str_endEPKwS2_" demangled="boost::range_detail::str_end(wchar_t const*, wchar_t const*)" location="f251:40" file="f251" line="40" endline="42" inline="1">
+    <Argument name="s" type="_2780" location="f251:40" file="f251" line="40"/>
+    <Argument type="_2780" location="f251:40" file="f251" line="40"/>
+  </Function>
+  <Function id="_10462" name="str_end" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail7str_endEPKcS2_" demangled="boost::range_detail::str_end(char const*, char const*)" location="f251:34" file="f251" line="34" endline="36" inline="1">
+    <Argument name="s" type="_2749" location="f251:34" file="f251" line="34"/>
+    <Argument type="_2749" location="f251:34" file="f251" line="34"/>
+  </Function>
+  <Typedef id="_10463" name="string_" type="_3272" context="_3899" location="f252:58" file="f252" line="58"/>
+  <Typedef id="_10464" name="const_wchar_t_ptr_" type="_3273" context="_3899" location="f252:57" file="f252" line="57"/>
+  <Typedef id="_10465" name="wchar_t_ptr_" type="_3275" context="_3899" location="f252:56" file="f252" line="56"/>
+  <Typedef id="_10466" name="const_char_ptr_" type="_3276" context="_3899" location="f252:55" file="f252" line="55"/>
+  <Typedef id="_10467" name="char_ptr_" type="_3277" context="_3899" location="f252:54" file="f252" line="54"/>
+  <Typedef id="_10468" name="wchar_t_array_" type="_3278" context="_3899" location="f252:53" file="f252" line="53"/>
+  <Typedef id="_10469" name="char_array_" type="_3267" context="_3899" location="f252:52" file="f252" line="52"/>
+  <Typedef id="_10470" name="const_array_" type="_3269" context="_3899" location="f252:51" file="f252" line="51"/>
+  <Typedef id="_10471" name="array_" type="_3270" context="_3899" location="f252:50" file="f252" line="50"/>
+  <Typedef id="_10472" name="const_std_pair_" type="_3266" context="_3899" location="f252:49" file="f252" line="49"/>
+  <Typedef id="_10473" name="std_pair_" type="_3271" context="_3899" location="f252:48" file="f252" line="48"/>
+  <Typedef id="_10474" name="std_container_" type="_3268" context="_3899" location="f252:47" file="f252" line="47"/>
+  <Struct id="_10475" name="char_or_wchar_t_array_tag" context="_3899" mangled="N5boost12range_detail25char_or_wchar_t_array_tagE" demangled="boost::range_detail::char_or_wchar_t_array_tag" location="f253:71" file="f253" line="71" artificial="1" size="8" align="8" members="_13365 _13366 " bases=""/>
+  <Function id="_10476" name="is_pair_impl" returns="_10449" context="_3899" mangled="_ZN5boost12range_detail12is_pair_implEz" demangled="boost::range_detail::is_pair_impl(...)" location="f253:65" file="f253" line="65" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10477" name="is_const_wchar_t_ptr_impl" returns="_10449" context="_3899" mangled="_ZN5boost12range_detail25is_const_wchar_t_ptr_implEz" demangled="boost::range_detail::is_const_wchar_t_ptr_impl(...)" location="f253:57" file="f253" line="57" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10478" name="is_const_wchar_t_ptr_impl" returns="_10450" context="_3899" mangled="_ZN5boost12range_detail25is_const_wchar_t_ptr_implEPKw" demangled="boost::range_detail::is_const_wchar_t_ptr_impl(wchar_t const*)" location="f253:56" file="f253" line="56" extern="1">
+    <Argument type="_2780c" location="f253:56" file="f253" line="56"/>
+  </Function>
+  <Function id="_10479" name="is_wchar_t_ptr_impl" returns="_10449" context="_3899" mangled="_ZN5boost12range_detail19is_wchar_t_ptr_implEz" demangled="boost::range_detail::is_wchar_t_ptr_impl(...)" location="f253:54" file="f253" line="54" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10480" name="is_wchar_t_ptr_impl" returns="_10450" context="_3899" mangled="_ZN5boost12range_detail19is_wchar_t_ptr_implEPw" demangled="boost::range_detail::is_wchar_t_ptr_impl(wchar_t*)" location="f253:53" file="f253" line="53" extern="1">
+    <Argument type="_2778c" location="f253:53" file="f253" line="53"/>
+  </Function>
+  <Function id="_10481" name="is_const_char_ptr_impl" returns="_10449" context="_3899" mangled="_ZN5boost12range_detail22is_const_char_ptr_implEz" demangled="boost::range_detail::is_const_char_ptr_impl(...)" location="f253:51" file="f253" line="51" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10482" name="is_const_char_ptr_impl" returns="_10450" context="_3899" mangled="_ZN5boost12range_detail22is_const_char_ptr_implEPKc" demangled="boost::range_detail::is_const_char_ptr_impl(char const*)" location="f253:50" file="f253" line="50" extern="1">
+    <Argument type="_2749c" location="f253:50" file="f253" line="50"/>
+  </Function>
+  <Function id="_10483" name="is_char_ptr_impl" returns="_10449" context="_3899" mangled="_ZN5boost12range_detail16is_char_ptr_implEz" demangled="boost::range_detail::is_char_ptr_impl(...)" location="f253:48" file="f253" line="48" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10484" name="is_char_ptr_impl" returns="_10450" context="_3899" mangled="_ZN5boost12range_detail16is_char_ptr_implEPc" demangled="boost::range_detail::is_char_ptr_impl(char*)" location="f253:47" file="f253" line="47" extern="1">
+    <Argument type="_1149c" location="f253:47" file="f253" line="47"/>
+  </Function>
+  <Function id="_10485" name="is_wchar_t_array_impl" returns="_10449" context="_3899" mangled="_ZN5boost12range_detail21is_wchar_t_array_implEz" demangled="boost::range_detail::is_wchar_t_array_impl(...)" location="f253:45" file="f253" line="45" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10486" name="is_char_array_impl" returns="_10449" context="_3899" mangled="_ZN5boost12range_detail18is_char_array_implEz" demangled="boost::range_detail::is_char_array_impl(...)" location="f253:39" file="f253" line="39" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10487" name="is_string_impl" returns="_10449" context="_3899" mangled="_ZN5boost12range_detail14is_string_implEz" demangled="boost::range_detail::is_string_impl(...)" location="f253:33" file="f253" line="33" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10488" name="is_string_impl" returns="_10450" context="_3899" mangled="_ZN5boost12range_detail14is_string_implEPKw" demangled="boost::range_detail::is_string_impl(wchar_t const*)" location="f253:32" file="f253" line="32" extern="1">
+    <Argument type="_2780c" location="f253:32" file="f253" line="32"/>
+  </Function>
+  <Function id="_10489" name="is_string_impl" returns="_10450" context="_3899" mangled="_ZN5boost12range_detail14is_string_implEPKc" demangled="boost::range_detail::is_string_impl(char const*)" location="f253:31" file="f253" line="31" extern="1">
+    <Argument type="_2749c" location="f253:31" file="f253" line="31"/>
+  </Function>
+  <Function id="_10490" name="range_begin" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail11range_beginIKcLi3EEEPT_RAT0__S3_" demangled="char const* boost::range_detail::range_begin<char const, 3>(char const (&) [3])" location="f170:78" file="f170" line="78" extern="1" inline="1">
+    <Argument name="array" type="_9794" location="f170:78" file="f170" line="78"/>
+  </Function>
+  <Function id="_10491" name="range_begin" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail11range_beginIcLi3EEEPKT_RAT0__S3_" demangled="char const* boost::range_detail::range_begin<char, 3>(char const (&) [3])" location="f170:72" file="f170" line="72" endline="73" inline="1">
+    <Argument name="array" type="_9794" location="f170:72" file="f170" line="72"/>
+  </Function>
+  <Function id="_10492" name="range_begin" returns="_3330" context="_3899" mangled="_ZN5boost12range_detail11range_beginINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_14range_iteratorIT_E4typeERS9_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::type boost::range_detail::range_begin<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >(boost::iterator_r [...]
+    <Argument name="c" type="_9795" location="f170:43" file="f170" line="43"/>
+  </Function>
+  <Function id="_10493" name="range_begin" returns="_3330" context="_3899" mangled="_ZN5boost12range_detail11range_beginISsEENS_14range_iteratorIT_E4typeERS3_" demangled="boost::range_iterator<std::string>::type boost::range_detail::range_begin<std::string>(std::string&)" location="f170:43" file="f170" line="43" endline="44" inline="1">
+    <Argument name="c" type="_4946" location="f170:43" file="f170" line="43"/>
+  </Function>
+  <Function id="_10494" name="range_begin" returns="_3328" context="_3899" mangled="_ZN5boost12range_detail11range_beginIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_14range_iteratorIT_E4typeERSB_" demangled="boost::range_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::type boost::range_detail::range_begin<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > con [...]
+    <Argument name="c" type="_9793" location="f170:43" file="f170" line="43"/>
+  </Function>
+  <Function id="_10495" name="range_begin" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail11range_beginIKNS_14iterator_rangeIPKcEEEENS_14range_iteratorIT_E4typeERS8_" demangled="boost::range_iterator<boost::iterator_range<char const*> const>::type boost::range_detail::range_begin<boost::iterator_range<char const*> const>(boost::iterator_range<char const*> const&)" location="f170:43" file="f170" line="43" endline="44" inline="1">
+    <Argument name="c" type="_9791" location="f170:43" file="f170" line="43"/>
+  </Function>
+  <Function id="_10496" name="range_begin" returns="_3328" context="_3899" mangled="_ZN5boost12range_detail11range_beginIKSsEENS_14range_iteratorIT_E4typeERS4_" demangled="boost::range_iterator<std::string const>::type boost::range_detail::range_begin<std::string const>(std::string const&)" location="f170:43" file="f170" line="43" endline="44" inline="1">
+    <Argument name="c" type="_4948" location="f170:43" file="f170" line="43"/>
+  </Function>
+  <Function id="_10497" name="range_begin" returns="_2749" context="_3899" mangled="_ZN5boost12range_detail11range_beginIA3_KcEENS_14range_iteratorIT_E4typeERS5_" demangled="boost::range_iterator<char const[3]>::type boost::range_detail::range_begin<char const[3]>(char const[3]&)" location="f170:43" file="f170" line="43" extern="1" inline="1">
+    <Argument name="c" type="_9794" location="f170:43" file="f170" line="43"/>
+  </Function>
+  <Struct id="_10498" name="quote1<boost::mpl::aux::template_arity,mpl_::void_>" context="_3900" incomplete="1" mangled="N5boost3mpl6quote1INS0_3aux14template_arityEN4mpl_5void_EEE" demangled="boost::mpl::quote1<boost::mpl::aux::template_arity, mpl_::void_>" location="f254:31" file="f254" line="31" artificial="1" align="8"/>
+  <Struct id="_10499" name="is_not_void_<mpl_::na>" context="_3900" mangled="N5boost3mpl12is_not_void_IN4mpl_2naEEE" demangled="boost::mpl::is_not_void_<mpl_::na>" location="f124:72" file="f124" line="72" artificial="1" size="8" align="8" members="_13369 _13370 " bases=""/>
+  <Struct id="_10500" name="is_not_void_<mpl_::void_>" context="_3900" mangled="N5boost3mpl12is_not_void_IN4mpl_5void_EEE" demangled="boost::mpl::is_not_void_<mpl_::void_>" location="f124:65" file="f124" line="65" artificial="1" size="8" align="8" members="_13371 _13372 " bases="_3259 ">
+    <Base type="_3259" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10501" name="is_void_<mpl_::na>" context="_3900" mangled="N5boost3mpl8is_void_IN4mpl_2naEEE" demangled="boost::mpl::is_void_<mpl_::na>" location="f124:71" file="f124" line="71" artificial="1" size="8" align="8" members="_13373 _13374 " bases=""/>
+  <Struct id="_10502" name="is_void_<mpl_::void_>" context="_3900" mangled="N5boost3mpl8is_void_IN4mpl_5void_EEE" demangled="boost::mpl::is_void_<mpl_::void_>" location="f124:47" file="f124" line="47" artificial="1" size="8" align="8" members="_13375 _13376 " bases="_3261 ">
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10503" name="protect<mpl_::na,0>" context="_3900" mangled="N5boost3mpl7protectIN4mpl_2naELi0EEE" demangled="boost::mpl::protect<mpl_::na, 0>" location="f255:48" file="f255" line="48" artificial="1" size="8" align="8" members="_13377 _13378 " bases=""/>
+  <Struct id="_10504" name="prior<mpl_::na>" context="_3900" mangled="N5boost3mpl5priorIN4mpl_2naEEE" demangled="boost::mpl::prior<mpl_::na>" location="f256:45" file="f256" line="45" artificial="1" size="8" align="8" members="_13379 _13380 " bases=""/>
+  <Struct id="_10505" name="next<mpl_::na>" context="_3900" mangled="N5boost3mpl4nextIN4mpl_2naEEE" demangled="boost::mpl::next<mpl_::na>" location="f256:44" file="f256" line="44" artificial="1" size="8" align="8" members="_13381 _13382 " bases=""/>
+  <Struct id="_10506" name="apply_wrap2<boost::detail::always_bool2,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_trait [...]
+    <Base type="_13385" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10507" name="apply_wrap2<boost::detail::always_bool2,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu [...]
+    <Base type="_13388" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10508" name="apply2<boost::detail::always_bool2,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits< [...]
+    <Base type="_10506" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10509" name="apply2<boost::detail::always_bool2,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx: [...]
+    <Base type="_10507" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10510" name="and_<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> > [...]
+    <Base type="_13395" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10511" name="and_<boost::is_reference<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_3900" mangled="N5boost3mpl4and_INS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEENS_14is_convertibleINS_21forward_traversal_tagESB_EEN4mpl_5boo [...]
+    <Base type="_13398" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10512" name="and_<boost::is_convertible<boost::forward_traversal_tag, boost::single_pass_traversal_tag>,boost::is_convertible<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_3900" incomplete="1" mangled="N5boost3 [...]
+  <Struct id="_10513" name="and_<boost::is_POD<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::detail::iterator_writability_disabled<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_3900" mangled=" [...]
+    <Base type="_13401" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10514" name="and_<boost::is_reference<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_3900" mangled="N5boost3mpl4and_INS_12is_referenceIRKSsEENS_14is_convertibleINS_21forward_traversal_tagES7_EEN4mpl_5bool_ILb1EEESB_SB_EE" demangled="boost [...]
+    <Base type="_13398" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10515" name="and_<boost::is_convertible<boost::forward_traversal_tag, boost::single_pass_traversal_tag>,boost::is_convertible<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_3900" incomplete="1" mangled="N5boost3mpl4and_INS_14is_c [...]
+  <Struct id="_10516" name="and_<mpl_::na,mpl_::na,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_3900" mangled="N5boost3mpl4and_IN4mpl_2naES3_NS2_5bool_ILb1EEES5_S5_EE" demangled="boost::mpl::and_<mpl_::na, mpl_::na, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >" location="f259:63" file="f259" line="63" artificial="1" size="8" align="8" members="_13404 _13405 " bases=""/>
+  <Struct id="_10517" name="or_<boost::is_const<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,boost::detail::indirect_traits::is_reference_to_const<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,mpl_::bool_<false>,mpl_::bo [...]
+    <Base type="_13408" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10518" name="or_<boost::is_const<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,boost::detail::indirect_traits::is_reference_to_const<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,boost::is_const<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,mpl_::bool_<false>,mpl_::bool_<false> >" cont [...]
+    <Base type="_13411" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10519" name="or_<boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag>,boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag>,mpl_::bool_<false>,mpl_::bool_<false>,mpl_::bool_<false> >" context="_3900" mangled="N5boost3mpl3or_INS_14is_convertibleINS_21forward_traversal_tagESt18input_iterator_tagEENS2_IS3_St19output_iterator_tagEEN4mpl_5bool_ILb0EEESA_SA_EE" demangled="boost::mpl::or_<boost [...]
+    <Base type="_13414" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10520" name="or_<mpl_::na,mpl_::na,mpl_::bool_<false>,mpl_::bool_<false>,mpl_::bool_<false> >" context="_3900" mangled="N5boost3mpl3or_IN4mpl_2naES3_NS2_5bool_ILb0EEES5_S5_EE" demangled="boost::mpl::or_<mpl_::na, mpl_::na, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >" location="f200:63" file="f200" line="63" artificial="1" size="8" align="8" members="_13415 _13416 " bases=""/>
+  <Struct id="_10521" name="not_<boost::mpl::and_<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_ [...]
+    <Base type="_13419" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10522" name="not_<boost::detail::is_iterator_category<boost::forward_traversal_tag> >" context="_3900" incomplete="1" mangled="N5boost3mpl4not_INS_6detail20is_iterator_categoryINS_21forward_traversal_tagEEEEE" demangled="boost::mpl::not_<boost::detail::is_iterator_category<boost::forward_traversal_tag> >" location="f260:43" file="f260" line="43" artificial="1" align="8"/>
+  <Struct id="_10523" name="not_<boost::mpl::and_<boost::is_POD<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::detail::iterator_writability_disabled<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> > &g [...]
+    <Base type="_13419" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10524" name="not_<mpl_::na>" context="_3900" mangled="N5boost3mpl4not_IN4mpl_2naEEE" demangled="boost::mpl::not_<mpl_::na>" location="f260:47" file="f260" line="47" artificial="1" size="8" align="8" members="_13422 _13423 " bases=""/>
+  <Struct id="_10525" name="make_identity<mpl_::na>" context="_3900" mangled="N5boost3mpl13make_identityIN4mpl_2naEEE" demangled="boost::mpl::make_identity<mpl_::na>" location="f261:41" file="f261" line="41" artificial="1" size="8" align="8" members="_13424 _13425 " bases=""/>
+  <Struct id="_10526" name="identity<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_3900" mangled="N5boost3mpl8identityIPKSsEE" demangled="boost::mpl::identity<std::string const*>" location="f261:26" file="f261" line="26" artificial="1" size="8" align="8" members="_13426 _13427 _13428 " bases=""/>
+  <Struct id="_10527" name="identity<boost::forward_traversal_tag>" context="_3900" mangled="N5boost3mpl8identityINS_21forward_traversal_tagEEE" demangled="boost::mpl::identity<boost::forward_traversal_tag>" location="f261:26" file="f261" line="26" artificial="1" size="8" align="8" members="_13429 _13430 _13431 " bases=""/>
+  <Struct id="_10528" name="identity<std::input_iterator_tag>" context="_3900" incomplete="1" mangled="N5boost3mpl8identityISt18input_iterator_tagEE" demangled="boost::mpl::identity<std::input_iterator_tag>" location="f261:26" file="f261" line="26" artificial="1" align="8"/>
+  <Struct id="_10529" name="identity<std::random_access_iterator_tag>" context="_3900" incomplete="1" mangled="N5boost3mpl8identityISt26random_access_iterator_tagEE" demangled="boost::mpl::identity<std::random_access_iterator_tag>" location="f261:26" file="f261" line="26" artificial="1" align="8"/>
+  <Struct id="_10530" name="identity<boost::incrementable_traversal_tag>" context="_3900" incomplete="1" mangled="N5boost3mpl8identityINS_27incrementable_traversal_tagEEE" demangled="boost::mpl::identity<boost::incrementable_traversal_tag>" location="f261:26" file="f261" line="26" artificial="1" align="8"/>
+  <Struct id="_10531" name="identity<boost::single_pass_traversal_tag>" context="_3900" incomplete="1" mangled="N5boost3mpl8identityINS_25single_pass_traversal_tagEEE" demangled="boost::mpl::identity<boost::single_pass_traversal_tag>" location="f261:26" file="f261" line="26" artificial="1" align="8"/>
+  <Struct id="_10532" name="identity<boost::bidirectional_traversal_tag>" context="_3900" incomplete="1" mangled="N5boost3mpl8identityINS_27bidirectional_traversal_tagEEE" demangled="boost::mpl::identity<boost::bidirectional_traversal_tag>" location="f261:26" file="f261" line="26" artificial="1" align="8"/>
+  <Struct id="_10533" name="identity<boost::random_access_traversal_tag>" context="_3900" mangled="N5boost3mpl8identityINS_27random_access_traversal_tagEEE" demangled="boost::mpl::identity<boost::random_access_traversal_tag>" location="f261:26" file="f261" line="26" artificial="1" size="8" align="8" members="_13432 _13433 _13434 " bases=""/>
+  <Struct id="_10534" name="identity<std::forward_iterator_tag>" context="_3900" incomplete="1" mangled="N5boost3mpl8identityISt20forward_iterator_tagEE" demangled="boost::mpl::identity<std::forward_iterator_tag>" location="f261:26" file="f261" line="26" artificial="1" align="8"/>
+  <Struct id="_10535" name="identity<mpl_::na>" context="_3900" mangled="N5boost3mpl8identityIN4mpl_2naEEE" demangled="boost::mpl::identity<mpl_::na>" location="f261:40" file="f261" line="40" artificial="1" size="8" align="8" members="_13435 _13436 " bases=""/>
+  <Struct id="_10536" name="eval_if_c<false,boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::range_mutable_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_3900" mangled="N5boost3mpl9ev [...]
+  <Struct id="_10537" name="eval_if_c<true,boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::range_mutable_iterator<const boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_3900" mangled="N5boost3m [...]
+  <Struct id="_10538" name="eval_if_c<false,boost::range_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::range_mutable_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3900" mangled="N5boost3mpl9eval_if_cILb0ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorISsEEEE" demangled="boost::mpl::eval_if_c<false, boost::range_const_iterator [...]
+  <Struct id="_10539" name="eval_if_c<true,boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::range_mutable_iterator<const boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_3900" mangle [...]
+  <Struct id="_10540" name="eval_if_c<true,boost::range_const_iterator<boost::iterator_range<const char*> >,boost::range_mutable_iterator<const boost::iterator_range<const char*> > >" context="_3900" mangled="N5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIPKcEEEENS_22range_mutable_iteratorIKS6_EEEE" demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<boost::iterator_range<char const*> >, boost::range_mut [...]
+  <Struct id="_10541" name="eval_if_c<true,boost::range_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::range_mutable_iterator<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3900" mangled="N5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorIKSsEEEE" demangled="boost::mpl::eval_if_c<true, boost::range_const_ite [...]
+  <Struct id="_10542" name="eval_if_c<true,boost::range_const_iterator<char[3]>,boost::range_mutable_iterator<const char[3]> >" context="_3900" mangled="N5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorIA3_cEENS_22range_mutable_iteratorIA3_KcEEEE" demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<char[3]>, boost::range_mutable_iterator<char const[3]> >" location="f201:58" file="f201" line="58" artificial="1" size="8" align="8" member [...]
+  <Struct id="_10543" name="eval_if<boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,boost::add_pointer<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,boost::add_pointer<std::basic_string<wchar_t, std::char_ [...]
+  <Struct id="_10544" name="eval_if<boost::detail::is_iterator_category<boost::forward_traversal_tag>,boost::mpl::identity<boost::forward_traversal_tag>,boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&> >" context="_3900" mangled="N5b [...]
+  <Struct id="_10545" name="eval_if<boost::mpl::and_<boost::is_reference<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>, boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >,boost::mpl::eval_if<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>, boost::mpl [...]
+  <Struct id="_10546" name="eval_if<boost::mpl::and_<boost::is_convertible<boost::forward_traversal_tag, boost::single_pass_traversal_tag>, boost::is_convertible<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >,boost::mpl::identity&l [...]
+  <Struct id="_10547" name="eval_if<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>,boost::mpl::identity<std::random_access_iterator_tag>,boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>, std::bidirectional_iterator_tag, std::forward_iterator_tag> >" context="_3900" mangled="N5boost3mpl7eval_ifINS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_trave [...]
+  <Struct id="_10548" name="eval_if<boost::detail::iterator_writability_disabled<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,boost::add_pointer<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::add_pointer<std::basic_string<char, std::char_traits<char>, std::alloc [...]
+  <Struct id="_10549" name="eval_if<boost::detail::is_iterator_category<boost::forward_traversal_tag>,boost::mpl::identity<boost::forward_traversal_tag>,boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&> >" context="_3900" mangled="N5boost3mpl7eval_ifIN [...]
+  <Struct id="_10550" name="eval_if<boost::is_convertible<std::forward_iterator_tag, std::random_access_iterator_tag>,boost::mpl::identity<boost::random_access_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::bidirectional_iterator_tag>, boost::mpl::identity<boost::bidirectional_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>, boost::mpl::identity [...]
+  <Struct id="_10551" name="eval_if<boost::is_convertible<std::forward_iterator_tag, std::bidirectional_iterator_tag>,boost::mpl::identity<boost::bidirectional_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::input_iterator_tag>, boost::mpl::identity<boost::sin [...]
+  <Struct id="_10552" name="eval_if<boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>,boost::mpl::identity<boost::forward_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::input_iterator_tag>, boost::mpl::identity<boost::single_pass_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::output_iterator_tag>, boost::mpl::identity<boost::incrementabl [...]
+  <Struct id="_10553" name="eval_if<boost::is_convertible<std::forward_iterator_tag, std::input_iterator_tag>,boost::mpl::identity<boost::single_pass_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::output_iterator_tag>, boost::mpl::identity<boost::incrementable_traversal_tag>, void> >" context="_3900" incomplete="1" mangled="N5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt18input_iterator_tagEE [...]
+  <Struct id="_10554" name="eval_if<boost::is_convertible<std::forward_iterator_tag, std::output_iterator_tag>,boost::mpl::identity<boost::incrementable_traversal_tag>,void>" context="_3900" incomplete="1" mangled="N5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt19output_iterator_tagEENS0_8identityINS_27incrementable_traversal_tagEEEvEE" demangled="boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::output_iterator_tag>,  [...]
+  <Struct id="_10555" name="eval_if<boost::mpl::and_<boost::is_reference<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >,boost::mpl::eval_if<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>, boost::mpl::identit [...]
+  <Struct id="_10556" name="eval_if<boost::mpl::and_<boost::is_convertible<boost::forward_traversal_tag, boost::single_pass_traversal_tag>, boost::is_convertible<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >,boost::mpl::identity<std::input_itera [...]
+  <Struct id="_10557" name="eval_if<boost::is_convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>,boost::mpl::identity<boost::random_access_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>, boost::mpl::identity<boost::bidirectional_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::forward_iterator_tag>, bo [...]
+  <Struct id="_10558" name="eval_if<boost::is_convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>,boost::mpl::identity<boost::bidirectional_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::forward_iterator_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::input_iterator_tag>, boost::mpl::iden [...]
+  <Struct id="_10559" name="eval_if<boost::is_convertible<std::random_access_iterator_tag, std::forward_iterator_tag>,boost::mpl::identity<boost::forward_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::input_iterator_tag>, boost::mpl::identity<boost::single_pass_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::output_iterator_tag>, boost::mpl::identity<b [...]
+  <Struct id="_10560" name="eval_if<boost::is_convertible<std::random_access_iterator_tag, std::input_iterator_tag>,boost::mpl::identity<boost::single_pass_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::output_iterator_tag>, boost::mpl::identity<boost::incrementable_traversal_tag>, void> >" context="_3900" incomplete="1" mangled="N5boost3mpl7eval_ifINS_14is_convertibleISt26random_access_iterator_tagSt18in [...]
+  <Struct id="_10561" name="eval_if<boost::is_convertible<std::random_access_iterator_tag, std::output_iterator_tag>,boost::mpl::identity<boost::incrementable_traversal_tag>,void>" context="_3900" incomplete="1" mangled="N5boost3mpl7eval_ifINS_14is_convertibleISt26random_access_iterator_tagSt19output_iterator_tagEENS0_8identityINS_27incrementable_traversal_tagEEEvEE" demangled="boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::output_ [...]
+  <Struct id="_10562" name="eval_if<mpl_::na,mpl_::na,mpl_::na>" context="_3900" mangled="N5boost3mpl7eval_ifIN4mpl_2naES3_S3_EE" demangled="boost::mpl::eval_if<mpl_::na, mpl_::na, mpl_::na>" location="f201:67" file="f201" line="67" artificial="1" size="8" align="8" members="_13509 _13510 " bases=""/>
+  <Struct id="_10563" name="if_<boost::concept::not_satisfied<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::conc [...]
+  <Struct id="_10564" name="if_<boost::concept::not_satisfied<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::concept::constraint<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, [...]
+  <Struct id="_10565" name="if_<boost::is_reference<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*,boost::detail::operator_arrow_proxy<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3900" mangled="N5boost3mpl3if_INS_12is_referenceIRKSsEEPS3_NS_6detail20operator_arrow [...]
+  <Struct id="_10566" name="if_<boost::is_pointer<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >,boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >,boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__norma [...]
+  <Struct id="_10567" name="if_<boost::is_pointer<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<const char [...]
+  <Struct id="_10568" name="if_<boost::detail::use_operator_brackets_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,boost::detail::operator_brackets_proxy<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<const wchar_t*, std::basic_s [...]
+  <Struct id="_10569" name="if_<boost::is_reference<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*,boost::detail::operator_arrow_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3900" mangled="N5boost3mpl3if_INS_12is_referenceIRKSbIwSt1 [...]
+  <Struct id="_10570" name="if_<boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,boost::add_pointer<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,boost::add_pointer<std::basic_string<wchar_t, std::char_trai [...]
+  <Struct id="_10571" name="if_<boost::is_same<boost::forward_traversal_tag, boost::forward_traversal_tag>,std::forward_iterator_tag,boost::detail::iterator_category_with_traversal<std::forward_iterator_tag, boost::forward_traversal_tag> >" context="_3900" mangled="N5boost3mpl3if_INS_7is_sameINS_21forward_traversal_tagES3_EESt20forward_iterator_tagNS_6detail32iterator_category_with_traversalIS5_S3_EEEE" demangled="boost::mpl::if_<boost::is_same<boost::forward_trav [...]
+  <Struct id="_10572" name="if_<boost::mpl::and_<boost::is_reference<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>, boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >,boost::mpl::eval_if<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>, boost::mpl::id [...]
+  <Struct id="_10573" name="if_<boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>,std::bidirectional_iterator_tag,std::forward_iterator_tag>" context="_3900" mangled="N5boost3mpl3if_INS_14is_convertibleINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEE" demangled="boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag [...]
+  <Struct id="_10574" name="if_<boost::detail::is_iterator_category<boost::forward_traversal_tag>,boost::mpl::identity<boost::forward_traversal_tag>,boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&> >" context="_3900" mangled="N5boost [...]
+  <Struct id="_10575" name="if_<boost::detail::use_operator_brackets_proxy<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,boost::detail::operator_brackets_proxy<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char& [...]
+  <Struct id="_10576" name="if_<boost::detail::use_operator_brackets_proxy<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,boost::detail::operator_brackets_proxy<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_tr [...]
+  <Struct id="_10577" name="if_<boost::detail::iterator_writability_disabled<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,boost::add_pointer<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::add_pointer<std::basic_string<char, std::char_traits<char>, std::allocator [...]
+  <Struct id="_10578" name="if_<boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>,boost::mpl::identity<boost::forward_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::input_iterator_tag>, boost::mpl::identity<boost::single_pass_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::output_iterator_tag>, boost::mpl::identity<boost::incrementable_tr [...]
+  <Struct id="_10579" name="if_<boost::is_convertible<std::forward_iterator_tag, std::bidirectional_iterator_tag>,boost::mpl::identity<boost::bidirectional_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::input_iterator_tag>, boost::mpl::identity<boost::single_ [...]
+  <Struct id="_10580" name="if_<boost::is_convertible<std::forward_iterator_tag, std::random_access_iterator_tag>,boost::mpl::identity<boost::random_access_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::bidirectional_iterator_tag>, boost::mpl::identity<boost::bidirectional_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>, boost::mpl::identity< [...]
+  <Struct id="_10581" name="if_<boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag>,boost::mpl::identity<std::forward_iterator_tag>,boost::detail::old_category_to_traversal<std::forward_iterator_tag> >" context="_3900" mangled="N5boost3mpl3if_INS_14is_convertibleISt20forward_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEE" demangled="boost::mpl::if_<boost::is_conver [...]
+  <Struct id="_10582" name="if_<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>,boost::mpl::identity<std::random_access_iterator_tag>,boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>, std::bidirectional_iterator_tag, std::forward_iterator_tag> >" context="_3900" mangled="N5boost3mpl3if_INS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tag [...]
+  <Struct id="_10583" name="if_<boost::mpl::and_<boost::is_reference<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >,boost::mpl::eval_if<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>, boost::mpl::identity&lt [...]
+  <Struct id="_10584" name="if_<boost::detail::is_iterator_category<boost::forward_traversal_tag>,boost::mpl::identity<boost::forward_traversal_tag>,boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&> >" context="_3900" mangled="N5boost3mpl3if_INS_6detai [...]
+  <Struct id="_10585" name="if_<boost::is_convertible<std::random_access_iterator_tag, std::random_access_iterator_tag>,boost::mpl::identity<boost::random_access_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>, boost::mpl::identity<boost::bidirectional_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::forward_iterator_tag>, boost: [...]
+  <Struct id="_10586" name="if_<boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag>,boost::mpl::identity<std::random_access_iterator_tag>,boost::detail::old_category_to_traversal<std::random_access_iterator_tag> >" context="_3900" mangled="N5boost3mpl3if_INS_14is_convertibleISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEE" demangled="boost::mpl: [...]
+  <Struct id="_10587" name="if_<mpl_::na,mpl_::na,mpl_::na>" context="_3900" mangled="N5boost3mpl3if_IN4mpl_2naES3_S3_EE" demangled="boost::mpl::if_<mpl_::na, mpl_::na, mpl_::na>" location="f262:131" file="f262" line="131" artificial="1" size="8" align="8" members="_13607 _13608 " bases=""/>
+  <Struct id="_10588" name="if_c<false,boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::range_mutable_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_3900" mangled="N5boost3mpl4if_cILb [...]
+  <Struct id="_10589" name="if_c<true,boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::range_mutable_iterator<const boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_3900" mangled="N5boost3mpl4if [...]
+  <Struct id="_10590" name="if_c<false,boost::range_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::range_mutable_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorISsEEEE" demangled="boost::mpl::if_c<false, boost::range_const_iterator<std::string [...]
+  <Struct id="_10591" name="if_c<true,boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::range_mutable_iterator<const boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >" context="_3900" mangled="N5 [...]
+  <Struct id="_10592" name="if_c<true,boost::concept::constraint<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::c [...]
+  <Struct id="_10593" name="if_c<true,boost::range_const_iterator<boost::iterator_range<const char*> >,boost::range_mutable_iterator<const boost::iterator_range<const char*> > >" context="_3900" mangled="N5boost3mpl4if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIPKcEEEENS_22range_mutable_iteratorIKS6_EEEE" demangled="boost::mpl::if_c<true, boost::range_const_iterator<boost::iterator_range<char const*> >, boost::range_mutable_iterator&l [...]
+  <Struct id="_10594" name="if_c<true,boost::concept::constraint<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >,boost::concept::requirement<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal& [...]
+  <Struct id="_10595" name="if_c<true,boost::range_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::range_mutable_iterator<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3900" mangled="N5boost3mpl4if_cILb1ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorIKSsEEEE" demangled="boost::mpl::if_c<true, boost::range_const_iterator<std::s [...]
+  <Struct id="_10596" name="if_c<true,boost::range_const_iterator<char[3]>,boost::range_mutable_iterator<const char[3]> >" context="_3900" mangled="N5boost3mpl4if_cILb1ENS_20range_const_iteratorIA3_cEENS_22range_mutable_iteratorIA3_KcEEEE" demangled="boost::mpl::if_c<true, boost::range_const_iterator<char[3]>, boost::range_mutable_iterator<char const[3]> >" location="f262:35" file="f262" line="35" artificial="1" size="8" align="8" members="_13633 _1363 [...]
+  <Struct id="_10597" name="if_c<false,boost::detail::lexical_stream<short int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS_6detail14lexical_streamIsSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEE" demangled="boost::mpl::if_c<false, boost::detail::lexical [...]
+  <Struct id="_10598" name="if_c<true,boost::detail::lexical_streambuf<char>,boost::detail::lexical_streambuf_fake<char> >" context="_3900" mangled="N5boost3mpl4if_cILb1ENS_6detail17lexical_streambufIcEENS2_22lexical_streambuf_fakeIcEEEE" demangled="boost::mpl::if_c<true, boost::detail::lexical_streambuf<char>, boost::detail::lexical_streambuf_fake<char> >" location="f262:35" file="f262" line="35" artificial="1" size="8" align="8" members="_13639 _1364 [...]
+  <Struct id="_10599" name="if_c<false,boost::detail::lexical_stream<long long int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS_6detail14lexical_streamIxSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEE" demangled="boost::mpl::if_c<false, boost::detail::lex [...]
+  <Struct id="_10600" name="if_c<false,boost::detail::lexical_stream<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS_6detail14lexical_streamIiSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEE" demangled="boost::mpl::if_c<false, boost::detail::lexical_strea [...]
+  <Struct id="_10601" name="if_c<false,boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >,boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > >" context="_3900" mangled="N [...]
+  <Struct id="_10602" name="if_c<false,boost::detail::lexical_stream<short unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS_6detail14lexical_streamItSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEE" demangled="boost::mpl::if_c<false, boost::detail [...]
+  <Struct id="_10603" name="if_c<false,boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS_1 [...]
+  <Struct id="_10604" name="if_c<true,boost::detail::operator_brackets_proxy<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >,std::basic_string<wchar_t, std::char_traits<wc [...]
+  <Struct id="_10605" name="if_c<true,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*,boost::detail::operator_arrow_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3900" mangled="N5boost3mpl4if_cILb1EPKSbIwSt11char_traitsIwESaIwEENS_6detail20operator_arrow_proxyIS5_EEEE" demangled="boost::mpl::if_c<true, std::basic_string<wchar_t, std::char_tra [...]
+  <Struct id="_10606" name="if_c<true,boost::add_pointer<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3900" mangled="N5boost3mpl4if_cILb1ENS_11add_pointerIKSbIwSt11char_traitsIwESaIwEEEENS2_IS6_EEEE" demangled="boost::mpl::if_c<true, boost::add_pointer<std::basic_string<w [...]
+  <Struct id="_10607" name="if_c<true,boost::mpl::eval_if<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>, boost::mpl::identity<std::random_access_iterator_tag>, boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>, std::bidirectional_iterator_tag, std::forward_iterator_tag> >,boost::mpl::eval_if<boost::mpl::and_<boost::is_convertible<boost::forward_travers [...]
+  <Struct id="_10608" name="if_c<false,boost::mpl::identity<boost::forward_traversal_tag>,boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&> >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS0_8identityINS_21forward_traversal_tagEEENS_6deta [...]
+  <Struct id="_10609" name="if_c<true,boost::detail::operator_brackets_proxy<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3900" mangled=" [...]
+  <Struct id="_10610" name="if_c<true,boost::detail::operator_brackets_proxy<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,std::basic_string<char, std::char_traits<char>, std::allocator<char [...]
+  <Struct id="_10611" name="if_c<true,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*,boost::detail::operator_arrow_proxy<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3900" mangled="N5boost3mpl4if_cILb1EPKSsNS_6detail20operator_arrow_proxyISsEEEE" demangled="boost::mpl::if_c<true, std::string const*, boost::detail::operator_arrow_proxy<std::string> >" locatio [...]
+  <Struct id="_10612" name="if_c<true,boost::add_pointer<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::add_pointer<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3900" mangled="N5boost3mpl4if_cILb1ENS_11add_pointerIKSsEENS2_ISsEEEE" demangled="boost::mpl::if_c<true, boost::add_pointer<std::string const>, boost::add_pointer<std::string> >"  [...]
+  <Struct id="_10613" name="if_c<true,std::forward_iterator_tag,boost::detail::iterator_category_with_traversal<std::forward_iterator_tag, boost::forward_traversal_tag> >" context="_3900" mangled="N5boost3mpl4if_cILb1ESt20forward_iterator_tagNS_6detail32iterator_category_with_traversalIS2_NS_21forward_traversal_tagEEEEE" demangled="boost::mpl::if_c<true, std::forward_iterator_tag, boost::detail::iterator_category_with_traversal<std::forward_iterator_tag, boost::forward_ [...]
+  <Struct id="_10614" name="if_c<true,boost::mpl::identity<boost::forward_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::input_iterator_tag>, boost::mpl::identity<boost::single_pass_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::output_iterator_tag>, boost::mpl::identity<boost::incrementable_traversal_tag>, void> > >" context="_3900" mangled="N5boost3mpl4if [...]
+  <Struct id="_10615" name="if_c<false,boost::mpl::identity<boost::bidirectional_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::input_iterator_tag>, boost::mpl::identity<boost::single_pass_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forw [...]
+  <Struct id="_10616" name="if_c<false,boost::mpl::identity<boost::random_access_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::bidirectional_iterator_tag>, boost::mpl::identity<boost::bidirectional_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std::forward_iterator_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::mpl::eval_if<boost::is_convertible&lt [...]
+  <Struct id="_10617" name="if_c<false,boost::mpl::identity<std::forward_iterator_tag>,boost::detail::old_category_to_traversal<std::forward_iterator_tag> >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS0_8identityISt20forward_iterator_tagEENS_6detail25old_category_to_traversalIS3_EEEE" demangled="boost::mpl::if_c<false, boost::mpl::identity<std::forward_iterator_tag>, boost::detail::old_category_to_traversal<std::forward_iterator_tag> >" location=" [...]
+  <Struct id="_10618" name="if_c<false,std::bidirectional_iterator_tag,std::forward_iterator_tag>" context="_3900" mangled="N5boost3mpl4if_cILb0ESt26bidirectional_iterator_tagSt20forward_iterator_tagEE" demangled="boost::mpl::if_c<false, std::bidirectional_iterator_tag, std::forward_iterator_tag>" location="f262:35" file="f262" line="35" artificial="1" size="8" align="8" members="_13699 _13700 _13701 " bases=""/>
+  <Struct id="_10619" name="if_c<false,boost::mpl::identity<std::random_access_iterator_tag>,boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>, std::bidirectional_iterator_tag, std::forward_iterator_tag> >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS_14is_convertibleINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEESt26bidirectional_iterat [...]
+  <Struct id="_10620" name="if_c<true,boost::mpl::eval_if<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal_tag>, boost::mpl::identity<std::random_access_iterator_tag>, boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>, std::bidirectional_iterator_tag, std::forward_iterator_tag> >,boost::mpl::eval_if<boost::mpl::and_<boost::is_convertible<boost::forward_travers [...]
+  <Struct id="_10621" name="if_c<false,boost::mpl::identity<boost::forward_traversal_tag>,boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&> >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS0_8identityINS_21forward_traversal_tagEEENS_6detail29facade_iterato [...]
+  <Struct id="_10622" name="if_c<true,boost::mpl::identity<boost::random_access_traversal_tag>,boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::bidirectional_iterator_tag>, boost::mpl::identity<boost::bidirectional_traversal_tag>, boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, std::forward_iterator_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::mpl::eval_if<boost::is_con [...]
+  <Struct id="_10623" name="if_c<false,boost::mpl::identity<std::random_access_iterator_tag>,boost::detail::old_category_to_traversal<std::random_access_iterator_tag> >" context="_3900" mangled="N5boost3mpl4if_cILb0ENS0_8identityISt26random_access_iterator_tagEENS_6detail25old_category_to_traversalIS3_EEEE" demangled="boost::mpl::if_c<false, boost::mpl::identity<std::random_access_iterator_tag>, boost::detail::old_category_to_traversal<std::random_access_ite [...]
+  <Struct id="_10624" name="lambda<boost::detail::always_bool2,mpl_::void_,mpl_::int_<-1> >" context="_3900" mangled="N5boost3mpl6lambdaINS_6detail12always_bool2EN4mpl_5void_ENS4_4int_ILin1EEEEE" demangled="boost::mpl::lambda<boost::detail::always_bool2, mpl_::void_, mpl_::int_<-1> >" location="f263:39" file="f263" line="39" artificial="1" size="8" align="8" members="_13717 _13718 _13719 _13720 _13721 " bases=""/>
+  <Struct id="_10625" name="lambda<mpl_::na,mpl_::na,mpl_::int_<-1> >" context="_3900" mangled="N5boost3mpl6lambdaIN4mpl_2naES3_NS2_4int_ILin1EEEEE" demangled="boost::mpl::lambda<mpl_::na, mpl_::na, mpl_::int_<-1> >" location="f263:555" file="f263" line="555" artificial="1" size="8" align="8" members="_13722 _13723 " bases=""/>
+  <Struct id="_10626" name="is_not_na<mpl_::na>" context="_3900" mangled="N5boost3mpl9is_not_naIN4mpl_2naEEE" demangled="boost::mpl::is_not_na<mpl_::na>" location="f264:54" file="f264" line="54" artificial="1" size="8" align="8" members="_13724 _13725 " bases="_3259 ">
+    <Base type="_3259" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10627" name="is_na<mpl_::na>" context="_3900" mangled="N5boost3mpl5is_naIN4mpl_2naEEE" demangled="boost::mpl::is_na<mpl_::na>" location="f264:36" file="f264" line="36" artificial="1" size="8" align="8" members="_13726 _13727 " bases="_3261 ">
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Namespace id="_10628" name="placeholders" context="_3900" members="" mangled="_ZN5boost3mpl12placeholdersE" demangled="boost::mpl::placeholders"/>
+  <Namespace id="_10629" name="aux" context="_3900" members="_13741 _13763 _13764 " mangled="_ZN5boost3mpl3auxE" demangled="boost::mpl::aux"/>
+  <Function id="_10630" name="date_period_from_wstring" returns="_10743" context="_3901" mangled="_ZN5boost9gregorian24date_period_from_wstringERKSbIwSt11char_traitsIwESaIwEE" demangled="boost::gregorian::date_period_from_wstring(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)" location="f265:83" file="f265" line="83" endline="85" inline="1">
+    <Argument name="s" type="_11471" location="f265:83" file="f265" line="83"/>
+  </Function>
+  <Function id="_10631" name="date_period_from_string" returns="_10743" context="_3901" mangled="_ZN5boost9gregorian23date_period_from_stringERKSs" demangled="boost::gregorian::date_period_from_string(std::string const&)" location="f265:78" file="f265" line="78" endline="80" inline="1">
+    <Argument name="s" type="_4020" location="f265:78" file="f265" line="78"/>
+  </Function>
+  <Function id="_10632" name="date_from_iso_string" returns="_9061" context="_3901" mangled="_ZN5boost9gregorian20date_from_iso_stringERKSs" demangled="boost::gregorian::date_from_iso_string(std::string const&)" location="f265:54" file="f265" line="54" endline="56" inline="1">
+    <Argument name="s" type="_4020" location="f265:54" file="f265" line="54"/>
+  </Function>
+  <Function id="_10633" name="from_undelimited_string" returns="_9061" context="_3901" mangled="_ZN5boost9gregorian23from_undelimited_stringESs" demangled="boost::gregorian::from_undelimited_string(std::string)" location="f265:49" file="f265" line="49" endline="51" inline="1">
+    <Argument name="s" type="_2509" location="f265:49" file="f265" line="49"/>
+  </Function>
+  <Function id="_10634" name="from_uk_string" returns="_9061" context="_3901" mangled="_ZN5boost9gregorian14from_uk_stringESs" demangled="boost::gregorian::from_uk_string(std::string)" location="f265:44" file="f265" line="44" endline="46" inline="1">
+    <Argument name="s" type="_2509" location="f265:44" file="f265" line="44"/>
+  </Function>
+  <Function id="_10635" name="from_us_string" returns="_9061" context="_3901" mangled="_ZN5boost9gregorian14from_us_stringESs" demangled="boost::gregorian::from_us_string(std::string)" location="f265:39" file="f265" line="39" endline="41" inline="1">
+    <Argument name="s" type="_2509" location="f265:39" file="f265" line="39"/>
+  </Function>
+  <Function id="_10636" name="from_simple_string" returns="_9061" context="_3901" mangled="_ZN5boost9gregorian18from_simple_stringESs" demangled="boost::gregorian::from_simple_string(std::string)" location="f265:34" file="f265" line="34" endline="36" inline="1">
+    <Argument name="s" type="_2509" location="f265:34" file="f265" line="34"/>
+  </Function>
+  <Function id="_10637" name="from_string" returns="_9061" context="_3901" mangled="_ZN5boost9gregorian11from_stringESs" demangled="boost::gregorian::from_string(std::string)" location="f265:29" file="f265" line="29" endline="31" inline="1">
+    <Argument name="s" type="_2509" location="f265:29" file="f265" line="29"/>
+  </Function>
+  <Function id="_10638" name="special_value_from_string" returns="_11275" context="_3901" mangled="_ZN5boost9gregorian25special_value_from_stringERKSs" demangled="boost::gregorian::special_value_from_string(std::string const&)" location="f265:26" file="f265" line="26" extern="1">
+    <Argument name="s" type="_4020" location="f265:26" file="f265" line="26"/>
+  </Function>
+  <Function id="_10639" name="to_sql_wstring" returns="_2507" context="_3901" mangled="_ZN5boost9gregorian14to_sql_wstringERKNS0_4dateE" demangled="boost::gregorian::to_sql_wstring(boost::gregorian::date const&)" location="f266:153" file="f266" line="153" endline="155" inline="1">
+    <Argument name="d" type="_10010" location="f266:153" file="f266" line="153"/>
+  </Function>
+  <Function id="_10640" name="to_iso_wstring" returns="_2507" context="_3901" mangled="_ZN5boost9gregorian14to_iso_wstringERKNS0_4dateE" demangled="boost::gregorian::to_iso_wstring(boost::gregorian::date const&)" location="f266:150" file="f266" line="150" endline="152" inline="1">
+    <Argument name="d" type="_10010" location="f266:150" file="f266" line="150"/>
+  </Function>
+  <Function id="_10641" name="to_iso_extended_wstring" returns="_2507" context="_3901" mangled="_ZN5boost9gregorian23to_iso_extended_wstringERKNS0_4dateE" demangled="boost::gregorian::to_iso_extended_wstring(boost::gregorian::date const&)" location="f266:144" file="f266" line="144" endline="146" inline="1">
+    <Argument name="d" type="_10010" location="f266:144" file="f266" line="144"/>
+  </Function>
+  <Function id="_10642" name="to_iso_wstring" returns="_2507" context="_3901" mangled="_ZN5boost9gregorian14to_iso_wstringERKNS_9date_time6periodINS0_4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEE" demangled="boost::gregorian::to_iso_wstring(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > const&)" location="f266:138" file="f266" line="138" endline="140" inline="1">
+    <Argument name="d" type="_13795" location="f266:138" file="f266" line="138"/>
+  </Function>
+  <Function id="_10643" name="to_simple_wstring" returns="_2507" context="_3901" mangled="_ZN5boost9gregorian17to_simple_wstringERKNS0_4dateE" demangled="boost::gregorian::to_simple_wstring(boost::gregorian::date const&)" location="f266:132" file="f266" line="132" endline="134" inline="1">
+    <Argument name="d" type="_10010" location="f266:132" file="f266" line="132"/>
+  </Function>
+  <Function id="_10644" name="to_simple_wstring" returns="_2507" context="_3901" mangled="_ZN5boost9gregorian17to_simple_wstringERKNS_9date_time6periodINS0_4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEE" demangled="boost::gregorian::to_simple_wstring(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > const&)" location="f266:126" file="f266" line="126" endline="128" inline="1">
+    <Argument name="d" type="_13795" location="f266:126" file="f266" line="126"/>
+  </Function>
+  <Function id="_10645" name="to_sql_string" returns="_2509" context="_3901" mangled="_ZN5boost9gregorian13to_sql_stringERKNS0_4dateE" demangled="boost::gregorian::to_sql_string(boost::gregorian::date const&)" location="f266:117" file="f266" line="117" endline="119" inline="1">
+    <Argument name="d" type="_10010" location="f266:117" file="f266" line="117"/>
+  </Function>
+  <Function id="_10646" name="to_sql_string_type" returns="_2506" context="_3901" mangled="_ZN5boost9gregorian18to_sql_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EERKNS0_4dateE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::gregorian::to_sql_string_type<wchar_t>(boost::gregorian::date const&)" location="f266:106" file="f266" line="106" endline="115" inline="1">
+    <Argument name="d" type="_10010" location="f266:106" file="f266" line="106"/>
+  </Function>
+  <Function id="_10647" name="to_sql_string_type" returns="_2508" context="_3901" mangled="_ZN5boost9gregorian18to_sql_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EERKNS0_4dateE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::gregorian::to_sql_string_type<char>(boost::gregorian::date const&)" location="f266:106" file="f266" line="106" endline="115" inline="1">
+    <Argument name="d" type="_10010" location="f266:106" file="f266" line="106"/>
+  </Function>
+  <Function id="_10648" name="to_iso_string" returns="_2509" context="_3901" mangled="_ZN5boost9gregorian13to_iso_stringERKNS0_4dateE" demangled="boost::gregorian::to_iso_string(boost::gregorian::date const&)" location="f266:96" file="f266" line="96" endline="98" inline="1">
+    <Argument name="d" type="_10010" location="f266:96" file="f266" line="96"/>
+  </Function>
+  <Function id="_10649" name="to_iso_string_type" returns="_2506" context="_3901" mangled="_ZN5boost9gregorian18to_iso_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EERKNS0_4dateE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::gregorian::to_iso_string_type<wchar_t>(boost::gregorian::date const&)" location="f266:90" file="f266" line="90" endline="91" inline="1">
+    <Argument name="d" type="_10010" location="f266:90" file="f266" line="90"/>
+  </Function>
+  <Function id="_10650" name="to_iso_string_type" returns="_2508" context="_3901" mangled="_ZN5boost9gregorian18to_iso_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EERKNS0_4dateE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::gregorian::to_iso_string_type<char>(boost::gregorian::date const&)" location="f266:90" file="f266" line="90" endline="91" inline="1">
+    <Argument name="d" type="_10010" location="f266:90" file="f266" line="90"/>
+  </Function>
+  <Function id="_10651" name="to_iso_extended_string" returns="_2509" context="_3901" mangled="_ZN5boost9gregorian22to_iso_extended_stringERKNS0_4dateE" demangled="boost::gregorian::to_iso_extended_string(boost::gregorian::date const&)" location="f266:84" file="f266" line="84" endline="86" inline="1">
+    <Argument name="d" type="_10010" location="f266:84" file="f266" line="84"/>
+  </Function>
+  <Function id="_10652" name="to_iso_extended_string_type" returns="_2506" context="_3901" mangled="_ZN5boost9gregorian27to_iso_extended_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EERKNS0_4dateE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::gregorian::to_iso_extended_string_type<wchar_t>(boost::gregorian::date const&)" location="f266:78" file="f266" line="78" endline="79" inline="1">
+    <Argument name="d" type="_10010" location="f266:78" file="f266" line="78"/>
+  </Function>
+  <Function id="_10653" name="to_iso_extended_string_type" returns="_2508" context="_3901" mangled="_ZN5boost9gregorian27to_iso_extended_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EERKNS0_4dateE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::gregorian::to_iso_extended_string_type<char>(boost::gregorian::date const&)" location="f266:78" file="f266" line="78" endline="79" inline="1">
+    <Argument name="d" type="_10010" location="f266:78" file="f266" line="78"/>
+  </Function>
+  <Function id="_10654" name="to_iso_string" returns="_2509" context="_3901" mangled="_ZN5boost9gregorian13to_iso_stringERKNS_9date_time6periodINS0_4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEE" demangled="boost::gregorian::to_iso_string(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > const&)" location="f266:71" file="f266" line="71" endline="73" inline="1">
+    <Argument name="d" type="_13795" location="f266:71" file="f266" line="71"/>
+  </Function>
+  <Function id="_10655" name="to_iso_string_type" returns="_2506" context="_3901" mangled="_ZN5boost9gregorian18to_iso_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EERKNS_9date_time6periodINS0_4dateENS7_13date_durationINS7_23duration_traits_adaptedEEEEE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::gregorian::to_iso_string_type<wchar_t>(boost::date_time::period<boost::gregorian::date, boost::date_time::date_ [...]
+    <Argument name="d" type="_9059" location="f266:63" file="f266" line="63"/>
+  </Function>
+  <Function id="_10656" name="to_iso_string_type" returns="_2508" context="_3901" mangled="_ZN5boost9gregorian18to_iso_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EERKNS_9date_time6periodINS0_4dateENS7_13date_durationINS7_23duration_traits_adaptedEEEEE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::gregorian::to_iso_string_type<char>(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration< [...]
+    <Argument name="d" type="_9059" location="f266:63" file="f266" line="63"/>
+  </Function>
+  <Function id="_10657" name="to_simple_string" returns="_2509" context="_3901" mangled="_ZN5boost9gregorian16to_simple_stringERKNS_9date_time6periodINS0_4dateENS1_13date_durationINS1_23duration_traits_adaptedEEEEE" demangled="boost::gregorian::to_simple_string(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> > const&)" location="f266:57" file="f266" line="57" endline="59" inline="1">
+    <Argument name="d" type="_13795" location="f266:57" file="f266" line="57"/>
+  </Function>
+  <Function id="_10658" name="to_simple_string_type" returns="_2506" context="_3901" mangled="_ZN5boost9gregorian21to_simple_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EERKNS_9date_time6periodINS0_4dateENS7_13date_durationINS7_23duration_traits_adaptedEEEEE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::gregorian::to_simple_string_type<wchar_t>(boost::date_time::period<boost::gregorian::date, boost::date_ti [...]
+    <Argument name="d" type="_9059" location="f266:46" file="f266" line="46"/>
+  </Function>
+  <Function id="_10659" name="to_simple_string_type" returns="_2508" context="_3901" mangled="_ZN5boost9gregorian21to_simple_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EERKNS_9date_time6periodINS0_4dateENS7_13date_durationINS7_23duration_traits_adaptedEEEEE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::gregorian::to_simple_string_type<char>(boost::date_time::period<boost::gregorian::date, boost::date_time::date_dur [...]
+    <Argument name="d" type="_9059" location="f266:46" file="f266" line="46"/>
+  </Function>
+  <Function id="_10660" name="to_simple_string" returns="_2509" context="_3901" mangled="_ZN5boost9gregorian16to_simple_stringERKNS0_4dateE" demangled="boost::gregorian::to_simple_string(boost::gregorian::date const&)" location="f266:39" file="f266" line="39" endline="41" inline="1">
+    <Argument name="d" type="_10010" location="f266:39" file="f266" line="39"/>
+  </Function>
+  <Function id="_10661" name="to_simple_string_type" returns="_2506" context="_3901" mangled="_ZN5boost9gregorian21to_simple_string_typeIwEESbIT_St11char_traitsIS2_ESaIS2_EERKNS0_4dateE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > boost::gregorian::to_simple_string_type<wchar_t>(boost::gregorian::date const&)" location="f266:33" file="f266" line="33" endline="34" inline="1">
+    <Argument name="d" type="_10010" location="f266:33" file="f266" line="33"/>
+  </Function>
+  <Function id="_10662" name="to_simple_string_type" returns="_2508" context="_3901" mangled="_ZN5boost9gregorian21to_simple_string_typeIcEESbIT_St11char_traitsIS2_ESaIS2_EERKNS0_4dateE" demangled="std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::gregorian::to_simple_string_type<char>(boost::gregorian::date const&)" location="f266:33" file="f266" line="33" endline="34" inline="1">
+    <Argument name="d" type="_10010" location="f266:33" file="f266" line="33"/>
+  </Function>
+  <Function id="_10663" name="date_from_tm" returns="_9061" context="_3901" mangled="_ZN5boost9gregorian12date_from_tmERK2tm" demangled="boost::gregorian::date_from_tm(tm const&)" location="f267:60" file="f267" line="60" endline="64" inline="1">
+    <Argument name="datetm" type="_8243" location="f267:60" file="f267" line="60"/>
+  </Function>
+  <Function id="_10664" name="to_tm" returns="_1011" context="_3901" mangled="_ZN5boost9gregorian5to_tmERKNS0_4dateE" demangled="boost::gregorian::to_tm(boost::gregorian::date const&)" location="f267:34" file="f267" line="34" endline="55" inline="1">
+    <Argument name="d" type="_10010" location="f267:34" file="f267" line="34"/>
+  </Function>
+  <OperatorFunction id="_10665" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time17first_kday_beforeINS0_4dateEEE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::date_time::first_kday_before<b [...]
+    <Argument name="os" type="_3923" location="f268:718" file="f268" line="718"/>
+    <Argument name="fdb" type="_13796" location="f268:718" file="f268" line="718"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10666" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time17first_kday_beforeINS0_4dateEEE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::date_time::first_kday_before<boost::gregorian::d [...]
+    <Argument name="os" type="_3924" location="f268:718" file="f268" line="718"/>
+    <Argument name="fdb" type="_13796" location="f268:718" file="f268" line="718"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10667" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time16first_kday_afterINS0_4dateEEE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::date_time::first_kday_after<boo [...]
+    <Argument name="os" type="_3923" location="f268:659" file="f268" line="659"/>
+    <Argument name="fda" type="_13797" location="f268:659" file="f268" line="659"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10668" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time16first_kday_afterINS0_4dateEEE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::date_time::first_kday_after<boost::gregorian::dat [...]
+    <Argument name="os" type="_3924" location="f268:659" file="f268" line="659"/>
+    <Argument name="fda" type="_13797" location="f268:659" file="f268" line="659"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10669" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time18last_kday_of_monthINS0_4dateEEE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::date_time::last_kday_of_month&lt [...]
+    <Argument name="os" type="_3923" location="f268:601" file="f268" line="601"/>
+    <Argument name="lkd" type="_13798" location="f268:601" file="f268" line="601"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10670" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time18last_kday_of_monthINS0_4dateEEE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::date_time::last_kday_of_month<boost::gregorian: [...]
+    <Argument name="os" type="_3924" location="f268:601" file="f268" line="601"/>
+    <Argument name="lkd" type="_13798" location="f268:601" file="f268" line="601"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10671" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time19first_kday_of_monthINS0_4dateEEE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::date_time::first_kday_of_month& [...]
+    <Argument name="os" type="_3923" location="f268:543" file="f268" line="543"/>
+    <Argument name="fkd" type="_13799" location="f268:543" file="f268" line="543"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10672" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time19first_kday_of_monthINS0_4dateEEE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::date_time::first_kday_of_month<boost::gregoria [...]
+    <Argument name="os" type="_3924" location="f268:543" file="f268" line="543"/>
+    <Argument name="fkd" type="_13799" location="f268:543" file="f268" line="543"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10673" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time17nth_kday_of_monthINS0_4dateEEE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::date_time::nth_kday_of_month<b [...]
+    <Argument name="os" type="_3923" location="f268:485" file="f268" line="485"/>
+    <Argument name="nkd" type="_13800" location="f268:485" file="f268" line="485"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10674" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time17nth_kday_of_monthINS0_4dateEEE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::date_time::nth_kday_of_month<boost::gregorian::d [...]
+    <Argument name="os" type="_3924" location="f268:485" file="f268" line="485"/>
+    <Argument name="nkd" type="_13800" location="f268:485" file="f268" line="485"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10675" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time12partial_dateINS0_4dateEEE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::date_time::partial_date<boost::greg [...]
+    <Argument name="os" type="_3923" location="f268:429" file="f268" line="429"/>
+    <Argument name="pd" type="_13801" location="f268:429" file="f268" line="429"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10676" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time12partial_dateINS0_4dateEEE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::date_time::partial_date<boost::gregorian::date> co [...]
+    <Argument name="os" type="_3924" location="f268:429" file="f268" line="429"/>
+    <Argument name="pd" type="_13801" location="f268:429" file="f268" line="429"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10677" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS0_12greg_weekdayE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::gregorian::greg_weekday const&)" location="f268:289" fi [...]
+    <Argument name="os" type="_3923" location="f268:289" file="f268" line="289"/>
+    <Argument name="gw" type="_13802" location="f268:289" file="f268" line="289"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10678" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS0_12greg_weekdayE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::gregorian::greg_weekday const&)" location="f268:289" file="f268" line="28 [...]
+    <Argument name="os" type="_3924" location="f268:289" file="f268" line="289"/>
+    <Argument name="gw" type="_13802" location="f268:289" file="f268" line="289"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10679" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS0_10greg_monthE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::gregorian::greg_month const&)" location="f268:231" file=" [...]
+    <Argument name="os" type="_3923" location="f268:231" file="f268" line="231"/>
+    <Argument name="gm" type="_13803" location="f268:231" file="f268" line="231"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10680" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS0_10greg_monthE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::gregorian::greg_month const&)" location="f268:231" file="f268" line="231" e [...]
+    <Argument name="os" type="_3924" location="f268:231" file="f268" line="231"/>
+    <Argument name="gm" type="_13803" location="f268:231" file="f268" line="231"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10681" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time6periodINS0_4dateENS9_13date_durationINS9_23duration_traits_adaptedEEEEE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&,  [...]
+    <Argument name="os" type="_3923" location="f268:165" file="f268" line="165"/>
+    <Argument name="dp" type="_9059" location="f268:165" file="f268" line="165"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10682" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time6periodINS0_4dateENS9_13date_durationINS9_23duration_traits_adaptedEEEEE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::date_time:: [...]
+    <Argument name="os" type="_3924" location="f268:165" file="f268" line="165"/>
+    <Argument name="dp" type="_9059" location="f268:165" file="f268" line="165"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10683" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time13date_durationINS9_23duration_traits_adaptedEEE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::date_time::date_d [...]
+    <Argument name="os" type="_3923" location="f268:108" file="f268" line="108"/>
+    <Argument name="dd" type="_10008" location="f268:108" file="f268" line="108"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10684" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS_9date_time13date_durationINS9_23duration_traits_adaptedEEE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::date_time::date_duration<boost:: [...]
+    <Argument name="os" type="_3924" location="f268:108" file="f268" line="108"/>
+    <Argument name="dd" type="_10008" location="f268:108" file="f268" line="108"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10685" name="<<" returns="_3924" context="_3901" mangled="_ZN5boost9gregorianlsIcSt11char_traitsIcEEERSt13basic_ostreamIT_T0_ES8_RKNS0_4dateE" demangled="std::basic_ostream<char, std::char_traits<char> >& boost::gregorian::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::gregorian::date const&)" location="f268:41" file="f268" line="41" endline="60" inl [...]
+    <Argument name="os" type="_3924" location="f268:41" file="f268" line="41"/>
+    <Argument name="d" type="_10010" location="f268:41" file="f268" line="41"/>
+  </OperatorFunction>
+  <OperatorFunction id="_10686" name="<<" returns="_3923" context="_3901" mangled="_ZN5boost9gregorianlsIwSt11char_traitsIwEEERSt13basic_ostreamIT_T0_ES8_RKNS0_4dateE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& boost::gregorian::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, boost::gregorian::date const&)" location="f268:41" file="f268" line="41 [...]
+    <Argument name="os" type="_3923" location="f268:41" file="f268" line="41"/>
+    <Argument name="d" type="_10010" location="f268:41" file="f268" line="41"/>
+  </OperatorFunction>
+  <Class id="_10687" name="date_input_facet<boost::gregorian::date,wchar_t,std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_3904" incomplete="1" mangled="N5boost9date_time16date_input_facetINS_9gregorian4dateEwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE" demangled="boost::date_time::date_input_facet<boost::gregorian::date, wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f1:420" file="f1"  [...]
+  <Typedef id="_10688" name="wdate_input_facet" type="_10687" context="_3901" location="f268:37" file="f268" line="37"/>
+  <Class id="_10689" name="date_input_facet<boost::gregorian::date,char,std::istreambuf_iterator<char, std::char_traits<char> > >" context="_3904" incomplete="1" mangled="N5boost9date_time16date_input_facetINS_9gregorian4dateEcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE" demangled="boost::date_time::date_input_facet<boost::gregorian::date, char, std::istreambuf_iterator<char, std::char_traits<char> > >" location="f1:420" file="f1" line="420" artific [...]
+  <Typedef id="_10690" name="date_input_facet" type="_10689" context="_3901" location="f268:36" file="f268" line="36"/>
+  <Class id="_10691" name="special_values_parser<boost::gregorian::date,wchar_t>" context="_3904" incomplete="1" mangled="N5boost9date_time21special_values_parserINS_9gregorian4dateEwEE" demangled="boost::date_time::special_values_parser<boost::gregorian::date, wchar_t>" location="f269:34" file="f269" line="34" artificial="1" align="8"/>
+  <Typedef id="_10692" name="wspecial_values_parser" type="_10691" context="_3901" location="f268:34" file="f268" line="34"/>
+  <Class id="_10693" name="special_values_parser<boost::gregorian::date,char>" context="_3904" incomplete="1" mangled="N5boost9date_time21special_values_parserINS_9gregorian4dateEcEE" demangled="boost::date_time::special_values_parser<boost::gregorian::date, char>" location="f269:34" file="f269" line="34" artificial="1" align="8"/>
+  <Typedef id="_10694" name="special_values_parser" type="_10693" context="_3901" location="f268:33" file="f268" line="33"/>
+  <Class id="_10695" name="special_values_formatter<wchar_t,std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_3904" incomplete="1" mangled="N5boost9date_time24special_values_formatterIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE" demangled="boost::date_time::special_values_formatter<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f270:31" file="f270" line="31" artificial="1" align="8"/>
+  <Typedef id="_10696" name="wspecial_values_formatter" type="_10695" context="_3901" location="f268:31" file="f268" line="31"/>
+  <Class id="_10697" name="special_values_formatter<char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_3904" mangled="N5boost9date_time24special_values_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE" demangled="boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f270:31" file="f270" line="31" artificial="1" size="96" align="32" members="_13804 _13805 _13 [...]
+  <Typedef id="_10698" name="special_values_formatter" type="_10697" context="_3901" location="f268:30" file="f268" line="30"/>
+  <Class id="_10699" name="period_parser<boost::gregorian::date,wchar_t>" context="_3904" incomplete="1" mangled="N5boost9date_time13period_parserINS_9gregorian4dateEwEE" demangled="boost::date_time::period_parser<boost::gregorian::date, wchar_t>" location="f271:35" file="f271" line="35" artificial="1" align="8"/>
+  <Typedef id="_10700" name="wperiod_parser" type="_10699" context="_3901" location="f268:28" file="f268" line="28"/>
+  <Class id="_10701" name="period_parser<boost::gregorian::date,char>" context="_3904" incomplete="1" mangled="N5boost9date_time13period_parserINS_9gregorian4dateEcEE" demangled="boost::date_time::period_parser<boost::gregorian::date, char>" location="f271:35" file="f271" line="35" artificial="1" align="8"/>
+  <Typedef id="_10702" name="period_parser" type="_10701" context="_3901" location="f268:27" file="f268" line="27"/>
+  <Class id="_10703" name="date_facet<boost::gregorian::date,char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_3904" mangled="N5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f1:45" file="f1" line="45" artificial="1" size="896" align="32" membe [...]
+    <Base type="_4725" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10704" name="date_facet" type="_10703" context="_3901" location="f268:25" file="f268" line="25"/>
+  <Class id="_10705" name="date_facet<boost::gregorian::date,wchar_t,std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_3904" incomplete="1" mangled="N5boost9date_time10date_facetINS_9gregorian4dateEwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE" demangled="boost::date_time::date_facet<boost::gregorian::date, wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f1:45" file="f1" line="45" artificia [...]
+  <Typedef id="_10706" name="wdate_facet" type="_10705" context="_3901" location="f268:24" file="f268" line="24"/>
+  <Class id="_10707" name="period_formatter<char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_3904" mangled="N5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f272:37" file="f272" line="37" artificial="1" size="160" align="32" members="_13884 _13885 _13886 _13887 _13888 _1388 [...]
+  <Typedef id="_10708" name="period_formatter" type="_10707" context="_3901" location="f268:22" file="f268" line="22"/>
+  <Class id="_10709" name="period_formatter<wchar_t,std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" context="_3904" incomplete="1" mangled="N5boost9date_time16period_formatterIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE" demangled="boost::date_time::period_formatter<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >" location="f272:37" file="f272" line="37" artificial="1" align="8"/>
+  <Typedef id="_10710" name="wperiod_formatter" type="_10709" context="_3901" location="f268:21" file="f268" line="21"/>
+  <Class id="_10711" name="date_itr<boost::date_time::year_functor<boost::gregorian::date>,boost::gregorian::date>" context="_3904" incomplete="1" mangled="N5boost9date_time8date_itrINS0_12year_functorINS_9gregorian4dateEEES4_EE" demangled="boost::date_time::date_itr<boost::date_time::year_functor<boost::gregorian::date>, boost::gregorian::date>" location="f273:77" file="f273" line="77" artificial="1" align="8"/>
+  <Typedef id="_10712" name="year_iterator" type="_10711" context="_3901" location="f274:97" file="f274" line="97"/>
+  <Class id="_10713" name="date_itr<boost::date_time::month_functor<boost::gregorian::date>,boost::gregorian::date>" context="_3904" incomplete="1" mangled="N5boost9date_time8date_itrINS0_13month_functorINS_9gregorian4dateEEES4_EE" demangled="boost::date_time::date_itr<boost::date_time::month_functor<boost::gregorian::date>, boost::gregorian::date>" location="f273:77" file="f273" line="77" artificial="1" align="8"/>
+  <Typedef id="_10714" name="month_iterator" type="_10713" context="_3901" location="f274:92" file="f274" line="92"/>
+  <Class id="_10715" name="date_itr<boost::date_time::week_functor<boost::gregorian::date>,boost::gregorian::date>" context="_3904" incomplete="1" mangled="N5boost9date_time8date_itrINS0_12week_functorINS_9gregorian4dateEEES4_EE" demangled="boost::date_time::date_itr<boost::date_time::week_functor<boost::gregorian::date>, boost::gregorian::date>" location="f273:77" file="f273" line="77" artificial="1" align="8"/>
+  <Typedef id="_10716" name="week_iterator" type="_10715" context="_3901" location="f274:87" file="f274" line="87"/>
+  <Class id="_10717" name="date_itr<boost::date_time::day_functor<boost::gregorian::date>,boost::gregorian::date>" context="_3904" incomplete="1" mangled="N5boost9date_time8date_itrINS0_11day_functorINS_9gregorian4dateEEES4_EE" demangled="boost::date_time::date_itr<boost::date_time::day_functor<boost::gregorian::date>, boost::gregorian::date>" location="f273:77" file="f273" line="77" artificial="1" align="8"/>
+  <Typedef id="_10718" name="day_iterator" type="_10717" context="_3901" location="f274:82" file="f274" line="82"/>
+  <Class id="_10719" name="date_itr_base<boost::gregorian::date>" context="_3904" incomplete="1" mangled="N5boost9date_time13date_itr_baseINS_9gregorian4dateEEE" demangled="boost::date_time::date_itr_base<boost::gregorian::date>" location="f273:33" file="f273" line="33" artificial="1" align="8"/>
+  <Typedef id="_10720" name="date_iterator" type="_10719" context="_3901" location="f274:76" file="f274" line="76"/>
+  <Class id="_10721" name="day_clock<boost::gregorian::date>" context="_3904" mangled="N5boost9date_time9day_clockINS_9gregorian4dateEEE" demangled="boost::date_time::day_clock<boost::gregorian::date>" location="f275:26" file="f275" line="26" artificial="1" size="8" align="8" members="_13907 _13908 _13909 _13910 _13911 _13912 _13913 _13914 _13915 " bases=""/>
+  <Typedef id="_10722" name="day_clock" type="_10721" context="_3901" location="f274:71" file="f274" line="71"/>
+  <Class id="_10723" name="first_kday_before<boost::gregorian::date>" context="_3904" mangled="N5boost9date_time17first_kday_beforeINS_9gregorian4dateEEE" demangled="boost::date_time::first_kday_before<boost::gregorian::date>" location="f16:415" file="f16" line="415" artificial="1" size="16" align="16" members="_13916 _13917 _13918 _13919 _13920 _13921 _13922 _13923 " bases=""/>
+  <Typedef id="_10724" name="first_day_of_the_week_before" type="_10725" context="_3901" location="f274:66" file="f274" line="66"/>
+  <Typedef id="_10725" name="first_kday_before" type="_10723" context="_3901" location="f274:65" file="f274" line="65"/>
+  <Class id="_10726" name="first_kday_after<boost::gregorian::date>" context="_3904" mangled="N5boost9date_time16first_kday_afterINS_9gregorian4dateEEE" demangled="boost::date_time::first_kday_after<boost::gregorian::date>" location="f16:377" file="f16" line="377" artificial="1" size="16" align="16" members="_13924 _13925 _13926 _13927 _13928 _13929 _13930 _13931 " bases=""/>
+  <Typedef id="_10727" name="first_day_of_the_week_after" type="_10728" context="_3901" location="f274:63" file="f274" line="63"/>
+  <Typedef id="_10728" name="first_kday_after" type="_10726" context="_3901" location="f274:62" file="f274" line="62"/>
+  <Class id="_10729" name="last_kday_of_month<boost::gregorian::date>" context="_3904" mangled="N5boost9date_time18last_kday_of_monthINS_9gregorian4dateEEE" demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>" location="f16:315" file="f16" line="315" artificial="1" size="64" align="32" members="_13932 _13933 _13934 _13935 _13936 _13937 _13938 _13939 _13940 _13941 _13942 _13943 _13944 _13945 " bases="_10740 ">
+    <Base type="_10740" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10730" name="last_day_of_the_week_in_month" type="_10731" context="_3901" location="f274:60" file="f274" line="60"/>
+  <Typedef id="_10731" name="last_kday_of_month" type="_10729" context="_3901" location="f274:59" file="f274" line="59"/>
+  <Class id="_10732" name="first_kday_of_month<boost::gregorian::date>" context="_3904" mangled="N5boost9date_time19first_kday_of_monthINS_9gregorian4dateEEE" demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>" location="f16:254" file="f16" line="254" artificial="1" size="64" align="32" members="_13946 _13947 _13948 _13949 _13950 _13951 _13952 _13953 _13954 _13955 _13956 _13957 _13958 _13959 " bases="_10740 ">
+    <Base type="_10740" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10733" name="first_day_of_the_week_in_month" type="_10734" context="_3901" location="f274:57" file="f274" line="57"/>
+  <Typedef id="_10734" name="first_kday_of_month" type="_10732" context="_3901" location="f274:56" file="f274" line="56"/>
+  <Class id="_10735" name="nth_kday_of_month<boost::gregorian::date>" context="_3904" mangled="N5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEEE" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>" location="f16:176" file="f16" line="176" artificial="1" size="128" align="32" members="_13960 _13961 _13962 _13963 _13964 _13965 _13966 _13967 _12665 _13968 _13969 _13970 _13971 _13972 _13973 _13974 _13975 _13976 " bases="_10740 ">
+    <Base type="_10740" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10736" name="nth_day_of_the_week_in_month" type="_10737" context="_3901" location="f274:54" file="f274" line="54"/>
+  <Typedef id="_10737" name="nth_kday_of_month" type="_10735" context="_3901" location="f274:53" file="f274" line="53"/>
+  <Class id="_10738" name="partial_date<boost::gregorian::date>" context="_3904" mangled="N5boost9date_time12partial_dateINS_9gregorian4dateEEE" demangled="boost::date_time::partial_date<boost::gregorian::date>" location="f16:55" file="f16" line="55" artificial="1" size="64" align="32" members="_13977 _13978 _13979 _13980 _13981 _13982 _13983 _13984 _13985 _13986 _13987 _13988 _13989 _13990 _13991 _13992 _13993 _13994 _13995 " bases="_10740 ">
+    <Base type="_10740" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10739" name="partial_date" type="_10738" context="_3901" location="f274:51" file="f274" line="51"/>
+  <Class id="_10740" name="year_based_generator<boost::gregorian::date>" context="_3904" abstract="1" mangled="N5boost9date_time20year_based_generatorINS_9gregorian4dateEEE" demangled="boost::date_time::year_based_generator<boost::gregorian::date>" location="f16:31" file="f16" line="31" artificial="1" size="32" align="32" members="_13996 _13997 _13998 _13999 _14000 _14001 _14002 " bases=""/>
+  <Typedef id="_10741" name="year_based_generator" type="_10740" context="_3901" location="f274:48" file="f274" line="48"/>
+  <Class id="_10742" name="period<boost::gregorian::date,boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >" context="_3904" mangled="N5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEE" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >" location="f206:55" file="f206" line="55" artificial="1" size="96" alig [...]
+    <Base type="_3850" access="private" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10743" name="date_period" type="_10742" context="_3901" location="f274:41" file="f274" line="41"/>
+  <Class id="_10744" name="weeks_duration<boost::date_time::duration_traits_adapted>" context="_3904" mangled="N5boost9date_time14weeks_durationINS0_23duration_traits_adaptedEEE" demangled="boost::date_time::weeks_duration<boost::date_time::duration_traits_adapted>" location="f276:22" file="f276" line="22" artificial="1" size="32" align="32" members="_14028 _14029 _14030 " bases="_10009 ">
+    <Base type="_10009" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Typedef id="_10745" name="weeks" type="_10744" context="_3901" location="f277:30" file="f277" line="30"/>
+  <Class id="_10746" name="years_duration<boost::gregorian::greg_durations_config>" context="_3904" mangled="N5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>" location="f276:163" file="f276" line="163" artificial="1" size="32" align="32" members="_14031 _14032 _14033 _14034 _14035 _14036 _14037 _14038 _14039 _14040 _14041 _14042 _14043 _14044 _14045 _14046 _14047 _14 [...]
+  <Typedef id="_10747" name="years" type="_10746" context="_3901" location="f277:29" file="f277" line="29"/>
+  <Class id="_10748" name="months_duration<boost::gregorian::greg_durations_config>" context="_3904" mangled="N5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEE" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>" location="f276:41" file="f276" line="41" artificial="1" size="32" align="32" members="_14056 _14057 _14058 _14059 _14060 _14061 _14062 _14063 _14064 _14065 _14066 _14067 _14068 _14069 _14070 _14071 _14072 _1 [...]
+  <Typedef id="_10749" name="months" type="_10748" context="_3901" location="f277:28" file="f277" line="28"/>
+  <Struct id="_10750" name="greg_durations_config" context="_3901" mangled="N5boost9gregorian21greg_durations_configE" demangled="boost::gregorian::greg_durations_config" location="f277:22" file="f277" line="22" artificial="1" size="8" align="8" members="_14083 _14084 _14085 _14086 _14087 " bases=""/>
+  <Typedef id="_10751" name="days" type="_10752" context="_3901" location="f278:32" file="f278" line="32"/>
+  <Typedef id="_10752" name="date_duration" type="_10009" context="_3901" location="f278:29" file="f278" line="29"/>
+  <Struct id="_10753" name="duration_traits_adapted" context="_3904" mangled="N5boost9date_time23duration_traits_adaptedE" demangled="boost::date_time::duration_traits_adapted" location="f202:136" file="f202" line="136" artificial="1" size="8" align="8" members="_14088 _14089 _14090 _14091 _14092 " bases=""/>
+  <Typedef id="_10754" name="date_duration_rep" type="_10753" context="_3901" location="f278:24" file="f278" line="24"/>
+  <Class id="_10755" name="gregorian_calendar" context="_3901" mangled="N5boost9gregorian18gregorian_calendarE" demangled="boost::gregorian::gregorian_calendar" location="f279:26" file="f279" line="26" artificial="1" size="8" align="8" members="_14093 _14094 _14095 _14096 _14097 _14098 " bases="_11272 ">
+    <Base type="_11272" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_10756" name="int_adapter<long unsigned int>" context="_3904" mangled="N5boost9date_time11int_adapterImEE" demangled="boost::date_time::int_adapter<unsigned long>" location="f280:38" file="f280" line="38" artificial="1" size="32" align="32" members="_14099 _14100 _14101 _14102 _14103 _14104 _14105 _14106 _14107 _14108 _14109 _14110 _14111 _14112 _14113 _14114 _14115 _14116 _14117 _14118 _14119 _14120 _14121 _14122 _14123 _14124 _14125 _14126 _14127 _14128 _14129  [...]
+  <Typedef id="_10757" name="fancy_date_rep" type="_10756" context="_3901" location="f279:22" file="f279" line="22"/>
+  <Struct id="_10758" name="year_month_day_base<boost::gregorian::greg_year,boost::gregorian::greg_month,boost::gregorian::greg_day>" context="_3904" mangled="N5boost9date_time19year_month_day_baseINS_9gregorian9greg_yearENS2_10greg_monthENS2_8greg_dayEEE" demangled="boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>" location="f281:17" file="f281" line="17" artificial="1" size="48" align="16" members=" [...]
+  <Typedef id="_10759" name="greg_year_month_day" type="_10758" context="_3901" location="f282:23" file="f282" line="23"/>
+  <Class id="_10760" name="greg_month" context="_3901" mangled="N5boost9gregorian10greg_monthE" demangled="boost::gregorian::greg_month" location="f19:55" file="f19" line="55" artificial="1" size="16" align="16" members="_14149 _14150 _14151 _14152 _14153 _14154 _14155 _14156 _14157 _14158 _14159 _14160 _14161 _14162 _14163 _14164 _14165 _14166 " bases="_10761 ">
+    <Base type="_10761" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_10761" name="constrained_value<boost::CV::simple_exception_policy<short unsigned int, 1, 12, boost::gregorian::bad_month> >" context="_3902" mangled="N5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEEEE" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> >" location="f26:37" file="f26" line="37" artificial="1" size="16" align="16" [...]
+  <Typedef id="_10762" name="greg_month_rep" type="_10761" context="_3901" location="f19:51" file="f19" line="51"/>
+  <Class id="_10763" name="simple_exception_policy<short unsigned int,1,12,boost::gregorian::bad_month>" context="_3902" mangled="N5boost2CV23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEE" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month>" location="f26:80" file="f26" line="80" artificial="1" size="8" align="8" members="_14176 _14177 _14178 _14179 _14180 _14181 " bases=""/>
+  <Typedef id="_10764" name="greg_month_policies" type="_10763" context="_3901" location="f19:49" file="f19" line="49"/>
+  <Struct id="_10765" name="bad_month" context="_3901" mangled="N5boost9gregorian9bad_monthE" demangled="boost::gregorian::bad_month" location="f19:45" file="f19" line="45" artificial="1" size="64" align="32" members="_14182 _14183 _14184 " bases="_2044 ">
+    <Base type="_2044" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Enumeration id="_10766" name="months_of_year" context="_3904" location="f283:20" file="f283" line="20" artificial="1" size="32" align="32">
+    <EnumValue name="Jan" init="1"/>
+    <EnumValue name="Feb" init="2"/>
+    <EnumValue name="Mar" init="3"/>
+    <EnumValue name="Apr" init="4"/>
+    <EnumValue name="May" init="5"/>
+    <EnumValue name="Jun" init="6"/>
+    <EnumValue name="Jul" init="7"/>
+    <EnumValue name="Aug" init="8"/>
+    <EnumValue name="Sep" init="9"/>
+    <EnumValue name="Oct" init="10"/>
+    <EnumValue name="Nov" init="11"/>
+    <EnumValue name="Dec" init="12"/>
+    <EnumValue name="NotAMonth" init="13"/>
+    <EnumValue name="NumMonths" init="14"/>
+  </Enumeration>
+  <Typedef id="_10767" name="months_of_year" type="_10766" context="_3901" location="f19:25" file="f19" line="25"/>
+  <Class id="_10768" name="greg_year" context="_3901" mangled="N5boost9gregorian9greg_yearE" demangled="boost::gregorian::greg_year" location="f23:39" file="f23" line="39" artificial="1" size="16" align="16" members="_14185 _14186 _14187 " bases="_10769 ">
+    <Base type="_10769" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_10769" name="constrained_value<boost::CV::simple_exception_policy<short unsigned int, 1400, 10000, boost::gregorian::bad_year> >" context="_3902" mangled="N5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEEEE" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> >" location="f26:37" file="f26" line="37" artificial="1" size= [...]
+  <Typedef id="_10770" name="greg_year_rep" type="_10769" context="_3901" location="f23:30" file="f23" line="30"/>
+  <Class id="_10771" name="simple_exception_policy<short unsigned int,1400,10000,boost::gregorian::bad_year>" context="_3902" mangled="N5boost2CV23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEE" demangled="boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year>" location="f26:80" file="f26" line="80" artificial="1" size="8" align="8" members="_14197 _14198 _14199 _14200 _14201 _14202 " bases=""/>
+  <Typedef id="_10772" name="greg_year_policies" type="_10771" context="_3901" location="f23:27" file="f23" line="27"/>
+  <Struct id="_10773" name="bad_year" context="_3901" mangled="N5boost9gregorian8bad_yearE" demangled="boost::gregorian::bad_year" location="f23:21" file="f23" line="21" artificial="1" size="64" align="32" members="_14203 _14204 _14205 " bases="_2044 ">
+    <Base type="_2044" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Class id="_10774" name="constrained_value<boost::CV::simple_exception_policy<short unsigned int, 1, 31, boost::gregorian::bad_day_of_month> >" context="_3902" mangled="N5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEEEE" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> >" location="f26:37" file="f26" line="37" artificial="1 [...]
+  <Typedef id="_10775" name="greg_day_rep" type="_10774" context="_3901" location="f24:34" file="f24" line="34"/>
+  <Class id="_10776" name="simple_exception_policy<short unsigned int,1,31,boost::gregorian::bad_day_of_month>" context="_3902" mangled="N5boost2CV23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEE" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month>" location="f26:80" file="f26" line="80" artificial="1" size="8" align="8" members="_14215 _14216 _14217 _14218 _14219 _14220 " bases=""/>
+  <Typedef id="_10777" name="greg_day_policies" type="_10776" context="_3901" location="f24:31" file="f24" line="31"/>
+  <Struct id="_10778" name="bad_day_of_month" context="_3901" mangled="N5boost9gregorian16bad_day_of_monthE" demangled="boost::gregorian::bad_day_of_month" location="f24:21" file="f24" line="21" artificial="1" size="64" align="32" members="_14221 _14222 _14223 _14224 " bases="_2044 ">
+    <Base type="_2044" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Class id="_10779" name="constrained_value<boost::CV::simple_exception_policy<short unsigned int, 1, 366, boost::gregorian::bad_day_of_year> >" context="_3902" mangled="N5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEEEE" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >" location="f26:37" file="f26" line="37" artificial="1 [...]
+  <Typedef id="_10780" name="greg_day_of_year_rep" type="_10779" context="_3901" location="f25:31" file="f25" line="31"/>
+  <Class id="_10781" name="simple_exception_policy<short unsigned int,1,366,boost::gregorian::bad_day_of_year>" context="_3902" mangled="N5boost2CV23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEE" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year>" location="f26:80" file="f26" line="80" artificial="1" size="8" align="8" members="_14234 _14235 _14236 _14237 _14238 _14239 " bases=""/>
+  <Typedef id="_10782" name="greg_day_of_year_policies" type="_10781" context="_3901" location="f25:28" file="f25" line="28"/>
+  <Struct id="_10783" name="bad_day_of_year" context="_3901" mangled="N5boost9gregorian15bad_day_of_yearE" demangled="boost::gregorian::bad_day_of_year" location="f25:21" file="f25" line="21" artificial="1" size="64" align="32" members="_14240 _14241 _14242 " bases="_2044 ">
+    <Base type="_2044" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Class id="_10784" name="greg_weekday" context="_3901" mangled="N5boost9gregorian12greg_weekdayE" demangled="boost::gregorian::greg_weekday" location="f27:41" file="f27" line="41" artificial="1" size="16" align="16" members="_14243 _14244 _14245 _14246 _14247 _14248 _14249 _14250 _14251 " bases="_10785 ">
+    <Base type="_10785" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_10785" name="constrained_value<boost::CV::simple_exception_policy<short unsigned int, 0, 6, boost::gregorian::bad_weekday> >" context="_3902" mangled="N5boost2CV17constrained_valueINS0_23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEEEE" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> >" location="f26:37" file="f26" line="37" artificial="1" size="16" align= [...]
+  <Typedef id="_10786" name="greg_weekday_rep" type="_10785" context="_3901" location="f27:37" file="f27" line="37"/>
+  <Class id="_10787" name="simple_exception_policy<short unsigned int,0,6,boost::gregorian::bad_weekday>" context="_3902" mangled="N5boost2CV23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEE" demangled="boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday>" location="f26:80" file="f26" line="80" artificial="1" size="8" align="8" members="_14261 _14262 _14263 _14264 _14265 _14266 " bases=""/>
+  <Typedef id="_10788" name="greg_weekday_policies" type="_10787" context="_3901" location="f27:36" file="f27" line="36"/>
+  <Struct id="_10789" name="bad_weekday" context="_3901" mangled="N5boost9gregorian11bad_weekdayE" demangled="boost::gregorian::bad_weekday" location="f27:33" file="f27" line="33" artificial="1" size="64" align="32" members="_14267 _14268 _14269 " bases="_2044 ">
+    <Base type="_2044" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Enumeration id="_10790" name="violation_enum" context="_3902" location="f26:19" file="f26" line="19" artificial="1" size="32" align="32">
+    <EnumValue name="min_violation" init="0"/>
+    <EnumValue name="max_violation" init="1"/>
+  </Enumeration>
+  <Struct id="_10791" name="minimum_category<boost::forward_traversal_tag,boost::random_access_traversal_tag>" context="_3903" mangled="N5boost6detail16minimum_categoryINS_21forward_traversal_tagENS_27random_access_traversal_tagEEE" demangled="boost::detail::minimum_category<boost::forward_traversal_tag, boost::random_access_traversal_tag>" location="f284:78" file="f284" line="78" artificial="1" size="8" align="8" members="_14270 _14272 _14273 _14274 _14275 " bases=""/>
+  <Struct id="_10792" name="minimum_category<mpl_::arg<1>,mpl_::arg<2> >" context="_3903" mangled="N5boost6detail16minimum_categoryIN4mpl_3argILi1EEENS3_ILi2EEEEE" demangled="boost::detail::minimum_category<mpl_::arg<1>, mpl_::arg<2> >" location="f284:98" file="f284" line="98" artificial="1" size="8" align="8" members="_14276 _14277 " bases=""/>
+  <Struct id="_10793" name="minimum_category_impl<false,true>" context="_3903" mangled="N5boost6detail21minimum_category_implILb0ELb1EEE" demangled="boost::detail::minimum_category_impl<false, true>" location="f284:50" file="f284" line="50" artificial="1" size="8" align="8" members="_14278 _14279 " bases=""/>
+  <Struct id="_10794" name="minimum_category_impl<false,false>" context="_3903" mangled="N5boost6detail21minimum_category_implILb0ELb0EEE" demangled="boost::detail::minimum_category_impl<false, false>" location="f284:69" file="f284" line="69" artificial="1" size="8" align="8" members="_14280 _14281 " bases=""/>
+  <Struct id="_10795" name="minimum_category_impl<true,true>" context="_3903" mangled="N5boost6detail21minimum_category_implILb1ELb1EEE" demangled="boost::detail::minimum_category_impl<true, true>" location="f284:59" file="f284" line="59" artificial="1" size="8" align="8" members="_14282 _14283 " bases=""/>
+  <Struct id="_10796" name="minimum_category_impl<true,false>" context="_3903" mangled="N5boost6detail21minimum_category_implILb1ELb0EEE" demangled="boost::detail::minimum_category_impl<true, false>" location="f284:41" file="f284" line="41" artificial="1" size="8" align="8" members="_14284 _14285 " bases=""/>
+  <Struct id="_10797" name="alignment_of_impl<boost::detail::function::function_buffer>" context="_3903" mangled="N5boost6detail17alignment_of_implINS0_8function15function_bufferEEE" demangled="boost::detail::alignment_of_impl<boost::detail::function::function_buffer>" location="f133:51" file="f133" line="51" artificial="1" size="8" align="8" members="_14286 _14287 _14288 " bases=""/>
+  <Struct id="_10798" name="alignment_logic<4,12>" context="_3903" mangled="N5boost6detail15alignment_logicILj4ELj12EEE" demangled="boost::detail::alignment_logic<4, 12>" location="f133:44" file="f133" line="44" artificial="1" size="8" align="8" members="_14289 _14290 _14291 " bases=""/>
+  <Struct id="_10799" name="alignment_logic<(sizeof (boost::detail::alignment_of_hack<T>) - sizeof (T)),sizeof (T)>" context="_3903" mangled="N5boost6detail15alignment_logicIXmistNS0_17alignment_of_hackIT_EEstS3_EXstS3_EEE" location="f133:44" file="f133" line="44" artificial="1" size="0" align="8" members="_14292 " bases=""/>
+  <Struct id="_10800" name="alignment_of_hack<boost::detail::function::function_buffer>" context="_3903" mangled="N5boost6detail17alignment_of_hackINS0_8function15function_bufferEEE" demangled="boost::detail::alignment_of_hack<boost::detail::function::function_buffer>" location="f133:35" file="f133" line="35" artificial="1" size="128" align="32" members="_14293 _14294 _14295 _14296 " bases=""/>
+  <Function id="_10801" name="lexical_cast" returns="_1202" context="_3903" mangled="_ZN5boost6detail12lexical_castIsSsLb0EcEET_NS_11call_traitsIT0_E10param_typeEPT2_j" demangled="short boost::detail::lexical_cast<short, std::string, false, char>(boost::call_traits<std::string>::param_type, char*, unsigned)" location="f2:1025" file="f2" line="1025" endline="1055">
+    <Argument name="arg" type="_4948" location="f2:1025" file="f2" line="1025"/>
+    <Argument name="buf" type="_1149" location="f2:1025" file="f2" line="1025"/>
+    <Argument name="src_len" type="_1698" location="f2:1025" file="f2" line="1025"/>
+  </Function>
+  <Function id="_10802" name="lexical_cast" returns="_1574" context="_3903" mangled="_ZN5boost6detail12lexical_castIxSsLb0EcEET_NS_11call_traitsIT0_E10param_typeEPT2_j" demangled="long long boost::detail::lexical_cast<long long, std::string, false, char>(boost::call_traits<std::string>::param_type, char*, unsigned)" location="f2:1025" file="f2" line="1025" endline="1055">
+    <Argument name="arg" type="_4948" location="f2:1025" file="f2" line="1025"/>
+    <Argument name="buf" type="_1149" location="f2:1025" file="f2" line="1025"/>
+    <Argument name="src_len" type="_1698" location="f2:1025" file="f2" line="1025"/>
+  </Function>
+  <Function id="_10803" name="lexical_cast" returns="_503" context="_3903" mangled="_ZN5boost6detail12lexical_castIiSsLb0EcEET_NS_11call_traitsIT0_E10param_typeEPT2_j" demangled="int boost::detail::lexical_cast<int, std::string, false, char>(boost::call_traits<std::string>::param_type, char*, unsigned)" location="f2:1025" file="f2" line="1025" endline="1055">
+    <Argument name="arg" type="_4948" location="f2:1025" file="f2" line="1025"/>
+    <Argument name="buf" type="_1149" location="f2:1025" file="f2" line="1025"/>
+    <Argument name="src_len" type="_1698" location="f2:1025" file="f2" line="1025"/>
+  </Function>
+  <Function id="_10804" name="lexical_cast" returns="_1199" context="_3903" mangled="_ZN5boost6detail12lexical_castItSsLb0EcEET_NS_11call_traitsIT0_E10param_typeEPT2_j" demangled="unsigned short boost::detail::lexical_cast<unsigned short, std::string, false, char>(boost::call_traits<std::string>::param_type, char*, unsigned)" location="f2:1025" file="f2" line="1025" endline="1055">
+    <Argument name="arg" type="_4948" location="f2:1025" file="f2" line="1025"/>
+    <Argument name="buf" type="_1149" location="f2:1025" file="f2" line="1025"/>
+    <Argument name="src_len" type="_1698" location="f2:1025" file="f2" line="1025"/>
+  </Function>
+  <Struct id="_10805" name="array_to_pointer_decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail22array_to_pointer_decayISsEE" demangled="boost::detail::array_to_pointer_decay<std::string>" location="f2:1007" file="f2" line="1007" artificial="1" size="8" align="8" members="_14297 _14298 _14299 " bases=""/>
+  <Struct id="_10806" name="lcast_streambuf_for_target<short int>" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_targetIsEE" demangled="boost::detail::lcast_streambuf_for_target<short>" location="f2:948" file="f2" line="948" artificial="1" size="8" align="8" members="_14300 _14301 _14302 " bases=""/>
+  <Struct id="_10807" name="lcast_streambuf_for_target<long long int>" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_targetIxEE" demangled="boost::detail::lcast_streambuf_for_target<long long>" location="f2:948" file="f2" line="948" artificial="1" size="8" align="8" members="_14303 _14304 _14305 " bases=""/>
+  <Struct id="_10808" name="lcast_streambuf_for_target<int>" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_targetIiEE" demangled="boost::detail::lcast_streambuf_for_target<int>" location="f2:948" file="f2" line="948" artificial="1" size="8" align="8" members="_14306 _14307 _14308 " bases=""/>
+  <Struct id="_10809" name="lcast_streambuf_for_target<short unsigned int>" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_targetItEE" demangled="boost::detail::lcast_streambuf_for_target<unsigned short>" location="f2:948" file="f2" line="948" artificial="1" size="8" align="8" members="_14309 _14310 _14311 " bases=""/>
+  <Struct id="_10810" name="lcast_streambuf_for_target<wchar_t>" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_targetIwEE" demangled="boost::detail::lcast_streambuf_for_target<wchar_t>" location="f2:961" file="f2" line="961" artificial="1" size="8" align="8" members="_14312 _14313 _14314 " bases=""/>
+  <Struct id="_10811" name="lcast_streambuf_for_target<char>" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_targetIcEE" demangled="boost::detail::lcast_streambuf_for_target<char>" location="f2:954" file="f2" line="954" artificial="1" size="8" align="8" members="_14315 _14316 _14317 " bases=""/>
+  <Struct id="_10812" name="lcast_streambuf_for_source<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_sourceISsEE" demangled="boost::detail::lcast_streambuf_for_source<std::string>" location="f2:920" file="f2" line="920" artificial="1" size="8" align="8" members="_14318 _14319 _14320 " bases=""/>
+  <Struct id="_10813" name="lcast_streambuf_for_source<long double>" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_sourceIeEE" demangled="boost::detail::lcast_streambuf_for_source<long double>" location="f2:938" file="f2" line="938" artificial="1" size="8" align="8" members="_14321 _14322 _14323 " bases=""/>
+  <Struct id="_10814" name="lcast_streambuf_for_source<double>" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_sourceIdEE" demangled="boost::detail::lcast_streambuf_for_source<double>" location="f2:932" file="f2" line="932" artificial="1" size="8" align="8" members="_14324 _14325 _14326 " bases=""/>
+  <Struct id="_10815" name="lcast_streambuf_for_source<float>" context="_3903" mangled="N5boost6detail26lcast_streambuf_for_sourceIfEE" demangled="boost::detail::lcast_streambuf_for_source<float>" location="f2:926" file="f2" line="926" artificial="1" size="8" align="8" members="_14327 _14328 _14329 " bases=""/>
+  <Class id="_10816" name="lexical_stream_limited_src<char,boost::detail::lexical_streambuf<char> >" context="_3903" mangled="N5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEEE" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >" location="f2:593" file="f2" line="593" artificial="1" size="320" align="32" members="_14330 _14331 _14332 _14333 _14334 _14335 _14336 _14337 _14338 _14339 _14340 _143 [...]
+    <Base type="_10825" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_10817" name="lexical_stream<short int,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" incomplete="1" mangled="N5boost6detail14lexical_streamIsSsEE" demangled="boost::detail::lexical_stream<short, std::string>" location="f2:522" file="f2" line="522" artificial="1" align="8"/>
+  <Class id="_10818" name="lexical_stream<long long int,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" incomplete="1" mangled="N5boost6detail14lexical_streamIxSsEE" demangled="boost::detail::lexical_stream<long long, std::string>" location="f2:522" file="f2" line="522" artificial="1" align="8"/>
+  <Class id="_10819" name="lexical_stream<int,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" incomplete="1" mangled="N5boost6detail14lexical_streamIiSsEE" demangled="boost::detail::lexical_stream<int, std::string>" location="f2:522" file="f2" line="522" artificial="1" align="8"/>
+  <Class id="_10820" name="lexical_stream<short unsigned int,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" incomplete="1" mangled="N5boost6detail14lexical_streamItSsEE" demangled="boost::detail::lexical_stream<unsigned short, std::string>" location="f2:522" file="f2" line="522" artificial="1" align="8"/>
+  <Function id="_10821" name="lcast_to_unsigned" returns="_3886" context="_3903" mangled="_ZN5boost6detail17lcast_to_unsignedEx" demangled="boost::detail::lcast_to_unsigned(long long)" location="f2:438" file="f2" line="438" endline="441" inline="1">
+    <Argument name="v" type="_3887" location="f2:438" file="f2" line="438"/>
+  </Function>
+  <Function id="_10822" name="lcast_to_unsigned" returns="_643" context="_3903" mangled="_ZN5boost6detail17lcast_to_unsignedEl" demangled="boost::detail::lcast_to_unsigned(long)" location="f2:431" file="f2" line="431" endline="434" inline="1">
+    <Argument name="value" type="_1553" location="f2:431" file="f2" line="431"/>
+  </Function>
+  <Function id="_10823" name="lcast_to_unsigned" returns="_837" context="_3903" mangled="_ZN5boost6detail17lcast_to_unsignedEi" demangled="boost::detail::lcast_to_unsigned(int)" location="f2:425" file="f2" line="425" endline="428" inline="1">
+    <Argument name="value" type="_503" location="f2:425" file="f2" line="425"/>
+  </Function>
+  <Struct id="_10824" name="lexical_streambuf_fake<char>" context="_3903" incomplete="1" mangled="N5boost6detail22lexical_streambuf_fakeIcEE" demangled="boost::detail::lexical_streambuf_fake<char>" location="f2:412" file="f2" line="412" artificial="1" align="8"/>
+  <Class id="_10825" name="lexical_streambuf<char>" context="_3903" mangled="N5boost6detail17lexical_streambufIcEE" demangled="boost::detail::lexical_streambuf<char>" location="f2:407" file="f2" line="407" artificial="1" size="256" align="32" members="_14356 _14357 _14358 " bases="_2473 ">
+    <Base type="_2473" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Struct id="_10826" name="lcast_char_constants<wchar_t>" context="_3903" mangled="N5boost6detail20lcast_char_constantsIwEE" demangled="boost::detail::lcast_char_constants<wchar_t>" location="f2:396" file="f2" line="396" artificial="1" size="8" align="8" members="_14359 _14360 _14361 _14362 " bases=""/>
+  <Struct id="_10827" name="lcast_char_constants<char>" context="_3903" mangled="N5boost6detail20lcast_char_constantsIcEE" demangled="boost::detail::lcast_char_constants<char>" location="f2:388" file="f2" line="388" artificial="1" size="8" align="8" members="_14363 _14364 _14365 _14366 " bases=""/>
+  <Struct id="_10828" name="lcast_src_length_floating<long double>" context="_3903" mangled="N5boost6detail25lcast_src_length_floatingIeEE" demangled="boost::detail::lcast_src_length_floating<long double>" location="f2:325" file="f2" line="325" artificial="1" size="8" align="8" members="_14367 _14368 _14369 _14370 " bases=""/>
+  <Struct id="_10829" name="lcast_src_length_floating<double>" context="_3903" mangled="N5boost6detail25lcast_src_length_floatingIdEE" demangled="boost::detail::lcast_src_length_floating<double>" location="f2:325" file="f2" line="325" artificial="1" size="8" align="8" members="_14371 _14372 _14373 _14374 " bases=""/>
+  <Struct id="_10830" name="lcast_src_length_floating<float>" context="_3903" mangled="N5boost6detail25lcast_src_length_floatingIfEE" demangled="boost::detail::lcast_src_length_floating<float>" location="f2:325" file="f2" line="325" artificial="1" size="8" align="8" members="_14375 _14376 _14377 _14378 " bases=""/>
+  <Struct id="_10831" name="lcast_src_length_integral<long long int>" context="_3903" mangled="N5boost6detail25lcast_src_length_integralIxEE" demangled="boost::detail::lcast_src_length_integral<long long>" location="f2:269" file="f2" line="269" artificial="1" size="8" align="8" members="_14379 _14380 _14381 " bases=""/>
+  <Struct id="_10832" name="lcast_src_length_integral<long long unsigned int>" context="_3903" mangled="N5boost6detail25lcast_src_length_integralIyEE" demangled="boost::detail::lcast_src_length_integral<unsigned long long>" location="f2:269" file="f2" line="269" artificial="1" size="8" align="8" members="_14382 _14383 _14384 " bases=""/>
+  <Struct id="_10833" name="lcast_src_length_integral<long unsigned int>" context="_3903" mangled="N5boost6detail25lcast_src_length_integralImEE" demangled="boost::detail::lcast_src_length_integral<unsigned long>" location="f2:269" file="f2" line="269" artificial="1" size="8" align="8" members="_14385 _14386 _14387 " bases=""/>
+  <Struct id="_10834" name="lcast_src_length_integral<long int>" context="_3903" mangled="N5boost6detail25lcast_src_length_integralIlEE" demangled="boost::detail::lcast_src_length_integral<long>" location="f2:269" file="f2" line="269" artificial="1" size="8" align="8" members="_14388 _14389 _14390 " bases=""/>
+  <Struct id="_10835" name="lcast_src_length_integral<unsigned int>" context="_3903" mangled="N5boost6detail25lcast_src_length_integralIjEE" demangled="boost::detail::lcast_src_length_integral<unsigned>" location="f2:269" file="f2" line="269" artificial="1" size="8" align="8" members="_14391 _14392 _14393 " bases=""/>
+  <Struct id="_10836" name="lcast_src_length_integral<int>" context="_3903" mangled="N5boost6detail25lcast_src_length_integralIiEE" demangled="boost::detail::lcast_src_length_integral<int>" location="f2:269" file="f2" line="269" artificial="1" size="8" align="8" members="_14394 _14395 _14396 " bases=""/>
+  <Struct id="_10837" name="lcast_src_length_integral<short unsigned int>" context="_3903" mangled="N5boost6detail25lcast_src_length_integralItEE" demangled="boost::detail::lcast_src_length_integral<unsigned short>" location="f2:269" file="f2" line="269" artificial="1" size="8" align="8" members="_14397 _14398 _14399 " bases=""/>
+  <Struct id="_10838" name="lcast_src_length_integral<short int>" context="_3903" mangled="N5boost6detail25lcast_src_length_integralIsEE" demangled="boost::detail::lcast_src_length_integral<short>" location="f2:269" file="f2" line="269" artificial="1" size="8" align="8" members="_14400 _14401 _14402 " bases=""/>
+  <Struct id="_10839" name="lcast_src_length<char,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcSsEE" demangled="boost::detail::lcast_src_length<char, std::string>" location="f2:145" file="f2" line="145" artificial="1" size="8" align="8" members="_14403 _14404 _14405 _14406 " bases=""/>
+  <Struct id="_10840" name="lcast_src_length<wchar_t,long double>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIweEE" demangled="boost::detail::lcast_src_length<wchar_t, long double>" location="f2:374" file="f2" line="374" artificial="1" size="8" align="8" members="_14407 _14408 _14409 " bases="_10828 ">
+    <Base type="_10828" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10841" name="lcast_src_length<wchar_t,double>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwdEE" demangled="boost::detail::lcast_src_length<wchar_t, double>" location="f2:367" file="f2" line="367" artificial="1" size="8" align="8" members="_14410 _14411 _14412 " bases="_10829 ">
+    <Base type="_10829" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10842" name="lcast_src_length<wchar_t,float>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwfEE" demangled="boost::detail::lcast_src_length<wchar_t, float>" location="f2:360" file="f2" line="360" artificial="1" size="8" align="8" members="_14413 _14414 _14415 " bases="_10830 ">
+    <Base type="_10830" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10843" name="lcast_src_length<char,long double>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIceEE" demangled="boost::detail::lcast_src_length<char, long double>" location="f2:352" file="f2" line="352" artificial="1" size="8" align="8" members="_14416 _14417 _14418 " bases="_10828 ">
+    <Base type="_10828" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10844" name="lcast_src_length<char,double>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcdEE" demangled="boost::detail::lcast_src_length<char, double>" location="f2:345" file="f2" line="345" artificial="1" size="8" align="8" members="_14419 _14420 _14421 " bases="_10829 ">
+    <Base type="_10829" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10845" name="lcast_src_length<char,float>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcfEE" demangled="boost::detail::lcast_src_length<char, float>" location="f2:338" file="f2" line="338" artificial="1" size="8" align="8" members="_14422 _14423 _14424 " bases="_10830 ">
+    <Base type="_10830" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10846" name="lcast_src_length<wchar_t,long long int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwxEE" demangled="boost::detail::lcast_src_length<wchar_t, long long>" location="f2:301" file="f2" line="301" artificial="1" size="8" align="8" members="_14425 _14426 _14427 " bases="_10831 ">
+    <Base type="_10831" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10847" name="lcast_src_length<char,long long int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcxEE" demangled="boost::detail::lcast_src_length<char, long long>" location="f2:301" file="f2" line="301" artificial="1" size="8" align="8" members="_14428 _14429 _14430 " bases="_10831 ">
+    <Base type="_10831" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10848" name="lcast_src_length<wchar_t,long long unsigned int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwyEE" demangled="boost::detail::lcast_src_length<wchar_t, unsigned long long>" location="f2:300" file="f2" line="300" artificial="1" size="8" align="8" members="_14431 _14432 _14433 " bases="_10832 ">
+    <Base type="_10832" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10849" name="lcast_src_length<char,long long unsigned int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcyEE" demangled="boost::detail::lcast_src_length<char, unsigned long long>" location="f2:300" file="f2" line="300" artificial="1" size="8" align="8" members="_14434 _14435 _14436 " bases="_10832 ">
+    <Base type="_10832" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10850" name="lcast_src_length<wchar_t,long unsigned int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwmEE" demangled="boost::detail::lcast_src_length<wchar_t, unsigned long>" location="f2:298" file="f2" line="298" artificial="1" size="8" align="8" members="_14437 _14438 _14439 " bases="_10833 ">
+    <Base type="_10833" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10851" name="lcast_src_length<char,long unsigned int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcmEE" demangled="boost::detail::lcast_src_length<char, unsigned long>" location="f2:298" file="f2" line="298" artificial="1" size="8" align="8" members="_14440 _14441 _14442 " bases="_10833 ">
+    <Base type="_10833" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10852" name="lcast_src_length<wchar_t,long int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwlEE" demangled="boost::detail::lcast_src_length<wchar_t, long>" location="f2:297" file="f2" line="297" artificial="1" size="8" align="8" members="_14443 _14444 _14445 " bases="_10834 ">
+    <Base type="_10834" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10853" name="lcast_src_length<char,long int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIclEE" demangled="boost::detail::lcast_src_length<char, long>" location="f2:297" file="f2" line="297" artificial="1" size="8" align="8" members="_14446 _14447 _14448 " bases="_10834 ">
+    <Base type="_10834" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10854" name="lcast_src_length<wchar_t,unsigned int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwjEE" demangled="boost::detail::lcast_src_length<wchar_t, unsigned>" location="f2:296" file="f2" line="296" artificial="1" size="8" align="8" members="_14449 _14450 _14451 " bases="_10835 ">
+    <Base type="_10835" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10855" name="lcast_src_length<char,unsigned int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcjEE" demangled="boost::detail::lcast_src_length<char, unsigned>" location="f2:296" file="f2" line="296" artificial="1" size="8" align="8" members="_14452 _14453 _14454 " bases="_10835 ">
+    <Base type="_10835" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10856" name="lcast_src_length<wchar_t,int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwiEE" demangled="boost::detail::lcast_src_length<wchar_t, int>" location="f2:295" file="f2" line="295" artificial="1" size="8" align="8" members="_14455 _14456 _14457 " bases="_10836 ">
+    <Base type="_10836" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10857" name="lcast_src_length<char,int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIciEE" demangled="boost::detail::lcast_src_length<char, int>" location="f2:295" file="f2" line="295" artificial="1" size="8" align="8" members="_14458 _14459 _14460 " bases="_10836 ">
+    <Base type="_10836" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10858" name="lcast_src_length<wchar_t,short unsigned int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwtEE" demangled="boost::detail::lcast_src_length<wchar_t, unsigned short>" location="f2:294" file="f2" line="294" artificial="1" size="8" align="8" members="_14461 _14462 _14463 " bases="_10837 ">
+    <Base type="_10837" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10859" name="lcast_src_length<char,short unsigned int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIctEE" demangled="boost::detail::lcast_src_length<char, unsigned short>" location="f2:294" file="f2" line="294" artificial="1" size="8" align="8" members="_14464 _14465 _14466 " bases="_10837 ">
+    <Base type="_10837" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10860" name="lcast_src_length<wchar_t,short int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwsEE" demangled="boost::detail::lcast_src_length<wchar_t, short>" location="f2:293" file="f2" line="293" artificial="1" size="8" align="8" members="_14467 _14468 _14469 " bases="_10838 ">
+    <Base type="_10838" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10861" name="lcast_src_length<char,short int>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcsEE" demangled="boost::detail::lcast_src_length<char, short>" location="f2:293" file="f2" line="293" artificial="1" size="8" align="8" members="_14470 _14471 _14472 " bases="_10838 ">
+    <Base type="_10838" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10862" name="lcast_src_length<wchar_t,wchar_t*>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwPwEE" demangled="boost::detail::lcast_src_length<wchar_t, wchar_t*>" location="f2:223" file="f2" line="223" artificial="1" size="8" align="8" members="_14473 _14474 _14475 _14476 " bases=""/>
+  <Struct id="_10863" name="lcast_src_length<wchar_t,const wchar_t*>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwPKwEE" demangled="boost::detail::lcast_src_length<wchar_t, wchar_t const*>" location="f2:216" file="f2" line="216" artificial="1" size="8" align="8" members="_14477 _14478 _14479 _14480 " bases=""/>
+  <Struct id="_10864" name="lcast_src_length<char,char*>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcPcEE" demangled="boost::detail::lcast_src_length<char, char*>" location="f2:208" file="f2" line="208" artificial="1" size="8" align="8" members="_14481 _14482 _14483 _14484 " bases=""/>
+  <Struct id="_10865" name="lcast_src_length<char,const char*>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcPKcEE" demangled="boost::detail::lcast_src_length<char, char const*>" location="f2:201" file="f2" line="201" artificial="1" size="8" align="8" members="_14485 _14486 _14487 _14488 " bases=""/>
+  <Struct id="_10866" name="lcast_src_length<wchar_t,wchar_t>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwwEE" demangled="boost::detail::lcast_src_length<wchar_t, wchar_t>" location="f2:192" file="f2" line="192" artificial="1" size="8" align="8" members="_14489 _14490 _14491 _14492 " bases=""/>
+  <Struct id="_10867" name="lcast_src_length<wchar_t,char>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwcEE" demangled="boost::detail::lcast_src_length<wchar_t, char>" location="f2:184" file="f2" line="184" artificial="1" size="8" align="8" members="_14493 _14494 _14495 _14496 " bases=""/>
+  <Struct id="_10868" name="lcast_src_length<wchar_t,bool>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIwbEE" demangled="boost::detail::lcast_src_length<wchar_t, bool>" location="f2:177" file="f2" line="177" artificial="1" size="8" align="8" members="_14497 _14498 _14499 _14500 " bases=""/>
+  <Struct id="_10869" name="lcast_src_length<char,char>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIccEE" demangled="boost::detail::lcast_src_length<char, char>" location="f2:161" file="f2" line="161" artificial="1" size="8" align="8" members="_14501 _14502 _14503 _14504 " bases=""/>
+  <Struct id="_10870" name="lcast_src_length<char,bool>" context="_3903" mangled="N5boost6detail16lcast_src_lengthIcbEE" demangled="boost::detail::lcast_src_length<char, bool>" location="f2:154" file="f2" line="154" artificial="1" size="8" align="8" members="_14505 _14506 _14507 _14508 " bases=""/>
+  <Struct id="_10871" name="widest_char<char,char>" context="_3903" mangled="N5boost6detail11widest_charIccEE" demangled="boost::detail::widest_char<char, char>" location="f2:119" file="f2" line="119" artificial="1" size="8" align="8" members="_14509 _14510 _14511 " bases=""/>
+  <Struct id="_10872" name="widest_char<char,wchar_t>" context="_3903" mangled="N5boost6detail11widest_charIcwEE" demangled="boost::detail::widest_char<char, wchar_t>" location="f2:125" file="f2" line="125" artificial="1" size="8" align="8" members="_14512 _14513 _14514 " bases=""/>
+  <Struct id="_10873" name="stream_char<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail11stream_charISsEE" demangled="boost::detail::stream_char<std::string>" location="f2:85" file="f2" line="85" artificial="1" size="8" align="8" members="_14515 _14516 _14517 " bases=""/>
+  <Struct id="_10874" name="stream_char<short int>" context="_3903" mangled="N5boost6detail11stream_charIsEE" demangled="boost::detail::stream_char<short>" location="f2:85" file="f2" line="85" artificial="1" size="8" align="8" members="_14518 _14519 _14520 " bases=""/>
+  <Struct id="_10875" name="stream_char<long long int>" context="_3903" mangled="N5boost6detail11stream_charIxEE" demangled="boost::detail::stream_char<long long>" location="f2:85" file="f2" line="85" artificial="1" size="8" align="8" members="_14521 _14522 _14523 " bases=""/>
+  <Struct id="_10876" name="stream_char<int>" context="_3903" mangled="N5boost6detail11stream_charIiEE" demangled="boost::detail::stream_char<int>" location="f2:85" file="f2" line="85" artificial="1" size="8" align="8" members="_14524 _14525 _14526 " bases=""/>
+  <Struct id="_10877" name="stream_char<short unsigned int>" context="_3903" mangled="N5boost6detail11stream_charItEE" demangled="boost::detail::stream_char<unsigned short>" location="f2:85" file="f2" line="85" artificial="1" size="8" align="8" members="_14527 _14528 _14529 " bases=""/>
+  <Struct id="_10878" name="stream_char<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail11stream_charISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::stream_char<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f2:112" file="f2" line="112" artificial="1" size="8" align="8" members="_14530 _14531 _14532 " bases=""/>
+  <Struct id="_10879" name="stream_char<const wchar_t*>" context="_3903" mangled="N5boost6detail11stream_charIPKwEE" demangled="boost::detail::stream_char<wchar_t const*>" location="f2:106" file="f2" line="106" artificial="1" size="8" align="8" members="_14533 _14534 _14535 " bases=""/>
+  <Struct id="_10880" name="stream_char<wchar_t*>" context="_3903" mangled="N5boost6detail11stream_charIPwEE" demangled="boost::detail::stream_char<wchar_t*>" location="f2:100" file="f2" line="100" artificial="1" size="8" align="8" members="_14536 _14537 _14538 " bases=""/>
+  <Struct id="_10881" name="stream_char<wchar_t>" context="_3903" mangled="N5boost6detail11stream_charIwEE" demangled="boost::detail::stream_char<wchar_t>" location="f2:93" file="f2" line="93" artificial="1" size="8" align="8" members="_14539 _14540 _14541 " bases=""/>
+  <Function id="_10882" name="lcast_set_precision" returns="_1194" context="_3903" mangled="_ZN5boost6detail19lcast_set_precisionIsEEvRSt8ios_basePT_" demangled="void boost::detail::lcast_set_precision<short>(std::ios_base&, short*)" location="f285:163" file="f285" line="163" endline="164" inline="1">
+    <Argument name="stream" type="_4942" location="f285:163" file="f285" line="163"/>
+    <Argument type="_14542" location="f285:163" file="f285" line="163"/>
+  </Function>
+  <Function id="_10883" name="lcast_set_precision" returns="_1194" context="_3903" mangled="_ZN5boost6detail19lcast_set_precisionIxEEvRSt8ios_basePT_" demangled="void boost::detail::lcast_set_precision<long long>(std::ios_base&, long long*)" location="f285:163" file="f285" line="163" endline="164" inline="1">
+    <Argument name="stream" type="_4942" location="f285:163" file="f285" line="163"/>
+    <Argument type="_14543" location="f285:163" file="f285" line="163"/>
+  </Function>
+  <Function id="_10884" name="lcast_set_precision" returns="_1194" context="_3903" mangled="_ZN5boost6detail19lcast_set_precisionIiEEvRSt8ios_basePT_" demangled="void boost::detail::lcast_set_precision<int>(std::ios_base&, int*)" location="f285:163" file="f285" line="163" endline="164" inline="1">
+    <Argument name="stream" type="_4942" location="f285:163" file="f285" line="163"/>
+    <Argument type="_2748" location="f285:163" file="f285" line="163"/>
+  </Function>
+  <Function id="_10885" name="lcast_set_precision" returns="_1194" context="_3903" mangled="_ZN5boost6detail19lcast_set_precisionItEEvRSt8ios_basePT_" demangled="void boost::detail::lcast_set_precision<unsigned short>(std::ios_base&, unsigned short*)" location="f285:163" file="f285" line="163" endline="164" inline="1">
+    <Argument name="stream" type="_4942" location="f285:163" file="f285" line="163"/>
+    <Argument type="_3092" location="f285:163" file="f285" line="163"/>
+  </Function>
+  <Function id="_10886" name="lcast_get_precision" returns="_2499" context="_3903" mangled="_ZN5boost6detail19lcast_get_precisionIsEEiPT_" demangled="int boost::detail::lcast_get_precision<short>(short*)" location="f285:94" file="f285" line="94" endline="96" inline="1">
+    <Argument type="_14542" location="f285:94" file="f285" line="94" default="0"/>
+  </Function>
+  <Function id="_10887" name="lcast_get_precision" returns="_2499" context="_3903" mangled="_ZN5boost6detail19lcast_get_precisionIxEEiPT_" demangled="int boost::detail::lcast_get_precision<long long>(long long*)" location="f285:94" file="f285" line="94" endline="96" inline="1">
+    <Argument type="_14543" location="f285:94" file="f285" line="94" default="0"/>
+  </Function>
+  <Function id="_10888" name="lcast_get_precision" returns="_2499" context="_3903" mangled="_ZN5boost6detail19lcast_get_precisionIiEEiPT_" demangled="int boost::detail::lcast_get_precision<int>(int*)" location="f285:94" file="f285" line="94" endline="96" inline="1">
+    <Argument type="_2748" location="f285:94" file="f285" line="94" default="0"/>
+  </Function>
+  <Function id="_10889" name="lcast_get_precision" returns="_2499" context="_3903" mangled="_ZN5boost6detail19lcast_get_precisionItEEiPT_" demangled="int boost::detail::lcast_get_precision<unsigned short>(unsigned short*)" location="f285:94" file="f285" line="94" endline="96" inline="1">
+    <Argument type="_3092" location="f285:94" file="f285" line="94" default="0"/>
+  </Function>
+  <Struct id="_10890" name="lcast_precision<short int>" context="_3903" mangled="N5boost6detail15lcast_precisionIsEE" demangled="boost::detail::lcast_precision<short>" location="f285:40" file="f285" line="40" artificial="1" size="8" align="8" members="_14544 _14545 _14546 _14547 _14548 _14549 _14550 _14551 _14552 _14553 _14554 _14555 " bases=""/>
+  <Struct id="_10891" name="lcast_precision<long long int>" context="_3903" mangled="N5boost6detail15lcast_precisionIxEE" demangled="boost::detail::lcast_precision<long long>" location="f285:40" file="f285" line="40" artificial="1" size="8" align="8" members="_14556 _14557 _14558 _14559 _14560 _14561 _14562 _14563 _14564 _14565 _14566 _14567 " bases=""/>
+  <Struct id="_10892" name="lcast_precision<int>" context="_3903" mangled="N5boost6detail15lcast_precisionIiEE" demangled="boost::detail::lcast_precision<int>" location="f285:40" file="f285" line="40" artificial="1" size="8" align="8" members="_14568 _14569 _14570 _14571 _14572 _14573 _14574 _14575 _14576 _14577 _14578 _14579 " bases=""/>
+  <Struct id="_10893" name="lcast_precision<short unsigned int>" context="_3903" mangled="N5boost6detail15lcast_precisionItEE" demangled="boost::detail::lcast_precision<unsigned short>" location="f285:40" file="f285" line="40" artificial="1" size="8" align="8" members="_14580 _14581 _14582 _14583 _14584 _14585 _14586 _14587 _14588 _14589 _14590 _14591 " bases=""/>
+  <Struct id="_10894" name="lcast_precision<long double>" context="_3903" mangled="N5boost6detail15lcast_precisionIeEE" demangled="boost::detail::lcast_precision<long double>" location="f285:40" file="f285" line="40" artificial="1" size="8" align="8" members="_14592 _14593 _14594 _14595 _14596 _14597 _14598 _14599 _14600 _14601 _14602 _14603 " bases=""/>
+  <Struct id="_10895" name="lcast_precision<double>" context="_3903" mangled="N5boost6detail15lcast_precisionIdEE" demangled="boost::detail::lcast_precision<double>" location="f285:40" file="f285" line="40" artificial="1" size="8" align="8" members="_14604 _14605 _14606 _14607 _14608 _14609 _14610 _14611 _14612 _14613 _14614 _14615 " bases=""/>
+  <Struct id="_10896" name="lcast_precision<float>" context="_3903" mangled="N5boost6detail15lcast_precisionIfEE" demangled="boost::detail::lcast_precision<float>" location="f285:40" file="f285" line="40" artificial="1" size="8" align="8" members="_14616 _14617 _14618 _14619 _14620 _14621 _14622 _14623 _14624 _14625 _14626 _14627 " bases=""/>
+  <Class id="_10897" name="lcast_abstract_stub" context="_3903" mangled="N5boost6detail19lcast_abstract_stubE" demangled="boost::detail::lcast_abstract_stub" location="f285:32" file="f285" line="32" artificial="1" size="8" align="8" members="_14628 _14629 " bases=""/>
+  <Struct id="_10898" name="ct_imp<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,false,false>" context="_3903" mangled="N5boost6detail6ct_impISsLb0ELb0EEE" demangled="boost::detail::ct_imp<std::string, false, false>" location="f135:48" file="f135" line="48" artificial="1" size="8" align="8" members="_14630 _14631 _14632 " bases=""/>
+  <Struct id="_10899" name="enable_type" context="_3903" incomplete="1" mangled="N5boost6detail11enable_typeE" demangled="boost::detail::enable_type" location="f139:61" file="f139" line="61" artificial="1" align="8"/>
+  <Struct id="_10900" name="choose_difference_type" context="_3903" mangled="N5boost6detail22choose_difference_typeE" demangled="boost::detail::choose_difference_type" location="f140:407" file="f140" line="407" artificial="1" size="8" align="8" members="_14633 _14634 " bases=""/>
+  <Struct id="_10901" name="operator_brackets_result<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wch [...]
+  <Struct id="_10902" name="operator_brackets_result<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,const std::basic_string<char, std::char_traits<char>,  [...]
+  <Struct id="_10903" name="operator_brackets_result<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,const std::basic_strin [...]
+  <Struct id="_10904" name="use_operator_brackets_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>" context="_3903" mangled="N5boost6detail27use_operator_brackets_proxyISbIwSt11char_traitsIwESaIwEERKS5_EE" demangled="boost::detail::use_operator_brackets_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t& [...]
+    <Base type="_10521" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10905" name="use_operator_brackets_proxy<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>" context="_3903" mangled="N5boost6detail27use_operator_brackets_proxyISsRKSsEE" demangled="boost::detail::use_operator_brackets_proxy<std::string, std::string const&>" location="f140:382" file="f140" line="382" artificial="1" size [...]
+    <Base type="_10523" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Class id="_10906" name="operator_brackets_proxy<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" incomplete="1" mangled="N5boost6detail23operator_brackets_proxyI [...]
+  <Class id="_10907" name="operator_brackets_proxy<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" incomplete="1" mangled="N5boost6detail23operator_brackets_proxyINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iter [...]
+  <Class id="_10908" name="operator_brackets_proxy<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" incomplete="1" mangled="N5boost6detail23operator_brackets_proxyINS_14token_iteratorINS_14ch [...]
+  <Struct id="_10909" name="operator_arrow_result<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_3903" mangled="N5boost6detail21operator_arrow_resultISsRKSsPS2_EE" demangled="boost::detail::operator_arrow_result<std::string, std::str [...]
+  <Struct id="_10910" name="operator_arrow_result<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>" context="_3903" mangled="N5boost6detail21operator_arrow_resultISbIwSt11char_traitsIwESaIwEERKS5_PS6_EE" demangled="boost:: [...]
+  <Struct id="_10911" name="operator_arrow_proxy<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" incomplete="1" mangled="N5boost6detail20operator_arrow_proxyISsEE" demangled="boost::detail::operator_arrow_proxy<std::string>" location="f140:300" file="f140" line="300" artificial="1" align="8"/>
+  <Struct id="_10912" name="operator_arrow_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" incomplete="1" mangled="N5boost6detail20operator_arrow_proxyISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::operator_arrow_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f140:300" file="f140" line="300" artificial="1" align="8"/>
+  <Struct id="_10913" name="enable_if_interoperable<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, s [...]
+    <Base type="_10425" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10914" name="enable_if_interoperable<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_i [...]
+    <Base type="_10426" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10915" name="always_bool2" context="_3903" mangled="N5boost6detail12always_bool2E" demangled="boost::detail::always_bool2" location="f140:51" file="f140" line="51" artificial="1" size="8" align="8" members="_14660 _14661 " bases=""/>
+  <Struct id="_10916" name="is_pod_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail11is_pod_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_pod_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f141:33" file="f141" line="33" artificial="1" size="8" align="8" members="_14662 _14663 _14664 " bases=""/>
+  <Struct id="_10917" name="is_pod_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail11is_pod_implISsEE" demangled="boost::detail::is_pod_impl<std::string>" location="f141:33" file="f141" line="33" artificial="1" size="8" align="8" members="_14665 _14666 _14667 " bases=""/>
+  <Struct id="_10918" name="is_pod_impl<const volatile void>" context="_3903" mangled="N5boost6detail11is_pod_implIVKvEE" demangled="boost::detail::is_pod_impl<void volatile const>" location="f141:123" file="f141" line="123" artificial="1" size="8" align="8" members="_14668 _14669 _14670 " bases=""/>
+  <Struct id="_10919" name="is_pod_impl<volatile void>" context="_3903" mangled="N5boost6detail11is_pod_implIVvEE" demangled="boost::detail::is_pod_impl<void volatile>" location="f141:122" file="f141" line="122" artificial="1" size="8" align="8" members="_14671 _14672 _14673 " bases=""/>
+  <Struct id="_10920" name="is_pod_impl<const void>" context="_3903" mangled="N5boost6detail11is_pod_implIKvEE" demangled="boost::detail::is_pod_impl<void const>" location="f141:121" file="f141" line="121" artificial="1" size="8" align="8" members="_14674 _14675 _14676 " bases=""/>
+  <Struct id="_10921" name="is_pod_impl<void>" context="_3903" mangled="N5boost6detail11is_pod_implIvEE" demangled="boost::detail::is_pod_impl<void>" location="f141:118" file="f141" line="118" artificial="1" size="8" align="8" members="_14677 _14678 _14679 " bases=""/>
+  <Struct id="_10922" name="is_scalar_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail14is_scalar_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_scalar_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f142:28" file="f142" line="28" artificial="1" size="8" align="8" members="_14680 _14681 _14682 " [...]
+  <Struct id="_10923" name="is_scalar_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail14is_scalar_implISsEE" demangled="boost::detail::is_scalar_impl<std::string>" location="f142:28" file="f142" line="28" artificial="1" size="8" align="8" members="_14683 _14684 _14685 " bases=""/>
+  <Struct id="_10924" name="is_scalar_impl<const volatile void>" context="_3903" mangled="N5boost6detail14is_scalar_implIVKvEE" demangled="boost::detail::is_scalar_impl<void volatile const>" location="f142:44" file="f142" line="44" artificial="1" size="8" align="8" members="_14686 _14687 _14688 " bases=""/>
+  <Struct id="_10925" name="is_scalar_impl<volatile void>" context="_3903" mangled="N5boost6detail14is_scalar_implIVvEE" demangled="boost::detail::is_scalar_impl<void volatile>" location="f142:43" file="f142" line="43" artificial="1" size="8" align="8" members="_14689 _14690 _14691 " bases=""/>
+  <Struct id="_10926" name="is_scalar_impl<const void>" context="_3903" mangled="N5boost6detail14is_scalar_implIKvEE" demangled="boost::detail::is_scalar_impl<void const>" location="f142:42" file="f142" line="42" artificial="1" size="8" align="8" members="_14692 _14693 _14694 " bases=""/>
+  <Struct id="_10927" name="is_scalar_impl<void>" context="_3903" mangled="N5boost6detail14is_scalar_implIvEE" demangled="boost::detail::is_scalar_impl<void>" location="f142:40" file="f142" line="40" artificial="1" size="8" align="8" members="_14695 _14696 _14697 " bases=""/>
+  <Struct id="_10928" name="is_enum_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail12is_enum_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_enum_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f143:101" file="f143" line="101" artificial="1" size="8" align="8" members="_14698 _14699 _14700 _1470 [...]
+  <Struct id="_10929" name="is_enum_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail12is_enum_implISsEE" demangled="boost::detail::is_enum_impl<std::string>" location="f143:101" file="f143" line="101" artificial="1" size="8" align="8" members="_14704 _14705 _14706 _14707 _14708 _14709 " bases=""/>
+  <Struct id="_10930" name="is_enum_impl<const volatile void>" context="_3903" mangled="N5boost6detail12is_enum_implIVKvEE" demangled="boost::detail::is_enum_impl<void volatile const>" location="f143:161" file="f143" line="161" artificial="1" size="8" align="8" members="_14710 _14711 _14712 " bases=""/>
+  <Struct id="_10931" name="is_enum_impl<volatile void>" context="_3903" mangled="N5boost6detail12is_enum_implIVvEE" demangled="boost::detail::is_enum_impl<void volatile>" location="f143:160" file="f143" line="160" artificial="1" size="8" align="8" members="_14713 _14714 _14715 " bases=""/>
+  <Struct id="_10932" name="is_enum_impl<const void>" context="_3903" mangled="N5boost6detail12is_enum_implIKvEE" demangled="boost::detail::is_enum_impl<void const>" location="f143:159" file="f143" line="159" artificial="1" size="8" align="8" members="_14716 _14717 _14718 " bases=""/>
+  <Struct id="_10933" name="is_enum_impl<void>" context="_3903" mangled="N5boost6detail12is_enum_implIvEE" demangled="boost::detail::is_enum_impl<void>" location="f143:157" file="f143" line="157" artificial="1" size="8" align="8" members="_14719 _14720 _14721 " bases=""/>
+  <Struct id="_10934" name="is_enum_helper<true>" context="_3903" mangled="N5boost6detail14is_enum_helperILb1EEE" demangled="boost::detail::is_enum_helper<true>" location="f143:84" file="f143" line="84" artificial="1" size="8" align="8" members="_14722 _14723 " bases=""/>
+  <Struct id="_10935" name="is_enum_helper<false>" context="_3903" mangled="N5boost6detail14is_enum_helperILb0EEE" demangled="boost::detail::is_enum_helper<false>" location="f143:93" file="f143" line="93" artificial="1" size="8" align="8" members="_14724 _14725 " bases=""/>
+  <Struct id="_10936" name="type<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_10934" access="public" mangled="N5boost6detail14is_enum_helperILb1EE4typeISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_enum_helper<true>::type<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f143:86" file="f143" line="86" artificial="1" size="8" align [...]
+  <Struct id="_10937" name="type<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_10934" access="public" mangled="N5boost6detail14is_enum_helperILb1EE4typeISsEE" demangled="boost::detail::is_enum_helper<true>::type<std::string>" location="f143:86" file="f143" line="86" artificial="1" size="8" align="8" members="_14729 _14730 _14731 " bases=""/>
+  <Struct id="_10938" name="int_convertible" context="_3903" mangled="N5boost6detail15int_convertibleE" demangled="boost::detail::int_convertible" location="f143:76" file="f143" line="76" artificial="1" size="8" align="8" members="_14732 _14733 " bases=""/>
+  <Struct id="_10939" name="is_class_or_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail17is_class_or_unionISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_class_or_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f143:42" file="f143" line="42" artificial="1" size="8" align="8" members="_14734 _14735 [...]
+  <Struct id="_10940" name="is_class_or_union<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail17is_class_or_unionISsEE" demangled="boost::detail::is_class_or_union<std::string>" location="f143:42" file="f143" line="42" artificial="1" size="8" align="8" members="_14737 _14738 _14739 " bases=""/>
+  <Struct id="_10941" name="add_pointer_impl<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail16add_pointer_implIKSbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::add_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>" location="f144:57" file="f144" line="57" artificial="1" size="8" align="8" members="_147 [...]
+  <Struct id="_10942" name="add_pointer_impl<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail16add_pointer_implIKSsEE" demangled="boost::detail::add_pointer_impl<std::string const>" location="f144:57" file="f144" line="57" artificial="1" size="8" align="8" members="_14744 _14745 _14746 _14747 " bases=""/>
+  <Struct id="_10943" name="facade_iterator_category<boost::forward_traversal_tag,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>" context="_3903" mangled="N5boost6detail24facade_iterator_categoryINS_21forward_traversal_tagESbIwSt11char_traitsIwESaIwEERKS6_EE" demangled="boost::detail::facade_iterator_category<boost::forw [...]
+    <Base type="_10544" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10944" name="facade_iterator_category<boost::forward_traversal_tag,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>" context="_3903" mangled="N5boost6detail24facade_iterator_categoryINS_21forward_traversal_tagESsRKSsEE" demangled="boost::detail::facade_iterator_category<boost::forward_traversal_tag, std::string, std::string c [...]
+    <Base type="_10549" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10945" name="facade_iterator_category_impl<boost::forward_traversal_tag,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>" context="_3903" mangled="N5boost6detail29facade_iterator_category_implINS_21forward_traversal_tagESbIwSt11char_traitsIwESaIwEERKS6_EE" demangled="boost::detail::facade_iterator_category_impl [...]
+  <Struct id="_10946" name="facade_iterator_category_impl<boost::forward_traversal_tag,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>" context="_3903" mangled="N5boost6detail29facade_iterator_category_implINS_21forward_traversal_tagESsRKSsEE" demangled="boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::string [...]
+  <Struct id="_10947" name="iterator_category_with_traversal<std::forward_iterator_tag,boost::forward_traversal_tag>" context="_3903" incomplete="1" mangled="N5boost6detail32iterator_category_with_traversalISt20forward_iterator_tagNS_21forward_traversal_tagEEE" demangled="boost::detail::iterator_category_with_traversal<std::forward_iterator_tag, boost::forward_traversal_tag>" location="f146:140" file="f146" line="140" artificial="1" align="8"/>
+  <Struct id="_10948" name="is_iterator_category<boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail20is_iterator_categoryINS_21forward_traversal_tagEEE" demangled="boost::detail::is_iterator_category<boost::forward_traversal_tag>" location="f146:123" file="f146" line="123" artificial="1" size="8" align="8" members="_14762 _14763 " bases="_10519 ">
+    <Base type="_10519" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10949" name="iterator_facade_default_category<boost::forward_traversal_tag,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>" context="_3903" mangled="N5boost6detail32iterator_facade_default_categoryINS_21forward_traversal_tagESbIwSt11char_traitsIwESaIwEERKS6_EE" demangled="boost::detail::iterator_facade_default [...]
+    <Base type="_10545" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10950" name="iterator_facade_default_category<boost::forward_traversal_tag,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>" context="_3903" mangled="N5boost6detail32iterator_facade_default_categoryINS_21forward_traversal_tagESsRKSsEE" demangled="boost::detail::iterator_facade_default_category<boost::forward_traversal_tag, st [...]
+    <Base type="_10555" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10951" name="iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>" context="_3903" mangled="N5boost6detail29iterator_writability_disabledISbIwSt11char_traitsIwESaIwEERKS5_EE" demangled="boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wc [...]
+    <Base type="_10517" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10952" name="iterator_writability_disabled<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>" context="_3903" mangled="N5boost6detail29iterator_writability_disabledISsRKSsEE" demangled="boost::detail::iterator_writability_disabled<std::string, std::string const&>" location="f146:69" file="f146" line="69" artificial="1"  [...]
+    <Base type="_10518" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10953" name="input_output_iterator_tag" context="_3903" mangled="N5boost6detail25input_output_iterator_tagE" demangled="boost::detail::input_output_iterator_tag" location="f146:40" file="f146" line="40" artificial="1" size="8" align="8" members="_14772 _14773 _14774 " bases="_2704 ">
+    <Base type="_2704" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10954" name="is_class_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail13is_class_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_class_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f148:58" file="f148" line="58" artificial="1" size="8" align="8" members="_14775 _14776 _14777 " ba [...]
+  <Struct id="_10955" name="is_class_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail13is_class_implISsEE" demangled="boost::detail::is_class_impl<std::string>" location="f148:58" file="f148" line="58" artificial="1" size="8" align="8" members="_14778 _14779 _14780 " bases=""/>
+  <Function id="_10956" name="is_class_tester" returns="_10449" context="_3903" mangled="_ZN5boost6detail15is_class_testerISbIwSt11char_traitsIwESaIwEEEENS_11type_traits7no_typeEz" demangled="boost::type_traits::no_type boost::detail::is_class_tester<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(...)" location="f148:54" file="f148" line="54" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10957" name="is_class_tester" returns="_10449" context="_3903" mangled="_ZN5boost6detail15is_class_testerISsEENS_11type_traits7no_typeEz" demangled="boost::type_traits::no_type boost::detail::is_class_tester<std::string>(...)" location="f148:54" file="f148" line="54" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_10958" name="is_class_tester" returns="_10450" context="_3903" mangled="_ZN5boost6detail15is_class_testerISbIwSt11char_traitsIwESaIwEEEEcMT_FvvE" demangled="char boost::detail::is_class_tester<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(void (std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::*)())" location="f148:53" file="f148" line="53" extern="1">
+    <Argument type="_14781" location="f148:53" file="f148" line="53"/>
+  </Function>
+  <Function id="_10959" name="is_class_tester" returns="_10450" context="_3903" mangled="_ZN5boost6detail15is_class_testerISsEEcMT_FvvE" demangled="char boost::detail::is_class_tester<std::string>(void (std::string::*)())" location="f148:53" file="f148" line="53" extern="1">
+    <Argument type="_14782" location="f148:53" file="f148" line="53"/>
+  </Function>
+  <Struct id="_10960" name="is_union_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail13is_union_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_union_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f149:37" file="f149" line="37" artificial="1" size="8" align="8" members="_14783 _14784 _14785 " ba [...]
+  <Struct id="_10961" name="is_union_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail13is_union_implISsEE" demangled="boost::detail::is_union_impl<std::string>" location="f149:37" file="f149" line="37" artificial="1" size="8" align="8" members="_14786 _14787 _14788 " bases=""/>
+  <Struct id="_10962" name="is_pointer_impl<short int>" context="_3903" mangled="N5boost6detail15is_pointer_implIsEE" demangled="boost::detail::is_pointer_impl<short>" location="f150:67" file="f150" line="67" artificial="1" size="8" align="8" members="_14789 _14790 _14791 " bases=""/>
+  <Struct id="_10963" name="is_pointer_impl<long long int>" context="_3903" mangled="N5boost6detail15is_pointer_implIxEE" demangled="boost::detail::is_pointer_impl<long long>" location="f150:67" file="f150" line="67" artificial="1" size="8" align="8" members="_14792 _14793 _14794 " bases=""/>
+  <Struct id="_10964" name="is_pointer_impl<int>" context="_3903" mangled="N5boost6detail15is_pointer_implIiEE" demangled="boost::detail::is_pointer_impl<int>" location="f150:67" file="f150" line="67" artificial="1" size="8" align="8" members="_14795 _14796 _14797 " bases=""/>
+  <Struct id="_10965" name="is_pointer_impl<short unsigned int>" context="_3903" mangled="N5boost6detail15is_pointer_implItEE" demangled="boost::detail::is_pointer_impl<unsigned short>" location="f150:67" file="f150" line="67" artificial="1" size="8" align="8" members="_14798 _14799 _14800 " bases=""/>
+  <Struct id="_10966" name="is_pointer_impl<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail15is_pointer_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::detail::is_pointer_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::al [...]
+  <Struct id="_10967" name="is_pointer_impl<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail15is_pointer_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::detail::is_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f150:67" file="f150" line="67" artificial="1" size="8" align="8" members="_1480 [...]
+  <Struct id="_10968" name="is_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail15is_pointer_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f150:67" file="f150" line="67" artificial="1" size="8" align="8" members="_14807 _14808 _1480 [...]
+  <Struct id="_10969" name="is_pointer_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail15is_pointer_implISsEE" demangled="boost::detail::is_pointer_impl<std::string>" location="f150:67" file="f150" line="67" artificial="1" size="8" align="8" members="_14810 _14811 _14812 " bases=""/>
+  <Struct id="_10970" name="is_pointer_helper<short int>" context="_3903" mangled="N5boost6detail17is_pointer_helperIsEE" demangled="boost::detail::is_pointer_helper<short>" location="f150:50" file="f150" line="50" artificial="1" size="8" align="8" members="_14813 _14814 _14815 " bases=""/>
+  <Struct id="_10971" name="is_pointer_helper<long long int>" context="_3903" mangled="N5boost6detail17is_pointer_helperIxEE" demangled="boost::detail::is_pointer_helper<long long>" location="f150:50" file="f150" line="50" artificial="1" size="8" align="8" members="_14816 _14817 _14818 " bases=""/>
+  <Struct id="_10972" name="is_pointer_helper<int>" context="_3903" mangled="N5boost6detail17is_pointer_helperIiEE" demangled="boost::detail::is_pointer_helper<int>" location="f150:50" file="f150" line="50" artificial="1" size="8" align="8" members="_14819 _14820 _14821 " bases=""/>
+  <Struct id="_10973" name="is_pointer_helper<short unsigned int>" context="_3903" mangled="N5boost6detail17is_pointer_helperItEE" demangled="boost::detail::is_pointer_helper<unsigned short>" location="f150:50" file="f150" line="50" artificial="1" size="8" align="8" members="_14822 _14823 _14824 " bases=""/>
+  <Struct id="_10974" name="is_pointer_helper<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail17is_pointer_helperIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::detail::is_pointer_helper<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, s [...]
+  <Struct id="_10975" name="is_pointer_helper<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail17is_pointer_helperIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::detail::is_pointer_helper<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f150:50" file="f150" line="50" artificial="1" size="8" align="8" members= [...]
+  <Struct id="_10976" name="is_pointer_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail17is_pointer_helperISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_pointer_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f150:50" file="f150" line="50" artificial="1" size="8" align="8" members="_14831 _14832 [...]
+  <Struct id="_10977" name="is_pointer_helper<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail17is_pointer_helperISsEE" demangled="boost::detail::is_pointer_helper<std::string>" location="f150:50" file="f150" line="50" artificial="1" size="8" align="8" members="_14834 _14835 _14836 " bases=""/>
+  <Struct id="_10978" name="is_function_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail16is_function_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_function_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f154:57" file="f154" line="57" artificial="1" size="8" align="8" members="_14837 _14838 "  [...]
+    <Base type="_14839" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10979" name="is_function_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail16is_function_implISsEE" demangled="boost::detail::is_function_impl<std::string>" location="f154:57" file="f154" line="57" artificial="1" size="8" align="8" members="_14840 _14841 " bases="_14842 ">
+    <Base type="_14842" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10980" name="is_function_chooser<false>" context="_3903" mangled="N5boost6detail19is_function_chooserILb0EEE" demangled="boost::detail::is_function_chooser<false>" location="f154:46" file="f154" line="46" artificial="1" size="8" align="8" members="_14843 _14844 " bases=""/>
+  <Struct id="_10981" name="old_category_to_traversal<std::forward_iterator_tag>" context="_3903" mangled="N5boost6detail25old_category_to_traversalISt20forward_iterator_tagEE" demangled="boost::detail::old_category_to_traversal<std::forward_iterator_tag>" location="f156:98" file="f156" line="98" artificial="1" size="8" align="8" members="_14845 _14846 " bases="_10550 ">
+    <Base type="_10550" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10982" name="old_category_to_traversal<std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail25old_category_to_traversalISt26random_access_iterator_tagEE" demangled="boost::detail::old_category_to_traversal<std::random_access_iterator_tag>" location="f156:98" file="f156" line="98" artificial="1" size="8" align="8" members="_14847 _14848 " bases="_10557 ">
+    <Base type="_10557" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10983" name="is_convertible_impl_dispatch<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsI [...]
+    <Base type="_11035" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10984" name="is_convertible_impl_dispatch<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char&g [...]
+    <Base type="_11036" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10985" name="is_convertible_impl_dispatch<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__nor [...]
+    <Base type="_11037" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10986" name="is_convertible_impl_dispatch<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EE" demangled="boost::detail::is_conv [...]
+    <Base type="_11038" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10987" name="is_convertible_impl_dispatch<std::forward_iterator_tag,std::forward_iterator_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagS2_EE" demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::forward_iterator_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14857 _14858 " bases="_11039 ">
+    <Base type="_11039" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10988" name="is_convertible_impl_dispatch<std::forward_iterator_tag,std::bidirectional_iterator_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagSt26bidirectional_iterator_tagEE" demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::bidirectional_iterator_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14859 _14860 " bases="_11040 ">
+    <Base type="_11040" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10989" name="is_convertible_impl_dispatch<std::forward_iterator_tag,std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagSt26random_access_iterator_tagEE" demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::random_access_iterator_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14861 _14862 " bases="_11041 ">
+    <Base type="_11041" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10990" name="is_convertible_impl_dispatch<std::forward_iterator_tag,boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, boost::incrementable_traversal_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14863 _14864 " bases="_ [...]
+    <Base type="_11042" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10991" name="is_convertible_impl_dispatch<boost::forward_traversal_tag,boost::bidirectional_traversal_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14865 _14866 " [...]
+    <Base type="_11043" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10992" name="is_convertible_impl_dispatch<boost::forward_traversal_tag,boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagES2_EE" demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::forward_traversal_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14867 _14868 " bases="_11044 ">
+    <Base type="_11044" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10993" name="is_convertible_impl_dispatch<boost::forward_traversal_tag,std::output_iterator_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagESt19output_iterator_tagEE" demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, std::output_iterator_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14869 _14870 " bases="_11045 ">
+    <Base type="_11045" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10994" name="is_convertible_impl_dispatch<boost::forward_traversal_tag,std::input_iterator_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagESt18input_iterator_tagEE" demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, std::input_iterator_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14871 _14872 " bases="_11046 ">
+    <Base type="_11046" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10995" name="is_convertible_impl_dispatch<boost::random_access_traversal_tag,boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchINS_27random_access_traversal_tagENS_21forward_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch<boost::random_access_traversal_tag, boost::forward_traversal_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14873 _14874 " [...]
+    <Base type="_11047" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10996" name="is_convertible_impl_dispatch<boost::forward_traversal_tag,boost::random_access_traversal_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagENS_27random_access_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::random_access_traversal_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14875 _14876 " [...]
+    <Base type="_11048" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10997" name="is_convertible_impl_dispatch<std::random_access_iterator_tag,std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchISt26random_access_iterator_tagS2_EE" demangled="boost::detail::is_convertible_impl_dispatch<std::random_access_iterator_tag, std::random_access_iterator_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14877 _14878 " bases="_11049 ">
+    <Base type="_11049" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10998" name="is_convertible_impl_dispatch<std::random_access_iterator_tag,boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail28is_convertible_impl_dispatchISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch<std::random_access_iterator_tag, boost::incrementable_traversal_tag>" location="f157:363" file="f157" line="363" artificial="1" size="8" align="8" members="_14879 [...]
+    <Base type="_11050" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_10999" name="is_convertible_impl_dispatch_base<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11ch [...]
+  <Struct id="_11000" name="is_convertible_impl_dispatch_base<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<c [...]
+  <Struct id="_11001" name="is_convertible_impl_dispatch_base<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx:: [...]
+  <Struct id="_11002" name="is_convertible_impl_dispatch_base<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EE" demangled="boost::detai [...]
+  <Struct id="_11003" name="is_convertible_impl_dispatch_base<std::forward_iterator_tag,std::forward_iterator_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagS2_EE" demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::forward_iterator_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members="_14901 _14902 _14903 _14904 _14905 " bases=""/>
+  <Struct id="_11004" name="is_convertible_impl_dispatch_base<std::forward_iterator_tag,std::bidirectional_iterator_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagSt26bidirectional_iterator_tagEE" demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::bidirectional_iterator_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members="_14906 _14907 _149 [...]
+  <Struct id="_11005" name="is_convertible_impl_dispatch_base<std::forward_iterator_tag,std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagSt26random_access_iterator_tagEE" demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::random_access_iterator_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members="_14911 _14912 _149 [...]
+  <Struct id="_11006" name="is_convertible_impl_dispatch_base<std::forward_iterator_tag,boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, boost::incrementable_traversal_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members="_14916 _1 [...]
+  <Struct id="_11007" name="is_convertible_impl_dispatch_base<boost::forward_traversal_tag,boost::bidirectional_traversal_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members=" [...]
+  <Struct id="_11008" name="is_convertible_impl_dispatch_base<boost::forward_traversal_tag,boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagES2_EE" demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::forward_traversal_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members="_14926 _14927 _14928 _14929 _14930 " bases=""/>
+  <Struct id="_11009" name="is_convertible_impl_dispatch_base<boost::forward_traversal_tag,std::output_iterator_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagESt19output_iterator_tagEE" demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, std::output_iterator_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members="_14931 _14932 _14933 _14934 _1 [...]
+  <Struct id="_11010" name="is_convertible_impl_dispatch_base<boost::forward_traversal_tag,std::input_iterator_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagESt18input_iterator_tagEE" demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, std::input_iterator_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members="_14936 _14937 _14938 _14939 _1494 [...]
+  <Struct id="_11011" name="is_convertible_impl_dispatch_base<boost::random_access_traversal_tag,boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseINS_27random_access_traversal_tagENS_21forward_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch_base<boost::random_access_traversal_tag, boost::forward_traversal_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members=" [...]
+  <Struct id="_11012" name="is_convertible_impl_dispatch_base<boost::forward_traversal_tag,boost::random_access_traversal_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagENS_27random_access_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::random_access_traversal_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members=" [...]
+  <Struct id="_11013" name="is_convertible_impl_dispatch_base<std::random_access_iterator_tag,std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseISt26random_access_iterator_tagS2_EE" demangled="boost::detail::is_convertible_impl_dispatch_base<std::random_access_iterator_tag, std::random_access_iterator_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8" members="_14951 _14952 _14953 _14954 [...]
+  <Struct id="_11014" name="is_convertible_impl_dispatch_base<std::random_access_iterator_tag,boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail33is_convertible_impl_dispatch_baseISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_dispatch_base<std::random_access_iterator_tag, boost::incrementable_traversal_tag>" location="f157:342" file="f157" line="342" artificial="1" size="8" align="8"  [...]
+  <Struct id="_11015" name="is_convertible_impl_select<false,false,false>" context="_3903" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>" location="f157:302" file="f157" line="302" artificial="1" size="8" align="8" members="_14961 _14962 " bases=""/>
+  <Struct id="_11016" name="is_convertible_impl_select<true,false,true>" context="_3903" mangled="N5boost6detail26is_convertible_impl_selectILb1ELb0ELb1EEE" demangled="boost::detail::is_convertible_impl_select<true, false, true>" location="f157:332" file="f157" line="332" artificial="1" size="8" align="8" members="_14963 _14964 " bases=""/>
+  <Struct id="_11017" name="is_convertible_impl_select<false,false,true>" context="_3903" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb1EEE" demangled="boost::detail::is_convertible_impl_select<false, false, true>" location="f157:322" file="f157" line="322" artificial="1" size="8" align="8" members="_14965 _14966 " bases=""/>
+  <Struct id="_11018" name="is_convertible_impl_select<true,true,false>" context="_3903" mangled="N5boost6detail26is_convertible_impl_selectILb1ELb1ELb0EEE" demangled="boost::detail::is_convertible_impl_select<true, true, false>" location="f157:312" file="f157" line="312" artificial="1" size="8" align="8" members="_14967 _14968 " bases=""/>
+  <Struct id="_11019" name="rebind<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt [...]
+  <Struct id="_11020" name="rebind<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator< [...]
+  <Struct id="_11021" name="rebind<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const  [...]
+  <Struct id="_11022" name="rebind<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindIN9__gnu_cxx17__normal_iteratorIPKcSsEES8_EE" demangled="boost::d [...]
+  <Struct id="_11023" name="rebind<std::forward_iterator_tag,std::forward_iterator_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagS4_EE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::forward_iterator_tag>" location="f157:305" file="f157" line="305" artificial="1" size="8" align="8" members="_14981 _14982 _14983 " ba [...]
+  <Struct id="_11024" name="rebind<std::forward_iterator_tag,std::bidirectional_iterator_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagSt26bidirectional_iterator_tagEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::bidirectional_iterator_tag>" location="f157:305" file="f157" line="305" artificial="1" size="8" align [...]
+  <Struct id="_11025" name="rebind<std::forward_iterator_tag,std::random_access_iterator_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagSt26random_access_iterator_tagEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::random_access_iterator_tag>" location="f157:305" file="f157" line="305" artificial="1" size="8" align [...]
+  <Struct id="_11026" name="rebind<std::forward_iterator_tag,boost::incrementable_traversal_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, boost::incrementable_traversal_tag>" location="f157:305" file="f157" line="305" artificial="1" size= [...]
+  <Struct id="_11027" name="rebind<boost::forward_traversal_tag,boost::bidirectional_traversal_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>" location="f157:305" file="f157" line="305" artificial= [...]
+  <Struct id="_11028" name="rebind<boost::forward_traversal_tag,boost::forward_traversal_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagES4_EE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, boost::forward_traversal_tag>" location="f157:305" file="f157" line="305" artificial="1" size="8" align="8" members="_14996 _14 [...]
+  <Struct id="_11029" name="rebind<boost::forward_traversal_tag,std::output_iterator_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagESt19output_iterator_tagEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, std::output_iterator_tag>" location="f157:305" file="f157" line="305" artificial="1" size="8" align="8" members [...]
+  <Struct id="_11030" name="rebind<boost::forward_traversal_tag,std::input_iterator_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagESt18input_iterator_tagEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, std::input_iterator_tag>" location="f157:305" file="f157" line="305" artificial="1" size="8" align="8" members="_ [...]
+  <Struct id="_11031" name="rebind<boost::random_access_traversal_tag,boost::forward_traversal_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_27random_access_traversal_tagENS_21forward_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::random_access_traversal_tag, boost::forward_traversal_tag>" location="f157:305" file="f157" line="305" artificial= [...]
+  <Struct id="_11032" name="rebind<boost::forward_traversal_tag,boost::random_access_traversal_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagENS_27random_access_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, boost::random_access_traversal_tag>" location="f157:305" file="f157" line="305" artificial= [...]
+  <Struct id="_11033" name="rebind<std::random_access_iterator_tag,std::random_access_iterator_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt26random_access_iterator_tagS4_EE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::random_access_iterator_tag, std::random_access_iterator_tag>" location="f157:305" file="f157" line="305" artificial="1" size="8" align="8" memb [...]
+  <Struct id="_11034" name="rebind<std::random_access_iterator_tag,boost::incrementable_traversal_tag>" context="_11015" access="public" mangled="N5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::random_access_iterator_tag, boost::incrementable_traversal_tag>" location="f157:305" file="f157" line="305" ar [...]
+  <Struct id="_11035" name="is_convertible_impl<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail19is_convertible_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_EE" d [...]
+  <Struct id="_11036" name="is_convertible_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std:: [...]
+  <Struct id="_11037" name="is_convertible_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_itera [...]
+  <Struct id="_11038" name="is_convertible_impl<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail19is_convertible_implIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EE" demangled="boost::detail::is_convertible_impl<__ [...]
+  <Struct id="_11039" name="is_convertible_impl<std::forward_iterator_tag,std::forward_iterator_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implISt20forward_iterator_tagS2_EE" demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::forward_iterator_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15033 _15034 _15035 _15036 " bases=""/>
+  <Struct id="_11040" name="is_convertible_impl<std::forward_iterator_tag,std::bidirectional_iterator_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implISt20forward_iterator_tagSt26bidirectional_iterator_tagEE" demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::bidirectional_iterator_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15037 _15038 _15039 _15040 " bases=""/>
+  <Struct id="_11041" name="is_convertible_impl<std::forward_iterator_tag,std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implISt20forward_iterator_tagSt26random_access_iterator_tagEE" demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::random_access_iterator_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15041 _15042 _15043 _15044 " bases=""/>
+  <Struct id="_11042" name="is_convertible_impl<std::forward_iterator_tag,boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implISt20forward_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, boost::incrementable_traversal_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15045 _15046 _15047 _15048 " bases=""/>
+  <Struct id="_11043" name="is_convertible_impl<boost::forward_traversal_tag,boost::bidirectional_traversal_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15049 _15050 _15051 _15052 " bases=""/>
+  <Struct id="_11044" name="is_convertible_impl<boost::forward_traversal_tag,boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implINS_21forward_traversal_tagES2_EE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::forward_traversal_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15053 _15054 _15055 _15056 " bases=""/>
+  <Struct id="_11045" name="is_convertible_impl<boost::forward_traversal_tag,std::output_iterator_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implINS_21forward_traversal_tagESt19output_iterator_tagEE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::output_iterator_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15057 _15058 _15059 _15060 " bases=""/>
+  <Struct id="_11046" name="is_convertible_impl<boost::forward_traversal_tag,std::input_iterator_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implINS_21forward_traversal_tagESt18input_iterator_tagEE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::input_iterator_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15061 _15062 _15063 _15064 " bases=""/>
+  <Struct id="_11047" name="is_convertible_impl<boost::random_access_traversal_tag,boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implINS_27random_access_traversal_tagENS_21forward_traversal_tagEEE" demangled="boost::detail::is_convertible_impl<boost::random_access_traversal_tag, boost::forward_traversal_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15065 _15066 _15067 _15068 " bases=""/>
+  <Struct id="_11048" name="is_convertible_impl<boost::forward_traversal_tag,boost::random_access_traversal_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implINS_21forward_traversal_tagENS_27random_access_traversal_tagEEE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::random_access_traversal_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15069 _15070 _15071 _15072 " bases=""/>
+  <Struct id="_11049" name="is_convertible_impl<std::random_access_iterator_tag,std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implISt26random_access_iterator_tagS2_EE" demangled="boost::detail::is_convertible_impl<std::random_access_iterator_tag, std::random_access_iterator_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15073 _15074 _15075 _15076 " bases=""/>
+  <Struct id="_11050" name="is_convertible_impl<std::random_access_iterator_tag,boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail19is_convertible_implISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_impl<std::random_access_iterator_tag, boost::incrementable_traversal_tag>" location="f157:284" file="f157" line="284" artificial="1" size="8" align="8" members="_15077 _15078 _15079 _15080 " bases=""/>
+  <Struct id="_11051" name="is_convertible_impl<const volatile void,const volatile void>" context="_3903" mangled="N5boost6detail19is_convertible_implIVKvS2_EE" demangled="boost::detail::is_convertible_impl<void volatile const, void volatile const>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15081 _15082 _15083 " bases=""/>
+  <Struct id="_11052" name="is_convertible_impl<const volatile void,volatile void>" context="_3903" mangled="N5boost6detail19is_convertible_implIVKvVvEE" demangled="boost::detail::is_convertible_impl<void volatile const, void volatile>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15084 _15085 _15086 " bases=""/>
+  <Struct id="_11053" name="is_convertible_impl<const volatile void,const void>" context="_3903" mangled="N5boost6detail19is_convertible_implIVKvKvEE" demangled="boost::detail::is_convertible_impl<void volatile const, void const>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15087 _15088 _15089 " bases=""/>
+  <Struct id="_11054" name="is_convertible_impl<const volatile void,void>" context="_3903" mangled="N5boost6detail19is_convertible_implIVKvvEE" demangled="boost::detail::is_convertible_impl<void volatile const, void>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15090 _15091 _15092 " bases=""/>
+  <Struct id="_11055" name="is_convertible_impl<volatile void,const volatile void>" context="_3903" mangled="N5boost6detail19is_convertible_implIVvVKvEE" demangled="boost::detail::is_convertible_impl<void volatile, void volatile const>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15093 _15094 _15095 " bases=""/>
+  <Struct id="_11056" name="is_convertible_impl<volatile void,volatile void>" context="_3903" mangled="N5boost6detail19is_convertible_implIVvS2_EE" demangled="boost::detail::is_convertible_impl<void volatile, void volatile>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15096 _15097 _15098 " bases=""/>
+  <Struct id="_11057" name="is_convertible_impl<volatile void,const void>" context="_3903" mangled="N5boost6detail19is_convertible_implIVvKvEE" demangled="boost::detail::is_convertible_impl<void volatile, void const>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15099 _15100 _15101 " bases=""/>
+  <Struct id="_11058" name="is_convertible_impl<volatile void,void>" context="_3903" mangled="N5boost6detail19is_convertible_implIVvvEE" demangled="boost::detail::is_convertible_impl<void volatile, void>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15102 _15103 _15104 " bases=""/>
+  <Struct id="_11059" name="is_convertible_impl<const void,const volatile void>" context="_3903" mangled="N5boost6detail19is_convertible_implIKvVKvEE" demangled="boost::detail::is_convertible_impl<void const, void volatile const>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15105 _15106 _15107 " bases=""/>
+  <Struct id="_11060" name="is_convertible_impl<const void,volatile void>" context="_3903" mangled="N5boost6detail19is_convertible_implIKvVvEE" demangled="boost::detail::is_convertible_impl<void const, void volatile>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15108 _15109 _15110 " bases=""/>
+  <Struct id="_11061" name="is_convertible_impl<const void,const void>" context="_3903" mangled="N5boost6detail19is_convertible_implIKvS2_EE" demangled="boost::detail::is_convertible_impl<void const, void const>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15111 _15112 _15113 " bases=""/>
+  <Struct id="_11062" name="is_convertible_impl<const void,void>" context="_3903" mangled="N5boost6detail19is_convertible_implIKvvEE" demangled="boost::detail::is_convertible_impl<void const, void>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15114 _15115 _15116 " bases=""/>
+  <Struct id="_11063" name="is_convertible_impl<void,const volatile void>" context="_3903" mangled="N5boost6detail19is_convertible_implIvVKvEE" demangled="boost::detail::is_convertible_impl<void, void volatile const>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15117 _15118 _15119 " bases=""/>
+  <Struct id="_11064" name="is_convertible_impl<void,volatile void>" context="_3903" mangled="N5boost6detail19is_convertible_implIvVvEE" demangled="boost::detail::is_convertible_impl<void, void volatile>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15120 _15121 _15122 " bases=""/>
+  <Struct id="_11065" name="is_convertible_impl<void,const void>" context="_3903" mangled="N5boost6detail19is_convertible_implIvKvEE" demangled="boost::detail::is_convertible_impl<void, void const>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15123 _15124 _15125 " bases=""/>
+  <Struct id="_11066" name="is_convertible_impl<void,void>" context="_3903" mangled="N5boost6detail19is_convertible_implIvvEE" demangled="boost::detail::is_convertible_impl<void, void>" location="f157:385" file="f157" line="385" artificial="1" size="8" align="8" members="_15126 _15127 _15128 " bases=""/>
+  <Struct id="_11067" name="is_convertible_basic_impl<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >&,__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsI [...]
+  <Struct id="_11068" name="is_convertible_basic_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >&,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char [...]
+  <Struct id="_11069" name="is_convertible_basic_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >&,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__n [...]
+  <Struct id="_11070" name="is_convertible_basic_impl<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >&,__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EE" demangled="boost::detail::is_conv [...]
+  <Struct id="_11071" name="is_convertible_basic_impl<std::forward_iterator_tag&,std::forward_iterator_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagS2_EE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::forward_iterator_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15145 _15146 _15147 _15148 " bases=""/>
+  <Struct id="_11072" name="is_convertible_basic_impl<std::forward_iterator_tag&,std::bidirectional_iterator_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26bidirectional_iterator_tagEE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::bidirectional_iterator_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15149 _15150 _15151 _15152 " b [...]
+  <Struct id="_11073" name="is_convertible_basic_impl<std::forward_iterator_tag&,std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26random_access_iterator_tagEE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::random_access_iterator_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15153 _15154 _15155 _15156 " b [...]
+  <Struct id="_11074" name="is_convertible_basic_impl<std::forward_iterator_tag&,boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, boost::incrementable_traversal_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15157 _15158 _15159 _ [...]
+  <Struct id="_11075" name="is_convertible_basic_impl<boost::forward_traversal_tag&,boost::bidirectional_traversal_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::bidirectional_traversal_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15161 _15162 [...]
+  <Struct id="_11076" name="is_convertible_basic_impl<boost::forward_traversal_tag&,boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagES2_EE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::forward_traversal_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15165 _15166 _15167 _15168 " bases=""/>
+  <Struct id="_11077" name="is_convertible_basic_impl<boost::forward_traversal_tag&,std::output_iterator_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt19output_iterator_tagEE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::output_iterator_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15169 _15170 _15171 _15172 " bases=""/>
+  <Struct id="_11078" name="is_convertible_basic_impl<boost::forward_traversal_tag&,std::input_iterator_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt18input_iterator_tagEE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::input_iterator_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15173 _15174 _15175 _15176 " bases=""/>
+  <Struct id="_11079" name="is_convertible_basic_impl<boost::random_access_traversal_tag&,boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRNS_27random_access_traversal_tagENS_21forward_traversal_tagEEE" demangled="boost::detail::is_convertible_basic_impl<boost::random_access_traversal_tag&, boost::forward_traversal_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15177 _15178 [...]
+  <Struct id="_11080" name="is_convertible_basic_impl<boost::forward_traversal_tag&,boost::random_access_traversal_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27random_access_traversal_tagEEE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::random_access_traversal_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15181 _15182 [...]
+  <Struct id="_11081" name="is_convertible_basic_impl<std::random_access_iterator_tag&,std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagS2_EE" demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, std::random_access_iterator_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_15185 _15186 _15187 _15188 " bases=""/>
+  <Struct id="_11082" name="is_convertible_basic_impl<std::random_access_iterator_tag&,boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagNS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, boost::incrementable_traversal_tag>" location="f157:127" file="f157" line="127" artificial="1" size="8" align="8" members="_151 [...]
+  <Struct id="_11083" name="checker<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> &g [...]
+  <Struct id="_11084" name="checker<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail7checkerINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEE" demangled="boost::detail::c [...]
+  <Struct id="_11085" name="checker<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail7checkerINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17 [...]
+  <Struct id="_11086" name="checker<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15205 _15206 _15207 _15208  [...]
+  <Struct id="_11087" name="checker<std::forward_iterator_tag>" context="_3903" mangled="N5boost6detail7checkerISt20forward_iterator_tagEE" demangled="boost::detail::checker<std::forward_iterator_tag>" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15209 _15210 _15211 _15212 " bases=""/>
+  <Struct id="_11088" name="checker<std::bidirectional_iterator_tag>" context="_3903" mangled="N5boost6detail7checkerISt26bidirectional_iterator_tagEE" demangled="boost::detail::checker<std::bidirectional_iterator_tag>" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15213 _15214 _15215 _15216 " bases=""/>
+  <Struct id="_11089" name="checker<std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail7checkerISt26random_access_iterator_tagEE" demangled="boost::detail::checker<std::random_access_iterator_tag>" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15217 _15218 _15219 _15220 " bases=""/>
+  <Struct id="_11090" name="checker<boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail7checkerINS_27incrementable_traversal_tagEEE" demangled="boost::detail::checker<boost::incrementable_traversal_tag>" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15221 _15222 _15223 _15224 " bases=""/>
+  <Struct id="_11091" name="checker<boost::bidirectional_traversal_tag>" context="_3903" mangled="N5boost6detail7checkerINS_27bidirectional_traversal_tagEEE" demangled="boost::detail::checker<boost::bidirectional_traversal_tag>" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15225 _15226 _15227 _15228 " bases=""/>
+  <Struct id="_11092" name="checker<boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail7checkerINS_21forward_traversal_tagEEE" demangled="boost::detail::checker<boost::forward_traversal_tag>" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15229 _15230 _15231 _15232 " bases=""/>
+  <Struct id="_11093" name="checker<std::output_iterator_tag>" context="_3903" mangled="N5boost6detail7checkerISt19output_iterator_tagEE" demangled="boost::detail::checker<std::output_iterator_tag>" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15233 _15234 _15235 _15236 " bases=""/>
+  <Struct id="_11094" name="checker<std::input_iterator_tag>" context="_3903" mangled="N5boost6detail7checkerISt18input_iterator_tagEE" demangled="boost::detail::checker<std::input_iterator_tag>" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15237 _15238 _15239 _15240 " bases=""/>
+  <Struct id="_11095" name="checker<boost::random_access_traversal_tag>" context="_3903" mangled="N5boost6detail7checkerINS_27random_access_traversal_tagEEE" demangled="boost::detail::checker<boost::random_access_traversal_tag>" location="f157:120" file="f157" line="120" artificial="1" size="8" align="8" members="_15241 _15242 _15243 _15244 " bases=""/>
+  <Struct id="_11096" name="any_conversion" context="_3903" mangled="N5boost6detail14any_conversionE" demangled="boost::detail::any_conversion" location="f157:114" file="f157" line="114" artificial="1" size="8" align="8" members="_15245 " bases=""/>
+  <Struct id="_11097" name="is_arithmetic_impl<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail18is_arithmetic_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::detail::is_arithmetic_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t> [...]
+  <Struct id="_11098" name="is_arithmetic_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail18is_arithmetic_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_arithmetic_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15267 _15 [...]
+  <Struct id="_11099" name="is_arithmetic_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail18is_arithmetic_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEE" dema [...]
+  <Struct id="_11100" name="is_arithmetic_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail18is_arithmetic_implINS_14token_iteratorINS_14char_separatorIcSt11char_t [...]
+  <Struct id="_11101" name="is_arithmetic_impl<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail18is_arithmetic_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::detail::is_arithmetic_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" membe [...]
+  <Struct id="_11102" name="is_arithmetic_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail18is_arithmetic_implISsEE" demangled="boost::detail::is_arithmetic_impl<std::string>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15279 _15280 _15281 " bases=""/>
+  <Struct id="_11103" name="is_arithmetic_impl<std::bidirectional_iterator_tag>" context="_3903" mangled="N5boost6detail18is_arithmetic_implISt26bidirectional_iterator_tagEE" demangled="boost::detail::is_arithmetic_impl<std::bidirectional_iterator_tag>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15282 _15283 _15284 " bases=""/>
+  <Struct id="_11104" name="is_arithmetic_impl<std::forward_iterator_tag>" context="_3903" mangled="N5boost6detail18is_arithmetic_implISt20forward_iterator_tagEE" demangled="boost::detail::is_arithmetic_impl<std::forward_iterator_tag>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15285 _15286 _15287 " bases=""/>
+  <Struct id="_11105" name="is_arithmetic_impl<boost::bidirectional_traversal_tag>" context="_3903" mangled="N5boost6detail18is_arithmetic_implINS_27bidirectional_traversal_tagEEE" demangled="boost::detail::is_arithmetic_impl<boost::bidirectional_traversal_tag>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15288 _15289 _15290 " bases=""/>
+  <Struct id="_11106" name="is_arithmetic_impl<std::output_iterator_tag>" context="_3903" mangled="N5boost6detail18is_arithmetic_implISt19output_iterator_tagEE" demangled="boost::detail::is_arithmetic_impl<std::output_iterator_tag>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15291 _15292 _15293 " bases=""/>
+  <Struct id="_11107" name="is_arithmetic_impl<std::input_iterator_tag>" context="_3903" mangled="N5boost6detail18is_arithmetic_implISt18input_iterator_tagEE" demangled="boost::detail::is_arithmetic_impl<std::input_iterator_tag>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15294 _15295 _15296 " bases=""/>
+  <Struct id="_11108" name="is_arithmetic_impl<boost::random_access_traversal_tag>" context="_3903" mangled="N5boost6detail18is_arithmetic_implINS_27random_access_traversal_tagEEE" demangled="boost::detail::is_arithmetic_impl<boost::random_access_traversal_tag>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15297 _15298 _15299 " bases=""/>
+  <Struct id="_11109" name="is_arithmetic_impl<boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail18is_arithmetic_implINS_21forward_traversal_tagEEE" demangled="boost::detail::is_arithmetic_impl<boost::forward_traversal_tag>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15300 _15301 _15302 " bases=""/>
+  <Struct id="_11110" name="is_arithmetic_impl<boost::incrementable_traversal_tag>" context="_3903" mangled="N5boost6detail18is_arithmetic_implINS_27incrementable_traversal_tagEEE" demangled="boost::detail::is_arithmetic_impl<boost::incrementable_traversal_tag>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15303 _15304 _15305 " bases=""/>
+  <Struct id="_11111" name="is_arithmetic_impl<std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail18is_arithmetic_implISt26random_access_iterator_tagEE" demangled="boost::detail::is_arithmetic_impl<std::random_access_iterator_tag>" location="f158:26" file="f158" line="26" artificial="1" size="8" align="8" members="_15306 _15307 _15308 " bases=""/>
+  <Struct id="_11112" name="add_reference_impl<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail18add_reference_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::detail::add_reference_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t> [...]
+  <Struct id="_11113" name="add_reference_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail18add_reference_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEE" dema [...]
+  <Struct id="_11114" name="add_reference_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail18add_reference_implINS_14token_iteratorINS_14char_separatorIcSt11char_t [...]
+  <Struct id="_11115" name="add_reference_impl<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail18add_reference_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::detail::add_reference_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f161:57" file="f161" line="57" artificial="1" size="8" align="8" membe [...]
+  <Struct id="_11116" name="add_reference_impl<std::forward_iterator_tag>" context="_3903" mangled="N5boost6detail18add_reference_implISt20forward_iterator_tagEE" demangled="boost::detail::add_reference_impl<std::forward_iterator_tag>" location="f161:57" file="f161" line="57" artificial="1" size="8" align="8" members="_15321 _15322 _15323 " bases=""/>
+  <Struct id="_11117" name="add_reference_impl<boost::random_access_traversal_tag>" context="_3903" mangled="N5boost6detail18add_reference_implINS_27random_access_traversal_tagEEE" demangled="boost::detail::add_reference_impl<boost::random_access_traversal_tag>" location="f161:57" file="f161" line="57" artificial="1" size="8" align="8" members="_15324 _15325 _15326 " bases=""/>
+  <Struct id="_11118" name="add_reference_impl<boost::forward_traversal_tag>" context="_3903" mangled="N5boost6detail18add_reference_implINS_21forward_traversal_tagEEE" demangled="boost::detail::add_reference_impl<boost::forward_traversal_tag>" location="f161:57" file="f161" line="57" artificial="1" size="8" align="8" members="_15327 _15328 _15329 " bases=""/>
+  <Struct id="_11119" name="add_reference_impl<std::random_access_iterator_tag>" context="_3903" mangled="N5boost6detail18add_reference_implISt26random_access_iterator_tagEE" demangled="boost::detail::add_reference_impl<std::random_access_iterator_tag>" location="f161:57" file="f161" line="57" artificial="1" size="8" align="8" members="_15330 _15331 _15332 " bases=""/>
+  <Struct id="_11120" name="add_reference_impl<const volatile void>" context="_3903" mangled="N5boost6detail18add_reference_implIVKvEE" demangled="boost::detail::add_reference_impl<void volatile const>" location="f161:72" file="f161" line="72" artificial="1" size="8" align="8" members="_15333 _15334 _15335 " bases=""/>
+  <Struct id="_11121" name="add_reference_impl<volatile void>" context="_3903" mangled="N5boost6detail18add_reference_implIVvEE" demangled="boost::detail::add_reference_impl<void volatile>" location="f161:71" file="f161" line="71" artificial="1" size="8" align="8" members="_15336 _15337 _15338 " bases=""/>
+  <Struct id="_11122" name="add_reference_impl<const void>" context="_3903" mangled="N5boost6detail18add_reference_implIKvEE" demangled="boost::detail::add_reference_impl<void const>" location="f161:70" file="f161" line="70" artificial="1" size="8" align="8" members="_15339 _15340 _15341 " bases=""/>
+  <Struct id="_11123" name="add_reference_impl<void>" context="_3903" mangled="N5boost6detail18add_reference_implIvEE" demangled="boost::detail::add_reference_impl<void>" location="f161:68" file="f161" line="68" artificial="1" size="8" align="8" members="_15342 _15343 _15344 " bases=""/>
+  <Struct id="_11124" name="remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3903" mangled="N5boost6detail17remove_const_implINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >" location="f175 [...]
+  <Struct id="_11125" name="remove_const_impl<const boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3903" mangled="N5boost6detail17remove_const_implIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>" lo [...]
+  <Struct id="_11126" name="remove_const_impl<const boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" context="_3903" mangled="N5boost6detail17remove_const_implIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEE" demangled="boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >  [...]
+  <Struct id="_11127" name="remove_const_impl<const boost::iterator_range<const char*> >" context="_3903" mangled="N5boost6detail17remove_const_implIKNS_14iterator_rangeIPKcEEEE" demangled="boost::detail::remove_const_impl<boost::iterator_range<char const*> const>" location="f175:50" file="f175" line="50" artificial="1" size="8" align="8" members="_15354 _15355 _15356 " bases=""/>
+  <Struct id="_11128" name="remove_const_impl<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail17remove_const_implIKSsEE" demangled="boost::detail::remove_const_impl<std::string const>" location="f175:50" file="f175" line="50" artificial="1" size="8" align="8" members="_15357 _15358 _15359 " bases=""/>
+  <Struct id="_11129" name="remove_const_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_3903" mangled="N5boost6detail17remove_const_implISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::remove_const_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f175:50" file="f175" line="50" artificial="1" size="8" align="8" members="_15360 _15361 [...]
+  <Struct id="_11130" name="remove_const_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_3903" mangled="N5boost6detail17remove_const_implISsEE" demangled="boost::detail::remove_const_impl<std::string>" location="f175:50" file="f175" line="50" artificial="1" size="8" align="8" members="_15363 _15364 _15365 " bases=""/>
+  <Struct id="_11131" name="remove_const_helper<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,false>" context="_3903" mangled="N5boost6detail19remove_const_helperINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEELb0EEE" demangled="boost::detail::remove_const_helper<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >, fals [...]
+  <Struct id="_11132" name="remove_const_helper<boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,false>" context="_3903" mangled="N5boost6detail19remove_const_helperINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEELb0EEE" demangled="boost::detail::remove_const_helper<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string&g [...]
+  <Struct id="_11133" name="remove_const_helper<boost::iterator_range<const char*>,false>" context="_3903" mangled="N5boost6detail19remove_const_helperINS_14iterator_rangeIPKcEELb0EEE" demangled="boost::detail::remove_const_helper<boost::iterator_range<char const*>, false>" location="f175:37" file="f175" line="37" artificial="1" size="8" align="8" members="_15372 _15373 _15374 " bases=""/>
+  <Struct id="_11134" name="remove_const_helper<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,false>" context="_3903" mangled="N5boost6detail19remove_const_helperISsLb0EEE" demangled="boost::detail::remove_const_helper<std::string, false>" location="f175:37" file="f175" line="37" artificial="1" size="8" align="8" members="_15375 _15376 _15377 " bases=""/>
+  <Struct id="_11135" name="remove_const_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,false>" context="_3903" mangled="N5boost6detail19remove_const_helperISbIwSt11char_traitsIwESaIwEELb0EEE" demangled="boost::detail::remove_const_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, false>" location="f175:37" file="f175" line="37" artificial="1" size="8" align="8" m [...]
+  <Struct id="_11136" name="cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >*>" location="f286:32" file=" [...]
+  <Struct id="_11137" name="cv_traits_imp<const boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const*>" location="f2 [...]
+  <Struct id="_11138" name="cv_traits_imp<short int*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPsEE" demangled="boost::detail::cv_traits_imp<short*>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15391 _15392 _15393 _15394 _15395 " bases=""/>
+  <Struct id="_11139" name="cv_traits_imp<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPSsEE" demangled="boost::detail::cv_traits_imp<std::string*>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15396 _15397 _15398 _15399 _15400 " bases=""/>
+  <Struct id="_11140" name="cv_traits_imp<const boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const*>" [...]
+  <Struct id="_11141" name="cv_traits_imp<const boost::iterator_range<const char*>*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPKNS_14iterator_rangeIPKcEEEE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<char const*> const*>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15406 _15407 _15408 _15409 _15410 " bases=""/>
+  <Struct id="_11142" name="cv_traits_imp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPKSsEE" demangled="boost::detail::cv_traits_imp<std::string const*>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15411 _15412 _15413 _15414 _15415 " bases=""/>
+  <Struct id="_11143" name="cv_traits_imp<const char (*)[3]>" context="_3903" mangled="N5boost6detail13cv_traits_impIPA3_KcEE" demangled="boost::detail::cv_traits_imp<char const (*) [3]>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15416 _15417 _15418 _15419 _15420 " bases=""/>
+  <Struct id="_11144" name="cv_traits_imp<long long int*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPxEE" demangled="boost::detail::cv_traits_imp<long long*>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15421 _15422 _15423 _15424 _15425 " bases=""/>
+  <Struct id="_11145" name="cv_traits_imp<int*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPiEE" demangled="boost::detail::cv_traits_imp<int*>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15426 _15427 _15428 _15429 _15430 " bases=""/>
+  <Struct id="_11146" name="cv_traits_imp<short unsigned int*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPtEE" demangled="boost::detail::cv_traits_imp<unsigned short*>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15431 _15432 _15433 _15434 _15435 " bases=""/>
+  <Struct id="_11147" name="cv_traits_imp<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocat [...]
+  <Struct id="_11148" name="cv_traits_imp<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<char const*, std::string>*>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15441 _15 [...]
+  <Struct id="_11149" name="cv_traits_imp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>" context="_3903" mangled="N5boost6detail13cv_traits_impIPSbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::cv_traits_imp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>" location="f286:32" file="f286" line="32" artificial="1" size="8" align="8" members="_15446 _15447 _15448 _15 [...]
+  <Struct id="_11150" name="iterator_traits<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPcSsEEEE" demangled="boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<char*, std::string> >" location="f287:83" file="f287" line="83" artificial="1" size="8" align="8" members="_15451 _15452 " ba [...]
+    <Base type="_2690" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_11151" name="iterator_traits<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_3903" mangled="N5boost6detail15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE" demangled="boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >" location="f287:83" file="f287" line="83" artificial="1" size="8" align="8" members="_1545 [...]
+    <Base type="_2682" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_11152" name="iterator_traits<const char*>" context="_3903" mangled="N5boost6detail15iterator_traitsIPKcEE" demangled="boost::detail::iterator_traits<char const*>" location="f287:83" file="f287" line="83" artificial="1" size="8" align="8" members="_15455 _15456 " bases="_2681 ">
+    <Base type="_2681" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_11153" name="iterator_traits<__gnu_cxx::__normal_iterator<const wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_3903" mangled="N5boost6detail15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::al [...]
+    <Base type="_2697" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_11154" name="sp_enable_if_auto_ptr<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >,int>" context="_3903" mangled="N5boost6detail21sp_enable_if_auto_ptrINS_10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEEiEE" demangled="boost::detail::sp_enable_if_auto_ptr<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, int>" location="f180:109" file="f180" li [...]
+  <Struct id="_11155" name="sp_enable_if_auto_ptr<boost::shared_ptr<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > > >,int>" context="_3903 [...]
+  <Function id="_11156" name="sp_enable_shared_from_this" returns="_1194" context="_3903" mangled="_ZN5boost6detail26sp_enable_shared_from_thisERKNS0_12shared_countEz" demangled="boost::detail::sp_enable_shared_from_this(boost::detail::shared_count const&, ...)" location="f180:97" file="f180" line="97" endline="98" inline="1">
+    <Argument type="_15463" location="f180:97" file="f180" line="97"/>
+    <Ellipsis/>
+  </Function>
+  <Struct id="_11157" name="shared_ptr_traits<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short unsigned int> > > >" context="_3903" mangled="N5boost6detail17shared [...]
+  <Struct id="_11158" name="shared_ptr_traits<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >" context="_3903" mangled="N5boost6detail17shared_ptr_traitsINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEE" demangled="boost::detail::shared_ptr_traits<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >" location="f180:56" file="f180" line="56" artificial="1" size="8" align="8" members="_15467 _15468 _15469 " bases=""/>
+  <Struct id="_11159" name="shared_ptr_traits<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >" context="_3903" mangled="N5boost6detail17shared_ptr_traitsINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEE" demangled="boost::detail::shared_ptr_traits<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >" location="f180:56" file="f180" line="56" artificial="1" size="8" align="8" members="_15470 _15471 _15472 " bases=""/>
+  <Struct id="_11160" name="shared_ptr_traits<const volatile void>" context="_3903" mangled="N5boost6detail17shared_ptr_traitsIVKvEE" demangled="boost::detail::shared_ptr_traits<void volatile const>" location="f180:78" file="f180" line="78" artificial="1" size="8" align="8" members="_15473 _15474 _15475 " bases=""/>
+  <Struct id="_11161" name="shared_ptr_traits<volatile void>" context="_3903" mangled="N5boost6detail17shared_ptr_traitsIVvEE" demangled="boost::detail::shared_ptr_traits<void volatile>" location="f180:73" file="f180" line="73" artificial="1" size="8" align="8" members="_15476 _15477 _15478 " bases=""/>
+  <Struct id="_11162" name="shared_ptr_traits<const void>" context="_3903" mangled="N5boost6detail17shared_ptr_traitsIKvEE" demangled="boost::detail::shared_ptr_traits<void const>" location="f180:68" file="f180" line="68" artificial="1" size="8" align="8" members="_15479 _15480 _15481 " bases=""/>
+  <Struct id="_11163" name="shared_ptr_traits<void>" context="_3903" mangled="N5boost6detail17shared_ptr_traitsIvEE" demangled="boost::detail::shared_ptr_traits<void>" location="f180:61" file="f180" line="61" artificial="1" size="8" align="8" members="_15482 _15483 _15484 " bases=""/>
+  <Struct id="_11164" name="polymorphic_cast_tag" context="_3903" mangled="N5boost6detail20polymorphic_cast_tagE" demangled="boost::detail::polymorphic_cast_tag" location="f180:53" file="f180" line="53" artificial="1" size="8" align="8" members="_15485 _15486 " bases=""/>
+  <Struct id="_11165" name="dynamic_cast_tag" context="_3903" mangled="N5boost6detail16dynamic_cast_tagE" demangled="boost::detail::dynamic_cast_tag" location="f180:52" file="f180" line="52" artificial="1" size="8" align="8" members="_15487 _15488 " bases=""/>
+  <Struct id="_11166" name="const_cast_tag" context="_3903" mangled="N5boost6detail14const_cast_tagE" demangled="boost::detail::const_cast_tag" location="f180:51" file="f180" line="51" artificial="1" size="8" align="8" members="_15489 _15490 " bases=""/>
+  <Struct id="_11167" name="static_cast_tag" context="_3903" mangled="N5boost6detail15static_cast_tagE" demangled="boost::detail::static_cast_tag" location="f180:50" file="f180" line="50" artificial="1" size="8" align="8" members="_15491 _15492 " bases=""/>
+  <OperatorFunction id="_11168" name="<" returns="_3949" context="_3903" mangled="_ZN5boost6detailltERKNS0_10weak_countES3_" demangled="boost::detail::operator<(boost::detail::weak_count const&, boost::detail::weak_count const&)" location="f203:352" file="f203" line="352" endline="354" inline="1">
+    <Argument name="a" type="_15493" location="f203:352" file="f203" line="352"/>
+    <Argument name="b" type="_15493" location="f203:352" file="f203" line="352"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11169" name="==" returns="_3949" context="_3903" mangled="_ZN5boost6detaileqERKNS0_10weak_countES3_" demangled="boost::detail::operator==(boost::detail::weak_count const&, boost::detail::weak_count const&)" location="f203:347" file="f203" line="347" endline="349" inline="1">
+    <Argument name="a" type="_15493" location="f203:347" file="f203" line="347"/>
+    <Argument name="b" type="_15493" location="f203:347" file="f203" line="347"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11170" name="<" returns="_3949" context="_3903" mangled="_ZN5boost6detailltERKNS0_12shared_countES3_" demangled="boost::detail::operator<(boost::detail::shared_count const&, boost::detail::shared_count const&)" location="f203:258" file="f203" line="258" endline="260" inline="1">
+    <Argument name="a" type="_15463" location="f203:258" file="f203" line="258"/>
+    <Argument name="b" type="_15463" location="f203:258" file="f203" line="258"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11171" name="==" returns="_3949" context="_3903" mangled="_ZN5boost6detaileqERKNS0_12shared_countES3_" demangled="boost::detail::operator==(boost::detail::shared_count const&, boost::detail::shared_count const&)" location="f203:253" file="f203" line="253" endline="255" inline="1">
+    <Argument name="a" type="_15463" location="f203:253" file="f203" line="253"/>
+    <Argument name="b" type="_15463" location="f203:253" file="f203" line="253"/>
+  </OperatorFunction>
+  <Class id="_11172" name="shared_count" context="_3903" mangled="N5boost6detail12shared_countE" demangled="boost::detail::shared_count" location="f203:53" file="f203" line="53" artificial="1" size="32" align="32" members="_15494 _15495 _15496 _15497 _15498 _15499 _15500 _15501 _15502 _15503 " bases=""/>
+  <Class id="_11173" name="weak_count" context="_3903" mangled="N5boost6detail10weak_countE" demangled="boost::detail::weak_count" location="f203:270" file="f203" line="270" artificial="1" size="32" align="32" members="_15504 _15505 _15506 _15507 _15508 _15509 _15510 _15511 _15512 " bases=""/>
+  <Class id="_11174" name="sp_counted_base" context="_3903" abstract="1" mangled="N5boost6detail15sp_counted_baseE" demangled="boost::detail::sp_counted_base" location="f20:98" file="f20" line="98" artificial="1" size="96" align="32" members="_15513 _15514 _15515 _15516 _15517 _15518 _15519 _15520 _15521 _15522 _15523 _15524 _15525 _15526 _15527 " bases=""/>
+  <Function id="_11175" name="atomic_conditional_increment" returns="_503" context="_3903" mangled="_ZN5boost6detail28atomic_conditional_incrementEPi" demangled="boost::detail::atomic_conditional_increment(int*)" location="f20:70" file="f20" line="70" endline="95" inline="1">
+    <Argument name="pw" type="_2748" location="f20:70" file="f20" line="70"/>
+  </Function>
+  <Function id="_11176" name="atomic_increment" returns="_1194" context="_3903" mangled="_ZN5boost6detail16atomic_incrementEPi" demangled="boost::detail::atomic_increment(int*)" location="f20:56" file="f20" line="56" endline="67" inline="1">
+    <Argument name="pw" type="_2748" location="f20:56" file="f20" line="56"/>
+  </Function>
+  <Function id="_11177" name="atomic_exchange_and_add" returns="_503" context="_3903" mangled="_ZN5boost6detail23atomic_exchange_and_addEPii" demangled="boost::detail::atomic_exchange_and_add(int*, int)" location="f20:36" file="f20" line="36" endline="53" inline="1">
+    <Argument name="pw" type="_2748" location="f20:36" file="f20" line="36"/>
+    <Argument name="dv" type="_503" location="f20:36" file="f20" line="36"/>
+  </Function>
+  <Namespace id="_11178" name="function" context="_3903" members="_15528 _15529 _15530 _12094 _15531 _15532 _15533 _15534 _15535 _15537 _12097 _15538 " mangled="_ZN5boost6detail8functionE" demangled="boost::detail::function"/>
+  <Namespace id="_11179" name="indirect_traits" context="_3903" members="" mangled="_ZN5boost6detail15indirect_traitsE" demangled="boost::detail::indirect_traits"/>
+  <Class id="_11180" name="bad_field_count" context="_3904" mangled="N5boost9date_time15bad_field_countE" demangled="boost::date_time::bad_field_count" location="f8:40" file="f8" line="40" artificial="1" size="64" align="32" members="_15541 _15542 _15543 " bases="_2044 ">
+    <Base type="_2044" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_11181" name="data_not_accessible" context="_3904" mangled="N5boost9date_time19data_not_accessibleE" demangled="boost::date_time::data_not_accessible" location="f8:28" file="f8" line="28" artificial="1" size="64" align="32" members="_15544 _15545 _15546 _15547 " bases="_2048 ">
+    <Base type="_2048" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Function id="_11182" name="parse_iso_time" returns="_10341" context="_3904" mangled="_ZN5boost9date_time14parse_iso_timeINS_10posix_time5ptimeEEET_RKSsc" demangled="boost::posix_time::ptime boost::date_time::parse_iso_time<boost::posix_time::ptime>(std::string const&, char)" location="f288:299" file="f288" line="299" endline="311" inline="1">
+    <Argument name="s" type="_4948" location="f288:299" file="f288" line="299"/>
+    <Argument name="sep" type="_2961" location="f288:299" file="f288" line="299"/>
+  </Function>
+  <Function id="_11183" name="parse_undelimited_time_duration" returns="_10347" context="_3904" mangled="_ZN5boost9date_time31parse_undelimited_time_durationINS_10posix_time13time_durationEEET_RKSs" demangled="boost::posix_time::time_duration boost::date_time::parse_undelimited_time_duration<boost::posix_time::time_duration>(std::string const&)" location="f288:188" file="f288" line="188" endline="290" inline="1">
+    <Argument name="s" type="_4948" location="f288:188" file="f288" line="188"/>
+  </Function>
+  <Function id="_11184" name="parse_delimited_time" returns="_10341" context="_3904" mangled="_ZN5boost9date_time20parse_delimited_timeINS_10posix_time5ptimeEEET_RKSsc" demangled="boost::posix_time::ptime boost::date_time::parse_delimited_time<boost::posix_time::ptime>(std::string const&, char)" location="f288:167" file="f288" line="167" endline="179" inline="1">
+    <Argument name="s" type="_4948" location="f288:167" file="f288" line="167"/>
+    <Argument name="sep" type="_2961" location="f288:167" file="f288" line="167"/>
+  </Function>
+  <Function id="_11185" name="split" returns="_3949" context="_3904" mangled="_ZN5boost9date_time5splitERKSscRSsS3_" demangled="boost::date_time::split(std::string const&, char, std::string&, std::string&)" location="f288:155" file="f288" line="155" endline="160" inline="1">
+    <Argument name="s" type="_4020" location="f288:155" file="f288" line="155"/>
+    <Argument name="sep" type="_2961" location="f288:155" file="f288" line="155"/>
+    <Argument name="first" type="_4018" location="f288:155" file="f288" line="155"/>
+    <Argument name="second" type="_4018" location="f288:155" file="f288" line="155"/>
+  </Function>
+  <Function id="_11186" name="parse_delimited_time_duration" returns="_10347" context="_3904" mangled="_ZN5boost9date_time29parse_delimited_time_durationINS_10posix_time13time_durationEEET_RKSs" demangled="boost::posix_time::time_duration boost::date_time::parse_delimited_time_duration<boost::posix_time::time_duration>(std::string const&)" location="f288:144" file="f288" line="144" endline="145" inline="1">
+    <Argument name="s" type="_4948" location="f288:144" file="f288" line="144"/>
+  </Function>
+  <Function id="_11187" name="str_from_delimited_time_duration" returns="_10347" context="_3904" mangled="_ZN5boost9date_time32str_from_delimited_time_durationINS_10posix_time13time_durationEcEET_RKSbIT0_St11char_traitsIS5_ESaIS5_EE" demangled="boost::posix_time::time_duration boost::date_time::str_from_delimited_time_duration<boost::posix_time::time_duration, char>(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)" location="f288: [...]
+    <Argument name="s" type="_4948" location="f288:49" file="f288" line="49"/>
+  </Function>
+  <Function id="_11188" name="power" returns="_503" context="_3904" mangled="_ZN5boost9date_time5powerIiEET_S2_S2_" demangled="int boost::date_time::power<int>(int, int)" location="f288:27" file="f288" line="27" endline="32" inline="1">
+    <Argument name="base" type="_503" location="f288:27" file="f288" line="27"/>
+    <Argument name="exponent" type="_503" location="f288:27" file="f288" line="27"/>
+  </Function>
+  <Class id="_11189" name="dst_calculator<boost::gregorian::date,boost::posix_time::time_duration>" context="_3904" mangled="N5boost9date_time14dst_calculatorINS_9gregorian4dateENS_10posix_time13time_durationEEE" demangled="boost::date_time::dst_calculator<boost::gregorian::date, boost::posix_time::time_duration>" location="f222:32" file="f222" line="32" artificial="1" size="8" align="8" members="_15548 _15549 _15550 _15551 _15552 _15553 _15554 _15555 " bases=""/>
+  <Enumeration id="_11190" name="time_is_dst_result" context="_3904" location="f222:24" file="f222" line="24" artificial="1" size="32" align="32">
+    <EnumValue name="is_not_in_dst" init="0"/>
+    <EnumValue name="is_in_dst" init="1"/>
+    <EnumValue name="ambiguous" init="2"/>
+    <EnumValue name="invalid_time_label" init="3"/>
+  </Enumeration>
+  <OperatorFunction id="_11191" name="-=" returns="_9061" context="_3904" mangled="_ZN5boost9date_timemIERNS_9gregorian4dateERKNS0_14years_durationINS1_21greg_durations_configEEE" demangled="boost::date_time::operator-=(boost::gregorian::date&, boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f276:258" file="f276" line="258" extern="1" inline="1">
+    <Argument name="d" type="_15556" location="f276:258" file="f276" line="258"/>
+    <Argument name="y" type="_15557" location="f276:258" file="f276" line="258"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11192" name="-" returns="_9061" context="_3904" mangled="_ZN5boost9date_timemiERKNS_9gregorian4dateERKNS0_14years_durationINS1_21greg_durations_configEEE" demangled="boost::date_time::operator-(boost::gregorian::date const&, boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f276:253" file="f276" line="253" extern="1" inline="1">
+    <Argument name="d" type="_10010" location="f276:253" file="f276" line="253"/>
+    <Argument name="y" type="_15557" location="f276:253" file="f276" line="253"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11193" name="+=" returns="_9061" context="_3904" mangled="_ZN5boost9date_timepLERNS_9gregorian4dateERKNS0_14years_durationINS1_21greg_durations_configEEE" demangled="boost::date_time::operator+=(boost::gregorian::date&, boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f276:249" file="f276" line="249" extern="1" inline="1">
+    <Argument name="d" type="_15556" location="f276:249" file="f276" line="249"/>
+    <Argument name="y" type="_15557" location="f276:249" file="f276" line="249"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11194" name="+" returns="_9061" context="_3904" mangled="_ZN5boost9date_timeplERKNS_9gregorian4dateERKNS0_14years_durationINS1_21greg_durations_configEEE" demangled="boost::date_time::operator+(boost::gregorian::date const&, boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f276:245" file="f276" line="245" extern="1" inline="1">
+    <Argument name="d" type="_10010" location="f276:245" file="f276" line="245"/>
+    <Argument name="y" type="_15557" location="f276:245" file="f276" line="245"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11195" name="-=" returns="_9061" context="_3904" mangled="_ZN5boost9date_timemIERNS_9gregorian4dateERKNS0_15months_durationINS1_21greg_durations_configEEE" demangled="boost::date_time::operator-=(boost::gregorian::date&, boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f276:146" file="f276" line="146" extern="1" inline="1">
+    <Argument name="d" type="_15556" location="f276:146" file="f276" line="146"/>
+    <Argument name="m" type="_15558" location="f276:146" file="f276" line="146"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11196" name="-" returns="_9061" context="_3904" mangled="_ZN5boost9date_timemiERKNS_9gregorian4dateERKNS0_15months_durationINS1_21greg_durations_configEEE" demangled="boost::date_time::operator-(boost::gregorian::date const&, boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f276:141" file="f276" line="141" extern="1" inline="1">
+    <Argument name="d" type="_10010" location="f276:141" file="f276" line="141"/>
+    <Argument name="m" type="_15558" location="f276:141" file="f276" line="141"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11197" name="+=" returns="_9061" context="_3904" mangled="_ZN5boost9date_timepLERNS_9gregorian4dateERKNS0_15months_durationINS1_21greg_durations_configEEE" demangled="boost::date_time::operator+=(boost::gregorian::date&, boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f276:137" file="f276" line="137" extern="1" inline="1">
+    <Argument name="d" type="_15556" location="f276:137" file="f276" line="137"/>
+    <Argument name="m" type="_15558" location="f276:137" file="f276" line="137"/>
+  </OperatorFunction>
+  <OperatorFunction id="_11198" name="+" returns="_9061" context="_3904" mangled="_ZN5boost9date_timeplERKNS_9gregorian4dateERKNS0_15months_durationINS1_21greg_durations_configEEE" demangled="boost::date_time::operator+(boost::gregorian::date const&, boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f276:133" file="f276" line="133" extern="1" inline="1">
+    <Argument name="d" type="_10010" location="f276:133" file="f276" line="133"/>
+    <Argument name="m" type="_15558" location="f276:133" file="f276" line="133"/>
+  </OperatorFunction>
+  <Class id="_11199" name="base_time<boost::posix_time::ptime,boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >" context="_3904" mangled="N5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEE" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system&lt [...]
+    <Base type="_3848" access="private" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_11200" name="time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl,nano,1000000000,9,int>" context="_3904" incomplete="1" mangled="N5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE6ELx1000000000ELt9EiEE" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)6, (long long)1000000000, 9, int&g [...]
+  <Typedef id="_11201" name="nano_res" type="_11200" context="_3904" location="f231:134" file="f231" line="134"/>
+  <Typedef id="_11202" name="micro_res" type="_10348" context="_3904" location="f231:133" file="f231" line="133"/>
+  <Class id="_11203" name="time_resolution_traits<boost::date_time::time_resolution_traits_adapted32_impl,milli,1000,3,int>" context="_3904" incomplete="1" mangled="N5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted32_implELNS0_16time_resolutionsE3ELi1000ELt3EiEE" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted32_impl, (boost::date_time::time_resolutions)3, 1000, 3, int>" location="f231:71" file= [...]
+  <Typedef id="_11204" name="milli_res" type="_11203" context="_3904" location="f231:132" file="f231" line="132"/>
+  <Struct id="_11205" name="time_resolution_traits_adapted64_impl" context="_3904" mangled="N5boost9date_time37time_resolution_traits_adapted64_implE" demangled="boost::date_time::time_resolution_traits_adapted64_impl" location="f231:54" file="f231" line="54" artificial="1" size="8" align="8" members="_15590 _15591 _15592 _15593 _15594 _15595 " bases=""/>
+  <Struct id="_11206" name="time_resolution_traits_bi64_impl" context="_3904" mangled="N5boost9date_time32time_resolution_traits_bi64_implE" demangled="boost::date_time::time_resolution_traits_bi64_impl" location="f231:46" file="f231" line="46" artificial="1" size="8" align="8" members="_15596 _15597 _15598 _15599 _15600 _15601 " bases=""/>
+  <Struct id="_11207" name="time_resolution_traits_adapted32_impl" context="_3904" mangled="N5boost9date_time37time_resolution_traits_adapted32_implE" demangled="boost::date_time::time_resolution_traits_adapted32_impl" location="f231:38" file="f231" line="38" artificial="1" size="8" align="8" members="_15602 _15603 _15604 _15605 _15606 _15607 " bases=""/>
+  <Struct id="_11208" name="time_resolution_traits_bi32_impl" context="_3904" mangled="N5boost9date_time32time_resolution_traits_bi32_implE" demangled="boost::date_time::time_resolution_traits_bi32_impl" location="f231:30" file="f231" line="30" artificial="1" size="8" align="8" members="_15608 _15609 _15610 _15611 _15612 _15613 " bases=""/>
+  <Function id="_11209" name="absolute_value" returns="_1290" context="_3904" mangled="_ZN5boost9date_time14absolute_valueIxEET_S2_" demangled="long long boost::date_time::absolute_value<long long>(long long)" location="f231:25" file="f231" line="25" endline="26" inline="1">
+    <Argument name="x" type="_1290" location="f231:25" file="f231" line="25"/>
+  </Function>
+  <Function id="_11210" name="absolute_value" returns="_503" context="_3904" mangled="_ZN5boost9date_time14absolute_valueIiEET_S2_" demangled="int boost::date_time::absolute_value<int>(int)" location="f231:25" file="f231" line="25" endline="26" inline="1">
+    <Argument name="x" type="_503" location="f231:25" file="f231" line="25"/>
+  </Function>
+  <Class id="_11211" name="time_duration<boost::posix_time::time_duration,boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, micro, 1000000, 6, int> >" context="_3904" mangled="N5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEE" demangled="boost::date_time::time_duration<boost::posix_time::time_du [...]
+    <Base type="_3849" access="private" virtual="0" offset="0"/>
+  </Class>
+  <Enumeration id="_11212" name="dst_flags" context="_3904" location="f289:26" file="f289" line="26" artificial="1" size="32" align="32">
+    <EnumValue name="not_dst" init="0"/>
+    <EnumValue name="is_dst" init="1"/>
+    <EnumValue name="calculate" init="2"/>
+  </Enumeration>
+  <Enumeration id="_11213" name="time_resolutions" context="_3904" location="f289:23" file="f289" line="23" artificial="1" size="32" align="32">
+    <EnumValue name="sec" init="0"/>
+    <EnumValue name="tenth" init="1"/>
+    <EnumValue name="hundreth" init="2"/>
+    <EnumValue name="milli" init="3"/>
+    <EnumValue name="ten_thousandth" init="4"/>
+    <EnumValue name="micro" init="5"/>
+    <EnumValue name="nano" init="6"/>
+    <EnumValue name="NumResolutions" init="7"/>
+  </Enumeration>
+  <Function id="_11214" name="from_simple_string_type" returns="_10742" context="_3904" mangled="_ZN5boost9date_time23from_simple_string_typeINS_9gregorian4dateEwEENS0_6periodIT_NS5_13duration_typeEEERKSbIT0_St11char_traitsIS8_ESaIS8_EE" demangled="boost::date_time::period<boost::gregorian::date, boost::gregorian::date::duration_type> boost::date_time::from_simple_string_type<boost::gregorian::date, wchar_t>(std::basic_string<wchar_t, std::char_traits<wchar_t>, std:: [...]
+    <Argument name="s" type="_4947" location="f14:270" file="f14" line="270"/>
+  </Function>
+  <Function id="_11215" name="from_simple_string_type" returns="_10742" context="_3904" mangled="_ZN5boost9date_time23from_simple_string_typeINS_9gregorian4dateEcEENS0_6periodIT_NS5_13duration_typeEEERKSbIT0_St11char_traitsIS8_ESaIS8_EE" demangled="boost::date_time::period<boost::gregorian::date, boost::gregorian::date::duration_type> boost::date_time::from_simple_string_type<boost::gregorian::date, char>(std::basic_string<char, std::char_traits<char>, std::allocator [...]
+    <Argument name="s" type="_4948" location="f14:270" file="f14" line="270"/>
+  </Function>
+  <Function id="_11216" name="from_stream_type" returns="_9061" context="_3904" mangled="_ZN5boost9date_time16from_stream_typeINS_9gregorian4dateEN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEET_RT0_SE_SA_" demangled="boost::gregorian::date boost::date_time::from_stream_type<boost::gregorian::date, __gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >(__gnu_cxx::__normal_i [...]
+    <Argument name="beg" type="_12038" location="f14:250" file="f14" line="250"/>
+    <Argument name="end" type="_12038" location="f14:250" file="f14" line="250"/>
+    <Argument type="_2506" location="f14:250" file="f14" line="250"/>
+  </Function>
+  <Function id="_11217" name="from_stream_type" returns="_9061" context="_3904" mangled="_ZN5boost9date_time16from_stream_typeINS_9gregorian4dateEN9__gnu_cxx17__normal_iteratorIPcSsEEEET_RT0_SA_SbIwSt11char_traitsIwESaIwEE" demangled="boost::gregorian::date boost::date_time::from_stream_type<boost::gregorian::date, __gnu_cxx::__normal_iterator<char*, std::string> >(__gnu_cxx::__normal_iterator<char*, std::string>&, __gnu_cxx::__normal_iterator<char*, std::string& [...]
+    <Argument name="beg" type="_12036" location="f14:250" file="f14" line="250"/>
+    <Argument name="end" type="_12036" location="f14:250" file="f14" line="250"/>
+    <Argument type="_2506" location="f14:250" file="f14" line="250"/>
+  </Function>
+  <Function id="_11218" name="from_stream_type" returns="_9061" context="_3904" mangled="_ZN5boost9date_time16from_stream_typeINS_9gregorian4dateEN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEET_RT0_SE_w" demangled="boost::gregorian::date boost::date_time::from_stream_type<boost::gregorian::date, __gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >(__gnu_cxx::__normal_ite [...]
+    <Argument name="beg" type="_12038" location="f14:230" file="f14" line="230"/>
+    <Argument name="end" type="_12038" location="f14:230" file="f14" line="230"/>
+    <Argument type="_2786" location="f14:230" file="f14" line="230"/>
+  </Function>
+  <Function id="_11219" name="from_stream_type" returns="_9061" context="_3904" mangled="_ZN5boost9date_time16from_stream_typeINS_9gregorian4dateEN9__gnu_cxx17__normal_iteratorIPcSsEEEET_RT0_SA_w" demangled="boost::gregorian::date boost::date_time::from_stream_type<boost::gregorian::date, __gnu_cxx::__normal_iterator<char*, std::string> >(__gnu_cxx::__normal_iterator<char*, std::string>&, __gnu_cxx::__normal_iterator<char*, std::string>&, wchar_t)" locatio [...]
+    <Argument name="beg" type="_12036" location="f14:230" file="f14" line="230"/>
+    <Argument name="end" type="_12036" location="f14:230" file="f14" line="230"/>
+    <Argument type="_2786" location="f14:230" file="f14" line="230"/>
+  </Function>
+  <Function id="_11220" name="from_stream_type" returns="_9061" context="_3904" mangled="_ZN5boost9date_time16from_stream_typeINS_9gregorian4dateEN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEET_RT0_SE_Ss" demangled="boost::gregorian::date boost::date_time::from_stream_type<boost::gregorian::date, __gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >(__gnu_cxx::__normal_it [...]
+    <Argument name="beg" type="_12038" location="f14:215" file="f14" line="215"/>
+    <Argument name="end" type="_12038" location="f14:215" file="f14" line="215"/>
+    <Argument type="_2508" location="f14:215" file="f14" line="215"/>
+  </Function>
+  <Function id="_11221" name="from_stream_type" returns="_9061" context="_3904" mangled="_ZN5boost9date_time16from_stream_typeINS_9gregorian4dateEN9__gnu_cxx17__normal_iteratorIPcSsEEEET_RT0_SA_Ss" demangled="boost::gregorian::date boost::date_time::from_stream_type<boost::gregorian::date, __gnu_cxx::__normal_iterator<char*, std::string> >(__gnu_cxx::__normal_iterator<char*, std::string>&, __gnu_cxx::__normal_iterator<char*, std::string>&, std::string)" lo [...]
+    <Argument name="beg" type="_12036" location="f14:215" file="f14" line="215"/>
+    <Argument name="end" type="_12036" location="f14:215" file="f14" line="215"/>
+    <Argument type="_2508" location="f14:215" file="f14" line="215"/>
+  </Function>
+  <Function id="_11222" name="from_stream_type" returns="_9061" context="_3904" mangled="_ZN5boost9date_time16from_stream_typeINS_9gregorian4dateEN9__gnu_cxx17__normal_iteratorIPcSsEEEET_RT0_SA_c" demangled="boost::gregorian::date boost::date_time::from_stream_type<boost::gregorian::date, __gnu_cxx::__normal_iterator<char*, std::string> >(__gnu_cxx::__normal_iterator<char*, std::string>&, __gnu_cxx::__normal_iterator<char*, std::string>&, char)" location=" [...]
+    <Argument name="beg" type="_12036" location="f14:198" file="f14" line="198"/>
+    <Argument name="end" type="_12036" location="f14:198" file="f14" line="198"/>
+    <Argument type="_2961" location="f14:198" file="f14" line="198"/>
+  </Function>
+  <Function id="_11223" name="from_stream_type" returns="_9061" context="_3904" mangled="_ZN5boost9date_time16from_stream_typeINS_9gregorian4dateEN9__gnu_cxx17__normal_iteratorIPwSbIwSt11char_traitsIwESaIwEEEEEET_RT0_SE_c" demangled="boost::gregorian::date boost::date_time::from_stream_type<boost::gregorian::date, __gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >(__gnu_cxx::__normal_ite [...]
+    <Argument name="beg" type="_12038" location="f14:198" file="f14" line="198"/>
+    <Argument name="end" type="_12038" location="f14:198" file="f14" line="198"/>
+    <Argument type="_2961" location="f14:198" file="f14" line="198"/>
+  </Function>
+  <Function id="_11224" name="parse_undelimited_date" returns="_9061" context="_3904" mangled="_ZN5boost9date_time22parse_undelimited_dateINS_9gregorian4dateEEET_RKSs" demangled="boost::gregorian::date boost::date_time::parse_undelimited_date<boost::gregorian::date>(std::string const&)" location="f14:158" file="f14" line="158" endline="185">
+    <Argument name="s" type="_4948" location="f14:158" file="f14" line="158"/>
+  </Function>
+  <Function id="_11225" name="parse_date" returns="_9061" context="_3904" mangled="_ZN5boost9date_time10parse_dateINS_9gregorian4dateEEET_RKSsi" demangled="boost::gregorian::date boost::date_time::parse_date<boost::gregorian::date>(std::string const&, int)" location="f14:103" file="f14" line="103" endline="152">
+    <Argument name="s" type="_4948" location="f14:103" file="f14" line="103"/>
+    <Argument name="order_spec" type="_503" location="f14:103" file="f14" line="103" default="ymd_order_iso"/>
+  </Function>
+  <Function id="_11226" name="month_str_to_ushort" returns="_1199" context="_3904" mangled="_ZN5boost9date_time19month_str_to_ushortINS_9gregorian10greg_monthEEEtSs" demangled="unsigned short boost::date_time::month_str_to_ushort<boost::gregorian::greg_month>(std::string)" location="f14:61" file="f14" line="61" endline="73">
+    <Argument name="s" type="_2508" location="f14:61" file="f14" line="61"/>
+  </Function>
+  <Function id="_11227" name="convert_to_lower" returns="_2509" context="_3904" mangled="_ZN5boost9date_time16convert_to_lowerERKSs" demangled="boost::date_time::convert_to_lower(std::string const&)" location="f14:37" file="f14" line="37" endline="54" inline="1">
+    <Argument name="inp" type="_4020" location="f14:37" file="f14" line="37"/>
+  </Function>
+  <Class id="_11228" name="simple_format<char>" context="_3904" mangled="N5boost9date_time13simple_formatIcEE" demangled="boost::date_time::simple_format<char>" location="f290:19" file="f290" line="19" artificial="1" size="8" align="8" members="_15660 _15661 _15662 _15663 _15664 _15665 _15666 _15667 _15668 _15669 _15670 _15671 _15672 _15673 " bases=""/>
+  <Class id="_11229" name="simple_format<wchar_t>" context="_3904" mangled="N5boost9date_time13simple_formatIwEE" demangled="boost::date_time::simple_format<wchar_t>" location="f290:88" file="f290" line="88" artificial="1" size="8" align="8" members="_15674 _15675 _15676 _15677 _15678 _15679 _15680 _15681 _15682 _15683 _15684 _15685 _15686 _15687 " bases=""/>
+  <Class id="_11230" name="date_formatter<boost::gregorian::date,boost::date_time::iso_format<wchar_t>,wchar_t>" context="_3904" mangled="N5boost9date_time14date_formatterINS_9gregorian4dateENS0_10iso_formatIwEEwEE" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<wchar_t>, wchar_t>" location="f291:101" file="f291" line="101" artificial="1" size="8" align="8" members="_15688 _15689 _15690 _15691 " bases=""/>
+  <Class id="_11231" name="date_formatter<boost::gregorian::date,boost::date_time::iso_extended_format<wchar_t>,wchar_t>" context="_3904" mangled="N5boost9date_time14date_formatterINS_9gregorian4dateENS0_19iso_extended_formatIwEEwEE" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<wchar_t>, wchar_t>" location="f291:101" file="f291" line="101" artificial="1" size="8" align="8" members="_15692 _15693 _15694 _ [...]
+  <Class id="_11232" name="date_formatter<boost::gregorian::date,boost::date_time::simple_format<wchar_t>,wchar_t>" context="_3904" mangled="N5boost9date_time14date_formatterINS_9gregorian4dateENS0_13simple_formatIwEEwEE" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<wchar_t>, wchar_t>" location="f291:101" file="f291" line="101" artificial="1" size="8" align="8" members="_15696 _15697 _15698 _15699 " bases=""/>
+  <Class id="_11233" name="date_formatter<boost::gregorian::date,boost::date_time::iso_format<char>,char>" context="_3904" mangled="N5boost9date_time14date_formatterINS_9gregorian4dateENS0_10iso_formatIcEEcEE" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<char>, char>" location="f291:101" file="f291" line="101" artificial="1" size="8" align="8" members="_15700 _15701 _15702 _15703 " bases=""/>
+  <Class id="_11234" name="date_formatter<boost::gregorian::date,boost::date_time::iso_extended_format<char>,char>" context="_3904" mangled="N5boost9date_time14date_formatterINS_9gregorian4dateENS0_19iso_extended_formatIcEEcEE" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<char>, char>" location="f291:101" file="f291" line="101" artificial="1" size="8" align="8" members="_15704 _15705 _15706 _15707 " bases=""/>
+  <Class id="_11235" name="date_formatter<boost::gregorian::date,boost::date_time::simple_format<char>,char>" context="_3904" mangled="N5boost9date_time14date_formatterINS_9gregorian4dateENS0_13simple_formatIcEEcEE" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<char>, char>" location="f291:101" file="f291" line="101" artificial="1" size="8" align="8" members="_15708 _15709 _15710 _15711 " bases=""/>
+  <Class id="_11236" name="ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>,boost::date_time::iso_extended_format<wchar_t>,wchar_t>" context="_3904" mangled="N5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_19iso_extended_formatIwEEwEE" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_d [...]
+  <Class id="_11237" name="ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>,boost::date_time::iso_format<wchar_t>,wchar_t>" context="_3904" mangled="N5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_10iso_formatIwEEwEE" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost:: [...]
+  <Class id="_11238" name="ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>,boost::date_time::simple_format<wchar_t>,wchar_t>" context="_3904" mangled="N5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_13simple_formatIwEEwEE" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<b [...]
+  <Class id="_11239" name="ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>,boost::date_time::iso_extended_format<char>,char>" context="_3904" mangled="N5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_19iso_extended_formatIcEEcEE" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_bas [...]
+  <Class id="_11240" name="ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>,boost::date_time::iso_format<char>,char>" context="_3904" mangled="N5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_10iso_formatIcEEcEE" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregor [...]
+  <Class id="_11241" name="ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>,boost::date_time::simple_format<char>,char>" context="_3904" mangled="N5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_13simple_formatIcEEcEE" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost:: [...]
+  <Class id="_11242" name="month_formatter<boost::gregorian::greg_month,boost::date_time::iso_extended_format<wchar_t>,wchar_t>" context="_3904" mangled="N5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_19iso_extended_formatIwEEwEE" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<wchar_t>, wchar_t>" location="f291:29" file="f291" line="29" artificial="1" size="8" align="8" members="_1 [...]
+  <Class id="_11243" name="month_formatter<boost::gregorian::greg_month,boost::date_time::iso_format<wchar_t>,wchar_t>" context="_3904" mangled="N5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_10iso_formatIwEEwEE" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<wchar_t>, wchar_t>" location="f291:29" file="f291" line="29" artificial="1" size="8" align="8" members="_15734 _15735 _15736 _15737 " [...]
+  <Class id="_11244" name="month_formatter<boost::gregorian::greg_month,boost::date_time::simple_format<wchar_t>,wchar_t>" context="_3904" mangled="N5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_13simple_formatIwEEwEE" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<wchar_t>, wchar_t>" location="f291:29" file="f291" line="29" artificial="1" size="8" align="8" members="_15738 _15739 _15740 [...]
+  <Class id="_11245" name="month_formatter<boost::gregorian::greg_month,boost::date_time::iso_extended_format<char>,char>" context="_3904" mangled="N5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_19iso_extended_formatIcEEcEE" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<char>, char>" location="f291:29" file="f291" line="29" artificial="1" size="8" align="8" members="_15742 _15743  [...]
+  <Class id="_11246" name="month_formatter<boost::gregorian::greg_month,boost::date_time::iso_format<char>,char>" context="_3904" mangled="N5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_10iso_formatIcEEcEE" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<char>, char>" location="f291:29" file="f291" line="29" artificial="1" size="8" align="8" members="_15746 _15747 _15748 _15749 " bases=""/>
+  <Class id="_11247" name="month_formatter<boost::gregorian::greg_month,boost::date_time::simple_format<char>,char>" context="_3904" mangled="N5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_13simple_formatIcEEcEE" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<char>, char>" location="f291:29" file="f291" line="29" artificial="1" size="8" align="8" members="_15750 _15751 _15752 _15753 " ba [...]
+  <Class id="_11248" name="iso_extended_format<wchar_t>" context="_3904" mangled="N5boost9date_time19iso_extended_formatIwEE" demangled="boost::date_time::iso_extended_format<wchar_t>" location="f292:288" file="f292" line="288" artificial="1" size="8" align="8" members="_15754 _15755 _15756 " bases="_11253 ">
+    <Base type="_11253" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_11249" name="iso_extended_format<char>" context="_3904" mangled="N5boost9date_time19iso_extended_formatIcEE" demangled="boost::date_time::iso_extended_format<char>" location="f292:288" file="f292" line="288" artificial="1" size="8" align="8" members="_15757 _15758 _15759 " bases="_11252 ">
+    <Base type="_11252" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_11250" name="iso_format<wchar_t>" context="_3904" mangled="N5boost9date_time10iso_formatIwEE" demangled="boost::date_time::iso_format<wchar_t>" location="f292:277" file="f292" line="277" artificial="1" size="8" align="8" members="_15760 _15761 _15762 " bases="_11253 ">
+    <Base type="_11253" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_11251" name="iso_format<char>" context="_3904" mangled="N5boost9date_time10iso_formatIcEE" demangled="boost::date_time::iso_format<char>" location="f292:277" file="f292" line="277" artificial="1" size="8" align="8" members="_15763 _15764 _15765 " bases="_11252 ">
+    <Base type="_11252" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Class id="_11252" name="iso_format_base<char>" context="_3904" mangled="N5boost9date_time15iso_format_baseIcEE" demangled="boost::date_time::iso_format_base<char>" location="f292:19" file="f292" line="19" artificial="1" size="8" align="8" members="_15766 _15767 _15768 _15769 _15770 _15771 _15772 _15773 _15774 _15775 _15776 _15777 _15778 _15779 _15780 _15781 _15782 _15783 _15784 _15785 _15786 _15787 " bases=""/>
+  <Class id="_11253" name="iso_format_base<wchar_t>" context="_3904" mangled="N5boost9date_time15iso_format_baseIwEE" demangled="boost::date_time::iso_format_base<wchar_t>" location="f292:148" file="f292" line="148" artificial="1" size="8" align="8" members="_15788 _15789 _15790 _15791 _15792 _15793 _15794 _15795 _15796 _15797 _15798 _15799 _15800 _15801 _15802 _15803 _15804 _15805 _15806 _15807 _15808 _15809 " bases=""/>
+  <Enumeration id="_11254" name="month_format_spec" context="_3904" location="f198:16" file="f198" line="16" artificial="1" size="32" align="32">
+    <EnumValue name="month_as_integer" init="0"/>
+    <EnumValue name="month_as_short_string" init="1"/>
+    <EnumValue name="month_as_long_string" init="2"/>
+  </Enumeration>
+  <Class id="_11255" name="date_generator_formatter<boost::gregorian::date,char,std::ostreambuf_iterator<char, std::char_traits<char> > >" context="_3904" mangled="N5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >" location="f293:38" file="f293" line=" [...]
+  <Enumeration id="_11256" name="date_resolutions" context="_3904" location="f273:17" file="f273" line="17" artificial="1" size="32" align="32">
+    <EnumValue name="day" init="0"/>
+    <EnumValue name="week" init="1"/>
+    <EnumValue name="months" init="2"/>
+    <EnumValue name="year" init="3"/>
+    <EnumValue name="decade" init="4"/>
+    <EnumValue name="century" init="5"/>
+    <EnumValue name="NumDateResolutions" init="6"/>
+  </Enumeration>
+  <Struct id="_11257" name="c_time" context="_3904" mangled="N5boost9date_time6c_timeE" demangled="boost::date_time::c_time" location="f294:44" file="f294" line="44" artificial="1" size="8" align="8" members="_15836 _15837 _15838 _15839 " bases=""/>
+  <Function id="_11258" name="previous_weekday" returns="_9061" context="_3904" mangled="_ZN5boost9date_time16previous_weekdayINS_9gregorian4dateENS2_12greg_weekdayEEET_RKS5_RKT0_" demangled="boost::gregorian::date boost::date_time::previous_weekday<boost::gregorian::date, boost::gregorian::greg_weekday>(boost::gregorian::date const&, boost::gregorian::greg_weekday const&)" location="f16:499" file="f16" line="499" endline="500" inline="1">
+    <Argument name="d" type="_10010" location="f16:499" file="f16" line="499"/>
+    <Argument name="wd" type="_13802" location="f16:499" file="f16" line="499"/>
+  </Function>
+  <Function id="_11259" name="next_weekday" returns="_9061" context="_3904" mangled="_ZN5boost9date_time12next_weekdayINS_9gregorian4dateENS2_12greg_weekdayEEET_RKS5_RKT0_" demangled="boost::gregorian::date boost::date_time::next_weekday<boost::gregorian::date, boost::gregorian::greg_weekday>(boost::gregorian::date const&, boost::gregorian::greg_weekday const&)" location="f16:487" file="f16" line="487" endline="488" inline="1">
+    <Argument name="d" type="_10010" location="f16:487" file="f16" line="487"/>
+    <Argument name="wd" type="_13802" location="f16:487" file="f16" line="487"/>
+  </Function>
+  <Function id="_11260" name="days_before_weekday" returns="_10752" context="_3904" mangled="_ZN5boost9date_time19days_before_weekdayINS_9gregorian4dateENS2_12greg_weekdayEEEN9date_type13duration_typeERKS5_RKT0_" demangled="date_type::duration_type boost::date_time::days_before_weekday<boost::gregorian::date, boost::gregorian::greg_weekday>(date_type const&, boost::gregorian::greg_weekday const&)" location="f16:467" file="f16" line="467" endline="476" inline="1">
+    <Argument name="d" type="_10010" location="f16:467" file="f16" line="467"/>
+    <Argument name="wd" type="_13802" location="f16:467" file="f16" line="467"/>
+  </Function>
+  <Function id="_11261" name="days_until_weekday" returns="_10752" context="_3904" mangled="_ZN5boost9date_time18days_until_weekdayINS_9gregorian4dateENS2_12greg_weekdayEEEN9date_type13duration_typeERKS5_RKT0_" demangled="date_type::duration_type boost::date_time::days_until_weekday<boost::gregorian::date, boost::gregorian::greg_weekday>(date_type const&, boost::gregorian::greg_weekday const&)" location="f16:449" file="f16" line="449" endline="456" inline="1">
+    <Argument name="d" type="_10010" location="f16:449" file="f16" line="449"/>
+    <Argument name="wd" type="_13802" location="f16:449" file="f16" line="449"/>
+  </Function>
+  <Function id="_11262" name="nth_as_str" returns="_2749" context="_3904" mangled="_ZN5boost9date_time10nth_as_strEi" demangled="boost::date_time::nth_as_str(int)" location="f16:246" file="f16" line="246" extern="1">
+    <Argument name="n" type="_503" location="f16:246" file="f16" line="246"/>
+  </Function>
+  <Class id="_11263" name="year_functor<boost::gregorian::date>" context="_3904" incomplete="1" mangled="N5boost9date_time12year_functorINS_9gregorian4dateEEE" demangled="boost::date_time::year_functor<boost::gregorian::date>" location="f295:156" file="f295" line="156" artificial="1" align="8"/>
+  <Class id="_11264" name="week_functor<boost::gregorian::date>" context="_3904" incomplete="1" mangled="N5boost9date_time12week_functorINS_9gregorian4dateEEE" demangled="boost::date_time::week_functor<boost::gregorian::date>" location="f295:131" file="f295" line="131" artificial="1" align="8"/>
+  <Class id="_11265" name="month_functor<boost::gregorian::date>" context="_3904" mangled="N5boost9date_time13month_functorINS_9gregorian4dateEEE" demangled="boost::date_time::month_functor<boost::gregorian::date>" location="f295:55" file="f295" line="55" artificial="1" size="64" align="32" members="_15840 _15841 _15842 _15843 _15844 _15845 _15846 _15847 _15848 _15849 " bases=""/>
+  <Class id="_11266" name="day_functor<boost::gregorian::date>" context="_3904" incomplete="1" mangled="N5boost9date_time11day_functorINS_9gregorian4dateEEE" demangled="boost::date_time::day_functor<boost::gregorian::date>" location="f295:22" file="f295" line="22" artificial="1" align="8"/>
+  <Class id="_11267" name="wrapping_int2<short int,1,12>" context="_3904" mangled="N5boost9date_time13wrapping_int2IsLs1ELs12EEE" demangled="boost::date_time::wrapping_int2<short, 1, 12>" location="f296:92" file="f296" line="92" artificial="1" size="16" align="16" members="_15850 _15851 _15852 _15853 _15854 _15855 _15856 _15857 _15858 _15859 _15860 " bases=""/>
+  <Struct id="_11268" name="duration_traits_long" context="_3904" mangled="N5boost9date_time20duration_traits_longE" demangled="boost::date_time::duration_traits_long" location="f202:126" file="f202" line="126" artificial="1" size="8" align="8" members="_15861 _15862 _15863 _15864 _15865 " bases=""/>
+  <Class id="_11269" name="int_adapter<long long int>" context="_3904" mangled="N5boost9date_time11int_adapterIxEE" demangled="boost::date_time::int_adapter<long long>" location="f280:38" file="f280" line="38" artificial="1" size="64" align="32" members="_15866 _15867 _15868 _15869 _15870 _15871 _15872 _15873 _15874 _15875 _15876 _15877 _15878 _15879 _15880 _15881 _15882 _15883 _15884 _15885 _15886 _15887 _15888 _15889 _15890 _15891 _15892 _15893 _15894 _15895 _15896 _15897 _ [...]
+  <Class id="_11270" name="int_adapter<long int>" context="_3904" mangled="N5boost9date_time11int_adapterIlEE" demangled="boost::date_time::int_adapter<long>" location="f280:38" file="f280" line="38" artificial="1" size="32" align="32" members="_15908 _15909 _15910 _15911 _15912 _15913 _15914 _15915 _15916 _15917 _15918 _15919 _15920 _15921 _15922 _15923 _15924 _15925 _15926 _15927 _15928 _15929 _15930 _15931 _15932 _15933 _15934 _15935 _15936 _15937 _15938 _15939 _15940 _159 [...]
+  <Class id="_11271" name="int_adapter<int>" context="_3904" mangled="N5boost9date_time11int_adapterIiEE" demangled="boost::date_time::int_adapter<int>" location="f280:38" file="f280" line="38" artificial="1" size="32" align="32" members="_15950 _15951 _15952 _15953 _15954 _15955 _15956 _15957 _15958 _15959 _15960 _15961 _15962 _15963 _15964 _15965 _15966 _15967 _15968 _15969 _15970 _15971 _15972 _15973 _15974 _15975 _15976 _15977 _15978 _15979 _15980 _15981 _15982 _15983 _15 [...]
+  <Class id="_11272" name="gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>,long unsigned int>" context="_3904" mangled="N5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmEE" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, bo [...]
+  <Enumeration id="_11273" name="weekdays" context="_3904" location="f283:17" file="f283" line="17" artificial="1" size="32" align="32">
+    <EnumValue name="Sunday" init="0"/>
+    <EnumValue name="Monday" init="1"/>
+    <EnumValue name="Tuesday" init="2"/>
+    <EnumValue name="Wednesday" init="3"/>
+    <EnumValue name="Thursday" init="4"/>
+    <EnumValue name="Friday" init="5"/>
+    <EnumValue name="Saturday" init="6"/>
+  </Enumeration>
+  <Class id="_11274" name="date<boost::gregorian::date,boost::gregorian::gregorian_calendar,boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >" context="_3904" mangled="N5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEE" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_t [...]
+    <Base type="_3852" access="private" virtual="0" offset="0"/>
+  </Class>
+  <Enumeration id="_11275" name="special_values" context="_3904" location="f298:15" file="f298" line="15" artificial="1" size="32" align="32">
+    <EnumValue name="not_a_date_time" init="0"/>
+    <EnumValue name="neg_infin" init="1"/>
+    <EnumValue name="pos_infin" init="2"/>
+    <EnumValue name="min_date_time" init="3"/>
+    <EnumValue name="max_date_time" init="4"/>
+    <EnumValue name="not_special" init="5"/>
+    <EnumValue name="NumSpecialValues" init="6"/>
+  </Enumeration>
+  <PointerType id="_11276" type="_2532" size="32" align="32"/>
+  <ReferenceType id="_11277" type="_1896c" size="32" align="32"/>
+  <PointerType id="_11278" type="_2533" size="32" align="32"/>
+  <PointerType id="_11279" type="_1896" size="32" align="32"/>
+  <ReferenceType id="_11280" type="_1952c" size="32" align="32"/>
+  <ReferenceType id="_11281" type="_1958c" size="32" align="32"/>
+  <ReferenceType id="_11282" type="_1965c" size="32" align="32"/>
+  <ReferenceType id="_11283" type="_1966c" size="32" align="32"/>
+  <ReferenceType id="_11284" type="_1972c" size="32" align="32"/>
+  <ReferenceType id="_11285" type="_1978c" size="32" align="32"/>
+  <ReferenceType id="_11286" type="_1984c" size="32" align="32"/>
+  <PointerType id="_11288" type="_1993" size="32" align="32"/>
+  <ReferenceType id="_11289" type="_1986" size="32" align="32"/>
+  <ReferenceType id="_11291" type="_1988" size="32" align="32"/>
+  <ReferenceType id="_11293" type="_1991c" size="32" align="32"/>
+  <ReferenceType id="_11294" type="_1991" size="32" align="32"/>
+  <ReferenceType id="_11296" type="_2513c" size="32" align="32"/>
+  <ReferenceType id="_11297" type="_1994c" size="32" align="32"/>
+  <ReferenceType id="_11299" type="_2516c" size="32" align="32"/>
+  <ReferenceType id="_11300" type="_1995c" size="32" align="32"/>
+  <ReferenceType id="_11301" type="_1995" size="32" align="32"/>
+  <Field id="_11302" name="_M_start" type="_4014" offset="0" context="_4133" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE12_Vector_impl8_M_startE" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_impl::_M_start" location="f80:83" file="f80" line="83"/>
+  <Field id="_11303" name="_M_finish" type="_4014" offset="32" context="_4133" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE12_Vector_impl9_M_finishE" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_impl::_M_finish" location="f80:84" file="f80" line="84"/>
+  <Field id="_11304" name="_M_end_of_storage" type="_4014" offset="64" context="_4133" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE12_Vector_impl17_M_end_of_storageE" demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_impl::_M_end_of_storage" location="f80:85" file="f80" line="85"/>
+  <Constructor id="_11305" name="_Vector_impl" artificial="1" throw="" context="_4133" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS2_ *INTERNAL* " demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_impl::_Vector_impl(std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_impl const&)" location="f80:82" file="f80" line="82" inline="1">
+    <Argument name="_ctor_arg" type="_16060" location="f80:82" file="f80" line="82"/>
+  </Constructor>
+  <Destructor id="_11306" name="_Vector_impl" artificial="1" throw="" context="_4133" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE12_Vector_implD1Ev *INTERNAL* " demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_impl::~_Vector_impl()" location="f80:119" file="f80" line="119" endline="119" inline="1">
+  </Destructor>
+  <Constructor id="_11307" name="_Vector_impl" context="_4133" access="public" mangled="_ZNSt12_Vector_baseISsSaISsEE12_Vector_implC1ERKS0_ *INTERNAL* " demangled="std::_Vector_base<std::string, std::allocator<std::string> >::_Vector_impl::_Vector_impl(std::allocator<std::string> const&)" location="f80:87" file="f80" line="87" endline="88" inline="1">
+    <Argument name="__a" type="_11296" location="f80:87" file="f80" line="87"/>
+  </Constructor>
+  <ReferenceType id="_11308" type="_1996c" size="32" align="32"/>
+  <ReferenceType id="_11309" type="_2513" size="32" align="32"/>
+  <Field id="_11310" name="_M_start" type="_2748" offset="0" context="_4146" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE12_Vector_impl8_M_startE" demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_M_start" location="f80:83" file="f80" line="83"/>
+  <Field id="_11311" name="_M_finish" type="_2748" offset="32" context="_4146" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE12_Vector_impl9_M_finishE" demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_M_finish" location="f80:84" file="f80" line="84"/>
+  <Field id="_11312" name="_M_end_of_storage" type="_2748" offset="64" context="_4146" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE12_Vector_impl17_M_end_of_storageE" demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_M_end_of_storage" location="f80:85" file="f80" line="85"/>
+  <Constructor id="_11313" name="_Vector_impl" artificial="1" throw="" context="_4146" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC1ERKS2_ *INTERNAL* " demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_Vector_impl(std::_Vector_base<int, std::allocator<int> >::_Vector_impl const&)" location="f80:82" file="f80" line="82" inline="1">
+    <Argument name="_ctor_arg" type="_16062" location="f80:82" file="f80" line="82"/>
+  </Constructor>
+  <Destructor id="_11314" name="_Vector_impl" artificial="1" throw="" context="_4146" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE12_Vector_implD1Ev *INTERNAL* " demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_impl::~_Vector_impl()" location="f80:108" file="f80" line="108" endline="108" inline="1">
+  </Destructor>
+  <Constructor id="_11315" name="_Vector_impl" context="_4146" access="public" mangled="_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC1ERKS0_ *INTERNAL* " demangled="std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_Vector_impl(std::allocator<int> const&)" location="f80:87" file="f80" line="87" endline="88" inline="1">
+    <Argument name="__a" type="_11299" location="f80:87" file="f80" line="87"/>
+  </Constructor>
+  <ReferenceType id="_11316" type="_1997c" size="32" align="32"/>
+  <ReferenceType id="_11317" type="_2516" size="32" align="32"/>
+  <ReferenceType id="_11318" type="_1998c" size="32" align="32"/>
+  <ReferenceType id="_11319" type="_1998" size="32" align="32"/>
+  <Field id="_11320" name="_M_map" type="_2935" offset="0" context="_4236" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEE11_Deque_impl6_M_mapE" demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_impl::_M_map" location="f81:387" file="f81" line="387"/>
+  <Field id="_11321" name="_M_map_size" type="_1698" offset="32" context="_4236" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEE11_Deque_impl11_M_map_sizeE" demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_impl::_M_map_size" location="f81:388" file="f81" line="388"/>
+  <Field id="_11322" name="_M_start" type="_2005" offset="64" context="_4236" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEE11_Deque_impl8_M_startE" demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_impl::_M_start" location="f81:389" file="f81" line="389"/>
+  <Field id="_11323" name="_M_finish" type="_2005" offset="192" context="_4236" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEE11_Deque_impl9_M_finishE" demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_impl::_M_finish" location="f81:390" file="f81" line="390"/>
+  <Constructor id="_11324" name="_Deque_impl" artificial="1" context="_4236" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEE11_Deque_implC1ERKS2_ *INTERNAL* " demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_impl::_Deque_impl(std::_Deque_base<char, std::allocator<char> >::_Deque_impl const&)" location="f81:386" file="f81" line="386" inline="1">
+    <Argument name="_ctor_arg" type="_16065" location="f81:386" file="f81" line="386"/>
+  </Constructor>
+  <Destructor id="_11325" name="_Deque_impl" artificial="1" throw="" context="_4236" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEE11_Deque_implD1Ev *INTERNAL* " demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_impl::~_Deque_impl()" location="f81:368" file="f81" line="368" endline="368" inline="1">
+  </Destructor>
+  <Constructor id="_11326" name="_Deque_impl" context="_4236" access="public" mangled="_ZNSt11_Deque_baseIcSaIcEE11_Deque_implC1ERKS0_ *INTERNAL* " demangled="std::_Deque_base<char, std::allocator<char> >::_Deque_impl::_Deque_impl(std::allocator<char> const&)" location="f81:393" file="f81" line="393" endline="395" inline="1">
+    <Argument name="__a" type="_5511" location="f81:393" file="f81" line="393"/>
+  </Constructor>
+  <ReferenceType id="_11327" type="_1999c" size="32" align="32"/>
+  <ReferenceType id="_11328" type="_2512" size="32" align="32"/>
+  <ReferenceType id="_11330" type="_2005" size="32" align="32"/>
+  <Variable id="_11331" name="_S_refcount" type="_661" context="_4282" access="private" mangled="_ZNSt8ios_base4Init11_S_refcountE" demangled="std::ios_base::Init::_S_refcount" location="f33:538" file="f33" line="538" extern="1"/>
+  <Variable id="_11332" name="_S_synced_with_stdio" type="_3949" context="_4282" access="private" mangled="_ZNSt8ios_base4Init20_S_synced_with_stdioE" demangled="std::ios_base::Init::_S_synced_with_stdio" location="f33:539" file="f33" line="539" extern="1"/>
+  <Constructor id="_11333" name="Init" artificial="1" throw="" context="_4282" access="public" mangled="_ZNSt8ios_base4InitC1ERKS0_ *INTERNAL* " demangled="std::ios_base::Init::Init(std::ios_base::Init const&)" location="f33:531" file="f33" line="531" inline="1">
+    <Argument name="_ctor_arg" type="_16067" location="f33:531" file="f33" line="531"/>
+  </Constructor>
+  <Constructor id="_11334" name="Init" explicit="1" context="_4282" access="public" mangled="_ZNSt8ios_base4InitC1Ev *INTERNAL* " demangled="std::ios_base::Init::Init()" location="f33:534" file="f33" line="534" extern="1"/>
+  <Destructor id="_11335" name="Init" context="_4282" access="public" mangled="_ZNSt8ios_base4InitD1Ev *INTERNAL* " demangled="std::ios_base::Init::~Init()" location="f33:535" file="f33" line="535" extern="1">
+  </Destructor>
+  <ReferenceType id="_11337" type="_2171c" size="32" align="32"/>
+  <ReferenceType id="_11338" type="_2518c" size="32" align="32"/>
+  <ReferenceType id="_11339" type="_2017c" size="32" align="32"/>
+  <ReferenceType id="_11340" type="_1199" size="32" align="32"/>
+  <ReferenceType id="_11341" type="_1199c" size="32" align="32"/>
+  <ReferenceType id="_11343" type="_2520c" size="32" align="32"/>
+  <ReferenceType id="_11344" type="_2018c" size="32" align="32"/>
+  <ReferenceType id="_11345" type="_2018" size="32" align="32"/>
+  <ReferenceType id="_11346" type="_3830" size="32" align="32"/>
+  <ReferenceType id="_11349" type="_2020c" size="32" align="32"/>
+  <ReferenceType id="_11350" type="_2020" size="32" align="32"/>
+  <ReferenceType id="_11352" type="_2021c" size="32" align="32"/>
+  <ReferenceType id="_11353" type="_2021" size="32" align="32"/>
+  <ReferenceType id="_11354" type="_2022c" size="32" align="32"/>
+  <ReferenceType id="_11355" type="_2517c" size="32" align="32"/>
+  <ReferenceType id="_11356" type="_2023c" size="32" align="32"/>
+  <ReferenceType id="_11357" type="_2519c" size="32" align="32"/>
+  <ReferenceType id="_11358" type="_2030c" size="32" align="32"/>
+  <ReferenceType id="_11359" type="_2030" size="32" align="32"/>
+  <ReferenceType id="_11360" type="_2038c" size="32" align="32"/>
+  <ReferenceType id="_11361" type="_2040c" size="32" align="32"/>
+  <ReferenceType id="_11362" type="_2041c" size="32" align="32"/>
+  <ReferenceType id="_11363" type="_2042c" size="32" align="32"/>
+  <ReferenceType id="_11364" type="_2043c" size="32" align="32"/>
+  <ReferenceType id="_11365" type="_2044c" size="32" align="32"/>
+  <ReferenceType id="_11366" type="_2045c" size="32" align="32"/>
+  <ReferenceType id="_11367" type="_2046c" size="32" align="32"/>
+  <ReferenceType id="_11368" type="_2047c" size="32" align="32"/>
+  <ReferenceType id="_11369" type="_2048c" size="32" align="32"/>
+  <ReferenceType id="_11370" type="_2055c" size="32" align="32"/>
+  <ReferenceType id="_11371" type="_2056c" size="32" align="32"/>
+  <ReferenceType id="_11372" type="_2058c" size="32" align="32"/>
+  <ReferenceType id="_11373" type="_2059c" size="32" align="32"/>
+  <PointerType id="_11376" type="_2086" size="32" align="32"/>
+  <Field id="_11377" name="_M_refcount" type="_661" offset="32" context="_4725" access="private" mangled="_ZNSt6locale5facet11_M_refcountE" demangled="std::locale::facet::_M_refcount" mutable="1" location="f3:349" file="f3" line="349"/>
+  <Variable id="_11378" name="_S_c_locale" type="_2534" context="_4725" access="private" mangled="_ZNSt6locale5facet11_S_c_localeE" demangled="std::locale::facet::_S_c_locale" location="f3:352" file="f3" line="352" extern="1"/>
+  <Variable id="_11379" name="_S_c_name" type="_3286c" context="_4725" access="private" mangled="_ZNSt6locale5facet9_S_c_nameE" demangled="std::locale::facet::_S_c_name" location="f3:355" file="f3" line="355" extern="1"/>
+  <Variable id="_11380" name="_S_once" type="_836" context="_4725" access="private" mangled="_ZNSt6locale5facet7_S_onceE" demangled="std::locale::facet::_S_once" location="f3:358" file="f3" line="358" extern="1"/>
+  <Method id="_11381" name="_S_initialize_once" returns="_1194" static="1" context="_4725" access="private" mangled="_ZNSt6locale5facet18_S_initialize_onceEv" demangled="std::locale::facet::_S_initialize_once()" location="f3:362" file="f3" line="362" extern="1"/>
+  <Constructor id="_11382" name="facet" explicit="1" throw="" context="_4725" access="protected" mangled="_ZNSt6locale5facetC1Ej *INTERNAL* " demangled="std::locale::facet::facet(unsigned)" location="f3:375" file="f3" line="375" endline="376" inline="1">
+    <Argument name="__refs" type="_1698" location="f3:375" file="f3" line="375" default="0"/>
+  </Constructor>
+  <Destructor id="_11383" name="facet" virtual="1" context="_4725" access="protected" mangled="_ZNSt6locale5facetD1Ev *INTERNAL* " demangled="std::locale::facet::~facet()" location="f3:380" file="f3" line="380" extern="1">
+  </Destructor>
+  <Method id="_11384" name="_S_create_c_locale" returns="_1194" static="1" context="_4725" access="protected" mangled="_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_" demangled="std::locale::facet::_S_create_c_locale(__locale_struct*&, char const*, __locale_struct*)" location="f3:384" file="f3" line="384" extern="1">
+    <Argument name="__cloc" type="_16094" location="f3:384" file="f3" line="384"/>
+    <Argument name="__s" type="_2749" location="f3:384" file="f3" line="384"/>
+    <Argument name="__old" type="_2534" location="f3:384" file="f3" line="384" default="0"/>
+  </Method>
+  <Method id="_11385" name="_S_clone_c_locale" returns="_2534" static="1" context="_4725" access="protected" mangled="_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct" demangled="std::locale::facet::_S_clone_c_locale(__locale_struct*&)" location="f3:387" file="f3" line="387" extern="1">
+    <Argument name="__cloc" type="_16094" location="f3:387" file="f3" line="387"/>
+  </Method>
+  <Method id="_11386" name="_S_destroy_c_locale" returns="_1194" static="1" context="_4725" access="protected" mangled="_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct" demangled="std::locale::facet::_S_destroy_c_locale(__locale_struct*&)" location="f3:390" file="f3" line="390" extern="1">
+    <Argument name="__cloc" type="_16094" location="f3:390" file="f3" line="390"/>
+  </Method>
+  <Method id="_11387" name="_S_get_c_locale" returns="_2534" static="1" context="_4725" access="protected" mangled="_ZNSt6locale5facet15_S_get_c_localeEv" demangled="std::locale::facet::_S_get_c_locale()" location="f3:395" file="f3" line="395" extern="1"/>
+  <Method id="_11388" name="_S_get_c_name" returns="_2749" static="1" context="_4725" access="protected" mangled="_ZNSt6locale5facet13_S_get_c_nameEv" demangled="std::locale::facet::_S_get_c_name()" location="f3:398" file="f3" line="398" extern="1"/>
+  <Method id="_11389" name="_M_add_reference" returns="_1194" const="1" throw="" context="_4725" access="private" mangled="_ZNKSt6locale5facet16_M_add_referenceEv" demangled="std::locale::facet::_M_add_reference() const" location="f3:403" file="f3" line="403" endline="403" inline="1"/>
+  <Method id="_11390" name="_M_remove_reference" returns="_1194" const="1" throw="" context="_4725" access="private" mangled="_ZNKSt6locale5facet19_M_remove_referenceEv" demangled="std::locale::facet::_M_remove_reference() const" location="f3:407" file="f3" line="407" endline="415" inline="1"/>
+  <Constructor id="_11391" name="facet" context="_4725" access="private" mangled="_ZNSt6locale5facetC1ERKS0_ *INTERNAL* " demangled="std::locale::facet::facet(std::locale::facet const&)" location="f3:417" file="f3" line="417" extern="1">
+    <Argument type="_16095" location="f3:417" file="f3" line="417"/>
+  </Constructor>
+  <OperatorMethod id="_11392" name="=" returns="_16096" context="_4725" access="private" mangled="_ZNSt6locale5facetaSERKS0_" demangled="std::locale::facet::operator=(std::locale::facet const&)" location="f3:420" file="f3" line="420" extern="1">
+    <Argument type="_16095" location="f3:420" file="f3" line="420"/>
+  </OperatorMethod>
+  <PointerType id="_11393" type="_2087" size="32" align="32"/>
+  <ArrayType id="_11394" min="0" max="13" type="_2780" size="448" align="32"/>
+  <ReferenceType id="_11395" type="_2086" size="32" align="32"/>
+  <ReferenceType id="_11396" type="_2086c" size="32" align="32"/>
+  <ArrayType id="_11397" min="0" max="13" type="_2749" size="448" align="32"/>
+  <ReferenceType id="_11398" type="_2087" size="32" align="32"/>
+  <ReferenceType id="_11399" type="_2087c" size="32" align="32"/>
+  <ReferenceType id="_11400" type="_2090c" size="32" align="32"/>
+  <ReferenceType id="_11401" type="_2477c" size="32" align="32"/>
+  <ReferenceType id="_11402" type="_2091c" size="32" align="32"/>
+  <ReferenceType id="_11403" type="_767" size="32" align="32"/>
+  <ReferenceType id="_11404" type="_2780" size="32" align="32"/>
+  <ReferenceType id="_11405" type="_2749" size="32" align="32"/>
+  <ReferenceType id="_11406" type="_2778" size="32" align="32"/>
+  <ReferenceType id="_11407" type="_2092c" size="32" align="32"/>
+  <ReferenceType id="_11408" type="_2093c" size="32" align="32"/>
+  <ReferenceType id="_11412" type="_2169c" size="32" align="32"/>
+  <ReferenceType id="_11413" type="_2172c" size="32" align="32"/>
+  <ReferenceType id="_11414" type="_4964c" size="32" align="32"/>
+  <ReferenceType id="_11415" type="_2173c" size="32" align="32"/>
+  <ReferenceType id="_11416" type="_2174c" size="32" align="32"/>
+  <CvQualifiedType id="_2509c" type="_2509" const="1"/>
+  <ReferenceType id="_11417" type="_2175c" size="32" align="32"/>
+  <CvQualifiedType id="_503c" type="_503" const="1"/>
+  <CvQualifiedType id="_2193c" type="_2193" const="1"/>
+  <CvQualifiedType id="_2194c" type="_2194" const="1"/>
+  <ReferenceType id="_11420" type="_2176c" size="32" align="32"/>
+  <ReferenceType id="_11421" type="_2177c" size="32" align="32"/>
+  <ReferenceType id="_11422" type="_2178c" size="32" align="32"/>
+  <ReferenceType id="_11423" type="_2179c" size="32" align="32"/>
+  <ReferenceType id="_11424" type="_2180c" size="32" align="32"/>
+  <ReferenceType id="_11425" type="_2181c" size="32" align="32"/>
+  <ReferenceType id="_11426" type="_2182c" size="32" align="32"/>
+  <ReferenceType id="_11427" type="_2183c" size="32" align="32"/>
+  <ReferenceType id="_11428" type="_2184c" size="32" align="32"/>
+  <ReferenceType id="_11429" type="_2185c" size="32" align="32"/>
+  <ReferenceType id="_11430" type="_2186c" size="32" align="32"/>
+  <ReferenceType id="_11431" type="_2187c" size="32" align="32"/>
+  <ReferenceType id="_11432" type="_2188c" size="32" align="32"/>
+  <ReferenceType id="_11433" type="_2189c" size="32" align="32"/>
+  <ReferenceType id="_11434" type="_2190c" size="32" align="32"/>
+  <ReferenceType id="_11435" type="_2191c" size="32" align="32"/>
+  <ReferenceType id="_11436" type="_2192c" size="32" align="32"/>
+  <ReferenceType id="_11469" type="_2314c" size="32" align="32"/>
+  <ReferenceType id="_11470" type="_2315c" size="32" align="32"/>
+  <ReferenceType id="_11471" type="_2507c" size="32" align="32"/>
+  <ReferenceType id="_11472" type="_2318c" size="32" align="32"/>
+  <ReferenceType id="_11473" type="_2319c" size="32" align="32"/>
+  <ReferenceType id="_11474" type="_2320c" size="32" align="32"/>
+  <ReferenceType id="_11475" type="_2321c" size="32" align="32"/>
+  <ReferenceType id="_11476" type="_2322c" size="32" align="32"/>
+  <PointerType id="_11477" type="_2080" size="32" align="32"/>
+  <PointerType id="_11478" type="_2081" size="32" align="32"/>
+  <PointerType id="_11479" type="_2082" size="32" align="32"/>
+  <PointerType id="_11480" type="_2083" size="32" align="32"/>
+  <CvQualifiedType id="_5786c" type="_5786" const="1"/>
+  <Field id="_11482" name="field" type="_8285" offset="0" context="_5786" access="public" mangled="_ZNSt10money_base7pattern5fieldE" demangled="std::money_base::pattern::field" location="f29:3451" file="f29" line="3451"/>
+  <Constructor id="_11483" name="pattern" artificial="1" throw="" context="_5786" access="public" mangled="_ZNSt10money_base7patternC1ERKS0_ *INTERNAL* " demangled="std::money_base::pattern::pattern(std::money_base::pattern const&)" location="f29:3451" file="f29" line="3451" inline="1">
+    <Argument name="_ctor_arg" type="_16135" location="f29:3451" file="f29" line="3451"/>
+  </Constructor>
+  <Constructor id="_11484" name="pattern" explicit="1" artificial="1" throw="" context="_5786" access="public" mangled="_ZNSt10money_base7patternC1Ev *INTERNAL* " demangled="std::money_base::pattern::pattern()" location="f29:3451" file="f29" line="3451" inline="1"/>
+  <ReferenceType id="_11485" type="_2331c" size="32" align="32"/>
+  <ReferenceType id="_11486" type="_2332c" size="32" align="32"/>
+  <ReferenceType id="_11487" type="_2333c" size="32" align="32"/>
+  <ReferenceType id="_11488" type="_2336c" size="32" align="32"/>
+  <ReferenceType id="_11489" type="_2337c" size="32" align="32"/>
+  <ReferenceType id="_11490" type="_2340c" size="32" align="32"/>
+  <ReferenceType id="_11491" type="_2341c" size="32" align="32"/>
+  <ReferenceType id="_11492" type="_2342c" size="32" align="32"/>
+  <ReferenceType id="_11493" type="_2345c" size="32" align="32"/>
+  <ReferenceType id="_11494" type="_2346c" size="32" align="32"/>
+  <PointerType id="_11495" type="_2088" size="32" align="32"/>
+  <PointerType id="_11496" type="_2089" size="32" align="32"/>
+  <ReferenceType id="_11497" type="_1553" size="32" align="32"/>
+  <ReferenceType id="_11498" type="_837" size="32" align="32"/>
+  <ReferenceType id="_11499" type="_643" size="32" align="32"/>
+  <ReferenceType id="_11500" type="_1290" size="32" align="32"/>
+  <ReferenceType id="_11501" type="_1288" size="32" align="32"/>
+  <ReferenceType id="_11502" type="_1042" size="32" align="32"/>
+  <ReferenceType id="_11503" type="_2353c" size="32" align="32"/>
+  <ReferenceType id="_11504" type="_2354c" size="32" align="32"/>
+  <ReferenceType id="_11505" type="_2358c" size="32" align="32"/>
+  <ReferenceType id="_11506" type="_2359c" size="32" align="32"/>
+  <ReferenceType id="_11507" type="_2360c" size="32" align="32"/>
+  <ArrayType id="_11508" min="0" max="127" type="_2961" size="1024" align="8"/>
+  <ArrayType id="_11509" min="0" max="255" type="_1232" size="8192" align="32"/>
+  <ArrayType id="_11510" min="0" max="15" type="_1199" size="256" align="16"/>
+  <ArrayType id="_11511" min="0" max="15" type="_644" size="512" align="32"/>
+  <CvQualifiedType id="_1199c" type="_1199" const="1"/>
+  <ArrayType id="_11513" min="0" max="255" type="_2961" size="2048" align="8"/>
+  <CvQualifiedType id="_1698c" type="_1698" const="1"/>
+  <ReferenceType id="_11515" type="_2363c" size="32" align="32"/>
+  <PointerType id="_11516" type="_6223" size="32" align="32"/>
+  <PointerType id="_11517" type="_2749c" size="32" align="32"/>
+  <CvQualifiedType id="_11517c" type="_11517" const="1"/>
+  <Field id="_11519" name="_M_index" type="_1698" offset="0" context="_6222" access="private" mangled="_ZNSt6locale2id8_M_indexE" demangled="std::locale::id::_M_index" mutable="1" location="f3:451" file="f3" line="451"/>
+  <Variable id="_11520" name="_S_refcount" type="_661" context="_6222" access="private" mangled="_ZNSt6locale2id11_S_refcountE" demangled="std::locale::id::_S_refcount" location="f3:454" file="f3" line="454" extern="1"/>
+  <OperatorMethod id="_11521" name="=" returns="_1194" context="_6222" access="private" mangled="_ZNSt6locale2idaSERKS0_" demangled="std::locale::id::operator=(std::locale::id const&)" location="f3:457" file="f3" line="457" extern="1">
+    <Argument type="_16152" location="f3:457" file="f3" line="457"/>
+  </OperatorMethod>
+  <Constructor id="_11522" name="id" context="_6222" access="private" mangled="_ZNSt6locale2idC1ERKS0_ *INTERNAL* " demangled="std::locale::id::id(std::locale::id const&)" location="f3:459" file="f3" line="459" extern="1">
+    <Argument type="_16152" location="f3:459" file="f3" line="459"/>
+  </Constructor>
+  <Constructor id="_11523" name="id" explicit="1" context="_6222" access="public" mangled="_ZNSt6locale2idC1Ev *INTERNAL* " demangled="std::locale::id::id()" location="f3:465" file="f3" line="465" endline="465" inline="1"/>
+  <Method id="_11524" name="_M_id" returns="_1698" const="1" context="_6222" access="public" mangled="_ZNKSt6locale2id5_M_idEv" demangled="std::locale::id::_M_id() const" location="f3:468" file="f3" line="468" extern="1"/>
+  <Field id="_11525" name="_M_refcount" type="_661" offset="0" context="_6223" access="private" mangled="_ZNSt6locale5_Impl11_M_refcountE" demangled="std::locale::_Impl::_M_refcount" location="f3:493" file="f3" line="493"/>
+  <Field id="_11526" name="_M_facets" type="_16153" offset="32" context="_6223" access="private" mangled="_ZNSt6locale5_Impl9_M_facetsE" demangled="std::locale::_Impl::_M_facets" location="f3:494" file="f3" line="494"/>
+  <Field id="_11527" name="_M_facets_size" type="_1698" offset="64" context="_6223" access="private" mangled="_ZNSt6locale5_Impl14_M_facets_sizeE" demangled="std::locale::_Impl::_M_facets_size" location="f3:495" file="f3" line="495"/>
+  <Field id="_11528" name="_M_caches" type="_16153" offset="96" context="_6223" access="private" mangled="_ZNSt6locale5_Impl9_M_cachesE" demangled="std::locale::_Impl::_M_caches" location="f3:496" file="f3" line="496"/>
+  <Field id="_11529" name="_M_names" type="_2935" offset="128" context="_6223" access="private" mangled="_ZNSt6locale5_Impl8_M_namesE" demangled="std::locale::_Impl::_M_names" location="f3:497" file="f3" line="497"/>
+  <Variable id="_11530" name="_S_id_ctype" type="_16154c" context="_6223" access="private" mangled="_ZNSt6locale5_Impl11_S_id_ctypeE" demangled="std::locale::_Impl::_S_id_ctype" location="f3:498" file="f3" line="498" extern="1"/>
+  <Variable id="_11531" name="_S_id_numeric" type="_16156c" context="_6223" access="private" mangled="_ZNSt6locale5_Impl13_S_id_numericE" demangled="std::locale::_Impl::_S_id_numeric" location="f3:499" file="f3" line="499" extern="1"/>
+  <Variable id="_11532" name="_S_id_collate" type="_16158c" context="_6223" access="private" mangled="_ZNSt6locale5_Impl13_S_id_collateE" demangled="std::locale::_Impl::_S_id_collate" location="f3:500" file="f3" line="500" extern="1"/>
+  <Variable id="_11533" name="_S_id_time" type="_16160c" context="_6223" access="private" mangled="_ZNSt6locale5_Impl10_S_id_timeE" demangled="std::locale::_Impl::_S_id_time" location="f3:501" file="f3" line="501" extern="1"/>
+  <Variable id="_11534" name="_S_id_monetary" type="_16162c" context="_6223" access="private" mangled="_ZNSt6locale5_Impl14_S_id_monetaryE" demangled="std::locale::_Impl::_S_id_monetary" location="f3:502" file="f3" line="502" extern="1"/>
+  <Variable id="_11535" name="_S_id_messages" type="_16164c" context="_6223" access="private" mangled="_ZNSt6locale5_Impl14_S_id_messagesE" demangled="std::locale::_Impl::_S_id_messages" location="f3:503" file="f3" line="503" extern="1"/>
+  <Variable id="_11536" name="_S_facet_categories" type="_16166c" context="_6223" access="private" mangled="_ZNSt6locale5_Impl19_S_facet_categoriesE" demangled="std::locale::_Impl::_S_facet_categories" location="f3:504" file="f3" line="504" extern="1"/>
+  <Method id="_11537" name="_M_add_reference" returns="_1194" throw="" context="_6223" access="private" mangled="_ZNSt6locale5_Impl16_M_add_referenceEv" demangled="std::locale::_Impl::_M_add_reference()" location="f3:508" file="f3" line="508" endline="508" inline="1"/>
+  <Method id="_11538" name="_M_remove_reference" returns="_1194" throw="" context="_6223" access="private" mangled="_ZNSt6locale5_Impl19_M_remove_referenceEv" demangled="std::locale::_Impl::_M_remove_reference()" location="f3:512" file="f3" line="512" endline="520" inline="1"/>
+  <Constructor id="_11539" name="_Impl" explicit="1" context="_6223" access="private" mangled="_ZNSt6locale5_ImplC1ERKS0_j *INTERNAL* " demangled="std::locale::_Impl::_Impl(std::locale::_Impl const&, unsigned)" location="f3:522" file="f3" line="522" extern="1">
+    <Argument type="_16168" location="f3:522" file="f3" line="522"/>
+    <Argument type="_1698" location="f3:522" file="f3" line="522"/>
+  </Constructor>
+  <Constructor id="_11540" name="_Impl" explicit="1" context="_6223" access="private" mangled="_ZNSt6locale5_ImplC1EPKcj *INTERNAL* " demangled="std::locale::_Impl::_Impl(char const*, unsigned)" location="f3:523" file="f3" line="523" extern="1">
+    <Argument type="_2749" location="f3:523" file="f3" line="523"/>
+    <Argument type="_1698" location="f3:523" file="f3" line="523"/>
+  </Constructor>
+  <Constructor id="_11541" name="_Impl" throw="" context="_6223" access="private" mangled="_ZNSt6locale5_ImplC1Ej *INTERNAL* " demangled="std::locale::_Impl::_Impl(unsigned)" location="f3:524" file="f3" line="524" extern="1">
+    <Argument type="_1698" location="f3:524" file="f3" line="524"/>
+  </Constructor>
+  <Destructor id="_11542" name="_Impl" throw="" context="_6223" access="private" mangled="_ZNSt6locale5_ImplD1Ev *INTERNAL* " demangled="std::locale::_Impl::~_Impl()" location="f3:526" file="f3" line="526" extern="1">
+  </Destructor>
+  <Constructor id="_11543" name="_Impl" context="_6223" access="private" mangled="_ZNSt6locale5_ImplC1ERKS0_ *INTERNAL* " demangled="std::locale::_Impl::_Impl(std::locale::_Impl const&)" location="f3:528" file="f3" line="528" extern="1">
+    <Argument type="_16168" location="f3:528" file="f3" line="528"/>
+  </Constructor>
+  <OperatorMethod id="_11544" name="=" returns="_1194" context="_6223" access="private" mangled="_ZNSt6locale5_ImplaSERKS0_" demangled="std::locale::_Impl::operator=(std::locale::_Impl const&)" location="f3:531" file="f3" line="531" extern="1">
+    <Argument type="_16168" location="f3:531" file="f3" line="531"/>
+  </OperatorMethod>
+  <Method id="_11545" name="_M_check_same_name" returns="_3949" context="_6223" access="private" mangled="_ZNSt6locale5_Impl18_M_check_same_nameEv" demangled="std::locale::_Impl::_M_check_same_name()" location="f3:535" file="f3" line="535" endline="542" inline="1"/>
+  <Method id="_11546" name="_M_replace_categories" returns="_1194" context="_6223" access="private" mangled="_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i" demangled="std::locale::_Impl::_M_replace_categories(std::locale::_Impl const*, int)" location="f3:545" file="f3" line="545" extern="1">
+    <Argument type="_16169" location="f3:545" file="f3" line="545"/>
+    <Argument type="_503" location="f3:545" file="f3" line="545"/>
+  </Method>
+  <Method id="_11547" name="_M_replace_category" returns="_1194" context="_6223" access="private" mangled="_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE" demangled="std::locale::_Impl::_M_replace_category(std::locale::_Impl const*, std::locale::id const* const*)" location="f3:548" file="f3" line="548" extern="1">
+    <Argument type="_16169" location="f3:548" file="f3" line="548"/>
+    <Argument type="_16170" location="f3:548" file="f3" line="548"/>
+  </Method>
+  <Method id="_11548" name="_M_replace_facet" returns="_1194" context="_6223" access="private" mangled="_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE" demangled="std::locale::_Impl::_M_replace_facet(std::locale::_Impl const*, std::locale::id const*)" location="f3:551" file="f3" line="551" extern="1">
+    <Argument type="_16169" location="f3:551" file="f3" line="551"/>
+    <Argument type="_16171" location="f3:551" file="f3" line="551"/>
+  </Method>
+  <Method id="_11549" name="_M_install_facet" returns="_1194" context="_6223" access="private" mangled="_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE" demangled="std::locale::_Impl::_M_install_facet(std::locale::id const*, std::locale::facet const*)" location="f3:554" file="f3" line="554" extern="1">
+    <Argument type="_16171" location="f3:554" file="f3" line="554"/>
+    <Argument type="_16172" location="f3:554" file="f3" line="554"/>
+  </Method>
+  <Method id="_11550" name="_M_install_cache" returns="_1194" context="_6223" access="private" mangled="_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj" demangled="std::locale::_Impl::_M_install_cache(std::locale::facet const*, unsigned)" location="f3:562" file="f3" line="562" extern="1">
+    <Argument type="_16172" location="f3:562" file="f3" line="562"/>
+    <Argument type="_1698" location="f3:562" file="f3" line="562"/>
+  </Method>
+  <PointerType id="_11551" type="_10703" size="32" align="32"/>
+  <ReferenceType id="_11552" type="_2373c" size="32" align="32"/>
+  <ReferenceType id="_11553" type="_2377c" size="32" align="32"/>
+  <ReferenceType id="_11554" type="_2381c" size="32" align="32"/>
+  <ReferenceType id="_11555" type="_2382c" size="32" align="32"/>
+  <ReferenceType id="_11556" type="_2383c" size="32" align="32"/>
+  <ReferenceType id="_11557" type="_2384c" size="32" align="32"/>
+  <ReferenceType id="_11558" type="_2388c" size="32" align="32"/>
+  <ReferenceType id="_11559" type="_2389c" size="32" align="32"/>
+  <ReferenceType id="_11561" type="_2398c" size="32" align="32"/>
+  <ReferenceType id="_11562" type="_2399c" size="32" align="32"/>
+  <ReferenceType id="_11563" type="_2400c" size="32" align="32"/>
+  <ReferenceType id="_11564" type="_2401c" size="32" align="32"/>
+  <ReferenceType id="_11565" type="_2410c" size="32" align="32"/>
+  <ReferenceType id="_11566" type="_2411c" size="32" align="32"/>
+  <ReferenceType id="_11567" type="_2415c" size="32" align="32"/>
+  <ReferenceType id="_11568" type="_2423c" size="32" align="32"/>
+  <ReferenceType id="_11569" type="_2424c" size="32" align="32"/>
+  <ReferenceType id="_11570" type="_2425c" size="32" align="32"/>
+  <PointerType id="_11571" type="_2431" size="32" align="32"/>
+  <ReferenceType id="_11572" type="_2427c" size="32" align="32"/>
+  <ReferenceType id="_11573" type="_2429c" size="32" align="32"/>
+  <PointerType id="_11574" type="_2355c" size="32" align="32"/>
+  <ReferenceType id="_11575" type="_2431c" size="32" align="32"/>
+  <ReferenceType id="_11576" type="_2433c" size="32" align="32"/>
+  <PointerType id="_11577" type="_2439" size="32" align="32"/>
+  <ReferenceType id="_11578" type="_2435c" size="32" align="32"/>
+  <ReferenceType id="_11579" type="_2437c" size="32" align="32"/>
+  <ReferenceType id="_11580" type="_2439c" size="32" align="32"/>
+  <ReferenceType id="_11581" type="_2441c" size="32" align="32"/>
+  <Field id="_11582" name="_M_ok" type="_3949" offset="0" context="_6498" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentry5_M_okE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry::_M_ok" location="f88:358" file="f88" line="358"/>
+  <Field id="_11583" name="_M_os" type="_3923" offset="32" context="_6498" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentry5_M_osE" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry::_M_os" location="f88:359" file="f88" line="359"/>
+  <Constructor id="_11584" name="sentry" artificial="1" throw="" context="_6498" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERKS3_ *INTERNAL* " demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry::sentry(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry const&)" location="f88:356" file="f88" line="356" inline="1">
+    <Argument name="_ctor_arg" type="_16199" location="f88:356" file="f88" line="356"/>
+  </Constructor>
+  <Constructor id="_11585" name="sentry" explicit="1" context="_6498" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_ *INTERNAL* " demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry::sentry(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&)" location="f89:52" file="f89" line="52" extern="1">
+    <Argument name="__os" type="_3923" location="f89:52" file="f89" line="52"/>
+  </Constructor>
+  <Destructor id="_11586" name="sentry" context="_6498" access="public" mangled="_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev *INTERNAL* " demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry::~sentry()" location="f88:384" file="f88" line="384" extern="1" inline="1">
+  </Destructor>
+  <Converter id="_11587" name="operator 5" returns="_3949" const="1" context="_6498" access="public" mangled="_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv" demangled="std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry::operator bool() const" location="f88:402" file="f88" line="402" extern="1" inline="1"/>
+  <ReferenceType id="_11588" type="_2443c" size="32" align="32"/>
+  <PointerType id="_11589" type="_16201" size="32" align="32"/>
+  <PointerType id="_11590" type="_16202" size="32" align="32"/>
+  <PointerType id="_11591" type="_16203" size="32" align="32"/>
+  <Field id="_11592" name="_M_ok" type="_3949" offset="0" context="_6537" access="private" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentry5_M_okE" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry::_M_ok" location="f86:666" file="f86" line="666"/>
+  <Typedef id="_11593" name="traits_type" type="_2511" context="_6537" access="public" location="f86:626" file="f86" line="626"/>
+  <Typedef id="_11594" name="__streambuf_type" type="_2447" context="_6537" access="public" location="f86:627" file="f86" line="627"/>
+  <Typedef id="_11595" name="__istream_type" type="_2445" context="_6537" access="public" location="f86:628" file="f86" line="628"/>
+  <Typedef id="_11596" name="__ctype_type" type="_2361" context="_6537" access="public" location="f86:629" file="f86" line="629"/>
+  <Typedef id="_11597" name="__int_type" type="_1232" context="_6537" access="public" location="f86:630" file="f86" line="630"/>
+  <Constructor id="_11598" name="sentry" artificial="1" throw="" context="_6537" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERKS3_ *INTERNAL* " demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry::sentry(std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry const&)" location="f86:117" file="f86" line="117" inline="1">
+    <Argument name="_ctor_arg" type="_16204" location="f86:117" file="f86" line="117"/>
+  </Constructor>
+  <Constructor id="_11599" name="sentry" explicit="1" context="_6537" access="public" mangled="_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b *INTERNAL* " demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry::sentry(std::basic_istream<wchar_t, std::char_traits<wchar_t> >&, bool)" location="f85:52" file="f85" line="52" extern="1">
+    <Argument name="__in" type="_3925" location="f85:52" file="f85" line="52"/>
+    <Argument name="__noskip" type="_3949" location="f85:52" file="f85" line="52" default="false"/>
+  </Constructor>
+  <Converter id="_11600" name="operator 5" returns="_3949" const="1" context="_6537" access="public" mangled="_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv" demangled="std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry::operator bool() const" location="f86:663" file="f86" line="663" extern="1" inline="1"/>
+  <ReferenceType id="_11601" type="_2445c" size="32" align="32"/>
+  <PointerType id="_11602" type="_16206" size="32" align="32"/>
+  <ReferenceType id="_11603" type="_1202" size="32" align="32"/>
+  <ReferenceType id="_11604" type="_2447" size="32" align="32"/>
+  <ReferenceType id="_11605" type="_2447c" size="32" align="32"/>
+  <PointerType id="_11606" type="_2443" size="32" align="32"/>
+  <PointerType id="_11607" type="_2361c" size="32" align="32"/>
+  <PointerType id="_11608" type="_2349c" size="32" align="32"/>
+  <PointerType id="_11609" type="_2351c" size="32" align="32"/>
+  <ReferenceType id="_11610" type="_2449c" size="32" align="32"/>
+  <ReferenceType id="_11611" type="_2449" size="32" align="32"/>
+  <ReferenceType id="_11612" type="_2451c" size="32" align="32"/>
+  <PointerType id="_11613" type="_2457" size="32" align="32"/>
+  <ReferenceType id="_11614" type="_2453c" size="32" align="32"/>
+  <ReferenceType id="_11615" type="_2455c" size="32" align="32"/>
+  <PointerType id="_11616" type="_2356c" size="32" align="32"/>
+  <ReferenceType id="_11617" type="_2457c" size="32" align="32"/>
+  <ReferenceType id="_11618" type="_2459c" size="32" align="32"/>
+  <PointerType id="_11619" type="_2465" size="32" align="32"/>
+  <ReferenceType id="_11620" type="_2461c" size="32" align="32"/>
+  <ReferenceType id="_11621" type="_2463c" size="32" align="32"/>
+  <ReferenceType id="_11622" type="_2465c" size="32" align="32"/>
+  <ReferenceType id="_11623" type="_2467c" size="32" align="32"/>
+  <Field id="_11624" name="_M_ok" type="_3949" offset="0" context="_6880" access="public" mangled="_ZNSo6sentry5_M_okE" demangled="std::ostream::sentry::_M_ok" location="f88:358" file="f88" line="358"/>
+  <Field id="_11625" name="_M_os" type="_3924" offset="32" context="_6880" access="public" mangled="_ZNSo6sentry5_M_osE" demangled="std::ostream::sentry::_M_os" location="f88:359" file="f88" line="359"/>
+  <Constructor id="_11626" name="sentry" artificial="1" throw="" context="_6880" access="public" mangled="_ZNSo6sentryC1ERKS_ *INTERNAL* " demangled="std::ostream::sentry::sentry(std::ostream::sentry const&)" location="f88:356" file="f88" line="356" inline="1">
+    <Argument name="_ctor_arg" type="_16218" location="f88:356" file="f88" line="356"/>
+  </Constructor>
+  <Constructor id="_11627" name="sentry" explicit="1" context="_6880" access="public" mangled="_ZNSo6sentryC1ERSo *INTERNAL* " demangled="std::ostream::sentry::sentry(std::ostream&)" location="f89:52" file="f89" line="52" extern="1">
+    <Argument name="__os" type="_3924" location="f89:52" file="f89" line="52"/>
+  </Constructor>
+  <Destructor id="_11628" name="sentry" context="_6880" access="public" mangled="_ZNSo6sentryD1Ev *INTERNAL* " demangled="std::ostream::sentry::~sentry()" location="f88:384" file="f88" line="384" extern="1" inline="1">
+  </Destructor>
+  <Converter id="_11629" name="operator 5" returns="_3949" const="1" context="_6880" access="public" mangled="_ZNKSo6sentrycvbEv" demangled="std::ostream::sentry::operator bool() const" location="f88:402" file="f88" line="402" extern="1" inline="1"/>
+  <ReferenceType id="_11630" type="_2469c" size="32" align="32"/>
+  <PointerType id="_11631" type="_16220" size="32" align="32"/>
+  <PointerType id="_11632" type="_16221" size="32" align="32"/>
+  <Field id="_11633" name="_M_ok" type="_3949" offset="0" context="_6919" access="private" mangled="_ZNSi6sentry5_M_okE" demangled="std::istream::sentry::_M_ok" location="f86:666" file="f86" line="666"/>
+  <Typedef id="_11634" name="traits_type" type="_2510" context="_6919" access="public" location="f86:626" file="f86" line="626"/>
+  <Typedef id="_11635" name="__streambuf_type" type="_2473" context="_6919" access="public" location="f86:627" file="f86" line="627"/>
+  <Typedef id="_11636" name="__istream_type" type="_2471" context="_6919" access="public" location="f86:628" file="f86" line="628"/>
+  <Typedef id="_11637" name="__ctype_type" type="_2362" context="_6919" access="public" location="f86:629" file="f86" line="629"/>
+  <Typedef id="_11638" name="__int_type" type="_503" context="_6919" access="public" location="f86:630" file="f86" line="630"/>
+  <Constructor id="_11639" name="sentry" artificial="1" throw="" context="_6919" access="public" mangled="_ZNSi6sentryC1ERKS_ *INTERNAL* " demangled="std::istream::sentry::sentry(std::istream::sentry const&)" location="f86:117" file="f86" line="117" inline="1">
+    <Argument name="_ctor_arg" type="_16222" location="f86:117" file="f86" line="117"/>
+  </Constructor>
+  <Constructor id="_11640" name="sentry" explicit="1" context="_6919" access="public" mangled="_ZNSi6sentryC1ERSib *INTERNAL* " demangled="std::istream::sentry::sentry(std::istream&, bool)" location="f85:52" file="f85" line="52" extern="1">
+    <Argument name="__in" type="_3926" location="f85:52" file="f85" line="52"/>
+    <Argument name="__noskip" type="_3949" location="f85:52" file="f85" line="52" default="false"/>
+  </Constructor>
+  <Converter id="_11641" name="operator 5" returns="_3949" const="1" context="_6919" access="public" mangled="_ZNKSi6sentrycvbEv" demangled="std::istream::sentry::operator bool() const" location="f86:663" file="f86" line="663" extern="1" inline="1"/>
+  <ReferenceType id="_11642" type="_2471c" size="32" align="32"/>
+  <PointerType id="_11643" type="_16224" size="32" align="32"/>
+  <ReferenceType id="_11644" type="_2473" size="32" align="32"/>
+  <ReferenceType id="_11645" type="_2473c" size="32" align="32"/>
+  <PointerType id="_11646" type="_2469" size="32" align="32"/>
+  <PointerType id="_11647" type="_2362c" size="32" align="32"/>
+  <PointerType id="_11648" type="_2350c" size="32" align="32"/>
+  <PointerType id="_11649" type="_2352c" size="32" align="32"/>
+  <ReferenceType id="_11650" type="_2475c" size="32" align="32"/>
+  <ReferenceType id="_11651" type="_2475" size="32" align="32"/>
+  <CvQualifiedType id="_2145c" type="_2145" const="1"/>
+  <CvQualifiedType id="_2129c" type="_2129" const="1"/>
+  <CvQualifiedType id="_2137c" type="_2137" const="1"/>
+  <CvQualifiedType id="_2121c" type="_2121" const="1"/>
+  <PointerType id="_11656" type="_7113" size="32" align="32"/>
+  <ArrayType id="_11657" min="0" max="7" type="_7114" size="512" align="32"/>
+  <PointerType id="_11658" type="_7114" size="32" align="32"/>
+  <Field id="_11659" name="_M_msg" type="_2509" offset="32" context="_7100" access="private" mangled="_ZNSt8ios_base7failure6_M_msgE" demangled="std::ios_base::failure::_M_msg" location="f33:224" file="f33" line="224"/>
+  <Constructor id="_11660" name="failure" artificial="1" context="_7100" access="public" mangled="_ZNSt8ios_base7failureC1ERKS0_ *INTERNAL* " demangled="std::ios_base::failure::failure(std::ios_base::failure const&)" location="f33:208" file="f33" line="208" inline="1">
+    <Argument name="_ctor_arg" type="_16227" location="f33:208" file="f33" line="208"/>
+  </Constructor>
+  <Constructor id="_11661" name="failure" explicit="1" throw="" context="_7100" access="public" mangled="_ZNSt8ios_base7failureC1ERKSs *INTERNAL* " demangled="std::ios_base::failure::failure(std::string const&)" location="f33:213" file="f33" line="213" extern="1">
+    <Argument name="__str" type="_4020" location="f33:213" file="f33" line="213"/>
+  </Constructor>
+  <Destructor id="_11662" name="failure" virtual="1" throw="" context="_7100" access="public" mangled="_ZNSt8ios_base7failureD1Ev *INTERNAL* " demangled="std::ios_base::failure::~failure()" location="f33:218" file="f33" line="218" extern="1">
+  </Destructor>
+  <Method id="_11663" name="what" returns="_2749" const="1" virtual="1" throw="" context="_7100" access="public" mangled="_ZNKSt8ios_base7failure4whatEv" demangled="std::ios_base::failure::what() const" location="f33:221" file="f33" line="221" extern="1"/>
+  <Field id="_11665" name="_M_next" type="_11656" offset="0" context="_7113" access="public" mangled="_ZNSt8ios_base14_Callback_list7_M_nextE" demangled="std::ios_base::_Callback_list::_M_next" location="f33:469" file="f33" line="469"/>
+  <Field id="_11666" name="_M_fn" type="_7111" offset="32" context="_7113" access="public" mangled="_ZNSt8ios_base14_Callback_list5_M_fnE" demangled="std::ios_base::_Callback_list::_M_fn" location="f33:470" file="f33" line="470"/>
+  <Field id="_11667" name="_M_index" type="_503" offset="64" context="_7113" access="public" mangled="_ZNSt8ios_base14_Callback_list8_M_indexE" demangled="std::ios_base::_Callback_list::_M_index" location="f33:471" file="f33" line="471"/>
+  <Field id="_11668" name="_M_refcount" type="_661" offset="96" context="_7113" access="public" mangled="_ZNSt8ios_base14_Callback_list11_M_refcountE" demangled="std::ios_base::_Callback_list::_M_refcount" location="f33:472" file="f33" line="472"/>
+  <Constructor id="_11669" name="_Callback_list" artificial="1" throw="" context="_7113" access="public" mangled="_ZNSt8ios_base14_Callback_listC1ERKS0_ *INTERNAL* " demangled="std::ios_base::_Callback_list::_Callback_list(std::ios_base::_Callback_list const&)" location="f33:467" file="f33" line="467" inline="1">
+    <Argument name="_ctor_arg" type="_16228" location="f33:467" file="f33" line="467"/>
+  </Constructor>
+  <Constructor id="_11670" name="_Callback_list" explicit="1" context="_7113" access="public" mangled="_ZNSt8ios_base14_Callback_listC1EPFvNS_5eventERS_iEiPS0_ *INTERNAL* " demangled="std::ios_base::_Callback_list::_Callback_list(void (*)(std::ios_base::event, std::ios_base&, int), int, std::ios_base::_Callback_list*)" location="f33:476" file="f33" line="476" endline="476" inline="1">
+    <Argument name="__fn" type="_7111" location="f33:476" file="f33" line="476"/>
+    <Argument name="__index" type="_503" location="f33:476" file="f33" line="476"/>
+    <Argument name="__cb" type="_11656" location="f33:476" file="f33" line="476"/>
+  </Constructor>
+  <Method id="_11671" name="_M_add_reference" returns="_1194" context="_7113" access="public" mangled="_ZNSt8ios_base14_Callback_list16_M_add_referenceEv" demangled="std::ios_base::_Callback_list::_M_add_reference()" location="f33:479" file="f33" line="479" endline="479" inline="1"/>
+  <Method id="_11672" name="_M_remove_reference" returns="_503" context="_7113" access="public" mangled="_ZNSt8ios_base14_Callback_list19_M_remove_referenceEv" demangled="std::ios_base::_Callback_list::_M_remove_reference()" location="f33:484" file="f33" line="484" endline="484" inline="1"/>
+  <Field id="_11673" name="_M_pword" type="_1042" offset="0" context="_7114" access="public" mangled="_ZNSt8ios_base6_Words8_M_pwordE" demangled="std::ios_base::_Words::_M_pword" location="f33:498" file="f33" line="498"/>
+  <Field id="_11674" name="_M_iword" type="_1553" offset="32" context="_7114" access="public" mangled="_ZNSt8ios_base6_Words8_M_iwordE" demangled="std::ios_base::_Words::_M_iword" location="f33:499" file="f33" line="499"/>
+  <Constructor id="_11675" name="_Words" artificial="1" throw="" context="_7114" access="public" mangled="_ZNSt8ios_base6_WordsC1ERKS0_ *INTERNAL* " demangled="std::ios_base::_Words::_Words(std::ios_base::_Words const&)" location="f33:497" file="f33" line="497" inline="1">
+    <Argument name="_ctor_arg" type="_16229" location="f33:497" file="f33" line="497"/>
+  </Constructor>
+  <Constructor id="_11676" name="_Words" explicit="1" context="_7114" access="public" mangled="_ZNSt8ios_base6_WordsC1Ev *INTERNAL* " demangled="std::ios_base::_Words::_Words()" location="f33:500" file="f33" line="500" endline="500" inline="1"/>
+  <ReferenceType id="_11677" type="_7114" size="32" align="32"/>
+  <ReferenceType id="_11678" type="_2478c" size="32" align="32"/>
+  <ReferenceType id="_11679" type="_2478" size="32" align="32"/>
+  <ReferenceType id="_11680" type="_2496c" size="32" align="32"/>
+  <ReferenceType id="_11681" type="_2496" size="32" align="32"/>
+  <Field id="_11682" name="_M_length" type="_1698" offset="0" context="_7188" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE9_Rep_base9_M_lengthE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base::_M_length" location="f93:2601" file="f93" line="2601"/>
+  <Field id="_11683" name="_M_capacity" type="_1698" offset="32" context="_7188" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE9_Rep_base11_M_capacityE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base::_M_capacity" location="f93:2602" file="f93" line="2602"/>
+  <Field id="_11684" name="_M_refcount" type="_661" offset="64" context="_7188" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE9_Rep_base11_M_refcountE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base::_M_refcount" location="f93:2603" file="f93" line="2603"/>
+  <Constructor id="_11685" name="_Rep_base" artificial="1" throw="" context="_7188" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE9_Rep_baseC1ERKS3_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base::_Rep_base(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base const&)" location="f93:2600" file="f93" line="2600" inline="1">
+    <Argument name="_ctor_arg" type="_16232" location="f93:2600" file="f93" line="2600"/>
+  </Constructor>
+  <Constructor id="_11686" name="_Rep_base" explicit="1" artificial="1" throw="" context="_7188" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE9_Rep_baseC1Ev *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base::_Rep_base()" location="f93:2600" file="f93" line="2600" inline="1"/>
+  <Variable id="_11687" name="_S_max_size" type="_1698c" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_S_max_size" location="f91:63" file="f91" line="63" extern="1"/>
+  <Variable id="_11688" name="_S_terminal" type="_2786c" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_S_terminal" location="f91:68" file="f91" line="68" extern="1"/>
+  <Variable id="_11689" name="_S_empty_rep_storage" type="_16233" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_S_empty_rep_storage" location="f91:80" file="f91" line="80" extern="1"/>
+  <Typedef id="_11690" name="_Raw_bytes_alloc" type="_2512" context="_7189" access="public" location="f93:2609" file="f93" line="2609"/>
+  <Constructor id="_11691" name="_Rep" artificial="1" throw="" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_RepC1ERKS3_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_Rep(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep const&)" location="f93:2607" file="f93" line="2607" inline="1">
+    <Argument name="_ctor_arg" type="_16234" location="f93:2607" file="f93" line="2607"/>
+  </Constructor>
+  <Constructor id="_11692" name="_Rep" explicit="1" artificial="1" throw="" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_RepC1Ev *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_Rep()" location="f93:2607" file="f93" line="2607" inline="1"/>
+  <Method id="_11693" name="_S_empty_rep" returns="_11711" static="1" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_S_empty_rep()" location="f93:2633" file="f93" line="2633" endline="2633" extern="1" inline="1"/>
+  <Method id="_11694" name="_M_is_leaked" returns="_3949" const="1" context="_7189" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_is_leaked() const" location="f93:2637" file="f93" line="2637" endline="2637" extern="1" inline="1"/>
+  <Method id="_11695" name="_M_is_shared" returns="_3949" const="1" context="_7189" access="public" mangled="_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_is_shared() const" location="f93:2641" file="f93" line="2641" extern="1" inline="1"/>
+  <Method id="_11696" name="_M_set_leaked" returns="_1194" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_set_leaked()" location="f93:2645" file="f93" line="2645" extern="1" inline="1"/>
+  <Method id="_11697" name="_M_set_sharable" returns="_1194" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_set_sharable()" location="f93:2649" file="f93" line="2649" endline="2649" extern="1" inline="1"/>
+  <Method id="_11698" name="_M_set_length_and_sharable" returns="_1194" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_set_length_and_sharable(unsigned)" location="f93:2653" file="f93" line="2653" endline="2656" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:2653" file="f93" line="2653"/>
+  </Method>
+  <Method id="_11699" name="_M_refdata" returns="_2778" throw="" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_refdata()" location="f93:2662" file="f93" line="2662" endline="2662" extern="1" inline="1"/>
+  <Method id="_11700" name="_M_grab" returns="_2778" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_grab(std::allocator<wchar_t> const&, std::allocator<wchar_t> const&)" location="f93:2666" file="f93" line="2666" extern="1" inline="1">
+    <Argument name="__alloc1" type="_5510" location="f93:2666" file="f93" line="2666"/>
+    <Argument name="__alloc2" type="_5510" location="f93:2666" file="f93" line="2666"/>
+  </Method>
+  <Method id="_11701" name="_S_create" returns="_11710" static="1" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_S_create(unsigned, unsigned, std::allocator<wchar_t> const&)" location="f91:529" file="f91" line="529" extern="1">
+    <Argument name="__capacity" type="_1698" location="f91:529" file="f91" line="529"/>
+    <Argument name="__old_capacity" type="_1698" location="f91:529" file="f91" line="529"/>
+    <Argument name="__alloc" type="_5510" location="f91:529" file="f91" line="529"/>
+  </Method>
+  <Method id="_11702" name="_M_dispose" returns="_1194" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_dispose(std::allocator<wchar_t> const&)" location="f93:2677" file="f93" line="2677" endline="2682" extern="1" inline="1">
+    <Argument name="__a" type="_5510" location="f93:2677" file="f93" line="2677"/>
+  </Method>
+  <Method id="_11703" name="_M_destroy" returns="_1194" throw="" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_destroy(std::allocator<wchar_t> const&)" location="f91:427" file="f91" line="427" extern="1">
+    <Argument name="__a" type="_5510" location="f91:427" file="f91" line="427"/>
+  </Method>
+  <Method id="_11704" name="_M_refcopy" returns="_2778" throw="" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_refcopy()" location="f93:2690" file="f93" line="2690" extern="1" inline="1"/>
+  <Method id="_11705" name="_M_clone" returns="_2778" context="_7189" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_M_clone(std::allocator<wchar_t> const&, unsigned)" location="f91:598" file="f91" line="598" extern="1">
+    <Argument name="__alloc" type="_5510" location="f91:598" file="f91" line="598"/>
+    <Argument name="__res" type="_1698" location="f91:598" file="f91" line="598" default="0"/>
+  </Method>
+  <Field id="_11706" name="_M_p" type="_2778" offset="0" context="_7190" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hider4_M_pE" demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider::_M_p" location="f93:2708" file="f93" line="2708"/>
+  <Constructor id="_11707" name="_Alloc_hider" artificial="1" throw="" context="_7190" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1ERKS3_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider::_Alloc_hider(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider const&)" location="f93:2704" file="f93" line="2704" inline="1">
+    <Argument name="_ctor_arg" type="_16235" location="f93:2704" file="f93" line="2704"/>
+  </Constructor>
+  <Destructor id="_11708" name="_Alloc_hider" artificial="1" throw="" context="_7190" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderD1Ev *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider::~_Alloc_hider()" location="f93:4485" file="f93" line="4485" endline="4485" inline="1">
+  </Destructor>
+  <Constructor id="_11709" name="_Alloc_hider" explicit="1" context="_7190" access="public" mangled="_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_ *INTERNAL* " demangled="std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider::_Alloc_hider(wchar_t*, std::allocator<wchar_t> const&)" location="f93:2706" file="f93" line="2706" endline="2706" extern="1" inline="1">
+    <Argument name="__dat" type="_2778" location="f93:2706" file="f93" line="2706"/>
+    <Argument name="__a" type="_5510" location="f93:2706" file="f93" line="2706"/>
+  </Constructor>
+  <PointerType id="_11710" type="_7189" size="32" align="32"/>
+  <ReferenceType id="_11711" type="_7189" size="32" align="32"/>
+  <Field id="_11712" name="_M_length" type="_1698" offset="0" context="_7335" access="public" mangled="_ZNSs9_Rep_base9_M_lengthE" demangled="std::string::_Rep_base::_M_length" location="f93:2601" file="f93" line="2601"/>
+  <Field id="_11713" name="_M_capacity" type="_1698" offset="32" context="_7335" access="public" mangled="_ZNSs9_Rep_base11_M_capacityE" demangled="std::string::_Rep_base::_M_capacity" location="f93:2602" file="f93" line="2602"/>
+  <Field id="_11714" name="_M_refcount" type="_661" offset="64" context="_7335" access="public" mangled="_ZNSs9_Rep_base11_M_refcountE" demangled="std::string::_Rep_base::_M_refcount" location="f93:2603" file="f93" line="2603"/>
+  <Constructor id="_11715" name="_Rep_base" artificial="1" throw="" context="_7335" access="public" mangled="_ZNSs9_Rep_baseC1ERKS_ *INTERNAL* " demangled="std::string::_Rep_base::_Rep_base(std::string::_Rep_base const&)" location="f93:2600" file="f93" line="2600" inline="1">
+    <Argument name="_ctor_arg" type="_16236" location="f93:2600" file="f93" line="2600"/>
+  </Constructor>
+  <Constructor id="_11716" name="_Rep_base" explicit="1" artificial="1" throw="" context="_7335" access="public" mangled="_ZNSs9_Rep_baseC1Ev *INTERNAL* " demangled="std::string::_Rep_base::_Rep_base()" location="f93:2600" file="f93" line="2600" inline="1"/>
+  <Variable id="_11717" name="_S_max_size" type="_1698c" context="_7336" access="public" mangled="_ZNSs4_Rep11_S_max_sizeE" demangled="std::string::_Rep::_S_max_size" location="f91:63" file="f91" line="63" extern="1"/>
+  <Variable id="_11718" name="_S_terminal" type="_2961c" context="_7336" access="public" mangled="_ZNSs4_Rep11_S_terminalE" demangled="std::string::_Rep::_S_terminal" location="f91:68" file="f91" line="68" extern="1"/>
+  <Variable id="_11719" name="_S_empty_rep_storage" type="_16233" context="_7336" access="public" mangled="_ZNSs4_Rep20_S_empty_rep_storageE" demangled="std::string::_Rep::_S_empty_rep_storage" location="f91:80" file="f91" line="80" extern="1"/>
+  <Typedef id="_11720" name="_Raw_bytes_alloc" type="_2512" context="_7336" access="public" location="f93:2609" file="f93" line="2609"/>
+  <Constructor id="_11721" name="_Rep" artificial="1" throw="" context="_7336" access="public" mangled="_ZNSs4_RepC1ERKS_ *INTERNAL* " demangled="std::string::_Rep::_Rep(std::string::_Rep const&)" location="f93:2607" file="f93" line="2607" inline="1">
+    <Argument name="_ctor_arg" type="_16237" location="f93:2607" file="f93" line="2607"/>
+  </Constructor>
+  <Constructor id="_11722" name="_Rep" explicit="1" artificial="1" throw="" context="_7336" access="public" mangled="_ZNSs4_RepC1Ev *INTERNAL* " demangled="std::string::_Rep::_Rep()" location="f93:2607" file="f93" line="2607" inline="1"/>
+  <Method id="_11723" name="_S_empty_rep" returns="_11741" static="1" context="_7336" access="public" mangled="_ZNSs4_Rep12_S_empty_repEv" demangled="std::string::_Rep::_S_empty_rep()" location="f93:2633" file="f93" line="2633" endline="2633" extern="1" inline="1"/>
+  <Method id="_11724" name="_M_is_leaked" returns="_3949" const="1" context="_7336" access="public" mangled="_ZNKSs4_Rep12_M_is_leakedEv" demangled="std::string::_Rep::_M_is_leaked() const" location="f93:2637" file="f93" line="2637" endline="2637" extern="1" inline="1"/>
+  <Method id="_11725" name="_M_is_shared" returns="_3949" const="1" context="_7336" access="public" mangled="_ZNKSs4_Rep12_M_is_sharedEv" demangled="std::string::_Rep::_M_is_shared() const" location="f93:2641" file="f93" line="2641" endline="2641" extern="1" inline="1"/>
+  <Method id="_11726" name="_M_set_leaked" returns="_1194" context="_7336" access="public" mangled="_ZNSs4_Rep13_M_set_leakedEv" demangled="std::string::_Rep::_M_set_leaked()" location="f93:2645" file="f93" line="2645" endline="2645" extern="1" inline="1"/>
+  <Method id="_11727" name="_M_set_sharable" returns="_1194" context="_7336" access="public" mangled="_ZNSs4_Rep15_M_set_sharableEv" demangled="std::string::_Rep::_M_set_sharable()" location="f93:2649" file="f93" line="2649" endline="2649" extern="1" inline="1"/>
+  <Method id="_11728" name="_M_set_length_and_sharable" returns="_1194" context="_7336" access="public" mangled="_ZNSs4_Rep26_M_set_length_and_sharableEj" demangled="std::string::_Rep::_M_set_length_and_sharable(unsigned)" location="f93:2653" file="f93" line="2653" endline="2656" extern="1" inline="1">
+    <Argument name="__n" type="_1698" location="f93:2653" file="f93" line="2653"/>
+  </Method>
+  <Method id="_11729" name="_M_refdata" returns="_1149" throw="" context="_7336" access="public" mangled="_ZNSs4_Rep10_M_refdataEv" demangled="std::string::_Rep::_M_refdata()" location="f93:2662" file="f93" line="2662" endline="2662" extern="1" inline="1"/>
+  <Method id="_11730" name="_M_grab" returns="_1149" context="_7336" access="public" mangled="_ZNSs4_Rep7_M_grabERKSaIcES2_" demangled="std::string::_Rep::_M_grab(std::allocator<char> const&, std::allocator<char> const&)" location="f93:2666" file="f93" line="2666" extern="1" inline="1">
+    <Argument name="__alloc1" type="_5511" location="f93:2666" file="f93" line="2666"/>
+    <Argument name="__alloc2" type="_5511" location="f93:2666" file="f93" line="2666"/>
+  </Method>
+  <Method id="_11731" name="_S_create" returns="_11740" static="1" context="_7336" access="public" mangled="_ZNSs4_Rep9_S_createEjjRKSaIcE" demangled="std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&)" location="f91:529" file="f91" line="529" extern="1">
+    <Argument name="__capacity" type="_1698" location="f91:529" file="f91" line="529"/>
+    <Argument name="__old_capacity" type="_1698" location="f91:529" file="f91" line="529"/>
+    <Argument name="__alloc" type="_5511" location="f91:529" file="f91" line="529"/>
+  </Method>
+  <Method id="_11732" name="_M_dispose" returns="_1194" context="_7336" access="public" mangled="_ZNSs4_Rep10_M_disposeERKSaIcE" demangled="std::string::_Rep::_M_dispose(std::allocator<char> const&)" location="f93:2677" file="f93" line="2677" endline="2682" extern="1" inline="1">
+    <Argument name="__a" type="_5511" location="f93:2677" file="f93" line="2677"/>
+  </Method>
+  <Method id="_11733" name="_M_destroy" returns="_1194" throw="" context="_7336" access="public" mangled="_ZNSs4_Rep10_M_destroyERKSaIcE" demangled="std::string::_Rep::_M_destroy(std::allocator<char> const&)" location="f91:427" file="f91" line="427" extern="1">
+    <Argument name="__a" type="_5511" location="f91:427" file="f91" line="427"/>
+  </Method>
+  <Method id="_11734" name="_M_refcopy" returns="_1149" throw="" context="_7336" access="public" mangled="_ZNSs4_Rep10_M_refcopyEv" demangled="std::string::_Rep::_M_refcopy()" location="f93:2690" file="f93" line="2690" extern="1" inline="1"/>
+  <Method id="_11735" name="_M_clone" returns="_1149" context="_7336" access="public" mangled="_ZNSs4_Rep8_M_cloneERKSaIcEj" demangled="std::string::_Rep::_M_clone(std::allocator<char> const&, unsigned)" location="f91:598" file="f91" line="598" extern="1">
+    <Argument name="__alloc" type="_5511" location="f91:598" file="f91" line="598"/>
+    <Argument name="__res" type="_1698" location="f91:598" file="f91" line="598" default="0"/>
+  </Method>
+  <Field id="_11736" name="_M_p" type="_1149" offset="0" context="_7337" access="public" mangled="_ZNSs12_Alloc_hider4_M_pE" demangled="std::string::_Alloc_hider::_M_p" location="f93:2708" file="f93" line="2708"/>
+  <Constructor id="_11737" name="_Alloc_hider" artificial="1" throw="" context="_7337" access="public" mangled="_ZNSs12_Alloc_hiderC1ERKS_ *INTERNAL* " demangled="std::string::_Alloc_hider::_Alloc_hider(std::string::_Alloc_hider const&)" location="f93:2704" file="f93" line="2704" inline="1">
+    <Argument name="_ctor_arg" type="_16238" location="f93:2704" file="f93" line="2704"/>
+  </Constructor>
+  <Destructor id="_11738" name="_Alloc_hider" artificial="1" throw="" context="_7337" access="public" mangled="_ZNSs12_Alloc_hiderD1Ev *INTERNAL* " demangled="std::string::_Alloc_hider::~_Alloc_hider()" location="f93:4485" file="f93" line="4485" endline="4485" inline="1">
+  </Destructor>
+  <Constructor id="_11739" name="_Alloc_hider" explicit="1" context="_7337" access="public" mangled="_ZNSs12_Alloc_hiderC1EPcRKSaIcE *INTERNAL* " demangled="std::string::_Alloc_hider::_Alloc_hider(char*, std::allocator<char> const&)" location="f93:2706" file="f93" line="2706" endline="2706" extern="1" inline="1">
+    <Argument name="__dat" type="_1149" location="f93:2706" file="f93" line="2706"/>
+    <Argument name="__a" type="_5511" location="f93:2706" file="f93" line="2706"/>
+  </Constructor>
+  <PointerType id="_11740" type="_7336" size="32" align="32"/>
+  <ReferenceType id="_11741" type="_7336" size="32" align="32"/>
+  <ReferenceType id="_11742" type="_2510c" size="32" align="32"/>
+  <ReferenceType id="_11743" type="_2511c" size="32" align="32"/>
+  <ReferenceType id="_11744" type="_1232c" size="32" align="32"/>
+  <ReferenceType id="_11745" type="_2514c" size="32" align="32"/>
+  <ReferenceType id="_11746" type="_2522c" size="32" align="32"/>
+  <ReferenceType id="_11747" type="_2523c" size="32" align="32"/>
+  <ReferenceType id="_11748" type="_2524c" size="32" align="32"/>
+  <ReferenceType id="_11749" type="_2525c" size="32" align="32"/>
+  <ReferenceType id="_11750" type="_2526c" size="32" align="32"/>
+  <ReferenceType id="_11751" type="_2527c" size="32" align="32"/>
+  <ReferenceType id="_11752" type="_2528c" size="32" align="32"/>
+  <ReferenceType id="_11753" type="_2529c" size="32" align="32"/>
+  <ReferenceType id="_11754" type="_2530c" size="32" align="32"/>
+  <ReferenceType id="_11755" type="_2531c" size="32" align="32"/>
+  <PointerType id="_11756" type="_1994" size="32" align="32"/>
+  <ReferenceType id="_11757" type="_2541c" size="32" align="32"/>
+  <ReferenceType id="_11758" type="_2541" size="32" align="32"/>
+  <ReferenceType id="_11759" type="_2558c" size="32" align="32"/>
+  <ReferenceType id="_11760" type="_2559c" size="32" align="32"/>
+  <ReferenceType id="_11761" type="_2560c" size="32" align="32"/>
+  <ReferenceType id="_11762" type="_2561c" size="32" align="32"/>
+  <ReferenceType id="_11763" type="_2562c" size="32" align="32"/>
+  <ReferenceType id="_11764" type="_2563c" size="32" align="32"/>
+  <ReferenceType id="_11765" type="_2564c" size="32" align="32"/>
+  <ReferenceType id="_11766" type="_2565c" size="32" align="32"/>
+  <ReferenceType id="_11767" type="_2566c" size="32" align="32"/>
+  <ReferenceType id="_11768" type="_2567c" size="32" align="32"/>
+  <ReferenceType id="_11769" type="_2568c" size="32" align="32"/>
+  <ReferenceType id="_11770" type="_2569c" size="32" align="32"/>
+  <ReferenceType id="_11771" type="_2570c" size="32" align="32"/>
+  <ReferenceType id="_11772" type="_2571c" size="32" align="32"/>
+  <ReferenceType id="_11773" type="_2572c" size="32" align="32"/>
+  <ReferenceType id="_11774" type="_2573c" size="32" align="32"/>
+  <ReferenceType id="_11775" type="_2574c" size="32" align="32"/>
+  <ReferenceType id="_11776" type="_2575c" size="32" align="32"/>
+  <ReferenceType id="_11777" type="_2576c" size="32" align="32"/>
+  <ReferenceType id="_11778" type="_2577c" size="32" align="32"/>
+  <ReferenceType id="_11779" type="_2578c" size="32" align="32"/>
+  <ReferenceType id="_11780" type="_2579c" size="32" align="32"/>
+  <ReferenceType id="_11781" type="_2580c" size="32" align="32"/>
+  <ReferenceType id="_11782" type="_2581c" size="32" align="32"/>
+  <ReferenceType id="_11783" type="_2582c" size="32" align="32"/>
+  <ReferenceType id="_11784" type="_2583c" size="32" align="32"/>
+  <ReferenceType id="_11785" type="_2584c" size="32" align="32"/>
+  <ReferenceType id="_11786" type="_2585c" size="32" align="32"/>
+  <ReferenceType id="_11787" type="_2586c" size="32" align="32"/>
+  <ReferenceType id="_11788" type="_2587c" size="32" align="32"/>
+  <ReferenceType id="_11789" type="_2588c" size="32" align="32"/>
+  <ReferenceType id="_11790" type="_2589c" size="32" align="32"/>
+  <ReferenceType id="_11791" type="_2590c" size="32" align="32"/>
+  <ReferenceType id="_11792" type="_2591c" size="32" align="32"/>
+  <ReferenceType id="_11793" type="_2592c" size="32" align="32"/>
+  <ReferenceType id="_11794" type="_2593c" size="32" align="32"/>
+  <ReferenceType id="_11795" type="_2594c" size="32" align="32"/>
+  <ReferenceType id="_11796" type="_2595c" size="32" align="32"/>
+  <ReferenceType id="_11797" type="_2596c" size="32" align="32"/>
+  <ReferenceType id="_11798" type="_2597c" size="32" align="32"/>
+  <ReferenceType id="_11799" type="_2598c" size="32" align="32"/>
+  <ReferenceType id="_11800" type="_2599c" size="32" align="32"/>
+  <ReferenceType id="_11801" type="_2600c" size="32" align="32"/>
+  <ReferenceType id="_11802" type="_2601c" size="32" align="32"/>
+  <ReferenceType id="_11803" type="_2602c" size="32" align="32"/>
+  <ReferenceType id="_11804" type="_2603c" size="32" align="32"/>
+  <ReferenceType id="_11805" type="_2604c" size="32" align="32"/>
+  <ReferenceType id="_11806" type="_2605c" size="32" align="32"/>
+  <ReferenceType id="_11807" type="_2606c" size="32" align="32"/>
+  <ReferenceType id="_11808" type="_2607c" size="32" align="32"/>
+  <ReferenceType id="_11809" type="_2608c" size="32" align="32"/>
+  <ReferenceType id="_11810" type="_2609c" size="32" align="32"/>
+  <ReferenceType id="_11811" type="_2610c" size="32" align="32"/>
+  <ReferenceType id="_11812" type="_2611c" size="32" align="32"/>
+  <ReferenceType id="_11813" type="_2612c" size="32" align="32"/>
+  <ReferenceType id="_11814" type="_2613c" size="32" align="32"/>
+  <ReferenceType id="_11815" type="_2614c" size="32" align="32"/>
+  <ReferenceType id="_11816" type="_2615c" size="32" align="32"/>
+  <ReferenceType id="_11817" type="_2616c" size="32" align="32"/>
+  <ReferenceType id="_11818" type="_2617c" size="32" align="32"/>
+  <ReferenceType id="_11819" type="_2618c" size="32" align="32"/>
+  <ReferenceType id="_11820" type="_2619c" size="32" align="32"/>
+  <ReferenceType id="_11821" type="_2620c" size="32" align="32"/>
+  <ReferenceType id="_11822" type="_2621c" size="32" align="32"/>
+  <ReferenceType id="_11823" type="_2622c" size="32" align="32"/>
+  <ReferenceType id="_11824" type="_2623c" size="32" align="32"/>
+  <ReferenceType id="_11825" type="_2624c" size="32" align="32"/>
+  <ReferenceType id="_11826" type="_2625c" size="32" align="32"/>
+  <ReferenceType id="_11827" type="_2626c" size="32" align="32"/>
+  <ReferenceType id="_11828" type="_2627c" size="32" align="32"/>
+  <ReferenceType id="_11829" type="_2628c" size="32" align="32"/>
+  <ReferenceType id="_11830" type="_2629c" size="32" align="32"/>
+  <ReferenceType id="_11831" type="_2631c" size="32" align="32"/>
+  <ReferenceType id="_11832" type="_2632c" size="32" align="32"/>
+  <ReferenceType id="_11833" type="_2633c" size="32" align="32"/>
+  <ReferenceType id="_11834" type="_2634c" size="32" align="32"/>
+  <ReferenceType id="_11835" type="_2635c" size="32" align="32"/>
+  <ReferenceType id="_11836" type="_2636c" size="32" align="32"/>
+  <ReferenceType id="_11837" type="_2637c" size="32" align="32"/>
+  <ReferenceType id="_11838" type="_2638c" size="32" align="32"/>
+  <ReferenceType id="_11839" type="_2639c" size="32" align="32"/>
+  <ReferenceType id="_11840" type="_2640c" size="32" align="32"/>
+  <ReferenceType id="_11841" type="_2641c" size="32" align="32"/>
+  <ReferenceType id="_11842" type="_2642c" size="32" align="32"/>
+  <ReferenceType id="_11843" type="_2643c" size="32" align="32"/>
+  <ReferenceType id="_11844" type="_2644c" size="32" align="32"/>
+  <ReferenceType id="_11845" type="_2645c" size="32" align="32"/>
+  <ReferenceType id="_11846" type="_2646c" size="32" align="32"/>
+  <ReferenceType id="_11847" type="_2647c" size="32" align="32"/>
+  <ReferenceType id="_11848" type="_2648c" size="32" align="32"/>
+  <ReferenceType id="_11849" type="_2649c" size="32" align="32"/>
+  <ReferenceType id="_11850" type="_2650c" size="32" align="32"/>
+  <ReferenceType id="_11851" type="_2651c" size="32" align="32"/>
+  <ReferenceType id="_11852" type="_2652c" size="32" align="32"/>
+  <ReferenceType id="_11853" type="_2653c" size="32" align="32"/>
+  <ReferenceType id="_11854" type="_2654c" size="32" align="32"/>
+  <ReferenceType id="_11855" type="_2655c" size="32" align="32"/>
+  <ReferenceType id="_11859" type="_2680c" size="32" align="32"/>
+  <ReferenceType id="_11860" type="_2681c" size="32" align="32"/>
+  <ReferenceType id="_11861" type="_2682c" size="32" align="32"/>
+  <ReferenceType id="_11862" type="_2683c" size="32" align="32"/>
+  <ReferenceType id="_11863" type="_2684c" size="32" align="32"/>
+  <ReferenceType id="_11864" type="_2685c" size="32" align="32"/>
+  <ReferenceType id="_11865" type="_2686c" size="32" align="32"/>
+  <ReferenceType id="_11866" type="_2687c" size="32" align="32"/>
+  <ReferenceType id="_11867" type="_2688c" size="32" align="32"/>
+  <ReferenceType id="_11868" type="_2689c" size="32" align="32"/>
+  <ReferenceType id="_11869" type="_2690c" size="32" align="32"/>
+  <ReferenceType id="_11870" type="_2691c" size="32" align="32"/>
+  <ReferenceType id="_11871" type="_2692c" size="32" align="32"/>
+  <ReferenceType id="_11872" type="_2693c" size="32" align="32"/>
+  <ReferenceType id="_11873" type="_2694c" size="32" align="32"/>
+  <ReferenceType id="_11874" type="_2695c" size="32" align="32"/>
+  <ReferenceType id="_11875" type="_2696c" size="32" align="32"/>
+  <ReferenceType id="_11876" type="_2697c" size="32" align="32"/>
+  <ReferenceType id="_11877" type="_2698c" size="32" align="32"/>
+  <ReferenceType id="_11878" type="_2699c" size="32" align="32"/>
+  <ReferenceType id="_11879" type="_2700c" size="32" align="32"/>
+  <ReferenceType id="_11880" type="_2701c" size="32" align="32"/>
+  <ReferenceType id="_11881" type="_2702c" size="32" align="32"/>
+  <ReferenceType id="_11882" type="_2703c" size="32" align="32"/>
+  <ReferenceType id="_11883" type="_2704c" size="32" align="32"/>
+  <ReferenceType id="_11884" type="_2715" size="32" align="32"/>
+  <ReferenceType id="_11885" type="_2715c" size="32" align="32"/>
+  <PointerType id="_11886" type="_2715c" size="32" align="32"/>
+  <PointerType id="_11887" type="_16377c" size="32" align="32"/>
+  <ReferenceType id="_11888" type="_2716c" size="32" align="32"/>
+  <Struct id="_11890" name="__type_info_pseudo" context="_1" mangled="18__type_info_pseudo" demangled="__type_info_pseudo" location="f115:0" file="f115" line="0" size="64" align="32" members="" bases=""/>
+  <ArrayType id="_11891" min="0" max="2" type="_16380" size="192" align="32"/>
+  <ArrayType id="_11892" min="0" max="1" type="_16380" size="128" align="32"/>
+  <ReferenceType id="_11893" type="_2800c" size="32" align="32"/>
+  <Field id="_11895" name="__spins" type="_503" offset="0" context="_8218" access="public" mangled="_ZN15pthread_mutex_t17__pthread_mutex_s4._107__spinsE" demangled="pthread_mutex_t::__pthread_mutex_s::._10::__spins" location="f40:67" file="f40" line="67"/>
+  <Field id="_11896" name="__list" type="_1545" offset="0" context="_8218" access="public" mangled="_ZN15pthread_mutex_t17__pthread_mutex_s4._106__listE" demangled="pthread_mutex_t::__pthread_mutex_s::._10::__list" location="f40:68" file="f40" line="68"/>
+  <ReferenceType id="_11897" type="_2821c" size="32" align="32"/>
+  <ReferenceType id="_11900" type="_2868c" size="32" align="32"/>
+  <ReferenceType id="_11908" type="_2979c" size="32" align="32"/>
+  <ReferenceType id="_11921" type="_3141c" size="32" align="32"/>
+  <ReferenceType id="_11923" type="_3151c" size="32" align="32"/>
+  <PointerType id="_11928" type="_1678" size="32" align="32"/>
+  <ReferenceType id="_11933" type="_3208c" size="32" align="32"/>
+  <ReferenceType id="_11934" type="_3209c" size="32" align="32"/>
+  <Field id="_11936" name="zone_" type="_3830" offset="64" context="_8348" access="private" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE5zone_E" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::zone_" location="f10:477" file="f10" line="477"/>
+  <Typedef id="_11937" name="utc_time_type" type="_10341" context="_8348" access="public" location="f10:64" file="f10" line="64"/>
+  <Typedef id="_11938" name="time_duration_type" type="_10347" context="_8348" access="public" location="f10:65" file="f10" line="65"/>
+  <Typedef id="_11939" name="date_type" type="_9061" context="_8348" access="public" location="f10:66" file="f10" line="66"/>
+  <Typedef id="_11940" name="date_duration_type" type="_10752" context="_8348" access="public" location="f10:67" file="f10" line="67"/>
+  <Typedef id="_11941" name="time_system_type" type="_10343" context="_8348" access="public" location="f10:68" file="f10" line="68"/>
+  <Enumeration id="_11942" name="DST_CALC_OPTIONS" context="_8348" access="public" location="f10:131" file="f10" line="131" artificial="1" size="32" align="32">
+    <EnumValue name="EXCEPTION_ON_ERROR" init="0"/>
+    <EnumValue name="NOT_DATE_TIME_ON_ERROR" init="1"/>
+  </Enumeration>
+  <Constructor id="_11943" name="local_date_time_base" explicit="1" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEC1ES3_NS_10shared_ptrIS6_EE *INTERNAL* " demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::local_date_time_base(boost::posix_time::ptime, boost::shared_ptr<boost::date_ti [...]
+    <Argument name="t" type="_10341" location="f10:79" file="f10" line="79"/>
+    <Argument name="tz" type="_3830" location="f10:79" file="f10" line="79"/>
+  </Constructor>
+  <Constructor id="_11944" name="local_date_time_base" explicit="1" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEC1ENS_9gregorian4dateENS2_13time_durationENS_10shared_ptrIS6_EEb *INTERNAL* " demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::local_date_time_base(boost::gregorian::date,  [...]
+    <Argument name="d" type="_9061" location="f10:100" file="f10" line="100"/>
+    <Argument name="td" type="_10347" location="f10:100" file="f10" line="100"/>
+    <Argument name="tz" type="_3830" location="f10:100" file="f10" line="100"/>
+    <Argument name="dst_flag" type="_3949" location="f10:100" file="f10" line="100"/>
+  </Constructor>
+  <Constructor id="_11945" name="local_date_time_base" explicit="1" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEC1ENS_9gregorian4dateENS2_13time_durationENS_10shared_ptrIS6_EENS7_16DST_CALC_OPTIONSE *INTERNAL* " demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::local_date_time_base(bo [...]
+    <Argument name="d" type="_9061" location="f10:141" file="f10" line="141"/>
+    <Argument name="td" type="_10347" location="f10:141" file="f10" line="141"/>
+    <Argument name="tz" type="_3830" location="f10:141" file="f10" line="141"/>
+    <Argument name="calc_option" type="_11942" location="f10:141" file="f10" line="141"/>
+  </Constructor>
+  <Method id="_11946" name="check_dst" returns="_11190" static="1" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE9check_dstENS_9gregorian4dateENS2_13time_durationENS_10shared_ptrIS6_EE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::check_dst(boost::gregorian::date, boost::posix_time [...]
+    <Argument name="d" type="_9061" location="f10:190" file="f10" line="190"/>
+    <Argument name="td" type="_10347" location="f10:190" file="f10" line="190"/>
+    <Argument name="tz" type="_3830" location="f10:190" file="f10" line="190"/>
+  </Method>
+  <Destructor id="_11947" name="local_date_time_base" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEED1Ev *INTERNAL* " demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::~local_date_time_base()" location="f10:208" file="f10" line="208" endline="208" inline="1">
+  </Destructor>
+  <Constructor id="_11948" name="local_date_time_base" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEC1ERKS7_ *INTERNAL* " demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::local_date_time_base(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_z [...]
+    <Argument name="rhs" type="_16389" location="f10:211" file="f10" line="211"/>
+  </Constructor>
+  <Constructor id="_11949" name="local_date_time_base" explicit="1" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEC1ENS4_14special_valuesENS_10shared_ptrIS6_EE *INTERNAL* " demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::local_date_time_base(boost::date_time::special_values, boost::sh [...]
+    <Argument name="sv" type="_11275c" location="f10:218" file="f10" line="218"/>
+    <Argument name="tz" type="_3830" location="f10:218" file="f10" line="218" default="<gccxml-cast-expr>"/>
+  </Constructor>
+  <Method id="_11950" name="zone" returns="_3830" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE4zoneEv" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::zone() const" location="f10:225" file="f10" line="225" extern="1" inline="1"/>
+  <Method id="_11951" name="is_dst" returns="_3949" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE6is_dstEv" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::is_dst() const" location="f10:230" file="f10" line="230" endline="255" inline="1"/>
+  <Method id="_11952" name="utc_time" returns="_10341" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE8utc_timeEv" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::utc_time() const" location="f10:259" file="f10" line="259" endline="260" inline="1"/>
+  <Method id="_11953" name="local_time" returns="_10341" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE10local_timeEv" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::local_time() const" location="f10:264" file="f10" line="264" endline="272" inline="1"/>
+  <Method id="_11954" name="to_string" returns="_2508" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE9to_stringEv" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::to_string() const" location="f10:279" file="f10" line="279" extern="1" inline="1"/>
+  <Method id="_11955" name="local_time_in" returns="_8348" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE13local_time_inENS_10shared_ptrIS6_EENS2_13time_durationE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::local_time_in(boost::shared_ptr<boost::date_time::time_zone [...]
+    <Argument name="new_tz" type="_3830" location="f10:308" file="f10" line="308"/>
+    <Argument name="td" type="_10347" location="f10:308" file="f10" line="308" default="<gccxml-cast-expr>"/>
+  </Method>
+  <Method id="_11956" name="zone_name" returns="_2508" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE9zone_nameEb" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::zone_name(bool) const" location="f10:317" file="f10" line="317" extern="1" inline="1">
+    <Argument name="as_offset" type="_3949" location="f10:317" file="f10" line="317" default="false"/>
+  </Method>
+  <Method id="_11957" name="zone_abbrev" returns="_2508" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE11zone_abbrevEb" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::zone_abbrev(bool) const" location="f10:351" file="f10" line="351" extern="1" inline="1">
+    <Argument name="as_offset" type="_3949" location="f10:351" file="f10" line="351" default="false"/>
+  </Method>
+  <Method id="_11958" name="zone_as_posix_string" returns="_2508" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE20zone_as_posix_stringEv" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::zone_as_posix_string() const" location="f10:383" file="f10" line="383" extern="1" inline="1"/>
+  <OperatorMethod id="_11959" name="==" returns="_3949" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEeqERKS7_" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator==(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base&l [...]
+    <Argument name="rhs" type="_16389" location="f10:398" file="f10" line="398"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11960" name="!=" returns="_3949" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEneERKS7_" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator!=(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base&l [...]
+    <Argument name="rhs" type="_16389" location="f10:403" file="f10" line="403"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11961" name="<" returns="_3949" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEltERKS7_" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator<(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_ba [...]
+    <Argument name="rhs" type="_16389" location="f10:408" file="f10" line="408"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11962" name="<=" returns="_3949" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEleERKS7_" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator<=(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_ [...]
+    <Argument name="rhs" type="_16389" location="f10:413" file="f10" line="413"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11963" name=">" returns="_3949" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEgtERKS7_" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator>(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_ba [...]
+    <Argument name="rhs" type="_16389" location="f10:418" file="f10" line="418"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11964" name=">=" returns="_3949" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEgeERKS7_" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator>=(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_ [...]
+    <Argument name="rhs" type="_16389" location="f10:423" file="f10" line="423"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11965" name="+" returns="_8348" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEplERKNS4_13date_durationINS4_23duration_traits_adaptedEEE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator+(boost::date_time::date_duration<boost::date_time::dur [...]
+    <Argument name="dd" type="_16391" location="f10:429" file="f10" line="429"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11966" name="+=" returns="_8348" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEpLERKNS4_13date_durationINS4_23duration_traits_adaptedEEE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator+=(boost::date_time::date_duration<boost::date_time::duration_tra [...]
+    <Argument name="dd" type="_16391" location="f10:434" file="f10" line="434"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11967" name="-" returns="_8348" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEmiERKNS4_13date_durationINS4_23duration_traits_adaptedEEE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator-(boost::date_time::date_duration<boost::date_time::dur [...]
+    <Argument name="dd" type="_16391" location="f10:440" file="f10" line="440"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11968" name="-=" returns="_8348" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEmIERKNS4_13date_durationINS4_23duration_traits_adaptedEEE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator-=(boost::date_time::date_duration<boost::date_time::duration_tra [...]
+    <Argument name="dd" type="_16391" location="f10:445" file="f10" line="445"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11969" name="+" returns="_8348" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEplERKNS2_13time_durationE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator+(boost::posix_time::time_duration const&) const" location="f10:451" file="f10" line=" [...]
+    <Argument name="td" type="_8886" location="f10:451" file="f10" line="451"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11970" name="+=" returns="_8348" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEpLERKNS2_13time_durationE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator+=(boost::posix_time::time_duration const&)" location="f10:456" file="f10" line="456" extern="1" [...]
+    <Argument name="td" type="_8886" location="f10:456" file="f10" line="456"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11971" name="-" returns="_8348" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEmiERKNS2_13time_durationE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator-(boost::posix_time::time_duration const&) const" location="f10:462" file="f10" line=" [...]
+    <Argument name="td" type="_8886" location="f10:462" file="f10" line="462"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11972" name="-=" returns="_8348" context="_8348" access="public" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEmIERKNS2_13time_durationE" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator-=(boost::posix_time::time_duration const&)" location="f10:467" file="f10" line="467" extern="1" [...]
+    <Argument name="td" type="_8886" location="f10:467" file="f10" line="467"/>
+  </OperatorMethod>
+  <OperatorMethod id="_11973" name="-" returns="_10347" const="1" context="_8348" access="public" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEEmiERKS7_" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::operator-(boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base&lt [...]
+    <Argument name="rhs" type="_16389" location="f10:473" file="f10" line="473"/>
+  </OperatorMethod>
+  <Method id="_11974" name="construction_adjustment" returns="_10341" context="_8348" access="private" mangled="_ZN5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE23construction_adjustmentES3_NS_10shared_ptrIS6_EEb" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::construction_adjustment(boost::posix_time::ptime, boost::shared_ptr [...]
+    <Argument name="t" type="_10341" location="f10:485" file="f10" line="485"/>
+    <Argument name="z" type="_3830" location="f10:485" file="f10" line="485"/>
+    <Argument name="dst_flag" type="_3949" location="f10:485" file="f10" line="485"/>
+  </Method>
+  <Method id="_11975" name="zone_as_offset" returns="_2508" const="1" context="_8348" access="private" mangled="_ZNK5boost10local_time20local_date_time_baseINS_10posix_time5ptimeENS_9date_time14time_zone_baseIS3_cEEE14zone_as_offsetERKNS2_13time_durationERKSs" demangled="boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::zone_as_offset(boost::posix_time::time_duration const&, std::string co [...]
+    <Argument name="td" type="_8886" location="f10:499" file="f10" line="499"/>
+    <Argument name="separator" type="_4948" location="f10:499" file="f10" line="499"/>
+  </Method>
+  <ReferenceType id="_11976" type="_3222c" size="32" align="32"/>
+  <ReferenceType id="_11977" type="_3224c" size="32" align="32"/>
+  <ReferenceType id="_11978" type="_3226c" size="32" align="32"/>
+  <ReferenceType id="_11979" type="_3228c" size="32" align="32"/>
+  <ReferenceType id="_11980" type="_3230c" size="32" align="32"/>
+  <ReferenceType id="_11981" type="_3232c" size="32" align="32"/>
+  <ReferenceType id="_11984" type="_3236c" size="32" align="32"/>
+  <ReferenceType id="_11985" type="_3237c" size="32" align="32"/>
+  <ReferenceType id="_11986" type="_3238c" size="32" align="32"/>
+  <ReferenceType id="_11987" type="_3239c" size="32" align="32"/>
+  <CvQualifiedType id="_3246c" type="_3246" const="1"/>
+  <ReferenceType id="_11991" type="_3246c" size="32" align="32"/>
+  <ReferenceType id="_11992" type="_3247c" size="32" align="32"/>
+  <ReferenceType id="_11993" type="_3249c" size="32" align="32"/>
+  <ReferenceType id="_11994" type="_3250c" size="32" align="32"/>
+  <ReferenceType id="_11995" type="_3251c" size="32" align="32"/>
+  <ReferenceType id="_11996" type="_3252c" size="32" align="32"/>
+  <ReferenceType id="_11997" type="_3253c" size="32" align="32"/>
+  <ReferenceType id="_11998" type="_3256c" size="32" align="32"/>
+  <ReferenceType id="_11999" type="_3259c" size="32" align="32"/>
+  <ReferenceType id="_12000" type="_3261c" size="32" align="32"/>
+  <ReferenceType id="_12001" type="_3264c" size="32" align="32"/>
+  <ReferenceType id="_12002" type="_3265c" size="32" align="32"/>
+  <ReferenceType id="_12003" type="_3266c" size="32" align="32"/>
+  <ReferenceType id="_12004" type="_3267c" size="32" align="32"/>
+  <ReferenceType id="_12005" type="_3268c" size="32" align="32"/>
+  <ReferenceType id="_12006" type="_3269c" size="32" align="32"/>
+  <ReferenceType id="_12007" type="_3270c" size="32" align="32"/>
+  <ReferenceType id="_12008" type="_3271c" size="32" align="32"/>
+  <ReferenceType id="_12009" type="_3272c" size="32" align="32"/>
+  <ReferenceType id="_12010" type="_3273c" size="32" align="32"/>
+  <ReferenceType id="_12011" type="_3275c" size="32" align="32"/>
+  <ReferenceType id="_12012" type="_3276c" size="32" align="32"/>
+  <ReferenceType id="_12013" type="_3277c" size="32" align="32"/>
+  <ReferenceType id="_12014" type="_3278c" size="32" align="32"/>
+  <ReferenceType id="_12018" type="_3291c" size="32" align="32"/>
+  <ReferenceType id="_12019" type="_3293c" size="32" align="32"/>
+  <ReferenceType id="_12020" type="_3295c" size="32" align="32"/>
+  <ReferenceType id="_12021" type="_3296c" size="32" align="32"/>
+  <ReferenceType id="_12022" type="_3297c" size="32" align="32"/>
+  <ReferenceType id="_12023" type="_3298c" size="32" align="32"/>
+  <ReferenceType id="_12024" type="_3299c" size="32" align="32"/>
+  <ReferenceType id="_12032" type="_2749c" size="32" align="32"/>
+  <ReferenceType id="_12033" type="_1699c" size="32" align="32"/>
+  <ReferenceType id="_12034" type="_4014c" size="32" align="32"/>
+  <ReferenceType id="_12035" type="_3329" size="32" align="32"/>
+  <ReferenceType id="_12036" type="_3330" size="32" align="32"/>
+  <ReferenceType id="_12037" type="_2780c" size="32" align="32"/>
+  <ReferenceType id="_12038" type="_3332" size="32" align="32"/>
+  <ReferenceType id="_12039" type="_4016c" size="32" align="32"/>
+  <ReferenceType id="_12040" type="_3333" size="32" align="32"/>
+  <ReferenceType id="_12041" type="_3334c" size="32" align="32"/>
+  <ReferenceType id="_12042" type="_3334" size="32" align="32"/>
+  <ReferenceType id="_12043" type="_4076c" size="32" align="32"/>
+  <ReferenceType id="_12044" type="_3335" size="32" align="32"/>
+  <CvQualifiedType id="_8897c" type="_8897" const="1"/>
+  <ReferenceType id="_12050" type="_3354c" size="32" align="32"/>
+  <ReferenceType id="_12051" type="_3369c" size="32" align="32"/>
+  <CvQualifiedType id="_8919c" type="_8919" const="1"/>
+  <ReferenceType id="_12053" type="_3355c" size="32" align="32"/>
+  <ReferenceType id="_12054" type="_3366c" size="32" align="32"/>
+  <Typedef id="_12055" name="char_separator_type" type="_3367" context="_16441" location="f14:120" file="f14" line="120"/>
+  <ReferenceType id="_12056" type="_3356c" size="32" align="32"/>
+  <ReferenceType id="_12057" type="_12055c" size="32" align="32"/>
+  <ReferenceType id="_12058" type="_3357c" size="32" align="32"/>
+  <ReferenceType id="_12059" type="_3358c" size="32" align="32"/>
+  <ReferenceType id="_12060" type="_3359c" size="32" align="32"/>
+  <ReferenceType id="_12061" type="_3360c" size="32" align="32"/>
+  <ReferenceType id="_12062" type="_3361c" size="32" align="32"/>
+  <ReferenceType id="_12063" type="_3362c" size="32" align="32"/>
+  <ReferenceType id="_12064" type="_3363c" size="32" align="32"/>
+  <ReferenceType id="_12065" type="_3367c" size="32" align="32"/>
+  <ReferenceType id="_12066" type="_3371c" size="32" align="32"/>
+  <Typedef id="_12069" name="year_type" type="_10768" context="_9061" access="public" location="f196:39" file="f196" line="39"/>
+  <Typedef id="_12070" name="month_type" type="_10760" context="_9061" access="public" location="f196:40" file="f196" line="40"/>
+  <Typedef id="_12071" name="day_type" type="_9063" context="_9061" access="public" location="f196:41" file="f196" line="41"/>
+  <Typedef id="_12072" name="day_of_year_type" type="_10780" context="_9061" access="public" location="f196:42" file="f196" line="42"/>
+  <Typedef id="_12073" name="ymd_type" type="_10759" context="_9061" access="public" location="f196:43" file="f196" line="43"/>
+  <Typedef id="_12074" name="date_rep_type" type="_10757" context="_9061" access="public" location="f196:44" file="f196" line="44"/>
+  <Typedef id="_12075" name="date_int_type" type="_643" context="_9061" access="public" location="f196:45" file="f196" line="45"/>
+  <Typedef id="_12076" name="duration_type" type="_10752" context="_9061" access="public" location="f196:46" file="f196" line="46"/>
+  <Constructor id="_12077" name="date" artificial="1" throw="" context="_9061" access="public" mangled="_ZN5boost9gregorian4dateC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::date::date(boost::gregorian::date const&)" location="f196:37" file="f196" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_10010" location="f196:37" file="f196" line="37"/>
+  </Constructor>
+  <Constructor id="_12078" name="date" explicit="1" context="_9061" access="public" mangled="_ZN5boost9gregorian4dateC1Ev *INTERNAL* " demangled="boost::gregorian::date::date()" location="f196:49" file="f196" line="49" endline="51" inline="1"/>
+  <Constructor id="_12079" name="date" explicit="1" context="_9061" access="public" mangled="_ZN5boost9gregorian4dateC1ENS0_9greg_yearENS0_10greg_monthENS0_8greg_dayE *INTERNAL* " demangled="boost::gregorian::date::date(boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day)" location="f196:55" file="f196" line="55" endline="60" inline="1">
+    <Argument name="y" type="_10768" location="f196:55" file="f196" line="55"/>
+    <Argument name="m" type="_10760" location="f196:55" file="f196" line="55"/>
+    <Argument name="d" type="_9063" location="f196:55" file="f196" line="55"/>
+  </Constructor>
+  <Constructor id="_12080" name="date" explicit="1" context="_9061" access="public" mangled="_ZN5boost9gregorian4dateC1ERKNS_9date_time19year_month_day_baseINS0_9greg_yearENS0_10greg_monthENS0_8greg_dayEEE *INTERNAL* " demangled="boost::gregorian::date::date(boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day> const&)" location="f196:63" file="f196" line="63" endline="64" inline="1">
+    <Argument name="ymd" type="_16453" location="f196:63" file="f196" line="63"/>
+  </Constructor>
+  <Constructor id="_12081" name="date" explicit="1" context="_9061" access="public" mangled="_ZN5boost9gregorian4dateC1ERKm *INTERNAL* " demangled="boost::gregorian::date::date(unsigned long const&)" location="f196:66" file="f196" line="66" endline="68" inline="1">
+    <Argument name="rhs" type="_16454" location="f196:66" file="f196" line="66"/>
+  </Constructor>
+  <Constructor id="_12082" name="date" explicit="1" context="_9061" access="public" mangled="_ZN5boost9gregorian4dateC1ENS_9date_time11int_adapterImEE *INTERNAL* " demangled="boost::gregorian::date::date(boost::date_time::int_adapter<unsigned long>)" location="f196:70" file="f196" line="70" endline="72" inline="1">
+    <Argument name="rhs" type="_10757" location="f196:70" file="f196" line="70"/>
+  </Constructor>
+  <Constructor id="_12083" name="date" explicit="1" context="_9061" access="public" mangled="_ZN5boost9gregorian4dateC1ENS_9date_time14special_valuesE *INTERNAL* " demangled="boost::gregorian::date::date(boost::date_time::special_values)" location="f196:74" file="f196" line="74" endline="86" inline="1">
+    <Argument name="sv" type="_11275" location="f196:74" file="f196" line="74"/>
+  </Constructor>
+  <Method id="_12084" name="julian_day" returns="_643" const="1" context="_9061" access="public" mangled="_ZNK5boost9gregorian4date10julian_dayEv" demangled="boost::gregorian::date::julian_day() const" location="f196:89" file="f196" line="89" endline="92" inline="1"/>
+  <Method id="_12085" name="day_of_year" returns="_10780" const="1" context="_9061" access="public" mangled="_ZNK5boost9gregorian4date11day_of_yearEv" demangled="boost::gregorian::date::day_of_year() const" location="f196:95" file="f196" line="95" endline="99" inline="1"/>
+  <Method id="_12086" name="modjulian_day" returns="_1553" const="1" context="_9061" access="public" mangled="_ZNK5boost9gregorian4date13modjulian_dayEv" demangled="boost::gregorian::date::modjulian_day() const" location="f196:102" file="f196" line="102" endline="105" inline="1"/>
+  <Method id="_12087" name="week_number" returns="_503" const="1" context="_9061" access="public" mangled="_ZNK5boost9gregorian4date11week_numberEv" demangled="boost::gregorian::date::week_number() const" location="f196:108" file="f196" line="108" endline="111" inline="1"/>
+  <Method id="_12088" name="day_number" returns="_643" const="1" context="_9061" access="public" mangled="_ZNK5boost9gregorian4date10day_numberEv" demangled="boost::gregorian::date::day_number() const" location="f196:114" file="f196" line="114" endline="116" inline="1"/>
+  <Method id="_12089" name="end_of_month" returns="_9061" const="1" context="_9061" access="public" mangled="_ZNK5boost9gregorian4date12end_of_monthEv" demangled="boost::gregorian::date::end_of_month() const" location="f196:119" file="f196" line="119" endline="123" inline="1"/>
+  <Constructor id="_12090" name="greg_day" artificial="1" throw="" context="_9063" access="public" mangled="_ZN5boost9gregorian8greg_dayC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::greg_day::greg_day(boost::gregorian::greg_day const&)" location="f24:42" file="f24" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16455" location="f24:42" file="f24" line="42"/>
+  </Constructor>
+  <Constructor id="_12091" name="greg_day" context="_9063" access="public" mangled="_ZN5boost9gregorian8greg_dayC1Et *INTERNAL* " demangled="boost::gregorian::greg_day::greg_day(unsigned short)" location="f24:44" file="f24" line="44" endline="44" inline="1">
+    <Argument name="day_of_month" type="_1199" location="f24:44" file="f24" line="44"/>
+  </Constructor>
+  <Method id="_12092" name="as_number" returns="_1199" const="1" context="_9063" access="public" mangled="_ZNK5boost9gregorian8greg_day9as_numberEv" demangled="boost::gregorian::greg_day::as_number() const" location="f24:45" file="f24" line="45" endline="45" inline="1"/>
+  <Converter id="_12093" name="operator 7" returns="_1199" const="1" context="_9063" access="public" mangled="_ZNK5boost9gregorian8greg_daycvtEv" demangled="boost::gregorian::greg_day::operator unsigned short() const" location="f24:46" file="f24" line="46" endline="46" inline="1"/>
+  <ReferenceType id="_12095" type="_3411c" size="32" align="32"/>
+  <PointerType id="_12096" type="_15530" size="32" align="32"/>
+  <Union id="_12097" name="function_buffer" context="_11178" mangled="N5boost6detail8function15function_bufferE" demangled="boost::detail::function::function_buffer" location="f17:117" file="f17" line="117" artificial="1" size="96" align="32" members="_16457 _16458 _16459 _16460 _16461 _16462 _16463 _16464 " bases=""/>
+  <ReferenceType id="_12098" type="_3413c" size="32" align="32"/>
+  <ReferenceType id="_12099" type="_3414c" size="32" align="32"/>
+  <ReferenceType id="_12100" type="_3415c" size="32" align="32"/>
+  <ReferenceType id="_12101" type="_3416c" size="32" align="32"/>
+  <ReferenceType id="_12102" type="_3417c" size="32" align="32"/>
+  <ReferenceType id="_12103" type="_3423c" size="32" align="32"/>
+  <Variable id="_12104" name="is_integral" type="_3949c" init="true" context="_9096" access="public" mangled="_ZN5boost6detail19integer_traits_baseIiLin2147483648ELi2147483647EE11is_integralE" demangled="boost::detail::integer_traits_base<int, -2147483648, 2147483647>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12105" name="const_min" type="_503c" init="-2147483648" context="_9096" access="public" mangled="_ZN5boost6detail19integer_traits_baseIiLin2147483648ELi2147483647EE9const_minE" demangled="boost::detail::integer_traits_base<int, -2147483648, 2147483647>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12106" name="const_max" type="_503c" init="2147483647" context="_9096" access="public" mangled="_ZN5boost6detail19integer_traits_baseIiLin2147483648ELi2147483647EE9const_maxE" demangled="boost::detail::integer_traits_base<int, -2147483648, 2147483647>::const_max" location="f134:46" file="f134" line="46"/>
+  <Constructor id="_12107" name="integer_traits_base" artificial="1" throw="" context="_9096" access="public" mangled="_ZN5boost6detail19integer_traits_baseIiLin2147483648ELi2147483647EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<int, -2147483648, 2147483647>::integer_traits_base(boost::detail::integer_traits_base<int, -2147483648, 2147483647> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16471" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12108" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9096" access="public" mangled="_ZN5boost6detail19integer_traits_baseIiLin2147483648ELi2147483647EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<int, -2147483648, 2147483647>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12109" type="_3424c" size="32" align="32"/>
+  <Variable id="_12110" name="is_integral" type="_3949c" init="true" context="_9099" access="public" mangled="_ZN5boost6detail19integer_traits_baseIyLy0ELy18446744073709551615EE11is_integralE" demangled="boost::detail::integer_traits_base<unsigned long long, (unsigned long long)0, (unsigned long long)18446744073709551615>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12111" name="const_min" type="_3886c" init="0" context="_9099" access="public" mangled="_ZN5boost6detail19integer_traits_baseIyLy0ELy18446744073709551615EE9const_minE" demangled="boost::detail::integer_traits_base<unsigned long long, (unsigned long long)0, (unsigned long long)18446744073709551615>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12112" name="const_max" type="_3886c" init="0xffffffffffffffff" context="_9099" access="public" mangled="_ZN5boost6detail19integer_traits_baseIyLy0ELy18446744073709551615EE9const_maxE" demangled="boost::detail::integer_traits_base<unsigned long long, (unsigned long long)0, (unsigned long long)18446744073709551615>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12113" name="integer_traits_base" artificial="1" throw="" context="_9099" access="public" mangled="_ZN5boost6detail19integer_traits_baseIyLy0ELy18446744073709551615EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned long long, (unsigned long long)0, (unsigned long long)18446744073709551615>::integer_traits_base(boost::detail::integer_traits_base<unsigned long long, (unsigned long long)0, (unsigned long long)18446744073709551615>  [...]
+    <Argument name="_ctor_arg" type="_16474" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12114" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9099" access="public" mangled="_ZN5boost6detail19integer_traits_baseIyLy0ELy18446744073709551615EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned long long, (unsigned long long)0, (unsigned long long)18446744073709551615>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12115" type="_3425c" size="32" align="32"/>
+  <Variable id="_12116" name="is_integral" type="_3949c" init="true" context="_9102" access="public" mangled="_ZN5boost6detail19integer_traits_baseIxLxn9223372036854775808ELx9223372036854775807EE11is_integralE" demangled="boost::detail::integer_traits_base<long long, (long long)-9223372036854775808, (long long)9223372036854775807>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12117" name="const_min" type="_3887c" init="-0x8000000000000000" context="_9102" access="public" mangled="_ZN5boost6detail19integer_traits_baseIxLxn9223372036854775808ELx9223372036854775807EE9const_minE" demangled="boost::detail::integer_traits_base<long long, (long long)-9223372036854775808, (long long)9223372036854775807>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12118" name="const_max" type="_3887c" init="0x7fffffffffffffff" context="_9102" access="public" mangled="_ZN5boost6detail19integer_traits_baseIxLxn9223372036854775808ELx9223372036854775807EE9const_maxE" demangled="boost::detail::integer_traits_base<long long, (long long)-9223372036854775808, (long long)9223372036854775807>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12119" name="integer_traits_base" artificial="1" throw="" context="_9102" access="public" mangled="_ZN5boost6detail19integer_traits_baseIxLxn9223372036854775808ELx9223372036854775807EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<long long, (long long)-9223372036854775808, (long long)9223372036854775807>::integer_traits_base(boost::detail::integer_traits_base<long long, (long long)-9223372036854775808, (long long)9223372036854775807>  [...]
+    <Argument name="_ctor_arg" type="_16477" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12120" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9102" access="public" mangled="_ZN5boost6detail19integer_traits_baseIxLxn9223372036854775808ELx9223372036854775807EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<long long, (long long)-9223372036854775808, (long long)9223372036854775807>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12121" type="_3426c" size="32" align="32"/>
+  <Variable id="_12122" name="is_integral" type="_3949c" init="true" context="_9105" access="public" mangled="_ZN5boost6detail19integer_traits_baseImLm0ELm4294967295EE11is_integralE" demangled="boost::detail::integer_traits_base<unsigned long, 0l, 4294967295l>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12123" name="const_min" type="_643c" init="0" context="_9105" access="public" mangled="_ZN5boost6detail19integer_traits_baseImLm0ELm4294967295EE9const_minE" demangled="boost::detail::integer_traits_base<unsigned long, 0l, 4294967295l>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12124" name="const_max" type="_643c" init="0x0ffffffff" context="_9105" access="public" mangled="_ZN5boost6detail19integer_traits_baseImLm0ELm4294967295EE9const_maxE" demangled="boost::detail::integer_traits_base<unsigned long, 0l, 4294967295l>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12125" name="integer_traits_base" artificial="1" throw="" context="_9105" access="public" mangled="_ZN5boost6detail19integer_traits_baseImLm0ELm4294967295EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned long, 0l, 4294967295l>::integer_traits_base(boost::detail::integer_traits_base<unsigned long, 0l, 4294967295l> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16480" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12126" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9105" access="public" mangled="_ZN5boost6detail19integer_traits_baseImLm0ELm4294967295EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned long, 0l, 4294967295l>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12127" type="_3427c" size="32" align="32"/>
+  <Variable id="_12128" name="is_integral" type="_3949c" init="true" context="_9108" access="public" mangled="_ZN5boost6detail19integer_traits_baseIlLln2147483648ELl2147483647EE11is_integralE" demangled="boost::detail::integer_traits_base<long, -2147483648l, 2147483647l>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12129" name="const_min" type="_1553c" init="-2147483648" context="_9108" access="public" mangled="_ZN5boost6detail19integer_traits_baseIlLln2147483648ELl2147483647EE9const_minE" demangled="boost::detail::integer_traits_base<long, -2147483648l, 2147483647l>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12130" name="const_max" type="_1553c" init="2147483647" context="_9108" access="public" mangled="_ZN5boost6detail19integer_traits_baseIlLln2147483648ELl2147483647EE9const_maxE" demangled="boost::detail::integer_traits_base<long, -2147483648l, 2147483647l>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12131" name="integer_traits_base" artificial="1" throw="" context="_9108" access="public" mangled="_ZN5boost6detail19integer_traits_baseIlLln2147483648ELl2147483647EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<long, -2147483648l, 2147483647l>::integer_traits_base(boost::detail::integer_traits_base<long, -2147483648l, 2147483647l> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16483" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12132" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9108" access="public" mangled="_ZN5boost6detail19integer_traits_baseIlLln2147483648ELl2147483647EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<long, -2147483648l, 2147483647l>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12133" type="_3428c" size="32" align="32"/>
+  <Variable id="_12134" name="is_integral" type="_3949c" init="true" context="_9111" access="public" mangled="_ZN5boost6detail19integer_traits_baseIjLj0ELj4294967295EE11is_integralE" demangled="boost::detail::integer_traits_base<unsigned, 0, 4294967295>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12135" name="const_min" type="_837c" init="0" context="_9111" access="public" mangled="_ZN5boost6detail19integer_traits_baseIjLj0ELj4294967295EE9const_minE" demangled="boost::detail::integer_traits_base<unsigned, 0, 4294967295>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12136" name="const_max" type="_837c" init="0x0ffffffff" context="_9111" access="public" mangled="_ZN5boost6detail19integer_traits_baseIjLj0ELj4294967295EE9const_maxE" demangled="boost::detail::integer_traits_base<unsigned, 0, 4294967295>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12137" name="integer_traits_base" artificial="1" throw="" context="_9111" access="public" mangled="_ZN5boost6detail19integer_traits_baseIjLj0ELj4294967295EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned, 0, 4294967295>::integer_traits_base(boost::detail::integer_traits_base<unsigned, 0, 4294967295> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16486" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12138" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9111" access="public" mangled="_ZN5boost6detail19integer_traits_baseIjLj0ELj4294967295EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned, 0, 4294967295>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12139" type="_3429c" size="32" align="32"/>
+  <Variable id="_12140" name="is_integral" type="_3949c" init="true" context="_9114" access="public" mangled="_ZN5boost6detail19integer_traits_baseItLt0ELt65535EE11is_integralE" demangled="boost::detail::integer_traits_base<unsigned short, 0, 65535>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12141" name="const_min" type="_1199c" init="0" context="_9114" access="public" mangled="_ZN5boost6detail19integer_traits_baseItLt0ELt65535EE9const_minE" demangled="boost::detail::integer_traits_base<unsigned short, 0, 65535>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12142" name="const_max" type="_1199c" init="65535" context="_9114" access="public" mangled="_ZN5boost6detail19integer_traits_baseItLt0ELt65535EE9const_maxE" demangled="boost::detail::integer_traits_base<unsigned short, 0, 65535>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12143" name="integer_traits_base" artificial="1" throw="" context="_9114" access="public" mangled="_ZN5boost6detail19integer_traits_baseItLt0ELt65535EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned short, 0, 65535>::integer_traits_base(boost::detail::integer_traits_base<unsigned short, 0, 65535> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16488" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12144" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9114" access="public" mangled="_ZN5boost6detail19integer_traits_baseItLt0ELt65535EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned short, 0, 65535>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12145" type="_3430c" size="32" align="32"/>
+  <Variable id="_12146" name="is_integral" type="_3949c" init="true" context="_9117" access="public" mangled="_ZN5boost6detail19integer_traits_baseIsLsn32768ELs32767EE11is_integralE" demangled="boost::detail::integer_traits_base<short, -32768, 32767>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12147" name="const_min" type="_1202c" init="-32768" context="_9117" access="public" mangled="_ZN5boost6detail19integer_traits_baseIsLsn32768ELs32767EE9const_minE" demangled="boost::detail::integer_traits_base<short, -32768, 32767>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12148" name="const_max" type="_1202c" init="32767" context="_9117" access="public" mangled="_ZN5boost6detail19integer_traits_baseIsLsn32768ELs32767EE9const_maxE" demangled="boost::detail::integer_traits_base<short, -32768, 32767>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12149" name="integer_traits_base" artificial="1" throw="" context="_9117" access="public" mangled="_ZN5boost6detail19integer_traits_baseIsLsn32768ELs32767EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<short, -32768, 32767>::integer_traits_base(boost::detail::integer_traits_base<short, -32768, 32767> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16491" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12150" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9117" access="public" mangled="_ZN5boost6detail19integer_traits_baseIsLsn32768ELs32767EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<short, -32768, 32767>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12151" type="_3431c" size="32" align="32"/>
+  <Variable id="_12152" name="is_integral" type="_3949c" init="true" context="_9120" access="public" mangled="_ZN5boost6detail19integer_traits_baseIwLwn2147483648ELw2147483647EE11is_integralE" demangled="boost::detail::integer_traits_base<wchar_t, -2147483648, 2147483647>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12153" name="const_min" type="_2786c" init="-2147483648" context="_9120" access="public" mangled="_ZN5boost6detail19integer_traits_baseIwLwn2147483648ELw2147483647EE9const_minE" demangled="boost::detail::integer_traits_base<wchar_t, -2147483648, 2147483647>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12154" name="const_max" type="_2786c" init="2147483647" context="_9120" access="public" mangled="_ZN5boost6detail19integer_traits_baseIwLwn2147483648ELw2147483647EE9const_maxE" demangled="boost::detail::integer_traits_base<wchar_t, -2147483648, 2147483647>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12155" name="integer_traits_base" artificial="1" throw="" context="_9120" access="public" mangled="_ZN5boost6detail19integer_traits_baseIwLwn2147483648ELw2147483647EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<wchar_t, -2147483648, 2147483647>::integer_traits_base(boost::detail::integer_traits_base<wchar_t, -2147483648, 2147483647> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16493" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12156" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9120" access="public" mangled="_ZN5boost6detail19integer_traits_baseIwLwn2147483648ELw2147483647EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<wchar_t, -2147483648, 2147483647>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12157" type="_3432c" size="32" align="32"/>
+  <Variable id="_12158" name="is_integral" type="_3949c" init="true" context="_9123" access="public" mangled="_ZN5boost6detail19integer_traits_baseIhLh0ELh255EE11is_integralE" demangled="boost::detail::integer_traits_base<unsigned char, 0, 255>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12159" name="const_min" type="_1296c" init="0" context="_9123" access="public" mangled="_ZN5boost6detail19integer_traits_baseIhLh0ELh255EE9const_minE" demangled="boost::detail::integer_traits_base<unsigned char, 0, 255>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12160" name="const_max" type="_1296c" init="255" context="_9123" access="public" mangled="_ZN5boost6detail19integer_traits_baseIhLh0ELh255EE9const_maxE" demangled="boost::detail::integer_traits_base<unsigned char, 0, 255>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12161" name="integer_traits_base" artificial="1" throw="" context="_9123" access="public" mangled="_ZN5boost6detail19integer_traits_baseIhLh0ELh255EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned char, 0, 255>::integer_traits_base(boost::detail::integer_traits_base<unsigned char, 0, 255> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16495" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12162" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9123" access="public" mangled="_ZN5boost6detail19integer_traits_baseIhLh0ELh255EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<unsigned char, 0, 255>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12163" type="_3433c" size="32" align="32"/>
+  <Variable id="_12164" name="is_integral" type="_3949c" init="true" context="_9126" access="public" mangled="_ZN5boost6detail19integer_traits_baseIaLan128ELa127EE11is_integralE" demangled="boost::detail::integer_traits_base<signed char, -128, 127>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12165" name="const_min" type="_1301c" init="-128" context="_9126" access="public" mangled="_ZN5boost6detail19integer_traits_baseIaLan128ELa127EE9const_minE" demangled="boost::detail::integer_traits_base<signed char, -128, 127>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12166" name="const_max" type="_1301c" init="127" context="_9126" access="public" mangled="_ZN5boost6detail19integer_traits_baseIaLan128ELa127EE9const_maxE" demangled="boost::detail::integer_traits_base<signed char, -128, 127>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12167" name="integer_traits_base" artificial="1" throw="" context="_9126" access="public" mangled="_ZN5boost6detail19integer_traits_baseIaLan128ELa127EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<signed char, -128, 127>::integer_traits_base(boost::detail::integer_traits_base<signed char, -128, 127> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16497" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12168" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9126" access="public" mangled="_ZN5boost6detail19integer_traits_baseIaLan128ELa127EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<signed char, -128, 127>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12169" type="_3434c" size="32" align="32"/>
+  <Variable id="_12170" name="is_integral" type="_3949c" init="true" context="_9129" access="public" mangled="_ZN5boost6detail19integer_traits_baseIcLcn128ELc127EE11is_integralE" demangled="boost::detail::integer_traits_base<char, -128, 127>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12171" name="const_min" type="_2961c" init="'\37777777600'" context="_9129" access="public" mangled="_ZN5boost6detail19integer_traits_baseIcLcn128ELc127EE9const_minE" demangled="boost::detail::integer_traits_base<char, -128, 127>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12172" name="const_max" type="_2961c" init="'\177'" context="_9129" access="public" mangled="_ZN5boost6detail19integer_traits_baseIcLcn128ELc127EE9const_maxE" demangled="boost::detail::integer_traits_base<char, -128, 127>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12173" name="integer_traits_base" artificial="1" throw="" context="_9129" access="public" mangled="_ZN5boost6detail19integer_traits_baseIcLcn128ELc127EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<char, -128, 127>::integer_traits_base(boost::detail::integer_traits_base<char, -128, 127> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16499" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12174" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9129" access="public" mangled="_ZN5boost6detail19integer_traits_baseIcLcn128ELc127EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<char, -128, 127>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12175" type="_3435c" size="32" align="32"/>
+  <Variable id="_12176" name="is_integral" type="_3949c" init="true" context="_9132" access="public" mangled="_ZN5boost6detail19integer_traits_baseIbLb0ELb1EE11is_integralE" demangled="boost::detail::integer_traits_base<bool, false, true>::is_integral" location="f134:44" file="f134" line="44" extern="1"/>
+  <Variable id="_12177" name="const_min" type="_3949c" init="false" context="_9132" access="public" mangled="_ZN5boost6detail19integer_traits_baseIbLb0ELb1EE9const_minE" demangled="boost::detail::integer_traits_base<bool, false, true>::const_min" location="f134:45" file="f134" line="45" extern="1"/>
+  <Variable id="_12178" name="const_max" type="_3949c" init="true" context="_9132" access="public" mangled="_ZN5boost6detail19integer_traits_baseIbLb0ELb1EE9const_maxE" demangled="boost::detail::integer_traits_base<bool, false, true>::const_max" location="f134:46" file="f134" line="46" extern="1"/>
+  <Constructor id="_12179" name="integer_traits_base" artificial="1" throw="" context="_9132" access="public" mangled="_ZN5boost6detail19integer_traits_baseIbLb0ELb1EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::integer_traits_base<bool, false, true>::integer_traits_base(boost::detail::integer_traits_base<bool, false, true> const&)" location="f134:42" file="f134" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16501" location="f134:42" file="f134" line="42"/>
+  </Constructor>
+  <Constructor id="_12180" name="integer_traits_base" explicit="1" artificial="1" throw="" context="_9132" access="public" mangled="_ZN5boost6detail19integer_traits_baseIbLb0ELb1EEC1Ev *INTERNAL* " demangled="boost::detail::integer_traits_base<bool, false, true>::integer_traits_base()" location="f134:42" file="f134" line="42" inline="1"/>
+  <ReferenceType id="_12181" type="_3436c" size="32" align="32"/>
+  <ReferenceType id="_12182" type="_3437c" size="32" align="32"/>
+  <ReferenceType id="_12183" type="_3438c" size="32" align="32"/>
+  <ReferenceType id="_12184" type="_3439c" size="32" align="32"/>
+  <ReferenceType id="_12185" type="_3440c" size="32" align="32"/>
+  <ReferenceType id="_12186" type="_3441c" size="32" align="32"/>
+  <ReferenceType id="_12187" type="_3442c" size="32" align="32"/>
+  <ReferenceType id="_12188" type="_3443c" size="32" align="32"/>
+  <ReferenceType id="_12189" type="_3444c" size="32" align="32"/>
+  <ReferenceType id="_12190" type="_3445c" size="32" align="32"/>
+  <ReferenceType id="_12191" type="_3446c" size="32" align="32"/>
+  <ReferenceType id="_12192" type="_3447c" size="32" align="32"/>
+  <ReferenceType id="_12193" type="_3448c" size="32" align="32"/>
+  <ReferenceType id="_12194" type="_3449c" size="32" align="32"/>
+  <ReferenceType id="_12195" type="_3450c" size="32" align="32"/>
+  <ReferenceType id="_12196" type="_3451c" size="32" align="32"/>
+  <ReferenceType id="_12197" type="_3452c" size="32" align="32"/>
+  <ReferenceType id="_12198" type="_3453c" size="32" align="32"/>
+  <ReferenceType id="_12199" type="_3454c" size="32" align="32"/>
+  <ReferenceType id="_12200" type="_3455c" size="32" align="32"/>
+  <ReferenceType id="_12202" type="_3458" size="32" align="32"/>
+  <Constructor id="_12203" name="iterator_range_impl" artificial="1" throw="" context="_9210" access="public" mangled="_ZN5boost21iterator_range_detail19iterator_range_implIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::iterator_range_detail::iterator_range_impl<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_range_impl(boost::iterator_range_detail::iterator_range_impl<__gnu_cxx::__normal_iterator<char*, std::string> > c [...]
+    <Argument name="_ctor_arg" type="_16522" location="f138:56" file="f138" line="56"/>
+  </Constructor>
+  <Constructor id="_12204" name="iterator_range_impl" explicit="1" artificial="1" throw="" context="_9210" access="public" mangled="_ZN5boost21iterator_range_detail19iterator_range_implIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1Ev *INTERNAL* " demangled="boost::iterator_range_detail::iterator_range_impl<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_range_impl()" location="f138:56" file="f138" line="56" inline="1"/>
+  <ReferenceType id="_12207" type="_3460" size="32" align="32"/>
+  <ReferenceType id="_12208" type="_3461c" size="32" align="32"/>
+  <Constructor id="_12209" name="enable_if" artificial="1" throw="" context="_9265" access="public" mangled="_ZN5boost9iterators9enable_ifINS_14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKcSsEES7_EENS_6detail11enable_typeEEC1ERKSB_ *INTERNAL* " demangled="boost::iterators::enable_if<boost::is_convertible<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >, boost::detail::enable_type>::enable_if(boost [...]
+    <Argument name="_ctor_arg" type="_16524" location="f199:74" file="f199" line="74"/>
+  </Constructor>
+  <Constructor id="_12210" name="enable_if" explicit="1" artificial="1" throw="" context="_9265" access="public" mangled="_ZN5boost9iterators9enable_ifINS_14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKcSsEES7_EENS_6detail11enable_typeEEC1Ev *INTERNAL* " demangled="boost::iterators::enable_if<boost::is_convertible<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >, boost::detail::enable_type>::enable [...]
+  <ReferenceType id="_12211" type="_3462c" size="32" align="32"/>
+  <Constructor id="_12212" name="enable_if" artificial="1" throw="" context="_9268" access="public" mangled="_ZN5boost9iterators9enable_ifINS_14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESB_EENS_6detail11enable_typeEEC1ERKSF_ *INTERNAL* " demangled="boost::iterators::enable_if<boost::is_convertible<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > [...]
+    <Argument name="_ctor_arg" type="_16526" location="f199:74" file="f199" line="74"/>
+  </Constructor>
+  <Constructor id="_12213" name="enable_if" explicit="1" artificial="1" throw="" context="_9268" access="public" mangled="_ZN5boost9iterators9enable_ifINS_14is_convertibleIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESB_EENS_6detail11enable_typeEEC1Ev *INTERNAL* " demangled="boost::iterators::enable_if<boost::is_convertible<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t>  [...]
+  <ReferenceType id="_12216" type="_3465c" size="32" align="32"/>
+  <ReferenceType id="_12217" type="_3361" size="32" align="32"/>
+  <Typedef id="_12218" name="iterator_category" type="_2702" context="_9283" access="public" location="f140:104" file="f140" line="104"/>
+  <Typedef id="_12219" name="value_type" type="_2508" context="_9283" access="public" location="f140:106" file="f140" line="106"/>
+  <Typedef id="_12220" name="pointer" type="_9288" context="_9283" access="public" location="f140:112" file="f140" line="112"/>
+  <Constructor id="_12221" name="iterator_facade_types" artificial="1" throw="" context="_9283" access="public" mangled="_ZN5boost6detail21iterator_facade_typesISsNS_21forward_traversal_tagERKSsiEC1ERKS5_ *INTERNAL* " demangled="boost::detail::iterator_facade_types<std::string, boost::forward_traversal_tag, std::string const&, int>::iterator_facade_types(boost::detail::iterator_facade_types<std::string, boost::forward_traversal_tag, std::string const&, int> const& [...]
+    <Argument name="_ctor_arg" type="_16528" location="f140:101" file="f140" line="101"/>
+  </Constructor>
+  <Constructor id="_12222" name="iterator_facade_types" explicit="1" artificial="1" throw="" context="_9283" access="public" mangled="_ZN5boost6detail21iterator_facade_typesISsNS_21forward_traversal_tagERKSsiEC1Ev *INTERNAL* " demangled="boost::detail::iterator_facade_types<std::string, boost::forward_traversal_tag, std::string const&, int>::iterator_facade_types()" location="f140:101" file="f140" line="101" inline="1"/>
+  <Typedef id="_12223" name="iterator_category" type="_2702" context="_9323" access="public" location="f140:104" file="f140" line="104"/>
+  <Typedef id="_12224" name="value_type" type="_2506" context="_9323" access="public" location="f140:106" file="f140" line="106"/>
+  <Typedef id="_12225" name="pointer" type="_9328" context="_9323" access="public" location="f140:112" file="f140" line="112"/>
+  <Constructor id="_12226" name="iterator_facade_types" artificial="1" throw="" context="_9323" access="public" mangled="_ZN5boost6detail21iterator_facade_typesISbIwSt11char_traitsIwESaIwEENS_21forward_traversal_tagERKS5_iEC1ERKS9_ *INTERNAL* " demangled="boost::detail::iterator_facade_types<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std: [...]
+    <Argument name="_ctor_arg" type="_16529" location="f140:101" file="f140" line="101"/>
+  </Constructor>
+  <Constructor id="_12227" name="iterator_facade_types" explicit="1" artificial="1" throw="" context="_9323" access="public" mangled="_ZN5boost6detail21iterator_facade_typesISbIwSt11char_traitsIwESaIwEENS_21forward_traversal_tagERKS5_iEC1Ev *INTERNAL* " demangled="boost::detail::iterator_facade_types<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t& [...]
+  <ReferenceType id="_12228" type="_3468c" size="32" align="32"/>
+  <ReferenceType id="_12229" type="_3469c" size="32" align="32"/>
+  <ReferenceType id="_12230" type="_3470c" size="32" align="32"/>
+  <ReferenceType id="_12231" type="_3471c" size="32" align="32"/>
+  <ReferenceType id="_12232" type="_3472c" size="32" align="32"/>
+  <ReferenceType id="_12233" type="_3473c" size="32" align="32"/>
+  <ReferenceType id="_12234" type="_3474c" size="32" align="32"/>
+  <ReferenceType id="_12235" type="_3475c" size="32" align="32"/>
+  <ReferenceType id="_12236" type="_3477c" size="32" align="32"/>
+  <CvQualifiedType id="_2506c" type="_2506" const="1"/>
+  <ReferenceType id="_12237" type="_3481c" size="32" align="32"/>
+  <CvQualifiedType id="_2508c" type="_2508" const="1"/>
+  <ReferenceType id="_12238" type="_3482c" size="32" align="32"/>
+  <ReferenceType id="_12239" type="_3483c" size="32" align="32"/>
+  <ReferenceType id="_12240" type="_3484c" size="32" align="32"/>
+  <ReferenceType id="_12241" type="_3485c" size="32" align="32"/>
+  <ReferenceType id="_12242" type="_3486c" size="32" align="32"/>
+  <ReferenceType id="_12243" type="_3487c" size="32" align="32"/>
+  <ReferenceType id="_12244" type="_3488c" size="32" align="32"/>
+  <ReferenceType id="_12245" type="_3489c" size="32" align="32"/>
+  <ReferenceType id="_12246" type="_3490c" size="32" align="32"/>
+  <ReferenceType id="_12247" type="_3491c" size="32" align="32"/>
+  <ReferenceType id="_12248" type="_3492c" size="32" align="32"/>
+  <ReferenceType id="_12249" type="_3493c" size="32" align="32"/>
+  <ReferenceType id="_12250" type="_3494c" size="32" align="32"/>
+  <ReferenceType id="_12251" type="_3495c" size="32" align="32"/>
+  <ReferenceType id="_12252" type="_3496c" size="32" align="32"/>
+  <ReferenceType id="_12253" type="_3497c" size="32" align="32"/>
+  <ReferenceType id="_12254" type="_3498c" size="32" align="32"/>
+  <ReferenceType id="_12255" type="_3499c" size="32" align="32"/>
+  <ReferenceType id="_12256" type="_3500c" size="32" align="32"/>
+  <ReferenceType id="_12257" type="_3501c" size="32" align="32"/>
+  <ReferenceType id="_12258" type="_3502c" size="32" align="32"/>
+  <ReferenceType id="_12259" type="_3503c" size="32" align="32"/>
+  <ReferenceType id="_12260" type="_3504c" size="32" align="32"/>
+  <ReferenceType id="_12261" type="_3505c" size="32" align="32"/>
+  <ReferenceType id="_12262" type="_3506c" size="32" align="32"/>
+  <ReferenceType id="_12263" type="_3507c" size="32" align="32"/>
+  <ReferenceType id="_12264" type="_3508c" size="32" align="32"/>
+  <ReferenceType id="_12265" type="_3509c" size="32" align="32"/>
+  <ReferenceType id="_12266" type="_3510c" size="32" align="32"/>
+  <ReferenceType id="_12267" type="_3511c" size="32" align="32"/>
+  <ReferenceType id="_12268" type="_3512c" size="32" align="32"/>
+  <ReferenceType id="_12269" type="_3513c" size="32" align="32"/>
+  <ReferenceType id="_12270" type="_3514c" size="32" align="32"/>
+  <ReferenceType id="_12271" type="_3515c" size="32" align="32"/>
+  <ReferenceType id="_12272" type="_3516c" size="32" align="32"/>
+  <ReferenceType id="_12273" type="_3517c" size="32" align="32"/>
+  <ReferenceType id="_12274" type="_3518c" size="32" align="32"/>
+  <ReferenceType id="_12275" type="_3519c" size="32" align="32"/>
+  <ReferenceType id="_12276" type="_3520c" size="32" align="32"/>
+  <ReferenceType id="_12277" type="_3521c" size="32" align="32"/>
+  <Constructor id="_12278" name="or_" artificial="1" throw="" context="_9454" access="public" mangled="_ZN5boost3mpl3or_INS_14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESA_EESB_N4mpl_5bool_ILb0EEESE_SE_EC1ERKSF_ *INTERNAL* " demangled="boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<bo [...]
+    <Argument name="_ctor_arg" type="_16580" location="f200:55" file="f200" line="55"/>
+  </Constructor>
+  <Constructor id="_12279" name="or_" explicit="1" artificial="1" throw="" context="_9454" access="public" mangled="_ZN5boost3mpl3or_INS_14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESA_EESB_N4mpl_5bool_ILb0EEESE_SE_EC1Ev *INTERNAL* " demangled="boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_itera [...]
+  <Struct id="_12280" name="or_impl<true,boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits [...]
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <ReferenceType id="_12281" type="_3522c" size="32" align="32"/>
+  <Constructor id="_12282" name="or_" artificial="1" throw="" context="_9457" access="public" mangled="_ZN5boost3mpl3or_INS_14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESD_EESE_N4mpl_5bool_ILb0EEESH_SH_EC1ERKSI_ *INTERNAL* " demangled="boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, s [...]
+    <Argument name="_ctor_arg" type="_16584" location="f200:55" file="f200" line="55"/>
+  </Constructor>
+  <Constructor id="_12283" name="or_" explicit="1" artificial="1" throw="" context="_9457" access="public" mangled="_ZN5boost3mpl3or_INS_14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESD_EESE_N4mpl_5bool_ILb0EEESH_SH_EC1Ev *INTERNAL* " demangled="boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char  [...]
+  <Struct id="_12284" name="or_impl<true,boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_ [...]
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <ReferenceType id="_12285" type="_3523c" size="32" align="32"/>
+  <ReferenceType id="_12286" type="_3524c" size="32" align="32"/>
+  <ReferenceType id="_12287" type="_3525c" size="32" align="32"/>
+  <Typedef id="_12288" name="f_" type="_10981" context="_9464" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_12289" name="type" type="_3529" context="_9464" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_12290" name="eval_if" artificial="1" throw="" context="_9464" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEC1ERKSB_ *INTERNAL* " demangled="boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag>, boost::mpl::identity<std::forward_iterator_tag>, boost::detail::old [...]
+    <Argument name="_ctor_arg" type="_16590" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_12291" name="eval_if" explicit="1" artificial="1" throw="" context="_9464" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag>, boost::mpl::identity<std::forward_iterator_tag>, boost::de [...]
+  <ReferenceType id="_12292" type="_3526c" size="32" align="32"/>
+  <Typedef id="_12293" name="f_" type="_10982" context="_9467" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_12294" name="type" type="_3527" context="_9467" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_12295" name="eval_if" artificial="1" throw="" context="_9467" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEC1ERKSB_ *INTERNAL* " demangled="boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag>, boost::mpl::identity<std::random_access_iterator_tag>,  [...]
+    <Argument name="_ctor_arg" type="_16592" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_12296" name="eval_if" explicit="1" artificial="1" throw="" context="_9467" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if<boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag>, boost::mpl::identity<std::random_access_iterator_ [...]
+  <ReferenceType id="_12297" type="_3527c" size="32" align="32"/>
+  <ReferenceType id="_12298" type="_3528c" size="32" align="32"/>
+  <ReferenceType id="_12299" type="_3529c" size="32" align="32"/>
+  <ReferenceType id="_12300" type="_3530c" size="32" align="32"/>
+  <ReferenceType id="_12301" type="_3531c" size="32" align="32"/>
+  <ReferenceType id="_12302" type="_3532c" size="32" align="32"/>
+  <ReferenceType id="_12303" type="_3533c" size="32" align="32"/>
+  <ReferenceType id="_12304" type="_3534c" size="32" align="32"/>
+  <ReferenceType id="_12305" type="_3535c" size="32" align="32"/>
+  <ReferenceType id="_12306" type="_3538c" size="32" align="32"/>
+  <ReferenceType id="_12307" type="_3539c" size="32" align="32"/>
+  <ReferenceType id="_12308" type="_3540c" size="32" align="32"/>
+  <ReferenceType id="_12309" type="_3541c" size="32" align="32"/>
+  <ReferenceType id="_12310" type="_3542c" size="32" align="32"/>
+  <ReferenceType id="_12311" type="_3543c" size="32" align="32"/>
+  <ReferenceType id="_12312" type="_3544c" size="32" align="32"/>
+  <ReferenceType id="_12313" type="_3547c" size="32" align="32"/>
+  <ReferenceType id="_12314" type="_3549c" size="32" align="32"/>
+  <ReferenceType id="_12315" type="_3550c" size="32" align="32"/>
+  <ReferenceType id="_12316" type="_3551c" size="32" align="32"/>
+  <ReferenceType id="_12317" type="_3552c" size="32" align="32"/>
+  <ReferenceType id="_12318" type="_3557c" size="32" align="32"/>
+  <ReferenceType id="_12319" type="_3558c" size="32" align="32"/>
+  <ReferenceType id="_12320" type="_3559c" size="32" align="32"/>
+  <ReferenceType id="_12321" type="_3560c" size="32" align="32"/>
+  <ReferenceType id="_12322" type="_3561c" size="32" align="32"/>
+  <ReferenceType id="_12323" type="_3562c" size="32" align="32"/>
+  <ReferenceType id="_12324" type="_3563c" size="32" align="32"/>
+  <ReferenceType id="_12325" type="_3564c" size="32" align="32"/>
+  <ReferenceType id="_12326" type="_3565c" size="32" align="32"/>
+  <ReferenceType id="_12327" type="_3566c" size="32" align="32"/>
+  <ReferenceType id="_12328" type="_3567c" size="32" align="32"/>
+  <ReferenceType id="_12329" type="_3568c" size="32" align="32"/>
+  <ReferenceType id="_12330" type="_3569c" size="32" align="32"/>
+  <ReferenceType id="_12331" type="_3570c" size="32" align="32"/>
+  <ReferenceType id="_12332" type="_3571c" size="32" align="32"/>
+  <ReferenceType id="_12333" type="_3572c" size="32" align="32"/>
+  <ReferenceType id="_12334" type="_3573c" size="32" align="32"/>
+  <ReferenceType id="_12335" type="_3574c" size="32" align="32"/>
+  <ReferenceType id="_12336" type="_3575c" size="32" align="32"/>
+  <ReferenceType id="_12337" type="_3576c" size="32" align="32"/>
+  <ReferenceType id="_12338" type="_3577c" size="32" align="32"/>
+  <ReferenceType id="_12339" type="_3578c" size="32" align="32"/>
+  <ReferenceType id="_12340" type="_3579c" size="32" align="32"/>
+  <ReferenceType id="_12341" type="_3580c" size="32" align="32"/>
+  <ReferenceType id="_12342" type="_3581c" size="32" align="32"/>
+  <ReferenceType id="_12343" type="_3582c" size="32" align="32"/>
+  <ReferenceType id="_12344" type="_3583c" size="32" align="32"/>
+  <ReferenceType id="_12345" type="_3584c" size="32" align="32"/>
+  <ReferenceType id="_12346" type="_3585c" size="32" align="32"/>
+  <ReferenceType id="_12347" type="_3586c" size="32" align="32"/>
+  <ReferenceType id="_12348" type="_3587c" size="32" align="32"/>
+  <ReferenceType id="_12349" type="_3588c" size="32" align="32"/>
+  <ReferenceType id="_12350" type="_3589c" size="32" align="32"/>
+  <ReferenceType id="_12351" type="_3590c" size="32" align="32"/>
+  <ReferenceType id="_12352" type="_3591c" size="32" align="32"/>
+  <ReferenceType id="_12353" type="_3592c" size="32" align="32"/>
+  <ReferenceType id="_12354" type="_3593c" size="32" align="32"/>
+  <ReferenceType id="_12355" type="_3594c" size="32" align="32"/>
+  <ReferenceType id="_12356" type="_3595c" size="32" align="32"/>
+  <ReferenceType id="_12357" type="_3596c" size="32" align="32"/>
+  <ReferenceType id="_12358" type="_3597c" size="32" align="32"/>
+  <ReferenceType id="_12359" type="_3598c" size="32" align="32"/>
+  <ReferenceType id="_12360" type="_3599c" size="32" align="32"/>
+  <ReferenceType id="_12361" type="_3600c" size="32" align="32"/>
+  <ReferenceType id="_12362" type="_3601c" size="32" align="32"/>
+  <ReferenceType id="_12363" type="_3602c" size="32" align="32"/>
+  <ReferenceType id="_12364" type="_3603c" size="32" align="32"/>
+  <ReferenceType id="_12365" type="_3604c" size="32" align="32"/>
+  <ReferenceType id="_12366" type="_3605c" size="32" align="32"/>
+  <ReferenceType id="_12367" type="_3606c" size="32" align="32"/>
+  <ReferenceType id="_12368" type="_3607c" size="32" align="32"/>
+  <ReferenceType id="_12369" type="_3608c" size="32" align="32"/>
+  <ReferenceType id="_12370" type="_3609c" size="32" align="32"/>
+  <ReferenceType id="_12371" type="_3610c" size="32" align="32"/>
+  <ReferenceType id="_12372" type="_3611c" size="32" align="32"/>
+  <ReferenceType id="_12373" type="_3612c" size="32" align="32"/>
+  <ReferenceType id="_12374" type="_3613c" size="32" align="32"/>
+  <ReferenceType id="_12375" type="_3614c" size="32" align="32"/>
+  <ReferenceType id="_12376" type="_3615c" size="32" align="32"/>
+  <ReferenceType id="_12377" type="_3616c" size="32" align="32"/>
+  <ReferenceType id="_12378" type="_3617c" size="32" align="32"/>
+  <ReferenceType id="_12379" type="_3618c" size="32" align="32"/>
+  <ReferenceType id="_12380" type="_3619c" size="32" align="32"/>
+  <ReferenceType id="_12381" type="_3620c" size="32" align="32"/>
+  <ReferenceType id="_12382" type="_3621c" size="32" align="32"/>
+  <ReferenceType id="_12383" type="_3622c" size="32" align="32"/>
+  <ReferenceType id="_12384" type="_3623c" size="32" align="32"/>
+  <ReferenceType id="_12385" type="_3624c" size="32" align="32"/>
+  <ReferenceType id="_12386" type="_3625c" size="32" align="32"/>
+  <ReferenceType id="_12387" type="_3626c" size="32" align="32"/>
+  <ReferenceType id="_12388" type="_3627c" size="32" align="32"/>
+  <ReferenceType id="_12389" type="_3628c" size="32" align="32"/>
+  <ReferenceType id="_12390" type="_3629c" size="32" align="32"/>
+  <ReferenceType id="_12391" type="_3630c" size="32" align="32"/>
+  <ReferenceType id="_12392" type="_3631c" size="32" align="32"/>
+  <ReferenceType id="_12393" type="_3632c" size="32" align="32"/>
+  <ReferenceType id="_12394" type="_3633c" size="32" align="32"/>
+  <ReferenceType id="_12395" type="_3634c" size="32" align="32"/>
+  <ReferenceType id="_12396" type="_3635c" size="32" align="32"/>
+  <ReferenceType id="_12397" type="_3636c" size="32" align="32"/>
+  <ReferenceType id="_12398" type="_3637c" size="32" align="32"/>
+  <ReferenceType id="_12399" type="_3638c" size="32" align="32"/>
+  <ReferenceType id="_12400" type="_3639c" size="32" align="32"/>
+  <ReferenceType id="_12401" type="_3640c" size="32" align="32"/>
+  <ReferenceType id="_12402" type="_3641c" size="32" align="32"/>
+  <ReferenceType id="_12403" type="_3642c" size="32" align="32"/>
+  <ReferenceType id="_12404" type="_3643c" size="32" align="32"/>
+  <ReferenceType id="_12405" type="_3644c" size="32" align="32"/>
+  <ReferenceType id="_12406" type="_3645c" size="32" align="32"/>
+  <ReferenceType id="_12407" type="_3646c" size="32" align="32"/>
+  <ReferenceType id="_12408" type="_3647c" size="32" align="32"/>
+  <ReferenceType id="_12409" type="_3648c" size="32" align="32"/>
+  <ReferenceType id="_12410" type="_3649c" size="32" align="32"/>
+  <ReferenceType id="_12411" type="_3650c" size="32" align="32"/>
+  <ReferenceType id="_12412" type="_3651c" size="32" align="32"/>
+  <ReferenceType id="_12413" type="_3652c" size="32" align="32"/>
+  <ReferenceType id="_12414" type="_3653c" size="32" align="32"/>
+  <ReferenceType id="_12415" type="_3654c" size="32" align="32"/>
+  <ReferenceType id="_12416" type="_3655c" size="32" align="32"/>
+  <ReferenceType id="_12417" type="_3656c" size="32" align="32"/>
+  <ReferenceType id="_12418" type="_3657c" size="32" align="32"/>
+  <ReferenceType id="_12419" type="_3658c" size="32" align="32"/>
+  <ReferenceType id="_12420" type="_3659c" size="32" align="32"/>
+  <ReferenceType id="_12421" type="_3660c" size="32" align="32"/>
+  <ReferenceType id="_12422" type="_3661c" size="32" align="32"/>
+  <ReferenceType id="_12423" type="_3662c" size="32" align="32"/>
+  <ReferenceType id="_12424" type="_3663c" size="32" align="32"/>
+  <ReferenceType id="_12425" type="_3664c" size="32" align="32"/>
+  <ReferenceType id="_12426" type="_3665c" size="32" align="32"/>
+  <ReferenceType id="_12427" type="_3666c" size="32" align="32"/>
+  <ReferenceType id="_12428" type="_3667c" size="32" align="32"/>
+  <ReferenceType id="_12429" type="_3668c" size="32" align="32"/>
+  <ReferenceType id="_12430" type="_3669c" size="32" align="32"/>
+  <ReferenceType id="_12431" type="_3670c" size="32" align="32"/>
+  <ReferenceType id="_12432" type="_3671c" size="32" align="32"/>
+  <ReferenceType id="_12433" type="_3672c" size="32" align="32"/>
+  <ReferenceType id="_12434" type="_3673c" size="32" align="32"/>
+  <ReferenceType id="_12435" type="_3674c" size="32" align="32"/>
+  <ReferenceType id="_12436" type="_3675c" size="32" align="32"/>
+  <ReferenceType id="_12437" type="_3676c" size="32" align="32"/>
+  <ReferenceType id="_12438" type="_3677c" size="32" align="32"/>
+  <ReferenceType id="_12439" type="_3678c" size="32" align="32"/>
+  <ReferenceType id="_12440" type="_3679c" size="32" align="32"/>
+  <ReferenceType id="_12441" type="_3680c" size="32" align="32"/>
+  <ReferenceType id="_12442" type="_3681c" size="32" align="32"/>
+  <ReferenceType id="_12443" type="_3682c" size="32" align="32"/>
+  <ReferenceType id="_12444" type="_3683c" size="32" align="32"/>
+  <ReferenceType id="_12445" type="_3693c" size="32" align="32"/>
+  <ReferenceType id="_12446" type="_3694c" size="32" align="32"/>
+  <ReferenceType id="_12447" type="_3696c" size="32" align="32"/>
+  <ReferenceType id="_12448" type="_3697c" size="32" align="32"/>
+  <ReferenceType id="_12453" type="_3710c" size="32" align="32"/>
+  <ReferenceType id="_12454" type="_3711c" size="32" align="32"/>
+  <ReferenceType id="_12455" type="_3712c" size="32" align="32"/>
+  <ReferenceType id="_12456" type="_3713c" size="32" align="32"/>
+  <ReferenceType id="_12457" type="_3714c" size="32" align="32"/>
+  <ReferenceType id="_12458" type="_3715c" size="32" align="32"/>
+  <ReferenceType id="_12459" type="_3716c" size="32" align="32"/>
+  <ReferenceType id="_12460" type="_3717c" size="32" align="32"/>
+  <ReferenceType id="_12461" type="_3718c" size="32" align="32"/>
+  <ReferenceType id="_12462" type="_3719c" size="32" align="32"/>
+  <ReferenceType id="_12463" type="_3720c" size="32" align="32"/>
+  <ReferenceType id="_12464" type="_3721c" size="32" align="32"/>
+  <ReferenceType id="_12465" type="_3722c" size="32" align="32"/>
+  <ReferenceType id="_12466" type="_3723c" size="32" align="32"/>
+  <ReferenceType id="_12467" type="_3724c" size="32" align="32"/>
+  <ReferenceType id="_12468" type="_3725c" size="32" align="32"/>
+  <ReferenceType id="_12469" type="_3726c" size="32" align="32"/>
+  <ReferenceType id="_12470" type="_3727c" size="32" align="32"/>
+  <ReferenceType id="_12471" type="_3728c" size="32" align="32"/>
+  <ReferenceType id="_12472" type="_3729c" size="32" align="32"/>
+  <ReferenceType id="_12473" type="_3730c" size="32" align="32"/>
+  <ReferenceType id="_12474" type="_3731c" size="32" align="32"/>
+  <ReferenceType id="_12475" type="_3732c" size="32" align="32"/>
+  <ReferenceType id="_12476" type="_3733c" size="32" align="32"/>
+  <ReferenceType id="_12477" type="_3734c" size="32" align="32"/>
+  <ReferenceType id="_12478" type="_3735c" size="32" align="32"/>
+  <ReferenceType id="_12479" type="_3736c" size="32" align="32"/>
+  <ReferenceType id="_12480" type="_3737c" size="32" align="32"/>
+  <ReferenceType id="_12481" type="_3738c" size="32" align="32"/>
+  <ReferenceType id="_12482" type="_3739c" size="32" align="32"/>
+  <ReferenceType id="_12483" type="_3740c" size="32" align="32"/>
+  <ReferenceType id="_12484" type="_3741c" size="32" align="32"/>
+  <ReferenceType id="_12485" type="_3742c" size="32" align="32"/>
+  <ReferenceType id="_12486" type="_3743c" size="32" align="32"/>
+  <ReferenceType id="_12487" type="_3744c" size="32" align="32"/>
+  <ReferenceType id="_12488" type="_3756c" size="32" align="32"/>
+  <ReferenceType id="_12489" type="_3757c" size="32" align="32"/>
+  <ReferenceType id="_12490" type="_3758c" size="32" align="32"/>
+  <ReferenceType id="_12491" type="_3759c" size="32" align="32"/>
+  <ReferenceType id="_12492" type="_3760c" size="32" align="32"/>
+  <ReferenceType id="_12493" type="_3761c" size="32" align="32"/>
+  <ReferenceType id="_12494" type="_3762c" size="32" align="32"/>
+  <ReferenceType id="_12495" type="_3763c" size="32" align="32"/>
+  <ReferenceType id="_12496" type="_3764c" size="32" align="32"/>
+  <ReferenceType id="_12497" type="_3765c" size="32" align="32"/>
+  <ReferenceType id="_12498" type="_3766c" size="32" align="32"/>
+  <ReferenceType id="_12499" type="_3767c" size="32" align="32"/>
+  <ReferenceType id="_12500" type="_3768c" size="32" align="32"/>
+  <ReferenceType id="_12501" type="_3769c" size="32" align="32"/>
+  <ReferenceType id="_12502" type="_3770c" size="32" align="32"/>
+  <ReferenceType id="_12503" type="_3772c" size="32" align="32"/>
+  <ReferenceType id="_12504" type="_3773c" size="32" align="32"/>
+  <ReferenceType id="_12505" type="_3774c" size="32" align="32"/>
+  <ReferenceType id="_12506" type="_3775c" size="32" align="32"/>
+  <ReferenceType id="_12507" type="_3776c" size="32" align="32"/>
+  <ReferenceType id="_12508" type="_3777c" size="32" align="32"/>
+  <ReferenceType id="_12509" type="_3778c" size="32" align="32"/>
+  <ReferenceType id="_12510" type="_3779c" size="32" align="32"/>
+  <ReferenceType id="_12511" type="_3780c" size="32" align="32"/>
+  <ReferenceType id="_12512" type="_3781c" size="32" align="32"/>
+  <ReferenceType id="_12513" type="_3782c" size="32" align="32"/>
+  <ReferenceType id="_12514" type="_3783c" size="32" align="32"/>
+  <ReferenceType id="_12515" type="_3784c" size="32" align="32"/>
+  <ReferenceType id="_12516" type="_3785c" size="32" align="32"/>
+  <ReferenceType id="_12517" type="_3786c" size="32" align="32"/>
+  <ReferenceType id="_12518" type="_3787c" size="32" align="32"/>
+  <ReferenceType id="_12519" type="_3788c" size="32" align="32"/>
+  <ReferenceType id="_12520" type="_3789c" size="32" align="32"/>
+  <ReferenceType id="_12521" type="_3790c" size="32" align="32"/>
+  <ReferenceType id="_12522" type="_3791c" size="32" align="32"/>
+  <ReferenceType id="_12523" type="_3792c" size="32" align="32"/>
+  <ReferenceType id="_12524" type="_3793c" size="32" align="32"/>
+  <ReferenceType id="_12525" type="_3794c" size="32" align="32"/>
+  <ReferenceType id="_12526" type="_3795c" size="32" align="32"/>
+  <ReferenceType id="_12527" type="_3796c" size="32" align="32"/>
+  <ReferenceType id="_12528" type="_3797c" size="32" align="32"/>
+  <ReferenceType id="_12529" type="_3799c" size="32" align="32"/>
+  <ReferenceType id="_12530" type="_3801c" size="32" align="32"/>
+  <ReferenceType id="_12531" type="_3802c" size="32" align="32"/>
+  <ReferenceType id="_12532" type="_3803c" size="32" align="32"/>
+  <ReferenceType id="_12533" type="_3805c" size="32" align="32"/>
+  <ReferenceType id="_12534" type="_3810c" size="32" align="32"/>
+  <ReferenceType id="_12535" type="_3811c" size="32" align="32"/>
+  <ReferenceType id="_12536" type="_3812c" size="32" align="32"/>
+  <ReferenceType id="_12537" type="_3813c" size="32" align="32"/>
+  <ReferenceType id="_12538" type="_3814c" size="32" align="32"/>
+  <ReferenceType id="_12539" type="_3815c" size="32" align="32"/>
+  <ReferenceType id="_12540" type="_3816c" size="32" align="32"/>
+  <ReferenceType id="_12541" type="_3817c" size="32" align="32"/>
+  <ReferenceType id="_12542" type="_3818c" size="32" align="32"/>
+  <Field id="_12544" name="days_" type="_11270" offset="0" context="_10009" access="private" mangled="_ZN5boost9date_time13date_durationINS0_23duration_traits_adaptedEE5days_E" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::days_" location="f202:118" file="f202" line="118"/>
+  <Typedef id="_12545" name="duration_rep_type" type="_1553" context="_10009" access="public" location="f202:29" file="f202" line="29"/>
+  <Typedef id="_12546" name="duration_rep" type="_11270" context="_10009" access="public" location="f202:30" file="f202" line="30"/>
+  <Constructor id="_12547" name="date_duration" explicit="1" context="_10009" access="public" mangled="_ZN5boost9date_time13date_durationINS0_23duration_traits_adaptedEEC1ENS0_11int_adapterIlEE *INTERNAL* " demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::date_duration(boost::date_time::int_adapter<long>)" location="f202:33" file="f202" line="33" endline="33" inline="1">
+    <Argument name="day_count" type="_11270" location="f202:33" file="f202" line="33"/>
+  </Constructor>
+  <Constructor id="_12548" name="date_duration" context="_10009" access="public" mangled="_ZN5boost9date_time13date_durationINS0_23duration_traits_adaptedEEC1ENS0_14special_valuesE *INTERNAL* " demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::date_duration(boost::date_time::special_values)" location="f202:37" file="f202" line="37" extern="1" inline="1">
+    <Argument name="sv" type="_11275" location="f202:37" file="f202" line="37"/>
+  </Constructor>
+  <Constructor id="_12549" name="date_duration" context="_10009" access="public" mangled="_ZN5boost9date_time13date_durationINS0_23duration_traits_adaptedEEC1ERKS3_ *INTERNAL* " demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::date_duration(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f202:43" file="f202" line="43" endline="45" inline="1">
+    <Argument name="other" type="_10008" location="f202:43" file="f202" line="43"/>
+  </Constructor>
+  <Method id="_12550" name="get_rep" returns="_11270" const="1" context="_10009" access="public" mangled="_ZNK5boost9date_time13date_durationINS0_23duration_traits_adaptedEE7get_repEv" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::get_rep() const" location="f202:49" file="f202" line="49" endline="50" inline="1"/>
+  <Method id="_12551" name="is_special" returns="_3949" const="1" context="_10009" access="public" mangled="_ZNK5boost9date_time13date_durationINS0_23duration_traits_adaptedEE10is_specialEv" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::is_special() const" location="f202:53" file="f202" line="53" endline="54" inline="1"/>
+  <Method id="_12552" name="days" returns="_1553" const="1" context="_10009" access="public" mangled="_ZNK5boost9date_time13date_durationINS0_23duration_traits_adaptedEE4daysEv" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::days() const" location="f202:58" file="f202" line="58" endline="59" inline="1"/>
+  <Method id="_12553" name="unit" returns="_10009" static="1" context="_10009" access="public" mangled="_ZN5boost9date_time13date_durationINS0_23duration_traits_adaptedEE4unitEv" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::unit()" location="f202:63" file="f202" line="63" endline="64" inline="1"/>
+  <OperatorMethod id="_12554" name="==" returns="_3949" const="1" context="_10009" access="public" mangled="_ZNK5boost9date_time13date_durationINS0_23duration_traits_adaptedEEeqERKS3_" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::operator==(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&) const" location="f202:68" file="f202" line="68" extern="1" inline="1">
+    <Argument name="rhs" type="_10008" location="f202:68" file="f202" line="68"/>
+  </OperatorMethod>
+  <OperatorMethod id="_12555" name="<" returns="_3949" const="1" context="_10009" access="public" mangled="_ZNK5boost9date_time13date_durationINS0_23duration_traits_adaptedEEltERKS3_" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::operator<(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&) const" location="f202:73" file="f202" line="73" extern="1" inline="1">
+    <Argument name="rhs" type="_10008" location="f202:73" file="f202" line="73"/>
+  </OperatorMethod>
+  <OperatorMethod id="_12556" name="-=" returns="_10009" context="_10009" access="public" mangled="_ZN5boost9date_time13date_durationINS0_23duration_traits_adaptedEEmIERKS3_" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::operator-=(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f202:84" file="f202" line="84" extern="1" inline="1">
+    <Argument name="rhs" type="_10008" location="f202:84" file="f202" line="84"/>
+  </OperatorMethod>
+  <OperatorMethod id="_12557" name="+=" returns="_10009" context="_10009" access="public" mangled="_ZN5boost9date_time13date_durationINS0_23duration_traits_adaptedEEpLERKS3_" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::operator+=(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f202:91" file="f202" line="91" endline="93" inline="1">
+    <Argument name="rhs" type="_10008" location="f202:91" file="f202" line="91"/>
+  </OperatorMethod>
+  <OperatorMethod id="_12558" name="-" returns="_10009" const="1" context="_10009" access="public" mangled="_ZNK5boost9date_time13date_durationINS0_23duration_traits_adaptedEEngEv" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::operator-() const" location="f202:98" file="f202" line="98" endline="99" inline="1"/>
+  <OperatorMethod id="_12559" name="/=" returns="_10009" context="_10009" access="public" mangled="_ZN5boost9date_time13date_durationINS0_23duration_traits_adaptedEEdVEi" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::operator/=(int)" location="f202:103" file="f202" line="103" extern="1" inline="1">
+    <Argument name="divisor" type="_503" location="f202:103" file="f202" line="103"/>
+  </OperatorMethod>
+  <OperatorMethod id="_12560" name="/" returns="_10009" context="_10009" access="public" mangled="_ZN5boost9date_time13date_durationINS0_23duration_traits_adaptedEEdvEi" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::operator/(int)" location="f202:108" file="f202" line="108" extern="1" inline="1">
+    <Argument name="divisor" type="_503" location="f202:108" file="f202" line="108"/>
+  </OperatorMethod>
+  <Method id="_12561" name="is_negative" returns="_3949" const="1" context="_10009" access="public" mangled="_ZNK5boost9date_time13date_durationINS0_23duration_traits_adaptedEE11is_negativeEv" demangled="boost::date_time::date_duration<boost::date_time::duration_traits_adapted>::is_negative() const" location="f202:114" file="f202" line="114" endline="115" inline="1"/>
+  <Typedef id="_12564" name="char_type" type="_2961" context="_10014" access="public" location="f7:36" file="f7" line="36"/>
+  <Typedef id="_12565" name="string_type" type="_2508" context="_10014" access="public" location="f7:37" file="f7" line="37"/>
+  <Typedef id="_12566" name="stringstream_type" type="_2461" context="_10014" access="public" location="f7:38" file="f7" line="38"/>
+  <Typedef id="_12567" name="year_type" type="_10768" context="_10014" access="public" location="f7:39" file="f7" line="39"/>
+  <Typedef id="_12568" name="time_duration_type" type="_10347" context="_10014" access="public" location="f7:40" file="f7" line="40"/>
+  <Constructor id="_12569" name="time_zone_base" artificial="1" throw="" context="_10014" access="public" mangled="_ZN5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::time_zone_base(boost::date_time::time_zone_base<boost::posix_time::ptime, char> const&)" location="f7:34" file="f7" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_16835" location="f7:34" file="f7" line="34"/>
+  </Constructor>
+  <Constructor id="_12570" name="time_zone_base" explicit="1" context="_10014" access="public" mangled="_ZN5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcEC1Ev *INTERNAL* " demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::time_zone_base()" location="f7:42" file="f7" line="42" extern="1" inline="1"/>
+  <Destructor id="_12571" name="time_zone_base" virtual="1" context="_10014" access="public" mangled="_ZN5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcED1Ev *INTERNAL* " demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::~time_zone_base()" location="f7:43" file="f7" line="43" extern="1" inline="1">
+  </Destructor>
+  <Method id="_12572" name="dst_zone_abbrev" returns="_2508" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE15dst_zone_abbrevEv" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::dst_zone_abbrev() const" location="f7:45" file="f7" line="45" extern="1"/>
+  <Method id="_12573" name="std_zone_abbrev" returns="_2508" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE15std_zone_abbrevEv" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::std_zone_abbrev() const" location="f7:47" file="f7" line="47" extern="1"/>
+  <Method id="_12574" name="dst_zone_name" returns="_2508" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE13dst_zone_nameEv" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::dst_zone_name() const" location="f7:49" file="f7" line="49" extern="1"/>
+  <Method id="_12575" name="std_zone_name" returns="_2508" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE13std_zone_nameEv" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::std_zone_name() const" location="f7:51" file="f7" line="51" extern="1"/>
+  <Method id="_12576" name="has_dst" returns="_3949" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE7has_dstEv" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::has_dst() const" location="f7:53" file="f7" line="53" extern="1"/>
+  <Method id="_12577" name="dst_local_start_time" returns="_10341" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE20dst_local_start_timeENS_9gregorian9greg_yearE" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::dst_local_start_time(boost::gregorian::greg_year) const" location="f7:55" file="f7" line="55" extern="1">
+    <Argument name="y" type="_10768" location="f7:55" file="f7" line="55"/>
+  </Method>
+  <Method id="_12578" name="dst_local_end_time" returns="_10341" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE18dst_local_end_timeENS_9gregorian9greg_yearE" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::dst_local_end_time(boost::gregorian::greg_year) const" location="f7:57" file="f7" line="57" extern="1">
+    <Argument name="y" type="_10768" location="f7:57" file="f7" line="57"/>
+  </Method>
+  <Method id="_12579" name="base_utc_offset" returns="_10347" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE15base_utc_offsetEv" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::base_utc_offset() const" location="f7:59" file="f7" line="59" extern="1"/>
+  <Method id="_12580" name="dst_offset" returns="_10347" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE10dst_offsetEv" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::dst_offset() const" location="f7:61" file="f7" line="61" extern="1"/>
+  <Method id="_12581" name="to_posix_string" returns="_2508" const="1" virtual="1" pure_virtual="1" context="_10014" access="public" mangled="_ZNK5boost9date_time14time_zone_baseINS_10posix_time5ptimeEcE15to_posix_stringEv" demangled="boost::date_time::time_zone_base<boost::posix_time::ptime, char>::to_posix_string() const" location="f7:63" file="f7" line="63" extern="1"/>
+  <PointerType id="_12583" type="_16836" size="32" align="32"/>
+  <ReferenceType id="_12585" type="_3831c" size="32" align="32"/>
+  <ReferenceType id="_12586" type="_3831" size="32" align="32"/>
+  <PointerType id="_12587" type="_16838" size="32" align="32"/>
+  <Typedef id="_12588" name="year_type" type="_10768" context="_10065" access="public" location="f6:20" file="f6" line="20"/>
+  <Constructor id="_12589" name="dst_day_calc_rule" artificial="1" throw="" context="_10065" access="public" mangled="_ZN5boost9date_time17dst_day_calc_ruleINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::dst_day_calc_rule<boost::gregorian::date>::dst_day_calc_rule(boost::date_time::dst_day_calc_rule<boost::gregorian::date> const&)" location="f6:18" file="f6" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_16839" location="f6:18" file="f6" line="18"/>
+  </Constructor>
+  <Constructor id="_12590" name="dst_day_calc_rule" explicit="1" artificial="1" throw="" context="_10065" access="public" mangled="_ZN5boost9date_time17dst_day_calc_ruleINS_9gregorian4dateEEC1Ev *INTERNAL* " demangled="boost::date_time::dst_day_calc_rule<boost::gregorian::date>::dst_day_calc_rule()" location="f6:18" file="f6" line="18" inline="1"/>
+  <Destructor id="_12591" name="dst_day_calc_rule" virtual="1" context="_10065" access="public" mangled="_ZN5boost9date_time17dst_day_calc_ruleINS_9gregorian4dateEED1Ev *INTERNAL* " demangled="boost::date_time::dst_day_calc_rule<boost::gregorian::date>::~dst_day_calc_rule()" location="f6:21" file="f6" line="21" extern="1" inline="1">
+  </Destructor>
+  <Method id="_12592" name="start_day" returns="_9061" const="1" virtual="1" pure_virtual="1" context="_10065" access="public" mangled="_ZNK5boost9date_time17dst_day_calc_ruleINS_9gregorian4dateEE9start_dayENS2_9greg_yearE" demangled="boost::date_time::dst_day_calc_rule<boost::gregorian::date>::start_day(boost::gregorian::greg_year) const" location="f6:22" file="f6" line="22" extern="1">
+    <Argument name="y" type="_10768" location="f6:22" file="f6" line="22"/>
+  </Method>
+  <Method id="_12593" name="start_rule_as_string" returns="_2508" const="1" virtual="1" pure_virtual="1" context="_10065" access="public" mangled="_ZNK5boost9date_time17dst_day_calc_ruleINS_9gregorian4dateEE20start_rule_as_stringEv" demangled="boost::date_time::dst_day_calc_rule<boost::gregorian::date>::start_rule_as_string() const" location="f6:23" file="f6" line="23" extern="1"/>
+  <Method id="_12594" name="end_day" returns="_9061" const="1" virtual="1" pure_virtual="1" context="_10065" access="public" mangled="_ZNK5boost9date_time17dst_day_calc_ruleINS_9gregorian4dateEE7end_dayENS2_9greg_yearE" demangled="boost::date_time::dst_day_calc_rule<boost::gregorian::date>::end_day(boost::gregorian::greg_year) const" location="f6:24" file="f6" line="24" extern="1">
+    <Argument name="y" type="_10768" location="f6:24" file="f6" line="24"/>
+  </Method>
+  <Method id="_12595" name="end_rule_as_string" returns="_2508" const="1" virtual="1" pure_virtual="1" context="_10065" access="public" mangled="_ZNK5boost9date_time17dst_day_calc_ruleINS_9gregorian4dateEE18end_rule_as_stringEv" demangled="boost::date_time::dst_day_calc_rule<boost::gregorian::date>::end_rule_as_string() const" location="f6:25" file="f6" line="25" extern="1"/>
+  <ReferenceType id="_12597" type="_3832c" size="32" align="32"/>
+  <ReferenceType id="_12598" type="_3832" size="32" align="32"/>
+  <PointerType id="_12599" type="_16841" size="32" align="32"/>
+  <ReferenceType id="_12602" type="_3837c" size="32" align="32"/>
+  <ReferenceType id="_12603" type="_3838c" size="32" align="32"/>
+  <ReferenceType id="_12604" type="_3839c" size="32" align="32"/>
+  <ReferenceType id="_12605" type="_3840c" size="32" align="32"/>
+  <ReferenceType id="_12606" type="_3841c" size="32" align="32"/>
+  <ReferenceType id="_12607" type="_3842c" size="32" align="32"/>
+  <ReferenceType id="_12608" type="_3843c" size="32" align="32"/>
+  <ReferenceType id="_12609" type="_3844c" size="32" align="32"/>
+  <ReferenceType id="_12610" type="_3845c" size="32" align="32"/>
+  <ReferenceType id="_12611" type="_3846c" size="32" align="32"/>
+  <ReferenceType id="_12612" type="_3847c" size="32" align="32"/>
+  <ReferenceType id="_12613" type="_3848c" size="32" align="32"/>
+  <ReferenceType id="_12614" type="_3849c" size="32" align="32"/>
+  <ReferenceType id="_12615" type="_3850c" size="32" align="32"/>
+  <ReferenceType id="_12616" type="_3851c" size="32" align="32"/>
+  <ReferenceType id="_12617" type="_3852c" size="32" align="32"/>
+  <Constructor id="_12618" name="true_t" artificial="1" throw="" context="_10127" access="public" mangled="_ZN5boost6detail6true_tC1ERKS1_ *INTERNAL* " demangled="boost::detail::true_t::true_t(boost::detail::true_t const&)" location="f130:689" file="f130" line="689" inline="1">
+    <Argument name="_ctor_arg" type="_16858" location="f130:689" file="f130" line="689"/>
+  </Constructor>
+  <Constructor id="_12619" name="true_t" explicit="1" artificial="1" throw="" context="_10127" access="public" mangled="_ZN5boost6detail6true_tC1Ev *INTERNAL* " demangled="boost::detail::true_t::true_t()" location="f130:689" file="f130" line="689" inline="1"/>
+  <ReferenceType id="_12620" type="_3853c" size="32" align="32"/>
+  <Constructor id="_12621" name="false_t" artificial="1" throw="" context="_10131" access="public" mangled="_ZN5boost6detail7false_tC1ERKS1_ *INTERNAL* " demangled="boost::detail::false_t::false_t(boost::detail::false_t const&)" location="f130:690" file="f130" line="690" inline="1">
+    <Argument name="_ctor_arg" type="_16860" location="f130:690" file="f130" line="690"/>
+  </Constructor>
+  <Constructor id="_12622" name="false_t" explicit="1" artificial="1" throw="" context="_10131" access="public" mangled="_ZN5boost6detail7false_tC1Ev *INTERNAL* " demangled="boost::detail::false_t::false_t()" location="f130:690" file="f130" line="690" inline="1"/>
+  <ReferenceType id="_12623" type="_3854c" size="32" align="32"/>
+  <ReferenceType id="_12624" type="_3855c" size="32" align="32"/>
+  <ReferenceType id="_12625" type="_3856c" size="32" align="32"/>
+  <ReferenceType id="_12626" type="_3857c" size="32" align="32"/>
+  <ReferenceType id="_12627" type="_3858c" size="32" align="32"/>
+  <ReferenceType id="_12628" type="_3859c" size="32" align="32"/>
+  <ReferenceType id="_12629" type="_3860c" size="32" align="32"/>
+  <ReferenceType id="_12630" type="_3861c" size="32" align="32"/>
+  <ReferenceType id="_12631" type="_3862c" size="32" align="32"/>
+  <ReferenceType id="_12632" type="_3863c" size="32" align="32"/>
+  <ReferenceType id="_12633" type="_3864c" size="32" align="32"/>
+  <ReferenceType id="_12634" type="_3865c" size="32" align="32"/>
+  <ReferenceType id="_12635" type="_3866c" size="32" align="32"/>
+  <ReferenceType id="_12636" type="_3867c" size="32" align="32"/>
+  <ReferenceType id="_12637" type="_3868c" size="32" align="32"/>
+  <ReferenceType id="_12638" type="_3869c" size="32" align="32"/>
+  <Constructor id="_12639" name="empty_base" artificial="1" throw="" context="_10179" access="public" mangled="_ZN5boost6detail10empty_baseC1ERKS1_ *INTERNAL* " demangled="boost::detail::empty_base::empty_base(boost::detail::empty_base const&)" location="f130:99" file="f130" line="99" inline="1">
+    <Argument name="_ctor_arg" type="_16877" location="f130:99" file="f130" line="99"/>
+  </Constructor>
+  <Constructor id="_12640" name="empty_base" explicit="1" artificial="1" throw="" context="_10179" access="public" mangled="_ZN5boost6detail10empty_baseC1Ev *INTERNAL* " demangled="boost::detail::empty_base::empty_base()" location="f130:99" file="f130" line="99" inline="1"/>
+  <ReferenceType id="_12641" type="_3870c" size="32" align="32"/>
+  <ReferenceType id="_12642" type="_3871c" size="32" align="32"/>
+  <ReferenceType id="_12643" type="_3872c" size="32" align="32"/>
+  <ReferenceType id="_12644" type="_3873c" size="32" align="32"/>
+  <ReferenceType id="_12645" type="_3874c" size="32" align="32"/>
+  <ReferenceType id="_12646" type="_3875c" size="32" align="32"/>
+  <ReferenceType id="_12647" type="_3876c" size="32" align="32"/>
+  <ReferenceType id="_12648" type="_3877c" size="32" align="32"/>
+  <ReferenceType id="_12649" type="_3878c" size="32" align="32"/>
+  <ReferenceType id="_12650" type="_3879c" size="32" align="32"/>
+  <ReferenceType id="_12651" type="_3880c" size="32" align="32"/>
+  <ReferenceType id="_12652" type="_3881c" size="32" align="32"/>
+  <ReferenceType id="_12653" type="_3882c" size="32" align="32"/>
+  <ReferenceType id="_12654" type="_3883c" size="32" align="32"/>
+  <ReferenceType id="_12655" type="_3884c" size="32" align="32"/>
+  <ReferenceType id="_12656" type="_8349c" size="32" align="32"/>
+  <Field id="_12657" name="m_zone_map" type="_2018" offset="0" context="_10211" access="private" mangled="_ZN5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEE10m_zone_mapE" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::m_zone_map" location="f8:226" file="f8" line="226"/>
+  <Typedef id="_12658" name="char_type" type="_2961" context="_10211" access="public" location="f8:156" file="f8" line="156"/>
+  <Typedef id="_12659" name="time_zone_base_type" type="_10014" context="_10211" access="public" location="f8:158" file="f8" line="158"/>
+  <Typedef id="_12660" name="time_duration_type" type="_10347" context="_10211" access="public" location="f8:159" file="f8" line="159"/>
+  <Typedef id="_12661" name="time_zone_names" type="_10227" context="_10211" access="public" location="f8:160" file="f8" line="160"/>
+  <Typedef id="_12662" name="dst_adjustment_offsets" type="_10245" context="_10211" access="public" location="f8:161" file="f8" line="161"/>
+  <Typedef id="_12663" name="string_type" type="_2508" context="_10211" access="public" location="f8:162" file="f8" line="162"/>
+  <Typedef id="_12664" name="map_type" type="_2018" context="_10211" access="private" location="f8:225" file="f8" line="225"/>
+  <Enumeration id="_12665" name="week_num" context="_10735" access="public" location="f16:183" file="f16" line="183" artificial="1" size="32" align="32">
+    <EnumValue name="first" init="1"/>
+    <EnumValue name="second" init="2"/>
+    <EnumValue name="third" init="3"/>
+    <EnumValue name="fourth" init="4"/>
+    <EnumValue name="fifth" init="5"/>
+  </Enumeration>
+  <Typedef id="_12666" name="week_num" type="_12665" context="_10211" access="private" location="f8:229" file="f8" line="229"/>
+  <Constructor id="_12667" name="tz_db_base" artificial="1" context="_10211" access="public" mangled="_ZN5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEEC1ERKS8_ *INTERNAL* " demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::tz_db_base(boost::date_time::tz_db_base<boost::local_ti [...]
+    <Argument name="_ctor_arg" type="_16894" location="f8:146" file="f8" line="146"/>
+  </Constructor>
+  <Destructor id="_12668" name="tz_db_base" artificial="1" context="_10211" access="public" mangled="_ZN5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEED1Ev *INTERNAL* " demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::~tz_db_base()" location="f8:146" file="f8" line="146" inline="1">
+  </Destructor>
+  <Constructor id="_12669" name="tz_db_base" explicit="1" context="_10211" access="public" mangled="_ZN5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEEC1Ev *INTERNAL* " demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::tz_db_base()" location="f8:165" file="f8" line="165" extern="1"  [...]
+  <Method id="_12670" name="load_from_file" returns="_1194" context="_10211" access="public" mangled="_ZN5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEE14load_from_fileERKSs" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::load_from_file(std::string const&)" location="f8:170" [...]
+    <Argument name="pathspec" type="_4948" location="f8:170" file="f8" line="170"/>
+  </Method>
+  <Method id="_12671" name="add_record" returns="_3949" context="_10211" access="public" mangled="_ZN5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEE10add_recordERKSsNS_10shared_ptrINS0_14time_zone_baseINS_10posix_time5ptimeEcEEEE" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::a [...]
+    <Argument name="id" type="_4948" location="f8:191" file="f8" line="191"/>
+    <Argument name="tz" type="_3830" location="f8:191" file="f8" line="191"/>
+  </Method>
+  <Method id="_12672" name="time_zone_from_region" returns="_3830" const="1" context="_10211" access="public" mangled="_ZNK5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEE21time_zone_from_regionERKSs" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::time_zone_from_region(std::strin [...]
+    <Argument name="region" type="_4948" location="f8:202" file="f8" line="202"/>
+  </Method>
+  <Method id="_12673" name="region_list" returns="_1994" const="1" context="_10211" access="public" mangled="_ZNK5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEE11region_listEv" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::region_list() const" location="f8:213" file="f8" line=" [...]
+  <Method id="_12674" name="parse_rules" returns="_16895" const="1" context="_10211" access="private" mangled="_ZNK5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEE11parse_rulesERKSsSA_" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::parse_rules(std::string const&, std::string [...]
+    <Argument name="sr" type="_4948" location="f8:237" file="f8" line="237"/>
+    <Argument name="er" type="_4948" location="f8:237" file="f8" line="237"/>
+  </Method>
+  <Method id="_12675" name="get_week_num" returns="_12665" const="1" context="_10211" access="private" mangled="_ZNK5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEE12get_week_numEi" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::get_week_num(int) const" location="f8:260" file="f8 [...]
+    <Argument name="nth" type="_503" location="f8:260" file="f8" line="260"/>
+  </Method>
+  <Method id="_12676" name="split_rule_spec" returns="_1194" const="1" context="_10211" access="private" mangled="_ZNK5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEE15split_rule_specERiS9_S9_Ss" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::split_rule_spec(int&, int&, i [...]
+    <Argument name="nth" type="_4078" location="f8:283" file="f8" line="283"/>
+    <Argument name="d" type="_4078" location="f8:283" file="f8" line="283"/>
+    <Argument name="m" type="_4078" location="f8:283" file="f8" line="283"/>
+    <Argument name="rule" type="_2508" location="f8:283" file="f8" line="283"/>
+  </Method>
+  <Method id="_12677" name="parse_string" returns="_3949" context="_10211" access="private" mangled="_ZN5boost9date_time10tz_db_baseINS_10local_time21custom_time_zone_baseIcEENS0_17day_calc_dst_ruleINS2_18nth_kday_rule_specEEEE12parse_stringERSs" demangled="boost::date_time::tz_db_base<boost::local_time::custom_time_zone_base<char>, boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >::parse_string(std::string&)" location="f8:309" file="f8" l [...]
+    <Argument name="s" type="_4946" location="f8:309" file="f8" line="309"/>
+  </Method>
+  <Field id="_12678" name="zone_names_" type="_10227" offset="32" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE11zone_names_E" demangled="boost::local_time::posix_time_zone_base<char>::zone_names_" location="f5:221" file="f5" line="221"/>
+  <Field id="_12679" name="has_dst_" type="_3949" offset="160" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE8has_dst_E" demangled="boost::local_time::posix_time_zone_base<char>::has_dst_" location="f5:222" file="f5" line="222"/>
+  <Field id="_12680" name="base_utc_offset_" type="_10347" offset="192" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE16base_utc_offset_E" demangled="boost::local_time::posix_time_zone_base<char>::base_utc_offset_" location="f5:223" file="f5" line="223"/>
+  <Field id="_12681" name="dst_offsets_" type="_10245" offset="256" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE12dst_offsets_E" demangled="boost::local_time::posix_time_zone_base<char>::dst_offsets_" location="f5:224" file="f5" line="224"/>
+  <Field id="_12682" name="dst_calc_rules_" type="_3832" offset="448" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE15dst_calc_rules_E" demangled="boost::local_time::posix_time_zone_base<char>::dst_calc_rules_" location="f5:225" file="f5" line="225"/>
+  <Typedef id="_12683" name="time_duration_type" type="_10347" context="_10221" access="public" location="f5:66" file="f5" line="66"/>
+  <Typedef id="_12684" name="time_zone_names" type="_10227" context="_10221" access="public" location="f5:67" file="f5" line="67"/>
+  <Typedef id="_12685" name="base_type" type="_10014" context="_10221" access="public" location="f5:68" file="f5" line="68"/>
+  <Typedef id="_12686" name="string_type" type="_2508" context="_10221" access="public" location="f5:69" file="f5" line="69"/>
+  <Typedef id="_12687" name="char_type" type="_2961" context="_10221" access="public" location="f5:70" file="f5" line="70"/>
+  <Typedef id="_12688" name="stringstream_type" type="_2461" context="_10221" access="public" location="f5:71" file="f5" line="71"/>
+  <Typedef id="_12689" name="char_separator_type" type="_3367" context="_10221" access="public" location="f5:72" file="f5" line="72"/>
+  <Typedef id="_12690" name="tokenizer_type" type="_3356" context="_10221" access="public" location="f5:75" file="f5" line="75"/>
+  <Typedef id="_12691" name="tokenizer_iterator_type" type="_3363" context="_10221" access="public" location="f5:78" file="f5" line="78"/>
+  <Constructor id="_12692" name="posix_time_zone_base" artificial="1" context="_10221" access="public" mangled="_ZN5boost10local_time20posix_time_zone_baseIcEC1ERKS2_ *INTERNAL* " demangled="boost::local_time::posix_time_zone_base<char>::posix_time_zone_base(boost::local_time::posix_time_zone_base<char> const&)" location="f5:64" file="f5" line="64" inline="1">
+    <Argument name="_ctor_arg" type="_16896" location="f5:64" file="f5" line="64"/>
+  </Constructor>
+  <Constructor id="_12693" name="posix_time_zone_base" context="_10221" access="public" mangled="_ZN5boost10local_time20posix_time_zone_baseIcEC1ERKSs *INTERNAL* " demangled="boost::local_time::posix_time_zone_base<char>::posix_time_zone_base(std::string const&)" location="f5:81" file="f5" line="81" extern="1" inline="1">
+    <Argument name="s" type="_4948" location="f5:81" file="f5" line="81"/>
+  </Constructor>
+  <Destructor id="_12694" name="posix_time_zone_base" virtual="1" context="_10221" access="public" mangled="_ZN5boost10local_time20posix_time_zone_baseIcED1Ev *INTERNAL* " demangled="boost::local_time::posix_time_zone_base<char>::~posix_time_zone_base()" location="f5:99" file="f5" line="99" extern="1" inline="1">
+  </Destructor>
+  <Method id="_12695" name="std_zone_abbrev" returns="_2508" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE15std_zone_abbrevEv" demangled="boost::local_time::posix_time_zone_base<char>::std_zone_abbrev() const" location="f5:102" file="f5" line="102" extern="1" inline="1"/>
+  <Method id="_12696" name="dst_zone_abbrev" returns="_2508" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE15dst_zone_abbrevEv" demangled="boost::local_time::posix_time_zone_base<char>::dst_zone_abbrev() const" location="f5:108" file="f5" line="108" extern="1" inline="1"/>
+  <Method id="_12697" name="std_zone_name" returns="_2508" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE13std_zone_nameEv" demangled="boost::local_time::posix_time_zone_base<char>::std_zone_name() const" location="f5:115" file="f5" line="115" extern="1" inline="1"/>
+  <Method id="_12698" name="dst_zone_name" returns="_2508" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE13dst_zone_nameEv" demangled="boost::local_time::posix_time_zone_base<char>::dst_zone_name() const" location="f5:123" file="f5" line="123" extern="1" inline="1"/>
+  <Method id="_12699" name="has_dst" returns="_3949" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE7has_dstEv" demangled="boost::local_time::posix_time_zone_base<char>::has_dst() const" location="f5:128" file="f5" line="128" extern="1" inline="1"/>
+  <Method id="_12700" name="dst_local_start_time" returns="_10341" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE20dst_local_start_timeENS_9gregorian9greg_yearE" demangled="boost::local_time::posix_time_zone_base<char>::dst_local_start_time(boost::gregorian::greg_year) const" location="f5:133" file="f5" line="133" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f5:133" file="f5" line="133"/>
+  </Method>
+  <Method id="_12701" name="dst_local_end_time" returns="_10341" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE18dst_local_end_timeENS_9gregorian9greg_yearE" demangled="boost::local_time::posix_time_zone_base<char>::dst_local_end_time(boost::gregorian::greg_year) const" location="f5:143" file="f5" line="143" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f5:143" file="f5" line="143"/>
+  </Method>
+  <Method id="_12702" name="base_utc_offset" returns="_10347" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE15base_utc_offsetEv" demangled="boost::local_time::posix_time_zone_base<char>::base_utc_offset() const" location="f5:153" file="f5" line="153" extern="1" inline="1"/>
+  <Method id="_12703" name="dst_offset" returns="_10347" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE10dst_offsetEv" demangled="boost::local_time::posix_time_zone_base<char>::dst_offset() const" location="f5:158" file="f5" line="158" extern="1" inline="1"/>
+  <Method id="_12704" name="to_posix_string" returns="_2508" const="1" virtual="1" context="_10221" access="public" mangled="_ZNK5boost10local_time20posix_time_zone_baseIcE15to_posix_stringEv" demangled="boost::local_time::posix_time_zone_base<char>::to_posix_string() const" location="f5:164" file="f5" line="164" extern="1" inline="1"/>
+  <Method id="_12705" name="calc_zone" returns="_1194" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE9calc_zoneERKSs" demangled="boost::local_time::posix_time_zone_base<char>::calc_zone(std::string const&)" location="f5:231" file="f5" line="231" extern="1" inline="1">
+    <Argument name="obj" type="_4948" location="f5:231" file="f5" line="231"/>
+  </Method>
+  <Method id="_12706" name="calc_rules" returns="_1194" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE10calc_rulesERKSsS4_" demangled="boost::local_time::posix_time_zone_base<char>::calc_rules(std::string const&, std::string const&)" location="f5:296" file="f5" line="296" extern="1" inline="1">
+    <Argument name="start" type="_4948" location="f5:296" file="f5" line="296"/>
+    <Argument name="end" type="_4948" location="f5:296" file="f5" line="296"/>
+  </Method>
+  <Method id="_12707" name="M_func" returns="_1194" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE6M_funcERKSsS4_" demangled="boost::local_time::posix_time_zone_base<char>::M_func(std::string const&, std::string const&)" location="f5:354" file="f5" line="354" extern="1" inline="1">
+    <Argument name="s" type="_4948" location="f5:354" file="f5" line="354"/>
+    <Argument name="e" type="_4948" location="f5:354" file="f5" line="354"/>
+  </Method>
+  <Method id="_12708" name="julian_no_leap" returns="_1194" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE14julian_no_leapERKSsS4_" demangled="boost::local_time::posix_time_zone_base<char>::julian_no_leap(std::string const&, std::string const&)" location="f5:383" file="f5" line="383" extern="1" inline="1">
+    <Argument name="s" type="_4948" location="f5:383" file="f5" line="383"/>
+    <Argument name="e" type="_4948" location="f5:383" file="f5" line="383"/>
+  </Method>
+  <Method id="_12709" name="julian_day" returns="_1194" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE10julian_dayERKSsS4_" demangled="boost::local_time::posix_time_zone_base<char>::julian_day(std::string const&, std::string const&)" location="f5:411" file="f5" line="411" extern="1" inline="1">
+    <Argument name="s" type="_4948" location="f5:411" file="f5" line="411"/>
+    <Argument name="e" type="_4948" location="f5:411" file="f5" line="411"/>
+  </Method>
+  <Method id="_12710" name="td_as_string" returns="_2508" static="1" context="_10221" access="private" mangled="_ZN5boost10local_time20posix_time_zone_baseIcE12td_as_stringERKNS_10posix_time13time_durationE" demangled="boost::local_time::posix_time_zone_base<char>::td_as_string(boost::posix_time::time_duration const&)" location="f5:425" file="f5" line="425" extern="1" inline="1">
+    <Argument name="td" type="_8886" location="f5:425" file="f5" line="425"/>
+  </Method>
+  <Constructor id="_12711" name="bad_adjustment" artificial="1" context="_10223" access="public" mangled="_ZN5boost10local_time14bad_adjustmentC1ERKS1_ *INTERNAL* " demangled="boost::local_time::bad_adjustment::bad_adjustment(boost::local_time::bad_adjustment const&)" location="f5:33" file="f5" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_16897" location="f5:33" file="f5" line="33"/>
+  </Constructor>
+  <Destructor id="_12712" name="bad_adjustment" virtual="1" artificial="1" throw="" context="_10223" access="public" mangled="_ZN5boost10local_time14bad_adjustmentD1Ev *INTERNAL* " demangled="boost::local_time::bad_adjustment::~bad_adjustment()" location="f82:436" file="f82" line="436" endline="436" inline="1">
+  </Destructor>
+  <Constructor id="_12713" name="bad_adjustment" context="_10223" access="public" mangled="_ZN5boost10local_time14bad_adjustmentC1ESs *INTERNAL* " demangled="boost::local_time::bad_adjustment::bad_adjustment(std::string)" location="f5:34" file="f5" line="34" endline="34" inline="1">
+    <Argument name="_msg" type="_2509" location="f5:34" file="f5" line="34" default=""""/>
+  </Constructor>
+  <Constructor id="_12714" name="bad_offset" artificial="1" context="_10224" access="public" mangled="_ZN5boost10local_time10bad_offsetC1ERKS1_ *INTERNAL* " demangled="boost::local_time::bad_offset::bad_offset(boost::local_time::bad_offset const&)" location="f5:28" file="f5" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_16898" location="f5:28" file="f5" line="28"/>
+  </Constructor>
+  <Destructor id="_12715" name="bad_offset" virtual="1" artificial="1" throw="" context="_10224" access="public" mangled="_ZN5boost10local_time10bad_offsetD1Ev *INTERNAL* " demangled="boost::local_time::bad_offset::~bad_offset()" location="f82:436" file="f82" line="436" endline="436" inline="1">
+  </Destructor>
+  <Constructor id="_12716" name="bad_offset" context="_10224" access="public" mangled="_ZN5boost10local_time10bad_offsetC1ESs *INTERNAL* " demangled="boost::local_time::bad_offset::bad_offset(std::string)" location="f5:29" file="f5" line="29" endline="29" inline="1">
+    <Argument name="_msg" type="_2509" location="f5:29" file="f5" line="29" default=""""/>
+  </Constructor>
+  <Field id="_12717" name="std_zone_name_" type="_2508" offset="0" context="_10227" access="private" mangled="_ZN5boost9date_time20time_zone_names_baseIcE14std_zone_name_E" demangled="boost::date_time::time_zone_names_base<char>::std_zone_name_" location="f212:85" file="f212" line="85"/>
+  <Field id="_12718" name="std_zone_abbrev_" type="_2508" offset="32" context="_10227" access="private" mangled="_ZN5boost9date_time20time_zone_names_baseIcE16std_zone_abbrev_E" demangled="boost::date_time::time_zone_names_base<char>::std_zone_abbrev_" location="f212:86" file="f212" line="86"/>
+  <Field id="_12719" name="dst_zone_name_" type="_2508" offset="64" context="_10227" access="private" mangled="_ZN5boost9date_time20time_zone_names_baseIcE14dst_zone_name_E" demangled="boost::date_time::time_zone_names_base<char>::dst_zone_name_" location="f212:87" file="f212" line="87"/>
+  <Field id="_12720" name="dst_zone_abbrev_" type="_2508" offset="96" context="_10227" access="private" mangled="_ZN5boost9date_time20time_zone_names_baseIcE16dst_zone_abbrev_E" demangled="boost::date_time::time_zone_names_base<char>::dst_zone_abbrev_" location="f212:88" file="f212" line="88"/>
+  <Typedef id="_12721" name="string_type" type="_2508" context="_10227" access="public" location="f212:52" file="f212" line="52"/>
+  <Constructor id="_12722" name="time_zone_names_base" artificial="1" context="_10227" access="public" mangled="_ZN5boost9date_time20time_zone_names_baseIcEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::time_zone_names_base<char>::time_zone_names_base(boost::date_time::time_zone_names_base<char> const&)" location="f212:50" file="f212" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_16899" location="f212:50" file="f212" line="50"/>
+  </Constructor>
+  <Destructor id="_12723" name="time_zone_names_base" artificial="1" context="_10227" access="public" mangled="_ZN5boost9date_time20time_zone_names_baseIcED1Ev *INTERNAL* " demangled="boost::date_time::time_zone_names_base<char>::~time_zone_names_base()" location="f212:50" file="f212" line="50" inline="1">
+  </Destructor>
+  <Constructor id="_12724" name="time_zone_names_base" explicit="1" context="_10227" access="public" mangled="_ZN5boost9date_time20time_zone_names_baseIcEC1Ev *INTERNAL* " demangled="boost::date_time::time_zone_names_base<char>::time_zone_names_base()" location="f212:53" file="f212" line="53" extern="1" inline="1"/>
+  <Constructor id="_12725" name="time_zone_names_base" explicit="1" context="_10227" access="public" mangled="_ZN5boost9date_time20time_zone_names_baseIcEC1ERKSsS4_S4_S4_ *INTERNAL* " demangled="boost::date_time::time_zone_names_base<char>::time_zone_names_base(std::string const&, std::string const&, std::string const&, std::string const&)" location="f212:62" file="f212" line="62" extern="1" inline="1">
+    <Argument name="std_zone_name_str" type="_4948" location="f212:62" file="f212" line="62"/>
+    <Argument name="std_zone_abbrev_str" type="_4948" location="f212:62" file="f212" line="62"/>
+    <Argument name="dst_zone_name_str" type="_4948" location="f212:62" file="f212" line="62"/>
+    <Argument name="dst_zone_abbrev_str" type="_4948" location="f212:62" file="f212" line="62"/>
+  </Constructor>
+  <Method id="_12726" name="dst_zone_abbrev" returns="_2508" const="1" context="_10227" access="public" mangled="_ZNK5boost9date_time20time_zone_names_baseIcE15dst_zone_abbrevEv" demangled="boost::date_time::time_zone_names_base<char>::dst_zone_abbrev() const" location="f212:69" file="f212" line="69" extern="1" inline="1"/>
+  <Method id="_12727" name="std_zone_abbrev" returns="_2508" const="1" context="_10227" access="public" mangled="_ZNK5boost9date_time20time_zone_names_baseIcE15std_zone_abbrevEv" demangled="boost::date_time::time_zone_names_base<char>::std_zone_abbrev() const" location="f212:73" file="f212" line="73" extern="1" inline="1"/>
+  <Method id="_12728" name="dst_zone_name" returns="_2508" const="1" context="_10227" access="public" mangled="_ZNK5boost9date_time20time_zone_names_baseIcE13dst_zone_nameEv" demangled="boost::date_time::time_zone_names_base<char>::dst_zone_name() const" location="f212:77" file="f212" line="77" extern="1" inline="1"/>
+  <Method id="_12729" name="std_zone_name" returns="_2508" const="1" context="_10227" access="public" mangled="_ZNK5boost9date_time20time_zone_names_baseIcE13std_zone_nameEv" demangled="boost::date_time::time_zone_names_base<char>::std_zone_name() const" location="f212:81" file="f212" line="81" extern="1" inline="1"/>
+  <Typedef id="_12730" name="date_type" type="_9061" context="_10234" access="public" location="f197:44" file="f197" line="44"/>
+  <Typedef id="_12731" name="time_duration_type" type="_10347" context="_10234" access="public" location="f197:45" file="f197" line="45"/>
+  <Typedef id="_12732" name="resolution_traits_type" type="_10349" context="_10234" access="public" location="f197:46" file="f197" line="46"/>
+  <Enumeration id="_12733" name="TZ_FOR_CREATE" context="_10234" access="private" location="f197:67" file="f197" line="67" artificial="1" size="32" align="32">
+    <EnumValue name="LOCAL" init="0"/>
+    <EnumValue name="GMT" init="1"/>
+  </Enumeration>
+  <Constructor id="_12734" name="microsec_clock" artificial="1" throw="" context="_10234" access="public" mangled="_ZN5boost9date_time14microsec_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::date_time::microsec_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::microsec_clock(boost::date_time [...]
+    <Argument name="_ctor_arg" type="_16900" location="f197:42" file="f197" line="42"/>
+  </Constructor>
+  <Constructor id="_12735" name="microsec_clock" explicit="1" artificial="1" throw="" context="_10234" access="public" mangled="_ZN5boost9date_time14microsec_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEEC1Ev *INTERNAL* " demangled="boost::date_time::microsec_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::microsec_clock()" loca [...]
+  <Method id="_12736" name="local_time" returns="_8349" static="1" context="_10234" access="public" mangled="_ZN5boost9date_time14microsec_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEE10local_timeEv" demangled="boost::date_time::microsec_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::local_time()" location="f197:73" file="f197 [...]
+  <Method id="_12737" name="universal_time" returns="_8349" static="1" context="_10234" access="public" mangled="_ZN5boost9date_time14microsec_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEE14universal_timeEv" demangled="boost::date_time::microsec_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::universal_time()" location="f197:79 [...]
+  <Method id="_12738" name="create_time" returns="_8349" static="1" context="_10234" access="private" mangled="_ZN5boost9date_time14microsec_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEE11create_timeENS9_13TZ_FOR_CREATEE" demangled="boost::date_time::microsec_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::create_time(boost::da [...]
+    <Argument name="tz" type="_12733" location="f197:84" file="f197" line="84"/>
+  </Method>
+  <Typedef id="_12739" name="date_type" type="_9061" context="_10236" access="public" location="f214:30" file="f214" line="30"/>
+  <Typedef id="_12740" name="time_duration_type" type="_10347" context="_10236" access="public" location="f214:31" file="f214" line="31"/>
+  <Constructor id="_12741" name="second_clock" artificial="1" throw="" context="_10236" access="public" mangled="_ZN5boost9date_time12second_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::date_time::second_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::second_clock(boost::date_time::second [...]
+    <Argument name="_ctor_arg" type="_16901" location="f214:28" file="f214" line="28"/>
+  </Constructor>
+  <Constructor id="_12742" name="second_clock" explicit="1" artificial="1" throw="" context="_10236" access="public" mangled="_ZN5boost9date_time12second_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEEC1Ev *INTERNAL* " demangled="boost::date_time::second_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::second_clock()" location="f2 [...]
+  <Method id="_12743" name="local_time" returns="_8349" static="1" context="_10236" access="public" mangled="_ZN5boost9date_time12second_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEE10local_timeEv" demangled="boost::date_time::second_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::local_time()" location="f214:34" file="f214" li [...]
+  <Method id="_12744" name="universal_time" returns="_8349" static="1" context="_10236" access="public" mangled="_ZN5boost9date_time12second_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEE14universal_timeEv" demangled="boost::date_time::second_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::universal_time()" location="f214:46" fi [...]
+  <Method id="_12745" name="create_time" returns="_8349" static="1" context="_10236" access="private" mangled="_ZN5boost9date_time12second_clockINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEEE11create_timeEP2tm" demangled="boost::date_time::second_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >::create_time(tm*)" location="f214:67" file [...]
+    <Argument name="current" type="_2892" location="f214:67" file="f214" line="67"/>
+  </Method>
+  <Field id="_12746" name="begin_" type="_8349" offset="32" context="_10240" access="private" mangled="_ZN5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE6begin_E" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::begin_" location="f [...]
+  <Field id="_12747" name="last_" type="_8349" offset="160" context="_10240" access="private" mangled="_ZN5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE5last_E" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::last_" location="f20 [...]
+  <Typedef id="_12748" name="point_type" type="_8349" context="_10240" access="public" location="f206:57" file="f206" line="57"/>
+  <Typedef id="_12749" name="duration_type" type="_10347" context="_10240" access="public" location="f206:58" file="f206" line="58"/>
+  <Constructor id="_12750" name="period" artificial="1" context="_10240" access="public" mangled="_ZN5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEC1ERKSA_ *INTERNAL* " demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::period(boost [...]
+    <Argument name="_ctor_arg" type="_8883" location="f206:55" file="f206" line="55"/>
+  </Constructor>
+  <Destructor id="_12751" name="period" artificial="1" context="_10240" access="public" mangled="_ZN5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEED1Ev *INTERNAL* " demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::~period()" locati [...]
+  </Destructor>
+  <Constructor id="_12752" name="period" explicit="1" context="_10240" access="public" mangled="_ZN5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEC1ES8_S8_ *INTERNAL* " demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::period(boost: [...]
+    <Argument name="first_point" type="_8349" location="f206:91" file="f206" line="91"/>
+    <Argument name="end_point" type="_8349" location="f206:91" file="f206" line="91"/>
+  </Constructor>
+  <Constructor id="_12753" name="period" explicit="1" context="_10240" access="public" mangled="_ZN5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEC1ES8_S9_ *INTERNAL* " demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::period(boost: [...]
+    <Argument name="first_point" type="_8349" location="f206:101" file="f206" line="101"/>
+    <Argument name="len" type="_10347" location="f206:101" file="f206" line="101"/>
+  </Constructor>
+  <Method id="_12754" name="begin" returns="_8349" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE5beginEv" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::begin() const" loc [...]
+  <Method id="_12755" name="end" returns="_8349" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE3endEv" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::end() const" location= [...]
+  <Method id="_12756" name="last" returns="_8349" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE4lastEv" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::last() const" locati [...]
+  <Method id="_12757" name="length" returns="_10347" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE6lengthEv" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::length() const" [...]
+  <Method id="_12758" name="is_null" returns="_3949" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE7is_nullEv" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::is_null() cons [...]
+  <OperatorMethod id="_12759" name="==" returns="_3949" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEeqERKSA_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::operator==(bo [...]
+    <Argument name="rhs" type="_8883" location="f206:156" file="f206" line="156"/>
+  </OperatorMethod>
+  <OperatorMethod id="_12760" name="<" returns="_3949" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEEltERKSA_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::operator&lt [...]
+    <Argument name="rhs" type="_8883" location="f206:165" file="f206" line="165"/>
+  </OperatorMethod>
+  <Method id="_12761" name="shift" returns="_1194" context="_10240" access="public" mangled="_ZN5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE5shiftERKS9_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::shift(boost::posix_time:: [...]
+    <Argument name="d" type="_8886" location="f206:174" file="f206" line="174"/>
+  </Method>
+  <Method id="_12762" name="expand" returns="_1194" context="_10240" access="public" mangled="_ZN5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE6expandERKS9_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::expand(boost::posix_tim [...]
+    <Argument name="d" type="_8886" location="f206:201" file="f206" line="201"/>
+  </Method>
+  <Method id="_12763" name="contains" returns="_3949" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE8containsERKS8_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::contains [...]
+    <Argument name="point" type="_12656" location="f206:210" file="f206" line="210"/>
+  </Method>
+  <Method id="_12764" name="contains" returns="_3949" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE8containsERKSA_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::contains [...]
+    <Argument name="other" type="_8883" location="f206:220" file="f206" line="220"/>
+  </Method>
+  <Method id="_12765" name="intersects" returns="_3949" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE10intersectsERKSA_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::int [...]
+    <Argument name="other" type="_8883" location="f206:303" file="f206" line="303"/>
+  </Method>
+  <Method id="_12766" name="is_adjacent" returns="_3949" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE11is_adjacentERKSA_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::i [...]
+    <Argument name="other" type="_8883" location="f206:238" file="f206" line="238"/>
+  </Method>
+  <Method id="_12767" name="is_before" returns="_3949" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE9is_beforeERKS8_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::is_bef [...]
+    <Argument name="t" type="_12656" location="f206:279" file="f206" line="279"/>
+  </Method>
+  <Method id="_12768" name="is_after" returns="_3949" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE8is_afterERKS8_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::is_after [...]
+    <Argument name="t" type="_12656" location="f206:257" file="f206" line="257"/>
+  </Method>
+  <Method id="_12769" name="intersection" returns="_10240" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE12intersectionERKSA_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration> [...]
+    <Argument name="other" type="_8883" location="f206:314" file="f206" line="314"/>
+  </Method>
+  <Method id="_12770" name="merge" returns="_10240" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE5mergeERKSA_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::merge(boost:: [...]
+    <Argument name="other" type="_8883" location="f206:339" file="f206" line="339"/>
+  </Method>
+  <Method id="_12771" name="span" returns="_10240" const="1" context="_10240" access="public" mangled="_ZNK5boost9date_time6periodINS_10local_time20local_date_time_baseINS_10posix_time5ptimeENS0_14time_zone_baseIS5_cEEEENS4_13time_durationEE4spanERKSA_" demangled="boost::date_time::period<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, boost::posix_time::time_duration>::span(boost::dat [...]
+    <Argument name="other" type="_8883" location="f206:366" file="f206" line="366"/>
+  </Method>
+  <Field id="_12772" name="zone_names_" type="_10227" offset="32" context="_10242" access="private" mangled="_ZN5boost10local_time21custom_time_zone_baseIcE11zone_names_E" demangled="boost::local_time::custom_time_zone_base<char>::zone_names_" location="f4:156" file="f4" line="156"/>
+  <Field id="_12773" name="has_dst_" type="_3949" offset="160" context="_10242" access="private" mangled="_ZN5boost10local_time21custom_time_zone_baseIcE8has_dst_E" demangled="boost::local_time::custom_time_zone_base<char>::has_dst_" location="f4:157" file="f4" line="157"/>
+  <Field id="_12774" name="base_utc_offset_" type="_10347" offset="192" context="_10242" access="private" mangled="_ZN5boost10local_time21custom_time_zone_baseIcE16base_utc_offset_E" demangled="boost::local_time::custom_time_zone_base<char>::base_utc_offset_" location="f4:158" file="f4" line="158"/>
+  <Field id="_12775" name="dst_offsets_" type="_10245" offset="256" context="_10242" access="private" mangled="_ZN5boost10local_time21custom_time_zone_baseIcE12dst_offsets_E" demangled="boost::local_time::custom_time_zone_base<char>::dst_offsets_" location="f4:159" file="f4" line="159"/>
+  <Field id="_12776" name="dst_calc_rules_" type="_3832" offset="448" context="_10242" access="private" mangled="_ZN5boost10local_time21custom_time_zone_baseIcE15dst_calc_rules_E" demangled="boost::local_time::custom_time_zone_base<char>::dst_calc_rules_" location="f4:160" file="f4" line="160"/>
+  <Typedef id="_12777" name="time_duration_type" type="_10347" context="_10242" access="public" location="f4:31" file="f4" line="31"/>
+  <Typedef id="_12778" name="base_type" type="_10014" context="_10242" access="public" location="f4:32" file="f4" line="32"/>
+  <Typedef id="_12779" name="string_type" type="_2508" context="_10242" access="public" location="f4:33" file="f4" line="33"/>
+  <Typedef id="_12780" name="stringstream_type" type="_2461" context="_10242" access="public" location="f4:34" file="f4" line="34"/>
+  <Typedef id="_12781" name="time_zone_names" type="_10227" context="_10242" access="public" location="f4:35" file="f4" line="35"/>
+  <Typedef id="_12782" name="char_type" type="_2961" context="_10242" access="public" location="f4:36" file="f4" line="36"/>
+  <Constructor id="_12783" name="custom_time_zone_base" artificial="1" context="_10242" access="public" mangled="_ZN5boost10local_time21custom_time_zone_baseIcEC1ERKS2_ *INTERNAL* " demangled="boost::local_time::custom_time_zone_base<char>::custom_time_zone_base(boost::local_time::custom_time_zone_base<char> const&)" location="f4:29" file="f4" line="29" inline="1">
+    <Argument name="_ctor_arg" type="_16902" location="f4:29" file="f4" line="29"/>
+  </Constructor>
+  <Constructor id="_12784" name="custom_time_zone_base" explicit="1" context="_10242" access="public" mangled="_ZN5boost10local_time21custom_time_zone_baseIcEC1ERKNS_9date_time20time_zone_names_baseIcEERKNS_10posix_time13time_durationERKNS3_22dst_adjustment_offsetsIS9_EENS_10shared_ptrINS3_17dst_day_calc_ruleINS_9gregorian4dateEEEEE *INTERNAL* " demangled="boost::local_time::custom_time_zone_base<char>::custom_time_zone_base(boost::date_time::time_zone_names_base<char> const& [...]
+    <Argument name="zone_names" type="_16899" location="f4:41" file="f4" line="41"/>
+    <Argument name="utc_offset" type="_8886" location="f4:41" file="f4" line="41"/>
+    <Argument name="dst_shift" type="_16903" location="f4:41" file="f4" line="41"/>
+    <Argument name="calc_rule" type="_3832" location="f4:41" file="f4" line="41"/>
+  </Constructor>
+  <Destructor id="_12785" name="custom_time_zone_base" virtual="1" context="_10242" access="public" mangled="_ZN5boost10local_time21custom_time_zone_baseIcED1Ev *INTERNAL* " demangled="boost::local_time::custom_time_zone_base<char>::~custom_time_zone_base()" location="f4:47" file="f4" line="47" extern="1" inline="1">
+  </Destructor>
+  <Method id="_12786" name="dst_zone_abbrev" returns="_2508" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE15dst_zone_abbrevEv" demangled="boost::local_time::custom_time_zone_base<char>::dst_zone_abbrev() const" location="f4:49" file="f4" line="49" extern="1" inline="1"/>
+  <Method id="_12787" name="std_zone_abbrev" returns="_2508" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE15std_zone_abbrevEv" demangled="boost::local_time::custom_time_zone_base<char>::std_zone_abbrev() const" location="f4:53" file="f4" line="53" extern="1" inline="1"/>
+  <Method id="_12788" name="dst_zone_name" returns="_2508" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE13dst_zone_nameEv" demangled="boost::local_time::custom_time_zone_base<char>::dst_zone_name() const" location="f4:57" file="f4" line="57" extern="1" inline="1"/>
+  <Method id="_12789" name="std_zone_name" returns="_2508" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE13std_zone_nameEv" demangled="boost::local_time::custom_time_zone_base<char>::std_zone_name() const" location="f4:61" file="f4" line="61" extern="1" inline="1"/>
+  <Method id="_12790" name="has_dst" returns="_3949" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE7has_dstEv" demangled="boost::local_time::custom_time_zone_base<char>::has_dst() const" location="f4:66" file="f4" line="66" extern="1" inline="1"/>
+  <Method id="_12791" name="dst_local_start_time" returns="_10341" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE20dst_local_start_timeENS_9gregorian9greg_yearE" demangled="boost::local_time::custom_time_zone_base<char>::dst_local_start_time(boost::gregorian::greg_year) const" location="f4:71" file="f4" line="71" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f4:71" file="f4" line="71"/>
+  </Method>
+  <Method id="_12792" name="dst_local_end_time" returns="_10341" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE18dst_local_end_timeENS_9gregorian9greg_yearE" demangled="boost::local_time::custom_time_zone_base<char>::dst_local_end_time(boost::gregorian::greg_year) const" location="f4:80" file="f4" line="80" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f4:80" file="f4" line="80"/>
+  </Method>
+  <Method id="_12793" name="base_utc_offset" returns="_10347" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE15base_utc_offsetEv" demangled="boost::local_time::custom_time_zone_base<char>::base_utc_offset() const" location="f4:89" file="f4" line="89" extern="1" inline="1"/>
+  <Method id="_12794" name="dst_offset" returns="_10347" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE10dst_offsetEv" demangled="boost::local_time::custom_time_zone_base<char>::dst_offset() const" location="f4:94" file="f4" line="94" extern="1" inline="1"/>
+  <Method id="_12795" name="to_posix_string" returns="_2508" const="1" virtual="1" context="_10242" access="public" mangled="_ZNK5boost10local_time21custom_time_zone_baseIcE15to_posix_stringEv" demangled="boost::local_time::custom_time_zone_base<char>::to_posix_string() const" location="f4:99" file="f4" line="99" extern="1" inline="1"/>
+  <Field id="_12796" name="dst_adjust_" type="_10347" offset="0" context="_10245" access="public" mangled="_ZN5boost9date_time22dst_adjustment_offsetsINS_10posix_time13time_durationEE11dst_adjust_E" demangled="boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration>::dst_adjust_" location="f7:87" file="f7" line="87"/>
+  <Field id="_12797" name="dst_start_offset_" type="_10347" offset="64" context="_10245" access="public" mangled="_ZN5boost9date_time22dst_adjustment_offsetsINS_10posix_time13time_durationEE17dst_start_offset_E" demangled="boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration>::dst_start_offset_" location="f7:89" file="f7" line="89"/>
+  <Field id="_12798" name="dst_end_offset_" type="_10347" offset="128" context="_10245" access="public" mangled="_ZN5boost9date_time22dst_adjustment_offsetsINS_10posix_time13time_durationEE15dst_end_offset_E" demangled="boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration>::dst_end_offset_" location="f7:91" file="f7" line="91"/>
+  <Constructor id="_12799" name="dst_adjustment_offsets" artificial="1" context="_10245" access="public" mangled="_ZN5boost9date_time22dst_adjustment_offsetsINS_10posix_time13time_durationEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration>::dst_adjustment_offsets(boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration> const&)" location="f7:76" file="f7" line="76" inline="1">
+    <Argument name="_ctor_arg" type="_16903" location="f7:76" file="f7" line="76"/>
+  </Constructor>
+  <Constructor id="_12800" name="dst_adjustment_offsets" explicit="1" context="_10245" access="public" mangled="_ZN5boost9date_time22dst_adjustment_offsetsINS_10posix_time13time_durationEEC1ERKS3_S6_S6_ *INTERNAL* " demangled="boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration>::dst_adjustment_offsets(boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&)" location="f7:80" file="f [...]
+    <Argument name="dst_adjust" type="_8886" location="f7:80" file="f7" line="80"/>
+    <Argument name="dst_start_offset" type="_8886" location="f7:80" file="f7" line="80"/>
+    <Argument name="dst_end_offset" type="_8886" location="f7:80" file="f7" line="80"/>
+  </Constructor>
+  <Field id="_12801" name="dst_start_" type="_10737" offset="32" context="_10247" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEE10dst_start_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>::dst_start_" location="f6:66" file="f6" line="66"/>
+  <Field id="_12802" name="dst_end_" type="_10737" offset="160" context="_10247" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEE8dst_end_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>::dst_end_" location="f6:67" file="f6" line="67"/>
+  <Typedef id="_12803" name="date_type" type="_9061" context="_10247" access="public" location="f6:40" file="f6" line="40"/>
+  <Typedef id="_12804" name="year_type" type="_10768" context="_10247" access="public" location="f6:41" file="f6" line="41"/>
+  <Typedef id="_12805" name="start_rule" type="_10737" context="_10247" access="public" location="f6:42" file="f6" line="42"/>
+  <Typedef id="_12806" name="end_rule" type="_10737" context="_10247" access="public" location="f6:43" file="f6" line="43"/>
+  <Constructor id="_12807" name="day_calc_dst_rule" artificial="1" throw="" context="_10247" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>::day_calc_dst_rule(boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> const&)" location="f6:38" file="f6" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_16904" location="f6:38" file="f6" line="38"/>
+  </Constructor>
+  <Destructor id="_12808" name="day_calc_dst_rule" virtual="1" artificial="1" context="_10247" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEED1Ev *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>::~day_calc_dst_rule()" location="f6:38" file="f6" line="38" inline="1">
+  </Destructor>
+  <Constructor id="_12809" name="day_calc_dst_rule" explicit="1" context="_10247" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEEC1ENS0_17nth_kday_of_monthINS_9gregorian4dateEEES8_ *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>::day_calc_dst_rule(boost::date_time::nth_kday_of_month<boost::gregorian::date>, boost::date_time::nth_kday_of_month<boost::gregorian::date>) [...]
+    <Argument name="dst_start" type="_10737" location="f6:45" file="f6" line="45"/>
+    <Argument name="dst_end" type="_10737" location="f6:45" file="f6" line="45"/>
+  </Constructor>
+  <Method id="_12810" name="start_day" returns="_9061" const="1" virtual="1" context="_10247" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEE9start_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>::start_day(boost::gregorian::greg_year) const" location="f6:50" file="f6" line="50" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:50" file="f6" line="50"/>
+  </Method>
+  <Method id="_12811" name="start_rule_as_string" returns="_2508" const="1" virtual="1" context="_10247" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEE20start_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>::start_rule_as_string() const" location="f6:54" file="f6" line="54" extern="1" inline="1"/>
+  <Method id="_12812" name="end_day" returns="_9061" const="1" virtual="1" context="_10247" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEE7end_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>::end_day(boost::gregorian::greg_year) const" location="f6:58" file="f6" line="58" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:58" file="f6" line="58"/>
+  </Method>
+  <Method id="_12813" name="end_rule_as_string" returns="_2508" const="1" virtual="1" context="_10247" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_kday_rule_specEE18end_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec>::end_rule_as_string() const" location="f6:62" file="f6" line="62" extern="1" inline="1"/>
+  <Typedef id="_12814" name="date_type" type="_9061" context="_10250" access="public" location="f216:63" file="f216" line="63"/>
+  <Typedef id="_12815" name="start_rule" type="_10737" context="_10250" access="public" location="f216:64" file="f216" line="64"/>
+  <Typedef id="_12816" name="end_rule" type="_10737" context="_10250" access="public" location="f216:65" file="f216" line="65"/>
+  <Constructor id="_12817" name="nth_kday_rule_spec" artificial="1" throw="" context="_10250" access="public" mangled="_ZN5boost10local_time18nth_kday_rule_specC1ERKS1_ *INTERNAL* " demangled="boost::local_time::nth_kday_rule_spec::nth_kday_rule_spec(boost::local_time::nth_kday_rule_spec const&)" location="f216:62" file="f216" line="62" inline="1">
+    <Argument name="_ctor_arg" type="_16905" location="f216:62" file="f216" line="62"/>
+  </Constructor>
+  <Constructor id="_12818" name="nth_kday_rule_spec" explicit="1" artificial="1" throw="" context="_10250" access="public" mangled="_ZN5boost10local_time18nth_kday_rule_specC1Ev *INTERNAL* " demangled="boost::local_time::nth_kday_rule_spec::nth_kday_rule_spec()" location="f216:62" file="f216" line="62" inline="1"/>
+  <Field id="_12819" name="dst_start_" type="_10737" offset="32" context="_10251" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEE10dst_start_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>::dst_start_" location="f6:66" file="f6" line="66"/>
+  <Field id="_12820" name="dst_end_" type="_10731" offset="160" context="_10251" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEE8dst_end_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>::dst_end_" location="f6:67" file="f6" line="67"/>
+  <Typedef id="_12821" name="date_type" type="_9061" context="_10251" access="public" location="f6:40" file="f6" line="40"/>
+  <Typedef id="_12822" name="year_type" type="_10768" context="_10251" access="public" location="f6:41" file="f6" line="41"/>
+  <Typedef id="_12823" name="start_rule" type="_10737" context="_10251" access="public" location="f6:42" file="f6" line="42"/>
+  <Typedef id="_12824" name="end_rule" type="_10731" context="_10251" access="public" location="f6:43" file="f6" line="43"/>
+  <Constructor id="_12825" name="day_calc_dst_rule" artificial="1" throw="" context="_10251" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>::day_calc_dst_rule(boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec> const&)" location="f6:38" file="f6" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_16906" location="f6:38" file="f6" line="38"/>
+  </Constructor>
+  <Destructor id="_12826" name="day_calc_dst_rule" virtual="1" artificial="1" context="_10251" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEED1Ev *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>::~day_calc_dst_rule()" location="f6:38" file="f6" line="38" inline="1">
+  </Destructor>
+  <Constructor id="_12827" name="day_calc_dst_rule" explicit="1" context="_10251" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEEC1ENS0_17nth_kday_of_monthINS_9gregorian4dateEEENS0_18last_kday_of_monthIS7_EE *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>::day_calc_dst_rule(boost::date_time::nth_kday_of_month<boost::gregorian::date>, boost::date_time::last_kday_of_month&lt [...]
+    <Argument name="dst_start" type="_10737" location="f6:45" file="f6" line="45"/>
+    <Argument name="dst_end" type="_10731" location="f6:45" file="f6" line="45"/>
+  </Constructor>
+  <Method id="_12828" name="start_day" returns="_9061" const="1" virtual="1" context="_10251" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEE9start_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>::start_day(boost::gregorian::greg_year) const" location="f6:50" file="f6" line="50" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:50" file="f6" line="50"/>
+  </Method>
+  <Method id="_12829" name="start_rule_as_string" returns="_2508" const="1" virtual="1" context="_10251" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEE20start_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>::start_rule_as_string() const" location="f6:54" file="f6" line="54" extern="1" inline="1"/>
+  <Method id="_12830" name="end_day" returns="_9061" const="1" virtual="1" context="_10251" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEE7end_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>::end_day(boost::gregorian::greg_year) const" location="f6:58" file="f6" line="58" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:58" file="f6" line="58"/>
+  </Method>
+  <Method id="_12831" name="end_rule_as_string" returns="_2508" const="1" virtual="1" context="_10251" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time18nth_last_rule_specEE18end_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::nth_last_rule_spec>::end_rule_as_string() const" location="f6:62" file="f6" line="62" extern="1" inline="1"/>
+  <Typedef id="_12832" name="date_type" type="_9061" context="_10253" access="public" location="f216:53" file="f216" line="53"/>
+  <Typedef id="_12833" name="start_rule" type="_10737" context="_10253" access="public" location="f216:54" file="f216" line="54"/>
+  <Typedef id="_12834" name="end_rule" type="_10731" context="_10253" access="public" location="f216:55" file="f216" line="55"/>
+  <Constructor id="_12835" name="nth_last_rule_spec" artificial="1" throw="" context="_10253" access="public" mangled="_ZN5boost10local_time18nth_last_rule_specC1ERKS1_ *INTERNAL* " demangled="boost::local_time::nth_last_rule_spec::nth_last_rule_spec(boost::local_time::nth_last_rule_spec const&)" location="f216:52" file="f216" line="52" inline="1">
+    <Argument name="_ctor_arg" type="_16907" location="f216:52" file="f216" line="52"/>
+  </Constructor>
+  <Constructor id="_12836" name="nth_last_rule_spec" explicit="1" artificial="1" throw="" context="_10253" access="public" mangled="_ZN5boost10local_time18nth_last_rule_specC1Ev *INTERNAL* " demangled="boost::local_time::nth_last_rule_spec::nth_last_rule_spec()" location="f216:52" file="f216" line="52" inline="1"/>
+  <Field id="_12837" name="dst_start_" type="_10731" offset="32" context="_10254" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEE10dst_start_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>::dst_start_" location="f6:66" file="f6" line="66"/>
+  <Field id="_12838" name="dst_end_" type="_10731" offset="96" context="_10254" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEE8dst_end_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>::dst_end_" location="f6:67" file="f6" line="67"/>
+  <Typedef id="_12839" name="date_type" type="_9061" context="_10254" access="public" location="f6:40" file="f6" line="40"/>
+  <Typedef id="_12840" name="year_type" type="_10768" context="_10254" access="public" location="f6:41" file="f6" line="41"/>
+  <Typedef id="_12841" name="start_rule" type="_10731" context="_10254" access="public" location="f6:42" file="f6" line="42"/>
+  <Typedef id="_12842" name="end_rule" type="_10731" context="_10254" access="public" location="f6:43" file="f6" line="43"/>
+  <Constructor id="_12843" name="day_calc_dst_rule" artificial="1" throw="" context="_10254" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>::day_calc_dst_rule(boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec> const&)" location="f6:38" file="f6" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_16908" location="f6:38" file="f6" line="38"/>
+  </Constructor>
+  <Destructor id="_12844" name="day_calc_dst_rule" virtual="1" artificial="1" context="_10254" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEED1Ev *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>::~day_calc_dst_rule()" location="f6:38" file="f6" line="38" inline="1">
+  </Destructor>
+  <Constructor id="_12845" name="day_calc_dst_rule" explicit="1" context="_10254" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEEC1ENS0_18last_kday_of_monthINS_9gregorian4dateEEES8_ *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>::day_calc_dst_rule(boost::date_time::last_kday_of_month<boost::gregorian::date>, boost::date_time::last_kday_of_month<boost::gregorian::date [...]
+    <Argument name="dst_start" type="_10731" location="f6:45" file="f6" line="45"/>
+    <Argument name="dst_end" type="_10731" location="f6:45" file="f6" line="45"/>
+  </Constructor>
+  <Method id="_12846" name="start_day" returns="_9061" const="1" virtual="1" context="_10254" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEE9start_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>::start_day(boost::gregorian::greg_year) const" location="f6:50" file="f6" line="50" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:50" file="f6" line="50"/>
+  </Method>
+  <Method id="_12847" name="start_rule_as_string" returns="_2508" const="1" virtual="1" context="_10254" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEE20start_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>::start_rule_as_string() const" location="f6:54" file="f6" line="54" extern="1" inline="1"/>
+  <Method id="_12848" name="end_day" returns="_9061" const="1" virtual="1" context="_10254" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEE7end_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>::end_day(boost::gregorian::greg_year) const" location="f6:58" file="f6" line="58" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:58" file="f6" line="58"/>
+  </Method>
+  <Method id="_12849" name="end_rule_as_string" returns="_2508" const="1" virtual="1" context="_10254" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time19last_last_rule_specEE18end_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::last_last_rule_spec>::end_rule_as_string() const" location="f6:62" file="f6" line="62" extern="1" inline="1"/>
+  <Typedef id="_12850" name="date_type" type="_9061" context="_10256" access="public" location="f216:43" file="f216" line="43"/>
+  <Typedef id="_12851" name="start_rule" type="_10731" context="_10256" access="public" location="f216:44" file="f216" line="44"/>
+  <Typedef id="_12852" name="end_rule" type="_10731" context="_10256" access="public" location="f216:45" file="f216" line="45"/>
+  <Constructor id="_12853" name="last_last_rule_spec" artificial="1" throw="" context="_10256" access="public" mangled="_ZN5boost10local_time19last_last_rule_specC1ERKS1_ *INTERNAL* " demangled="boost::local_time::last_last_rule_spec::last_last_rule_spec(boost::local_time::last_last_rule_spec const&)" location="f216:42" file="f216" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16909" location="f216:42" file="f216" line="42"/>
+  </Constructor>
+  <Constructor id="_12854" name="last_last_rule_spec" explicit="1" artificial="1" throw="" context="_10256" access="public" mangled="_ZN5boost10local_time19last_last_rule_specC1Ev *INTERNAL* " demangled="boost::local_time::last_last_rule_spec::last_last_rule_spec()" location="f216:42" file="f216" line="42" inline="1"/>
+  <Field id="_12855" name="dst_start_" type="_10734" offset="32" context="_10257" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEE10dst_start_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>::dst_start_" location="f6:66" file="f6" line="66"/>
+  <Field id="_12856" name="dst_end_" type="_10731" offset="96" context="_10257" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEE8dst_end_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>::dst_end_" location="f6:67" file="f6" line="67"/>
+  <Typedef id="_12857" name="date_type" type="_9061" context="_10257" access="public" location="f6:40" file="f6" line="40"/>
+  <Typedef id="_12858" name="year_type" type="_10768" context="_10257" access="public" location="f6:41" file="f6" line="41"/>
+  <Typedef id="_12859" name="start_rule" type="_10734" context="_10257" access="public" location="f6:42" file="f6" line="42"/>
+  <Typedef id="_12860" name="end_rule" type="_10731" context="_10257" access="public" location="f6:43" file="f6" line="43"/>
+  <Constructor id="_12861" name="day_calc_dst_rule" artificial="1" throw="" context="_10257" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>::day_calc_dst_rule(boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec> const&)" location="f6:38" file="f6" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_16910" location="f6:38" file="f6" line="38"/>
+  </Constructor>
+  <Destructor id="_12862" name="day_calc_dst_rule" virtual="1" artificial="1" context="_10257" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEED1Ev *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>::~day_calc_dst_rule()" location="f6:38" file="f6" line="38" inline="1">
+  </Destructor>
+  <Constructor id="_12863" name="day_calc_dst_rule" explicit="1" context="_10257" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEEC1ENS0_19first_kday_of_monthINS_9gregorian4dateEEENS0_18last_kday_of_monthIS7_EE *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>::day_calc_dst_rule(boost::date_time::first_kday_of_month<boost::gregorian::date>, boost::date_time::last_kday_of_ [...]
+    <Argument name="dst_start" type="_10734" location="f6:45" file="f6" line="45"/>
+    <Argument name="dst_end" type="_10731" location="f6:45" file="f6" line="45"/>
+  </Constructor>
+  <Method id="_12864" name="start_day" returns="_9061" const="1" virtual="1" context="_10257" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEE9start_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>::start_day(boost::gregorian::greg_year) const" location="f6:50" file="f6" line="50" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:50" file="f6" line="50"/>
+  </Method>
+  <Method id="_12865" name="start_rule_as_string" returns="_2508" const="1" virtual="1" context="_10257" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEE20start_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>::start_rule_as_string() const" location="f6:54" file="f6" line="54" extern="1" inline="1"/>
+  <Method id="_12866" name="end_day" returns="_9061" const="1" virtual="1" context="_10257" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEE7end_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>::end_day(boost::gregorian::greg_year) const" location="f6:58" file="f6" line="58" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:58" file="f6" line="58"/>
+  </Method>
+  <Method id="_12867" name="end_rule_as_string" returns="_2508" const="1" virtual="1" context="_10257" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time20first_last_rule_specEE18end_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::first_last_rule_spec>::end_rule_as_string() const" location="f6:62" file="f6" line="62" extern="1" inline="1"/>
+  <Typedef id="_12868" name="date_type" type="_9061" context="_10259" access="public" location="f216:33" file="f216" line="33"/>
+  <Typedef id="_12869" name="start_rule" type="_10734" context="_10259" access="public" location="f216:34" file="f216" line="34"/>
+  <Typedef id="_12870" name="end_rule" type="_10731" context="_10259" access="public" location="f216:35" file="f216" line="35"/>
+  <Constructor id="_12871" name="first_last_rule_spec" artificial="1" throw="" context="_10259" access="public" mangled="_ZN5boost10local_time20first_last_rule_specC1ERKS1_ *INTERNAL* " demangled="boost::local_time::first_last_rule_spec::first_last_rule_spec(boost::local_time::first_last_rule_spec const&)" location="f216:32" file="f216" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_16911" location="f216:32" file="f216" line="32"/>
+  </Constructor>
+  <Constructor id="_12872" name="first_last_rule_spec" explicit="1" artificial="1" throw="" context="_10259" access="public" mangled="_ZN5boost10local_time20first_last_rule_specC1Ev *INTERNAL* " demangled="boost::local_time::first_last_rule_spec::first_last_rule_spec()" location="f216:32" file="f216" line="32" inline="1"/>
+  <Field id="_12873" name="dst_start_" type="_10739" offset="32" context="_10260" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEE10dst_start_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>::dst_start_" location="f6:66" file="f6" line="66"/>
+  <Field id="_12874" name="dst_end_" type="_10739" offset="96" context="_10260" access="private" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEE8dst_end_E" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>::dst_end_" location="f6:67" file="f6" line="67"/>
+  <Typedef id="_12875" name="date_type" type="_9061" context="_10260" access="public" location="f6:40" file="f6" line="40"/>
+  <Typedef id="_12876" name="year_type" type="_10768" context="_10260" access="public" location="f6:41" file="f6" line="41"/>
+  <Typedef id="_12877" name="start_rule" type="_10739" context="_10260" access="public" location="f6:42" file="f6" line="42"/>
+  <Typedef id="_12878" name="end_rule" type="_10739" context="_10260" access="public" location="f6:43" file="f6" line="43"/>
+  <Constructor id="_12879" name="day_calc_dst_rule" artificial="1" throw="" context="_10260" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>::day_calc_dst_rule(boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec> const&)" location="f6:38" file="f6" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_16912" location="f6:38" file="f6" line="38"/>
+  </Constructor>
+  <Destructor id="_12880" name="day_calc_dst_rule" virtual="1" artificial="1" context="_10260" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEED1Ev *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>::~day_calc_dst_rule()" location="f6:38" file="f6" line="38" inline="1">
+  </Destructor>
+  <Constructor id="_12881" name="day_calc_dst_rule" explicit="1" context="_10260" access="public" mangled="_ZN5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEEC1ENS0_12partial_dateINS_9gregorian4dateEEES8_ *INTERNAL* " demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>::day_calc_dst_rule(boost::date_time::partial_date<boost::gregorian::date>, boost::date_time::partial_date<boost::gregorian::date>)" locat [...]
+    <Argument name="dst_start" type="_10739" location="f6:45" file="f6" line="45"/>
+    <Argument name="dst_end" type="_10739" location="f6:45" file="f6" line="45"/>
+  </Constructor>
+  <Method id="_12882" name="start_day" returns="_9061" const="1" virtual="1" context="_10260" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEE9start_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>::start_day(boost::gregorian::greg_year) const" location="f6:50" file="f6" line="50" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:50" file="f6" line="50"/>
+  </Method>
+  <Method id="_12883" name="start_rule_as_string" returns="_2508" const="1" virtual="1" context="_10260" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEE20start_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>::start_rule_as_string() const" location="f6:54" file="f6" line="54" extern="1" inline="1"/>
+  <Method id="_12884" name="end_day" returns="_9061" const="1" virtual="1" context="_10260" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEE7end_dayENS_9gregorian9greg_yearE" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>::end_day(boost::gregorian::greg_year) const" location="f6:58" file="f6" line="58" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f6:58" file="f6" line="58"/>
+  </Method>
+  <Method id="_12885" name="end_rule_as_string" returns="_2508" const="1" virtual="1" context="_10260" access="public" mangled="_ZNK5boost9date_time17day_calc_dst_ruleINS_10local_time22partial_date_rule_specEE18end_rule_as_stringEv" demangled="boost::date_time::day_calc_dst_rule<boost::local_time::partial_date_rule_spec>::end_rule_as_string() const" location="f6:62" file="f6" line="62" extern="1" inline="1"/>
+  <Typedef id="_12886" name="date_type" type="_9061" context="_10262" access="public" location="f216:23" file="f216" line="23"/>
+  <Typedef id="_12887" name="start_rule" type="_10739" context="_10262" access="public" location="f216:24" file="f216" line="24"/>
+  <Typedef id="_12888" name="end_rule" type="_10739" context="_10262" access="public" location="f216:25" file="f216" line="25"/>
+  <Constructor id="_12889" name="partial_date_rule_spec" artificial="1" throw="" context="_10262" access="public" mangled="_ZN5boost10local_time22partial_date_rule_specC1ERKS1_ *INTERNAL* " demangled="boost::local_time::partial_date_rule_spec::partial_date_rule_spec(boost::local_time::partial_date_rule_spec const&)" location="f216:22" file="f216" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_16913" location="f216:22" file="f216" line="22"/>
+  </Constructor>
+  <Constructor id="_12890" name="partial_date_rule_spec" explicit="1" artificial="1" throw="" context="_10262" access="public" mangled="_ZN5boost10local_time22partial_date_rule_specC1Ev *INTERNAL* " demangled="boost::local_time::partial_date_rule_spec::partial_date_rule_spec()" location="f216:22" file="f216" line="22" inline="1"/>
+  <ReferenceType id="_12891" type="_8349" size="32" align="32"/>
+  <ReferenceType id="_12892" type="_10747c" size="32" align="32"/>
+  <ReferenceType id="_12893" type="_10749c" size="32" align="32"/>
+  <Constructor id="_12894" name="dst_not_valid" artificial="1" context="_10272" access="public" mangled="_ZN5boost10local_time13dst_not_validC1ERKS1_ *INTERNAL* " demangled="boost::local_time::dst_not_valid::dst_not_valid(boost::local_time::dst_not_valid const&)" location="f10:37" file="f10" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_16916" location="f10:37" file="f10" line="37"/>
+  </Constructor>
+  <Destructor id="_12895" name="dst_not_valid" virtual="1" artificial="1" throw="" context="_10272" access="public" mangled="_ZN5boost10local_time13dst_not_validD1Ev *INTERNAL* " demangled="boost::local_time::dst_not_valid::~dst_not_valid()" location="f82:257" file="f82" line="257" endline="257" inline="1">
+  </Destructor>
+  <Constructor id="_12896" name="dst_not_valid" context="_10272" access="public" mangled="_ZN5boost10local_time13dst_not_validC1ESs *INTERNAL* " demangled="boost::local_time::dst_not_valid::dst_not_valid(std::string)" location="f10:38" file="f10" line="38" endline="39" inline="1">
+    <Argument name="_msg" type="_2509" location="f10:38" file="f10" line="38" default=""""/>
+  </Constructor>
+  <Constructor id="_12897" name="time_label_invalid" artificial="1" context="_10273" access="public" mangled="_ZN5boost10local_time18time_label_invalidC1ERKS1_ *INTERNAL* " demangled="boost::local_time::time_label_invalid::time_label_invalid(boost::local_time::time_label_invalid const&)" location="f10:32" file="f10" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_16917" location="f10:32" file="f10" line="32"/>
+  </Constructor>
+  <Destructor id="_12898" name="time_label_invalid" virtual="1" artificial="1" throw="" context="_10273" access="public" mangled="_ZN5boost10local_time18time_label_invalidD1Ev *INTERNAL* " demangled="boost::local_time::time_label_invalid::~time_label_invalid()" location="f82:257" file="f82" line="257" endline="257" inline="1">
+  </Destructor>
+  <Constructor id="_12899" name="time_label_invalid" context="_10273" access="public" mangled="_ZN5boost10local_time18time_label_invalidC1ESs *INTERNAL* " demangled="boost::local_time::time_label_invalid::time_label_invalid(std::string)" location="f10:33" file="f10" line="33" endline="34" inline="1">
+    <Argument name="_msg" type="_2509" location="f10:33" file="f10" line="33" default=""""/>
+  </Constructor>
+  <Constructor id="_12900" name="ambiguous_result" artificial="1" context="_10274" access="public" mangled="_ZN5boost10local_time16ambiguous_resultC1ERKS1_ *INTERNAL* " demangled="boost::local_time::ambiguous_result::ambiguous_result(boost::local_time::ambiguous_result const&)" location="f10:26" file="f10" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_16918" location="f10:26" file="f10" line="26"/>
+  </Constructor>
+  <Destructor id="_12901" name="ambiguous_result" virtual="1" artificial="1" throw="" context="_10274" access="public" mangled="_ZN5boost10local_time16ambiguous_resultD1Ev *INTERNAL* " demangled="boost::local_time::ambiguous_result::~ambiguous_result()" location="f82:64" file="f82" line="64" endline="64" inline="1">
+  </Destructor>
+  <Constructor id="_12902" name="ambiguous_result" context="_10274" access="public" mangled="_ZN5boost10local_time16ambiguous_resultC1ESs *INTERNAL* " demangled="boost::local_time::ambiguous_result::ambiguous_result(std::string)" location="f10:27" file="f10" line="27" endline="28" inline="1">
+    <Argument name="_msg" type="_2509" location="f10:27" file="f10" line="27" default=""""/>
+  </Constructor>
+  <Typedef id="_12903" name="time_duration_type" type="_10347" context="_10312" access="public" location="f222:277" file="f222" line="277"/>
+  <Typedef id="_12904" name="date_type" type="_9061" context="_10312" access="public" location="f222:278" file="f222" line="278"/>
+  <Typedef id="_12905" name="year_type" type="_10768" context="_10312" access="public" location="f222:279" file="f222" line="279"/>
+  <Typedef id="_12906" name="calendar_type" type="_10755" context="_10312" access="public" location="f222:280" file="f222" line="280"/>
+  <Typedef id="_12907" name="lkday" type="_10729" context="_10312" access="public" location="f222:281" file="f222" line="281"/>
+  <Typedef id="_12908" name="fkday" type="_10732" context="_10312" access="public" location="f222:282" file="f222" line="282"/>
+  <Typedef id="_12909" name="nkday" type="_10735" context="_10312" access="public" location="f222:283" file="f222" line="283"/>
+  <Typedef id="_12910" name="dstcalc" type="_11189" context="_10312" access="public" location="f222:284" file="f222" line="284"/>
+  <Constructor id="_12911" name="us_dst_rules" artificial="1" throw="" context="_10312" access="public" mangled="_ZN5boost9date_time12us_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationELj120ELs60EEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::us_dst_rules<boost::gregorian::date, boost::posix_time::time_duration, 120, 60>::us_dst_rules(boost::date_time::us_dst_rules<boost::gregorian::date, boost::posix_time::time_duration, 120, 60> const&)" location="f222: [...]
+    <Argument name="_ctor_arg" type="_16919" location="f222:275" file="f222" line="275"/>
+  </Constructor>
+  <Constructor id="_12912" name="us_dst_rules" explicit="1" artificial="1" throw="" context="_10312" access="public" mangled="_ZN5boost9date_time12us_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationELj120ELs60EEC1Ev *INTERNAL* " demangled="boost::date_time::us_dst_rules<boost::gregorian::date, boost::posix_time::time_duration, 120, 60>::us_dst_rules()" location="f222:275" file="f222" line="275" inline="1"/>
+  <Method id="_12913" name="local_is_dst" returns="_11190" static="1" context="_10312" access="public" mangled="_ZN5boost9date_time12us_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationELj120ELs60EE12local_is_dstERKS3_RKS5_" demangled="boost::date_time::us_dst_rules<boost::gregorian::date, boost::posix_time::time_duration, 120, 60>::local_is_dst(boost::gregorian::date const&, boost::posix_time::time_duration const&)" location="f222:293" file="f222" line="293" exte [...]
+    <Argument name="d" type="_10010" location="f222:293" file="f222" line="293"/>
+    <Argument name="td" type="_8886" location="f222:293" file="f222" line="293"/>
+  </Method>
+  <Method id="_12914" name="is_dst_boundary_day" returns="_3949" static="1" context="_10312" access="public" mangled="_ZN5boost9date_time12us_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationELj120ELs60EE19is_dst_boundary_dayES3_" demangled="boost::date_time::us_dst_rules<boost::gregorian::date, boost::posix_time::time_duration, 120, 60>::is_dst_boundary_day(boost::gregorian::date)" location="f222:307" file="f222" line="307" extern="1" inline="1">
+    <Argument name="d" type="_9061" location="f222:307" file="f222" line="307"/>
+  </Method>
+  <Method id="_12915" name="local_dst_start_day" returns="_9061" static="1" context="_10312" access="public" mangled="_ZN5boost9date_time12us_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationELj120ELs60EE19local_dst_start_dayENS2_9greg_yearE" demangled="boost::date_time::us_dst_rules<boost::gregorian::date, boost::posix_time::time_duration, 120, 60>::local_dst_start_day(boost::gregorian::greg_year)" location="f222:314" file="f222" line="314" extern="1" inline="1">
+    <Argument name="year" type="_10768" location="f222:314" file="f222" line="314"/>
+  </Method>
+  <Method id="_12916" name="local_dst_end_day" returns="_9061" static="1" context="_10312" access="public" mangled="_ZN5boost9date_time12us_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationELj120ELs60EE17local_dst_end_dayENS2_9greg_yearE" demangled="boost::date_time::us_dst_rules<boost::gregorian::date, boost::posix_time::time_duration, 120, 60>::local_dst_end_day(boost::gregorian::greg_year)" location="f222:327" file="f222" line="327" extern="1" inline="1">
+    <Argument name="year" type="_10768" location="f222:327" file="f222" line="327"/>
+  </Method>
+  <Method id="_12917" name="dst_offset" returns="_10347" static="1" context="_10312" access="public" mangled="_ZN5boost9date_time12us_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationELj120ELs60EE10dst_offsetEv" demangled="boost::date_time::us_dst_rules<boost::gregorian::date, boost::posix_time::time_duration, 120, 60>::dst_offset()" location="f222:340" file="f222" line="340" extern="1" inline="1"/>
+  <Typedef id="_12918" name="time_duration_type" type="_10347" context="_10314" access="public" location="f222:354" file="f222" line="354"/>
+  <Typedef id="_12919" name="date_type" type="_9061" context="_10314" access="public" location="f222:355" file="f222" line="355"/>
+  <Constructor id="_12920" name="null_dst_rules" artificial="1" throw="" context="_10314" access="public" mangled="_ZN5boost9date_time14null_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationEEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::null_dst_rules<boost::gregorian::date, boost::posix_time::time_duration>::null_dst_rules(boost::date_time::null_dst_rules<boost::gregorian::date, boost::posix_time::time_duration> const&)" location="f222:352" file="f222" li [...]
+    <Argument name="_ctor_arg" type="_16920" location="f222:352" file="f222" line="352"/>
+  </Constructor>
+  <Constructor id="_12921" name="null_dst_rules" explicit="1" artificial="1" throw="" context="_10314" access="public" mangled="_ZN5boost9date_time14null_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationEEC1Ev *INTERNAL* " demangled="boost::date_time::null_dst_rules<boost::gregorian::date, boost::posix_time::time_duration>::null_dst_rules()" location="f222:352" file="f222" line="352" inline="1"/>
+  <Method id="_12922" name="local_is_dst" returns="_11190" static="1" context="_10314" access="public" mangled="_ZN5boost9date_time14null_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationEE12local_is_dstERKS3_RKS5_" demangled="boost::date_time::null_dst_rules<boost::gregorian::date, boost::posix_time::time_duration>::local_is_dst(boost::gregorian::date const&, boost::posix_time::time_duration const&)" location="f222:363" file="f222" line="363" extern="1" inline="1">
+    <Argument type="_10010" location="f222:363" file="f222" line="363"/>
+    <Argument type="_8886" location="f222:363" file="f222" line="363"/>
+  </Method>
+  <Method id="_12923" name="utc_is_dst" returns="_11190" static="1" context="_10314" access="public" mangled="_ZN5boost9date_time14null_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationEE10utc_is_dstERKS3_RKS5_" demangled="boost::date_time::null_dst_rules<boost::gregorian::date, boost::posix_time::time_duration>::utc_is_dst(boost::gregorian::date const&, boost::posix_time::time_duration const&)" location="f222:370" file="f222" line="370" extern="1" inline="1">
+    <Argument type="_10010" location="f222:370" file="f222" line="370"/>
+    <Argument type="_8886" location="f222:370" file="f222" line="370"/>
+  </Method>
+  <Method id="_12924" name="is_dst_boundary_day" returns="_3949" static="1" context="_10314" access="public" mangled="_ZN5boost9date_time14null_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationEE19is_dst_boundary_dayES3_" demangled="boost::date_time::null_dst_rules<boost::gregorian::date, boost::posix_time::time_duration>::is_dst_boundary_day(boost::gregorian::date)" location="f222:375" file="f222" line="375" extern="1" inline="1">
+    <Argument name="d" type="_9061" location="f222:375" file="f222" line="375"/>
+  </Method>
+  <Method id="_12925" name="dst_offset" returns="_10347" static="1" context="_10314" access="public" mangled="_ZN5boost9date_time14null_dst_rulesINS_9gregorian4dateENS_10posix_time13time_durationEE10dst_offsetEv" demangled="boost::date_time::null_dst_rules<boost::gregorian::date, boost::posix_time::time_duration>::dst_offset()" location="f222:380" file="f222" line="380" extern="1" inline="1"/>
+  <Typedef id="_12926" name="date_type" type="_9061" context="_10316" access="public" location="f197:44" file="f197" line="44"/>
+  <Typedef id="_12927" name="time_duration_type" type="_10347" context="_10316" access="public" location="f197:45" file="f197" line="45"/>
+  <Typedef id="_12928" name="resolution_traits_type" type="_10349" context="_10316" access="public" location="f197:46" file="f197" line="46"/>
+  <Constructor id="_12929" name="microsec_clock" artificial="1" throw="" context="_10316" access="public" mangled="_ZN5boost9date_time14microsec_clockINS_10posix_time5ptimeEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::microsec_clock<boost::posix_time::ptime>::microsec_clock(boost::date_time::microsec_clock<boost::posix_time::ptime> const&)" location="f197:42" file="f197" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_16921" location="f197:42" file="f197" line="42"/>
+  </Constructor>
+  <Constructor id="_12930" name="microsec_clock" explicit="1" artificial="1" throw="" context="_10316" access="public" mangled="_ZN5boost9date_time14microsec_clockINS_10posix_time5ptimeEEC1Ev *INTERNAL* " demangled="boost::date_time::microsec_clock<boost::posix_time::ptime>::microsec_clock()" location="f197:42" file="f197" line="42" inline="1"/>
+  <Method id="_12931" name="local_time" returns="_10341" static="1" context="_10316" access="public" mangled="_ZN5boost9date_time14microsec_clockINS_10posix_time5ptimeEE10local_timeEv" demangled="boost::date_time::microsec_clock<boost::posix_time::ptime>::local_time()" location="f197:73" file="f197" line="73" endline="74" inline="1"/>
+  <Method id="_12932" name="universal_time" returns="_10341" static="1" context="_10316" access="public" mangled="_ZN5boost9date_time14microsec_clockINS_10posix_time5ptimeEE14universal_timeEv" demangled="boost::date_time::microsec_clock<boost::posix_time::ptime>::universal_time()" location="f197:79" file="f197" line="79" extern="1" inline="1"/>
+  <Method id="_12933" name="create_time" returns="_10341" static="1" context="_10316" access="private" mangled="_ZN5boost9date_time14microsec_clockINS_10posix_time5ptimeEE11create_timeENS4_13TZ_FOR_CREATEE" demangled="boost::date_time::microsec_clock<boost::posix_time::ptime>::create_time(boost::date_time::microsec_clock<boost::posix_time::ptime>::TZ_FOR_CREATE)" location="f197:84" file="f197" line="84" endline="108" inline="1">
+    <Argument name="tz" type="_9062" location="f197:84" file="f197" line="84"/>
+  </Method>
+  <Typedef id="_12934" name="date_type" type="_9061" context="_10318" access="public" location="f214:30" file="f214" line="30"/>
+  <Typedef id="_12935" name="time_duration_type" type="_10347" context="_10318" access="public" location="f214:31" file="f214" line="31"/>
+  <Constructor id="_12936" name="second_clock" artificial="1" throw="" context="_10318" access="public" mangled="_ZN5boost9date_time12second_clockINS_10posix_time5ptimeEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::second_clock<boost::posix_time::ptime>::second_clock(boost::date_time::second_clock<boost::posix_time::ptime> const&)" location="f214:28" file="f214" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_16922" location="f214:28" file="f214" line="28"/>
+  </Constructor>
+  <Constructor id="_12937" name="second_clock" explicit="1" artificial="1" throw="" context="_10318" access="public" mangled="_ZN5boost9date_time12second_clockINS_10posix_time5ptimeEEC1Ev *INTERNAL* " demangled="boost::date_time::second_clock<boost::posix_time::ptime>::second_clock()" location="f214:28" file="f214" line="28" inline="1"/>
+  <Method id="_12938" name="local_time" returns="_10341" static="1" context="_10318" access="public" mangled="_ZN5boost9date_time12second_clockINS_10posix_time5ptimeEE10local_timeEv" demangled="boost::date_time::second_clock<boost::posix_time::ptime>::local_time()" location="f214:34" file="f214" line="34" endline="40" inline="1"/>
+  <Method id="_12939" name="universal_time" returns="_10341" static="1" context="_10318" access="public" mangled="_ZN5boost9date_time12second_clockINS_10posix_time5ptimeEE14universal_timeEv" demangled="boost::date_time::second_clock<boost::posix_time::ptime>::universal_time()" location="f214:46" file="f214" line="46" endline="53" inline="1"/>
+  <Method id="_12940" name="create_time" returns="_10341" static="1" context="_10318" access="private" mangled="_ZN5boost9date_time12second_clockINS_10posix_time5ptimeEE11create_timeEP2tm" demangled="boost::date_time::second_clock<boost::posix_time::ptime>::create_time(tm*)" location="f214:67" file="f214" line="67" endline="74" inline="1">
+    <Argument name="current" type="_2892" location="f214:67" file="f214" line="67"/>
+  </Method>
+  <Field id="_12941" name="begin_" type="_10341" offset="32" context="_10322" access="private" mangled="_ZN5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE6begin_E" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::begin_" location="f206:81" file="f206" line="81"/>
+  <Field id="_12942" name="last_" type="_10341" offset="96" context="_10322" access="private" mangled="_ZN5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE5last_E" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::last_" location="f206:82" file="f206" line="82"/>
+  <Typedef id="_12943" name="point_type" type="_10341" context="_10322" access="public" location="f206:57" file="f206" line="57"/>
+  <Typedef id="_12944" name="duration_type" type="_10347" context="_10322" access="public" location="f206:58" file="f206" line="58"/>
+  <Constructor id="_12945" name="period" artificial="1" throw="" context="_10322" access="public" mangled="_ZN5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEC1ERKS5_ *INTERNAL* " demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::period(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&)" location="f206:55" file="f206" line="55" inline="1">
+    <Argument name="_ctor_arg" type="_8884" location="f206:55" file="f206" line="55"/>
+  </Constructor>
+  <Constructor id="_12946" name="period" explicit="1" context="_10322" access="public" mangled="_ZN5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEC1ES3_S3_ *INTERNAL* " demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::period(boost::posix_time::ptime, boost::posix_time::ptime)" location="f206:91" file="f206" line="91" extern="1" inline="1">
+    <Argument name="first_point" type="_10341" location="f206:91" file="f206" line="91"/>
+    <Argument name="end_point" type="_10341" location="f206:91" file="f206" line="91"/>
+  </Constructor>
+  <Constructor id="_12947" name="period" explicit="1" context="_10322" access="public" mangled="_ZN5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEC1ES3_S4_ *INTERNAL* " demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::period(boost::posix_time::ptime, boost::posix_time::time_duration)" location="f206:101" file="f206" line="101" extern="1" inline="1">
+    <Argument name="first_point" type="_10341" location="f206:101" file="f206" line="101"/>
+    <Argument name="len" type="_10347" location="f206:101" file="f206" line="101"/>
+  </Constructor>
+  <Method id="_12948" name="begin" returns="_10341" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE5beginEv" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::begin() const" location="f206:111" file="f206" line="111" endline="112" inline="1"/>
+  <Method id="_12949" name="end" returns="_10341" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE3endEv" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::end() const" location="f206:119" file="f206" line="119" extern="1" inline="1"/>
+  <Method id="_12950" name="last" returns="_10341" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE4lastEv" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::last() const" location="f206:127" file="f206" line="127" endline="128" inline="1"/>
+  <Method id="_12951" name="length" returns="_10347" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE6lengthEv" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::length() const" location="f206:143" file="f206" line="143" extern="1" inline="1"/>
+  <Method id="_12952" name="is_null" returns="_3949" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE7is_nullEv" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::is_null() const" location="f206:135" file="f206" line="135" extern="1" inline="1"/>
+  <OperatorMethod id="_12953" name="==" returns="_3949" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEeqERKS5_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::operator==(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&) const" location="f206:156" file="f206" line="156" extern="1" inline="1">
+    <Argument name="rhs" type="_8884" location="f206:156" file="f206" line="156"/>
+  </OperatorMethod>
+  <OperatorMethod id="_12954" name="<" returns="_3949" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEEltERKS5_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::operator<(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&) const" location="f206:165" file="f206" line="165" extern="1" inline="1">
+    <Argument name="rhs" type="_8884" location="f206:165" file="f206" line="165"/>
+  </OperatorMethod>
+  <Method id="_12955" name="shift" returns="_1194" context="_10322" access="public" mangled="_ZN5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE5shiftERKS4_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::shift(boost::posix_time::time_duration const&)" location="f206:174" file="f206" line="174" extern="1" inline="1">
+    <Argument name="d" type="_8886" location="f206:174" file="f206" line="174"/>
+  </Method>
+  <Method id="_12956" name="expand" returns="_1194" context="_10322" access="public" mangled="_ZN5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE6expandERKS4_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::expand(boost::posix_time::time_duration const&)" location="f206:201" file="f206" line="201" extern="1" inline="1">
+    <Argument name="d" type="_8886" location="f206:201" file="f206" line="201"/>
+  </Method>
+  <Method id="_12957" name="contains" returns="_3949" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE8containsERKS3_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::contains(boost::posix_time::ptime const&) const" location="f206:210" file="f206" line="210" extern="1" inline="1">
+    <Argument name="point" type="_8885" location="f206:210" file="f206" line="210"/>
+  </Method>
+  <Method id="_12958" name="contains" returns="_3949" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE8containsERKS5_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::contains(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&) const" location="f206:220" file="f206" line="220" extern="1" inline="1">
+    <Argument name="other" type="_8884" location="f206:220" file="f206" line="220"/>
+  </Method>
+  <Method id="_12959" name="intersects" returns="_3949" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE10intersectsERKS5_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::intersects(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&) const" location="f206:303" file="f206" line="303" extern="1" inline="1">
+    <Argument name="other" type="_8884" location="f206:303" file="f206" line="303"/>
+  </Method>
+  <Method id="_12960" name="is_adjacent" returns="_3949" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE11is_adjacentERKS5_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::is_adjacent(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&) const" location="f206:238" file="f206" line="238" extern="1" inline="1">
+    <Argument name="other" type="_8884" location="f206:238" file="f206" line="238"/>
+  </Method>
+  <Method id="_12961" name="is_before" returns="_3949" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE9is_beforeERKS3_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::is_before(boost::posix_time::ptime const&) const" location="f206:279" file="f206" line="279" extern="1" inline="1">
+    <Argument name="t" type="_8885" location="f206:279" file="f206" line="279"/>
+  </Method>
+  <Method id="_12962" name="is_after" returns="_3949" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE8is_afterERKS3_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::is_after(boost::posix_time::ptime const&) const" location="f206:257" file="f206" line="257" extern="1" inline="1">
+    <Argument name="t" type="_8885" location="f206:257" file="f206" line="257"/>
+  </Method>
+  <Method id="_12963" name="intersection" returns="_10322" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE12intersectionERKS5_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::intersection(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&) const" location="f206:314" file="f206" line="314" extern="1" inline="1">
+    <Argument name="other" type="_8884" location="f206:314" file="f206" line="314"/>
+  </Method>
+  <Method id="_12964" name="merge" returns="_10322" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE5mergeERKS5_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::merge(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&) const" location="f206:339" file="f206" line="339" extern="1" inline="1">
+    <Argument name="other" type="_8884" location="f206:339" file="f206" line="339"/>
+  </Method>
+  <Method id="_12965" name="span" returns="_10322" const="1" context="_10322" access="public" mangled="_ZNK5boost9date_time6periodINS_10posix_time5ptimeENS2_13time_durationEE4spanERKS5_" demangled="boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration>::span(boost::date_time::period<boost::posix_time::ptime, boost::posix_time::time_duration> const&) const" location="f206:366" file="f206" line="366" extern="1" inline="1">
+    <Argument name="other" type="_8884" location="f206:366" file="f206" line="366"/>
+  </Method>
+  <Typedef id="_12966" name="traits_type" type="_10349" context="_10324" access="public" location="f205:267" file="f205" line="267"/>
+  <Constructor id="_12967" name="subsecond_duration" artificial="1" context="_10324" access="public" mangled="_ZN5boost9date_time18subsecond_durationINS_10posix_time13time_durationELx1000000EEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::subsecond_duration<boost::posix_time::time_duration, (long long)1000000>::subsecond_duration(boost::date_time::subsecond_duration<boost::posix_time::time_duration, (long long)1000000> const&)" location="f205:265" file="f205" line="26 [...]
+    <Argument name="_ctor_arg" type="_16923" location="f205:265" file="f205" line="265"/>
+  </Constructor>
+  <Constructor id="_12968" name="subsecond_duration" explicit="1" context="_10324" access="public" mangled="_ZN5boost9date_time18subsecond_durationINS_10posix_time13time_durationELx1000000EEC1Ex *INTERNAL* " demangled="boost::date_time::subsecond_duration<boost::posix_time::time_duration, (long long)1000000>::subsecond_duration(long long)" location="f205:268" file="f205" line="268" extern="1" inline="1">
+    <Argument name="ss" type="_1574" location="f205:268" file="f205" line="268"/>
+  </Constructor>
+  <Typedef id="_12969" name="traits_type" type="_10349" context="_10327" access="public" location="f205:267" file="f205" line="267"/>
+  <Constructor id="_12970" name="subsecond_duration" artificial="1" context="_10327" access="public" mangled="_ZN5boost9date_time18subsecond_durationINS_10posix_time13time_durationELx1000EEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::subsecond_duration<boost::posix_time::time_duration, (long long)1000>::subsecond_duration(boost::date_time::subsecond_duration<boost::posix_time::time_duration, (long long)1000> const&)" location="f205:265" file="f205" line="265" inline="1">
+    <Argument name="_ctor_arg" type="_16924" location="f205:265" file="f205" line="265"/>
+  </Constructor>
+  <Constructor id="_12971" name="subsecond_duration" explicit="1" context="_10327" access="public" mangled="_ZN5boost9date_time18subsecond_durationINS_10posix_time13time_durationELx1000EEC1Ex *INTERNAL* " demangled="boost::date_time::subsecond_duration<boost::posix_time::time_duration, (long long)1000>::subsecond_duration(long long)" location="f205:268" file="f205" line="268" extern="1" inline="1">
+    <Argument name="ss" type="_1574" location="f205:268" file="f205" line="268"/>
+  </Constructor>
+  <Constructor id="_12972" name="seconds" artificial="1" context="_10330" access="public" mangled="_ZN5boost10posix_time7secondsC1ERKS1_ *INTERNAL* " demangled="boost::posix_time::seconds::seconds(boost::posix_time::seconds const&)" location="f225:43" file="f225" line="43" inline="1">
+    <Argument name="_ctor_arg" type="_16925" location="f225:43" file="f225" line="43"/>
+  </Constructor>
+  <Constructor id="_12973" name="seconds" explicit="1" context="_10330" access="public" mangled="_ZN5boost10posix_time7secondsC1El *INTERNAL* " demangled="boost::posix_time::seconds::seconds(long)" location="f225:45" file="f225" line="45" endline="47" inline="1">
+    <Argument name="s" type="_1553" location="f225:45" file="f225" line="45"/>
+  </Constructor>
+  <Constructor id="_12974" name="minutes" artificial="1" context="_10331" access="public" mangled="_ZN5boost10posix_time7minutesC1ERKS1_ *INTERNAL* " demangled="boost::posix_time::minutes::minutes(boost::posix_time::minutes const&)" location="f225:32" file="f225" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_16926" location="f225:32" file="f225" line="32"/>
+  </Constructor>
+  <Constructor id="_12975" name="minutes" explicit="1" context="_10331" access="public" mangled="_ZN5boost10posix_time7minutesC1El *INTERNAL* " demangled="boost::posix_time::minutes::minutes(long)" location="f225:34" file="f225" line="34" endline="36" inline="1">
+    <Argument name="m" type="_1553" location="f225:34" file="f225" line="34"/>
+  </Constructor>
+  <Constructor id="_12976" name="hours" artificial="1" context="_10332" access="public" mangled="_ZN5boost10posix_time5hoursC1ERKS1_ *INTERNAL* " demangled="boost::posix_time::hours::hours(boost::posix_time::hours const&)" location="f225:21" file="f225" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_16927" location="f225:21" file="f225" line="21"/>
+  </Constructor>
+  <Constructor id="_12977" name="hours" explicit="1" context="_10332" access="public" mangled="_ZN5boost10posix_time5hoursC1El *INTERNAL* " demangled="boost::posix_time::hours::hours(long)" location="f225:23" file="f225" line="23" endline="25" inline="1">
+    <Argument name="h" type="_1553" location="f225:23" file="f225" line="23"/>
+  </Constructor>
+  <ReferenceType id="_12978" type="_10341" size="32" align="32"/>
+  <Typedef id="_12979" name="time_system_type" type="_10343" context="_10341" access="public" location="f227:34" file="f227" line="34"/>
+  <Typedef id="_12980" name="time_rep_type" type="_10345" context="_10341" access="public" location="f227:35" file="f227" line="35"/>
+  <Typedef id="_12981" name="time_duration_type" type="_10347" context="_10341" access="public" location="f227:36" file="f227" line="36"/>
+  <Constructor id="_12982" name="ptime" artificial="1" throw="" context="_10341" access="public" mangled="_ZN5boost10posix_time5ptimeC1ERKS1_ *INTERNAL* " demangled="boost::posix_time::ptime::ptime(boost::posix_time::ptime const&)" location="f227:32" file="f227" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_8885" location="f227:32" file="f227" line="32"/>
+  </Constructor>
+  <Constructor id="_12983" name="ptime" explicit="1" context="_10341" access="public" mangled="_ZN5boost10posix_time5ptimeC1ENS_9gregorian4dateENS0_13time_durationE *INTERNAL* " demangled="boost::posix_time::ptime::ptime(boost::gregorian::date, boost::posix_time::time_duration)" location="f227:39" file="f227" line="39" endline="40" inline="1">
+    <Argument name="d" type="_9061" location="f227:39" file="f227" line="39"/>
+    <Argument name="td" type="_10347" location="f227:39" file="f227" line="39"/>
+  </Constructor>
+  <Constructor id="_12984" name="ptime" explicit="1" context="_10341" access="public" mangled="_ZN5boost10posix_time5ptimeC1ENS_9gregorian4dateE *INTERNAL* " demangled="boost::posix_time::ptime::ptime(boost::gregorian::date)" location="f227:42" file="f227" line="42" endline="43" inline="1">
+    <Argument name="d" type="_9061" location="f227:42" file="f227" line="42"/>
+  </Constructor>
+  <Constructor id="_12985" name="ptime" context="_10341" access="public" mangled="_ZN5boost10posix_time5ptimeC1ERKNS_9date_time16counted_time_repINS0_33millisec_posix_time_system_configEEE *INTERNAL* " demangled="boost::posix_time::ptime::ptime(boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> const&)" location="f227:45" file="f227" line="45" endline="47" inline="1">
+    <Argument name="rhs" type="_16928" location="f227:45" file="f227" line="45"/>
+  </Constructor>
+  <Constructor id="_12986" name="ptime" context="_10341" access="public" mangled="_ZN5boost10posix_time5ptimeC1ENS_9date_time14special_valuesE *INTERNAL* " demangled="boost::posix_time::ptime::ptime(boost::date_time::special_values)" location="f227:49" file="f227" line="49" endline="50" inline="1">
+    <Argument name="sv" type="_11275c" location="f227:49" file="f227" line="49"/>
+  </Constructor>
+  <Constructor id="_12987" name="ptime" explicit="1" context="_10341" access="public" mangled="_ZN5boost10posix_time5ptimeC1Ev *INTERNAL* " demangled="boost::posix_time::ptime::ptime()" location="f227:53" file="f227" line="53" endline="54" inline="1"/>
+  <Typedef id="_12988" name="time_rep_type" type="_10345" context="_10342" access="public" location="f228:123" file="f228" line="123"/>
+  <Typedef id="_12989" name="impl_type" type="_11269" context="_10342" access="public" location="f228:124" file="f228" line="124"/>
+  <Typedef id="_12990" name="time_duration_type" type="_10347" context="_10342" access="public" location="f228:125" file="f228" line="125"/>
+  <Typedef id="_12991" name="fractional_seconds_type" type="_1574" context="_10342" access="public" location="f228:126" file="f228" line="126"/>
+  <Typedef id="_12992" name="date_type" type="_9061" context="_10342" access="public" location="f228:127" file="f228" line="127"/>
+  <Typedef id="_12993" name="date_duration_type" type="_10752" context="_10342" access="public" location="f228:128" file="f228" line="128"/>
+  <Constructor id="_12994" name="counted_time_system" artificial="1" throw="" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::counted_time_system(boost::date_time::counted_time_system<boost::date_time:: [...]
+    <Argument name="_ctor_arg" type="_16929" location="f228:121" file="f228" line="121"/>
+  </Constructor>
+  <Constructor id="_12995" name="counted_time_system" explicit="1" artificial="1" throw="" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEEC1Ev *INTERNAL* " demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::counted_time_system()" location="f228:121" file="f228" line="121" inli [...]
+  <Method id="_12996" name="get_time_rep" returns="_10345" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE12get_time_repERKNS_9gregorian4dateERKNS3_13time_durationENS0_9dst_flagsE" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::get_time_rep(boost::gregorian::dat [...]
+    <Argument name="day" type="_10010" location="f228:136" file="f228" line="136"/>
+    <Argument name="tod" type="_8886" location="f228:136" file="f228" line="136"/>
+    <Argument name="dst" type="_11212" location="f228:136" file="f228" line="136" default="not_dst"/>
+  </Method>
+  <Method id="_12997" name="get_time_rep" returns="_10345" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE12get_time_repENS0_14special_valuesE" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::get_time_rep(boost::date_time::special_values)" location="f228:142" fil [...]
+    <Argument name="sv" type="_11275" location="f228:142" file="f228" line="142"/>
+  </Method>
+  <Method id="_12998" name="get_date" returns="_9061" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE8get_dateERKS5_" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::get_date(boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_conf [...]
+    <Argument name="val" type="_16928" location="f228:169" file="f228" line="169"/>
+  </Method>
+  <Method id="_12999" name="get_time_of_day" returns="_10347" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE15get_time_of_dayERKS5_" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::get_time_of_day(boost::date_time::counted_time_rep<boost::posix_time::millisec [...]
+    <Argument name="val" type="_16928" location="f228:173" file="f228" line="173"/>
+  </Method>
+  <Method id="_13000" name="zone_name" returns="_2508" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE9zone_nameERKS5_" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::zone_name(boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_c [...]
+    <Argument type="_16928" location="f228:182" file="f228" line="182"/>
+  </Method>
+  <Method id="_13001" name="is_equal" returns="_3949" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE8is_equalERKS5_S8_" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::is_equal(boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_c [...]
+    <Argument name="lhs" type="_16928" location="f228:186" file="f228" line="186"/>
+    <Argument name="rhs" type="_16928" location="f228:186" file="f228" line="186"/>
+  </Method>
+  <Method id="_13002" name="is_less" returns="_3949" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE7is_lessERKS5_S8_" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::is_less(boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_conf [...]
+    <Argument name="lhs" type="_16928" location="f228:190" file="f228" line="190"/>
+    <Argument name="rhs" type="_16928" location="f228:190" file="f228" line="190"/>
+  </Method>
+  <Method id="_13003" name="add_days" returns="_10345" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE8add_daysERKS5_RKNS0_13date_durationINS0_23duration_traits_adaptedEEE" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::add_days(boost::date_time::counted_time_re [...]
+    <Argument name="base" type="_16928" location="f228:195" file="f228" line="195"/>
+    <Argument name="dd" type="_16391" location="f228:195" file="f228" line="195"/>
+  </Method>
+  <Method id="_13004" name="subtract_days" returns="_10345" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE13subtract_daysERKS5_RKNS0_13date_durationINS0_23duration_traits_adaptedEEE" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::subtract_days(boost::date_time: [...]
+    <Argument name="base" type="_16928" location="f228:205" file="f228" line="205"/>
+    <Argument name="dd" type="_16391" location="f228:205" file="f228" line="205"/>
+  </Method>
+  <Method id="_13005" name="subtract_time_duration" returns="_10345" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE22subtract_time_durationERKS5_RKNS3_13time_durationE" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::subtract_time_duration(boost::date_time::coun [...]
+    <Argument name="base" type="_16928" location="f228:215" file="f228" line="215"/>
+    <Argument name="td" type="_8886" location="f228:215" file="f228" line="215"/>
+  </Method>
+  <Method id="_13006" name="add_time_duration" returns="_10345" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE17add_time_durationERKS5_NS3_13time_durationE" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::add_time_duration(boost::date_time::counted_time_rep<b [...]
+    <Argument name="base" type="_16928" location="f228:225" file="f228" line="225"/>
+    <Argument name="td" type="_10347" location="f228:225" file="f228" line="225"/>
+  </Method>
+  <Method id="_13007" name="subtract_times" returns="_10347" static="1" context="_10342" access="public" mangled="_ZN5boost9date_time19counted_time_systemINS0_16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEEE14subtract_timesERKS5_S8_" demangled="boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::subtract_times(boost::date_time::counted_time_rep<boost::posix_time::millisec [...]
+    <Argument name="lhs" type="_16928" location="f228:235" file="f228" line="235"/>
+    <Argument name="rhs" type="_16928" location="f228:235" file="f228" line="235"/>
+  </Method>
+  <Field id="_13008" name="time_count_" type="_11269" offset="0" context="_10344" access="private" mangled="_ZN5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE11time_count_E" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::time_count_" location="f228:115" file="f228" line="115"/>
+  <Typedef id="_13009" name="int_type" type="_1574" context="_10344" access="public" location="f228:25" file="f228" line="25"/>
+  <Typedef id="_13010" name="date_type" type="_9061" context="_10344" access="public" location="f228:26" file="f228" line="26"/>
+  <Typedef id="_13011" name="impl_type" type="_11269" context="_10344" access="public" location="f228:27" file="f228" line="27"/>
+  <Typedef id="_13012" name="date_duration_type" type="_10752" context="_10344" access="public" location="f228:28" file="f228" line="28"/>
+  <Typedef id="_13013" name="calendar_type" type="_10755" context="_10344" access="public" location="f228:29" file="f228" line="29"/>
+  <Typedef id="_13014" name="ymd_type" type="_10759" context="_10344" access="public" location="f228:30" file="f228" line="30"/>
+  <Typedef id="_13015" name="time_duration_type" type="_10347" context="_10344" access="public" location="f228:31" file="f228" line="31"/>
+  <Typedef id="_13016" name="resolution_traits" type="_10349" context="_10344" access="public" location="f228:32" file="f228" line="32"/>
+  <Constructor id="_13017" name="counted_time_rep" artificial="1" throw="" context="_10344" access="public" mangled="_ZN5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::counted_time_rep(boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> const&)" location="f228:24" file="f228"  [...]
+    <Argument name="_ctor_arg" type="_16930" location="f228:24" file="f228" line="24"/>
+  </Constructor>
+  <Constructor id="_13018" name="counted_time_rep" explicit="1" context="_10344" access="public" mangled="_ZN5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEC1ERKNS_9gregorian4dateERKNS2_13time_durationE *INTERNAL* " demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::counted_time_rep(boost::gregorian::date const&, boost::posix_time::time_duration const&)" location="f228:35" file="f228"  [...]
+    <Argument name="d" type="_10010" location="f228:35" file="f228" line="35"/>
+    <Argument name="time_of_day" type="_8886" location="f228:35" file="f228" line="35"/>
+  </Constructor>
+  <Constructor id="_13019" name="counted_time_rep" explicit="1" context="_10344" access="public" mangled="_ZN5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEC1Ex *INTERNAL* " demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::counted_time_rep(long long)" location="f228:45" file="f228" line="45" endline="47" inline="1">
+    <Argument name="count" type="_1574" location="f228:45" file="f228" line="45"/>
+  </Constructor>
+  <Constructor id="_13020" name="counted_time_rep" explicit="1" context="_10344" access="public" mangled="_ZN5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEEC1ENS0_11int_adapterIxEE *INTERNAL* " demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::counted_time_rep(boost::date_time::int_adapter<long long>)" location="f228:48" file="f228" line="48" endline="50" inline="1">
+    <Argument name="count" type="_11269" location="f228:48" file="f228" line="48"/>
+  </Constructor>
+  <Method id="_13021" name="date" returns="_9061" const="1" context="_10344" access="public" mangled="_ZNK5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE4dateEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::date() const" location="f228:52" file="f228" line="52" endline="60" inline="1"/>
+  <Method id="_13022" name="day_count" returns="_643" const="1" context="_10344" access="public" mangled="_ZNK5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE9day_countEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::day_count() const" location="f228:65" file="f228" line="65" endline="78" inline="1"/>
+  <Method id="_13023" name="time_count" returns="_1574" const="1" context="_10344" access="public" mangled="_ZNK5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE10time_countEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::time_count() const" location="f228:81" file="f228" line="81" endline="82" inline="1"/>
+  <Method id="_13024" name="tod" returns="_1574" const="1" context="_10344" access="public" mangled="_ZNK5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE3todEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::tod() const" location="f228:85" file="f228" line="85" endline="86" inline="1"/>
+  <Method id="_13025" name="frac_sec_per_day" returns="_1574" static="1" context="_10344" access="public" mangled="_ZN5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE16frac_sec_per_dayEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::frac_sec_per_day()" location="f228:89" file="f228" line="89" endline="92" inline="1"/>
+  <Method id="_13026" name="is_pos_infinity" returns="_3949" const="1" context="_10344" access="public" mangled="_ZNK5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE15is_pos_infinityEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::is_pos_infinity() const" location="f228:95" file="f228" line="95" endline="96" inline="1"/>
+  <Method id="_13027" name="is_neg_infinity" returns="_3949" const="1" context="_10344" access="public" mangled="_ZNK5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE15is_neg_infinityEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::is_neg_infinity() const" location="f228:99" file="f228" line="99" endline="100" inline="1"/>
+  <Method id="_13028" name="is_not_a_date_time" returns="_3949" const="1" context="_10344" access="public" mangled="_ZNK5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE18is_not_a_date_timeEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::is_not_a_date_time() const" location="f228:103" file="f228" line="103" endline="104" inline="1"/>
+  <Method id="_13029" name="is_special" returns="_3949" const="1" context="_10344" access="public" mangled="_ZNK5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE10is_specialEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::is_special() const" location="f228:107" file="f228" line="107" endline="108" inline="1"/>
+  <Method id="_13030" name="get_rep" returns="_11269" const="1" context="_10344" access="public" mangled="_ZNK5boost9date_time16counted_time_repINS_10posix_time33millisec_posix_time_system_configEE7get_repEv" demangled="boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config>::get_rep() const" location="f228:111" file="f228" line="111" endline="112" inline="1"/>
+  <Typedef id="_13031" name="time_rep_type" type="_1574" context="_10346" access="public" location="f230:157" file="f230" line="157"/>
+  <Typedef id="_13032" name="date_type" type="_9061" context="_10346" access="public" location="f230:159" file="f230" line="159"/>
+  <Typedef id="_13033" name="date_duration_type" type="_10752" context="_10346" access="public" location="f230:160" file="f230" line="160"/>
+  <Typedef id="_13034" name="time_duration_type" type="_10347" context="_10346" access="public" location="f230:161" file="f230" line="161"/>
+  <Typedef id="_13035" name="int_type" type="_1574" context="_10346" access="public" location="f230:162" file="f230" line="162"/>
+  <Typedef id="_13036" name="impl_type" type="_11269" context="_10346" access="public" location="f230:163" file="f230" line="163"/>
+  <Typedef id="_13037" name="resolution_traits" type="_10349" context="_10346" access="public" location="f230:164" file="f230" line="164"/>
+  <Constructor id="_13038" name="millisec_posix_time_system_config" artificial="1" throw="" context="_10346" access="public" mangled="_ZN5boost10posix_time33millisec_posix_time_system_configC1ERKS1_ *INTERNAL* " demangled="boost::posix_time::millisec_posix_time_system_config::millisec_posix_time_system_config(boost::posix_time::millisec_posix_time_system_config const&)" location="f230:155" file="f230" line="155" inline="1">
+    <Argument name="_ctor_arg" type="_16931" location="f230:155" file="f230" line="155"/>
+  </Constructor>
+  <Constructor id="_13039" name="millisec_posix_time_system_config" explicit="1" artificial="1" throw="" context="_10346" access="public" mangled="_ZN5boost10posix_time33millisec_posix_time_system_configC1Ev *INTERNAL* " demangled="boost::posix_time::millisec_posix_time_system_config::millisec_posix_time_system_config()" location="f230:155" file="f230" line="155" inline="1"/>
+  <Typedef id="_13040" name="rep_type" type="_10349" context="_10347" access="public" location="f230:61" file="f230" line="61"/>
+  <Typedef id="_13041" name="day_type" type="_1575" context="_10347" access="public" location="f230:62" file="f230" line="62"/>
+  <Typedef id="_13042" name="hour_type" type="_1575" context="_10347" access="public" location="f230:63" file="f230" line="63"/>
+  <Typedef id="_13043" name="min_type" type="_1575" context="_10347" access="public" location="f230:64" file="f230" line="64"/>
+  <Typedef id="_13044" name="sec_type" type="_1575" context="_10347" access="public" location="f230:65" file="f230" line="65"/>
+  <Typedef id="_13045" name="fractional_seconds_type" type="_1574" context="_10347" access="public" location="f230:66" file="f230" line="66"/>
+  <Typedef id="_13046" name="tick_type" type="_1574" context="_10347" access="public" location="f230:67" file="f230" line="67"/>
+  <Typedef id="_13047" name="impl_type" type="_11269" context="_10347" access="public" location="f230:68" file="f230" line="68"/>
+  <Constructor id="_13048" name="time_duration" artificial="1" context="_10347" access="public" mangled="_ZN5boost10posix_time13time_durationC1ERKS1_ *INTERNAL* " demangled="boost::posix_time::time_duration::time_duration(boost::posix_time::time_duration const&)" location="f228:154" file="f228" line="154" endline="154" inline="1">
+    <Argument name="_ctor_arg" type="_8886" location="f230:59" file="f230" line="59"/>
+  </Constructor>
+  <Constructor id="_13049" name="time_duration" explicit="1" context="_10347" access="public" mangled="_ZN5boost10posix_time13time_durationC1Eiiix *INTERNAL* " demangled="boost::posix_time::time_duration::time_duration(int, int, int, long long)" location="f230:72" file="f230" line="72" endline="74" inline="1">
+    <Argument name="hour" type="_1575" location="f230:72" file="f230" line="72"/>
+    <Argument name="min" type="_1575" location="f230:72" file="f230" line="72"/>
+    <Argument name="sec" type="_1575" location="f230:72" file="f230" line="72"/>
+    <Argument name="fs" type="_1574" location="f230:72" file="f230" line="72" default="0"/>
+  </Constructor>
+  <Constructor id="_13050" name="time_duration" explicit="1" context="_10347" access="public" mangled="_ZN5boost10posix_time13time_durationC1Ev *INTERNAL* " demangled="boost::posix_time::time_duration::time_duration()" location="f230:75" file="f230" line="75" endline="77" inline="1"/>
+  <Constructor id="_13051" name="time_duration" context="_10347" access="public" mangled="_ZN5boost10posix_time13time_durationC1ENS_9date_time14special_valuesE *INTERNAL* " demangled="boost::posix_time::time_duration::time_duration(boost::date_time::special_values)" location="f230:79" file="f230" line="79" endline="81" inline="1">
+    <Argument name="sv" type="_11275" location="f230:79" file="f230" line="79"/>
+  </Constructor>
+  <Constructor id="_13052" name="time_duration" explicit="1" context="_10347" access="private" mangled="_ZN5boost10posix_time13time_durationC1ENS_9date_time11int_adapterIxEE *INTERNAL* " demangled="boost::posix_time::time_duration::time_duration(boost::date_time::int_adapter<long long>)" location="f230:85" file="f230" line="85" endline="87" inline="1">
+    <Argument name="ticks" type="_11269" location="f230:85" file="f230" line="85"/>
+  </Constructor>
+  <Variable id="_13053" name="ticks_per_second" type="_503c" init="1000000" context="_10348" access="public" mangled="_ZN5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiE16ticks_per_secondE" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>::ticks_per_second" location="f231:92" fil [...]
+  <Typedef id="_13054" name="fractional_seconds_type" type="_1574" context="_10348" access="public" location="f231:73" file="f231" line="73"/>
+  <Typedef id="_13055" name="tick_type" type="_1574" context="_10348" access="public" location="f231:74" file="f231" line="74"/>
+  <Typedef id="_13056" name="impl_type" type="_11269" context="_10348" access="public" location="f231:75" file="f231" line="75"/>
+  <Typedef id="_13057" name="day_type" type="_1575" context="_10348" access="public" location="f231:76" file="f231" line="76"/>
+  <Typedef id="_13058" name="hour_type" type="_1575" context="_10348" access="public" location="f231:77" file="f231" line="77"/>
+  <Typedef id="_13059" name="min_type" type="_1575" context="_10348" access="public" location="f231:78" file="f231" line="78"/>
+  <Typedef id="_13060" name="sec_type" type="_1575" context="_10348" access="public" location="f231:79" file="f231" line="79"/>
+  <Constructor id="_13061" name="time_resolution_traits" artificial="1" throw="" context="_10348" access="public" mangled="_ZN5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>::time_resolution_traits(boost::date [...]
+    <Argument name="_ctor_arg" type="_16932" location="f231:71" file="f231" line="71"/>
+  </Constructor>
+  <Constructor id="_13062" name="time_resolution_traits" explicit="1" artificial="1" throw="" context="_10348" access="public" mangled="_ZN5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEC1Ev *INTERNAL* " demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>::time_resolution_traits()" [...]
+  <Method id="_13063" name="as_number" returns="_1574" static="1" context="_10348" access="public" mangled="_ZN5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiE9as_numberENS0_11int_adapterIxEE" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>::as_number(boost::date_time::int_adapt [...]
+    <Argument name="i" type="_11269" location="f231:83" file="f231" line="83"/>
+  </Method>
+  <Method id="_13064" name="is_adapted" returns="_3949" static="1" context="_10348" access="public" mangled="_ZN5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiE10is_adaptedEv" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>::is_adapted()" location="f231:87" file="f231" line="87" [...]
+  <Method id="_13065" name="resolution" returns="_11213" static="1" context="_10348" access="public" mangled="_ZN5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiE10resolutionEv" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>::resolution()" location="f231:96" file="f231" line="96 [...]
+  <Method id="_13066" name="num_fractional_digits" returns="_1199" static="1" context="_10348" access="public" mangled="_ZN5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiE21num_fractional_digitsEv" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>::num_fractional_digits()" locatio [...]
+  <Method id="_13067" name="res_adjust" returns="_1574" static="1" context="_10348" access="public" mangled="_ZN5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiE10res_adjustEv" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>::res_adjust()" location="f231:104" file="f231" line="10 [...]
+  <Method id="_13068" name="to_tick_count" returns="_1574" static="1" context="_10348" access="public" mangled="_ZN5boost9date_time22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiE13to_tick_countEiiix" demangled="boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time_resolutions)5, (long long)1000000, 6, int>::to_tick_count(int, int, int, long long)" loca [...]
+    <Argument name="hours" type="_1575" location="f231:112" file="f231" line="112"/>
+    <Argument name="minutes" type="_1575" location="f231:112" file="f231" line="112"/>
+    <Argument name="seconds" type="_1575" location="f231:112" file="f231" line="112"/>
+    <Argument name="fs" type="_1574" location="f231:112" file="f231" line="112"/>
+  </Method>
+  <Typedef id="_13069" name="cat" type="_10352" context="_10350" access="public" location="f15:282" file="f15" line="282"/>
+  <Typedef id="_13070" name="iterator_category" type="_2700" context="_10350" access="public" location="f15:284" file="f15" line="284"/>
+  <Constructor id="_13071" name="get_iterator_category" artificial="1" throw="" context="_10350" access="public" mangled="_ZN5boost16tokenizer_detail21get_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::tokenizer_detail::get_iterator_category<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::get_iterator_c [...]
+    <Argument name="_ctor_arg" type="_16933" location="f15:278" file="f15" line="278"/>
+  </Constructor>
+  <Constructor id="_13072" name="get_iterator_category" explicit="1" artificial="1" throw="" context="_10350" access="public" mangled="_ZN5boost16tokenizer_detail21get_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::tokenizer_detail::get_iterator_category<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::get_i [...]
+  <Typedef id="_13073" name="cat" type="_10353" context="_10351" access="public" location="f15:282" file="f15" line="282"/>
+  <Typedef id="_13074" name="iterator_category" type="_2700" context="_10351" access="public" location="f15:284" file="f15" line="284"/>
+  <Constructor id="_13075" name="get_iterator_category" artificial="1" throw="" context="_10351" access="public" mangled="_ZN5boost16tokenizer_detail21get_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::tokenizer_detail::get_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >::get_iterator_category(boost::tokenizer_detail::get_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string&g [...]
+    <Argument name="_ctor_arg" type="_16934" location="f15:278" file="f15" line="278"/>
+  </Constructor>
+  <Constructor id="_13076" name="get_iterator_category" explicit="1" artificial="1" throw="" context="_10351" access="public" mangled="_ZN5boost16tokenizer_detail21get_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::tokenizer_detail::get_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >::get_iterator_category()" location="f15:278" file="f15" line="278" inline="1"/>
+  <Typedef id="_13077" name="type" type="_2700" context="_10352" access="public" location="f15:271" file="f15" line="271"/>
+  <Constructor id="_13078" name="class_iterator_category" artificial="1" throw="" context="_10352" access="public" mangled="_ZN5boost16tokenizer_detail23class_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::class_it [...]
+    <Argument name="_ctor_arg" type="_16935" location="f15:270" file="f15" line="270"/>
+  </Constructor>
+  <Constructor id="_13079" name="class_iterator_category" explicit="1" artificial="1" throw="" context="_10352" access="public" mangled="_ZN5boost16tokenizer_detail23class_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >: [...]
+  <Typedef id="_13080" name="type" type="_2700" context="_10353" access="public" location="f15:271" file="f15" line="271"/>
+  <Constructor id="_13081" name="class_iterator_category" artificial="1" throw="" context="_10353" access="public" mangled="_ZN5boost16tokenizer_detail23class_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >::class_iterator_category(boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<char const*, std [...]
+    <Argument name="_ctor_arg" type="_16936" location="f15:270" file="f15" line="270"/>
+  </Constructor>
+  <Constructor id="_13082" name="class_iterator_category" explicit="1" artificial="1" throw="" context="_10353" access="public" mangled="_ZN5boost16tokenizer_detail23class_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::tokenizer_detail::class_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >::class_iterator_category()" location="f15:270" file="f15" line="270" inline="1"/>
+  <Constructor id="_13083" name="assign_or_plus_equal" artificial="1" throw="" context="_10356" access="public" mangled="_ZN5boost16tokenizer_detail20assign_or_plus_equalISt26random_access_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::tokenizer_detail::assign_or_plus_equal<std::random_access_iterator_tag>::assign_or_plus_equal(boost::tokenizer_detail::assign_or_plus_equal<std::random_access_iterator_tag> const&)" location="f15:211" file="f15" line="211" inline="1">
+    <Argument name="_ctor_arg" type="_16937" location="f15:211" file="f15" line="211"/>
+  </Constructor>
+  <Constructor id="_13084" name="assign_or_plus_equal" explicit="1" artificial="1" throw="" context="_10356" access="public" mangled="_ZN5boost16tokenizer_detail20assign_or_plus_equalISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::tokenizer_detail::assign_or_plus_equal<std::random_access_iterator_tag>::assign_or_plus_equal()" location="f15:211" file="f15" line="211" inline="1"/>
+  <Constructor id="_13085" name="assign_or_plus_equal" artificial="1" throw="" context="_10357" access="public" mangled="_ZN5boost16tokenizer_detail20assign_or_plus_equalISt18input_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::tokenizer_detail::assign_or_plus_equal<std::input_iterator_tag>::assign_or_plus_equal(boost::tokenizer_detail::assign_or_plus_equal<std::input_iterator_tag> const&)" location="f15:247" file="f15" line="247" inline="1">
+    <Argument name="_ctor_arg" type="_16938" location="f15:247" file="f15" line="247"/>
+  </Constructor>
+  <Constructor id="_13086" name="assign_or_plus_equal" explicit="1" artificial="1" throw="" context="_10357" access="public" mangled="_ZN5boost16tokenizer_detail20assign_or_plus_equalISt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::tokenizer_detail::assign_or_plus_equal<std::input_iterator_tag>::assign_or_plus_equal()" location="f15:247" file="f15" line="247" inline="1"/>
+  <Field id="_13087" name="s_save_" type="_4942" offset="0" context="_10358" access="private" mangled="_ZN5boost2io18ios_all_word_saver7s_save_E" demangled="boost::io::ios_all_word_saver::s_save_" location="f232:407" file="f232" line="407"/>
+  <Field id="_13088" name="i_save_" type="_503c" offset="32" context="_10358" access="private" mangled="_ZN5boost2io18ios_all_word_saver7i_save_E" demangled="boost::io::ios_all_word_saver::i_save_" location="f232:408" file="f232" line="408"/>
+  <Field id="_13089" name="a1_save_" type="_1553c" offset="64" context="_10358" access="private" mangled="_ZN5boost2io18ios_all_word_saver8a1_save_E" demangled="boost::io::ios_all_word_saver::a1_save_" location="f232:409" file="f232" line="409"/>
+  <Field id="_13090" name="a2_save_" type="_1042c" offset="96" context="_10358" access="private" mangled="_ZN5boost2io18ios_all_word_saver8a2_save_E" demangled="boost::io::ios_all_word_saver::a2_save_" location="f232:410" file="f232" line="410"/>
+  <Typedef id="_13091" name="state_type" type="_2477" context="_10358" access="public" location="f232:389" file="f232" line="389"/>
+  <Typedef id="_13092" name="index_type" type="_503" context="_10358" access="public" location="f232:390" file="f232" line="390"/>
+  <Constructor id="_13093" name="ios_all_word_saver" artificial="1" throw="" context="_10358" access="public" mangled="_ZN5boost2io18ios_all_word_saverC1ERKS1_ *INTERNAL* " demangled="boost::io::ios_all_word_saver::ios_all_word_saver(boost::io::ios_all_word_saver const&)" location="f232:387" file="f232" line="387" inline="1">
+    <Argument name="_ctor_arg" type="_16940" location="f232:387" file="f232" line="387"/>
+  </Constructor>
+  <Constructor id="_13094" name="ios_all_word_saver" explicit="1" context="_10358" access="public" mangled="_ZN5boost2io18ios_all_word_saverC1ERSt8ios_basei *INTERNAL* " demangled="boost::io::ios_all_word_saver::ios_all_word_saver(std::ios_base&, int)" location="f232:393" file="f232" line="393" endline="395" inline="1">
+    <Argument name="s" type="_4942" location="f232:393" file="f232" line="393"/>
+    <Argument name="i" type="_503" location="f232:393" file="f232" line="393"/>
+  </Constructor>
+  <Destructor id="_13095" name="ios_all_word_saver" context="_10358" access="public" mangled="_ZN5boost2io18ios_all_word_saverD1Ev *INTERNAL* " demangled="boost::io::ios_all_word_saver::~ios_all_word_saver()" location="f232:398" file="f232" line="398" endline="398" inline="1">
+  </Destructor>
+  <Method id="_13096" name="restore" returns="_1194" context="_10358" access="public" mangled="_ZN5boost2io18ios_all_word_saver7restoreEv" demangled="boost::io::ios_all_word_saver::restore()" location="f232:401" file="f232" line="401" endline="404" inline="1"/>
+  <Field id="_13097" name="s_save_" type="_4942" offset="0" context="_10359" access="private" mangled="_ZN5boost2io15ios_pword_saver7s_save_E" demangled="boost::io::ios_pword_saver::s_save_" location="f232:302" file="f232" line="302"/>
+  <Field id="_13098" name="a_save_" type="_1042c" offset="32" context="_10359" access="private" mangled="_ZN5boost2io15ios_pword_saver7a_save_E" demangled="boost::io::ios_pword_saver::a_save_" location="f232:303" file="f232" line="303"/>
+  <Field id="_13099" name="i_save_" type="_503c" offset="64" context="_10359" access="private" mangled="_ZN5boost2io15ios_pword_saver7i_save_E" demangled="boost::io::ios_pword_saver::i_save_" location="f232:304" file="f232" line="304"/>
+  <Typedef id="_13100" name="state_type" type="_2477" context="_10359" access="public" location="f232:285" file="f232" line="285"/>
+  <Typedef id="_13101" name="index_type" type="_503" context="_10359" access="public" location="f232:286" file="f232" line="286"/>
+  <Typedef id="_13102" name="aspect_type" type="_1042" context="_10359" access="public" location="f232:287" file="f232" line="287"/>
+  <Constructor id="_13103" name="ios_pword_saver" artificial="1" throw="" context="_10359" access="public" mangled="_ZN5boost2io15ios_pword_saverC1ERKS1_ *INTERNAL* " demangled="boost::io::ios_pword_saver::ios_pword_saver(boost::io::ios_pword_saver const&)" location="f232:283" file="f232" line="283" inline="1">
+    <Argument name="_ctor_arg" type="_16941" location="f232:283" file="f232" line="283"/>
+  </Constructor>
+  <Constructor id="_13104" name="ios_pword_saver" explicit="1" context="_10359" access="public" mangled="_ZN5boost2io15ios_pword_saverC1ERSt8ios_basei *INTERNAL* " demangled="boost::io::ios_pword_saver::ios_pword_saver(std::ios_base&, int)" location="f232:290" file="f232" line="290" endline="291" inline="1">
+    <Argument name="s" type="_4942" location="f232:290" file="f232" line="290"/>
+    <Argument name="i" type="_503" location="f232:290" file="f232" line="290"/>
+  </Constructor>
+  <Constructor id="_13105" name="ios_pword_saver" explicit="1" context="_10359" access="public" mangled="_ZN5boost2io15ios_pword_saverC1ERSt8ios_baseiRKPv *INTERNAL* " demangled="boost::io::ios_pword_saver::ios_pword_saver(std::ios_base&, int, void* const&)" location="f232:293" file="f232" line="293" endline="294" inline="1">
+    <Argument name="s" type="_4942" location="f232:293" file="f232" line="293"/>
+    <Argument name="i" type="_503" location="f232:293" file="f232" line="293"/>
+    <Argument name="a" type="_16942" location="f232:293" file="f232" line="293"/>
+  </Constructor>
+  <Destructor id="_13106" name="ios_pword_saver" context="_10359" access="public" mangled="_ZN5boost2io15ios_pword_saverD1Ev *INTERNAL* " demangled="boost::io::ios_pword_saver::~ios_pword_saver()" location="f232:296" file="f232" line="296" endline="296" inline="1">
+  </Destructor>
+  <Method id="_13107" name="restore" returns="_1194" context="_10359" access="public" mangled="_ZN5boost2io15ios_pword_saver7restoreEv" demangled="boost::io::ios_pword_saver::restore()" location="f232:299" file="f232" line="299" endline="299" inline="1"/>
+  <Field id="_13108" name="s_save_" type="_4942" offset="0" context="_10360" access="private" mangled="_ZN5boost2io15ios_iword_saver7s_save_E" demangled="boost::io::ios_iword_saver::s_save_" location="f232:277" file="f232" line="277"/>
+  <Field id="_13109" name="a_save_" type="_1553c" offset="32" context="_10360" access="private" mangled="_ZN5boost2io15ios_iword_saver7a_save_E" demangled="boost::io::ios_iword_saver::a_save_" location="f232:278" file="f232" line="278"/>
+  <Field id="_13110" name="i_save_" type="_503c" offset="64" context="_10360" access="private" mangled="_ZN5boost2io15ios_iword_saver7i_save_E" demangled="boost::io::ios_iword_saver::i_save_" location="f232:279" file="f232" line="279"/>
+  <Typedef id="_13111" name="state_type" type="_2477" context="_10360" access="public" location="f232:260" file="f232" line="260"/>
+  <Typedef id="_13112" name="index_type" type="_503" context="_10360" access="public" location="f232:261" file="f232" line="261"/>
+  <Typedef id="_13113" name="aspect_type" type="_1553" context="_10360" access="public" location="f232:262" file="f232" line="262"/>
+  <Constructor id="_13114" name="ios_iword_saver" artificial="1" throw="" context="_10360" access="public" mangled="_ZN5boost2io15ios_iword_saverC1ERKS1_ *INTERNAL* " demangled="boost::io::ios_iword_saver::ios_iword_saver(boost::io::ios_iword_saver const&)" location="f232:258" file="f232" line="258" inline="1">
+    <Argument name="_ctor_arg" type="_16943" location="f232:258" file="f232" line="258"/>
+  </Constructor>
+  <Constructor id="_13115" name="ios_iword_saver" explicit="1" context="_10360" access="public" mangled="_ZN5boost2io15ios_iword_saverC1ERSt8ios_basei *INTERNAL* " demangled="boost::io::ios_iword_saver::ios_iword_saver(std::ios_base&, int)" location="f232:265" file="f232" line="265" endline="266" inline="1">
+    <Argument name="s" type="_4942" location="f232:265" file="f232" line="265"/>
+    <Argument name="i" type="_503" location="f232:265" file="f232" line="265"/>
+  </Constructor>
+  <Constructor id="_13116" name="ios_iword_saver" explicit="1" context="_10360" access="public" mangled="_ZN5boost2io15ios_iword_saverC1ERSt8ios_baseiRKl *INTERNAL* " demangled="boost::io::ios_iword_saver::ios_iword_saver(std::ios_base&, int, long const&)" location="f232:268" file="f232" line="268" endline="269" inline="1">
+    <Argument name="s" type="_4942" location="f232:268" file="f232" line="268"/>
+    <Argument name="i" type="_503" location="f232:268" file="f232" line="268"/>
+    <Argument name="a" type="_16944" location="f232:268" file="f232" line="268"/>
+  </Constructor>
+  <Destructor id="_13117" name="ios_iword_saver" context="_10360" access="public" mangled="_ZN5boost2io15ios_iword_saverD1Ev *INTERNAL* " demangled="boost::io::ios_iword_saver::~ios_iword_saver()" location="f232:271" file="f232" line="271" endline="271" inline="1">
+  </Destructor>
+  <Method id="_13118" name="restore" returns="_1194" context="_10360" access="public" mangled="_ZN5boost2io15ios_iword_saver7restoreEv" demangled="boost::io::ios_iword_saver::restore()" location="f232:274" file="f232" line="274" endline="274" inline="1"/>
+  <Field id="_13119" name="s_save_" type="_4942" offset="0" context="_10389" access="private" mangled="_ZN5boost2io18ios_base_all_saver7s_save_E" demangled="boost::io::ios_base_all_saver::s_save_" location="f232:331" file="f232" line="331"/>
+  <Field id="_13120" name="a1_save_" type="_2145c" offset="32" context="_10389" access="private" mangled="_ZN5boost2io18ios_base_all_saver8a1_save_E" demangled="boost::io::ios_base_all_saver::a1_save_" location="f232:332" file="f232" line="332"/>
+  <Field id="_13121" name="a2_save_" type="_2499c" offset="64" context="_10389" access="private" mangled="_ZN5boost2io18ios_base_all_saver8a2_save_E" demangled="boost::io::ios_base_all_saver::a2_save_" location="f232:333" file="f232" line="333"/>
+  <Field id="_13122" name="a3_save_" type="_2499c" offset="96" context="_10389" access="private" mangled="_ZN5boost2io18ios_base_all_saver8a3_save_E" demangled="boost::io::ios_base_all_saver::a3_save_" location="f232:334" file="f232" line="334"/>
+  <Typedef id="_13123" name="state_type" type="_2477" context="_10389" access="public" location="f232:313" file="f232" line="313"/>
+  <Constructor id="_13124" name="ios_base_all_saver" artificial="1" throw="" context="_10389" access="public" mangled="_ZN5boost2io18ios_base_all_saverC1ERKS1_ *INTERNAL* " demangled="boost::io::ios_base_all_saver::ios_base_all_saver(boost::io::ios_base_all_saver const&)" location="f232:311" file="f232" line="311" inline="1">
+    <Argument name="_ctor_arg" type="_16946" location="f232:311" file="f232" line="311"/>
+  </Constructor>
+  <Constructor id="_13125" name="ios_base_all_saver" explicit="1" context="_10389" access="public" mangled="_ZN5boost2io18ios_base_all_saverC1ERSt8ios_base *INTERNAL* " demangled="boost::io::ios_base_all_saver::ios_base_all_saver(std::ios_base&)" location="f232:316" file="f232" line="316" endline="318" inline="1">
+    <Argument name="s" type="_4942" location="f232:316" file="f232" line="316"/>
+  </Constructor>
+  <Destructor id="_13126" name="ios_base_all_saver" context="_10389" access="public" mangled="_ZN5boost2io18ios_base_all_saverD1Ev *INTERNAL* " demangled="boost::io::ios_base_all_saver::~ios_base_all_saver()" location="f232:321" file="f232" line="321" endline="321" inline="1">
+  </Destructor>
+  <Method id="_13127" name="restore" returns="_1194" context="_10389" access="public" mangled="_ZN5boost2io18ios_base_all_saver7restoreEv" demangled="boost::io::ios_base_all_saver::restore()" location="f232:324" file="f232" line="324" endline="328" inline="1"/>
+  <Field id="_13128" name="s_save_" type="_4942" offset="0" context="_10390" access="private" mangled="_ZN5boost2io15ios_width_saver7s_save_E" demangled="boost::io::ios_width_saver::s_save_" location="f232:97" file="f232" line="97"/>
+  <Field id="_13129" name="a_save_" type="_2499c" offset="32" context="_10390" access="private" mangled="_ZN5boost2io15ios_width_saver7a_save_E" demangled="boost::io::ios_width_saver::a_save_" location="f232:98" file="f232" line="98"/>
+  <Typedef id="_13130" name="state_type" type="_2477" context="_10390" access="public" location="f232:81" file="f232" line="81"/>
+  <Typedef id="_13131" name="aspect_type" type="_2499" context="_10390" access="public" location="f232:82" file="f232" line="82"/>
+  <Constructor id="_13132" name="ios_width_saver" artificial="1" throw="" context="_10390" access="public" mangled="_ZN5boost2io15ios_width_saverC1ERKS1_ *INTERNAL* " demangled="boost::io::ios_width_saver::ios_width_saver(boost::io::ios_width_saver const&)" location="f232:79" file="f232" line="79" inline="1">
+    <Argument name="_ctor_arg" type="_16947" location="f232:79" file="f232" line="79"/>
+  </Constructor>
+  <Constructor id="_13133" name="ios_width_saver" explicit="1" context="_10390" access="public" mangled="_ZN5boost2io15ios_width_saverC1ERSt8ios_base *INTERNAL* " demangled="boost::io::ios_width_saver::ios_width_saver(std::ios_base&)" location="f232:85" file="f232" line="85" endline="86" inline="1">
+    <Argument name="s" type="_4942" location="f232:85" file="f232" line="85"/>
+  </Constructor>
+  <Constructor id="_13134" name="ios_width_saver" explicit="1" context="_10390" access="public" mangled="_ZN5boost2io15ios_width_saverC1ERSt8ios_baseRKi *INTERNAL* " demangled="boost::io::ios_width_saver::ios_width_saver(std::ios_base&, int const&)" location="f232:88" file="f232" line="88" endline="89" inline="1">
+    <Argument name="s" type="_4942" location="f232:88" file="f232" line="88"/>
+    <Argument name="a" type="_16948" location="f232:88" file="f232" line="88"/>
+  </Constructor>
+  <Destructor id="_13135" name="ios_width_saver" context="_10390" access="public" mangled="_ZN5boost2io15ios_width_saverD1Ev *INTERNAL* " demangled="boost::io::ios_width_saver::~ios_width_saver()" location="f232:91" file="f232" line="91" endline="91" inline="1">
+  </Destructor>
+  <Method id="_13136" name="restore" returns="_1194" context="_10390" access="public" mangled="_ZN5boost2io15ios_width_saver7restoreEv" demangled="boost::io::ios_width_saver::restore()" location="f232:94" file="f232" line="94" endline="94" inline="1"/>
+  <Field id="_13137" name="s_save_" type="_4942" offset="0" context="_10391" access="private" mangled="_ZN5boost2io19ios_precision_saver7s_save_E" demangled="boost::io::ios_precision_saver::s_save_" location="f232:74" file="f232" line="74"/>
+  <Field id="_13138" name="a_save_" type="_2499c" offset="32" context="_10391" access="private" mangled="_ZN5boost2io19ios_precision_saver7a_save_E" demangled="boost::io::ios_precision_saver::a_save_" location="f232:75" file="f232" line="75"/>
+  <Typedef id="_13139" name="state_type" type="_2477" context="_10391" access="public" location="f232:58" file="f232" line="58"/>
+  <Typedef id="_13140" name="aspect_type" type="_2499" context="_10391" access="public" location="f232:59" file="f232" line="59"/>
+  <Constructor id="_13141" name="ios_precision_saver" artificial="1" throw="" context="_10391" access="public" mangled="_ZN5boost2io19ios_precision_saverC1ERKS1_ *INTERNAL* " demangled="boost::io::ios_precision_saver::ios_precision_saver(boost::io::ios_precision_saver const&)" location="f232:56" file="f232" line="56" inline="1">
+    <Argument name="_ctor_arg" type="_16949" location="f232:56" file="f232" line="56"/>
+  </Constructor>
+  <Constructor id="_13142" name="ios_precision_saver" explicit="1" context="_10391" access="public" mangled="_ZN5boost2io19ios_precision_saverC1ERSt8ios_base *INTERNAL* " demangled="boost::io::ios_precision_saver::ios_precision_saver(std::ios_base&)" location="f232:62" file="f232" line="62" endline="63" inline="1">
+    <Argument name="s" type="_4942" location="f232:62" file="f232" line="62"/>
+  </Constructor>
+  <Constructor id="_13143" name="ios_precision_saver" explicit="1" context="_10391" access="public" mangled="_ZN5boost2io19ios_precision_saverC1ERSt8ios_baseRKi *INTERNAL* " demangled="boost::io::ios_precision_saver::ios_precision_saver(std::ios_base&, int const&)" location="f232:65" file="f232" line="65" endline="66" inline="1">
+    <Argument name="s" type="_4942" location="f232:65" file="f232" line="65"/>
+    <Argument name="a" type="_16948" location="f232:65" file="f232" line="65"/>
+  </Constructor>
+  <Destructor id="_13144" name="ios_precision_saver" context="_10391" access="public" mangled="_ZN5boost2io19ios_precision_saverD1Ev *INTERNAL* " demangled="boost::io::ios_precision_saver::~ios_precision_saver()" location="f232:68" file="f232" line="68" endline="68" inline="1">
+  </Destructor>
+  <Method id="_13145" name="restore" returns="_1194" context="_10391" access="public" mangled="_ZN5boost2io19ios_precision_saver7restoreEv" demangled="boost::io::ios_precision_saver::restore()" location="f232:71" file="f232" line="71" endline="71" inline="1"/>
+  <Field id="_13146" name="s_save_" type="_4942" offset="0" context="_10392" access="private" mangled="_ZN5boost2io15ios_flags_saver7s_save_E" demangled="boost::io::ios_flags_saver::s_save_" location="f232:51" file="f232" line="51"/>
+  <Field id="_13147" name="a_save_" type="_2145c" offset="32" context="_10392" access="private" mangled="_ZN5boost2io15ios_flags_saver7a_save_E" demangled="boost::io::ios_flags_saver::a_save_" location="f232:52" file="f232" line="52"/>
+  <Typedef id="_13148" name="state_type" type="_2477" context="_10392" access="public" location="f232:35" file="f232" line="35"/>
+  <Typedef id="_13149" name="aspect_type" type="_2145" context="_10392" access="public" location="f232:36" file="f232" line="36"/>
+  <Constructor id="_13150" name="ios_flags_saver" artificial="1" throw="" context="_10392" access="public" mangled="_ZN5boost2io15ios_flags_saverC1ERKS1_ *INTERNAL* " demangled="boost::io::ios_flags_saver::ios_flags_saver(boost::io::ios_flags_saver const&)" location="f232:33" file="f232" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_16950" location="f232:33" file="f232" line="33"/>
+  </Constructor>
+  <Constructor id="_13151" name="ios_flags_saver" explicit="1" context="_10392" access="public" mangled="_ZN5boost2io15ios_flags_saverC1ERSt8ios_base *INTERNAL* " demangled="boost::io::ios_flags_saver::ios_flags_saver(std::ios_base&)" location="f232:39" file="f232" line="39" endline="40" inline="1">
+    <Argument name="s" type="_4942" location="f232:39" file="f232" line="39"/>
+  </Constructor>
+  <Constructor id="_13152" name="ios_flags_saver" explicit="1" context="_10392" access="public" mangled="_ZN5boost2io15ios_flags_saverC1ERSt8ios_baseRKSt13_Ios_Fmtflags *INTERNAL* " demangled="boost::io::ios_flags_saver::ios_flags_saver(std::ios_base&, std::_Ios_Fmtflags const&)" location="f232:42" file="f232" line="42" endline="43" inline="1">
+    <Argument name="s" type="_4942" location="f232:42" file="f232" line="42"/>
+    <Argument name="a" type="_16951" location="f232:42" file="f232" line="42"/>
+  </Constructor>
+  <Destructor id="_13153" name="ios_flags_saver" context="_10392" access="public" mangled="_ZN5boost2io15ios_flags_saverD1Ev *INTERNAL* " demangled="boost::io::ios_flags_saver::~ios_flags_saver()" location="f232:45" file="f232" line="45" endline="45" inline="1">
+  </Destructor>
+  <Method id="_13154" name="restore" returns="_1194" context="_10392" access="public" mangled="_ZN5boost2io15ios_flags_saver7restoreEv" demangled="boost::io::ios_flags_saver::restore()" location="f232:48" file="f232" line="48" endline="48" inline="1"/>
+  <Struct id="_13155" name="const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_10413" mangled="N5boost9algorithm6detail13const_formatFISsEE" demangled="boost::algorithm::detail::const_formatF<std::string>" location="f299:32" file="f299" line="32" artificial="1" size="96" align="32" members="_16952 _16953 _16954 _16955 _16956 " bases=""/>
+  <Struct id="_13156" name="tail_finderF" context="_10413" mangled="N5boost9algorithm6detail12tail_finderFE" demangled="boost::algorithm::detail::tail_finderF" location="f300:510" file="f300" line="510" artificial="1" size="32" align="32" members="_16957 _16958 _16959 " bases=""/>
+  <Struct id="_13157" name="head_finderF" context="_10413" mangled="N5boost9algorithm6detail12head_finderFE" demangled="boost::algorithm::detail::head_finderF" location="f300:472" file="f300" line="472" artificial="1" size="32" align="32" members="_16960 _16961 _16962 " bases=""/>
+  <Struct id="_13158" name="first_finderF<const char*,boost::algorithm::is_equal>" context="_10413" mangled="N5boost9algorithm6detail13first_finderFIPKcNS0_8is_equalEEE" demangled="boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>" location="f300:36" file="f300" line="36" artificial="1" size="128" align="32" members="_16963 _16964 _16965 _16966 _16967 " bases=""/>
+  <Field id="_13159" name="m_Loc" type="_2365" offset="0" context="_10398" access="private" mangled="_ZN5boost9algorithm15is_not_igreater5m_LocE" demangled="boost::algorithm::is_not_igreater::m_Loc" location="f237:181" file="f237" line="181"/>
+  <Constructor id="_13160" name="is_not_igreater" artificial="1" throw="" context="_10398" access="public" mangled="_ZN5boost9algorithm15is_not_igreaterC1ERKS1_ *INTERNAL* " demangled="boost::algorithm::is_not_igreater::is_not_igreater(boost::algorithm::is_not_igreater const&)" location="f237:158" file="f237" line="158" inline="1">
+    <Argument name="_ctor_arg" type="_16968" location="f237:158" file="f237" line="158"/>
+  </Constructor>
+  <Destructor id="_13161" name="is_not_igreater" artificial="1" throw="" context="_10398" access="public" mangled="_ZN5boost9algorithm15is_not_igreaterD1Ev *INTERNAL* " demangled="boost::algorithm::is_not_igreater::~is_not_igreater()" location="f237:158" file="f237" line="158" inline="1">
+  </Destructor>
+  <Constructor id="_13162" name="is_not_igreater" context="_10398" access="public" mangled="_ZN5boost9algorithm15is_not_igreaterC1ERKSt6locale *INTERNAL* " demangled="boost::algorithm::is_not_igreater::is_not_igreater(std::locale const&)" location="f237:163" file="f237" line="163" endline="164" inline="1">
+    <Argument name="Loc" type="_5517" location="f237:163" file="f237" line="163" default="locale()"/>
+  </Constructor>
+  <Constructor id="_13163" name="is_not_greater" artificial="1" throw="" context="_10399" access="public" mangled="_ZN5boost9algorithm14is_not_greaterC1ERKS1_ *INTERNAL* " demangled="boost::algorithm::is_not_greater::is_not_greater(boost::algorithm::is_not_greater const&)" location="f237:139" file="f237" line="139" inline="1">
+    <Argument name="_ctor_arg" type="_16969" location="f237:139" file="f237" line="139"/>
+  </Constructor>
+  <Constructor id="_13164" name="is_not_greater" explicit="1" artificial="1" throw="" context="_10399" access="public" mangled="_ZN5boost9algorithm14is_not_greaterC1Ev *INTERNAL* " demangled="boost::algorithm::is_not_greater::is_not_greater()" location="f237:139" file="f237" line="139" inline="1"/>
+  <Field id="_13165" name="m_Loc" type="_2365" offset="0" context="_10400" access="private" mangled="_ZN5boost9algorithm8is_iless5m_LocE" demangled="boost::algorithm::is_iless::m_Loc" location="f237:128" file="f237" line="128"/>
+  <Constructor id="_13166" name="is_iless" artificial="1" throw="" context="_10400" access="public" mangled="_ZN5boost9algorithm8is_ilessC1ERKS1_ *INTERNAL* " demangled="boost::algorithm::is_iless::is_iless(boost::algorithm::is_iless const&)" location="f237:105" file="f237" line="105" inline="1">
+    <Argument name="_ctor_arg" type="_16970" location="f237:105" file="f237" line="105"/>
+  </Constructor>
+  <Destructor id="_13167" name="is_iless" artificial="1" throw="" context="_10400" access="public" mangled="_ZN5boost9algorithm8is_ilessD1Ev *INTERNAL* " demangled="boost::algorithm::is_iless::~is_iless()" location="f237:105" file="f237" line="105" inline="1">
+  </Destructor>
+  <Constructor id="_13168" name="is_iless" context="_10400" access="public" mangled="_ZN5boost9algorithm8is_ilessC1ERKSt6locale *INTERNAL* " demangled="boost::algorithm::is_iless::is_iless(std::locale const&)" location="f237:110" file="f237" line="110" endline="111" inline="1">
+    <Argument name="Loc" type="_5517" location="f237:110" file="f237" line="110" default="locale()"/>
+  </Constructor>
+  <Constructor id="_13169" name="is_less" artificial="1" throw="" context="_10401" access="public" mangled="_ZN5boost9algorithm7is_lessC1ERKS1_ *INTERNAL* " demangled="boost::algorithm::is_less::is_less(boost::algorithm::is_less const&)" location="f237:86" file="f237" line="86" inline="1">
+    <Argument name="_ctor_arg" type="_16971" location="f237:86" file="f237" line="86"/>
+  </Constructor>
+  <Constructor id="_13170" name="is_less" explicit="1" artificial="1" throw="" context="_10401" access="public" mangled="_ZN5boost9algorithm7is_lessC1Ev *INTERNAL* " demangled="boost::algorithm::is_less::is_less()" location="f237:86" file="f237" line="86" inline="1"/>
+  <Field id="_13171" name="m_Loc" type="_2365" offset="0" context="_10402" access="private" mangled="_ZN5boost9algorithm9is_iequal5m_LocE" demangled="boost::algorithm::is_iequal::m_Loc" location="f237:75" file="f237" line="75"/>
+  <Constructor id="_13172" name="is_iequal" artificial="1" throw="" context="_10402" access="public" mangled="_ZN5boost9algorithm9is_iequalC1ERKS1_ *INTERNAL* " demangled="boost::algorithm::is_iequal::is_iequal(boost::algorithm::is_iequal const&)" location="f237:52" file="f237" line="52" inline="1">
+    <Argument name="_ctor_arg" type="_16972" location="f237:52" file="f237" line="52"/>
+  </Constructor>
+  <Destructor id="_13173" name="is_iequal" artificial="1" throw="" context="_10402" access="public" mangled="_ZN5boost9algorithm9is_iequalD1Ev *INTERNAL* " demangled="boost::algorithm::is_iequal::~is_iequal()" location="f237:52" file="f237" line="52" inline="1">
+  </Destructor>
+  <Constructor id="_13174" name="is_iequal" context="_10402" access="public" mangled="_ZN5boost9algorithm9is_iequalC1ERKSt6locale *INTERNAL* " demangled="boost::algorithm::is_iequal::is_iequal(std::locale const&)" location="f237:57" file="f237" line="57" endline="58" inline="1">
+    <Argument name="Loc" type="_5517" location="f237:57" file="f237" line="57" default="locale()"/>
+  </Constructor>
+  <Constructor id="_13175" name="is_equal" artificial="1" throw="" context="_10403" access="public" mangled="_ZN5boost9algorithm8is_equalC1ERKS1_ *INTERNAL* " demangled="boost::algorithm::is_equal::is_equal(boost::algorithm::is_equal const&)" location="f237:34" file="f237" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_16973" location="f237:34" file="f237" line="34"/>
+  </Constructor>
+  <Constructor id="_13176" name="is_equal" explicit="1" artificial="1" throw="" context="_10403" access="public" mangled="_ZN5boost9algorithm8is_equalC1Ev *INTERNAL* " demangled="boost::algorithm::is_equal::is_equal()" location="f237:34" file="f237" line="34" inline="1"/>
+  <OperatorMethod id="_13177" name="()" returns="_3949" const="1" context="_10403" access="public" mangled="_ZNK5boost9algorithm8is_equalclIccEEbRKT_RKT0_" demangled="bool boost::algorithm::is_equal::operator()<char, char>(char const&, char const&) const" location="f237:41" file="f237" line="41" endline="42" inline="1">
+    <Argument name="Arg1" type="_4165" location="f237:41" file="f237" line="41"/>
+    <Argument name="Arg2" type="_4165" location="f237:41" file="f237" line="41"/>
+  </OperatorMethod>
+  <Variable id="_13178" name="value" type="_3949c" init="false" context="_10406" access="public" mangled="_ZN5boost9algorithm20has_stable_iteratorsISsE5valueE" demangled="boost::algorithm::has_stable_iterators<std::string>::value" location="f0:127" file="f0" line="127" extern="1"/>
+  <Typedef id="_13179" name="type" type="_3259" context="_10406" access="public" location="f0:131" file="f0" line="131"/>
+  <Constructor id="_13180" name="has_stable_iterators" artificial="1" throw="" context="_10406" access="public" mangled="_ZN5boost9algorithm20has_stable_iteratorsISsEC1ERKS2_ *INTERNAL* " demangled="boost::algorithm::has_stable_iterators<std::string>::has_stable_iterators(boost::algorithm::has_stable_iterators<std::string> const&)" location="f0:115" file="f0" line="115" inline="1">
+    <Argument name="_ctor_arg" type="_16974" location="f0:115" file="f0" line="115"/>
+  </Constructor>
+  <Constructor id="_13181" name="has_stable_iterators" explicit="1" artificial="1" throw="" context="_10406" access="public" mangled="_ZN5boost9algorithm20has_stable_iteratorsISsEC1Ev *INTERNAL* " demangled="boost::algorithm::has_stable_iterators<std::string>::has_stable_iterators()" location="f0:115" file="f0" line="115" inline="1"/>
+  <Typedef id="_13182" name="type" type="_8394" context="_10409" access="public" location="f240:22" file="f240" line="22"/>
+  <Constructor id="_13183" name="size_descriptor" artificial="1" throw="" context="_10409" access="public" mangled="_ZN5boost9algorithm15size_descriptorILi2EEC1ERKS2_ *INTERNAL* " demangled="boost::algorithm::size_descriptor<2>::size_descriptor(boost::algorithm::size_descriptor<2> const&)" location="f240:21" file="f240" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_16975" location="f240:21" file="f240" line="21"/>
+  </Constructor>
+  <Constructor id="_13184" name="size_descriptor" explicit="1" artificial="1" throw="" context="_10409" access="public" mangled="_ZN5boost9algorithm15size_descriptorILi2EEC1Ev *INTERNAL* " demangled="boost::algorithm::size_descriptor<2>::size_descriptor()" location="f240:21" file="f240" line="21" inline="1"/>
+  <Typedef id="_13185" name="type" type="_8395" context="_10410" access="public" location="f240:22" file="f240" line="22"/>
+  <Constructor id="_13186" name="size_descriptor" artificial="1" throw="" context="_10410" access="public" mangled="_ZN5boost9algorithm15size_descriptorILi1EEC1ERKS2_ *INTERNAL* " demangled="boost::algorithm::size_descriptor<1>::size_descriptor(boost::algorithm::size_descriptor<1> const&)" location="f240:21" file="f240" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_16976" location="f240:21" file="f240" line="21"/>
+  </Constructor>
+  <Constructor id="_13187" name="size_descriptor" explicit="1" artificial="1" throw="" context="_10410" access="public" mangled="_ZN5boost9algorithm15size_descriptorILi1EEC1Ev *INTERNAL* " demangled="boost::algorithm::size_descriptor<1>::size_descriptor()" location="f240:21" file="f240" line="21" inline="1"/>
+  <Field id="_13188" name="i" type="_3328" offset="0" context="_10411" access="private" mangled="_ZN5boost9algorithm16FormatterConceptINS0_6detail13const_formatFISsEENS2_13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEE1iE" demangled="boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, s [...]
+  <Field id="_13189" name="pF" type="_16977" offset="32" context="_10411" access="private" mangled="_ZN5boost9algorithm16FormatterConceptINS0_6detail13const_formatFISsEENS2_13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEE2pFE" demangled="boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const [...]
+  <Field id="_13190" name="pFo" type="_16978" offset="64" context="_10411" access="private" mangled="_ZN5boost9algorithm16FormatterConceptINS0_6detail13const_formatFISsEENS2_13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEE3pFoE" demangled="boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char con [...]
+  <Constructor id="_13191" name="FormatterConcept" artificial="1" throw="" context="_10411" access="public" mangled="_ZN5boost9algorithm16FormatterConceptINS0_6detail13const_formatFISsEENS2_13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEC1ERKSD_ *INTERNAL* " demangled="boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx [...]
+    <Argument name="_ctor_arg" type="_16979" location="f241:62" file="f241" line="62"/>
+  </Constructor>
+  <Constructor id="_13192" name="FormatterConcept" explicit="1" artificial="1" context="_10411" access="public" mangled="_ZN5boost9algorithm16FormatterConceptINS0_6detail13const_formatFISsEENS2_13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEC1Ev *INTERNAL* " demangled="boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx [...]
+  <Method id="_13193" name="constraints" returns="_1194" context="_10411" access="public" mangled="_ZN5boost9algorithm16FormatterConceptINS0_6detail13const_formatFISsEENS2_13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEE11constraintsEv" demangled="boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator< [...]
+  <Field id="_13194" name="r" type="_3458" offset="0" context="_10412" access="private" mangled="_ZN5boost9algorithm13FinderConceptINS0_6detail13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS5_SsEEE1rE" demangled="boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std::string> >::r" location="f241:45" file="f241" line="45"/>
+  <Field id="_13195" name="i" type="_3328" offset="96" context="_10412" access="private" mangled="_ZN5boost9algorithm13FinderConceptINS0_6detail13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS5_SsEEE1iE" demangled="boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std::string> >::i" location="f241:46" file="f241" line="46"/>
+  <Field id="_13196" name="pF" type="_16977" offset="128" context="_10412" access="private" mangled="_ZN5boost9algorithm13FinderConceptINS0_6detail13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS5_SsEEE2pFE" demangled="boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std::string> >::pF" location="f241:47" file="f241" line="47"/>
+  <Typedef id="_13197" name="range" type="_3458" context="_10412" access="private" location="f241:37" file="f241" line="37"/>
+  <Constructor id="_13198" name="FinderConcept" artificial="1" throw="" context="_10412" access="public" mangled="_ZN5boost9algorithm13FinderConceptINS0_6detail13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS5_SsEEEC1ERKSB_ *INTERNAL* " demangled="boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std::string> >::FinderConcept(boost::algorithm::Fin [...]
+    <Argument name="_ctor_arg" type="_16980" location="f241:35" file="f241" line="35"/>
+  </Constructor>
+  <Constructor id="_13199" name="FinderConcept" explicit="1" artificial="1" context="_10412" access="public" mangled="_ZN5boost9algorithm13FinderConceptINS0_6detail13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS5_SsEEEC1Ev *INTERNAL* " demangled="boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std::string> >::FinderConcept()" location="f241:35" [...]
+  <Method id="_13200" name="constraints" returns="_1194" context="_10412" access="public" mangled="_ZN5boost9algorithm13FinderConceptINS0_6detail13first_finderFIPKcNS0_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS5_SsEEE11constraintsEv" demangled="boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std::string> >::constraints()" location="f241:40" file="f241" line="40" [...]
+  <Function id="_13201" name="find_format_all_impl2" returns="_1194" context="_10413" mangled="_ZN5boost9algorithm6detail21find_format_all_impl2ISsNS1_13first_finderFIPKcNS0_8is_equalEEENS1_13const_formatFISsEENS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEENSA_INSC_IS5_SsEEEEEEvRT_T0_T1_T2_T3_" demangled="void boost::algorithm::detail::find_format_all_impl2<std::string, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, boost::algorithm [...]
+    <Argument name="Input" type="_4946" location="f301:199" file="f301" line="199"/>
+    <Argument name="Finder" type="_13158" location="f301:199" file="f301" line="199"/>
+    <Argument name="Formatter" type="_13155" location="f301:199" file="f301" line="199"/>
+    <Argument name="FindResult" type="_3459" location="f301:199" file="f301" line="199"/>
+    <Argument name="FormatResult" type="_3458" location="f301:199" file="f301" line="199"/>
+  </Function>
+  <Function id="_13202" name="find_format_all_impl" returns="_1194" context="_10413" mangled="_ZN5boost9algorithm6detail20find_format_all_implISsNS1_13first_finderFIPKcNS0_8is_equalEEENS1_13const_formatFISsEENS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEEvRT_T0_T1_T2_" demangled="void boost::algorithm::detail::find_format_all_impl<std::string, boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, boost::algorithm::detail::const_formatF&l [...]
+    <Argument name="Input" type="_4946" location="f301:178" file="f301" line="178"/>
+    <Argument name="Finder" type="_13158" location="f301:178" file="f301" line="178"/>
+    <Argument name="Formatter" type="_13155" location="f301:178" file="f301" line="178"/>
+    <Argument name="FindResult" type="_3459" location="f301:178" file="f301" line="178"/>
+  </Function>
+  <Function id="_13203" name="process_segment" returns="_3330" context="_10413" mangled="_ZN5boost9algorithm6detail15process_segmentISt5dequeIcSaIcEESsN9__gnu_cxx17__normal_iteratorIPcSsEEEET1_RT_RT0_SA_SA_SA_" demangled="__gnu_cxx::__normal_iterator<char*, std::string> boost::algorithm::detail::process_segment<std::deque<char, std::allocator<char> >, std::string, __gnu_cxx::__normal_iterator<char*, std::string> >(std::deque<char, std::allocator<char&g [...]
+    <Argument name="Storage" type="_11319" location="f302:146" file="f302" line="146"/>
+    <Argument name="Input" type="_4946" location="f302:146" file="f302" line="146"/>
+    <Argument name="InsertIt" type="_3330" location="f302:146" file="f302" line="146"/>
+    <Argument name="SegmentBegin" type="_3330" location="f302:146" file="f302" line="146"/>
+    <Argument name="SegmentEnd" type="_3330" location="f302:146" file="f302" line="146"/>
+  </Function>
+  <Struct id="_13204" name="process_segment_helper<false>" context="_10413" mangled="N5boost9algorithm6detail22process_segment_helperILb0EEE" demangled="boost::algorithm::detail::process_segment_helper<false>" location="f302:56" file="f302" line="56" artificial="1" size="8" align="8" members="_16981 _16982 " bases=""/>
+  <Struct id="_13205" name="process_segment_helper<true>" context="_10413" mangled="N5boost9algorithm6detail22process_segment_helperILb1EEE" demangled="boost::algorithm::detail::process_segment_helper<true>" location="f302:112" file="f302" line="112" artificial="1" size="8" align="8" members="_16983 _16984 " bases=""/>
+  <Function id="_13206" name="copy_to_storage" returns="_1194" context="_10413" mangled="_ZN5boost9algorithm6detail15copy_to_storageISt5dequeIcSaIcEENS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEEvRT_RKT0_" demangled="void boost::algorithm::detail::copy_to_storage<std::deque<char, std::allocator<char> >, boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >(std::deque<char, std::allocator<char> >&, bo [...]
+    <Argument name="Storage" type="_11319" location="f302:47" file="f302" line="47"/>
+    <Argument name="What" type="_9793" location="f302:47" file="f302" line="47"/>
+  </Function>
+  <Function id="_13207" name="move_from_storage" returns="_3330" context="_10413" mangled="_ZN5boost9algorithm6detail17move_from_storageISt5dequeIcSaIcEEN9__gnu_cxx17__normal_iteratorIPcSsEEEET0_RT_SA_SA_" demangled="__gnu_cxx::__normal_iterator<char*, std::string> boost::algorithm::detail::move_from_storage<std::deque<char, std::allocator<char> >, __gnu_cxx::__normal_iterator<char*, std::string> >(std::deque<char, std::allocator<char> >&, __ [...]
+    <Argument name="Storage" type="_11319" location="f302:30" file="f302" line="30"/>
+    <Argument name="DestBegin" type="_3330" location="f302:30" file="f302" line="30"/>
+    <Argument name="DestEnd" type="_3330" location="f302:30" file="f302" line="30"/>
+  </Function>
+  <Struct id="_13208" name="replace_native_helper<true>" context="_10413" mangled="N5boost9algorithm6detail21replace_native_helperILb1EEE" demangled="boost::algorithm::detail::replace_native_helper<true>" location="f303:150" file="f303" line="150" artificial="1" size="8" align="8" members="_16985 _16986 " bases=""/>
+  <Struct id="_13209" name="replace_const_time_helper<true>" context="_10413" mangled="N5boost9algorithm6detail25replace_const_time_helperILb1EEE" demangled="boost::algorithm::detail::replace_const_time_helper<true>" location="f303:102" file="f303" line="102" artificial="1" size="8" align="8" members="_16987 _16988 " bases=""/>
+  <Function id="_13210" name="erase" returns="_3330" context="_10413" mangled="_ZN5boost9algorithm6detail5eraseISsEEN6InputT8iteratorERS3_S4_S4_" demangled="InputT::iterator boost::algorithm::detail::erase<std::string>(InputT&, InputT::iterator, InputT::iterator)" location="f303:57" file="f303" line="57" endline="58" inline="1">
+    <Argument name="Input" type="_4946" location="f303:57" file="f303" line="57"/>
+    <Argument name="From" type="_3330" location="f303:57" file="f303" line="57"/>
+    <Argument name="To" type="_3330" location="f303:57" file="f303" line="57"/>
+  </Function>
+  <Function id="_13211" name="insert" returns="_1194" context="_10413" mangled="_ZN5boost9algorithm6detail6insertISsSt15_Deque_iteratorIcRcPcEEEvRT_NS7_8iteratorET0_SA_" demangled="void boost::algorithm::detail::insert<std::string, std::_Deque_iterator<char, char&, char*> >(std::string&, std::string::iterator, std::_Deque_iterator<char, char&, char*>, std::_Deque_iterator<char, char&, char*>)" location="f303:33" file="f303" line="33" endline="34" i [...]
+    <Argument name="Input" type="_4946" location="f303:33" file="f303" line="33"/>
+    <Argument name="At" type="_3330" location="f303:33" file="f303" line="33"/>
+    <Argument name="Begin" type="_2005" location="f303:33" file="f303" line="33"/>
+    <Argument name="End" type="_2005" location="f303:33" file="f303" line="33"/>
+  </Function>
+  <Class id="_13212" name="find_format_store<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::iterator_range<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >" [...]
+    <Base type="_3459" access="public" virtual="0" offset="0"/>
+  </Class>
+  <Constructor id="_13213" name="constraint" artificial="1" throw="" context="_10414" access="public" mangled="_ZN5boost7concept10constraintINS_9algorithm16FormatterConceptINS2_6detail13const_formatFISsEENS4_13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEC1ERKSG_ *INTERNAL* " demangled="boost::concept::constraint<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char [...]
+    <Argument name="_ctor_arg" type="_16997" location="f242:36" file="f242" line="36"/>
+  </Constructor>
+  <Constructor id="_13214" name="constraint" explicit="1" artificial="1" throw="" context="_10414" access="public" mangled="_ZN5boost7concept10constraintINS_9algorithm16FormatterConceptINS2_6detail13const_formatFISsEENS4_13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEC1Ev *INTERNAL* " demangled="boost::concept::constraint<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finder [...]
+  <Method id="_13215" name="failed" returns="_1194" static="1" context="_10414" access="public" mangled="_ZN5boost7concept10constraintINS_9algorithm16FormatterConceptINS2_6detail13const_formatFISsEENS4_13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEE6failedEv" demangled="boost::concept::constraint<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char const*, boost::a [...]
+  <Constructor id="_13216" name="constraint" artificial="1" throw="" context="_10415" access="public" mangled="_ZN5boost7concept10constraintINS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEEC1ERKSE_ *INTERNAL* " demangled="boost::concept::constraint<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std: [...]
+    <Argument name="_ctor_arg" type="_16998" location="f242:36" file="f242" line="36"/>
+  </Constructor>
+  <Constructor id="_13217" name="constraint" explicit="1" artificial="1" throw="" context="_10415" access="public" mangled="_ZN5boost7concept10constraintINS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEEC1Ev *INTERNAL* " demangled="boost::concept::constraint<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char con [...]
+  <Method id="_13218" name="failed" returns="_1194" static="1" context="_10415" access="public" mangled="_ZN5boost7concept10constraintINS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEE6failedEv" demangled="boost::concept::constraint<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std::string> >  [...]
+  <Constructor id="_13219" name="requirement_" artificial="1" throw="" context="_10418" access="public" mangled="_ZN5boost7concept12requirement_IPFvNS_9algorithm16FormatterConceptINS2_6detail13const_formatFISsEENS4_13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEEC1ERKSI_ *INTERNAL* " demangled="boost::concept::requirement_<void (*)(boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::fi [...]
+    <Argument name="_ctor_arg" type="_16999" location="f242:19" file="f242" line="19"/>
+  </Constructor>
+  <Constructor id="_13220" name="requirement_" explicit="1" artificial="1" throw="" context="_10418" access="public" mangled="_ZN5boost7concept12requirement_IPFvNS_9algorithm16FormatterConceptINS2_6detail13const_formatFISsEENS4_13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEEC1Ev *INTERNAL* " demangled="boost::concept::requirement_<void (*)(boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::d [...]
+  <Constructor id="_13221" name="requirement_" artificial="1" throw="" context="_10419" access="public" mangled="_ZN5boost7concept12requirement_IPFvNS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEEEC1ERKSG_ *INTERNAL* " demangled="boost::concept::requirement_<void (*)(boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator&l [...]
+    <Argument name="_ctor_arg" type="_17000" location="f242:19" file="f242" line="19"/>
+  </Constructor>
+  <Constructor id="_13222" name="requirement_" explicit="1" artificial="1" throw="" context="_10419" access="public" mangled="_ZN5boost7concept12requirement_IPFvNS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEEEC1Ev *INTERNAL* " demangled="boost::concept::requirement_<void (*)(boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_i [...]
+  <Variable id="_13223" name="value" type="_3949c" init="true" context="_10420" access="public" mangled="_ZN5boost7concept13not_satisfiedINS_9algorithm16FormatterConceptINS2_6detail13const_formatFISsEENS4_13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEE5valueE" demangled="boost::concept::not_satisfied<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finderF<char const*, boos [...]
+  <Typedef id="_13224" name="type" type="_3261" context="_10420" access="public" location="f243:35" file="f243" line="35"/>
+  <Constructor id="_13225" name="not_satisfied" artificial="1" throw="" context="_10420" access="public" mangled="_ZN5boost7concept13not_satisfiedINS_9algorithm16FormatterConceptINS2_6detail13const_formatFISsEENS4_13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEC1ERKSG_ *INTERNAL* " demangled="boost::concept::not_satisfied<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::first_finder [...]
+    <Argument name="_ctor_arg" type="_17001" location="f243:31" file="f243" line="31"/>
+  </Constructor>
+  <Constructor id="_13226" name="not_satisfied" explicit="1" artificial="1" throw="" context="_10420" access="public" mangled="_ZN5boost7concept13not_satisfiedINS_9algorithm16FormatterConceptINS2_6detail13const_formatFISsEENS4_13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEC1Ev *INTERNAL* " demangled="boost::concept::not_satisfied<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, boost::algorithm::detail::fir [...]
+  <Variable id="_13227" name="value" type="_3949c" init="true" context="_10421" access="public" mangled="_ZN5boost7concept13not_satisfiedINS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEE5valueE" demangled="boost::concept::not_satisfied<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char const*, std::string> & [...]
+  <Typedef id="_13228" name="type" type="_3261" context="_10421" access="public" location="f243:35" file="f243" line="35"/>
+  <Constructor id="_13229" name="not_satisfied" artificial="1" throw="" context="_10421" access="public" mangled="_ZN5boost7concept13not_satisfiedINS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEEC1ERKSE_ *INTERNAL* " demangled="boost::concept::not_satisfied<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<char con [...]
+    <Argument name="_ctor_arg" type="_17002" location="f243:31" file="f243" line="31"/>
+  </Constructor>
+  <Constructor id="_13230" name="not_satisfied" explicit="1" artificial="1" throw="" context="_10421" access="public" mangled="_ZN5boost7concept13not_satisfiedINS_9algorithm13FinderConceptINS2_6detail13first_finderFIPKcNS2_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS7_SsEEEEEC1Ev *INTERNAL* " demangled="boost::concept::not_satisfied<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator&lt [...]
+  <Struct id="_13231" name="instantiate<boost::concept::constraint<Model>::failed() [with Model = boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<c [...]
+  <Struct id="_13232" name="instantiate<boost::concept::constraint<Model>::failed() [with Model = boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadL_ZNS0_10constraintINS_9algorith [...]
+  <Struct id="_13233" name="instantiate<&boost::concept::requirement_<void (*)(boost::BinaryPredicate<typename C::value_compare, typename boost::AssociativeContainer<C>::value_type, typename boost::AssociativeContainer<C>::value_type>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_15BinaryPredicateIN1C13value_compareENS_20AssociativeContainerIS5_E10value_typeES9_EEEEE6failedEEE" dema [...]
+  <Struct id="_13234" name="instantiate<&boost::concept::requirement_<void (*)(boost::BinaryPredicate<typename C::key_compare, typename C::key_type, typename C::key_type>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_15BinaryPredicateIN1C11key_compareENS5_8key_typeES7_EEEEE6failedEEE" demangled="boost::concept::detail::instantiate<&(boost::concept::requirement_<void (*)(boost::BinaryP [...]
+  <Struct id="_13235" name="instantiate<&boost::concept::requirement_<void (*)(boost::Mutable_RandomAccessIterator<typename boost::Mutable_RandomAccessContainer<C>::reverse_iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_28Mutable_RandomAccessIteratorINS_29Mutable_RandomAccessContainerIT_E16reverse_iteratorEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" a [...]
+  <Struct id="_13236" name="instantiate<&boost::concept::requirement_<void (*)(boost::Mutable_RandomAccessIterator<typename boost::Mutable_RandomAccessContainer<C>::iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_28Mutable_RandomAccessIteratorINS_29Mutable_RandomAccessContainerIT_E8iteratorEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13237" name="instantiate<&boost::concept::requirement_<void (*)(boost::RandomAccessIterator<typename boost::RandomAccessContainer<C>::const_iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_20RandomAccessIteratorINS_21RandomAccessContainerIT_E14const_iteratorEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13238" name="instantiate<&boost::concept::requirement_<void (*)(boost::Mutable_BidirectionalIterator<typename C::reverse_iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_29Mutable_BidirectionalIteratorIN1C16reverse_iteratorEEEEEE6failedEEE" demangled="boost::concept::detail::instantiate<&(boost::concept::requirement_<void (*)(boost::Mutable_BidirectionalIterator& [...]
+  <Struct id="_13239" name="instantiate<&boost::concept::requirement_<void (*)(boost::Mutable_BidirectionalIterator<typename boost::Mutable_ForwardContainer<C>::iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_29Mutable_BidirectionalIteratorINS_24Mutable_ForwardContainerIT_E8iteratorEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13240" name="instantiate<&boost::concept::requirement_<void (*)(boost::BidirectionalIterator<typename C::const_reverse_iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_21BidirectionalIteratorIN1C22const_reverse_iteratorEEEEEE6failedEEE" demangled="boost::concept::detail::instantiate<&(boost::concept::requirement_<void (*)(boost::BidirectionalIterator<C::const_ [...]
+  <Struct id="_13241" name="instantiate<&boost::concept::requirement_<void (*)(boost::BidirectionalIterator<typename boost::ReversibleContainer<C>::const_iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_21BidirectionalIteratorINS_19ReversibleContainerIT_E14const_iteratorEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13242" name="instantiate<&boost::concept::requirement_<void (*)(boost::Mutable_ForwardIterator<typename boost::Mutable_ForwardContainer<C>::iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_23Mutable_ForwardIteratorINS_24Mutable_ForwardContainerIT_E8iteratorEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13243" name="instantiate<&boost::concept::requirement_<void (*)(boost::ForwardIterator<typename boost::ForwardContainer<C>::const_iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_15ForwardIteratorINS_16ForwardContainerIT_E14const_iteratorEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13244" name="instantiate<&boost::concept::requirement_<void (*)(boost::InputIterator<typename C::iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_13InputIteratorIN1C8iteratorEEEEEE6failedEEE" demangled="boost::concept::detail::instantiate<&(boost::concept::requirement_<void (*)(boost::InputIterator<C::iterator>)>::failed)>" location="f242:23" file="f2 [...]
+  <Struct id="_13245" name="instantiate<&boost::concept::requirement_<void (*)(boost::Assignable<typename boost::Mutable_Container<C>::value_type>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_10AssignableINS_17Mutable_ContainerIT_E10value_typeEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13246" name="instantiate<&boost::concept::requirement_<void (*)(boost::InputIterator<typename C::const_iterator>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_13InputIteratorIN1C14const_iteratorEEEEEE6failedEEE" demangled="boost::concept::detail::instantiate<&(boost::concept::requirement_<void (*)(boost::InputIterator<C::const_iterator>)>::failed)>" location [...]
+  <Struct id="_13247" name="instantiate<&boost::concept::requirement_<void (*)(boost::Convertible<typename boost::BidirectionalIterator<TT>::iterator_category, std::random_access_iterator_tag>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_11ConvertibleINS_21BidirectionalIteratorIT_E17iterator_categoryESt26random_access_iterator_tagEEEEE6failedEEE" location="f242:23" file="f242" line="23"  [...]
+  <Struct id="_13248" name="instantiate<&boost::concept::requirement_<void (*)(boost::Convertible<typename boost::BidirectionalIterator<TT>::iterator_category, std::bidirectional_iterator_tag>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_11ConvertibleINS_21BidirectionalIteratorIT_E17iterator_categoryESt26bidirectional_iterator_tagEEEEE6failedEEE" location="f242:23" file="f242" line="23"  [...]
+  <Struct id="_13249" name="instantiate<&boost::concept::requirement_<void (*)(boost::Convertible<typename boost::ForwardIterator<TT>::iterator_category, std::forward_iterator_tag>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_11ConvertibleINS_15ForwardIteratorIT_E17iterator_categoryESt20forward_iterator_tagEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13250" name="instantiate<&boost::concept::requirement_<void (*)(boost::Convertible<typename boost::detail::iterator_traits<Iterator>::iterator_category, std::input_iterator_tag>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_11ConvertibleINS_6detail15iterator_traitsIT_E17iterator_categoryESt18input_iterator_tagEEEEE6failedEEE" location="f242:23" file="f242" line="23" artific [...]
+  <Struct id="_13251" name="instantiate<&boost::concept::requirement_<void (*)(boost::SignedInteger<typename boost::detail::iterator_traits<Iterator>::difference_type>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_13SignedIntegerINS_6detail15iterator_traitsIT_E15difference_typeEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13252" name="instantiate<&boost::concept::requirement_<void (*)(boost::Convertible<Second, typename Func::second_argument_type>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_11ConvertibleIT2_N4Func20second_argument_typeEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13253" name="instantiate<&boost::concept::requirement_<void (*)(boost::Convertible<First, typename Func::first_argument_type>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_11ConvertibleIT1_N4Func19first_argument_typeEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13254" name="instantiate<&boost::concept::requirement_<void (*)(boost::Convertible<typename Func::result_type, Return>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_11ConvertibleIN4Func11result_typeET0_EEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13255" name="instantiate<&boost::concept::requirement_<void (*)(boost::Convertible<Arg, typename Func::argument_type>)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS_11ConvertibleIT1_N4Func13argument_typeEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13256" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::AdaptableGenerator<Func, Return> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_18AdaptableGeneratorIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13257" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::Const_BinaryPredicate<Func, First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_21Const_BinaryPredicateIT_T0_T1_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13258" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::BinaryPredicate<Func, First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_15BinaryPredicateIT_T0_T1_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13259" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::UnaryPredicate<Func, Arg> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_14UnaryPredicateIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13260" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::BinaryFunction<Func, Return, First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_14BinaryFunctionIT_T0_T1_T2_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13261" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::UnaryFunction<Func, Return, Arg> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_13UnaryFunctionIT_T0_T1_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13262" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::Generator<Func, Return> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_9GeneratorIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13263" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::ModOp<Ret, First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_5ModOpIT_T0_T1_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13264" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::SubtractOp<Ret, First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_10SubtractOpIT_T0_T1_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13265" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::DivideOp<Ret, First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_8DivideOpIT_T0_T1_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13266" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::TimesOp<Ret, First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_7TimesOpIT_T0_T1_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13267" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::PlusOp<Ret, First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_6PlusOpIT_T0_T1_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13268" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::GreaterEqualOp<First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_14GreaterEqualOpIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13269" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::GreaterThanOp<First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_13GreaterThanOpIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13270" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::LessEqualOp<First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_11LessEqualOpIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13271" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::LessThanOp<First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_10LessThanOpIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13272" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::NotEqualOp<First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_10NotEqualOpIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13273" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::EqualOp<First, Second> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_7EqualOpIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13274" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::Comparable<TT> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_10ComparableIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13275" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::LessThanComparable<TT> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_18LessThanComparableIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13276" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::EqualityComparable<TT> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_18EqualityComparableIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13277" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::Convertible<X, Y> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_11ConvertibleIT_T0_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13278" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::SGIAssignable<TT> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_13SGIAssignableIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13279" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::CopyConstructible<TT> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_17CopyConstructibleIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13280" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::Assignable<TT> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_10AssignableIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13281" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::DefaultConstructible<TT> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_20DefaultConstructibleIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13282" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::UnsignedInteger<T> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_15UnsignedIntegerIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13283" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::SignedInteger<T> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_13SignedIntegerIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13284" name="instantiate<&boost::concept::requirement_<void (*)(boost::concept::usage_requirements<boost::Integer<T> >)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvNS0_18usage_requirementsINS_7IntegerIT_EEEEEEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Struct id="_13285" name="instantiate<&boost::concept::requirement_<void (*)(Model)>::failed>" context="_10422" incomplete="1" mangled="N5boost7concept6detail11instantiateIXadsrNS0_12requirement_IPFvT_EEE6failedEEE" location="f242:23" file="f242" line="23" artificial="1" align="8"/>
+  <Function id="_13286" name="has_constraints_" returns="_13289" context="_10422" mangled="_ZN5boost7concept6detail16has_constraints_Ez" demangled="boost::concept::detail::has_constraints_(...)" location="f243:24" file="f243" line="24" extern="1" inline="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_13287" name="has_constraints_" returns="_13290" context="_10422" mangled="_ZN5boost7concept6detail16has_constraints_INS_9algorithm16FormatterConceptINS3_6detail13const_formatFISsEENS5_13first_finderFIPKcNS3_8is_equalEEEN9__gnu_cxx17__normal_iteratorISA_SsEEEEEEcPT_PNS1_16wrap_constraintsISH_XadsrSH_11constraintsEEE" demangled="char boost::concept::detail::has_constraints_<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::string>, [...]
+    <Argument type="_9177" location="f243:23" file="f243" line="23"/>
+    <Argument type="_17003" location="f243:23" file="f243" line="23" default="0"/>
+  </Function>
+  <Function id="_13288" name="has_constraints_" returns="_13290" context="_10422" mangled="_ZN5boost7concept6detail16has_constraints_INS_9algorithm13FinderConceptINS3_6detail13first_finderFIPKcNS3_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS8_SsEEEEEEcPT_PNS1_16wrap_constraintsISF_XadsrSF_11constraintsEEE" demangled="char boost::concept::detail::has_constraints_<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>, _ [...]
+    <Argument type="_9178" location="f243:23" file="f243" line="23"/>
+    <Argument type="_17004" location="f243:23" file="f243" line="23" default="0"/>
+  </Function>
+  <Typedef id="_13289" name="no" type="_8394" context="_10422" location="f243:17" file="f243" line="17"/>
+  <Typedef id="_13290" name="yes" type="_2961" context="_10422" location="f243:16" file="f243" line="16"/>
+  <Constructor id="_13291" name="const_range_tag" artificial="1" throw="" context="_10423" access="public" mangled="_ZN5boost21iterator_range_detail15const_range_tagC1ERKS1_ *INTERNAL* " demangled="boost::iterator_range_detail::const_range_tag::const_range_tag(boost::iterator_range_detail::const_range_tag const&)" location="f138:95" file="f138" line="95" inline="1">
+    <Argument name="_ctor_arg" type="_17005" location="f138:95" file="f138" line="95"/>
+  </Constructor>
+  <Constructor id="_13292" name="const_range_tag" explicit="1" artificial="1" throw="" context="_10423" access="public" mangled="_ZN5boost21iterator_range_detail15const_range_tagC1Ev *INTERNAL* " demangled="boost::iterator_range_detail::const_range_tag::const_range_tag()" location="f138:95" file="f138" line="95" inline="1"/>
+  <Constructor id="_13293" name="range_tag" artificial="1" throw="" context="_10424" access="public" mangled="_ZN5boost21iterator_range_detail9range_tagC1ERKS1_ *INTERNAL* " demangled="boost::iterator_range_detail::range_tag::range_tag(boost::iterator_range_detail::range_tag const&)" location="f138:94" file="f138" line="94" inline="1">
+    <Argument name="_ctor_arg" type="_17006" location="f138:94" file="f138" line="94"/>
+  </Constructor>
+  <Constructor id="_13294" name="range_tag" explicit="1" artificial="1" throw="" context="_10424" access="public" mangled="_ZN5boost21iterator_range_detail9range_tagC1Ev *INTERNAL* " demangled="boost::iterator_range_detail::range_tag::range_tag()" location="f138:94" file="f138" line="94" inline="1"/>
+  <Constructor id="_13295" name="enable_if" artificial="1" throw="" context="_10425" access="public" mangled="_ZN5boost9iterators9enable_ifINS_3mpl3or_INS_14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EESD_N4mpl_5bool_ILb0EEESG_SG_EEbEC1ERKSI_ *INTERNAL* " demangled="boost::iterators::enable_if<boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char cons [...]
+    <Argument name="_ctor_arg" type="_17007" location="f199:74" file="f199" line="74"/>
+  </Constructor>
+  <Constructor id="_13296" name="enable_if" explicit="1" artificial="1" throw="" context="_10425" access="public" mangled="_ZN5boost9iterators9enable_ifINS_3mpl3or_INS_14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EESD_N4mpl_5bool_ILb0EEESG_SG_EEbEC1Ev *INTERNAL* " demangled="boost::iterators::enable_if<boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator< [...]
+  <Constructor id="_13297" name="enable_if" artificial="1" throw="" context="_10426" access="public" mangled="_ZN5boost9iterators9enable_ifINS_3mpl3or_INS_14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESF_EESG_N4mpl_5bool_ILb0EEESJ_SJ_EEbEC1ERKSL_ *INTERNAL* " demangled="boost::iterators::enable_if<boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits [...]
+    <Argument name="_ctor_arg" type="_17008" location="f199:74" file="f199" line="74"/>
+  </Constructor>
+  <Constructor id="_13298" name="enable_if" explicit="1" artificial="1" throw="" context="_10426" access="public" mangled="_ZN5boost9iterators9enable_ifINS_3mpl3or_INS_14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESF_EESG_N4mpl_5bool_ILb0EEESJ_SJ_EEbEC1Ev *INTERNAL* " demangled="boost::iterators::enable_if<boost::mpl::or_<boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::ch [...]
+  <Constructor id="_13299" name="enabled" artificial="1" throw="" context="_10427" access="public" mangled="_ZN5boost9iterators7enabledILb1EEC1ERKS2_ *INTERNAL* " demangled="boost::iterators::enabled<true>::enabled(boost::iterators::enabled<true> const&)" location="f199:31" file="f199" line="31" inline="1">
+    <Argument name="_ctor_arg" type="_17009" location="f199:31" file="f199" line="31"/>
+  </Constructor>
+  <Constructor id="_13300" name="enabled" explicit="1" artificial="1" throw="" context="_10427" access="public" mangled="_ZN5boost9iterators7enabledILb1EEC1Ev *INTERNAL* " demangled="boost::iterators::enabled<true>::enabled()" location="f199:31" file="f199" line="31" inline="1"/>
+  <Constructor id="_13301" name="enabled" artificial="1" throw="" context="_10428" access="public" mangled="_ZN5boost9iterators7enabledILb0EEC1ERKS2_ *INTERNAL* " demangled="boost::iterators::enabled<false>::enabled(boost::iterators::enabled<false> const&)" location="f199:46" file="f199" line="46" inline="1">
+    <Argument name="_ctor_arg" type="_17010" location="f199:46" file="f199" line="46"/>
+  </Constructor>
+  <Constructor id="_13302" name="enabled" explicit="1" artificial="1" throw="" context="_10428" access="public" mangled="_ZN5boost9iterators7enabledILb0EEC1Ev *INTERNAL* " demangled="boost::iterators::enabled<false>::enabled()" location="f199:46" file="f199" line="46" inline="1"/>
+  <Typedef id="_13303" name="type" type="_10899" context="_10429" access="public" location="f199:35" file="f199" line="35"/>
+  <Constructor id="_13304" name="base" artificial="1" throw="" context="_10429" access="public" mangled="_ZN5boost9iterators7enabledILb1EE4baseINS_6detail11enable_typeEEC1ERKS6_ *INTERNAL* " demangled="boost::iterators::enabled<true>::base<boost::detail::enable_type>::base(boost::iterators::enabled<true>::base<boost::detail::enable_type> const&)" location="f199:34" file="f199" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_17011" location="f199:34" file="f199" line="34"/>
+  </Constructor>
+  <Constructor id="_13305" name="base" explicit="1" artificial="1" throw="" context="_10429" access="public" mangled="_ZN5boost9iterators7enabledILb1EE4baseINS_6detail11enable_typeEEC1Ev *INTERNAL* " demangled="boost::iterators::enabled<true>::base<boost::detail::enable_type>::base()" location="f199:34" file="f199" line="34" inline="1"/>
+  <Typedef id="_13306" name="type" type="_3949" context="_10430" access="public" location="f199:35" file="f199" line="35"/>
+  <Constructor id="_13307" name="base" artificial="1" throw="" context="_10430" access="public" mangled="_ZN5boost9iterators7enabledILb1EE4baseIbEC1ERKS4_ *INTERNAL* " demangled="boost::iterators::enabled<true>::base<bool>::base(boost::iterators::enabled<true>::base<bool> const&)" location="f199:34" file="f199" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_17012" location="f199:34" file="f199" line="34"/>
+  </Constructor>
+  <Constructor id="_13308" name="base" explicit="1" artificial="1" throw="" context="_10430" access="public" mangled="_ZN5boost9iterators7enabledILb1EE4baseIbEC1Ev *INTERNAL* " demangled="boost::iterators::enabled<true>::base<bool>::base()" location="f199:34" file="f199" line="34" inline="1"/>
+  <Variable id="_13309" name="value" type="_3949c" init="false" context="_10431" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIsE5valueE" demangled="boost::type_traits::is_mem_fun_pointer_impl<short>::value" location="f244:31" file="f244" line="31" extern="1"/>
+  <Constructor id="_13310" name="is_mem_fun_pointer_impl" artificial="1" throw="" context="_10431" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIsEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<short>::is_mem_fun_pointer_impl(boost::type_traits::is_mem_fun_pointer_impl<short> const&)" location="f244:30" file="f244" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_17013" location="f244:30" file="f244" line="30"/>
+  </Constructor>
+  <Constructor id="_13311" name="is_mem_fun_pointer_impl" explicit="1" artificial="1" throw="" context="_10431" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIsEC1Ev *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<short>::is_mem_fun_pointer_impl()" location="f244:30" file="f244" line="30" inline="1"/>
+  <Variable id="_13312" name="value" type="_3949c" init="false" context="_10432" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIxE5valueE" demangled="boost::type_traits::is_mem_fun_pointer_impl<long long>::value" location="f244:31" file="f244" line="31" extern="1"/>
+  <Constructor id="_13313" name="is_mem_fun_pointer_impl" artificial="1" throw="" context="_10432" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIxEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<long long>::is_mem_fun_pointer_impl(boost::type_traits::is_mem_fun_pointer_impl<long long> const&)" location="f244:30" file="f244" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_17014" location="f244:30" file="f244" line="30"/>
+  </Constructor>
+  <Constructor id="_13314" name="is_mem_fun_pointer_impl" explicit="1" artificial="1" throw="" context="_10432" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIxEC1Ev *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<long long>::is_mem_fun_pointer_impl()" location="f244:30" file="f244" line="30" inline="1"/>
+  <Variable id="_13315" name="value" type="_3949c" init="false" context="_10433" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIiE5valueE" demangled="boost::type_traits::is_mem_fun_pointer_impl<int>::value" location="f244:31" file="f244" line="31" extern="1"/>
+  <Constructor id="_13316" name="is_mem_fun_pointer_impl" artificial="1" throw="" context="_10433" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIiEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<int>::is_mem_fun_pointer_impl(boost::type_traits::is_mem_fun_pointer_impl<int> const&)" location="f244:30" file="f244" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_17015" location="f244:30" file="f244" line="30"/>
+  </Constructor>
+  <Constructor id="_13317" name="is_mem_fun_pointer_impl" explicit="1" artificial="1" throw="" context="_10433" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIiEC1Ev *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<int>::is_mem_fun_pointer_impl()" location="f244:30" file="f244" line="30" inline="1"/>
+  <Variable id="_13318" name="value" type="_3949c" init="false" context="_10434" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implItE5valueE" demangled="boost::type_traits::is_mem_fun_pointer_impl<unsigned short>::value" location="f244:31" file="f244" line="31" extern="1"/>
+  <Constructor id="_13319" name="is_mem_fun_pointer_impl" artificial="1" throw="" context="_10434" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implItEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<unsigned short>::is_mem_fun_pointer_impl(boost::type_traits::is_mem_fun_pointer_impl<unsigned short> const&)" location="f244:30" file="f244" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_17016" location="f244:30" file="f244" line="30"/>
+  </Constructor>
+  <Constructor id="_13320" name="is_mem_fun_pointer_impl" explicit="1" artificial="1" throw="" context="_10434" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implItEC1Ev *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<unsigned short>::is_mem_fun_pointer_impl()" location="f244:30" file="f244" line="30" inline="1"/>
+  <Variable id="_13321" name="value" type="_3949c" init="false" context="_10435" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE5valueE" demangled="boost::type_traits::is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::value" location="f244:31" file="f244" line="31" e [...]
+  <Constructor id="_13322" name="is_mem_fun_pointer_impl" artificial="1" throw="" context="_10435" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_mem_fun_pointer [...]
+    <Argument name="_ctor_arg" type="_17017" location="f244:30" file="f244" line="30"/>
+  </Constructor>
+  <Constructor id="_13323" name="is_mem_fun_pointer_impl" explicit="1" artificial="1" throw="" context="_10435" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_mem_fu [...]
+  <Variable id="_13324" name="value" type="_3949c" init="false" context="_10436" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEE5valueE" demangled="boost::type_traits::is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::value" location="f244:31" file="f244" line="31" extern="1"/>
+  <Constructor id="_13325" name="is_mem_fun_pointer_impl" artificial="1" throw="" context="_10436" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_mem_fun_pointer_impl(boost::type_traits::is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> &g [...]
+    <Argument name="_ctor_arg" type="_17018" location="f244:30" file="f244" line="30"/>
+  </Constructor>
+  <Constructor id="_13326" name="is_mem_fun_pointer_impl" explicit="1" artificial="1" throw="" context="_10436" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_mem_fun_pointer_impl()" location="f244:30" file="f244" line="30" inline="1"/>
+  <Variable id="_13327" name="value" type="_3949c" init="false" context="_10437" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::type_traits::is_mem_fun_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f244:31" file="f244" line="31" extern="1"/>
+  <Constructor id="_13328" name="is_mem_fun_pointer_impl" artificial="1" throw="" context="_10437" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_mem_fun_pointer_impl(boost::type_traits::is_mem_fun_pointer_impl<std::basic_string<wchar_t, std::c [...]
+    <Argument name="_ctor_arg" type="_17019" location="f244:30" file="f244" line="30"/>
+  </Constructor>
+  <Constructor id="_13329" name="is_mem_fun_pointer_impl" explicit="1" artificial="1" throw="" context="_10437" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_mem_fun_pointer_impl()" location="f244:30" file="f244" line="30" inline="1"/>
+  <Variable id="_13330" name="value" type="_3949c" init="false" context="_10438" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implISsE5valueE" demangled="boost::type_traits::is_mem_fun_pointer_impl<std::string>::value" location="f244:31" file="f244" line="31" extern="1"/>
+  <Constructor id="_13331" name="is_mem_fun_pointer_impl" artificial="1" throw="" context="_10438" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<std::string>::is_mem_fun_pointer_impl(boost::type_traits::is_mem_fun_pointer_impl<std::string> const&)" location="f244:30" file="f244" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_17020" location="f244:30" file="f244" line="30"/>
+  </Constructor>
+  <Constructor id="_13332" name="is_mem_fun_pointer_impl" explicit="1" artificial="1" throw="" context="_10438" access="public" mangled="_ZN5boost11type_traits23is_mem_fun_pointer_implISsEC1Ev *INTERNAL* " demangled="boost::type_traits::is_mem_fun_pointer_impl<std::string>::is_mem_fun_pointer_impl()" location="f244:30" file="f244" line="30" inline="1"/>
+  <Variable id="_13333" name="value" type="_3949c" init="false" context="_10439" access="public" mangled="_ZN5boost11type_traits22is_function_ptr_helperIPSbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::type_traits::is_function_ptr_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>::value" location="f245:32" file="f245" line="32" extern="1"/>
+  <Constructor id="_13334" name="is_function_ptr_helper" artificial="1" throw="" context="_10439" access="public" mangled="_ZN5boost11type_traits22is_function_ptr_helperIPSbIwSt11char_traitsIwESaIwEEEC1ERKS7_ *INTERNAL* " demangled="boost::type_traits::is_function_ptr_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>::is_function_ptr_helper(boost::type_traits::is_function_ptr_helper<std::basic_string<wchar_t, std::char_ [...]
+    <Argument name="_ctor_arg" type="_17021" location="f245:31" file="f245" line="31"/>
+  </Constructor>
+  <Constructor id="_13335" name="is_function_ptr_helper" explicit="1" artificial="1" throw="" context="_10439" access="public" mangled="_ZN5boost11type_traits22is_function_ptr_helperIPSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::type_traits::is_function_ptr_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>::is_function_ptr_helper()" location="f245:31" file="f245" line="31" inline="1"/>
+  <Variable id="_13336" name="value" type="_3949c" init="false" context="_10440" access="public" mangled="_ZN5boost11type_traits22is_function_ptr_helperIPSsE5valueE" demangled="boost::type_traits::is_function_ptr_helper<std::string*>::value" location="f245:32" file="f245" line="32" extern="1"/>
+  <Constructor id="_13337" name="is_function_ptr_helper" artificial="1" throw="" context="_10440" access="public" mangled="_ZN5boost11type_traits22is_function_ptr_helperIPSsEC1ERKS3_ *INTERNAL* " demangled="boost::type_traits::is_function_ptr_helper<std::string*>::is_function_ptr_helper(boost::type_traits::is_function_ptr_helper<std::string*> const&)" location="f245:31" file="f245" line="31" inline="1">
+    <Argument name="_ctor_arg" type="_17022" location="f245:31" file="f245" line="31"/>
+  </Constructor>
+  <Constructor id="_13338" name="is_function_ptr_helper" explicit="1" artificial="1" throw="" context="_10440" access="public" mangled="_ZN5boost11type_traits22is_function_ptr_helperIPSsEC1Ev *INTERNAL* " demangled="boost::type_traits::is_function_ptr_helper<std::string*>::is_function_ptr_helper()" location="f245:31" file="f245" line="31" inline="1"/>
+  <Constructor id="_13339" name="false_result" artificial="1" throw="" context="_10441" access="public" mangled="_ZN5boost11type_traits12false_resultC1ERKS1_ *INTERNAL* " demangled="boost::type_traits::false_result::false_result(boost::type_traits::false_result const&)" location="f246:19" file="f246" line="19" inline="1">
+    <Argument name="_ctor_arg" type="_17023" location="f246:19" file="f246" line="19"/>
+  </Constructor>
+  <Constructor id="_13340" name="false_result" explicit="1" artificial="1" throw="" context="_10441" access="public" mangled="_ZN5boost11type_traits12false_resultC1Ev *INTERNAL* " demangled="boost::type_traits::false_result::false_result()" location="f246:19" file="f246" line="19" inline="1"/>
+  <Variable id="_13341" name="value" type="_3949c" init="true" context="_10442" access="public" mangled="_ZN5boost11type_traits7ice_notILb0EE5valueE" demangled="boost::type_traits::ice_not<false>::value" location="f247:19" file="f247" line="19" extern="1"/>
+  <Constructor id="_13342" name="ice_not" artificial="1" throw="" context="_10442" access="public" mangled="_ZN5boost11type_traits7ice_notILb0EEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::ice_not<false>::ice_not(boost::type_traits::ice_not<false> const&)" location="f247:18" file="f247" line="18" inline="1">
+    <Argument name="_ctor_arg" type="_17024" location="f247:18" file="f247" line="18"/>
+  </Constructor>
+  <Constructor id="_13343" name="ice_not" explicit="1" artificial="1" throw="" context="_10442" access="public" mangled="_ZN5boost11type_traits7ice_notILb0EEC1Ev *INTERNAL* " demangled="boost::type_traits::ice_not<false>::ice_not()" location="f247:18" file="f247" line="18" inline="1"/>
+  <Variable id="_13344" name="value" type="_3949c" init="false" context="_10443" access="public" mangled="_ZN5boost11type_traits7ice_notILb1EE5valueE" demangled="boost::type_traits::ice_not<true>::value" location="f247:25" file="f247" line="25" extern="1"/>
+  <Constructor id="_13345" name="ice_not" artificial="1" throw="" context="_10443" access="public" mangled="_ZN5boost11type_traits7ice_notILb1EEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::ice_not<true>::ice_not(boost::type_traits::ice_not<true> const&)" location="f247:24" file="f247" line="24" inline="1">
+    <Argument name="_ctor_arg" type="_17025" location="f247:24" file="f247" line="24"/>
+  </Constructor>
+  <Constructor id="_13346" name="ice_not" explicit="1" artificial="1" throw="" context="_10443" access="public" mangled="_ZN5boost11type_traits7ice_notILb1EEC1Ev *INTERNAL* " demangled="boost::type_traits::ice_not<true>::ice_not()" location="f247:24" file="f247" line="24" inline="1"/>
+  <Variable id="_13347" name="value" type="_3949c" init="false" context="_10444" access="public" mangled="_ZN5boost11type_traits7ice_andILb0ELb1ELb1ELb1ELb1ELb1ELb1EE5valueE" demangled="boost::type_traits::ice_and<false, true, true, true, true, true, true>::value" location="f248:23" file="f248" line="23" extern="1"/>
+  <Constructor id="_13348" name="ice_and" artificial="1" throw="" context="_10444" access="public" mangled="_ZN5boost11type_traits7ice_andILb0ELb1ELb1ELb1ELb1ELb1ELb1EEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::ice_and<false, true, true, true, true, true, true>::ice_and(boost::type_traits::ice_and<false, true, true, true, true, true, true> const&)" location="f248:22" file="f248" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_17026" location="f248:22" file="f248" line="22"/>
+  </Constructor>
+  <Constructor id="_13349" name="ice_and" explicit="1" artificial="1" throw="" context="_10444" access="public" mangled="_ZN5boost11type_traits7ice_andILb0ELb1ELb1ELb1ELb1ELb1ELb1EEC1Ev *INTERNAL* " demangled="boost::type_traits::ice_and<false, true, true, true, true, true, true>::ice_and()" location="f248:22" file="f248" line="22" inline="1"/>
+  <Variable id="_13350" name="value" type="_3949c" init="true" context="_10445" access="public" mangled="_ZN5boost11type_traits7ice_andILb1ELb1ELb1ELb1ELb1ELb1ELb1EE5valueE" demangled="boost::type_traits::ice_and<true, true, true, true, true, true, true>::value" location="f248:29" file="f248" line="29" extern="1"/>
+  <Constructor id="_13351" name="ice_and" artificial="1" throw="" context="_10445" access="public" mangled="_ZN5boost11type_traits7ice_andILb1ELb1ELb1ELb1ELb1ELb1ELb1EEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::ice_and<true, true, true, true, true, true, true>::ice_and(boost::type_traits::ice_and<true, true, true, true, true, true, true> const&)" location="f248:28" file="f248" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_17027" location="f248:28" file="f248" line="28"/>
+  </Constructor>
+  <Constructor id="_13352" name="ice_and" explicit="1" artificial="1" throw="" context="_10445" access="public" mangled="_ZN5boost11type_traits7ice_andILb1ELb1ELb1ELb1ELb1ELb1ELb1EEC1Ev *INTERNAL* " demangled="boost::type_traits::ice_and<true, true, true, true, true, true, true>::ice_and()" location="f248:28" file="f248" line="28" inline="1"/>
+  <Variable id="_13353" name="value" type="_3949c" init="true" context="_10446" access="public" mangled="_ZN5boost11type_traits6ice_orILb1ELb0ELb0ELb0ELb0ELb0ELb0EE5valueE" demangled="boost::type_traits::ice_or<true, false, false, false, false, false, false>::value" location="f249:22" file="f249" line="22" extern="1"/>
+  <Constructor id="_13354" name="ice_or" artificial="1" throw="" context="_10446" access="public" mangled="_ZN5boost11type_traits6ice_orILb1ELb0ELb0ELb0ELb0ELb0ELb0EEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::ice_or<true, false, false, false, false, false, false>::ice_or(boost::type_traits::ice_or<true, false, false, false, false, false, false> const&)" location="f249:21" file="f249" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_17028" location="f249:21" file="f249" line="21"/>
+  </Constructor>
+  <Constructor id="_13355" name="ice_or" explicit="1" artificial="1" throw="" context="_10446" access="public" mangled="_ZN5boost11type_traits6ice_orILb1ELb0ELb0ELb0ELb0ELb0ELb0EEC1Ev *INTERNAL* " demangled="boost::type_traits::ice_or<true, false, false, false, false, false, false>::ice_or()" location="f249:21" file="f249" line="21" inline="1"/>
+  <Variable id="_13356" name="value" type="_3949c" init="false" context="_10447" access="public" mangled="_ZN5boost11type_traits6ice_orILb0ELb0ELb0ELb0ELb0ELb0ELb0EE5valueE" demangled="boost::type_traits::ice_or<false, false, false, false, false, false, false>::value" location="f249:28" file="f249" line="28" extern="1"/>
+  <Constructor id="_13357" name="ice_or" artificial="1" throw="" context="_10447" access="public" mangled="_ZN5boost11type_traits6ice_orILb0ELb0ELb0ELb0ELb0ELb0ELb0EEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::ice_or<false, false, false, false, false, false, false>::ice_or(boost::type_traits::ice_or<false, false, false, false, false, false, false> const&)" location="f249:27" file="f249" line="27" inline="1">
+    <Argument name="_ctor_arg" type="_17029" location="f249:27" file="f249" line="27"/>
+  </Constructor>
+  <Constructor id="_13358" name="ice_or" explicit="1" artificial="1" throw="" context="_10447" access="public" mangled="_ZN5boost11type_traits6ice_orILb0ELb0ELb0ELb0ELb0ELb0ELb0EEC1Ev *INTERNAL* " demangled="boost::type_traits::ice_or<false, false, false, false, false, false, false>::ice_or()" location="f249:27" file="f249" line="27" inline="1"/>
+  <Variable id="_13359" name="value" type="_3949c" init="true" context="_10448" access="public" mangled="_ZN5boost11type_traits6ice_orILb0ELb0ELb0ELb1ELb0ELb0ELb0EE5valueE" demangled="boost::type_traits::ice_or<false, false, false, true, false, false, false>::value" location="f249:22" file="f249" line="22" extern="1"/>
+  <Constructor id="_13360" name="ice_or" artificial="1" throw="" context="_10448" access="public" mangled="_ZN5boost11type_traits6ice_orILb0ELb0ELb0ELb1ELb0ELb0ELb0EEC1ERKS2_ *INTERNAL* " demangled="boost::type_traits::ice_or<false, false, false, true, false, false, false>::ice_or(boost::type_traits::ice_or<false, false, false, true, false, false, false> const&)" location="f249:21" file="f249" line="21" inline="1">
+    <Argument name="_ctor_arg" type="_17030" location="f249:21" file="f249" line="21"/>
+  </Constructor>
+  <Constructor id="_13361" name="ice_or" explicit="1" artificial="1" throw="" context="_10448" access="public" mangled="_ZN5boost11type_traits6ice_orILb0ELb0ELb0ELb1ELb0ELb0ELb0EEC1Ev *INTERNAL* " demangled="boost::type_traits::ice_or<false, false, false, true, false, false, false>::ice_or()" location="f249:21" file="f249" line="21" inline="1"/>
+  <Field id="_13362" name="padding" type="_8289" offset="0" context="_10449" access="public" mangled="_ZN5boost11type_traits7no_type7paddingE" demangled="boost::type_traits::no_type::padding" location="f250:20" file="f250" line="20"/>
+  <Constructor id="_13363" name="no_type" artificial="1" throw="" context="_10449" access="public" mangled="_ZN5boost11type_traits7no_typeC1ERKS1_ *INTERNAL* " demangled="boost::type_traits::no_type::no_type(boost::type_traits::no_type const&)" location="f250:19" file="f250" line="19" inline="1">
+    <Argument name="_ctor_arg" type="_17031" location="f250:19" file="f250" line="19"/>
+  </Constructor>
+  <Constructor id="_13364" name="no_type" explicit="1" artificial="1" throw="" context="_10449" access="public" mangled="_ZN5boost11type_traits7no_typeC1Ev *INTERNAL* " demangled="boost::type_traits::no_type::no_type()" location="f250:19" file="f250" line="19" inline="1"/>
+  <Constructor id="_13365" name="char_or_wchar_t_array_tag" artificial="1" throw="" context="_10475" access="public" mangled="_ZN5boost12range_detail25char_or_wchar_t_array_tagC1ERKS1_ *INTERNAL* " demangled="boost::range_detail::char_or_wchar_t_array_tag::char_or_wchar_t_array_tag(boost::range_detail::char_or_wchar_t_array_tag const&)" location="f253:71" file="f253" line="71" inline="1">
+    <Argument name="_ctor_arg" type="_17032" location="f253:71" file="f253" line="71"/>
+  </Constructor>
+  <Constructor id="_13366" name="char_or_wchar_t_array_tag" explicit="1" artificial="1" throw="" context="_10475" access="public" mangled="_ZN5boost12range_detail25char_or_wchar_t_array_tagC1Ev *INTERNAL* " demangled="boost::range_detail::char_or_wchar_t_array_tag::char_or_wchar_t_array_tag()" location="f253:71" file="f253" line="71" inline="1"/>
+  <CvQualifiedType id="_2780c" type="_2780" const="1"/>
+  <CvQualifiedType id="_2778c" type="_2778" const="1"/>
+  <CvQualifiedType id="_2749c" type="_2749" const="1"/>
+  <CvQualifiedType id="_1149c" type="_1149" const="1"/>
+  <Constructor id="_13369" name="is_not_void_" artificial="1" throw="" context="_10499" access="public" mangled="_ZN5boost3mpl12is_not_void_IN4mpl_2naEEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::is_not_void_<mpl_::na>::is_not_void_(boost::mpl::is_not_void_<mpl_::na> const&)" location="f124:72" file="f124" line="72" inline="1">
+    <Argument name="_ctor_arg" type="_17033" location="f124:72" file="f124" line="72"/>
+  </Constructor>
+  <Constructor id="_13370" name="is_not_void_" explicit="1" artificial="1" throw="" context="_10499" access="public" mangled="_ZN5boost3mpl12is_not_void_IN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::is_not_void_<mpl_::na>::is_not_void_()" location="f124:72" file="f124" line="72" inline="1"/>
+  <Constructor id="_13371" name="is_not_void_" artificial="1" throw="" context="_10500" access="public" mangled="_ZN5boost3mpl12is_not_void_IN4mpl_5void_EEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::is_not_void_<mpl_::void_>::is_not_void_(boost::mpl::is_not_void_<mpl_::void_> const&)" location="f124:65" file="f124" line="65" inline="1">
+    <Argument name="_ctor_arg" type="_17034" location="f124:65" file="f124" line="65"/>
+  </Constructor>
+  <Constructor id="_13372" name="is_not_void_" explicit="1" artificial="1" throw="" context="_10500" access="public" mangled="_ZN5boost3mpl12is_not_void_IN4mpl_5void_EEC1Ev *INTERNAL* " demangled="boost::mpl::is_not_void_<mpl_::void_>::is_not_void_()" location="f124:65" file="f124" line="65" inline="1"/>
+  <Constructor id="_13373" name="is_void_" artificial="1" throw="" context="_10501" access="public" mangled="_ZN5boost3mpl8is_void_IN4mpl_2naEEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::is_void_<mpl_::na>::is_void_(boost::mpl::is_void_<mpl_::na> const&)" location="f124:71" file="f124" line="71" inline="1">
+    <Argument name="_ctor_arg" type="_17035" location="f124:71" file="f124" line="71"/>
+  </Constructor>
+  <Constructor id="_13374" name="is_void_" explicit="1" artificial="1" throw="" context="_10501" access="public" mangled="_ZN5boost3mpl8is_void_IN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::is_void_<mpl_::na>::is_void_()" location="f124:71" file="f124" line="71" inline="1"/>
+  <Constructor id="_13375" name="is_void_" artificial="1" throw="" context="_10502" access="public" mangled="_ZN5boost3mpl8is_void_IN4mpl_5void_EEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::is_void_<mpl_::void_>::is_void_(boost::mpl::is_void_<mpl_::void_> const&)" location="f124:47" file="f124" line="47" inline="1">
+    <Argument name="_ctor_arg" type="_17036" location="f124:47" file="f124" line="47"/>
+  </Constructor>
+  <Constructor id="_13376" name="is_void_" explicit="1" artificial="1" throw="" context="_10502" access="public" mangled="_ZN5boost3mpl8is_void_IN4mpl_5void_EEC1Ev *INTERNAL* " demangled="boost::mpl::is_void_<mpl_::void_>::is_void_()" location="f124:47" file="f124" line="47" inline="1"/>
+  <Constructor id="_13377" name="protect" artificial="1" throw="" context="_10503" access="public" mangled="_ZN5boost3mpl7protectIN4mpl_2naELi0EEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::protect<mpl_::na, 0>::protect(boost::mpl::protect<mpl_::na, 0> const&)" location="f255:48" file="f255" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_17037" location="f255:48" file="f255" line="48"/>
+  </Constructor>
+  <Constructor id="_13378" name="protect" explicit="1" artificial="1" throw="" context="_10503" access="public" mangled="_ZN5boost3mpl7protectIN4mpl_2naELi0EEC1Ev *INTERNAL* " demangled="boost::mpl::protect<mpl_::na, 0>::protect()" location="f255:48" file="f255" line="48" inline="1"/>
+  <Constructor id="_13379" name="prior" artificial="1" throw="" context="_10504" access="public" mangled="_ZN5boost3mpl5priorIN4mpl_2naEEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::prior<mpl_::na>::prior(boost::mpl::prior<mpl_::na> const&)" location="f256:45" file="f256" line="45" inline="1">
+    <Argument name="_ctor_arg" type="_17038" location="f256:45" file="f256" line="45"/>
+  </Constructor>
+  <Constructor id="_13380" name="prior" explicit="1" artificial="1" throw="" context="_10504" access="public" mangled="_ZN5boost3mpl5priorIN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::prior<mpl_::na>::prior()" location="f256:45" file="f256" line="45" inline="1"/>
+  <Constructor id="_13381" name="next" artificial="1" throw="" context="_10505" access="public" mangled="_ZN5boost3mpl4nextIN4mpl_2naEEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::next<mpl_::na>::next(boost::mpl::next<mpl_::na> const&)" location="f256:44" file="f256" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_17039" location="f256:44" file="f256" line="44"/>
+  </Constructor>
+  <Constructor id="_13382" name="next" explicit="1" artificial="1" throw="" context="_10505" access="public" mangled="_ZN5boost3mpl4nextIN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::next<mpl_::na>::next()" location="f256:44" file="f256" line="44" inline="1"/>
+  <Constructor id="_13383" name="apply_wrap2" artificial="1" throw="" context="_10506" access="public" mangled="_ZN5boost3mpl11apply_wrap2INS_6detail12always_bool2ENS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1ERKSC_ *INTERNAL* " demangled="boost::mpl::apply_wrap2<boost::detail::always_bool2, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator& [...]
+    <Argument name="_ctor_arg" type="_17040" location="f257:49" file="f257" line="49"/>
+  </Constructor>
+  <Constructor id="_13384" name="apply_wrap2" explicit="1" artificial="1" throw="" context="_10506" access="public" mangled="_ZN5boost3mpl11apply_wrap2INS_6detail12always_bool2ENS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1Ev *INTERNAL* " demangled="boost::mpl::apply_wrap2<boost::detail::always_bool2, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_ [...]
+  <Struct id="_13385" name="apply<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<c [...]
+  <Constructor id="_13386" name="apply_wrap2" artificial="1" throw="" context="_10507" access="public" mangled="_ZN5boost3mpl11apply_wrap2INS_6detail12always_bool2ENS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EC1ERKSF_ *INTERNAL* " demangled="boost::mpl::apply_wrap2<boost::detail::always_bool2, boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char cons [...]
+    <Argument name="_ctor_arg" type="_17044" location="f257:49" file="f257" line="49"/>
+  </Constructor>
+  <Constructor id="_13387" name="apply_wrap2" explicit="1" artificial="1" throw="" context="_10507" access="public" mangled="_ZN5boost3mpl11apply_wrap2INS_6detail12always_bool2ENS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EC1Ev *INTERNAL* " demangled="boost::mpl::apply_wrap2<boost::detail::always_bool2, boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator< [...]
+  <Struct id="_13388" name="apply<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const c [...]
+  <Constructor id="_13389" name="apply2" artificial="1" throw="" context="_10508" access="public" mangled="_ZN5boost3mpl6apply2INS_6detail12always_bool2ENS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1ERKSC_ *INTERNAL* " demangled="boost::mpl::apply2<boost::detail::always_bool2, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset [...]
+    <Argument name="_ctor_arg" type="_17048" location="f258:73" file="f258" line="73"/>
+  </Constructor>
+  <Constructor id="_13390" name="apply2" explicit="1" artificial="1" throw="" context="_10508" access="public" mangled="_ZN5boost3mpl6apply2INS_6detail12always_bool2ENS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1Ev *INTERNAL* " demangled="boost::mpl::apply2<boost::detail::always_bool2, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boos [...]
+  <Constructor id="_13391" name="apply2" artificial="1" throw="" context="_10509" access="public" mangled="_ZN5boost3mpl6apply2INS_6detail12always_bool2ENS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EC1ERKSF_ *INTERNAL* " demangled="boost::mpl::apply2<boost::detail::always_bool2, boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string& [...]
+    <Argument name="_ctor_arg" type="_17049" location="f258:73" file="f258" line="73"/>
+  </Constructor>
+  <Constructor id="_13392" name="apply2" explicit="1" artificial="1" throw="" context="_10509" access="public" mangled="_ZN5boost3mpl6apply2INS_6detail12always_bool2ENS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EC1Ev *INTERNAL* " demangled="boost::mpl::apply2<boost::detail::always_bool2, boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std [...]
+  <Constructor id="_13393" name="and_" artificial="1" throw="" context="_10510" access="public" mangled="_ZN5boost3mpl4and_INS_6is_PODISbIwSt11char_traitsIwESaIwEEEENS_6detail29iterator_writability_disabledIS6_RKS6_EEN4mpl_5bool_ILb1EEESF_SF_EC1ERKSG_ *INTERNAL* " demangled="boost::mpl::and_<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::detail::iterator_writability_disabled<std::basic_string<wchar_ [...]
+    <Argument name="_ctor_arg" type="_17050" location="f259:55" file="f259" line="55"/>
+  </Constructor>
+  <Constructor id="_13394" name="and_" explicit="1" artificial="1" throw="" context="_10510" access="public" mangled="_ZN5boost3mpl4and_INS_6is_PODISbIwSt11char_traitsIwESaIwEEEENS_6detail29iterator_writability_disabledIS6_RKS6_EEN4mpl_5bool_ILb1EEESF_SF_EC1Ev *INTERNAL* " demangled="boost::mpl::and_<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::detail::iterator_writability_disabled<std::basic_string& [...]
+  <Struct id="_13395" name="and_impl<false,boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_10629" mangled="N5boost3mpl3aux8and_implILb0ENS_6detail29iterator_writability_disabledISbIwSt11cha [...]
+    <Base type="_3259" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_13396" name="and_" artificial="1" throw="" context="_10511" access="public" mangled="_ZN5boost3mpl4and_INS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEENS_14is_convertibleINS_21forward_traversal_tagESB_EEN4mpl_5bool_ILb1EEESF_SF_EC1ERKSG_ *INTERNAL* " demangled="boost::mpl::and_<boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>, boost::is_convertible<boost::forward_traversal_ [...]
+    <Argument name="_ctor_arg" type="_17053" location="f259:55" file="f259" line="55"/>
+  </Constructor>
+  <Constructor id="_13397" name="and_" explicit="1" artificial="1" throw="" context="_10511" access="public" mangled="_ZN5boost3mpl4and_INS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEENS_14is_convertibleINS_21forward_traversal_tagESB_EEN4mpl_5bool_ILb1EEESF_SF_EC1Ev *INTERNAL* " demangled="boost::mpl::and_<boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>, boost::is_convertible<boost::forward_t [...]
+  <Struct id="_13398" name="and_impl<true,boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_10629" mangled="N5boost3mpl3aux8and_implILb1ENS_14is_convertibleINS_21forward_traversal_tagES4_EEN4mpl_5bool_ILb1EEES8_S8_EE" demangled="boost::mpl::aux::and_impl<true, boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>, mpl_::bool [...]
+    <Base type="_13752" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_13399" name="and_" artificial="1" throw="" context="_10513" access="public" mangled="_ZN5boost3mpl4and_INS_6is_PODISsEENS_6detail29iterator_writability_disabledISsRKSsEEN4mpl_5bool_ILb1EEESB_SB_EC1ERKSC_ *INTERNAL* " demangled="boost::mpl::and_<boost::is_POD<std::string>, boost::detail::iterator_writability_disabled<std::string, std::string const&>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_(mpl_::bool_<t [...]
+    <Argument name="_ctor_arg" type="_17056" location="f259:55" file="f259" line="55"/>
+  </Constructor>
+  <Constructor id="_13400" name="and_" explicit="1" artificial="1" throw="" context="_10513" access="public" mangled="_ZN5boost3mpl4and_INS_6is_PODISsEENS_6detail29iterator_writability_disabledISsRKSsEEN4mpl_5bool_ILb1EEESB_SB_EC1Ev *INTERNAL* " demangled="boost::mpl::and_<boost::is_POD<std::string>, boost::detail::iterator_writability_disabled<std::string, std::string const&>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_()" loca [...]
+  <Struct id="_13401" name="and_impl<false,boost::detail::iterator_writability_disabled<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_10629" mangled="N5boost3mpl3aux8and_implILb0ENS_6detail29iterator_writability_disabledISsRKSsEEN4mpl_5bool_ILb1EEESA [...]
+    <Base type="_3259" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_13402" name="and_" artificial="1" throw="" context="_10514" access="public" mangled="_ZN5boost3mpl4and_INS_12is_referenceIRKSsEENS_14is_convertibleINS_21forward_traversal_tagES7_EEN4mpl_5bool_ILb1EEESB_SB_EC1ERKSC_ *INTERNAL* " demangled="boost::mpl::and_<boost::is_reference<std::string const&>, boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> [...]
+    <Argument name="_ctor_arg" type="_17059" location="f259:55" file="f259" line="55"/>
+  </Constructor>
+  <Constructor id="_13403" name="and_" explicit="1" artificial="1" throw="" context="_10514" access="public" mangled="_ZN5boost3mpl4and_INS_12is_referenceIRKSsEENS_14is_convertibleINS_21forward_traversal_tagES7_EEN4mpl_5bool_ILb1EEESB_SB_EC1Ev *INTERNAL* " demangled="boost::mpl::and_<boost::is_reference<std::string const&>, boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_&lt [...]
+  <Constructor id="_13404" name="and_" artificial="1" throw="" context="_10516" access="public" mangled="_ZN5boost3mpl4and_IN4mpl_2naES3_NS2_5bool_ILb1EEES5_S5_EC1ERKS6_ *INTERNAL* " demangled="boost::mpl::and_<mpl_::na, mpl_::na, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_(boost::mpl::and_<mpl_::na, mpl_::na, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> > const&)" location="f259:63" file="f259" line="63"  [...]
+    <Argument name="_ctor_arg" type="_17060" location="f259:63" file="f259" line="63"/>
+  </Constructor>
+  <Constructor id="_13405" name="and_" explicit="1" artificial="1" throw="" context="_10516" access="public" mangled="_ZN5boost3mpl4and_IN4mpl_2naES3_NS2_5bool_ILb1EEES5_S5_EC1Ev *INTERNAL* " demangled="boost::mpl::and_<mpl_::na, mpl_::na, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_()" location="f259:63" file="f259" line="63" inline="1"/>
+  <Constructor id="_13406" name="or_" artificial="1" throw="" context="_10517" access="public" mangled="_ZN5boost3mpl3or_INS_8is_constIRKSbIwSt11char_traitsIwESaIwEEEENS_6detail15indirect_traits21is_reference_to_constIS8_EENS2_IS6_EEN4mpl_5bool_ILb0EEESH_EC1ERKSI_ *INTERNAL* " demangled="boost::mpl::or_<boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>, boost::detail::indirect_traits::is_reference_to_con [...]
+    <Argument name="_ctor_arg" type="_17061" location="f200:55" file="f200" line="55"/>
+  </Constructor>
+  <Constructor id="_13407" name="or_" explicit="1" artificial="1" throw="" context="_10517" access="public" mangled="_ZN5boost3mpl3or_INS_8is_constIRKSbIwSt11char_traitsIwESaIwEEEENS_6detail15indirect_traits21is_reference_to_constIS8_EENS2_IS6_EEN4mpl_5bool_ILb0EEESH_EC1Ev *INTERNAL* " demangled="boost::mpl::or_<boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>, boost::detail::indirect_traits::is_referen [...]
+  <Struct id="_13408" name="or_impl<false,boost::detail::indirect_traits::is_reference_to_const<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>,boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,mpl_::bool_<false>,mpl_::bool_<false> >" context="_10629" mangled="N5boost3mpl3aux7or_implILb0ENS_6detail15indirect_traits21is_reference_to_ [...]
+    <Base type="_13753" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_13409" name="or_" artificial="1" throw="" context="_10518" access="public" mangled="_ZN5boost3mpl3or_INS_8is_constIRKSsEENS_6detail15indirect_traits21is_reference_to_constIS4_EENS2_ISsEEN4mpl_5bool_ILb0EEESD_EC1ERKSE_ *INTERNAL* " demangled="boost::mpl::or_<boost::is_const<std::string const&>, boost::detail::indirect_traits::is_reference_to_const<std::string const&>, boost::is_const<std::string>, mpl_::bool_<false>, mpl_::bool_<fa [...]
+    <Argument name="_ctor_arg" type="_17064" location="f200:55" file="f200" line="55"/>
+  </Constructor>
+  <Constructor id="_13410" name="or_" explicit="1" artificial="1" throw="" context="_10518" access="public" mangled="_ZN5boost3mpl3or_INS_8is_constIRKSsEENS_6detail15indirect_traits21is_reference_to_constIS4_EENS2_ISsEEN4mpl_5bool_ILb0EEESD_EC1Ev *INTERNAL* " demangled="boost::mpl::or_<boost::is_const<std::string const&>, boost::detail::indirect_traits::is_reference_to_const<std::string const&>, boost::is_const<std::string>, mpl_::bool_<false>, mpl_::bo [...]
+  <Struct id="_13411" name="or_impl<false,boost::detail::indirect_traits::is_reference_to_const<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>,boost::is_const<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,mpl_::bool_<false>,mpl_::bool_<false> >" context="_10629" mangled="N5boost3mpl3aux7or_implILb0ENS_6detail15indirect_traits21is_reference_to_constIRKSsEENS_8is [...]
+    <Base type="_13754" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_13412" name="or_" artificial="1" throw="" context="_10519" access="public" mangled="_ZN5boost3mpl3or_INS_14is_convertibleINS_21forward_traversal_tagESt18input_iterator_tagEENS2_IS3_St19output_iterator_tagEEN4mpl_5bool_ILb0EEESA_SA_EC1ERKSB_ *INTERNAL* " demangled="boost::mpl::or_<boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag>, boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag>, mpl_::bool_<fals [...]
+    <Argument name="_ctor_arg" type="_17067" location="f200:55" file="f200" line="55"/>
+  </Constructor>
+  <Constructor id="_13413" name="or_" explicit="1" artificial="1" throw="" context="_10519" access="public" mangled="_ZN5boost3mpl3or_INS_14is_convertibleINS_21forward_traversal_tagESt18input_iterator_tagEENS2_IS3_St19output_iterator_tagEEN4mpl_5bool_ILb0EEESA_SA_EC1Ev *INTERNAL* " demangled="boost::mpl::or_<boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag>, boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag>, mpl_::bool [...]
+  <Struct id="_13414" name="or_impl<false,boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag>,mpl_::bool_<false>,mpl_::bool_<false>,mpl_::bool_<false> >" context="_10629" mangled="N5boost3mpl3aux7or_implILb0ENS_14is_convertibleINS_21forward_traversal_tagESt19output_iterator_tagEEN4mpl_5bool_ILb0EEES9_S9_EE" demangled="boost::mpl::aux::or_impl<false, boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag&g [...]
+    <Base type="_13755" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_13415" name="or_" artificial="1" throw="" context="_10520" access="public" mangled="_ZN5boost3mpl3or_IN4mpl_2naES3_NS2_5bool_ILb0EEES5_S5_EC1ERKS6_ *INTERNAL* " demangled="boost::mpl::or_<mpl_::na, mpl_::na, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_(boost::mpl::or_<mpl_::na, mpl_::na, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> > const&)" location="f200:63" file="f200" line="63" [...]
+    <Argument name="_ctor_arg" type="_17070" location="f200:63" file="f200" line="63"/>
+  </Constructor>
+  <Constructor id="_13416" name="or_" explicit="1" artificial="1" throw="" context="_10520" access="public" mangled="_ZN5boost3mpl3or_IN4mpl_2naES3_NS2_5bool_ILb0EEES5_S5_EC1Ev *INTERNAL* " demangled="boost::mpl::or_<mpl_::na, mpl_::na, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_()" location="f200:63" file="f200" line="63" inline="1"/>
+  <Constructor id="_13417" name="not_" artificial="1" throw="" context="_10521" access="public" mangled="_ZN5boost3mpl4not_INS0_4and_INS_6is_PODISbIwSt11char_traitsIwESaIwEEEENS_6detail29iterator_writability_disabledIS7_RKS7_EEN4mpl_5bool_ILb1EEESG_SG_EEEC1ERKSI_ *INTERNAL* " demangled="boost::mpl::not_<boost::mpl::and_<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::detail::iterator_writability_disable [...]
+    <Argument name="_ctor_arg" type="_17071" location="f260:43" file="f260" line="43"/>
+  </Constructor>
+  <Constructor id="_13418" name="not_" explicit="1" artificial="1" throw="" context="_10521" access="public" mangled="_ZN5boost3mpl4not_INS0_4and_INS_6is_PODISbIwSt11char_traitsIwESaIwEEEENS_6detail29iterator_writability_disabledIS7_RKS7_EEN4mpl_5bool_ILb1EEESG_SG_EEEC1Ev *INTERNAL* " demangled="boost::mpl::not_<boost::mpl::and_<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::detail::iterator_writabilit [...]
+  <Struct id="_13419" name="not_impl<0>" context="_10629" mangled="N5boost3mpl3aux8not_implILl0EEE" demangled="boost::mpl::aux::not_impl<0l>" location="f260:30" file="f260" line="30" artificial="1" size="8" align="8" members="_17072 _17073 " bases="_3261 ">
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_13420" name="not_" artificial="1" throw="" context="_10523" access="public" mangled="_ZN5boost3mpl4not_INS0_4and_INS_6is_PODISsEENS_6detail29iterator_writability_disabledISsRKSsEEN4mpl_5bool_ILb1EEESC_SC_EEEC1ERKSE_ *INTERNAL* " demangled="boost::mpl::not_<boost::mpl::and_<boost::is_POD<std::string>, boost::detail::iterator_writability_disabled<std::string, std::string const&>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true [...]
+    <Argument name="_ctor_arg" type="_17074" location="f260:43" file="f260" line="43"/>
+  </Constructor>
+  <Constructor id="_13421" name="not_" explicit="1" artificial="1" throw="" context="_10523" access="public" mangled="_ZN5boost3mpl4not_INS0_4and_INS_6is_PODISsEENS_6detail29iterator_writability_disabledISsRKSsEEN4mpl_5bool_ILb1EEESC_SC_EEEC1Ev *INTERNAL* " demangled="boost::mpl::not_<boost::mpl::and_<boost::is_POD<std::string>, boost::detail::iterator_writability_disabled<std::string, std::string const&>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool [...]
+  <Constructor id="_13422" name="not_" artificial="1" throw="" context="_10524" access="public" mangled="_ZN5boost3mpl4not_IN4mpl_2naEEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::not_<mpl_::na>::not_(boost::mpl::not_<mpl_::na> const&)" location="f260:47" file="f260" line="47" inline="1">
+    <Argument name="_ctor_arg" type="_17075" location="f260:47" file="f260" line="47"/>
+  </Constructor>
+  <Constructor id="_13423" name="not_" explicit="1" artificial="1" throw="" context="_10524" access="public" mangled="_ZN5boost3mpl4not_IN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::not_<mpl_::na>::not_()" location="f260:47" file="f260" line="47" inline="1"/>
+  <Constructor id="_13424" name="make_identity" artificial="1" throw="" context="_10525" access="public" mangled="_ZN5boost3mpl13make_identityIN4mpl_2naEEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::make_identity<mpl_::na>::make_identity(boost::mpl::make_identity<mpl_::na> const&)" location="f261:41" file="f261" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_17076" location="f261:41" file="f261" line="41"/>
+  </Constructor>
+  <Constructor id="_13425" name="make_identity" explicit="1" artificial="1" throw="" context="_10525" access="public" mangled="_ZN5boost3mpl13make_identityIN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::make_identity<mpl_::na>::make_identity()" location="f261:41" file="f261" line="41" inline="1"/>
+  <Typedef id="_13426" name="type" type="_9288" context="_10526" access="public" location="f261:27" file="f261" line="27"/>
+  <Constructor id="_13427" name="identity" artificial="1" throw="" context="_10526" access="public" mangled="_ZN5boost3mpl8identityIPKSsEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::identity<std::string const*>::identity(boost::mpl::identity<std::string const*> const&)" location="f261:26" file="f261" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17077" location="f261:26" file="f261" line="26"/>
+  </Constructor>
+  <Constructor id="_13428" name="identity" explicit="1" artificial="1" throw="" context="_10526" access="public" mangled="_ZN5boost3mpl8identityIPKSsEC1Ev *INTERNAL* " demangled="boost::mpl::identity<std::string const*>::identity()" location="f261:26" file="f261" line="26" inline="1"/>
+  <Typedef id="_13429" name="type" type="_3529" context="_10527" access="public" location="f261:27" file="f261" line="27"/>
+  <Constructor id="_13430" name="identity" artificial="1" throw="" context="_10527" access="public" mangled="_ZN5boost3mpl8identityINS_21forward_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::identity<boost::forward_traversal_tag>::identity(boost::mpl::identity<boost::forward_traversal_tag> const&)" location="f261:26" file="f261" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17078" location="f261:26" file="f261" line="26"/>
+  </Constructor>
+  <Constructor id="_13431" name="identity" explicit="1" artificial="1" throw="" context="_10527" access="public" mangled="_ZN5boost3mpl8identityINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::mpl::identity<boost::forward_traversal_tag>::identity()" location="f261:26" file="f261" line="26" inline="1"/>
+  <Typedef id="_13432" name="type" type="_3527" context="_10533" access="public" location="f261:27" file="f261" line="27"/>
+  <Constructor id="_13433" name="identity" artificial="1" throw="" context="_10533" access="public" mangled="_ZN5boost3mpl8identityINS_27random_access_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::identity<boost::random_access_traversal_tag>::identity(boost::mpl::identity<boost::random_access_traversal_tag> const&)" location="f261:26" file="f261" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17079" location="f261:26" file="f261" line="26"/>
+  </Constructor>
+  <Constructor id="_13434" name="identity" explicit="1" artificial="1" throw="" context="_10533" access="public" mangled="_ZN5boost3mpl8identityINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::mpl::identity<boost::random_access_traversal_tag>::identity()" location="f261:26" file="f261" line="26" inline="1"/>
+  <Constructor id="_13435" name="identity" artificial="1" throw="" context="_10535" access="public" mangled="_ZN5boost3mpl8identityIN4mpl_2naEEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::identity<mpl_::na>::identity(boost::mpl::identity<mpl_::na> const&)" location="f261:40" file="f261" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17080" location="f261:40" file="f261" line="40"/>
+  </Constructor>
+  <Constructor id="_13436" name="identity" explicit="1" artificial="1" throw="" context="_10535" access="public" mangled="_ZN5boost3mpl8identityIN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::identity<mpl_::na>::identity()" location="f261:40" file="f261" line="40" inline="1"/>
+  <Typedef id="_13437" name="f_" type="_3803" context="_10536" access="public" location="f201:59" file="f201" line="59"/>
+  <Typedef id="_13438" name="type" type="_3330" context="_10536" access="public" location="f201:60" file="f201" line="60"/>
+  <Constructor id="_13439" name="eval_if_c" artificial="1" throw="" context="_10536" access="public" mangled="_ZN5boost3mpl9eval_if_cILb0ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_22range_mutable_iteratorIS8_EEEC1ERKSC_ *INTERNAL* " demangled="boost::mpl::eval_if_c<false, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >, boost::range_mutable_iterator<boost::iterat [...]
+    <Argument name="_ctor_arg" type="_17081" location="f201:58" file="f201" line="58"/>
+  </Constructor>
+  <Constructor id="_13440" name="eval_if_c" explicit="1" artificial="1" throw="" context="_10536" access="public" mangled="_ZN5boost3mpl9eval_if_cILb0ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_22range_mutable_iteratorIS8_EEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if_c<false, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >, boost::range_mutable_iterator<boos [...]
+  <Typedef id="_13441" name="f_" type="_3777" context="_10537" access="public" location="f201:59" file="f201" line="59"/>
+  <Typedef id="_13442" name="type" type="_3330" context="_10537" access="public" location="f201:60" file="f201" line="60"/>
+  <Constructor id="_13443" name="eval_if_c" artificial="1" throw="" context="_10537" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_22range_mutable_iteratorIKS8_EEEC1ERKSD_ *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >, boost::range_mutable_iterator<boost::iterat [...]
+    <Argument name="_ctor_arg" type="_17082" location="f201:58" file="f201" line="58"/>
+  </Constructor>
+  <Constructor id="_13444" name="eval_if_c" explicit="1" artificial="1" throw="" context="_10537" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_22range_mutable_iteratorIKS8_EEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >, boost::range_mutable_iterator<boos [...]
+  <Typedef id="_13445" name="f_" type="_3805" context="_10538" access="public" location="f201:59" file="f201" line="59"/>
+  <Typedef id="_13446" name="type" type="_3330" context="_10538" access="public" location="f201:60" file="f201" line="60"/>
+  <Constructor id="_13447" name="eval_if_c" artificial="1" throw="" context="_10538" access="public" mangled="_ZN5boost3mpl9eval_if_cILb0ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorISsEEEC1ERKS6_ *INTERNAL* " demangled="boost::mpl::eval_if_c<false, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string> >::eval_if_c(boost::mpl::eval_if_c<false, boost::range_const_iterator<std::string>, boost::range_mutable_iterator< [...]
+    <Argument name="_ctor_arg" type="_17083" location="f201:58" file="f201" line="58"/>
+  </Constructor>
+  <Constructor id="_13448" name="eval_if_c" explicit="1" artificial="1" throw="" context="_10538" access="public" mangled="_ZN5boost3mpl9eval_if_cILb0ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorISsEEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if_c<false, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string> >::eval_if_c()" location="f201:58" file="f201" line="58" inline="1"/>
+  <Typedef id="_13449" name="f_" type="_3779" context="_10539" access="public" location="f201:59" file="f201" line="59"/>
+  <Typedef id="_13450" name="type" type="_3328" context="_10539" access="public" location="f201:60" file="f201" line="60"/>
+  <Constructor id="_13451" name="eval_if_c" artificial="1" throw="" context="_10539" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_22range_mutable_iteratorIKS9_EEEC1ERKSE_ *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::range_mutable_iterator<boost: [...]
+    <Argument name="_ctor_arg" type="_17084" location="f201:58" file="f201" line="58"/>
+  </Constructor>
+  <Constructor id="_13452" name="eval_if_c" explicit="1" artificial="1" throw="" context="_10539" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_22range_mutable_iteratorIKS9_EEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::range_mutable_iterator& [...]
+  <Typedef id="_13453" name="f_" type="_3780" context="_10540" access="public" location="f201:59" file="f201" line="59"/>
+  <Typedef id="_13454" name="type" type="_2749" context="_10540" access="public" location="f201:60" file="f201" line="60"/>
+  <Constructor id="_13455" name="eval_if_c" artificial="1" throw="" context="_10540" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIPKcEEEENS_22range_mutable_iteratorIKS6_EEEC1ERKSB_ *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<boost::iterator_range<char const*> >, boost::range_mutable_iterator<boost::iterator_range<char const*> const> >::eval_if_c(boost::mpl::eval_if_c&lt [...]
+    <Argument name="_ctor_arg" type="_17085" location="f201:58" file="f201" line="58"/>
+  </Constructor>
+  <Constructor id="_13456" name="eval_if_c" explicit="1" artificial="1" throw="" context="_10540" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIPKcEEEENS_22range_mutable_iteratorIKS6_EEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<boost::iterator_range<char const*> >, boost::range_mutable_iterator<boost::iterator_range<char const*> const> >::eval_if_c()" location="f2 [...]
+  <Typedef id="_13457" name="f_" type="_3778" context="_10541" access="public" location="f201:59" file="f201" line="59"/>
+  <Typedef id="_13458" name="type" type="_3328" context="_10541" access="public" location="f201:60" file="f201" line="60"/>
+  <Constructor id="_13459" name="eval_if_c" artificial="1" throw="" context="_10541" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorIKSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string const> >::eval_if_c(boost::mpl::eval_if_c<true, boost::range_const_iterator<std::string>, boost::range_mutable_iterato [...]
+    <Argument name="_ctor_arg" type="_17086" location="f201:58" file="f201" line="58"/>
+  </Constructor>
+  <Constructor id="_13460" name="eval_if_c" explicit="1" artificial="1" throw="" context="_10541" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorIKSsEEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string const> >::eval_if_c()" location="f201:58" file="f201" line="58" inline="1"/>
+  <Typedef id="_13461" name="f_" type="_3781" context="_10542" access="public" location="f201:59" file="f201" line="59"/>
+  <Typedef id="_13462" name="type" type="_2749" context="_10542" access="public" location="f201:60" file="f201" line="60"/>
+  <Constructor id="_13463" name="eval_if_c" artificial="1" throw="" context="_10542" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorIA3_cEENS_22range_mutable_iteratorIA3_KcEEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<char[3]>, boost::range_mutable_iterator<char const[3]> >::eval_if_c(boost::mpl::eval_if_c<true, boost::range_const_iterator<char[3]>, boost::range_mutable_iterator<cha [...]
+    <Argument name="_ctor_arg" type="_17087" location="f201:58" file="f201" line="58"/>
+  </Constructor>
+  <Constructor id="_13464" name="eval_if_c" explicit="1" artificial="1" throw="" context="_10542" access="public" mangled="_ZN5boost3mpl9eval_if_cILb1ENS_20range_const_iteratorIA3_cEENS_22range_mutable_iteratorIA3_KcEEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if_c<true, boost::range_const_iterator<char[3]>, boost::range_mutable_iterator<char const[3]> >::eval_if_c()" location="f201:58" file="f201" line="58" inline="1"/>
+  <Typedef id="_13465" name="f_" type="_3475" context="_10543" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13466" name="type" type="_9328" context="_10543" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13467" name="eval_if" artificial="1" throw="" context="_10543" access="public" mangled="_ZN5boost3mpl7eval_ifINS_6detail29iterator_writability_disabledISbIwSt11char_traitsIwESaIwEERKS7_EENS_11add_pointerIS8_EENSB_IS7_EEEC1ERKSE_ *INTERNAL* " demangled="boost::mpl::eval_if<boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits&lt [...]
+    <Argument name="_ctor_arg" type="_17088" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13468" name="eval_if" explicit="1" artificial="1" throw="" context="_10543" access="public" mangled="_ZN5boost3mpl7eval_ifINS_6detail29iterator_writability_disabledISbIwSt11char_traitsIwESaIwEERKS7_EENS_11add_pointerIS8_EENSB_IS7_EEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if<boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_ [...]
+  <Typedef id="_13469" name="f_" type="_10945" context="_10544" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13470" name="type" type="_2702" context="_10544" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13471" name="eval_if" artificial="1" throw="" context="_10544" access="public" mangled="_ZN5boost3mpl7eval_ifINS_6detail20is_iterator_categoryINS_21forward_traversal_tagEEENS0_8identityIS4_EENS2_29facade_iterator_category_implIS4_SbIwSt11char_traitsIwESaIwEERKSC_EEEC1ERKSG_ *INTERNAL* " demangled="boost::mpl::eval_if<boost::detail::is_iterator_category<boost::forward_traversal_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::faca [...]
+    <Argument name="_ctor_arg" type="_17089" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13472" name="eval_if" explicit="1" artificial="1" throw="" context="_10544" access="public" mangled="_ZN5boost3mpl7eval_ifINS_6detail20is_iterator_categoryINS_21forward_traversal_tagEEENS0_8identityIS4_EENS2_29facade_iterator_category_implIS4_SbIwSt11char_traitsIwESaIwEERKSC_EEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if<boost::detail::is_iterator_category<boost::forward_traversal_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::det [...]
+  <Typedef id="_13473" name="f_" type="_10547" context="_10545" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13474" name="type" type="_2702" context="_10545" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13475" name="eval_if" artificial="1" throw="" context="_10545" access="public" mangled="_ZN5boost3mpl7eval_ifINS0_4and_INS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEENS_14is_convertibleINS_21forward_traversal_tagESC_EEN4mpl_5bool_ILb1EEESG_SG_EENS1_INSB_ISC_NS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INSB_ISC_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENS1_INS2_INSB_ISC_N [...]
+    <Argument name="_ctor_arg" type="_17090" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13476" name="eval_if" explicit="1" artificial="1" throw="" context="_10545" access="public" mangled="_ZN5boost3mpl7eval_ifINS0_4and_INS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEENS_14is_convertibleINS_21forward_traversal_tagESC_EEN4mpl_5bool_ILb1EEESG_SG_EENS1_INSB_ISC_NS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INSB_ISC_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENS1_IN [...]
+  <Typedef id="_13477" name="f_" type="_10573" context="_10547" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13478" name="type" type="_2702" context="_10547" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13479" name="eval_if" artificial="1" throw="" context="_10547" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS2_IS3_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEC1ERKSF_ *INTERNAL* " demangled="boost::mpl::eval_if<boost::is_convertible<boost::forward_traversal_tag, boost::random_ [...]
+    <Argument name="_ctor_arg" type="_17091" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13480" name="eval_if" explicit="1" artificial="1" throw="" context="_10547" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS2_IS3_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if<boost::is_convertible<boost::forward_traversal_tag, boost [...]
+  <Typedef id="_13481" name="f_" type="_3477" context="_10548" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13482" name="type" type="_9288" context="_10548" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13483" name="eval_if" artificial="1" throw="" context="_10548" access="public" mangled="_ZN5boost3mpl7eval_ifINS_6detail29iterator_writability_disabledISsRKSsEENS_11add_pointerIS4_EENS7_ISsEEEC1ERKSA_ *INTERNAL* " demangled="boost::mpl::eval_if<boost::detail::iterator_writability_disabled<std::string, std::string const&>, boost::add_pointer<std::string const>, boost::add_pointer<std::string> >::eval_if(boost::mpl::eval_if<boost::detail:: [...]
+    <Argument name="_ctor_arg" type="_17092" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13484" name="eval_if" explicit="1" artificial="1" throw="" context="_10548" access="public" mangled="_ZN5boost3mpl7eval_ifINS_6detail29iterator_writability_disabledISsRKSsEENS_11add_pointerIS4_EENS7_ISsEEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if<boost::detail::iterator_writability_disabled<std::string, std::string const&>, boost::add_pointer<std::string const>, boost::add_pointer<std::string> >::eval_if()" location="f201:36" file="f [...]
+  <Typedef id="_13485" name="f_" type="_10946" context="_10549" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13486" name="type" type="_2702" context="_10549" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13487" name="eval_if" artificial="1" throw="" context="_10549" access="public" mangled="_ZN5boost3mpl7eval_ifINS_6detail20is_iterator_categoryINS_21forward_traversal_tagEEENS0_8identityIS4_EENS2_29facade_iterator_category_implIS4_SsRKSsEEEC1ERKSC_ *INTERNAL* " demangled="boost::mpl::eval_if<boost::detail::is_iterator_category<boost::forward_traversal_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_iterator_category_impl&l [...]
+    <Argument name="_ctor_arg" type="_17093" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13488" name="eval_if" explicit="1" artificial="1" throw="" context="_10549" access="public" mangled="_ZN5boost3mpl7eval_ifINS_6detail20is_iterator_categoryINS_21forward_traversal_tagEEENS0_8identityIS4_EENS2_29facade_iterator_category_implIS4_SsRKSsEEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if<boost::detail::is_iterator_category<boost::forward_traversal_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_iterator_catego [...]
+  <Typedef id="_13489" name="f_" type="_10551" context="_10550" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13490" name="type" type="_3529" context="_10550" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13491" name="eval_if" artificial="1" throw="" context="_10550" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt26random_access_iterator_tagEENS0_8identityINS_27random_access_traversal_tagEEENS1_INS2_IS3_St26bidirectional_iterator_tagEENS6_INS_27bidirectional_traversal_tagEEENS1_INS2_IS3_S3_EENS6_INS_21forward_traversal_tagEEENS1_INS2_IS3_St18input_iterator_tagEENS6_INS_25single_pass_traversal_tagEEENS1_INS2_IS3_St19output_i [...]
+    <Argument name="_ctor_arg" type="_17094" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13492" name="eval_if" explicit="1" artificial="1" throw="" context="_10550" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt26random_access_iterator_tagEENS0_8identityINS_27random_access_traversal_tagEEENS1_INS2_IS3_St26bidirectional_iterator_tagEENS6_INS_27bidirectional_traversal_tagEEENS1_INS2_IS3_S3_EENS6_INS_21forward_traversal_tagEEENS1_INS2_IS3_St18input_iterator_tagEENS6_INS_25single_pass_traversal_tagEEENS1_INS2_IS3 [...]
+  <Typedef id="_13493" name="f_" type="_10552" context="_10551" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13494" name="type" type="_3529" context="_10551" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13495" name="eval_if" artificial="1" throw="" context="_10551" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt26bidirectional_iterator_tagEENS0_8identityINS_27bidirectional_traversal_tagEEENS1_INS2_IS3_S3_EENS6_INS_21forward_traversal_tagEEENS1_INS2_IS3_St18input_iterator_tagEENS6_INS_25single_pass_traversal_tagEEENS1_INS2_IS3_St19output_iterator_tagEENS6_INS_27incrementable_traversal_tagEEEvEEEEEEEC1ERKSN_ *INTERNAL* " de [...]
+    <Argument name="_ctor_arg" type="_17095" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13496" name="eval_if" explicit="1" artificial="1" throw="" context="_10551" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt26bidirectional_iterator_tagEENS0_8identityINS_27bidirectional_traversal_tagEEENS1_INS2_IS3_S3_EENS6_INS_21forward_traversal_tagEEENS1_INS2_IS3_St18input_iterator_tagEENS6_INS_25single_pass_traversal_tagEEENS1_INS2_IS3_St19output_iterator_tagEENS6_INS_27incrementable_traversal_tagEEEvEEEEEEEC1Ev *INTER [...]
+  <Typedef id="_13497" name="f_" type="_10527" context="_10552" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13498" name="type" type="_3529" context="_10552" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13499" name="eval_if" artificial="1" throw="" context="_10552" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagS3_EENS0_8identityINS_21forward_traversal_tagEEENS1_INS2_IS3_St18input_iterator_tagEENS5_INS_25single_pass_traversal_tagEEENS1_INS2_IS3_St19output_iterator_tagEENS5_INS_27incrementable_traversal_tagEEEvEEEEEC1ERKSI_ *INTERNAL* " demangled="boost::mpl::eval_if<boost::is_convertible<std::forward_iterator_tag, std [...]
+    <Argument name="_ctor_arg" type="_17096" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13500" name="eval_if" explicit="1" artificial="1" throw="" context="_10552" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt20forward_iterator_tagS3_EENS0_8identityINS_21forward_traversal_tagEEENS1_INS2_IS3_St18input_iterator_tagEENS5_INS_25single_pass_traversal_tagEEENS1_INS2_IS3_St19output_iterator_tagEENS5_INS_27incrementable_traversal_tagEEEvEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::eval_if<boost::is_convertible<std::forward_iterator [...]
+  <Typedef id="_13501" name="f_" type="_10547" context="_10555" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13502" name="type" type="_2702" context="_10555" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13503" name="eval_if" artificial="1" throw="" context="_10555" access="public" mangled="_ZN5boost3mpl7eval_ifINS0_4and_INS_12is_referenceIRKSsEENS_14is_convertibleINS_21forward_traversal_tagES8_EEN4mpl_5bool_ILb1EEESC_SC_EENS1_INS7_IS8_NS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS7_IS8_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENS1_INS2_INS7_IS8_NS_25single_pass_traversal_ [...]
+    <Argument name="_ctor_arg" type="_17097" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13504" name="eval_if" explicit="1" artificial="1" throw="" context="_10555" access="public" mangled="_ZN5boost3mpl7eval_ifINS0_4and_INS_12is_referenceIRKSsEENS_14is_convertibleINS_21forward_traversal_tagES8_EEN4mpl_5bool_ILb1EEESC_SC_EENS1_INS7_IS8_NS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS7_IS8_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENS1_INS2_INS7_IS8_NS_25single_pa [...]
+  <Typedef id="_13505" name="f_" type="_10533" context="_10557" access="public" location="f201:37" file="f201" line="37"/>
+  <Typedef id="_13506" name="type" type="_3527" context="_10557" access="public" location="f201:38" file="f201" line="38"/>
+  <Constructor id="_13507" name="eval_if" artificial="1" throw="" context="_10557" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt26random_access_iterator_tagS3_EENS0_8identityINS_27random_access_traversal_tagEEENS1_INS2_IS3_St26bidirectional_iterator_tagEENS5_INS_27bidirectional_traversal_tagEEENS1_INS2_IS3_St20forward_iterator_tagEENS5_INS_21forward_traversal_tagEEENS1_INS2_IS3_St18input_iterator_tagEENS5_INS_25single_pass_traversal_tagEEENS1_INS2_IS3_St19output_i [...]
+    <Argument name="_ctor_arg" type="_17098" location="f201:36" file="f201" line="36"/>
+  </Constructor>
+  <Constructor id="_13508" name="eval_if" explicit="1" artificial="1" throw="" context="_10557" access="public" mangled="_ZN5boost3mpl7eval_ifINS_14is_convertibleISt26random_access_iterator_tagS3_EENS0_8identityINS_27random_access_traversal_tagEEENS1_INS2_IS3_St26bidirectional_iterator_tagEENS5_INS_27bidirectional_traversal_tagEEENS1_INS2_IS3_St20forward_iterator_tagEENS5_INS_21forward_traversal_tagEEENS1_INS2_IS3_St18input_iterator_tagEENS5_INS_25single_pass_traversal_tagEEENS1_INS2_IS3 [...]
+  <Constructor id="_13509" name="eval_if" artificial="1" throw="" context="_10562" access="public" mangled="_ZN5boost3mpl7eval_ifIN4mpl_2naES3_S3_EC1ERKS4_ *INTERNAL* " demangled="boost::mpl::eval_if<mpl_::na, mpl_::na, mpl_::na>::eval_if(boost::mpl::eval_if<mpl_::na, mpl_::na, mpl_::na> const&)" location="f201:67" file="f201" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_17099" location="f201:67" file="f201" line="67"/>
+  </Constructor>
+  <Constructor id="_13510" name="eval_if" explicit="1" artificial="1" throw="" context="_10562" access="public" mangled="_ZN5boost3mpl7eval_ifIN4mpl_2naES3_S3_EC1Ev *INTERNAL* " demangled="boost::mpl::eval_if<mpl_::na, mpl_::na, mpl_::na>::eval_if()" location="f201:67" file="f201" line="67" inline="1"/>
+  <Typedef id="_13511" name="almost_type_" type="_10592" context="_10563" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13512" name="type" type="_10414" context="_10563" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13513" name="if_" artificial="1" throw="" context="_10563" access="public" mangled="_ZN5boost3mpl3if_INS_7concept13not_satisfiedINS_9algorithm16FormatterConceptINS4_6detail13const_formatFISsEENS6_13first_finderFIPKcNS4_8is_equalEEEN9__gnu_cxx17__normal_iteratorISB_SsEEEEEENS2_10constraintISH_EENS2_11requirementISH_EEEC1ERKSN_ *INTERNAL* " demangled="boost::mpl::if_<boost::concept::not_satisfied<boost::algorithm::FormatterConcept<boost::algorithm::detail::cons [...]
+    <Argument name="_ctor_arg" type="_17100" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13514" name="if_" explicit="1" artificial="1" throw="" context="_10563" access="public" mangled="_ZN5boost3mpl3if_INS_7concept13not_satisfiedINS_9algorithm16FormatterConceptINS4_6detail13const_formatFISsEENS6_13first_finderFIPKcNS4_8is_equalEEEN9__gnu_cxx17__normal_iteratorISB_SsEEEEEENS2_10constraintISH_EENS2_11requirementISH_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::concept::not_satisfied<boost::algorithm::FormatterConcept<boost::algorithm::det [...]
+  <Typedef id="_13515" name="almost_type_" type="_10594" context="_10564" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13516" name="type" type="_10415" context="_10564" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13517" name="if_" artificial="1" throw="" context="_10564" access="public" mangled="_ZN5boost3mpl3if_INS_7concept13not_satisfiedINS_9algorithm13FinderConceptINS4_6detail13first_finderFIPKcNS4_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEENS2_10constraintISF_EENS2_11requirementISF_EEEC1ERKSL_ *INTERNAL* " demangled="boost::mpl::if_<boost::concept::not_satisfied<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boos [...]
+    <Argument name="_ctor_arg" type="_17101" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13518" name="if_" explicit="1" artificial="1" throw="" context="_10564" access="public" mangled="_ZN5boost3mpl3if_INS_7concept13not_satisfiedINS_9algorithm13FinderConceptINS4_6detail13first_finderFIPKcNS4_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEENS2_10constraintISF_EENS2_11requirementISF_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::concept::not_satisfied<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char con [...]
+  <Typedef id="_13519" name="almost_type_" type="_10611" context="_10565" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13520" name="type" type="_9288" context="_10565" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13521" name="if_" artificial="1" throw="" context="_10565" access="public" mangled="_ZN5boost3mpl3if_INS_12is_referenceIRKSsEEPS3_NS_6detail20operator_arrow_proxyISsEEEC1ERKSA_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_reference<std::string const&>, std::string const*, boost::detail::operator_arrow_proxy<std::string> >::if_(boost::mpl::if_<boost::is_reference<std::string const&>, std::string const*, boost::detail::operator_ar [...]
+    <Argument name="_ctor_arg" type="_17102" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13522" name="if_" explicit="1" artificial="1" throw="" context="_10565" access="public" mangled="_ZN5boost3mpl3if_INS_12is_referenceIRKSsEEPS3_NS_6detail20operator_arrow_proxyISsEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_reference<std::string const&>, std::string const*, boost::detail::operator_arrow_proxy<std::string> >::if_()" location="f262:56" file="f262" line="56" inline="1"/>
+  <Typedef id="_13523" name="almost_type_" type="_10601" context="_10566" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13524" name="type" type="_10352" context="_10566" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13525" name="if_" artificial="1" throw="" context="_10566" access="public" mangled="_ZN5boost3mpl3if_INS_10is_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEENS_16tokenizer_detail25pointer_iterator_categoryISB_EENSD_23class_iterator_categoryISB_EEEC1ERKSI_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator [...]
+    <Argument name="_ctor_arg" type="_17103" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13526" name="if_" explicit="1" artificial="1" throw="" context="_10566" access="public" mangled="_ZN5boost3mpl3if_INS_10is_pointerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEENS_16tokenizer_detail25pointer_iterator_categoryISB_EENSD_23class_iterator_categoryISB_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_pointer<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std:: [...]
+  <Typedef id="_13527" name="almost_type_" type="_10603" context="_10567" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13528" name="type" type="_10353" context="_10567" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13529" name="if_" artificial="1" throw="" context="_10567" access="public" mangled="_ZN5boost3mpl3if_INS_10is_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEENS_16tokenizer_detail25pointer_iterator_categoryIS7_EENS9_23class_iterator_categoryIS7_EEEC1ERKSE_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >, boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator&l [...]
+    <Argument name="_ctor_arg" type="_17104" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13530" name="if_" explicit="1" artificial="1" throw="" context="_10567" access="public" mangled="_ZN5boost3mpl3if_INS_10is_pointerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEENS_16tokenizer_detail25pointer_iterator_categoryIS7_EENS9_23class_iterator_categoryIS7_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_pointer<__gnu_cxx::__normal_iterator<char const*, std::string> >, boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_i [...]
+  <Typedef id="_13531" name="almost_type_" type="_10604" context="_10568" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13532" name="type" type="_10906" context="_10568" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13533" name="if_" artificial="1" throw="" context="_10568" access="public" mangled="_ZN5boost3mpl3if_INS_6detail27use_operator_brackets_proxyISbIwSt11char_traitsIwESaIwEERKS7_EENS2_23operator_brackets_proxyINS_14token_iteratorINS_14char_separatorIwS5_EEN9__gnu_cxx17__normal_iteratorIPKwS7_EES7_EEEES7_EC1ERKSM_ *INTERNAL* " demangled="boost::mpl::if_<boost::detail::use_operator_brackets_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::all [...]
+    <Argument name="_ctor_arg" type="_17105" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13534" name="if_" explicit="1" artificial="1" throw="" context="_10568" access="public" mangled="_ZN5boost3mpl3if_INS_6detail27use_operator_brackets_proxyISbIwSt11char_traitsIwESaIwEERKS7_EENS2_23operator_brackets_proxyINS_14token_iteratorINS_14char_separatorIwS5_EEN9__gnu_cxx17__normal_iteratorIPKwS7_EES7_EEEES7_EC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::detail::use_operator_brackets_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, [...]
+  <Typedef id="_13535" name="almost_type_" type="_10605" context="_10569" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13536" name="type" type="_9328" context="_10569" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13537" name="if_" artificial="1" throw="" context="_10569" access="public" mangled="_ZN5boost3mpl3if_INS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEEPS7_NS_6detail20operator_arrow_proxyIS6_EEEC1ERKSE_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t [...]
+    <Argument name="_ctor_arg" type="_17106" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13538" name="if_" explicit="1" artificial="1" throw="" context="_10569" access="public" mangled="_ZN5boost3mpl3if_INS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEEPS7_NS_6detail20operator_arrow_proxyIS6_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator&l [...]
+  <Typedef id="_13539" name="almost_type_" type="_10606" context="_10570" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13540" name="type" type="_3475" context="_10570" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13541" name="if_" artificial="1" throw="" context="_10570" access="public" mangled="_ZN5boost3mpl3if_INS_6detail29iterator_writability_disabledISbIwSt11char_traitsIwESaIwEERKS7_EENS_11add_pointerIS8_EENSB_IS7_EEEC1ERKSE_ *INTERNAL* " demangled="boost::mpl::if_<boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wchar_t> [...]
+    <Argument name="_ctor_arg" type="_17107" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13542" name="if_" explicit="1" artificial="1" throw="" context="_10570" access="public" mangled="_ZN5boost3mpl3if_INS_6detail29iterator_writability_disabledISbIwSt11char_traitsIwESaIwEERKS7_EENS_11add_pointerIS8_EENSB_IS7_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wc [...]
+  <Typedef id="_13543" name="almost_type_" type="_10613" context="_10571" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13544" name="type" type="_2702" context="_10571" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13545" name="if_" artificial="1" throw="" context="_10571" access="public" mangled="_ZN5boost3mpl3if_INS_7is_sameINS_21forward_traversal_tagES3_EESt20forward_iterator_tagNS_6detail32iterator_category_with_traversalIS5_S3_EEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_same<boost::forward_traversal_tag, boost::forward_traversal_tag>, std::forward_iterator_tag, boost::detail::iterator_category_with_traversal<std::forward_iterator_tag, boost::fo [...]
+    <Argument name="_ctor_arg" type="_17108" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13546" name="if_" explicit="1" artificial="1" throw="" context="_10571" access="public" mangled="_ZN5boost3mpl3if_INS_7is_sameINS_21forward_traversal_tagES3_EESt20forward_iterator_tagNS_6detail32iterator_category_with_traversalIS5_S3_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_same<boost::forward_traversal_tag, boost::forward_traversal_tag>, std::forward_iterator_tag, boost::detail::iterator_category_with_traversal<std::forward_iterator_tag,  [...]
+  <Typedef id="_13547" name="almost_type_" type="_10607" context="_10572" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13548" name="type" type="_10547" context="_10572" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13549" name="if_" artificial="1" throw="" context="_10572" access="public" mangled="_ZN5boost3mpl3if_INS0_4and_INS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEENS_14is_convertibleINS_21forward_traversal_tagESC_EEN4mpl_5bool_ILb1EEESG_SG_EENS0_7eval_ifINSB_ISC_NS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS1_INSB_ISC_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENSI_INS2_INSB_ISC_NS_25 [...]
+    <Argument name="_ctor_arg" type="_17109" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13550" name="if_" explicit="1" artificial="1" throw="" context="_10572" access="public" mangled="_ZN5boost3mpl3if_INS0_4and_INS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEENS_14is_convertibleINS_21forward_traversal_tagESC_EEN4mpl_5bool_ILb1EEESG_SG_EENS0_7eval_ifINSB_ISC_NS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS1_INSB_ISC_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENSI_INS2_I [...]
+  <Typedef id="_13551" name="almost_type_" type="_10618" context="_10573" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13552" name="type" type="_2702" context="_10573" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13553" name="if_" artificial="1" throw="" context="_10573" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEC1ERKS8_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>, std::bidirectional_iterator_tag, std::forward_iterator_tag>::if_(boost::mpl::if_&lt [...]
+    <Argument name="_ctor_arg" type="_17110" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13554" name="if_" explicit="1" artificial="1" throw="" context="_10573" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>, std::bidirectional_iterator_tag, std::forward_iterator_tag>::if_()" locati [...]
+  <Typedef id="_13555" name="almost_type_" type="_10608" context="_10574" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13556" name="type" type="_10945" context="_10574" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13557" name="if_" artificial="1" throw="" context="_10574" access="public" mangled="_ZN5boost3mpl3if_INS_6detail20is_iterator_categoryINS_21forward_traversal_tagEEENS0_8identityIS4_EENS2_29facade_iterator_category_implIS4_SbIwSt11char_traitsIwESaIwEERKSC_EEEC1ERKSG_ *INTERNAL* " demangled="boost::mpl::if_<boost::detail::is_iterator_category<boost::forward_traversal_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_iterator_ [...]
+    <Argument name="_ctor_arg" type="_17111" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13558" name="if_" explicit="1" artificial="1" throw="" context="_10574" access="public" mangled="_ZN5boost3mpl3if_INS_6detail20is_iterator_categoryINS_21forward_traversal_tagEEENS0_8identityIS4_EENS2_29facade_iterator_category_implIS4_SbIwSt11char_traitsIwESaIwEERKSC_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::detail::is_iterator_category<boost::forward_traversal_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_ [...]
+  <Typedef id="_13559" name="almost_type_" type="_10609" context="_10575" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13560" name="type" type="_10907" context="_10575" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13561" name="if_" artificial="1" throw="" context="_10575" access="public" mangled="_ZN5boost3mpl3if_INS_6detail27use_operator_brackets_proxyISsRKSsEENS2_23operator_brackets_proxyINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEESsEC1ERKSH_ *INTERNAL* " demangled="boost::mpl::if_<boost::detail::use_operator_brackets_proxy<std::string, std::string const&>, boost::detail::operator_brackets_proxy<boost::token_iterator& [...]
+    <Argument name="_ctor_arg" type="_17112" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13562" name="if_" explicit="1" artificial="1" throw="" context="_10575" access="public" mangled="_ZN5boost3mpl3if_INS_6detail27use_operator_brackets_proxyISsRKSsEENS2_23operator_brackets_proxyINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEESsEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::detail::use_operator_brackets_proxy<std::string, std::string const&>, boost::detail::operator_brackets_proxy<boost::token_ [...]
+  <Typedef id="_13563" name="almost_type_" type="_10610" context="_10576" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13564" name="type" type="_10908" context="_10576" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13565" name="if_" artificial="1" throw="" context="_10576" access="public" mangled="_ZN5boost3mpl3if_INS_6detail27use_operator_brackets_proxyISsRKSsEENS2_23operator_brackets_proxyINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEESsEC1ERKSK_ *INTERNAL* " demangled="boost::mpl::if_<boost::detail::use_operator_brackets_proxy<std::string, std::string const&>, boost::detail::operator_brackets_proxy<boo [...]
+    <Argument name="_ctor_arg" type="_17113" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13566" name="if_" explicit="1" artificial="1" throw="" context="_10576" access="public" mangled="_ZN5boost3mpl3if_INS_6detail27use_operator_brackets_proxyISsRKSsEENS2_23operator_brackets_proxyINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEESsEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::detail::use_operator_brackets_proxy<std::string, std::string const&>, boost::detail::operator_brackets_pro [...]
+  <Typedef id="_13567" name="almost_type_" type="_10612" context="_10577" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13568" name="type" type="_3477" context="_10577" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13569" name="if_" artificial="1" throw="" context="_10577" access="public" mangled="_ZN5boost3mpl3if_INS_6detail29iterator_writability_disabledISsRKSsEENS_11add_pointerIS4_EENS7_ISsEEEC1ERKSA_ *INTERNAL* " demangled="boost::mpl::if_<boost::detail::iterator_writability_disabled<std::string, std::string const&>, boost::add_pointer<std::string const>, boost::add_pointer<std::string> >::if_(boost::mpl::if_<boost::detail::iterator_writability [...]
+    <Argument name="_ctor_arg" type="_17114" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13570" name="if_" explicit="1" artificial="1" throw="" context="_10577" access="public" mangled="_ZN5boost3mpl3if_INS_6detail29iterator_writability_disabledISsRKSsEENS_11add_pointerIS4_EENS7_ISsEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::detail::iterator_writability_disabled<std::string, std::string const&>, boost::add_pointer<std::string const>, boost::add_pointer<std::string> >::if_()" location="f262:56" file="f262" line="56" i [...]
+  <Typedef id="_13571" name="almost_type_" type="_10614" context="_10578" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13572" name="type" type="_10527" context="_10578" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13573" name="if_" artificial="1" throw="" context="_10578" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt20forward_iterator_tagS3_EENS0_8identityINS_21forward_traversal_tagEEENS0_7eval_ifINS2_IS3_St18input_iterator_tagEENS5_INS_25single_pass_traversal_tagEEENS8_INS2_IS3_St19output_iterator_tagEENS5_INS_27incrementable_traversal_tagEEEvEEEEEC1ERKSJ_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<std::forward_iterator_tag, std::fo [...]
+    <Argument name="_ctor_arg" type="_17115" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13574" name="if_" explicit="1" artificial="1" throw="" context="_10578" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt20forward_iterator_tagS3_EENS0_8identityINS_21forward_traversal_tagEEENS0_7eval_ifINS2_IS3_St18input_iterator_tagEENS5_INS_25single_pass_traversal_tagEEENS8_INS2_IS3_St19output_iterator_tagEENS5_INS_27incrementable_traversal_tagEEEvEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<std::forward_iterator_tag [...]
+  <Typedef id="_13575" name="almost_type_" type="_10615" context="_10579" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13576" name="type" type="_10552" context="_10579" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13577" name="if_" artificial="1" throw="" context="_10579" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt20forward_iterator_tagSt26bidirectional_iterator_tagEENS0_8identityINS_27bidirectional_traversal_tagEEENS0_7eval_ifINS2_IS3_S3_EENS6_INS_21forward_traversal_tagEEENS9_INS2_IS3_St18input_iterator_tagEENS6_INS_25single_pass_traversal_tagEEENS9_INS2_IS3_St19output_iterator_tagEENS6_INS_27incrementable_traversal_tagEEEvEEEEEEEC1ERKSO_ *INTERNAL* " de [...]
+    <Argument name="_ctor_arg" type="_17116" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13578" name="if_" explicit="1" artificial="1" throw="" context="_10579" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt20forward_iterator_tagSt26bidirectional_iterator_tagEENS0_8identityINS_27bidirectional_traversal_tagEEENS0_7eval_ifINS2_IS3_S3_EENS6_INS_21forward_traversal_tagEEENS9_INS2_IS3_St18input_iterator_tagEENS6_INS_25single_pass_traversal_tagEEENS9_INS2_IS3_St19output_iterator_tagEENS6_INS_27incrementable_traversal_tagEEEvEEEEEEEC1Ev *INTER [...]
+  <Typedef id="_13579" name="almost_type_" type="_10616" context="_10580" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13580" name="type" type="_10551" context="_10580" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13581" name="if_" artificial="1" throw="" context="_10580" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt20forward_iterator_tagSt26random_access_iterator_tagEENS0_8identityINS_27random_access_traversal_tagEEENS0_7eval_ifINS2_IS3_St26bidirectional_iterator_tagEENS6_INS_27bidirectional_traversal_tagEEENS9_INS2_IS3_S3_EENS6_INS_21forward_traversal_tagEEENS9_INS2_IS3_St18input_iterator_tagEENS6_INS_25single_pass_traversal_tagEEENS9_INS2_IS3_St19output_i [...]
+    <Argument name="_ctor_arg" type="_17117" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13582" name="if_" explicit="1" artificial="1" throw="" context="_10580" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt20forward_iterator_tagSt26random_access_iterator_tagEENS0_8identityINS_27random_access_traversal_tagEEENS0_7eval_ifINS2_IS3_St26bidirectional_iterator_tagEENS6_INS_27bidirectional_traversal_tagEEENS9_INS2_IS3_S3_EENS6_INS_21forward_traversal_tagEEENS9_INS2_IS3_St18input_iterator_tagEENS6_INS_25single_pass_traversal_tagEEENS9_INS2_IS3 [...]
+  <Typedef id="_13583" name="almost_type_" type="_10617" context="_10581" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13584" name="type" type="_10981" context="_10581" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13585" name="if_" artificial="1" throw="" context="_10581" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt20forward_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEC1ERKSB_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag>, boost::mpl::identity<std::forward_iterator_tag>, boost::detail::old_category_t [...]
+    <Argument name="_ctor_arg" type="_17118" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13586" name="if_" explicit="1" artificial="1" throw="" context="_10581" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt20forward_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<std::forward_iterator_tag, boost::incrementable_traversal_tag>, boost::mpl::identity<std::forward_iterator_tag>, boost::detail::old_c [...]
+  <Typedef id="_13587" name="almost_type_" type="_10619" context="_10582" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13588" name="type" type="_10573" context="_10582" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13589" name="if_" artificial="1" throw="" context="_10582" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS1_INS2_IS3_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEC1ERKSE_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_traversal [...]
+    <Argument name="_ctor_arg" type="_17119" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13590" name="if_" explicit="1" artificial="1" throw="" context="_10582" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS1_INS2_IS3_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<boost::forward_traversal_tag, boost::random_access_ [...]
+  <Typedef id="_13591" name="almost_type_" type="_10620" context="_10583" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13592" name="type" type="_10547" context="_10583" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13593" name="if_" artificial="1" throw="" context="_10583" access="public" mangled="_ZN5boost3mpl3if_INS0_4and_INS_12is_referenceIRKSsEENS_14is_convertibleINS_21forward_traversal_tagES8_EEN4mpl_5bool_ILb1EEESC_SC_EENS0_7eval_ifINS7_IS8_NS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS1_INS7_IS8_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENSE_INS2_INS7_IS8_NS_25single_pass_traversal_tagE [...]
+    <Argument name="_ctor_arg" type="_17120" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13594" name="if_" explicit="1" artificial="1" throw="" context="_10583" access="public" mangled="_ZN5boost3mpl3if_INS0_4and_INS_12is_referenceIRKSsEENS_14is_convertibleINS_21forward_traversal_tagES8_EEN4mpl_5bool_ILb1EEESC_SC_EENS0_7eval_ifINS7_IS8_NS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS1_INS7_IS8_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENSE_INS2_INS7_IS8_NS_25single_pass_t [...]
+  <Typedef id="_13595" name="almost_type_" type="_10621" context="_10584" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13596" name="type" type="_10946" context="_10584" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13597" name="if_" artificial="1" throw="" context="_10584" access="public" mangled="_ZN5boost3mpl3if_INS_6detail20is_iterator_categoryINS_21forward_traversal_tagEEENS0_8identityIS4_EENS2_29facade_iterator_category_implIS4_SsRKSsEEEC1ERKSC_ *INTERNAL* " demangled="boost::mpl::if_<boost::detail::is_iterator_category<boost::forward_traversal_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_iterator_category_impl<boost::for [...]
+    <Argument name="_ctor_arg" type="_17121" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13598" name="if_" explicit="1" artificial="1" throw="" context="_10584" access="public" mangled="_ZN5boost3mpl3if_INS_6detail20is_iterator_categoryINS_21forward_traversal_tagEEENS0_8identityIS4_EENS2_29facade_iterator_category_implIS4_SsRKSsEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::detail::is_iterator_category<boost::forward_traversal_tag>, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_iterator_category_impl<b [...]
+  <Typedef id="_13599" name="almost_type_" type="_10622" context="_10585" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13600" name="type" type="_10533" context="_10585" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13601" name="if_" artificial="1" throw="" context="_10585" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt26random_access_iterator_tagS3_EENS0_8identityINS_27random_access_traversal_tagEEENS0_7eval_ifINS2_IS3_St26bidirectional_iterator_tagEENS5_INS_27bidirectional_traversal_tagEEENS8_INS2_IS3_St20forward_iterator_tagEENS5_INS_21forward_traversal_tagEEENS8_INS2_IS3_St18input_iterator_tagEENS5_INS_25single_pass_traversal_tagEEENS8_INS2_IS3_St19output_i [...]
+    <Argument name="_ctor_arg" type="_17122" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13602" name="if_" explicit="1" artificial="1" throw="" context="_10585" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt26random_access_iterator_tagS3_EENS0_8identityINS_27random_access_traversal_tagEEENS0_7eval_ifINS2_IS3_St26bidirectional_iterator_tagEENS5_INS_27bidirectional_traversal_tagEEENS8_INS2_IS3_St20forward_iterator_tagEENS5_INS_21forward_traversal_tagEEENS8_INS2_IS3_St18input_iterator_tagEENS5_INS_25single_pass_traversal_tagEEENS8_INS2_IS3 [...]
+  <Typedef id="_13603" name="almost_type_" type="_10623" context="_10586" access="private" location="f262:67" file="f262" line="67"/>
+  <Typedef id="_13604" name="type" type="_10982" context="_10586" access="public" location="f262:70" file="f262" line="70"/>
+  <Constructor id="_13605" name="if_" artificial="1" throw="" context="_10586" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEC1ERKSB_ *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag>, boost::mpl::identity<std::random_access_iterator_tag>, boost::deta [...]
+    <Argument name="_ctor_arg" type="_17123" location="f262:56" file="f262" line="56"/>
+  </Constructor>
+  <Constructor id="_13606" name="if_" explicit="1" artificial="1" throw="" context="_10586" access="public" mangled="_ZN5boost3mpl3if_INS_14is_convertibleISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEENS0_8identityIS3_EENS_6detail25old_category_to_traversalIS3_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_<boost::is_convertible<std::random_access_iterator_tag, boost::incrementable_traversal_tag>, boost::mpl::identity<std::random_access_iterator_tag>, bo [...]
+  <Constructor id="_13607" name="if_" artificial="1" throw="" context="_10587" access="public" mangled="_ZN5boost3mpl3if_IN4mpl_2naES3_S3_EC1ERKS4_ *INTERNAL* " demangled="boost::mpl::if_<mpl_::na, mpl_::na, mpl_::na>::if_(boost::mpl::if_<mpl_::na, mpl_::na, mpl_::na> const&)" location="f262:131" file="f262" line="131" inline="1">
+    <Argument name="_ctor_arg" type="_17124" location="f262:131" file="f262" line="131"/>
+  </Constructor>
+  <Constructor id="_13608" name="if_" explicit="1" artificial="1" throw="" context="_10587" access="public" mangled="_ZN5boost3mpl3if_IN4mpl_2naES3_S3_EC1Ev *INTERNAL* " demangled="boost::mpl::if_<mpl_::na, mpl_::na, mpl_::na>::if_()" location="f262:131" file="f262" line="131" inline="1"/>
+  <Typedef id="_13609" name="type" type="_3803" context="_10588" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13610" name="if_c" artificial="1" throw="" context="_10588" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_22range_mutable_iteratorIS8_EEEC1ERKSC_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >, boost::range_mutable_iterator<boost::iterator_range<__g [...]
+    <Argument name="_ctor_arg" type="_17125" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13611" name="if_c" explicit="1" artificial="1" throw="" context="_10588" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_22range_mutable_iteratorIS8_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >, boost::range_mutable_iterator<boost::iterator_ran [...]
+  <Typedef id="_13612" name="type" type="_3777" context="_10589" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13613" name="if_c" artificial="1" throw="" context="_10589" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_22range_mutable_iteratorIKS8_EEEC1ERKSD_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >, boost::range_mutable_iterator<boost::iterator_range<__g [...]
+    <Argument name="_ctor_arg" type="_17126" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13614" name="if_c" explicit="1" artificial="1" throw="" context="_10589" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEENS_22range_mutable_iteratorIKS8_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >, boost::range_mutable_iterator<boost::iterator_ran [...]
+  <Typedef id="_13615" name="type" type="_3805" context="_10590" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13616" name="if_c" artificial="1" throw="" context="_10590" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorISsEEEC1ERKS6_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string> >::if_c(boost::mpl::if_c<false, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string> > cons [...]
+    <Argument name="_ctor_arg" type="_17127" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13617" name="if_c" explicit="1" artificial="1" throw="" context="_10590" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorISsEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string> >::if_c()" location="f262:35" file="f262" line="35" inline="1"/>
+  <Typedef id="_13618" name="type" type="_3779" context="_10591" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13619" name="if_c" artificial="1" throw="" context="_10591" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_22range_mutable_iteratorIKS9_EEEC1ERKSE_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::range_mutable_iterator<boost::iterator_range [...]
+    <Argument name="_ctor_arg" type="_17128" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13620" name="if_c" explicit="1" artificial="1" throw="" context="_10591" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEENS_22range_mutable_iteratorIKS9_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::range_mutable_iterator<boost::itera [...]
+  <Typedef id="_13621" name="type" type="_10414" context="_10592" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13622" name="if_c" artificial="1" throw="" context="_10592" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_7concept10constraintINS_9algorithm16FormatterConceptINS4_6detail13const_formatFISsEENS6_13first_finderFIPKcNS4_8is_equalEEEN9__gnu_cxx17__normal_iteratorISB_SsEEEEEENS2_11requirementISH_EEEC1ERKSL_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::concept::constraint<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<st [...]
+    <Argument name="_ctor_arg" type="_17129" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13623" name="if_c" explicit="1" artificial="1" throw="" context="_10592" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_7concept10constraintINS_9algorithm16FormatterConceptINS4_6detail13const_formatFISsEENS6_13first_finderFIPKcNS4_8is_equalEEEN9__gnu_cxx17__normal_iteratorISB_SsEEEEEENS2_11requirementISH_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::concept::constraint<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_form [...]
+  <Typedef id="_13624" name="type" type="_3780" context="_10593" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13625" name="if_c" artificial="1" throw="" context="_10593" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIPKcEEEENS_22range_mutable_iteratorIKS6_EEEC1ERKSB_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<boost::iterator_range<char const*> >, boost::range_mutable_iterator<boost::iterator_range<char const*> const> >::if_c(boost::mpl::if_c<true, boost::range_const [...]
+    <Argument name="_ctor_arg" type="_17130" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13626" name="if_c" explicit="1" artificial="1" throw="" context="_10593" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorINS_14iterator_rangeIPKcEEEENS_22range_mutable_iteratorIKS6_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<boost::iterator_range<char const*> >, boost::range_mutable_iterator<boost::iterator_range<char const*> const> >::if_c()" location="f262:35" file="f262" l [...]
+  <Typedef id="_13627" name="type" type="_10415" context="_10594" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13628" name="if_c" artificial="1" throw="" context="_10594" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_7concept10constraintINS_9algorithm13FinderConceptINS4_6detail13first_finderFIPKcNS4_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEENS2_11requirementISF_EEEC1ERKSJ_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::concept::constraint<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::algorithm::i [...]
+    <Argument name="_ctor_arg" type="_17131" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13629" name="if_c" explicit="1" artificial="1" throw="" context="_10594" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_7concept10constraintINS_9algorithm13FinderConceptINS4_6detail13first_finderFIPKcNS4_8is_equalEEEN9__gnu_cxx17__normal_iteratorIS9_SsEEEEEENS2_11requirementISF_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::concept::constraint<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<char const*, boost::alg [...]
+  <Typedef id="_13630" name="type" type="_3778" context="_10595" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13631" name="if_c" artificial="1" throw="" context="_10595" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorIKSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string const> >::if_c(boost::mpl::if_c<true, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string const&gt [...]
+    <Argument name="_ctor_arg" type="_17132" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13632" name="if_c" explicit="1" artificial="1" throw="" context="_10595" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorISsEENS_22range_mutable_iteratorIKSsEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<std::string>, boost::range_mutable_iterator<std::string const> >::if_c()" location="f262:35" file="f262" line="35" inline="1"/>
+  <Typedef id="_13633" name="type" type="_3781" context="_10596" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13634" name="if_c" artificial="1" throw="" context="_10596" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorIA3_cEENS_22range_mutable_iteratorIA3_KcEEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<char[3]>, boost::range_mutable_iterator<char const[3]> >::if_c(boost::mpl::if_c<true, boost::range_const_iterator<char[3]>, boost::range_mutable_iterator<char const[3]> > const [...]
+    <Argument name="_ctor_arg" type="_17133" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13635" name="if_c" explicit="1" artificial="1" throw="" context="_10596" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_20range_const_iteratorIA3_cEENS_22range_mutable_iteratorIA3_KcEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::range_const_iterator<char[3]>, boost::range_mutable_iterator<char const[3]> >::if_c()" location="f262:35" file="f262" line="35" inline="1"/>
+  <Typedef id="_13636" name="type" type="_10816" context="_10597" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13637" name="if_c" artificial="1" throw="" context="_10597" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_6detail14lexical_streamIsSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::detail::lexical_stream<short, std::string>, boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >::if_c(boost::mpl::if_c<false, boost::detai [...]
+    <Argument name="_ctor_arg" type="_17134" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13638" name="if_c" explicit="1" artificial="1" throw="" context="_10597" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_6detail14lexical_streamIsSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::detail::lexical_stream<short, std::string>, boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >::if_c()" location="f262:35" file="f2 [...]
+  <Typedef id="_13639" name="type" type="_10825" context="_10598" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13640" name="if_c" artificial="1" throw="" context="_10598" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_6detail17lexical_streambufIcEENS2_22lexical_streambuf_fakeIcEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::detail::lexical_streambuf<char>, boost::detail::lexical_streambuf_fake<char> >::if_c(boost::mpl::if_c<true, boost::detail::lexical_streambuf<char>, boost::detail::lexical_streambuf_fake<char> > const [...]
+    <Argument name="_ctor_arg" type="_17135" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13641" name="if_c" explicit="1" artificial="1" throw="" context="_10598" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_6detail17lexical_streambufIcEENS2_22lexical_streambuf_fakeIcEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::detail::lexical_streambuf<char>, boost::detail::lexical_streambuf_fake<char> >::if_c()" location="f262:35" file="f262" line="35" inline="1"/>
+  <Typedef id="_13642" name="type" type="_10816" context="_10599" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13643" name="if_c" artificial="1" throw="" context="_10599" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_6detail14lexical_streamIxSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::detail::lexical_stream<long long, std::string>, boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >::if_c(boost::mpl::if_c<false, boost::d [...]
+    <Argument name="_ctor_arg" type="_17136" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13644" name="if_c" explicit="1" artificial="1" throw="" context="_10599" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_6detail14lexical_streamIxSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::detail::lexical_stream<long long, std::string>, boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >::if_c()" location="f262:35" file [...]
+  <Typedef id="_13645" name="type" type="_10816" context="_10600" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13646" name="if_c" artificial="1" throw="" context="_10600" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_6detail14lexical_streamIiSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::detail::lexical_stream<int, std::string>, boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >::if_c(boost::mpl::if_c<false, boost::detail: [...]
+    <Argument name="_ctor_arg" type="_17137" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13647" name="if_c" explicit="1" artificial="1" throw="" context="_10600" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_6detail14lexical_streamIiSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::detail::lexical_stream<int, std::string>, boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >::if_c()" location="f262:35" file="f262 [...]
+  <Typedef id="_13648" name="type" type="_10352" context="_10601" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13649" name="if_c" artificial="1" throw="" context="_10601" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_16tokenizer_detail25pointer_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEENS2_23class_iterator_categoryISC_EEEC1ERKSG_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<w [...]
+    <Argument name="_ctor_arg" type="_17138" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13650" name="if_c" explicit="1" artificial="1" throw="" context="_10601" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_16tokenizer_detail25pointer_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEENS2_23class_iterator_categoryISC_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_tr [...]
+  <Typedef id="_13651" name="type" type="_10816" context="_10602" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13652" name="if_c" artificial="1" throw="" context="_10602" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_6detail14lexical_streamItSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::detail::lexical_stream<unsigned short, std::string>, boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >::if_c(boost::mpl::if_c<false, boo [...]
+    <Argument name="_ctor_arg" type="_17139" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13653" name="if_c" explicit="1" artificial="1" throw="" context="_10602" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_6detail14lexical_streamItSsEENS2_26lexical_stream_limited_srcIcNS2_17lexical_streambufIcEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::detail::lexical_stream<unsigned short, std::string>, boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > >::if_c()" location="f262:35" [...]
+  <Typedef id="_13654" name="type" type="_10353" context="_10603" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13655" name="if_c" artificial="1" throw="" context="_10603" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_16tokenizer_detail25pointer_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEEENS2_23class_iterator_categoryIS8_EEEC1ERKSC_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >, boost::tokenizer_detail::class_iterator_category<__gnu_ [...]
+    <Argument name="_ctor_arg" type="_17140" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13656" name="if_c" explicit="1" artificial="1" throw="" context="_10603" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS_16tokenizer_detail25pointer_iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKcSsEEEENS2_23class_iterator_categoryIS8_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::tokenizer_detail::pointer_iterator_category<__gnu_cxx::__normal_iterator<char const*, std::string> >, boost::tokenizer_detail::class_iterator_category& [...]
+  <Typedef id="_13657" name="type" type="_10906" context="_10604" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13658" name="if_c" artificial="1" throw="" context="_10604" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_6detail23operator_brackets_proxyINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS7_SaIwEEEESE_EEEESE_EC1ERKSI_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::detail::operator_brackets_proxy<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx [...]
+    <Argument name="_ctor_arg" type="_17141" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13659" name="if_c" explicit="1" artificial="1" throw="" context="_10604" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_6detail23operator_brackets_proxyINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS7_SaIwEEEESE_EEEESE_EC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::detail::operator_brackets_proxy<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >,  [...]
+  <Typedef id="_13660" name="type" type="_9328" context="_10605" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13661" name="if_c" artificial="1" throw="" context="_10605" access="public" mangled="_ZN5boost3mpl4if_cILb1EPKSbIwSt11char_traitsIwESaIwEENS_6detail20operator_arrow_proxyIS5_EEEC1ERKSB_ *INTERNAL* " demangled="boost::mpl::if_c<true, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const*, boost::detail::operator_arrow_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t&gt [...]
+    <Argument name="_ctor_arg" type="_17142" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13662" name="if_c" explicit="1" artificial="1" throw="" context="_10605" access="public" mangled="_ZN5boost3mpl4if_cILb1EPKSbIwSt11char_traitsIwESaIwEENS_6detail20operator_arrow_proxyIS5_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const*, boost::detail::operator_arrow_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<w [...]
+  <Typedef id="_13663" name="type" type="_3475" context="_10606" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13664" name="if_c" artificial="1" throw="" context="_10606" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_11add_pointerIKSbIwSt11char_traitsIwESaIwEEEENS2_IS6_EEEC1ERKSA_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t>  [...]
+    <Argument name="_ctor_arg" type="_17143" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13665" name="if_c" explicit="1" artificial="1" throw="" context="_10606" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_11add_pointerIKSbIwSt11char_traitsIwESaIwEEEENS2_IS6_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, boost::add_pointer<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wch [...]
+  <Typedef id="_13666" name="type" type="_10547" context="_10607" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13667" name="if_c" artificial="1" throw="" context="_10607" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS0_7eval_ifINS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS3_IS4_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENS2_INS0_4and_INS3_IS4_NS_25single_pass_traversal_tagEEENS3_IRKSbIwSt11char_traitsIwESaIwEESN_EEN4mpl_5bool_ILb1E [...]
+    <Argument name="_ctor_arg" type="_17144" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13668" name="if_c" explicit="1" artificial="1" throw="" context="_10607" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS0_7eval_ifINS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS3_IS4_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENS2_INS0_4and_INS3_IS4_NS_25single_pass_traversal_tagEEENS3_IRKSbIwSt11char_traitsIwESaIwEESN_EEN4mp [...]
+  <Typedef id="_13669" name="type" type="_10945" context="_10608" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13670" name="if_c" artificial="1" throw="" context="_10608" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityINS_21forward_traversal_tagEEENS_6detail29facade_iterator_category_implIS3_SbIwSt11char_traitsIwESaIwEERKSA_EEEC1ERKSE_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_trai [...]
+    <Argument name="_ctor_arg" type="_17145" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13671" name="if_c" explicit="1" artificial="1" throw="" context="_10608" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityINS_21forward_traversal_tagEEENS_6detail29facade_iterator_category_implIS3_SbIwSt11char_traitsIwESaIwEERKSA_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<wchar_t, std:: [...]
+  <Typedef id="_13672" name="type" type="_10907" context="_10609" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13673" name="if_c" artificial="1" throw="" context="_10609" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_6detail23operator_brackets_proxyINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEESsEC1ERKSD_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::detail::operator_brackets_proxy<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >, std: [...]
+    <Argument name="_ctor_arg" type="_17146" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13674" name="if_c" explicit="1" artificial="1" throw="" context="_10609" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_6detail23operator_brackets_proxyINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEESsEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::detail::operator_brackets_proxy<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> & [...]
+  <Typedef id="_13675" name="type" type="_10908" context="_10610" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13676" name="if_c" artificial="1" throw="" context="_10610" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_6detail23operator_brackets_proxyINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEESsEC1ERKSG_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::detail::operator_brackets_proxy<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator [...]
+    <Argument name="_ctor_arg" type="_17147" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13677" name="if_c" explicit="1" artificial="1" throw="" context="_10610" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_6detail23operator_brackets_proxyINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEESsEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::detail::operator_brackets_proxy<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal [...]
+  <Typedef id="_13678" name="type" type="_9288" context="_10611" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13679" name="if_c" artificial="1" throw="" context="_10611" access="public" mangled="_ZN5boost3mpl4if_cILb1EPKSsNS_6detail20operator_arrow_proxyISsEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::if_c<true, std::string const*, boost::detail::operator_arrow_proxy<std::string> >::if_c(boost::mpl::if_c<true, std::string const*, boost::detail::operator_arrow_proxy<std::string> > const&)" location="f262:35" file="f262" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_17148" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13680" name="if_c" explicit="1" artificial="1" throw="" context="_10611" access="public" mangled="_ZN5boost3mpl4if_cILb1EPKSsNS_6detail20operator_arrow_proxyISsEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, std::string const*, boost::detail::operator_arrow_proxy<std::string> >::if_c()" location="f262:35" file="f262" line="35" inline="1"/>
+  <Typedef id="_13681" name="type" type="_3477" context="_10612" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13682" name="if_c" artificial="1" throw="" context="_10612" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_11add_pointerIKSsEENS2_ISsEEEC1ERKS6_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::add_pointer<std::string const>, boost::add_pointer<std::string> >::if_c(boost::mpl::if_c<true, boost::add_pointer<std::string const>, boost::add_pointer<std::string> > const&)" location="f262:35" file="f262" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_17149" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13683" name="if_c" explicit="1" artificial="1" throw="" context="_10612" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS_11add_pointerIKSsEENS2_ISsEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::add_pointer<std::string const>, boost::add_pointer<std::string> >::if_c()" location="f262:35" file="f262" line="35" inline="1"/>
+  <Typedef id="_13684" name="type" type="_2702" context="_10613" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13685" name="if_c" artificial="1" throw="" context="_10613" access="public" mangled="_ZN5boost3mpl4if_cILb1ESt20forward_iterator_tagNS_6detail32iterator_category_with_traversalIS2_NS_21forward_traversal_tagEEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::if_c<true, std::forward_iterator_tag, boost::detail::iterator_category_with_traversal<std::forward_iterator_tag, boost::forward_traversal_tag> >::if_c(boost::mpl::if_c<true, std::forward_iterator_tag, b [...]
+    <Argument name="_ctor_arg" type="_17150" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13686" name="if_c" explicit="1" artificial="1" throw="" context="_10613" access="public" mangled="_ZN5boost3mpl4if_cILb1ESt20forward_iterator_tagNS_6detail32iterator_category_with_traversalIS2_NS_21forward_traversal_tagEEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, std::forward_iterator_tag, boost::detail::iterator_category_with_traversal<std::forward_iterator_tag, boost::forward_traversal_tag> >::if_c()" location="f262:35" file="f262" line="35" i [...]
+  <Typedef id="_13687" name="type" type="_10527" context="_10614" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13688" name="if_c" artificial="1" throw="" context="_10614" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS0_8identityINS_21forward_traversal_tagEEENS0_7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt18input_iterator_tagEENS2_INS_25single_pass_traversal_tagEEENS5_INS6_IS7_St19output_iterator_tagEENS2_INS_27incrementable_traversal_tagEEEvEEEEEC1ERKSI_ *INTERNAL* " demangled="boost::mpl::if_c<true, boost::mpl::identity<boost::forward_traversal_tag>, b [...]
+    <Argument name="_ctor_arg" type="_17151" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13689" name="if_c" explicit="1" artificial="1" throw="" context="_10614" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS0_8identityINS_21forward_traversal_tagEEENS0_7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt18input_iterator_tagEENS2_INS_25single_pass_traversal_tagEEENS5_INS6_IS7_St19output_iterator_tagEENS2_INS_27incrementable_traversal_tagEEEvEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<true, boost::mpl::identity<boost::forward_traversal_t [...]
+  <Typedef id="_13690" name="type" type="_10552" context="_10615" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13691" name="if_c" artificial="1" throw="" context="_10615" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityINS_27bidirectional_traversal_tagEEENS0_7eval_ifINS_14is_convertibleISt20forward_iterator_tagS7_EENS2_INS_21forward_traversal_tagEEENS5_INS6_IS7_St18input_iterator_tagEENS2_INS_25single_pass_traversal_tagEEENS5_INS6_IS7_St19output_iterator_tagEENS2_INS_27incrementable_traversal_tagEEEvEEEEEEEC1ERKSM_ *INTERNAL* " demangled="boost::mpl::if_c<false [...]
+    <Argument name="_ctor_arg" type="_17152" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13692" name="if_c" explicit="1" artificial="1" throw="" context="_10615" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityINS_27bidirectional_traversal_tagEEENS0_7eval_ifINS_14is_convertibleISt20forward_iterator_tagS7_EENS2_INS_21forward_traversal_tagEEENS5_INS6_IS7_St18input_iterator_tagEENS2_INS_25single_pass_traversal_tagEEENS5_INS6_IS7_St19output_iterator_tagEENS2_INS_27incrementable_traversal_tagEEEvEEEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c [...]
+  <Typedef id="_13693" name="type" type="_10551" context="_10616" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13694" name="if_c" artificial="1" throw="" context="_10616" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityINS_27random_access_traversal_tagEEENS0_7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt26bidirectional_iterator_tagEENS2_INS_27bidirectional_traversal_tagEEENS5_INS6_IS7_S7_EENS2_INS_21forward_traversal_tagEEENS5_INS6_IS7_St18input_iterator_tagEENS2_INS_25single_pass_traversal_tagEEENS5_INS6_IS7_St19output_iterator_tagEENS2_INS_27incrementab [...]
+    <Argument name="_ctor_arg" type="_17153" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13695" name="if_c" explicit="1" artificial="1" throw="" context="_10616" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityINS_27random_access_traversal_tagEEENS0_7eval_ifINS_14is_convertibleISt20forward_iterator_tagSt26bidirectional_iterator_tagEENS2_INS_27bidirectional_traversal_tagEEENS5_INS6_IS7_S7_EENS2_INS_21forward_traversal_tagEEENS5_INS6_IS7_St18input_iterator_tagEENS2_INS_25single_pass_traversal_tagEEENS5_INS6_IS7_St19output_iterator_tagEENS2_INS_ [...]
+  <Typedef id="_13696" name="type" type="_10981" context="_10617" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13697" name="if_c" artificial="1" throw="" context="_10617" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityISt20forward_iterator_tagEENS_6detail25old_category_to_traversalIS3_EEEC1ERKS8_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<std::forward_iterator_tag>, boost::detail::old_category_to_traversal<std::forward_iterator_tag> >::if_c(boost::mpl::if_c<false, boost::mpl::identity<std::forward_iterator_tag> [...]
+    <Argument name="_ctor_arg" type="_17154" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13698" name="if_c" explicit="1" artificial="1" throw="" context="_10617" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityISt20forward_iterator_tagEENS_6detail25old_category_to_traversalIS3_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<std::forward_iterator_tag>, boost::detail::old_category_to_traversal<std::forward_iterator_tag> >::if_c()" location="f262:35" file="f262" line="35" inline="1"/>
+  <Typedef id="_13699" name="type" type="_2702" context="_10618" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13700" name="if_c" artificial="1" throw="" context="_10618" access="public" mangled="_ZN5boost3mpl4if_cILb0ESt26bidirectional_iterator_tagSt20forward_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::if_c<false, std::bidirectional_iterator_tag, std::forward_iterator_tag>::if_c(boost::mpl::if_c<false, std::bidirectional_iterator_tag, std::forward_iterator_tag> const&)" location="f262:35" file="f262" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_17155" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13701" name="if_c" explicit="1" artificial="1" throw="" context="_10618" access="public" mangled="_ZN5boost3mpl4if_cILb0ESt26bidirectional_iterator_tagSt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, std::bidirectional_iterator_tag, std::forward_iterator_tag>::if_c()" location="f262:35" file="f262" line="35" inline="1"/>
+  <Typedef id="_13702" name="type" type="_10573" context="_10619" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13703" name="if_c" artificial="1" throw="" context="_10619" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS_14is_convertibleINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEC1ERKSD_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<std::random_access_iterator_tag>, boost::mpl::if_<boost::is_convertible<boost [...]
+    <Argument name="_ctor_arg" type="_17156" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13704" name="if_c" explicit="1" artificial="1" throw="" context="_10619" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS_14is_convertibleINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<std::random_access_iterator_tag>, boost::mpl::if_<boost::is_convertible [...]
+  <Typedef id="_13705" name="type" type="_10547" context="_10620" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13706" name="if_c" artificial="1" throw="" context="_10620" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS0_7eval_ifINS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS3_IS4_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENS2_INS0_4and_INS3_IS4_NS_25single_pass_traversal_tagEEENS3_IRKSsSsEEN4mpl_5bool_ILb1EEESP_SP_EENS7_ISt18input_it [...]
+    <Argument name="_ctor_arg" type="_17157" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13707" name="if_c" explicit="1" artificial="1" throw="" context="_10620" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS0_7eval_ifINS_14is_convertibleINS_21forward_traversal_tagENS_27random_access_traversal_tagEEENS0_8identityISt26random_access_iterator_tagEENS0_3if_INS3_IS4_NS_27bidirectional_traversal_tagEEESt26bidirectional_iterator_tagSt20forward_iterator_tagEEEENS2_INS0_4and_INS3_IS4_NS_25single_pass_traversal_tagEEENS3_IRKSsSsEEN4mpl_5bool_ILb1EEESP_SP_EENS7_ [...]
+  <Typedef id="_13708" name="type" type="_10946" context="_10621" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13709" name="if_c" artificial="1" throw="" context="_10621" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityINS_21forward_traversal_tagEEENS_6detail29facade_iterator_category_implIS3_SsRKSsEEEC1ERKSA_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::string, std::string const&> >::if_c(boost::mpl::if_c< [...]
+    <Argument name="_ctor_arg" type="_17158" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13710" name="if_c" explicit="1" artificial="1" throw="" context="_10621" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityINS_21forward_traversal_tagEEENS_6detail29facade_iterator_category_implIS3_SsRKSsEEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<boost::forward_traversal_tag>, boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::string, std::string const&> >::if_c()" location [...]
+  <Typedef id="_13711" name="type" type="_10533" context="_10622" access="public" location="f262:36" file="f262" line="36"/>
+  <Constructor id="_13712" name="if_c" artificial="1" throw="" context="_10622" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS0_8identityINS_27random_access_traversal_tagEEENS0_7eval_ifINS_14is_convertibleISt26random_access_iterator_tagSt26bidirectional_iterator_tagEENS2_INS_27bidirectional_traversal_tagEEENS5_INS6_IS7_St20forward_iterator_tagEENS2_INS_21forward_traversal_tagEEENS5_INS6_IS7_St18input_iterator_tagEENS2_INS_25single_pass_traversal_tagEEENS5_INS6_IS7_St19output_iterator [...]
+    <Argument name="_ctor_arg" type="_17159" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13713" name="if_c" explicit="1" artificial="1" throw="" context="_10622" access="public" mangled="_ZN5boost3mpl4if_cILb1ENS0_8identityINS_27random_access_traversal_tagEEENS0_7eval_ifINS_14is_convertibleISt26random_access_iterator_tagSt26bidirectional_iterator_tagEENS2_INS_27bidirectional_traversal_tagEEENS5_INS6_IS7_St20forward_iterator_tagEENS2_INS_21forward_traversal_tagEEENS5_INS6_IS7_St18input_iterator_tagEENS2_INS_25single_pass_traversal_tagEEENS5_INS6_IS7_St19ou [...]
+  <Typedef id="_13714" name="type" type="_10982" context="_10623" access="public" location="f262:45" file="f262" line="45"/>
+  <Constructor id="_13715" name="if_c" artificial="1" throw="" context="_10623" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityISt26random_access_iterator_tagEENS_6detail25old_category_to_traversalIS3_EEEC1ERKS8_ *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<std::random_access_iterator_tag>, boost::detail::old_category_to_traversal<std::random_access_iterator_tag> >::if_c(boost::mpl::if_c<false, boost::mpl::identity<std::random [...]
+    <Argument name="_ctor_arg" type="_17160" location="f262:35" file="f262" line="35"/>
+  </Constructor>
+  <Constructor id="_13716" name="if_c" explicit="1" artificial="1" throw="" context="_10623" access="public" mangled="_ZN5boost3mpl4if_cILb0ENS0_8identityISt26random_access_iterator_tagEENS_6detail25old_category_to_traversalIS3_EEEC1Ev *INTERNAL* " demangled="boost::mpl::if_c<false, boost::mpl::identity<std::random_access_iterator_tag>, boost::detail::old_category_to_traversal<std::random_access_iterator_tag> >::if_c()" location="f262:35" file="f262" line="35" inline="1"/>
+  <Typedef id="_13717" name="is_le" type="_3259" context="_10624" access="public" location="f263:40" file="f263" line="40"/>
+  <Typedef id="_13718" name="result_" type="_10915" context="_10624" access="public" location="f263:41" file="f263" line="41"/>
+  <Typedef id="_13719" name="type" type="_10915" context="_10624" access="public" location="f263:42" file="f263" line="42"/>
+  <Constructor id="_13720" name="lambda" artificial="1" throw="" context="_10624" access="public" mangled="_ZN5boost3mpl6lambdaINS_6detail12always_bool2EN4mpl_5void_ENS4_4int_ILin1EEEEC1ERKS8_ *INTERNAL* " demangled="boost::mpl::lambda<boost::detail::always_bool2, mpl_::void_, mpl_::int_<-1> >::lambda(boost::mpl::lambda<boost::detail::always_bool2, mpl_::void_, mpl_::int_<-1> > const&)" location="f263:39" file="f263" line="39" inline="1">
+    <Argument name="_ctor_arg" type="_17161" location="f263:39" file="f263" line="39"/>
+  </Constructor>
+  <Constructor id="_13721" name="lambda" explicit="1" artificial="1" throw="" context="_10624" access="public" mangled="_ZN5boost3mpl6lambdaINS_6detail12always_bool2EN4mpl_5void_ENS4_4int_ILin1EEEEC1Ev *INTERNAL* " demangled="boost::mpl::lambda<boost::detail::always_bool2, mpl_::void_, mpl_::int_<-1> >::lambda()" location="f263:39" file="f263" line="39" inline="1"/>
+  <Constructor id="_13722" name="lambda" artificial="1" throw="" context="_10625" access="public" mangled="_ZN5boost3mpl6lambdaIN4mpl_2naES3_NS2_4int_ILin1EEEEC1ERKS6_ *INTERNAL* " demangled="boost::mpl::lambda<mpl_::na, mpl_::na, mpl_::int_<-1> >::lambda(boost::mpl::lambda<mpl_::na, mpl_::na, mpl_::int_<-1> > const&)" location="f263:555" file="f263" line="555" inline="1">
+    <Argument name="_ctor_arg" type="_17162" location="f263:555" file="f263" line="555"/>
+  </Constructor>
+  <Constructor id="_13723" name="lambda" explicit="1" artificial="1" throw="" context="_10625" access="public" mangled="_ZN5boost3mpl6lambdaIN4mpl_2naES3_NS2_4int_ILin1EEEEC1Ev *INTERNAL* " demangled="boost::mpl::lambda<mpl_::na, mpl_::na, mpl_::int_<-1> >::lambda()" location="f263:555" file="f263" line="555" inline="1"/>
+  <Constructor id="_13724" name="is_not_na" artificial="1" throw="" context="_10626" access="public" mangled="_ZN5boost3mpl9is_not_naIN4mpl_2naEEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::is_not_na<mpl_::na>::is_not_na(boost::mpl::is_not_na<mpl_::na> const&)" location="f264:54" file="f264" line="54" inline="1">
+    <Argument name="_ctor_arg" type="_17163" location="f264:54" file="f264" line="54"/>
+  </Constructor>
+  <Constructor id="_13725" name="is_not_na" explicit="1" artificial="1" throw="" context="_10626" access="public" mangled="_ZN5boost3mpl9is_not_naIN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::is_not_na<mpl_::na>::is_not_na()" location="f264:54" file="f264" line="54" inline="1"/>
+  <Constructor id="_13726" name="is_na" artificial="1" throw="" context="_10627" access="public" mangled="_ZN5boost3mpl5is_naIN4mpl_2naEEC1ERKS4_ *INTERNAL* " demangled="boost::mpl::is_na<mpl_::na>::is_na(boost::mpl::is_na<mpl_::na> const&)" location="f264:36" file="f264" line="36" inline="1">
+    <Argument name="_ctor_arg" type="_17164" location="f264:36" file="f264" line="36"/>
+  </Constructor>
+  <Constructor id="_13727" name="is_na" explicit="1" artificial="1" throw="" context="_10627" access="public" mangled="_ZN5boost3mpl5is_naIN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::is_na<mpl_::na>::is_na()" location="f264:36" file="f264" line="36" inline="1"/>
+  <Struct id="_13728" name="lambda_or<false,false,false,false,false>" context="_10629" mangled="N5boost3mpl3aux9lambda_orILb0ELb0ELb0ELb0ELb0EEE" demangled="boost::mpl::aux::lambda_or<false, false, false, false, false>" location="f263:28" file="f263" line="28" artificial="1" size="8" align="8" members="_17165 _17166 " bases="_3259 ">
+    <Base type="_3259" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13729" name="template_arity_impl<boost::detail::always_bool2,6>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi6EEE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 6>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17167 _17168 _17169 " bases=""/>
+  <Struct id="_13730" name="template_arity_impl<boost::detail::always_bool2,5>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi5EEE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 5>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17170 _17171 _17172 " bases=""/>
+  <Struct id="_13731" name="template_arity_impl<boost::detail::always_bool2,4>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi4EEE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 4>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17173 _17174 _17175 " bases=""/>
+  <Struct id="_13732" name="template_arity_impl<boost::detail::always_bool2,3>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi3EEE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 3>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17176 _17177 _17178 " bases=""/>
+  <Struct id="_13733" name="template_arity_impl<boost::detail::always_bool2,2>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi2EEE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 2>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17179 _17180 _17181 " bases=""/>
+  <Struct id="_13734" name="template_arity_impl<boost::detail::always_bool2,1>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi1EEE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 1>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17182 _17183 _17184 " bases=""/>
+  <Struct id="_13735" name="template_arity_impl<mpl_::na,6>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implIN4mpl_2naELi6EEE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 6>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17185 _17186 _17187 " bases=""/>
+  <Struct id="_13736" name="template_arity_impl<mpl_::na,5>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implIN4mpl_2naELi5EEE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 5>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17188 _17189 _17190 " bases=""/>
+  <Struct id="_13737" name="template_arity_impl<mpl_::na,4>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implIN4mpl_2naELi4EEE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 4>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17191 _17192 _17193 " bases=""/>
+  <Struct id="_13738" name="template_arity_impl<mpl_::na,3>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implIN4mpl_2naELi3EEE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 3>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17194 _17195 _17196 " bases=""/>
+  <Struct id="_13739" name="template_arity_impl<mpl_::na,2>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implIN4mpl_2naELi2EEE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 2>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17197 _17198 _17199 " bases=""/>
+  <Struct id="_13740" name="template_arity_impl<mpl_::na,1>" context="_10629" mangled="N5boost3mpl3aux19template_arity_implIN4mpl_2naELi1EEE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 1>" location="f305:84" file="f305" line="84" artificial="1" size="8" align="8" members="_17200 _17201 _17202 " bases=""/>
+  <Function id="_13741" name="arity_helper" returns="_8395" context="_10629" mangled="_ZN5boost3mpl3aux12arity_helperEz" demangled="boost::mpl::aux::arity_helper(...)" location="f305:30" file="f305" line="30" extern="1">
+    <Ellipsis/>
+  </Function>
+  <Struct id="_13742" name="max_arity<0,0,0,0,0,0>" context="_10629" mangled="N5boost3mpl3aux9max_arityILi0ELi0ELi0ELi0ELi0ELi0EEE" demangled="boost::mpl::aux::max_arity<0, 0, 0, 0, 0, 0>" location="f305:23" file="f305" line="23" artificial="1" size="8" align="8" members="_17203 _17204 _17205 " bases=""/>
+  <Struct id="_13743" name="arity_tag<6>" context="_10629" mangled="N5boost3mpl3aux9arity_tagILi6EEE" demangled="boost::mpl::aux::arity_tag<6>" location="f305:15" file="f305" line="15" artificial="1" size="8" align="8" members="_17207 _17208 _17209 " bases=""/>
+  <Struct id="_13744" name="arity_tag<5>" context="_10629" mangled="N5boost3mpl3aux9arity_tagILi5EEE" demangled="boost::mpl::aux::arity_tag<5>" location="f305:15" file="f305" line="15" artificial="1" size="8" align="8" members="_17210 _17211 _17212 " bases=""/>
+  <Struct id="_13745" name="arity_tag<4>" context="_10629" mangled="N5boost3mpl3aux9arity_tagILi4EEE" demangled="boost::mpl::aux::arity_tag<4>" location="f305:15" file="f305" line="15" artificial="1" size="8" align="8" members="_17213 _17214 _17215 " bases=""/>
+  <Struct id="_13746" name="arity_tag<3>" context="_10629" mangled="N5boost3mpl3aux9arity_tagILi3EEE" demangled="boost::mpl::aux::arity_tag<3>" location="f305:15" file="f305" line="15" artificial="1" size="8" align="8" members="_17216 _17217 _17218 " bases=""/>
+  <Struct id="_13747" name="arity_tag<2>" context="_10629" mangled="N5boost3mpl3aux9arity_tagILi2EEE" demangled="boost::mpl::aux::arity_tag<2>" location="f305:15" file="f305" line="15" artificial="1" size="8" align="8" members="_17219 _17220 _17221 " bases=""/>
+  <Struct id="_13748" name="arity_tag<1>" context="_10629" mangled="N5boost3mpl3aux9arity_tagILi1EEE" demangled="boost::mpl::aux::arity_tag<1>" location="f305:15" file="f305" line="15" artificial="1" size="8" align="8" members="_17222 _17223 _17224 " bases=""/>
+  <Struct id="_13749" name="arity_tag<0>" context="_10629" mangled="N5boost3mpl3aux9arity_tagILi0EEE" demangled="boost::mpl::aux::arity_tag<0>" location="f305:15" file="f305" line="15" artificial="1" size="8" align="8" members="_17225 _17226 _17227 " bases=""/>
+  <Struct id="_13750" name="type_wrapper<boost::detail::always_bool2>" context="_10629" mangled="N5boost3mpl3aux12type_wrapperINS_6detail12always_bool2EEE" demangled="boost::mpl::aux::type_wrapper<boost::detail::always_bool2>" location="f306:23" file="f306" line="23" artificial="1" size="8" align="8" members="_17228 _17229 _17230 " bases=""/>
+  <Struct id="_13751" name="type_wrapper<mpl_::na>" context="_10629" mangled="N5boost3mpl3aux12type_wrapperIN4mpl_2naEEE" demangled="boost::mpl::aux::type_wrapper<mpl_::na>" location="f306:23" file="f306" line="23" artificial="1" size="8" align="8" members="_17231 _17232 _17233 " bases=""/>
+  <Struct id="_13752" name="and_impl<true,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true>,mpl_::bool_<true> >" context="_10629" mangled="N5boost3mpl3aux8and_implILb1EN4mpl_5bool_ILb1EEES5_S5_S5_EE" demangled="boost::mpl::aux::and_impl<true, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >" location="f259:38" file="f259" line="38" artificial="1" size="8" align="8" members="_17234 _17235 " bases=" [...]
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13753" name="or_impl<true,boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >,mpl_::bool_<false>,mpl_::bool_<false>,mpl_::bool_<false> >" context="_10629" mangled="N5boost3mpl3aux7or_implILb1ENS_8is_constISbIwSt11char_traitsIwESaIwEEEEN4mpl_5bool_ILb0EEESB_SB_EE" demangled="boost::mpl::aux::or_impl<true, boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar [...]
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13754" name="or_impl<true,boost::is_const<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,mpl_::bool_<false>,mpl_::bool_<false>,mpl_::bool_<false> >" context="_10629" mangled="N5boost3mpl3aux7or_implILb1ENS_8is_constISsEEN4mpl_5bool_ILb0EEES7_S7_EE" demangled="boost::mpl::aux::or_impl<true, boost::is_const<std::string>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false& [...]
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13755" name="or_impl<false,mpl_::bool_<false>,mpl_::bool_<false>,mpl_::bool_<false>,mpl_::bool_<false> >" context="_10629" mangled="N5boost3mpl3aux7or_implILb0EN4mpl_5bool_ILb0EEES5_S5_S5_EE" demangled="boost::mpl::aux::or_impl<false, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >" location="f200:38" file="f200" line="38" artificial="1" size="8" align="8" members="_17240 _17241 "  [...]
+    <Base type="_3259" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13756" name="weighted_tag<6>" context="_10629" mangled="N5boost3mpl3aux12weighted_tagILl6EEE" demangled="boost::mpl::aux::weighted_tag<6l>" location="f307:40" file="f307" line="40" artificial="1" size="8" align="8" members="_17242 _17243 _17244 " bases=""/>
+  <Struct id="_13757" name="weighted_tag<5>" context="_10629" mangled="N5boost3mpl3aux12weighted_tagILl5EEE" demangled="boost::mpl::aux::weighted_tag<5l>" location="f307:40" file="f307" line="40" artificial="1" size="8" align="8" members="_17245 _17246 _17247 " bases=""/>
+  <Struct id="_13758" name="weighted_tag<4>" context="_10629" mangled="N5boost3mpl3aux12weighted_tagILl4EEE" demangled="boost::mpl::aux::weighted_tag<4l>" location="f307:40" file="f307" line="40" artificial="1" size="8" align="8" members="_17248 _17249 _17250 " bases=""/>
+  <Struct id="_13759" name="weighted_tag<3>" context="_10629" mangled="N5boost3mpl3aux12weighted_tagILl3EEE" demangled="boost::mpl::aux::weighted_tag<3l>" location="f307:40" file="f307" line="40" artificial="1" size="8" align="8" members="_17251 _17252 _17253 " bases=""/>
+  <Struct id="_13760" name="weighted_tag<2>" context="_10629" mangled="N5boost3mpl3aux12weighted_tagILl2EEE" demangled="boost::mpl::aux::weighted_tag<2l>" location="f307:40" file="f307" line="40" artificial="1" size="8" align="8" members="_17254 _17255 _17256 " bases=""/>
+  <Struct id="_13761" name="weighted_tag<1>" context="_10629" mangled="N5boost3mpl3aux12weighted_tagILl1EEE" demangled="boost::mpl::aux::weighted_tag<1l>" location="f307:40" file="f307" line="40" artificial="1" size="8" align="8" members="_17257 _17258 _17259 " bases=""/>
+  <Struct id="_13762" name="yes_no_tag<true>" context="_10629" mangled="N5boost3mpl3aux10yes_no_tagILb1EEE" demangled="boost::mpl::aux::yes_no_tag<true>" location="f307:34" file="f307" line="34" artificial="1" size="8" align="8" members="_17260 _17261 _17262 " bases=""/>
+  <Typedef id="_13763" name="yes_tag" type="_8394" context="_10629" location="f307:26" file="f307" line="26"/>
+  <Typedef id="_13764" name="no_tag" type="_8395" context="_10629" location="f307:25" file="f307" line="25"/>
+  <Struct id="_13765" name="nested_type_wknd<boost::mpl::and_<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>, mpl_::bool_<true>, mpl_::bool_<tr [...]
+    <Base type="_3259" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13766" name="nested_type_wknd<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_6is_PODISbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >" location="f308:28" file="f308" line="28 [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13767" name="nested_type_wknd<boost::detail::indirect_traits::is_reference_to_const<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&> >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_6detail15indirect_traits21is_reference_to_constIRKSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::detail::indirect_traits::is_reference_to_const<std::basic_strin [...]
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13768" name="nested_type_wknd<boost::is_const<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&> >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_8is_constIRKSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> >" location="f [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13769" name="nested_type_wknd<boost::is_reference<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&> >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> > [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13770" name="nested_type_wknd<boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_tr [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13771" name="nested_type_wknd<boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __ [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13772" name="nested_type_wknd<boost::mpl::and_<boost::is_POD<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::detail::iterator_writability_disabled<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true [...]
+    <Base type="_3259" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13773" name="nested_type_wknd<boost::is_POD<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_6is_PODISsEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::is_POD<std::string> >" location="f308:28" file="f308" line="28" artificial="1" size="8" align="8" members="_17279 _17280 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13774" name="nested_type_wknd<boost::detail::indirect_traits::is_reference_to_const<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&> >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_6detail15indirect_traits21is_reference_to_constIRKSsEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::detail::indirect_traits::is_reference_to_const<std::string const&> >" location="f308:28" [...]
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13775" name="nested_type_wknd<boost::is_const<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&> >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_8is_constIRKSsEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::is_const<std::string const&> >" location="f308:28" file="f308" line="28" artificial="1" size="8" align="8" members="_17283 _17284 " bases="_3797 ">
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13776" name="nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag> >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_21forward_traversal_tagES4_EEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag> >" location="f308:28" file="f308" line="28" artificial="1" size="8" align="8" members="_17285 _ [...]
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13777" name="nested_type_wknd<boost::is_reference<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&> >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_12is_referenceIRKSsEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::is_reference<std::string const&> >" location="f308:28" file="f308" line="28" artificial="1" size="8" align="8" members="_17287 _17288 " bases="_3799 ">
+    <Base type="_3799" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13778" name="nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag> >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_21forward_traversal_tagESt19output_iterator_tagEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag> >" location="f308:28" file="f308" line="28" artificial="1" size="8" align="8" membe [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13779" name="nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag> >" context="_10629" mangled="N5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_21forward_traversal_tagESt18input_iterator_tagEEEE" demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag> >" location="f308:28" file="f308" line="28" artificial="1" size="8" align="8" members= [...]
+    <Base type="_3797" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13780" name="template_arity<boost::detail::always_bool2>" context="_10629" mangled="N5boost3mpl3aux14template_arityINS_6detail12always_bool2EEE" demangled="boost::mpl::aux::template_arity<boost::detail::always_bool2>" location="f305:92" file="f305" line="92" artificial="1" size="8" align="8" members="_17293 _17294 _17295 _17296 " bases=""/>
+  <Struct id="_13781" name="template_arity<boost::mpl::lambda<mpl_::na, mpl_::na, mpl_::int_<-1> > >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_6lambdaIN4mpl_2naES5_NS4_4int_ILin1EEEEEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::lambda<mpl_::na, mpl_::na, mpl_::int_<-1> > >" location="f263:555" file="f263" line="555" artificial="1" size="8" align="8" members="_17297 _17298 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13782" name="template_arity<mpl_::na>" context="_10629" mangled="N5boost3mpl3aux14template_arityIN4mpl_2naEEE" demangled="boost::mpl::aux::template_arity<mpl_::na>" location="f305:92" file="f305" line="92" artificial="1" size="8" align="8" members="_17299 _17300 _17301 _17302 " bases=""/>
+  <Struct id="_13783" name="template_arity<boost::mpl::is_not_void_<mpl_::na> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_12is_not_void_IN4mpl_2naEEEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::is_not_void_<mpl_::na> >" location="f124:72" file="f124" line="72" artificial="1" size="8" align="8" members="_17303 _17304 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13784" name="template_arity<boost::mpl::is_void_<mpl_::na> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_8is_void_IN4mpl_2naEEEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::is_void_<mpl_::na> >" location="f124:71" file="f124" line="71" artificial="1" size="8" align="8" members="_17305 _17306 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13785" name="template_arity<boost::mpl::protect<mpl_::na, 0> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_7protectIN4mpl_2naELi0EEEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::protect<mpl_::na, 0> >" location="f255:50" file="f255" line="50" artificial="1" size="8" align="8" members="_17307 _17308 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13786" name="template_arity<boost::mpl::prior<mpl_::na> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_5priorIN4mpl_2naEEEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::prior<mpl_::na> >" location="f256:45" file="f256" line="45" artificial="1" size="8" align="8" members="_17309 _17310 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13787" name="template_arity<boost::mpl::next<mpl_::na> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_4nextIN4mpl_2naEEEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::next<mpl_::na> >" location="f256:44" file="f256" line="44" artificial="1" size="8" align="8" members="_17311 _17312 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13788" name="template_arity<boost::mpl::and_<mpl_::na, mpl_::na, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> > >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_4and_IN4mpl_2naES5_NS4_5bool_ILb1EEES7_S7_EEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::and_<mpl_::na, mpl_::na, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> > >" location="f259:63" file="f259" line="63" [...]
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13789" name="template_arity<boost::mpl::or_<mpl_::na, mpl_::na, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> > >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_3or_IN4mpl_2naES5_NS4_5bool_ILb0EEES7_S7_EEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::or_<mpl_::na, mpl_::na, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> > >" location="f200:63" file="f200" line=" [...]
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13790" name="template_arity<boost::mpl::not_<mpl_::na> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_4not_IN4mpl_2naEEEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::not_<mpl_::na> >" location="f260:47" file="f260" line="47" artificial="1" size="8" align="8" members="_17317 _17318 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13791" name="template_arity<boost::mpl::make_identity<mpl_::na> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_13make_identityIN4mpl_2naEEEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::make_identity<mpl_::na> >" location="f261:41" file="f261" line="41" artificial="1" size="8" align="8" members="_17319 _17320 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13792" name="template_arity<boost::mpl::identity<mpl_::na> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_8identityIN4mpl_2naEEEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::identity<mpl_::na> >" location="f261:40" file="f261" line="40" artificial="1" size="8" align="8" members="_17321 _17322 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13793" name="template_arity<boost::mpl::eval_if<mpl_::na, mpl_::na, mpl_::na> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_7eval_ifIN4mpl_2naES5_S5_EEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::eval_if<mpl_::na, mpl_::na, mpl_::na> >" location="f201:67" file="f201" line="67" artificial="1" size="8" align="8" members="_17323 _17324 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_13794" name="template_arity<boost::mpl::if_<mpl_::na, mpl_::na, mpl_::na> >" context="_10629" mangled="N5boost3mpl3aux14template_arityINS0_3if_IN4mpl_2naES5_S5_EEEE" demangled="boost::mpl::aux::template_arity<boost::mpl::if_<mpl_::na, mpl_::na, mpl_::na> >" location="f262:131" file="f262" line="131" artificial="1" size="8" align="8" members="_17325 _17326 " bases="_3265 ">
+    <Base type="_3265" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <ReferenceType id="_13795" type="_10743c" size="32" align="32"/>
+  <ReferenceType id="_13796" type="_10723c" size="32" align="32"/>
+  <ReferenceType id="_13797" type="_10726c" size="32" align="32"/>
+  <ReferenceType id="_13798" type="_10729c" size="32" align="32"/>
+  <ReferenceType id="_13799" type="_10732c" size="32" align="32"/>
+  <ReferenceType id="_13800" type="_10735c" size="32" align="32"/>
+  <ReferenceType id="_13801" type="_10738c" size="32" align="32"/>
+  <ReferenceType id="_13802" type="_10784c" size="32" align="32"/>
+  <ReferenceType id="_13803" type="_10760c" size="32" align="32"/>
+  <Variable id="_13804" name="default_special_value_names" type="_17336c" init="{const char[17](), const char[17](), const char[17]()}" context="_10697" access="public" mangled="_ZN5boost9date_time24special_values_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE27default_special_value_namesE" demangled="boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::default_special_value_names" location="f270:89" file= [...]
+  <Field id="_13805" name="m_special_value_names" type="_1994" offset="0" context="_10697" access="protected" mangled="_ZN5boost9date_time24special_values_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE21m_special_value_namesE" demangled="boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_special_value_names" location="f270:80" file="f270" line="80"/>
+  <Typedef id="_13806" name="string_type" type="_2508" context="_10697" access="public" location="f270:33" file="f270" line="33"/>
+  <Typedef id="_13807" name="char_type" type="_2961" context="_10697" access="public" location="f270:34" file="f270" line="34"/>
+  <Typedef id="_13808" name="collection_type" type="_1994" context="_10697" access="public" location="f270:35" file="f270" line="35"/>
+  <Constructor id="_13809" name="special_values_formatter" artificial="1" context="_10697" access="public" mangled="_ZN5boost9date_time24special_values_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::special_values_formatter(boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_trai [...]
+    <Argument name="_ctor_arg" type="_17338" location="f270:31" file="f270" line="31"/>
+  </Constructor>
+  <Destructor id="_13810" name="special_values_formatter" artificial="1" context="_10697" access="public" mangled="_ZN5boost9date_time24special_values_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~special_values_formatter()" location="f1:87" file="f1" line="87" endline="87" inline="1">
+  </Destructor>
+  <Constructor id="_13811" name="special_values_formatter" explicit="1" context="_10697" access="public" mangled="_ZN5boost9date_time24special_values_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ev *INTERNAL* " demangled="boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::special_values_formatter()" location="f270:42" file="f270" line="42" endline="43" inline="1"/>
+  <Constructor id="_13812" name="special_values_formatter" explicit="1" context="_10697" access="public" mangled="_ZN5boost9date_time24special_values_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKPKcSA_ *INTERNAL* " demangled="boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::special_values_formatter(char const* const*, char const* const*)" location="f270:59" file="f270" line="59" extern="1" inline="1">
+    <Argument name="begin" type="_11517" location="f270:59" file="f270" line="59"/>
+    <Argument name="end" type="_11517" location="f270:59" file="f270" line="59"/>
+  </Constructor>
+  <Constructor id="_13813" name="special_values_formatter" explicit="1" context="_10697" access="public" mangled="_ZN5boost9date_time24special_values_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEESD_ *INTERNAL* " demangled="boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::special_values_formatter(__gnu_cxx::__normal_iterator<std::string*, std [...]
+    <Argument name="beg" type="_3329" location="f270:63" file="f270" line="63"/>
+    <Argument name="end" type="_3329" location="f270:63" file="f270" line="63"/>
+  </Constructor>
+  <Method id="_13814" name="put_special" returns="_2478" const="1" context="_10697" access="public" mangled="_ZNK5boost9date_time24special_values_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE11put_specialES5_RKNS0_14special_valuesE" demangled="boost::date_time::special_values_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put_special(std::ostreambuf_iterator<char, std::char_traits<char> >, boost::date_time::special_valu [...]
+    <Argument name="next" type="_2478" location="f270:69" file="f270" line="69"/>
+    <Argument name="value" type="_17339" location="f270:69" file="f270" line="69"/>
+  </Method>
+  <Variable id="_13815" name="long_weekday_format" type="_9946c" init="{'%', 'A'}" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE19long_weekday_formatE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::long_weekday_format" location="f1:376" file="f1" line="376"/>
+  <Variable id="_13816" name="short_weekday_format" type="_9946c" init="{'%', 'a'}" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE20short_weekday_formatE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::short_weekday_format" location="f1:380" file="f1" line="380"/>
+  <Variable id="_13817" name="long_month_format" type="_9946c" init="{'%', 'B'}" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE17long_month_formatE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::long_month_format" location="f1:384" file="f1" line="384"/>
+  <Variable id="_13818" name="short_month_format" type="_9946c" init="{'%', 'b'}" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE18short_month_formatE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::short_month_format" location="f1:388" file="f1" line="388"/>
+  <Variable id="_13819" name="default_period_separator" type="_8285c" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE24default_period_separatorE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::default_period_separator" location="f1:392" file="f1" line="392" extern="1"/>
+  <Variable id="_13820" name="standard_format_specifier" type="_9946c" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE25standard_format_specifierE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::standard_format_specifier" location="f1:396" file="f1" line="396" extern="1"/>
+  <Variable id="_13821" name="iso_format_specifier" type="_17341c" init="{'%', 'Y', '%', 'm', '%', 'd'}" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE20iso_format_specifierE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::iso_format_speci [...]
+  <Variable id="_13822" name="iso_format_extended_specifier" type="_17343c" init="{'%', 'Y', '-', '%', 'm', '-', '%', 'd'}" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE29iso_format_extended_specifierE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::cha [...]
+  <Variable id="_13823" name="default_date_format" type="_17343c" init="{'%', 'Y', '-', '%', 'b', '-', '%', 'd'}" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE19default_date_formatE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> [...]
+  <Variable id="_13824" name="id" type="_6222" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::id" location="f1:372" file="f1" line="372"/>
+  <Field id="_13825" name="m_format" type="_2508" offset="64" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8m_formatE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_format" location="f1:358" file="f1" line="358"/>
+  <Field id="_13826" name="m_month_format" type="_2508" offset="96" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14m_month_formatE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_month_format" location="f1:359" file="f1" line="359"/>
+  <Field id="_13827" name="m_weekday_format" type="_2508" offset="128" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16m_weekday_formatE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_weekday_format" location="f1:360" file="f1" line="360"/>
+  <Field id="_13828" name="m_period_formatter" type="_10707" offset="160" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE18m_period_formatterE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_period_formatter" location="f1:361" file="f1" line="361"/>
+  <Field id="_13829" name="m_date_gen_formatter" type="_11255" offset="320" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE20m_date_gen_formatterE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_date_gen_formatter" location="f1:362" file="f1" line="362"/>
+  <Field id="_13830" name="m_special_values_formatter" type="_10697" offset="416" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE26m_special_values_formatterE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_special_values_formatter" location="f1:363" file="f1" line="363"/>
+  <Field id="_13831" name="m_month_short_names" type="_1994" offset="512" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE19m_month_short_namesE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_month_short_names" location="f1:364" file="f1" line="364"/>
+  <Field id="_13832" name="m_month_long_names" type="_1994" offset="608" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE18m_month_long_namesE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_month_long_names" location="f1:365" file="f1" line="365"/>
+  <Field id="_13833" name="m_weekday_short_names" type="_1994" offset="704" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE21m_weekday_short_namesE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_weekday_short_names" location="f1:366" file="f1" line="366"/>
+  <Field id="_13834" name="m_weekday_long_names" type="_1994" offset="800" context="_10703" access="protected" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE20m_weekday_long_namesE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_weekday_long_names" location="f1:367" file="f1" line="367"/>
+  <Typedef id="_13835" name="duration_type" type="_10752" context="_10703" access="public" location="f1:47" file="f1" line="47"/>
+  <Typedef id="_13836" name="day_of_week_type" type="_10784" context="_10703" access="public" location="f1:49" file="f1" line="49"/>
+  <Typedef id="_13837" name="day_type" type="_9063" context="_10703" access="public" location="f1:50" file="f1" line="50"/>
+  <Typedef id="_13838" name="month_type" type="_10760" context="_10703" access="public" location="f1:51" file="f1" line="51"/>
+  <Typedef id="_13839" name="period_type" type="_10742" context="_10703" access="public" location="f1:52" file="f1" line="52"/>
+  <Typedef id="_13840" name="string_type" type="_2508" context="_10703" access="public" location="f1:53" file="f1" line="53"/>
+  <Typedef id="_13841" name="char_type" type="_2961" context="_10703" access="public" location="f1:54" file="f1" line="54"/>
+  <Typedef id="_13842" name="period_formatter_type" type="_10707" context="_10703" access="public" location="f1:55" file="f1" line="55"/>
+  <Typedef id="_13843" name="special_values_formatter_type" type="_10697" context="_10703" access="public" location="f1:56" file="f1" line="56"/>
+  <Typedef id="_13844" name="input_collection_type" type="_1994" context="_10703" access="public" location="f1:57" file="f1" line="57"/>
+  <Typedef id="_13845" name="date_gen_formatter_type" type="_11255" context="_10703" access="public" location="f1:59" file="f1" line="59"/>
+  <Typedef id="_13846" name="partial_date_type" type="_10738" context="_10703" access="public" location="f1:60" file="f1" line="60"/>
+  <Typedef id="_13847" name="nth_kday_type" type="_10735" context="_10703" access="public" location="f1:61" file="f1" line="61"/>
+  <Typedef id="_13848" name="first_kday_type" type="_10732" context="_10703" access="public" location="f1:62" file="f1" line="62"/>
+  <Typedef id="_13849" name="last_kday_type" type="_10729" context="_10703" access="public" location="f1:63" file="f1" line="63"/>
+  <Typedef id="_13850" name="kday_after_type" type="_10726" context="_10703" access="public" location="f1:64" file="f1" line="64"/>
+  <Typedef id="_13851" name="kday_before_type" type="_10723" context="_10703" access="public" location="f1:65" file="f1" line="65"/>
+  <Constructor id="_13852" name="date_facet" artificial="1" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS8_ *INTERNAL* " demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::date_facet(boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits& [...]
+    <Argument name="_ctor_arg" type="_5516" location="f1:45" file="f1" line="45"/>
+  </Constructor>
+  <Destructor id="_13853" name="date_facet" virtual="1" artificial="1" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~date_facet()" location="f82:87" file="f82" line="87" endline="87" inline="1">
+  </Destructor>
+  <Constructor id="_13854" name="date_facet" explicit="1" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej *INTERNAL* " demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::date_facet(unsigned)" location="f1:82" file="f1" line="82" endline="87" inline="1">
+    <Argument name="a_ref" type="_1698" location="f1:82" file="f1" line="82" default="0"/>
+  </Constructor>
+  <Constructor id="_13855" name="date_facet" explicit="1" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcRKSt6vectorISsSaISsEEj *INTERNAL* " demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::date_facet(char const*, std::vector<std::string, std::allocator<std::string> > const&, uns [...]
+    <Argument name="format_str" type="_2749" location="f1:92" file="f1" line="92"/>
+    <Argument name="short_names" type="_11297" location="f1:92" file="f1" line="92"/>
+    <Argument name="ref_count" type="_1698" location="f1:92" file="f1" line="92" default="0"/>
+  </Constructor>
+  <Constructor id="_13856" name="date_facet" explicit="1" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcNS0_16period_formatterIcS7_EENS0_24special_values_formatterIcS7_EENS0_24date_generator_formatterIS3_cS7_EEj *INTERNAL* " demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::date_facet(char const [...]
+    <Argument name="format_str" type="_2749" location="f1:105" file="f1" line="105"/>
+    <Argument name="per_formatter" type="_10707" location="f1:105" file="f1" line="105" default="<gccxml-cast-expr>"/>
+    <Argument name="sv_formatter" type="_10697" location="f1:105" file="f1" line="105" default="<gccxml-cast-expr>"/>
+    <Argument name="dg_formatter" type="_11255" location="f1:105" file="f1" line="105" default="<gccxml-cast-expr>"/>
+    <Argument name="ref_count" type="_1698" location="f1:105" file="f1" line="105" default="0"/>
+  </Constructor>
+  <Method id="_13857" name="format" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6formatEPKc" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::format(char const*)" location="f1:113" file="f1" line="113" extern="1" inline="1">
+    <Argument name="format_str" type="_2749c" location="f1:113" file="f1" line="113"/>
+  </Method>
+  <Method id="_13858" name="set_iso_format" returns="_1194" virtual="1" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14set_iso_formatEv" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::set_iso_format()" location="f1:117" file="f1" line="117" endline="118" inline="1"/>
+  <Method id="_13859" name="set_iso_extended_format" returns="_1194" virtual="1" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE23set_iso_extended_formatEv" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::set_iso_extended_format()" location="f1:121" file="f1" line="121" endline="122" inline="1"/>
+  <Method id="_13860" name="month_format" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12month_formatEPKc" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::month_format(char const*)" location="f1:124" file="f1" line="124" extern="1" inline="1">
+    <Argument name="format_str" type="_2749c" location="f1:124" file="f1" line="124"/>
+  </Method>
+  <Method id="_13861" name="weekday_format" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14weekday_formatEPKc" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::weekday_format(char const*)" location="f1:127" file="f1" line="127" extern="1" inline="1">
+    <Argument name="format_str" type="_2749c" location="f1:127" file="f1" line="127"/>
+  </Method>
+  <Method id="_13862" name="period_formatter" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16period_formatterENS0_16period_formatterIcS7_EE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::period_formatter(boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, [...]
+    <Argument name="per_formatter" type="_10707" location="f1:131" file="f1" line="131"/>
+  </Method>
+  <Method id="_13863" name="special_values_formatter" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE24special_values_formatterERKNS0_24special_values_formatterIcS7_EE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::special_values_formatter(boost::date_time::special_values_formatter& [...]
+    <Argument name="svf" type="_17338" location="f1:135" file="f1" line="135"/>
+  </Method>
+  <Method id="_13864" name="short_weekday_names" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE19short_weekday_namesERKSt6vectorISsSaISsEE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::short_weekday_names(std::vector<std::string, std::allocator<std::string> > const&amp [...]
+    <Argument name="short_names" type="_11297" location="f1:139" file="f1" line="139"/>
+  </Method>
+  <Method id="_13865" name="long_weekday_names" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE18long_weekday_namesERKSt6vectorISsSaISsEE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::long_weekday_names(std::vector<std::string, std::allocator<std::string> > const&)" [...]
+    <Argument name="long_names" type="_11297" location="f1:143" file="f1" line="143"/>
+  </Method>
+  <Method id="_13866" name="short_month_names" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE17short_month_namesERKSt6vectorISsSaISsEE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::short_month_names(std::vector<std::string, std::allocator<std::string> > const&)" lo [...]
+    <Argument name="short_names" type="_11297" location="f1:148" file="f1" line="148"/>
+  </Method>
+  <Method id="_13867" name="long_month_names" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16long_month_namesERKSt6vectorISsSaISsEE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::long_month_names(std::vector<std::string, std::allocator<std::string> > const&)" locat [...]
+    <Argument name="long_names" type="_11297" location="f1:153" file="f1" line="153"/>
+  </Method>
+  <Method id="_13868" name="date_gen_phrase_strings" returns="_1194" context="_10703" access="public" mangled="_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE23date_gen_phrase_stringsERKSt6vectorISsSaISsEENS0_24date_generator_formatterIS3_cS7_E15phrase_elementsE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::date_gen_phrase_strings(std::ve [...]
+    <Argument name="new_strings" type="_11297" location="f1:159" file="f1" line="159"/>
+    <Argument name="beg_pos" type="_15829" location="f1:159" file="f1" line="159" default="boost::date_time::date_generator_formatter<date_type, CharT, std::ostreambuf_iterator<CharT, std::char_traits<_CharT> > >::first"/>
+  </Method>
+  <Method id="_13869" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKS3_" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, boost::gregorian::d [...]
+    <Argument name="next" type="_2478" location="f1:167" file="f1" line="167"/>
+    <Argument name="a_ios" type="_4942" location="f1:167" file="f1" line="167"/>
+    <Argument name="fill_char" type="_2961" location="f1:167" file="f1" line="167"/>
+    <Argument name="d" type="_10010" location="f1:167" file="f1" line="167"/>
+  </Method>
+  <Method id="_13870" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS0_13date_durationINS0_23duration_traits_adaptedEEE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> &g [...]
+    <Argument name="next" type="_2478" location="f1:179" file="f1" line="179"/>
+    <Argument name="a_ios" type="_4942" location="f1:179" file="f1" line="179"/>
+    <Argument name="fill_char" type="_2961" location="f1:179" file="f1" line="179"/>
+    <Argument name="dd" type="_16391" location="f1:179" file="f1" line="179"/>
+  </Method>
+  <Method id="_13871" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS2_10greg_monthE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, boost [...]
+    <Argument name="next" type="_2478" location="f1:202" file="f1" line="202"/>
+    <Argument name="a_ios" type="_4942" location="f1:202" file="f1" line="202"/>
+    <Argument name="fill_char" type="_2961" location="f1:202" file="f1" line="202"/>
+    <Argument name="m" type="_13803" location="f1:202" file="f1" line="202"/>
+  </Method>
+  <Method id="_13872" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS2_8greg_dayE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, boost::g [...]
+    <Argument name="next" type="_2478" location="f1:218" file="f1" line="218"/>
+    <Argument name="a_ios" type="_4942" location="f1:218" file="f1" line="218"/>
+    <Argument name="fill_char" type="_2961" location="f1:218" file="f1" line="218"/>
+    <Argument name="day" type="_16455" location="f1:218" file="f1" line="218"/>
+  </Method>
+  <Method id="_13873" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS2_12greg_weekdayE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, boo [...]
+    <Argument name="next" type="_2478" location="f1:231" file="f1" line="231"/>
+    <Argument name="a_ios" type="_4942" location="f1:231" file="f1" line="231"/>
+    <Argument name="fill_char" type="_2961" location="f1:231" file="f1" line="231"/>
+    <Argument name="dow" type="_13802" location="f1:231" file="f1" line="231"/>
+  </Method>
+  <Method id="_13874" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS0_6periodIS3_NS0_13date_durationINS0_23duration_traits_adaptedEEEEE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_trai [...]
+    <Argument name="next" type="_2478" location="f1:247" file="f1" line="247"/>
+    <Argument name="a_ios" type="_4942" location="f1:247" file="f1" line="247"/>
+    <Argument name="fill_char" type="_2961" location="f1:247" file="f1" line="247"/>
+    <Argument name="p" type="_9059" location="f1:247" file="f1" line="247"/>
+  </Method>
+  <Method id="_13875" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS0_12partial_dateIS3_EE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char [...]
+    <Argument name="next" type="_2478" location="f1:255" file="f1" line="255"/>
+    <Argument name="a_ios" type="_4942" location="f1:255" file="f1" line="255"/>
+    <Argument name="fill_char" type="_2961" location="f1:255" file="f1" line="255"/>
+    <Argument name="pd" type="_13801" location="f1:255" file="f1" line="255"/>
+  </Method>
+  <Method id="_13876" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS0_17nth_kday_of_monthIS3_EE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, [...]
+    <Argument name="next" type="_2478" location="f1:263" file="f1" line="263"/>
+    <Argument name="a_ios" type="_4942" location="f1:263" file="f1" line="263"/>
+    <Argument name="fill_char" type="_2961" location="f1:263" file="f1" line="263"/>
+    <Argument name="nkd" type="_13800" location="f1:263" file="f1" line="263"/>
+  </Method>
+  <Method id="_13877" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS0_19first_kday_of_monthIS3_EE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&amp [...]
+    <Argument name="next" type="_2478" location="f1:271" file="f1" line="271"/>
+    <Argument name="a_ios" type="_4942" location="f1:271" file="f1" line="271"/>
+    <Argument name="fill_char" type="_2961" location="f1:271" file="f1" line="271"/>
+    <Argument name="fkd" type="_13799" location="f1:271" file="f1" line="271"/>
+  </Method>
+  <Method id="_13878" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS0_18last_kday_of_monthIS3_EE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base& [...]
+    <Argument name="next" type="_2478" location="f1:279" file="f1" line="279"/>
+    <Argument name="a_ios" type="_4942" location="f1:279" file="f1" line="279"/>
+    <Argument name="fill_char" type="_2961" location="f1:279" file="f1" line="279"/>
+    <Argument name="lkd" type="_13798" location="f1:279" file="f1" line="279"/>
+  </Method>
+  <Method id="_13879" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS0_17first_kday_beforeIS3_EE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, [...]
+    <Argument name="next" type="_2478" location="f1:287" file="f1" line="287"/>
+    <Argument name="a_ios" type="_4942" location="f1:287" file="f1" line="287"/>
+    <Argument name="fill_char" type="_2961" location="f1:287" file="f1" line="287"/>
+    <Argument name="fkb" type="_13796" location="f1:287" file="f1" line="287"/>
+  </Method>
+  <Method id="_13880" name="put" returns="_2478" const="1" context="_10703" access="public" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES7_RSt8ios_basecRKNS0_16first_kday_afterIS3_EE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&,  [...]
+    <Argument name="next" type="_2478" location="f1:295" file="f1" line="295"/>
+    <Argument name="a_ios" type="_4942" location="f1:295" file="f1" line="295"/>
+    <Argument name="fill_char" type="_2961" location="f1:295" file="f1" line="295"/>
+    <Argument name="fka" type="_13797" location="f1:295" file="f1" line="295"/>
+  </Method>
+  <Method id="_13881" name="init_tm" returns="_1011" const="1" context="_10703" access="protected" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE7init_tmER2tm" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::init_tm(tm&) const" location="f1:302" file="f1" line="302" extern="1" inline="1">
+    <Argument name="tm_value" type="_17345" location="f1:302" file="f1" line="302"/>
+  </Method>
+  <Method id="_13882" name="do_put_special" returns="_2478" const="1" virtual="1" context="_10703" access="protected" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14do_put_specialES7_RSt8ios_basecNS0_14special_valuesE" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put_special(std::ostreambuf_iterator<char, std::char_trait [...]
+    <Argument name="next" type="_2478" location="f1:318" file="f1" line="318"/>
+    <Argument type="_4942" location="f1:318" file="f1" line="318"/>
+    <Argument type="_2961" location="f1:318" file="f1" line="318"/>
+    <Argument name="sv" type="_11275c" location="f1:318" file="f1" line="318"/>
+  </Method>
+  <Method id="_13883" name="do_put_tm" returns="_2478" const="1" virtual="1" context="_10703" access="protected" mangled="_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9do_put_tmES7_RSt8ios_basecRK2tmSs" demangled="boost::date_time::date_facet<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put_tm(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_b [...]
+    <Argument name="next" type="_2478" location="f1:327" file="f1" line="327"/>
+    <Argument name="a_ios" type="_4942" location="f1:327" file="f1" line="327"/>
+    <Argument name="fill_char" type="_2961" location="f1:327" file="f1" line="327"/>
+    <Argument name="tm_value" type="_8243" location="f1:327" file="f1" line="327"/>
+    <Argument name="a_format" type="_2508" location="f1:327" file="f1" line="327"/>
+  </Method>
+  <Variable id="_13884" name="default_period_separator" type="_3286c" init="{'/'}" context="_10707" access="public" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE24default_period_separatorE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::default_period_separator" location="f272:180" file="f272" line="180"/>
+  <Variable id="_13885" name="default_period_start_delimeter" type="_3286c" init="{'['}" context="_10707" access="public" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE30default_period_start_delimeterE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::default_period_start_delimeter" location="f272:184" file="f272" line="184"/>
+  <Variable id="_13886" name="default_period_open_range_end_delimeter" type="_3286c" init="{')'}" context="_10707" access="public" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE39default_period_open_range_end_delimeterE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::default_period_open_range_end_delimeter" location="f272:188" file="f272" line="188"/>
+  <Variable id="_13887" name="default_period_closed_range_end_delimeter" type="_3286c" init="{']'}" context="_10707" access="public" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE41default_period_closed_range_end_delimeterE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::default_period_closed_range_end_delimeter" location="f272:192" file="f272" line="192"/>
+  <Field id="_13888" name="m_range_option" type="_13897" offset="0" context="_10707" access="private" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14m_range_optionE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_range_option" location="f272:171" file="f272" line="171"/>
+  <Field id="_13889" name="m_period_separator" type="_2508" offset="32" context="_10707" access="private" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE18m_period_separatorE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_period_separator" location="f272:172" file="f272" line="172"/>
+  <Field id="_13890" name="m_period_start_delimeter" type="_2508" offset="64" context="_10707" access="private" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE24m_period_start_delimeterE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_period_start_delimeter" location="f272:173" file="f272" line="173"/>
+  <Field id="_13891" name="m_open_range_end_delimeter" type="_2508" offset="96" context="_10707" access="private" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE26m_open_range_end_delimeterE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_open_range_end_delimeter" location="f272:174" file="f272" line="174"/>
+  <Field id="_13892" name="m_closed_range_end_delimeter" type="_2508" offset="128" context="_10707" access="private" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE28m_closed_range_end_delimeterE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::m_closed_range_end_delimeter" location="f272:175" file="f272" line="175"/>
+  <Typedef id="_13893" name="string_type" type="_2508" context="_10707" access="public" location="f272:39" file="f272" line="39"/>
+  <Typedef id="_13894" name="char_type" type="_2961" context="_10707" access="public" location="f272:40" file="f272" line="40"/>
+  <Typedef id="_13895" name="const_itr_type" type="_3328" context="_10707" access="public" location="f272:41" file="f272" line="41"/>
+  <Typedef id="_13896" name="collection_type" type="_1994" context="_10707" access="public" location="f272:42" file="f272" line="42"/>
+  <Enumeration id="_13897" name="range_display_options" context="_10707" access="public" location="f272:49" file="f272" line="49" artificial="1" size="32" align="32">
+    <EnumValue name="AS_OPEN_RANGE" init="0"/>
+    <EnumValue name="AS_CLOSED_RANGE" init="1"/>
+  </Enumeration>
+  <Constructor id="_13898" name="period_formatter" artificial="1" context="_10707" access="public" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::period_formatter(boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > > const&)" lo [...]
+    <Argument name="_ctor_arg" type="_17346" location="f272:37" file="f272" line="37"/>
+  </Constructor>
+  <Destructor id="_13899" name="period_formatter" artificial="1" context="_10707" access="public" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~period_formatter()" location="f1:87" file="f1" line="87" endline="87" inline="1">
+  </Destructor>
+  <Constructor id="_13900" name="period_formatter" context="_10707" access="public" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ENS6_21range_display_optionsEPKcS9_S9_S9_ *INTERNAL* " demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::period_formatter(boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> >  [...]
+    <Argument name="range_option_in" type="_13897" location="f272:56" file="f272" line="56" default="boost::date_time::period_formatter<CharT, OutItrT>::AS_CLOSED_RANGE"/>
+    <Argument name="period_separator" type="_2749c" location="f272:56" file="f272" line="56" default="boost::date_time::period_formatter<CharT, OutItrT>::default_period_separator"/>
+    <Argument name="period_start_delimeter" type="_2749c" location="f272:56" file="f272" line="56" default="boost::date_time::period_formatter<CharT, OutItrT>::default_period_start_delimeter"/>
+    <Argument name="period_open_range_end_delimeter" type="_2749c" location="f272:56" file="f272" line="56" default="boost::date_time::period_formatter<CharT, OutItrT>::default_period_open_range_end_delimeter"/>
+    <Argument name="period_closed_range_end_delimeter" type="_2749c" location="f272:56" file="f272" line="56" default="boost::date_time::period_formatter<CharT, OutItrT>::default_period_closed_range_end_delimeter"/>
+  </Constructor>
+  <Method id="_13901" name="put_period_separator" returns="_2478" const="1" context="_10707" access="public" mangled="_ZNK5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE20put_period_separatorERS5_" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put_period_separator(std::ostreambuf_iterator<char, std::char_traits<char> >&) const" location="f272:66" file="f272 [...]
+    <Argument name="oitr" type="_11679" location="f272:66" file="f272" line="66"/>
+  </Method>
+  <Method id="_13902" name="put_period_start_delimeter" returns="_2478" const="1" context="_10707" access="public" mangled="_ZNK5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE26put_period_start_delimeterERS5_" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put_period_start_delimeter(std::ostreambuf_iterator<char, std::char_traits<char> >&) const" location="f [...]
+    <Argument name="oitr" type="_11679" location="f272:77" file="f272" line="77"/>
+  </Method>
+  <Method id="_13903" name="put_period_end_delimeter" returns="_2478" const="1" context="_10707" access="public" mangled="_ZNK5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE24put_period_end_delimeterERS5_" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put_period_end_delimeter(std::ostreambuf_iterator<char, std::char_traits<char> >&) const" location="f272:88 [...]
+    <Argument name="oitr" type="_11679" location="f272:88" file="f272" line="88"/>
+  </Method>
+  <Method id="_13904" name="range_option" returns="_13897" const="1" context="_10707" access="public" mangled="_ZNK5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12range_optionEv" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::range_option() const" location="f272:107" file="f272" line="107" extern="1" inline="1"/>
+  <Method id="_13905" name="range_option" returns="_1194" const="1" context="_10707" access="public" mangled="_ZNK5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12range_optionENS6_21range_display_optionsE" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::range_option(boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> &gt [...]
+    <Argument name="option" type="_13897" location="f272:114" file="f272" line="114"/>
+  </Method>
+  <Method id="_13906" name="delimiter_strings" returns="_1194" context="_10707" access="public" mangled="_ZN5boost9date_time16period_formatterIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE17delimiter_stringsERKSsS8_S8_S8_" demangled="boost::date_time::period_formatter<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::delimiter_strings(std::string const&, std::string const&, std::string const&, std::string const&)" location="f272:121" file [...]
+    <Argument name="separator" type="_4948" location="f272:121" file="f272" line="121"/>
+    <Argument name="start_delim" type="_4948" location="f272:121" file="f272" line="121"/>
+    <Argument name="open_end_delim" type="_4948" location="f272:121" file="f272" line="121"/>
+    <Argument name="closed_end_delim" type="_4948" location="f272:121" file="f272" line="121"/>
+  </Method>
+  <Typedef id="_13907" name="ymd_type" type="_10759" context="_10721" access="public" location="f275:28" file="f275" line="28"/>
+  <Constructor id="_13908" name="day_clock" artificial="1" throw="" context="_10721" access="public" mangled="_ZN5boost9date_time9day_clockINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::day_clock<boost::gregorian::date>::day_clock(boost::date_time::day_clock<boost::gregorian::date> const&)" location="f275:26" file="f275" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17347" location="f275:26" file="f275" line="26"/>
+  </Constructor>
+  <Constructor id="_13909" name="day_clock" explicit="1" artificial="1" throw="" context="_10721" access="public" mangled="_ZN5boost9date_time9day_clockINS_9gregorian4dateEEC1Ev *INTERNAL* " demangled="boost::date_time::day_clock<boost::gregorian::date>::day_clock()" location="f275:26" file="f275" line="26" inline="1"/>
+  <Method id="_13910" name="local_day" returns="_9061" static="1" context="_10721" access="public" mangled="_ZN5boost9date_time9day_clockINS_9gregorian4dateEE9local_dayEv" demangled="boost::date_time::day_clock<boost::gregorian::date>::local_day()" location="f275:31" file="f275" line="31" extern="1" inline="1"/>
+  <Method id="_13911" name="local_day_ymd" returns="_10759" static="1" context="_10721" access="public" mangled="_ZN5boost9date_time9day_clockINS_9gregorian4dateEE13local_day_ymdEv" demangled="boost::date_time::day_clock<boost::gregorian::date>::local_day_ymd()" location="f275:36" file="f275" line="36" extern="1" inline="1"/>
+  <Method id="_13912" name="universal_day_ymd" returns="_10759" static="1" context="_10721" access="public" mangled="_ZN5boost9date_time9day_clockINS_9gregorian4dateEE17universal_day_ymdEv" demangled="boost::date_time::day_clock<boost::gregorian::date>::universal_day_ymd()" location="f275:45" file="f275" line="45" extern="1" inline="1"/>
+  <Method id="_13913" name="universal_day" returns="_9061" static="1" context="_10721" access="public" mangled="_ZN5boost9date_time9day_clockINS_9gregorian4dateEE13universal_dayEv" demangled="boost::date_time::day_clock<boost::gregorian::date>::universal_day()" location="f275:54" file="f275" line="54" extern="1" inline="1"/>
+  <Method id="_13914" name="get_local_time" returns="_2892" static="1" context="_10721" access="private" mangled="_ZN5boost9date_time9day_clockINS_9gregorian4dateEE14get_local_timeER2tm" demangled="boost::date_time::day_clock<boost::gregorian::date>::get_local_time(tm&)" location="f275:60" file="f275" line="60" extern="1" inline="1">
+    <Argument name="result" type="_17345" location="f275:60" file="f275" line="60"/>
+  </Method>
+  <Method id="_13915" name="get_universal_time" returns="_2892" static="1" context="_10721" access="private" mangled="_ZN5boost9date_time9day_clockINS_9gregorian4dateEE18get_universal_timeER2tm" demangled="boost::date_time::day_clock<boost::gregorian::date>::get_universal_time(tm&)" location="f275:66" file="f275" line="66" extern="1" inline="1">
+    <Argument name="result" type="_17345" location="f275:66" file="f275" line="66"/>
+  </Method>
+  <Field id="_13916" name="dow_" type="_10784" offset="0" context="_10723" access="private" mangled="_ZN5boost9date_time17first_kday_beforeINS_9gregorian4dateEE4dow_E" demangled="boost::date_time::first_kday_before<boost::gregorian::date>::dow_" location="f16:439" file="f16" line="439"/>
+  <Typedef id="_13917" name="calendar_type" type="_10755" context="_10723" access="public" location="f16:417" file="f16" line="417"/>
+  <Typedef id="_13918" name="day_of_week_type" type="_10784" context="_10723" access="public" location="f16:418" file="f16" line="418"/>
+  <Typedef id="_13919" name="duration_type" type="_10752" context="_10723" access="public" location="f16:419" file="f16" line="419"/>
+  <Constructor id="_13920" name="first_kday_before" artificial="1" throw="" context="_10723" access="public" mangled="_ZN5boost9date_time17first_kday_beforeINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::first_kday_before<boost::gregorian::date>::first_kday_before(boost::date_time::first_kday_before<boost::gregorian::date> const&)" location="f16:415" file="f16" line="415" inline="1">
+    <Argument name="_ctor_arg" type="_13796" location="f16:415" file="f16" line="415"/>
+  </Constructor>
+  <Constructor id="_13921" name="first_kday_before" context="_10723" access="public" mangled="_ZN5boost9date_time17first_kday_beforeINS_9gregorian4dateEEC1ENS2_12greg_weekdayE *INTERNAL* " demangled="boost::date_time::first_kday_before<boost::gregorian::date>::first_kday_before(boost::gregorian::greg_weekday)" location="f16:420" file="f16" line="420" extern="1" inline="1">
+    <Argument name="dow" type="_10784" location="f16:420" file="f16" line="420"/>
+  </Constructor>
+  <Method id="_13922" name="get_date" returns="_9061" const="1" context="_10723" access="public" mangled="_ZNK5boost9date_time17first_kday_beforeINS_9gregorian4dateEE8get_dateES3_" demangled="boost::date_time::first_kday_before<boost::gregorian::date>::get_date(boost::gregorian::date) const" location="f16:425" file="f16" line="425" extern="1" inline="1">
+    <Argument name="start_day" type="_9061" location="f16:425" file="f16" line="425"/>
+  </Method>
+  <Method id="_13923" name="day_of_week" returns="_10784" const="1" context="_10723" access="public" mangled="_ZNK5boost9date_time17first_kday_beforeINS_9gregorian4dateEE11day_of_weekEv" demangled="boost::date_time::first_kday_before<boost::gregorian::date>::day_of_week() const" location="f16:435" file="f16" line="435" extern="1" inline="1"/>
+  <Field id="_13924" name="dow_" type="_10784" offset="0" context="_10726" access="private" mangled="_ZN5boost9date_time16first_kday_afterINS_9gregorian4dateEE4dow_E" demangled="boost::date_time::first_kday_after<boost::gregorian::date>::dow_" location="f16:401" file="f16" line="401"/>
+  <Typedef id="_13925" name="calendar_type" type="_10755" context="_10726" access="public" location="f16:379" file="f16" line="379"/>
+  <Typedef id="_13926" name="day_of_week_type" type="_10784" context="_10726" access="public" location="f16:380" file="f16" line="380"/>
+  <Typedef id="_13927" name="duration_type" type="_10752" context="_10726" access="public" location="f16:381" file="f16" line="381"/>
+  <Constructor id="_13928" name="first_kday_after" artificial="1" throw="" context="_10726" access="public" mangled="_ZN5boost9date_time16first_kday_afterINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::first_kday_after<boost::gregorian::date>::first_kday_after(boost::date_time::first_kday_after<boost::gregorian::date> const&)" location="f16:377" file="f16" line="377" inline="1">
+    <Argument name="_ctor_arg" type="_13797" location="f16:377" file="f16" line="377"/>
+  </Constructor>
+  <Constructor id="_13929" name="first_kday_after" context="_10726" access="public" mangled="_ZN5boost9date_time16first_kday_afterINS_9gregorian4dateEEC1ENS2_12greg_weekdayE *INTERNAL* " demangled="boost::date_time::first_kday_after<boost::gregorian::date>::first_kday_after(boost::gregorian::greg_weekday)" location="f16:382" file="f16" line="382" extern="1" inline="1">
+    <Argument name="dow" type="_10784" location="f16:382" file="f16" line="382"/>
+  </Constructor>
+  <Method id="_13930" name="get_date" returns="_9061" const="1" context="_10726" access="public" mangled="_ZNK5boost9date_time16first_kday_afterINS_9gregorian4dateEE8get_dateES3_" demangled="boost::date_time::first_kday_after<boost::gregorian::date>::get_date(boost::gregorian::date) const" location="f16:387" file="f16" line="387" extern="1" inline="1">
+    <Argument name="start_day" type="_9061" location="f16:387" file="f16" line="387"/>
+  </Method>
+  <Method id="_13931" name="day_of_week" returns="_10784" const="1" context="_10726" access="public" mangled="_ZNK5boost9date_time16first_kday_afterINS_9gregorian4dateEE11day_of_weekEv" demangled="boost::date_time::first_kday_after<boost::gregorian::date>::day_of_week() const" location="f16:397" file="f16" line="397" extern="1" inline="1"/>
+  <Field id="_13932" name="month_" type="_10760" offset="32" context="_10729" access="private" mangled="_ZN5boost9date_time18last_kday_of_monthINS_9gregorian4dateEE6month_E" demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>::month_" location="f16:361" file="f16" line="361"/>
+  <Field id="_13933" name="dow_" type="_10784" offset="48" context="_10729" access="private" mangled="_ZN5boost9date_time18last_kday_of_monthINS_9gregorian4dateEE4dow_E" demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>::dow_" location="f16:362" file="f16" line="362"/>
+  <Typedef id="_13934" name="calendar_type" type="_10755" context="_10729" access="public" location="f16:317" file="f16" line="317"/>
+  <Typedef id="_13935" name="day_of_week_type" type="_10784" context="_10729" access="public" location="f16:318" file="f16" line="318"/>
+  <Typedef id="_13936" name="month_type" type="_10760" context="_10729" access="public" location="f16:319" file="f16" line="319"/>
+  <Typedef id="_13937" name="year_type" type="_10768" context="_10729" access="public" location="f16:320" file="f16" line="320"/>
+  <Typedef id="_13938" name="duration_type" type="_10752" context="_10729" access="public" location="f16:321" file="f16" line="321"/>
+  <Constructor id="_13939" name="last_kday_of_month" artificial="1" throw="" context="_10729" access="public" mangled="_ZN5boost9date_time18last_kday_of_monthINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>::last_kday_of_month(boost::date_time::last_kday_of_month<boost::gregorian::date> const&)" location="f16:315" file="f16" line="315" inline="1">
+    <Argument name="_ctor_arg" type="_13798" location="f16:315" file="f16" line="315"/>
+  </Constructor>
+  <Destructor id="_13940" name="last_kday_of_month" virtual="1" artificial="1" context="_10729" access="public" mangled="_ZN5boost9date_time18last_kday_of_monthINS_9gregorian4dateEED1Ev *INTERNAL* " demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>::~last_kday_of_month()" location="f16:315" file="f16" line="315" inline="1">
+  </Destructor>
+  <Constructor id="_13941" name="last_kday_of_month" explicit="1" context="_10729" access="public" mangled="_ZN5boost9date_time18last_kday_of_monthINS_9gregorian4dateEEC1ENS2_12greg_weekdayENS2_10greg_monthE *INTERNAL* " demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>::last_kday_of_month(boost::gregorian::greg_weekday, boost::gregorian::greg_month)" location="f16:326" file="f16" line="326" extern="1" inline="1">
+    <Argument name="dow" type="_10784" location="f16:326" file="f16" line="326"/>
+    <Argument name="m" type="_10760" location="f16:326" file="f16" line="326"/>
+  </Constructor>
+  <Method id="_13942" name="get_date" returns="_9061" const="1" virtual="1" context="_10729" access="public" mangled="_ZNK5boost9date_time18last_kday_of_monthINS_9gregorian4dateEE8get_dateENS2_9greg_yearE" demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>::get_date(boost::gregorian::greg_year) const" location="f16:332" file="f16" line="332" extern="1" inline="1">
+    <Argument name="year" type="_10768" location="f16:332" file="f16" line="332"/>
+  </Method>
+  <Method id="_13943" name="month" returns="_10760" const="1" context="_10729" access="public" mangled="_ZNK5boost9date_time18last_kday_of_monthINS_9gregorian4dateEE5monthEv" demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>::month() const" location="f16:342" file="f16" line="342" extern="1" inline="1"/>
+  <Method id="_13944" name="day_of_week" returns="_10784" const="1" context="_10729" access="public" mangled="_ZNK5boost9date_time18last_kday_of_monthINS_9gregorian4dateEE11day_of_weekEv" demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>::day_of_week() const" location="f16:346" file="f16" line="346" extern="1" inline="1"/>
+  <Method id="_13945" name="to_string" returns="_2508" const="1" virtual="1" context="_10729" access="public" mangled="_ZNK5boost9date_time18last_kday_of_monthINS_9gregorian4dateEE9to_stringEv" demangled="boost::date_time::last_kday_of_month<boost::gregorian::date>::to_string() const" location="f16:352" file="f16" line="352" extern="1" inline="1"/>
+  <Field id="_13946" name="month_" type="_10760" offset="32" context="_10732" access="private" mangled="_ZN5boost9date_time19first_kday_of_monthINS_9gregorian4dateEE6month_E" demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>::month_" location="f16:300" file="f16" line="300"/>
+  <Field id="_13947" name="dow_" type="_10784" offset="48" context="_10732" access="private" mangled="_ZN5boost9date_time19first_kday_of_monthINS_9gregorian4dateEE4dow_E" demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>::dow_" location="f16:301" file="f16" line="301"/>
+  <Typedef id="_13948" name="calendar_type" type="_10755" context="_10732" access="public" location="f16:256" file="f16" line="256"/>
+  <Typedef id="_13949" name="day_of_week_type" type="_10784" context="_10732" access="public" location="f16:257" file="f16" line="257"/>
+  <Typedef id="_13950" name="month_type" type="_10760" context="_10732" access="public" location="f16:258" file="f16" line="258"/>
+  <Typedef id="_13951" name="year_type" type="_10768" context="_10732" access="public" location="f16:259" file="f16" line="259"/>
+  <Typedef id="_13952" name="duration_type" type="_10752" context="_10732" access="public" location="f16:260" file="f16" line="260"/>
+  <Constructor id="_13953" name="first_kday_of_month" artificial="1" throw="" context="_10732" access="public" mangled="_ZN5boost9date_time19first_kday_of_monthINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>::first_kday_of_month(boost::date_time::first_kday_of_month<boost::gregorian::date> const&)" location="f16:254" file="f16" line="254" inline="1">
+    <Argument name="_ctor_arg" type="_13799" location="f16:254" file="f16" line="254"/>
+  </Constructor>
+  <Destructor id="_13954" name="first_kday_of_month" virtual="1" artificial="1" context="_10732" access="public" mangled="_ZN5boost9date_time19first_kday_of_monthINS_9gregorian4dateEED1Ev *INTERNAL* " demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>::~first_kday_of_month()" location="f16:254" file="f16" line="254" inline="1">
+  </Destructor>
+  <Constructor id="_13955" name="first_kday_of_month" explicit="1" context="_10732" access="public" mangled="_ZN5boost9date_time19first_kday_of_monthINS_9gregorian4dateEEC1ENS2_12greg_weekdayENS2_10greg_monthE *INTERNAL* " demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>::first_kday_of_month(boost::gregorian::greg_weekday, boost::gregorian::greg_month)" location="f16:265" file="f16" line="265" extern="1" inline="1">
+    <Argument name="dow" type="_10784" location="f16:265" file="f16" line="265"/>
+    <Argument name="m" type="_10760" location="f16:265" file="f16" line="265"/>
+  </Constructor>
+  <Method id="_13956" name="get_date" returns="_9061" const="1" virtual="1" context="_10732" access="public" mangled="_ZNK5boost9date_time19first_kday_of_monthINS_9gregorian4dateEE8get_dateENS2_9greg_yearE" demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>::get_date(boost::gregorian::greg_year) const" location="f16:271" file="f16" line="271" extern="1" inline="1">
+    <Argument name="year" type="_10768" location="f16:271" file="f16" line="271"/>
+  </Method>
+  <Method id="_13957" name="month" returns="_10760" const="1" context="_10732" access="public" mangled="_ZNK5boost9date_time19first_kday_of_monthINS_9gregorian4dateEE5monthEv" demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>::month() const" location="f16:281" file="f16" line="281" extern="1" inline="1"/>
+  <Method id="_13958" name="day_of_week" returns="_10784" const="1" context="_10732" access="public" mangled="_ZNK5boost9date_time19first_kday_of_monthINS_9gregorian4dateEE11day_of_weekEv" demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>::day_of_week() const" location="f16:285" file="f16" line="285" extern="1" inline="1"/>
+  <Method id="_13959" name="to_string" returns="_2508" const="1" virtual="1" context="_10732" access="public" mangled="_ZNK5boost9date_time19first_kday_of_monthINS_9gregorian4dateEE9to_stringEv" demangled="boost::date_time::first_kday_of_month<boost::gregorian::date>::to_string() const" location="f16:291" file="f16" line="291" extern="1" inline="1"/>
+  <Field id="_13960" name="month_" type="_10760" offset="32" context="_10735" access="private" mangled="_ZN5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEE6month_E" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::month_" location="f16:240" file="f16" line="240"/>
+  <Field id="_13961" name="wn_" type="_12665" offset="64" context="_10735" access="private" mangled="_ZN5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEE3wn_E" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::wn_" location="f16:241" file="f16" line="241"/>
+  <Field id="_13962" name="dow_" type="_10784" offset="96" context="_10735" access="private" mangled="_ZN5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEE4dow_E" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::dow_" location="f16:242" file="f16" line="242"/>
+  <Typedef id="_13963" name="calendar_type" type="_10755" context="_10735" access="public" location="f16:178" file="f16" line="178"/>
+  <Typedef id="_13964" name="day_of_week_type" type="_10784" context="_10735" access="public" location="f16:179" file="f16" line="179"/>
+  <Typedef id="_13965" name="month_type" type="_10760" context="_10735" access="public" location="f16:180" file="f16" line="180"/>
+  <Typedef id="_13966" name="year_type" type="_10768" context="_10735" access="public" location="f16:181" file="f16" line="181"/>
+  <Typedef id="_13967" name="duration_type" type="_10752" context="_10735" access="public" location="f16:182" file="f16" line="182"/>
+  <Constructor id="_13968" name="nth_kday_of_month" artificial="1" throw="" context="_10735" access="public" mangled="_ZN5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::nth_kday_of_month(boost::date_time::nth_kday_of_month<boost::gregorian::date> const&)" location="f16:176" file="f16" line="176" inline="1">
+    <Argument name="_ctor_arg" type="_13800" location="f16:176" file="f16" line="176"/>
+  </Constructor>
+  <Destructor id="_13969" name="nth_kday_of_month" virtual="1" artificial="1" context="_10735" access="public" mangled="_ZN5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEED1Ev *INTERNAL* " demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::~nth_kday_of_month()" location="f16:176" file="f16" line="176" inline="1">
+  </Destructor>
+  <Constructor id="_13970" name="nth_kday_of_month" explicit="1" context="_10735" access="public" mangled="_ZN5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEEC1ENS4_8week_numENS2_12greg_weekdayENS2_10greg_monthE *INTERNAL* " demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::nth_kday_of_month(boost::date_time::nth_kday_of_month<boost::gregorian::date>::week_num, boost::gregorian::greg_weekday, boost::gregorian::greg_month)" location="f16:186" file [...]
+    <Argument name="week_no" type="_12665" location="f16:186" file="f16" line="186"/>
+    <Argument name="dow" type="_10784" location="f16:186" file="f16" line="186"/>
+    <Argument name="m" type="_10760" location="f16:186" file="f16" line="186"/>
+  </Constructor>
+  <Method id="_13971" name="get_date" returns="_9061" const="1" virtual="1" context="_10735" access="public" mangled="_ZNK5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEE8get_dateENS2_9greg_yearE" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::get_date(boost::gregorian::greg_year) const" location="f16:193" file="f16" line="193" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f16:193" file="f16" line="193"/>
+  </Method>
+  <Method id="_13972" name="month" returns="_10760" const="1" context="_10735" access="public" mangled="_ZNK5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEE5monthEv" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::month() const" location="f16:213" file="f16" line="213" extern="1" inline="1"/>
+  <Method id="_13973" name="nth_week" returns="_12665" const="1" context="_10735" access="public" mangled="_ZNK5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEE8nth_weekEv" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::nth_week() const" location="f16:217" file="f16" line="217" extern="1" inline="1"/>
+  <Method id="_13974" name="day_of_week" returns="_10784" const="1" context="_10735" access="public" mangled="_ZNK5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEE11day_of_weekEv" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::day_of_week() const" location="f16:221" file="f16" line="221" extern="1" inline="1"/>
+  <Method id="_13975" name="nth_week_as_str" returns="_2749" const="1" context="_10735" access="public" mangled="_ZNK5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEE15nth_week_as_strEv" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::nth_week_as_str() const" location="f16:225" file="f16" line="225" extern="1" inline="1"/>
+  <Method id="_13976" name="to_string" returns="_2508" const="1" virtual="1" context="_10735" access="public" mangled="_ZNK5boost9date_time17nth_kday_of_monthINS_9gregorian4dateEE9to_stringEv" demangled="boost::date_time::nth_kday_of_month<boost::gregorian::date>::to_string() const" location="f16:231" file="f16" line="231" extern="1" inline="1"/>
+  <Field id="_13977" name="day_" type="_9063" offset="32" context="_10738" access="private" mangled="_ZN5boost9date_time12partial_dateINS_9gregorian4dateEE4day_E" demangled="boost::date_time::partial_date<boost::gregorian::date>::day_" location="f16:152" file="f16" line="152"/>
+  <Field id="_13978" name="month_" type="_10760" offset="48" context="_10738" access="private" mangled="_ZN5boost9date_time12partial_dateINS_9gregorian4dateEE6month_E" demangled="boost::date_time::partial_date<boost::gregorian::date>::month_" location="f16:153" file="f16" line="153"/>
+  <Typedef id="_13979" name="calendar_type" type="_10755" context="_10738" access="public" location="f16:57" file="f16" line="57"/>
+  <Typedef id="_13980" name="day_type" type="_9063" context="_10738" access="public" location="f16:58" file="f16" line="58"/>
+  <Typedef id="_13981" name="month_type" type="_10760" context="_10738" access="public" location="f16:59" file="f16" line="59"/>
+  <Typedef id="_13982" name="year_type" type="_10768" context="_10738" access="public" location="f16:60" file="f16" line="60"/>
+  <Typedef id="_13983" name="duration_type" type="_10752" context="_10738" access="public" location="f16:61" file="f16" line="61"/>
+  <Typedef id="_13984" name="duration_rep" type="_11270" context="_10738" access="public" location="f16:62" file="f16" line="62"/>
+  <Constructor id="_13985" name="partial_date" artificial="1" throw="" context="_10738" access="public" mangled="_ZN5boost9date_time12partial_dateINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::partial_date<boost::gregorian::date>::partial_date(boost::date_time::partial_date<boost::gregorian::date> const&)" location="f16:55" file="f16" line="55" inline="1">
+    <Argument name="_ctor_arg" type="_13801" location="f16:55" file="f16" line="55"/>
+  </Constructor>
+  <Destructor id="_13986" name="partial_date" virtual="1" artificial="1" context="_10738" access="public" mangled="_ZN5boost9date_time12partial_dateINS_9gregorian4dateEED1Ev *INTERNAL* " demangled="boost::date_time::partial_date<boost::gregorian::date>::~partial_date()" location="f16:55" file="f16" line="55" inline="1">
+  </Destructor>
+  <Constructor id="_13987" name="partial_date" explicit="1" context="_10738" access="public" mangled="_ZN5boost9date_time12partial_dateINS_9gregorian4dateEEC1ENS2_8greg_dayENS2_10greg_monthE *INTERNAL* " demangled="boost::date_time::partial_date<boost::gregorian::date>::partial_date(boost::gregorian::greg_day, boost::gregorian::greg_month)" location="f16:63" file="f16" line="63" extern="1" inline="1">
+    <Argument name="d" type="_9063" location="f16:63" file="f16" line="63"/>
+    <Argument name="m" type="_10760" location="f16:63" file="f16" line="63"/>
+  </Constructor>
+  <Constructor id="_13988" name="partial_date" context="_10738" access="public" mangled="_ZN5boost9date_time12partial_dateINS_9gregorian4dateEEC1ENS0_11int_adapterIlEE *INTERNAL* " demangled="boost::date_time::partial_date<boost::gregorian::date>::partial_date(boost::date_time::int_adapter<long>)" location="f16:72" file="f16" line="72" extern="1" inline="1">
+    <Argument name="days" type="_11270" location="f16:72" file="f16" line="72"/>
+  </Constructor>
+  <Method id="_13989" name="get_date" returns="_9061" const="1" virtual="1" context="_10738" access="public" mangled="_ZNK5boost9date_time12partial_dateINS_9gregorian4dateEE8get_dateENS2_9greg_yearE" demangled="boost::date_time::partial_date<boost::gregorian::date>::get_date(boost::gregorian::greg_year) const" location="f16:100" file="f16" line="100" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f16:100" file="f16" line="100"/>
+  </Method>
+  <OperatorMethod id="_13990" name="()" returns="_9061" const="1" context="_10738" access="public" mangled="_ZNK5boost9date_time12partial_dateINS_9gregorian4dateEEclENS2_9greg_yearE" demangled="boost::date_time::partial_date<boost::gregorian::date>::operator()(boost::gregorian::greg_year) const" location="f16:111" file="f16" line="111" extern="1" inline="1">
+    <Argument name="y" type="_10768" location="f16:111" file="f16" line="111"/>
+  </OperatorMethod>
+  <OperatorMethod id="_13991" name="==" returns="_3949" const="1" context="_10738" access="public" mangled="_ZNK5boost9date_time12partial_dateINS_9gregorian4dateEEeqERKS4_" demangled="boost::date_time::partial_date<boost::gregorian::date>::operator==(boost::date_time::partial_date<boost::gregorian::date> const&) const" location="f16:116" file="f16" line="116" extern="1" inline="1">
+    <Argument name="rhs" type="_13801" location="f16:116" file="f16" line="116"/>
+  </OperatorMethod>
+  <OperatorMethod id="_13992" name="<" returns="_3949" const="1" context="_10738" access="public" mangled="_ZNK5boost9date_time12partial_dateINS_9gregorian4dateEEltERKS4_" demangled="boost::date_time::partial_date<boost::gregorian::date>::operator<(boost::date_time::partial_date<boost::gregorian::date> const&) const" location="f16:120" file="f16" line="120" extern="1" inline="1">
+    <Argument name="rhs" type="_13801" location="f16:120" file="f16" line="120"/>
+  </OperatorMethod>
+  <Method id="_13993" name="month" returns="_10760" const="1" context="_10738" access="public" mangled="_ZNK5boost9date_time12partial_dateINS_9gregorian4dateEE5monthEv" demangled="boost::date_time::partial_date<boost::gregorian::date>::month() const" location="f16:129" file="f16" line="129" extern="1" inline="1"/>
+  <Method id="_13994" name="day" returns="_9063" const="1" context="_10738" access="public" mangled="_ZNK5boost9date_time12partial_dateINS_9gregorian4dateEE3dayEv" demangled="boost::date_time::partial_date<boost::gregorian::date>::day() const" location="f16:133" file="f16" line="133" extern="1" inline="1"/>
+  <Method id="_13995" name="to_string" returns="_2508" const="1" virtual="1" context="_10738" access="public" mangled="_ZNK5boost9date_time12partial_dateINS_9gregorian4dateEE9to_stringEv" demangled="boost::date_time::partial_date<boost::gregorian::date>::to_string() const" location="f16:143" file="f16" line="143" extern="1" inline="1"/>
+  <Typedef id="_13996" name="calendar_type" type="_10755" context="_10740" access="public" location="f16:33" file="f16" line="33"/>
+  <Typedef id="_13997" name="year_type" type="_10768" context="_10740" access="public" location="f16:34" file="f16" line="34"/>
+  <Constructor id="_13998" name="year_based_generator" artificial="1" throw="" context="_10740" access="public" mangled="_ZN5boost9date_time20year_based_generatorINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::year_based_generator<boost::gregorian::date>::year_based_generator(boost::date_time::year_based_generator<boost::gregorian::date> const&)" location="f16:31" file="f16" line="31" inline="1">
+    <Argument name="_ctor_arg" type="_17348" location="f16:31" file="f16" line="31"/>
+  </Constructor>
+  <Constructor id="_13999" name="year_based_generator" explicit="1" context="_10740" access="public" mangled="_ZN5boost9date_time20year_based_generatorINS_9gregorian4dateEEC1Ev *INTERNAL* " demangled="boost::date_time::year_based_generator<boost::gregorian::date>::year_based_generator()" location="f16:35" file="f16" line="35" extern="1" inline="1"/>
+  <Destructor id="_14000" name="year_based_generator" virtual="1" context="_10740" access="public" mangled="_ZN5boost9date_time20year_based_generatorINS_9gregorian4dateEED1Ev *INTERNAL* " demangled="boost::date_time::year_based_generator<boost::gregorian::date>::~year_based_generator()" location="f16:36" file="f16" line="36" extern="1" inline="1">
+  </Destructor>
+  <Method id="_14001" name="get_date" returns="_9061" const="1" virtual="1" pure_virtual="1" context="_10740" access="public" mangled="_ZNK5boost9date_time20year_based_generatorINS_9gregorian4dateEE8get_dateENS2_9greg_yearE" demangled="boost::date_time::year_based_generator<boost::gregorian::date>::get_date(boost::gregorian::greg_year) const" location="f16:37" file="f16" line="37" extern="1">
+    <Argument name="y" type="_10768" location="f16:37" file="f16" line="37"/>
+  </Method>
+  <Method id="_14002" name="to_string" returns="_2508" const="1" virtual="1" pure_virtual="1" context="_10740" access="public" mangled="_ZNK5boost9date_time20year_based_generatorINS_9gregorian4dateEE9to_stringEv" demangled="boost::date_time::year_based_generator<boost::gregorian::date>::to_string() const" location="f16:39" file="f16" line="39" extern="1"/>
+  <Field id="_14003" name="begin_" type="_9061" offset="32" context="_10742" access="private" mangled="_ZN5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE6begin_E" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::begin_" location="f206:81" file="f206" line="81"/>
+  <Field id="_14004" name="last_" type="_9061" offset="64" context="_10742" access="private" mangled="_ZN5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE5last_E" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::last_" location="f206:82" file="f206" line="82"/>
+  <Typedef id="_14005" name="point_type" type="_9061" context="_10742" access="public" location="f206:57" file="f206" line="57"/>
+  <Typedef id="_14006" name="duration_type" type="_10752" context="_10742" access="public" location="f206:58" file="f206" line="58"/>
+  <Constructor id="_14007" name="period" artificial="1" throw="" context="_10742" access="public" mangled="_ZN5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEC1ERKS7_ *INTERNAL* " demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::period(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::du [...]
+    <Argument name="_ctor_arg" type="_9059" location="f206:55" file="f206" line="55"/>
+  </Constructor>
+  <Constructor id="_14008" name="period" explicit="1" context="_10742" access="public" mangled="_ZN5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEC1ES3_S3_ *INTERNAL* " demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::period(boost::gregorian::date, boost::gregorian::date)" location="f206:91" file="f206" line="91" endline="94" inline="1">
+    <Argument name="first_point" type="_9061" location="f206:91" file="f206" line="91"/>
+    <Argument name="end_point" type="_9061" location="f206:91" file="f206" line="91"/>
+  </Constructor>
+  <Constructor id="_14009" name="period" explicit="1" context="_10742" access="public" mangled="_ZN5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEC1ES3_S6_ *INTERNAL* " demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::period(boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted>)" location=" [...]
+    <Argument name="first_point" type="_9061" location="f206:101" file="f206" line="101"/>
+    <Argument name="len" type="_10752" location="f206:101" file="f206" line="101"/>
+  </Constructor>
+  <Method id="_14010" name="begin" returns="_9061" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE5beginEv" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::begin() const" location="f206:111" file="f206" line="111" endline="112" inline="1"/>
+  <Method id="_14011" name="end" returns="_9061" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE3endEv" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::end() const" location="f206:119" file="f206" line="119" extern="1" inline="1"/>
+  <Method id="_14012" name="last" returns="_9061" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE4lastEv" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::last() const" location="f206:127" file="f206" line="127" endline="128" inline="1"/>
+  <Method id="_14013" name="length" returns="_10752" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE6lengthEv" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::length() const" location="f206:143" file="f206" line="143" extern="1" inline="1"/>
+  <Method id="_14014" name="is_null" returns="_3949" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE7is_nullEv" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_null() const" location="f206:135" file="f206" line="135" extern="1" inline="1"/>
+  <OperatorMethod id="_14015" name="==" returns="_3949" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEeqERKS7_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::operator==(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration [...]
+    <Argument name="rhs" type="_9059" location="f206:156" file="f206" line="156"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14016" name="<" returns="_3949" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEEltERKS7_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::operator<(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::dura [...]
+    <Argument name="rhs" type="_9059" location="f206:165" file="f206" line="165"/>
+  </OperatorMethod>
+  <Method id="_14017" name="shift" returns="_1194" context="_10742" access="public" mangled="_ZN5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE5shiftERKS6_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::shift(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f206:174" file="f206" line [...]
+    <Argument name="d" type="_16391" location="f206:174" file="f206" line="174"/>
+  </Method>
+  <Method id="_14018" name="expand" returns="_1194" context="_10742" access="public" mangled="_ZN5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE6expandERKS6_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::expand(boost::date_time::date_duration<boost::date_time::duration_traits_adapted> const&)" location="f206:201" file="f206" l [...]
+    <Argument name="d" type="_16391" location="f206:201" file="f206" line="201"/>
+  </Method>
+  <Method id="_14019" name="contains" returns="_3949" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE8containsERKS3_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::contains(boost::gregorian::date const&) const" location="f206:210" file="f206" line="210" extern="1" inline="1">
+    <Argument name="point" type="_10010" location="f206:210" file="f206" line="210"/>
+  </Method>
+  <Method id="_14020" name="contains" returns="_3949" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE8containsERKS7_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::contains(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::durat [...]
+    <Argument name="other" type="_9059" location="f206:220" file="f206" line="220"/>
+  </Method>
+  <Method id="_14021" name="intersects" returns="_3949" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE10intersectsERKS7_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::intersects(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time [...]
+    <Argument name="other" type="_9059" location="f206:303" file="f206" line="303"/>
+  </Method>
+  <Method id="_14022" name="is_adjacent" returns="_3949" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE11is_adjacentERKS7_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_adjacent(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_t [...]
+    <Argument name="other" type="_9059" location="f206:238" file="f206" line="238"/>
+  </Method>
+  <Method id="_14023" name="is_before" returns="_3949" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE9is_beforeERKS3_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_before(boost::gregorian::date const&) const" location="f206:279" file="f206" line="279" extern="1" inline="1">
+    <Argument name="t" type="_10010" location="f206:279" file="f206" line="279"/>
+  </Method>
+  <Method id="_14024" name="is_after" returns="_3949" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE8is_afterERKS3_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_after(boost::gregorian::date const&) const" location="f206:257" file="f206" line="257" extern="1" inline="1">
+    <Argument name="t" type="_10010" location="f206:257" file="f206" line="257"/>
+  </Method>
+  <Method id="_14025" name="intersection" returns="_10742" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE12intersectionERKS7_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::intersection(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::da [...]
+    <Argument name="other" type="_9059" location="f206:314" file="f206" line="314"/>
+  </Method>
+  <Method id="_14026" name="merge" returns="_10742" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE5mergeERKS7_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::merge(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_trai [...]
+    <Argument name="other" type="_9059" location="f206:339" file="f206" line="339"/>
+  </Method>
+  <Method id="_14027" name="span" returns="_10742" const="1" context="_10742" access="public" mangled="_ZNK5boost9date_time6periodINS_9gregorian4dateENS0_13date_durationINS0_23duration_traits_adaptedEEEE4spanERKS7_" demangled="boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::span(boost::date_time::period<boost::gregorian::date, boost::date_time::date_duration<boost::date_time::duration_traits_ [...]
+    <Argument name="other" type="_9059" location="f206:366" file="f206" line="366"/>
+  </Method>
+  <Constructor id="_14028" name="weeks_duration" artificial="1" context="_10744" access="public" mangled="_ZN5boost9date_time14weeks_durationINS0_23duration_traits_adaptedEEC1ERKS3_ *INTERNAL* " demangled="boost::date_time::weeks_duration<boost::date_time::duration_traits_adapted>::weeks_duration(boost::date_time::weeks_duration<boost::date_time::duration_traits_adapted> const&)" location="f276:22" file="f276" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_17349" location="f276:22" file="f276" line="22"/>
+  </Constructor>
+  <Constructor id="_14029" name="weeks_duration" context="_10744" access="public" mangled="_ZN5boost9date_time14weeks_durationINS0_23duration_traits_adaptedEEC1ENS0_11int_adapterIlEE *INTERNAL* " demangled="boost::date_time::weeks_duration<boost::date_time::duration_traits_adapted>::weeks_duration(boost::date_time::int_adapter<long>)" location="f276:25" file="f276" line="25" extern="1" inline="1">
+    <Argument name="w" type="_11270" location="f276:25" file="f276" line="25"/>
+  </Constructor>
+  <Constructor id="_14030" name="weeks_duration" context="_10744" access="public" mangled="_ZN5boost9date_time14weeks_durationINS0_23duration_traits_adaptedEEC1ENS0_14special_valuesE *INTERNAL* " demangled="boost::date_time::weeks_duration<boost::date_time::duration_traits_adapted>::weeks_duration(boost::date_time::special_values)" location="f276:27" file="f276" line="27" extern="1" inline="1">
+    <Argument name="sv" type="_11275" location="f276:27" file="f276" line="27"/>
+  </Constructor>
+  <Field id="_14031" name="_y" type="_11271" offset="0" context="_10746" access="private" mangled="_ZN5boost9date_time14years_durationINS_9gregorian21greg_durations_configEE2_yE" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::_y" location="f276:264" file="f276" line="264"/>
+  <Typedef id="_14032" name="int_rep" type="_11271" context="_10746" access="private" location="f276:165" file="f276" line="165"/>
+  <Typedef id="_14033" name="int_type" type="_503" context="_10746" access="private" location="f276:166" file="f276" line="166"/>
+  <Typedef id="_14034" name="date_type" type="_9061" context="_10746" access="private" location="f276:167" file="f276" line="167"/>
+  <Typedef id="_14035" name="duration_type" type="_10752" context="_10746" access="private" location="f276:168" file="f276" line="168"/>
+  <Typedef id="_14036" name="month_adjustor_type" type="_11265" context="_10746" access="private" location="f276:169" file="f276" line="169"/>
+  <Typedef id="_14037" name="months_type" type="_10748" context="_10746" access="private" location="f276:171" file="f276" line="171"/>
+  <Constructor id="_14038" name="years_duration" artificial="1" throw="" context="_10746" access="public" mangled="_ZN5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::years_duration(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f276:163" file="f276" line="163" inline="1">
+    <Argument name="_ctor_arg" type="_15557" location="f276:163" file="f276" line="163"/>
+  </Constructor>
+  <Constructor id="_14039" name="years_duration" context="_10746" access="public" mangled="_ZN5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEC1ENS0_11int_adapterIiEE *INTERNAL* " demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::years_duration(boost::date_time::int_adapter<int>)" location="f276:173" file="f276" line="173" extern="1" inline="1">
+    <Argument name="num" type="_11271" location="f276:173" file="f276" line="173"/>
+  </Constructor>
+  <Constructor id="_14040" name="years_duration" context="_10746" access="public" mangled="_ZN5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEC1ENS0_14special_valuesE *INTERNAL* " demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::years_duration(boost::date_time::special_values)" location="f276:174" file="f276" line="174" extern="1" inline="1">
+    <Argument name="sv" type="_11275" location="f276:174" file="f276" line="174"/>
+  </Constructor>
+  <Method id="_14041" name="number_of_years" returns="_11271" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEE15number_of_yearsEv" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::number_of_years() const" location="f276:178" file="f276" line="178" extern="1" inline="1"/>
+  <Method id="_14042" name="get_neg_offset" returns="_10752" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEE14get_neg_offsetERKNS2_4dateE" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::get_neg_offset(boost::gregorian::date const&) const" location="f276:181" file="f276" line="181" endline="183" inline="1">
+    <Argument name="d" type="_10010" location="f276:181" file="f276" line="181"/>
+  </Method>
+  <Method id="_14043" name="get_offset" returns="_10752" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEE10get_offsetERKNS2_4dateE" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::get_offset(boost::gregorian::date const&) const" location="f276:186" file="f276" line="186" endline="188" inline="1">
+    <Argument name="d" type="_10010" location="f276:186" file="f276" line="186"/>
+  </Method>
+  <OperatorMethod id="_14044" name="==" returns="_3949" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEeqERKS4_" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator==(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:191" file="f276" line="191" extern="1" inline="1">
+    <Argument name="rhs" type="_15557" location="f276:191" file="f276" line="191"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14045" name="!=" returns="_3949" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEneERKS4_" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator!=(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:195" file="f276" line="195" extern="1" inline="1">
+    <Argument name="rhs" type="_15557" location="f276:195" file="f276" line="195"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14046" name="+" returns="_10746" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEplERKS4_" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator+(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:199" file="f276" line="199" extern="1" inline="1">
+    <Argument name="rhs" type="_15557" location="f276:199" file="f276" line="199"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14047" name="+=" returns="_17350" context="_10746" access="public" mangled="_ZN5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEpLERKS4_" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator+=(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f276:203" file="f276" line="203" extern="1" inline="1">
+    <Argument name="rhs" type="_15557" location="f276:203" file="f276" line="203"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14048" name="-" returns="_10746" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEmiERKS4_" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator-(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:208" file="f276" line="208" extern="1" inline="1">
+    <Argument name="rhs" type="_15557" location="f276:208" file="f276" line="208"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14049" name="-=" returns="_17350" context="_10746" access="public" mangled="_ZN5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEmIERKS4_" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator-=(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f276:212" file="f276" line="212" extern="1" inline="1">
+    <Argument name="rhs" type="_15557" location="f276:212" file="f276" line="212"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14050" name="*" returns="_10746" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEmlEi" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator*(int) const" location="f276:217" file="f276" line="217" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f276:217" file="f276" line="217"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14051" name="*=" returns="_17350" context="_10746" access="public" mangled="_ZN5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEmLEi" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator*=(int)" location="f276:221" file="f276" line="221" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f276:221" file="f276" line="221"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14052" name="/" returns="_10746" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEdvEi" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator/(int) const" location="f276:226" file="f276" line="226" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f276:226" file="f276" line="226"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14053" name="/=" returns="_17350" context="_10746" access="public" mangled="_ZN5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEdVEi" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator/=(int)" location="f276:230" file="f276" line="230" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f276:230" file="f276" line="230"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14054" name="+" returns="_10748" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEplERKNS0_15months_durationIS3_EE" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator+(boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:235" file="f276" line="235" extern="1" inline="1">
+    <Argument name="m" type="_15558" location="f276:235" file="f276" line="235"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14055" name="-" returns="_10748" const="1" context="_10746" access="public" mangled="_ZNK5boost9date_time14years_durationINS_9gregorian21greg_durations_configEEmiERKNS0_15months_durationIS3_EE" demangled="boost::date_time::years_duration<boost::gregorian::greg_durations_config>::operator-(boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:239" file="f276" line="239" extern="1" inline="1">
+    <Argument name="m" type="_15558" location="f276:239" file="f276" line="239"/>
+  </OperatorMethod>
+  <Field id="_14056" name="_m" type="_11271" offset="0" context="_10748" access="private" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEE2_mE" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::_m" location="f276:152" file="f276" line="152"/>
+  <Typedef id="_14057" name="int_rep" type="_11271" context="_10748" access="private" location="f276:43" file="f276" line="43"/>
+  <Typedef id="_14058" name="int_type" type="_503" context="_10748" access="private" location="f276:44" file="f276" line="44"/>
+  <Typedef id="_14059" name="date_type" type="_9061" context="_10748" access="private" location="f276:45" file="f276" line="45"/>
+  <Typedef id="_14060" name="duration_type" type="_10752" context="_10748" access="private" location="f276:46" file="f276" line="46"/>
+  <Typedef id="_14061" name="month_adjustor_type" type="_11265" context="_10748" access="private" location="f276:47" file="f276" line="47"/>
+  <Typedef id="_14062" name="years_type" type="_10746" context="_10748" access="private" location="f276:49" file="f276" line="49"/>
+  <Constructor id="_14063" name="months_duration" artificial="1" throw="" context="_10748" access="public" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::months_duration(boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f276:41" file="f276" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_15558" location="f276:41" file="f276" line="41"/>
+  </Constructor>
+  <Constructor id="_14064" name="months_duration" context="_10748" access="public" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEC1ENS0_11int_adapterIiEE *INTERNAL* " demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::months_duration(boost::date_time::int_adapter<int>)" location="f276:51" file="f276" line="51" extern="1" inline="1">
+    <Argument name="num" type="_11271" location="f276:51" file="f276" line="51"/>
+  </Constructor>
+  <Constructor id="_14065" name="months_duration" context="_10748" access="public" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEC1ENS0_14special_valuesE *INTERNAL* " demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::months_duration(boost::date_time::special_values)" location="f276:52" file="f276" line="52" extern="1" inline="1">
+    <Argument name="sv" type="_11275" location="f276:52" file="f276" line="52"/>
+  </Constructor>
+  <Method id="_14066" name="number_of_months" returns="_11271" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEE16number_of_monthsEv" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::number_of_months() const" location="f276:56" file="f276" line="56" extern="1" inline="1"/>
+  <Method id="_14067" name="get_neg_offset" returns="_10752" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEE14get_neg_offsetERKNS2_4dateE" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::get_neg_offset(boost::gregorian::date const&) const" location="f276:59" file="f276" line="59" endline="61" inline="1">
+    <Argument name="d" type="_10010" location="f276:59" file="f276" line="59"/>
+  </Method>
+  <Method id="_14068" name="get_offset" returns="_10752" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEE10get_offsetERKNS2_4dateE" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::get_offset(boost::gregorian::date const&) const" location="f276:64" file="f276" line="64" endline="66" inline="1">
+    <Argument name="d" type="_10010" location="f276:64" file="f276" line="64"/>
+  </Method>
+  <OperatorMethod id="_14069" name="==" returns="_3949" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEeqERKS4_" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator==(boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:69" file="f276" line="69" extern="1" inline="1">
+    <Argument name="rhs" type="_15558" location="f276:69" file="f276" line="69"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14070" name="!=" returns="_3949" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEneERKS4_" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator!=(boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:73" file="f276" line="73" extern="1" inline="1">
+    <Argument name="rhs" type="_15558" location="f276:73" file="f276" line="73"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14071" name="+" returns="_10748" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEplERKS4_" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator+(boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:77" file="f276" line="77" extern="1" inline="1">
+    <Argument name="rhs" type="_15558" location="f276:77" file="f276" line="77"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14072" name="+=" returns="_17351" context="_10748" access="public" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEpLERKS4_" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator+=(boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f276:81" file="f276" line="81" extern="1" inline="1">
+    <Argument name="rhs" type="_15558" location="f276:81" file="f276" line="81"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14073" name="-" returns="_10748" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEmiERKS4_" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator-(boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:86" file="f276" line="86" extern="1" inline="1">
+    <Argument name="rhs" type="_15558" location="f276:86" file="f276" line="86"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14074" name="-=" returns="_17351" context="_10748" access="public" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEmIERKS4_" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator-=(boost::date_time::months_duration<boost::gregorian::greg_durations_config> const&)" location="f276:90" file="f276" line="90" extern="1" inline="1">
+    <Argument name="rhs" type="_15558" location="f276:90" file="f276" line="90"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14075" name="*" returns="_10748" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEmlEi" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator*(int) const" location="f276:95" file="f276" line="95" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f276:95" file="f276" line="95"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14076" name="*=" returns="_17351" context="_10748" access="public" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEmLEi" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator*=(int)" location="f276:99" file="f276" line="99" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f276:99" file="f276" line="99"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14077" name="/" returns="_10748" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEdvEi" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator/(int) const" location="f276:104" file="f276" line="104" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f276:104" file="f276" line="104"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14078" name="/=" returns="_17351" context="_10748" access="public" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEdVEi" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator/=(int)" location="f276:108" file="f276" line="108" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f276:108" file="f276" line="108"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14079" name="+" returns="_10748" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEplERKNS0_14years_durationIS3_EE" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator+(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:113" file="f276" line="113" extern="1" inline="1">
+    <Argument name="y" type="_15557" location="f276:113" file="f276" line="113"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14080" name="+=" returns="_17351" context="_10748" access="public" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEpLERKNS0_14years_durationIS3_EE" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator+=(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f276:117" file="f276" line="117" extern="1" inline="1">
+    <Argument name="y" type="_15557" location="f276:117" file="f276" line="117"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14081" name="-" returns="_10748" const="1" context="_10748" access="public" mangled="_ZNK5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEmiERKNS0_14years_durationIS3_EE" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator-(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&) const" location="f276:122" file="f276" line="122" extern="1" inline="1">
+    <Argument name="y" type="_15557" location="f276:122" file="f276" line="122"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14082" name="-=" returns="_17351" context="_10748" access="public" mangled="_ZN5boost9date_time15months_durationINS_9gregorian21greg_durations_configEEmIERKNS0_14years_durationIS3_EE" demangled="boost::date_time::months_duration<boost::gregorian::greg_durations_config>::operator-=(boost::date_time::years_duration<boost::gregorian::greg_durations_config> const&)" location="f276:126" file="f276" line="126" extern="1" inline="1">
+    <Argument name="y" type="_15557" location="f276:126" file="f276" line="126"/>
+  </OperatorMethod>
+  <Typedef id="_14083" name="date_type" type="_9061" context="_10750" access="public" location="f277:23" file="f277" line="23"/>
+  <Typedef id="_14084" name="int_rep" type="_11271" context="_10750" access="public" location="f277:24" file="f277" line="24"/>
+  <Typedef id="_14085" name="month_adjustor_type" type="_11265" context="_10750" access="public" location="f277:25" file="f277" line="25"/>
+  <Constructor id="_14086" name="greg_durations_config" artificial="1" throw="" context="_10750" access="public" mangled="_ZN5boost9gregorian21greg_durations_configC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::greg_durations_config::greg_durations_config(boost::gregorian::greg_durations_config const&)" location="f277:22" file="f277" line="22" inline="1">
+    <Argument name="_ctor_arg" type="_17352" location="f277:22" file="f277" line="22"/>
+  </Constructor>
+  <Constructor id="_14087" name="greg_durations_config" explicit="1" artificial="1" throw="" context="_10750" access="public" mangled="_ZN5boost9gregorian21greg_durations_configC1Ev *INTERNAL* " demangled="boost::gregorian::greg_durations_config::greg_durations_config()" location="f277:22" file="f277" line="22" inline="1"/>
+  <Typedef id="_14088" name="int_type" type="_1553" context="_10753" access="public" location="f202:137" file="f202" line="137"/>
+  <Typedef id="_14089" name="impl_type" type="_11270" context="_10753" access="public" location="f202:138" file="f202" line="138"/>
+  <Constructor id="_14090" name="duration_traits_adapted" artificial="1" throw="" context="_10753" access="public" mangled="_ZN5boost9date_time23duration_traits_adaptedC1ERKS1_ *INTERNAL* " demangled="boost::date_time::duration_traits_adapted::duration_traits_adapted(boost::date_time::duration_traits_adapted const&)" location="f202:136" file="f202" line="136" inline="1">
+    <Argument name="_ctor_arg" type="_17353" location="f202:136" file="f202" line="136"/>
+  </Constructor>
+  <Constructor id="_14091" name="duration_traits_adapted" explicit="1" artificial="1" throw="" context="_10753" access="public" mangled="_ZN5boost9date_time23duration_traits_adaptedC1Ev *INTERNAL* " demangled="boost::date_time::duration_traits_adapted::duration_traits_adapted()" location="f202:136" file="f202" line="136" inline="1"/>
+  <Method id="_14092" name="as_number" returns="_1553" static="1" context="_10753" access="public" mangled="_ZN5boost9date_time23duration_traits_adapted9as_numberENS0_11int_adapterIlEE" demangled="boost::date_time::duration_traits_adapted::as_number(boost::date_time::int_adapter<long>)" location="f202:139" file="f202" line="139" endline="139" inline="1">
+    <Argument name="i" type="_11270" location="f202:139" file="f202" line="139"/>
+  </Method>
+  <Typedef id="_14093" name="day_of_week_type" type="_10784" context="_10755" access="public" location="f279:29" file="f279" line="29"/>
+  <Typedef id="_14094" name="day_of_year_type" type="_10780" context="_10755" access="public" location="f279:31" file="f279" line="31"/>
+  <Typedef id="_14095" name="date_rep_type" type="_10757" context="_10755" access="public" location="f279:33" file="f279" line="33"/>
+  <Typedef id="_14096" name="date_traits_type" type="_10757" context="_10755" access="public" location="f279:35" file="f279" line="35"/>
+  <Constructor id="_14097" name="gregorian_calendar" artificial="1" throw="" context="_10755" access="public" mangled="_ZN5boost9gregorian18gregorian_calendarC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::gregorian_calendar::gregorian_calendar(boost::gregorian::gregorian_calendar const&)" location="f279:26" file="f279" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17354" location="f279:26" file="f279" line="26"/>
+  </Constructor>
+  <Constructor id="_14098" name="gregorian_calendar" explicit="1" artificial="1" throw="" context="_10755" access="public" mangled="_ZN5boost9gregorian18gregorian_calendarC1Ev *INTERNAL* " demangled="boost::gregorian::gregorian_calendar::gregorian_calendar()" location="f279:26" file="f279" line="26" inline="1"/>
+  <Field id="_14099" name="value_" type="_643" offset="0" context="_10756" access="private" mangled="_ZN5boost9date_time11int_adapterImE6value_E" demangled="boost::date_time::int_adapter<unsigned long>::value_" location="f280:378" file="f280" line="378"/>
+  <Typedef id="_14100" name="int_type" type="_643" context="_10756" access="public" location="f280:40" file="f280" line="40"/>
+  <Constructor id="_14101" name="int_adapter" artificial="1" throw="" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::int_adapter<unsigned long>::int_adapter(boost::date_time::int_adapter<unsigned long> const&)" location="f280:38" file="f280" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_17355" location="f280:38" file="f280" line="38"/>
+  </Constructor>
+  <Constructor id="_14102" name="int_adapter" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImEC1Em *INTERNAL* " demangled="boost::date_time::int_adapter<unsigned long>::int_adapter(unsigned long)" location="f280:41" file="f280" line="41" endline="43" inline="1">
+    <Argument name="v" type="_643" location="f280:41" file="f280" line="41"/>
+  </Constructor>
+  <Method id="_14103" name="has_infinity" returns="_3949" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE12has_infinityEv" demangled="boost::date_time::int_adapter<unsigned long>::has_infinity()" location="f280:45" file="f280" line="45" extern="1" inline="1"/>
+  <Method id="_14104" name="pos_infinity" returns="_10756c" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE12pos_infinityEv" demangled="boost::date_time::int_adapter<unsigned long>::pos_infinity()" location="f280:49" file="f280" line="49" endline="50" inline="1"/>
+  <Method id="_14105" name="neg_infinity" returns="_10756c" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE12neg_infinityEv" demangled="boost::date_time::int_adapter<unsigned long>::neg_infinity()" location="f280:53" file="f280" line="53" endline="54" inline="1"/>
+  <Method id="_14106" name="not_a_number" returns="_10756c" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE12not_a_numberEv" demangled="boost::date_time::int_adapter<unsigned long>::not_a_number()" location="f280:57" file="f280" line="57" endline="58" inline="1"/>
+  <Method id="_14107" name="max" returns="_10756" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE3maxEv" demangled="boost::date_time::int_adapter<unsigned long>::max()" location="f280:61" file="f280" line="61" endline="62" inline="1"/>
+  <Method id="_14108" name="min" returns="_10756" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE3minEv" demangled="boost::date_time::int_adapter<unsigned long>::min()" location="f280:65" file="f280" line="65" endline="66" inline="1"/>
+  <Method id="_14109" name="from_special" returns="_10756" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE12from_specialENS0_14special_valuesE" demangled="boost::date_time::int_adapter<unsigned long>::from_special(boost::date_time::special_values)" location="f280:69" file="f280" line="69" endline="76" inline="1">
+    <Argument name="sv" type="_11275" location="f280:69" file="f280" line="69"/>
+  </Method>
+  <Method id="_14110" name="is_inf" returns="_3949" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE6is_infEm" demangled="boost::date_time::int_adapter<unsigned long>::is_inf(unsigned long)" location="f280:80" file="f280" line="80" endline="81" inline="1">
+    <Argument name="v" type="_643" location="f280:80" file="f280" line="80"/>
+  </Method>
+  <Method id="_14111" name="is_neg_inf" returns="_3949" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE10is_neg_infEm" demangled="boost::date_time::int_adapter<unsigned long>::is_neg_inf(unsigned long)" location="f280:85" file="f280" line="85" endline="86" inline="1">
+    <Argument name="v" type="_643" location="f280:85" file="f280" line="85"/>
+  </Method>
+  <Method id="_14112" name="is_pos_inf" returns="_3949" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE10is_pos_infEm" demangled="boost::date_time::int_adapter<unsigned long>::is_pos_inf(unsigned long)" location="f280:89" file="f280" line="89" endline="90" inline="1">
+    <Argument name="v" type="_643" location="f280:89" file="f280" line="89"/>
+  </Method>
+  <Method id="_14113" name="is_not_a_number" returns="_3949" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE15is_not_a_numberEm" demangled="boost::date_time::int_adapter<unsigned long>::is_not_a_number(unsigned long)" location="f280:93" file="f280" line="93" endline="94" inline="1">
+    <Argument name="v" type="_643" location="f280:93" file="f280" line="93"/>
+  </Method>
+  <Method id="_14114" name="to_special" returns="_11275" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE10to_specialEm" demangled="boost::date_time::int_adapter<unsigned long>::to_special(unsigned long)" location="f280:98" file="f280" line="98" endline="102" inline="1">
+    <Argument name="v" type="_643" location="f280:98" file="f280" line="98"/>
+  </Method>
+  <Method id="_14115" name="maxcount" returns="_643" static="1" context="_10756" access="public" mangled="_ZN5boost9date_time11int_adapterImE8maxcountEv" demangled="boost::date_time::int_adapter<unsigned long>::maxcount()" location="f280:107" file="f280" line="107" extern="1" inline="1"/>
+  <Method id="_14116" name="is_infinity" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImE11is_infinityEv" demangled="boost::date_time::int_adapter<unsigned long>::is_infinity() const" location="f280:111" file="f280" line="111" endline="112" inline="1"/>
+  <Method id="_14117" name="is_pos_infinity" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImE15is_pos_infinityEv" demangled="boost::date_time::int_adapter<unsigned long>::is_pos_infinity() const" location="f280:116" file="f280" line="116" extern="1" inline="1"/>
+  <Method id="_14118" name="is_neg_infinity" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImE15is_neg_infinityEv" demangled="boost::date_time::int_adapter<unsigned long>::is_neg_infinity() const" location="f280:120" file="f280" line="120" extern="1" inline="1"/>
+  <Method id="_14119" name="is_nan" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImE6is_nanEv" demangled="boost::date_time::int_adapter<unsigned long>::is_nan() const" location="f280:124" file="f280" line="124" endline="125" inline="1"/>
+  <Method id="_14120" name="is_special" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImE10is_specialEv" demangled="boost::date_time::int_adapter<unsigned long>::is_special() const" location="f280:128" file="f280" line="128" endline="129" inline="1"/>
+  <OperatorMethod id="_14121" name="==" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEeqERKS2_" demangled="boost::date_time::int_adapter<unsigned long>::operator==(boost::date_time::int_adapter<unsigned long> const&) const" location="f280:132" file="f280" line="132" extern="1" inline="1">
+    <Argument name="rhs" type="_17355" location="f280:132" file="f280" line="132"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14122" name="==" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEeqERKi" demangled="boost::date_time::int_adapter<unsigned long>::operator==(int const&) const" location="f280:136" file="f280" line="136" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:136" file="f280" line="136"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14123" name="!=" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEneERKS2_" demangled="boost::date_time::int_adapter<unsigned long>::operator!=(boost::date_time::int_adapter<unsigned long> const&) const" location="f280:149" file="f280" line="149" extern="1" inline="1">
+    <Argument name="rhs" type="_17355" location="f280:149" file="f280" line="149"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14124" name="!=" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEneERKi" demangled="boost::date_time::int_adapter<unsigned long>::operator!=(int const&) const" location="f280:153" file="f280" line="153" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:153" file="f280" line="153"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14125" name="<" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEltERKS2_" demangled="boost::date_time::int_adapter<unsigned long>::operator<(boost::date_time::int_adapter<unsigned long> const&) const" location="f280:166" file="f280" line="166" extern="1" inline="1">
+    <Argument name="rhs" type="_17355" location="f280:166" file="f280" line="166"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14126" name="<" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEltERKi" demangled="boost::date_time::int_adapter<unsigned long>::operator<(int const&) const" location="f280:170" file="f280" line="170" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:170" file="f280" line="170"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14127" name=">" returns="_3949" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEgtERKS2_" demangled="boost::date_time::int_adapter<unsigned long>::operator>(boost::date_time::int_adapter<unsigned long> const&) const" location="f280:183" file="f280" line="183" extern="1" inline="1">
+    <Argument name="rhs" type="_17355" location="f280:183" file="f280" line="183"/>
+  </OperatorMethod>
+  <Method id="_14128" name="as_number" returns="_643" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImE9as_numberEv" demangled="boost::date_time::int_adapter<unsigned long>::as_number() const" location="f280:187" file="f280" line="187" endline="188" inline="1"/>
+  <Method id="_14129" name="as_special" returns="_11275" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImE10as_specialEv" demangled="boost::date_time::int_adapter<unsigned long>::as_special() const" location="f280:192" file="f280" line="192" extern="1" inline="1"/>
+  <OperatorMethod id="_14130" name="+" returns="_10756" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEplEm" demangled="boost::date_time::int_adapter<unsigned long>::operator+(unsigned long) const" location="f280:235" file="f280" line="235" endline="247" inline="1">
+    <Argument name="rhs" type="_643c" location="f280:235" file="f280" line="235"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14131" name="-" returns="_10756" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEmiEm" demangled="boost::date_time::int_adapter<unsigned long>::operator-(unsigned long) const" location="f280:283" file="f280" line="283" endline="295" inline="1">
+    <Argument name="rhs" type="_643c" location="f280:283" file="f280" line="283"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14132" name="*" returns="_10756" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEmlERKS2_" demangled="boost::date_time::int_adapter<unsigned long>::operator*(boost::date_time::int_adapter<unsigned long> const&) const" location="f280:300" file="f280" line="300" extern="1" inline="1">
+    <Argument name="rhs" type="_17355" location="f280:300" file="f280" line="300"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14133" name="*" returns="_10756" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEmlEi" demangled="boost::date_time::int_adapter<unsigned long>::operator*(int) const" location="f280:310" file="f280" line="310" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:310" file="f280" line="310"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14134" name="/" returns="_10756" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEdvERKS2_" demangled="boost::date_time::int_adapter<unsigned long>::operator/(boost::date_time::int_adapter<unsigned long> const&) const" location="f280:320" file="f280" line="320" extern="1" inline="1">
+    <Argument name="rhs" type="_17355" location="f280:320" file="f280" line="320"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14135" name="/" returns="_10756" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImEdvEi" demangled="boost::date_time::int_adapter<unsigned long>::operator/(int) const" location="f280:340" file="f280" line="340" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:340" file="f280" line="340"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14136" name="%" returns="_10756" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImErmERKS2_" demangled="boost::date_time::int_adapter<unsigned long>::operator%(boost::date_time::int_adapter<unsigned long> const&) const" location="f280:350" file="f280" line="350" extern="1" inline="1">
+    <Argument name="rhs" type="_17355" location="f280:350" file="f280" line="350"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14137" name="%" returns="_10756" const="1" context="_10756" access="public" mangled="_ZNK5boost9date_time11int_adapterImErmEi" demangled="boost::date_time::int_adapter<unsigned long>::operator%(int) const" location="f280:370" file="f280" line="370" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:370" file="f280" line="370"/>
+  </OperatorMethod>
+  <Method id="_14138" name="compare" returns="_503" const="1" context="_10756" access="private" mangled="_ZNK5boost9date_time11int_adapterImE7compareERKS2_" demangled="boost::date_time::int_adapter<unsigned long>::compare(boost::date_time::int_adapter<unsigned long> const&) const" location="f280:382" file="f280" line="382" extern="1" inline="1">
+    <Argument name="rhs" type="_17355" location="f280:382" file="f280" line="382"/>
+  </Method>
+  <Method id="_14139" name="mult_div_specials" returns="_10756" const="1" context="_10756" access="private" mangled="_ZNK5boost9date_time11int_adapterImE17mult_div_specialsERKS2_" demangled="boost::date_time::int_adapter<unsigned long>::mult_div_specials(boost::date_time::int_adapter<unsigned long> const&) const" location="f280:414" file="f280" line="414" extern="1" inline="1">
+    <Argument name="rhs" type="_17355" location="f280:414" file="f280" line="414"/>
+  </Method>
+  <Method id="_14140" name="mult_div_specials" returns="_10756" const="1" context="_10756" access="private" mangled="_ZNK5boost9date_time11int_adapterImE17mult_div_specialsERKi" demangled="boost::date_time::int_adapter<unsigned long>::mult_div_specials(int const&) const" location="f280:443" file="f280" line="443" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:443" file="f280" line="443"/>
+  </Method>
+  <Field id="_14141" name="year" type="_10768" offset="0" context="_10758" access="public" mangled="_ZN5boost9date_time19year_month_day_baseINS_9gregorian9greg_yearENS2_10greg_monthENS2_8greg_dayEE4yearE" demangled="boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>::year" location="f281:21" file="f281" line="21"/>
+  <Field id="_14142" name="month" type="_10760" offset="16" context="_10758" access="public" mangled="_ZN5boost9date_time19year_month_day_baseINS_9gregorian9greg_yearENS2_10greg_monthENS2_8greg_dayEE5monthE" demangled="boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>::month" location="f281:22" file="f281" line="22"/>
+  <Field id="_14143" name="day" type="_9063" offset="32" context="_10758" access="public" mangled="_ZN5boost9date_time19year_month_day_baseINS_9gregorian9greg_yearENS2_10greg_monthENS2_8greg_dayEE3dayE" demangled="boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>::day" location="f281:23" file="f281" line="23"/>
+  <Typedef id="_14144" name="year_type" type="_10768" context="_10758" access="public" location="f281:24" file="f281" line="24"/>
+  <Typedef id="_14145" name="month_type" type="_10760" context="_10758" access="public" location="f281:25" file="f281" line="25"/>
+  <Typedef id="_14146" name="day_type" type="_9063" context="_10758" access="public" location="f281:26" file="f281" line="26"/>
+  <Constructor id="_14147" name="year_month_day_base" artificial="1" throw="" context="_10758" access="public" mangled="_ZN5boost9date_time19year_month_day_baseINS_9gregorian9greg_yearENS2_10greg_monthENS2_8greg_dayEEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>::year_month_day_base(boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::gr [...]
+    <Argument name="_ctor_arg" type="_17357" location="f281:17" file="f281" line="17"/>
+  </Constructor>
+  <Constructor id="_14148" name="year_month_day_base" explicit="1" context="_10758" access="public" mangled="_ZN5boost9date_time19year_month_day_baseINS_9gregorian9greg_yearENS2_10greg_monthENS2_8greg_dayEEC1ES3_S4_S5_ *INTERNAL* " demangled="boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>::year_month_day_base(boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day)" location= [...]
+    <Argument name="y" type="_10768" location="f281:35" file="f281" line="35"/>
+    <Argument name="m" type="_10760" location="f281:35" file="f281" line="35"/>
+    <Argument name="d" type="_9063" location="f281:35" file="f281" line="35"/>
+  </Constructor>
+  <Typedef id="_14149" name="month_enum" type="_10766" context="_10760" access="public" location="f19:57" file="f19" line="57"/>
+  <Typedef id="_14150" name="month_map_type" type="_2017" context="_10760" access="public" location="f19:58" file="f19" line="58"/>
+  <Typedef id="_14151" name="month_map_ptr_type" type="_3831" context="_10760" access="public" location="f19:59" file="f19" line="59"/>
+  <Constructor id="_14152" name="greg_month" artificial="1" throw="" context="_10760" access="public" mangled="_ZN5boost9gregorian10greg_monthC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::greg_month::greg_month(boost::gregorian::greg_month const&)" location="f19:55" file="f19" line="55" inline="1">
+    <Argument name="_ctor_arg" type="_13803" location="f19:55" file="f19" line="55"/>
+  </Constructor>
+  <Constructor id="_14153" name="greg_month" context="_10760" access="public" mangled="_ZN5boost9gregorian10greg_monthC1ENS_9date_time14months_of_yearE *INTERNAL* " demangled="boost::gregorian::greg_month::greg_month(boost::date_time::months_of_year)" location="f19:61" file="f19" line="61" endline="62" inline="1">
+    <Argument name="theMonth" type="_10766" location="f19:61" file="f19" line="61"/>
+  </Constructor>
+  <Constructor id="_14154" name="greg_month" context="_10760" access="public" mangled="_ZN5boost9gregorian10greg_monthC1Et *INTERNAL* " demangled="boost::gregorian::greg_month::greg_month(unsigned short)" location="f19:64" file="f19" line="64" endline="64" inline="1">
+    <Argument name="theMonth" type="_1199" location="f19:64" file="f19" line="64"/>
+  </Constructor>
+  <Converter id="_14155" name="operator 7" returns="_1199" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_monthcvtEv" demangled="boost::gregorian::greg_month::operator unsigned short() const" location="f19:66" file="f19" line="66" endline="66" inline="1"/>
+  <Method id="_14156" name="as_number" returns="_1199" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month9as_numberEv" demangled="boost::gregorian::greg_month::as_number() const" location="f19:68" file="f19" line="68" endline="68" inline="1"/>
+  <Method id="_14157" name="as_enum" returns="_10766" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month7as_enumEv" demangled="boost::gregorian::greg_month::as_enum() const" location="f19:69" file="f19" line="69" endline="69" inline="1"/>
+  <Method id="_14158" name="as_short_string" returns="_2749" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month15as_short_stringEv" demangled="boost::gregorian::greg_month::as_short_string() const" location="f19:70" file="f19" line="70" extern="1"/>
+  <Method id="_14159" name="as_long_string" returns="_2749" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month14as_long_stringEv" demangled="boost::gregorian::greg_month::as_long_string() const" location="f19:71" file="f19" line="71" extern="1"/>
+  <Method id="_14160" name="as_short_wstring" returns="_2780" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month16as_short_wstringEv" demangled="boost::gregorian::greg_month::as_short_wstring() const" location="f19:73" file="f19" line="73" extern="1"/>
+  <Method id="_14161" name="as_long_wstring" returns="_2780" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month15as_long_wstringEv" demangled="boost::gregorian::greg_month::as_long_wstring() const" location="f19:74" file="f19" line="74" extern="1"/>
+  <Method id="_14162" name="get_month_map_ptr" returns="_3831" static="1" context="_10760" access="public" mangled="_ZN5boost9gregorian10greg_month17get_month_map_ptrEv" demangled="boost::gregorian::greg_month::get_month_map_ptr()" location="f19:77" file="f19" line="77" extern="1"/>
+  <Method id="_14163" name="as_short_string" returns="_2749" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month15as_short_stringEc" demangled="boost::gregorian::greg_month::as_short_string(char) const" location="f19:82" file="f19" line="82" endline="84" inline="1">
+    <Argument type="_2961" location="f19:82" file="f19" line="82"/>
+  </Method>
+  <Method id="_14164" name="as_long_string" returns="_2749" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month14as_long_stringEc" demangled="boost::gregorian::greg_month::as_long_string(char) const" location="f19:86" file="f19" line="86" endline="88" inline="1">
+    <Argument type="_2961" location="f19:86" file="f19" line="86"/>
+  </Method>
+  <Method id="_14165" name="as_short_string" returns="_2780" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month15as_short_stringEw" demangled="boost::gregorian::greg_month::as_short_string(wchar_t) const" location="f19:91" file="f19" line="91" endline="93" inline="1">
+    <Argument type="_2786" location="f19:91" file="f19" line="91"/>
+  </Method>
+  <Method id="_14166" name="as_long_string" returns="_2780" const="1" context="_10760" access="public" mangled="_ZNK5boost9gregorian10greg_month14as_long_stringEw" demangled="boost::gregorian::greg_month::as_long_string(wchar_t) const" location="f19:95" file="f19" line="95" endline="97" inline="1">
+    <Argument type="_2786" location="f19:95" file="f19" line="95"/>
+  </Method>
+  <Field id="_14167" name="value_" type="_1199" offset="0" context="_10761" access="protected" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEEE6value_E" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> >::value_" location="f26:57" file="f26" line="57"/>
+  <Typedef id="_14168" name="value_type" type="_1199" context="_10761" access="public" location="f26:39" file="f26" line="39"/>
+  <Constructor id="_14169" name="constrained_value" artificial="1" throw="" context="_10761" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEEEC1ERKS6_ *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> >::constrained_value(boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12,  [...]
+    <Argument name="_ctor_arg" type="_17358" location="f26:37" file="f26" line="37"/>
+  </Constructor>
+  <Constructor id="_14170" name="constrained_value" context="_10761" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEEEC1Et *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> >::constrained_value(unsigned short)" location="f26:42" file="f26" line="42" endline="43" inline="1">
+    <Argument name="value" type="_1199" location="f26:42" file="f26" line="42"/>
+  </Constructor>
+  <OperatorMethod id="_14171" name="=" returns="_17359" context="_10761" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEEEaSEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> >::operator=(unsigned short)" location="f26:46" file="f26" line="46" extern="1" inline="1">
+    <Argument name="v" type="_1199" location="f26:46" file="f26" line="46"/>
+  </OperatorMethod>
+  <Method id="_14172" name="max" returns="_1199" static="1" context="_10761" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEEE3maxEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> >::max()" location="f26:51" file="f26" line="51" endline="51" inline="1"/>
+  <Method id="_14173" name="min" returns="_1199" static="1" context="_10761" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEEE3minEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> >::min()" location="f26:53" file="f26" line="53" endline="53" inline="1"/>
+  <Converter id="_14174" name="operator 7" returns="_1199" const="1" context="_10761" access="public" mangled="_ZNK5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEEEcvtEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> >::operator unsigned short() const" location="f26:55" file="f26" line="55" extern="1" inline="1"/>
+  <Method id="_14175" name="assign" returns="_1194" context="_10761" access="private" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEEE6assignEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> >::assign(unsigned short)" location="f26:60" file="f26" line="60" endline="71" inline="1">
+    <Argument name="value" type="_1199" location="f26:60" file="f26" line="60"/>
+  </Method>
+  <Typedef id="_14176" name="value_type" type="_1199" context="_10763" access="public" location="f26:82" file="f26" line="82"/>
+  <Constructor id="_14177" name="simple_exception_policy" artificial="1" throw="" context="_10763" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEC1ERKS4_ *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month>::simple_exception_policy(boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month> const&)" location="f26:80" file="f26" line="80" [...]
+    <Argument name="_ctor_arg" type="_17360" location="f26:80" file="f26" line="80"/>
+  </Constructor>
+  <Constructor id="_14178" name="simple_exception_policy" explicit="1" artificial="1" throw="" context="_10763" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEEC1Ev *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month>::simple_exception_policy()" location="f26:80" file="f26" line="80" inline="1"/>
+  <Method id="_14179" name="min" returns="_1199" static="1" context="_10763" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEE3minEv" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month>::min()" location="f26:83" file="f26" line="83" endline="83" inline="1"/>
+  <Method id="_14180" name="max" returns="_1199" static="1" context="_10763" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEE3maxEv" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month>::max()" location="f26:84" file="f26" line="84" endline="84" inline="1"/>
+  <Method id="_14181" name="on_error" returns="_1194" static="1" context="_10763" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt12ENS_9gregorian9bad_monthEE8on_errorEttNS0_14violation_enumE" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 12, boost::gregorian::bad_month>::on_error(unsigned short, unsigned short, boost::CV::violation_enum)" location="f26:86" file="f26" line="86" endline="87" inline="1">
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_10790" location="f26:86" file="f26" line="86"/>
+  </Method>
+  <Constructor id="_14182" name="bad_month" artificial="1" context="_10765" access="public" mangled="_ZN5boost9gregorian9bad_monthC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::bad_month::bad_month(boost::gregorian::bad_month const&)" location="f26:87" file="f26" line="87" endline="87" inline="1">
+    <Argument name="_ctor_arg" type="_17361" location="f19:45" file="f19" line="45"/>
+  </Constructor>
+  <Destructor id="_14183" name="bad_month" virtual="1" artificial="1" throw="" context="_10765" access="public" mangled="_ZN5boost9gregorian9bad_monthD1Ev *INTERNAL* " demangled="boost::gregorian::bad_month::~bad_month()" location="f26:87" file="f26" line="87" endline="87" inline="1">
+  </Destructor>
+  <Constructor id="_14184" name="bad_month" explicit="1" context="_10765" access="public" mangled="_ZN5boost9gregorian9bad_monthC1Ev *INTERNAL* " demangled="boost::gregorian::bad_month::bad_month()" location="f19:46" file="f19" line="46" endline="46" inline="1"/>
+  <Constructor id="_14185" name="greg_year" artificial="1" throw="" context="_10768" access="public" mangled="_ZN5boost9gregorian9greg_yearC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::greg_year::greg_year(boost::gregorian::greg_year const&)" location="f23:39" file="f23" line="39" inline="1">
+    <Argument name="_ctor_arg" type="_17362" location="f23:39" file="f23" line="39"/>
+  </Constructor>
+  <Constructor id="_14186" name="greg_year" context="_10768" access="public" mangled="_ZN5boost9gregorian9greg_yearC1Et *INTERNAL* " demangled="boost::gregorian::greg_year::greg_year(unsigned short)" location="f23:41" file="f23" line="41" endline="41" inline="1">
+    <Argument name="year" type="_1199" location="f23:41" file="f23" line="41"/>
+  </Constructor>
+  <Converter id="_14187" name="operator 7" returns="_1199" const="1" context="_10768" access="public" mangled="_ZNK5boost9gregorian9greg_yearcvtEv" demangled="boost::gregorian::greg_year::operator unsigned short() const" location="f23:42" file="f23" line="42" endline="42" inline="1"/>
+  <Field id="_14188" name="value_" type="_1199" offset="0" context="_10769" access="protected" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEEE6value_E" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> >::value_" location="f26:57" file="f26" line="57"/>
+  <Typedef id="_14189" name="value_type" type="_1199" context="_10769" access="public" location="f26:39" file="f26" line="39"/>
+  <Constructor id="_14190" name="constrained_value" artificial="1" throw="" context="_10769" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEEEC1ERKS6_ *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> >::constrained_value(boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned shor [...]
+    <Argument name="_ctor_arg" type="_17363" location="f26:37" file="f26" line="37"/>
+  </Constructor>
+  <Constructor id="_14191" name="constrained_value" context="_10769" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEEEC1Et *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> >::constrained_value(unsigned short)" location="f26:42" file="f26" line="42" endline="43" inline="1">
+    <Argument name="value" type="_1199" location="f26:42" file="f26" line="42"/>
+  </Constructor>
+  <OperatorMethod id="_14192" name="=" returns="_17364" context="_10769" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEEEaSEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> >::operator=(unsigned short)" location="f26:46" file="f26" line="46" extern="1" inline="1">
+    <Argument name="v" type="_1199" location="f26:46" file="f26" line="46"/>
+  </OperatorMethod>
+  <Method id="_14193" name="max" returns="_1199" static="1" context="_10769" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEEE3maxEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> >::max()" location="f26:51" file="f26" line="51" endline="51" inline="1"/>
+  <Method id="_14194" name="min" returns="_1199" static="1" context="_10769" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEEE3minEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> >::min()" location="f26:53" file="f26" line="53" endline="53" inline="1"/>
+  <Converter id="_14195" name="operator 7" returns="_1199" const="1" context="_10769" access="public" mangled="_ZNK5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEEEcvtEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> >::operator unsigned short() const" location="f26:55" file="f26" line="55" extern="1" inline="1"/>
+  <Method id="_14196" name="assign" returns="_1194" context="_10769" access="private" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEEE6assignEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> >::assign(unsigned short)" location="f26:60" file="f26" line="60" endline="71" inline="1">
+    <Argument name="value" type="_1199" location="f26:60" file="f26" line="60"/>
+  </Method>
+  <Typedef id="_14197" name="value_type" type="_1199" context="_10771" access="public" location="f26:82" file="f26" line="82"/>
+  <Constructor id="_14198" name="simple_exception_policy" artificial="1" throw="" context="_10771" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEC1ERKS4_ *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year>::simple_exception_policy(boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year> const&)" location="f26:80" file= [...]
+    <Argument name="_ctor_arg" type="_17365" location="f26:80" file="f26" line="80"/>
+  </Constructor>
+  <Constructor id="_14199" name="simple_exception_policy" explicit="1" artificial="1" throw="" context="_10771" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEEC1Ev *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year>::simple_exception_policy()" location="f26:80" file="f26" line="80" inline="1"/>
+  <Method id="_14200" name="min" returns="_1199" static="1" context="_10771" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEE3minEv" demangled="boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year>::min()" location="f26:83" file="f26" line="83" endline="83" inline="1"/>
+  <Method id="_14201" name="max" returns="_1199" static="1" context="_10771" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEE3maxEv" demangled="boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year>::max()" location="f26:84" file="f26" line="84" endline="84" inline="1"/>
+  <Method id="_14202" name="on_error" returns="_1194" static="1" context="_10771" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1400ELt10000ENS_9gregorian8bad_yearEE8on_errorEttNS0_14violation_enumE" demangled="boost::CV::simple_exception_policy<unsigned short, 1400, 10000, boost::gregorian::bad_year>::on_error(unsigned short, unsigned short, boost::CV::violation_enum)" location="f26:86" file="f26" line="86" endline="87" inline="1">
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_10790" location="f26:86" file="f26" line="86"/>
+  </Method>
+  <Constructor id="_14203" name="bad_year" artificial="1" context="_10773" access="public" mangled="_ZN5boost9gregorian8bad_yearC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::bad_year::bad_year(boost::gregorian::bad_year const&)" location="f26:87" file="f26" line="87" endline="87" inline="1">
+    <Argument name="_ctor_arg" type="_17366" location="f23:21" file="f23" line="21"/>
+  </Constructor>
+  <Destructor id="_14204" name="bad_year" virtual="1" artificial="1" throw="" context="_10773" access="public" mangled="_ZN5boost9gregorian8bad_yearD1Ev *INTERNAL* " demangled="boost::gregorian::bad_year::~bad_year()" location="f26:87" file="f26" line="87" endline="87" inline="1">
+  </Destructor>
+  <Constructor id="_14205" name="bad_year" explicit="1" context="_10773" access="public" mangled="_ZN5boost9gregorian8bad_yearC1Ev *INTERNAL* " demangled="boost::gregorian::bad_year::bad_year()" location="f23:22" file="f23" line="22" endline="24" inline="1"/>
+  <Field id="_14206" name="value_" type="_1199" offset="0" context="_10774" access="protected" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEEE6value_E" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> >::value_" location="f26:57" file="f26" line="57"/>
+  <Typedef id="_14207" name="value_type" type="_1199" context="_10774" access="public" location="f26:39" file="f26" line="39"/>
+  <Constructor id="_14208" name="constrained_value" artificial="1" throw="" context="_10774" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEEEC1ERKS6_ *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> >::constrained_value(boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned [...]
+    <Argument name="_ctor_arg" type="_17367" location="f26:37" file="f26" line="37"/>
+  </Constructor>
+  <Constructor id="_14209" name="constrained_value" context="_10774" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEEEC1Et *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> >::constrained_value(unsigned short)" location="f26:42" file="f26" line="42" endline="43" inline="1">
+    <Argument name="value" type="_1199" location="f26:42" file="f26" line="42"/>
+  </Constructor>
+  <OperatorMethod id="_14210" name="=" returns="_17368" context="_10774" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEEEaSEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> >::operator=(unsigned short)" location="f26:46" file="f26" line="46" extern="1" inline="1">
+    <Argument name="v" type="_1199" location="f26:46" file="f26" line="46"/>
+  </OperatorMethod>
+  <Method id="_14211" name="max" returns="_1199" static="1" context="_10774" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEEE3maxEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> >::max()" location="f26:51" file="f26" line="51" endline="51" inline="1"/>
+  <Method id="_14212" name="min" returns="_1199" static="1" context="_10774" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEEE3minEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> >::min()" location="f26:53" file="f26" line="53" endline="53" inline="1"/>
+  <Converter id="_14213" name="operator 7" returns="_1199" const="1" context="_10774" access="public" mangled="_ZNK5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEEEcvtEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> >::operator unsigned short() const" location="f26:55" file="f26" line="55" extern="1" inline="1"/>
+  <Method id="_14214" name="assign" returns="_1194" context="_10774" access="private" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEEE6assignEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> >::assign(unsigned short)" location="f26:60" file="f26" line="60" endline="71" inline="1">
+    <Argument name="value" type="_1199" location="f26:60" file="f26" line="60"/>
+  </Method>
+  <Typedef id="_14215" name="value_type" type="_1199" context="_10776" access="public" location="f26:82" file="f26" line="82"/>
+  <Constructor id="_14216" name="simple_exception_policy" artificial="1" throw="" context="_10776" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEC1ERKS4_ *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month>::simple_exception_policy(boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month> const&)" location="f26:80 [...]
+    <Argument name="_ctor_arg" type="_17369" location="f26:80" file="f26" line="80"/>
+  </Constructor>
+  <Constructor id="_14217" name="simple_exception_policy" explicit="1" artificial="1" throw="" context="_10776" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEEC1Ev *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month>::simple_exception_policy()" location="f26:80" file="f26" line="80" inline="1"/>
+  <Method id="_14218" name="min" returns="_1199" static="1" context="_10776" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEE3minEv" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month>::min()" location="f26:83" file="f26" line="83" endline="83" inline="1"/>
+  <Method id="_14219" name="max" returns="_1199" static="1" context="_10776" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEE3maxEv" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month>::max()" location="f26:84" file="f26" line="84" endline="84" inline="1"/>
+  <Method id="_14220" name="on_error" returns="_1194" static="1" context="_10776" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt31ENS_9gregorian16bad_day_of_monthEE8on_errorEttNS0_14violation_enumE" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 31, boost::gregorian::bad_day_of_month>::on_error(unsigned short, unsigned short, boost::CV::violation_enum)" location="f26:86" file="f26" line="86" endline="87" inline="1">
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_10790" location="f26:86" file="f26" line="86"/>
+  </Method>
+  <Constructor id="_14221" name="bad_day_of_month" artificial="1" context="_10778" access="public" mangled="_ZN5boost9gregorian16bad_day_of_monthC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::bad_day_of_month::bad_day_of_month(boost::gregorian::bad_day_of_month const&)" location="f26:87" file="f26" line="87" endline="87" inline="1">
+    <Argument name="_ctor_arg" type="_17370" location="f24:21" file="f24" line="21"/>
+  </Constructor>
+  <Destructor id="_14222" name="bad_day_of_month" virtual="1" artificial="1" throw="" context="_10778" access="public" mangled="_ZN5boost9gregorian16bad_day_of_monthD1Ev *INTERNAL* " demangled="boost::gregorian::bad_day_of_month::~bad_day_of_month()" location="f26:87" file="f26" line="87" endline="87" inline="1">
+  </Destructor>
+  <Constructor id="_14223" name="bad_day_of_month" explicit="1" context="_10778" access="public" mangled="_ZN5boost9gregorian16bad_day_of_monthC1Ev *INTERNAL* " demangled="boost::gregorian::bad_day_of_month::bad_day_of_month()" location="f24:22" file="f24" line="22" endline="24" inline="1"/>
+  <Constructor id="_14224" name="bad_day_of_month" context="_10778" access="public" mangled="_ZN5boost9gregorian16bad_day_of_monthC1ERKSs *INTERNAL* " demangled="boost::gregorian::bad_day_of_month::bad_day_of_month(std::string const&)" location="f24:26" file="f24" line="26" endline="28" inline="1">
+    <Argument name="s" type="_4020" location="f24:26" file="f24" line="26"/>
+  </Constructor>
+  <Field id="_14225" name="value_" type="_1199" offset="0" context="_10779" access="protected" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEEE6value_E" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >::value_" location="f26:57" file="f26" line="57"/>
+  <Typedef id="_14226" name="value_type" type="_1199" context="_10779" access="public" location="f26:39" file="f26" line="39"/>
+  <Constructor id="_14227" name="constrained_value" artificial="1" throw="" context="_10779" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEEEC1ERKS6_ *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >::constrained_value(boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned [...]
+    <Argument name="_ctor_arg" type="_17371" location="f26:37" file="f26" line="37"/>
+  </Constructor>
+  <Constructor id="_14228" name="constrained_value" context="_10779" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEEEC1Et *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >::constrained_value(unsigned short)" location="f26:42" file="f26" line="42" endline="43" inline="1">
+    <Argument name="value" type="_1199" location="f26:42" file="f26" line="42"/>
+  </Constructor>
+  <OperatorMethod id="_14229" name="=" returns="_17372" context="_10779" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEEEaSEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >::operator=(unsigned short)" location="f26:46" file="f26" line="46" extern="1" inline="1">
+    <Argument name="v" type="_1199" location="f26:46" file="f26" line="46"/>
+  </OperatorMethod>
+  <Method id="_14230" name="max" returns="_1199" static="1" context="_10779" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEEE3maxEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >::max()" location="f26:51" file="f26" line="51" endline="51" inline="1"/>
+  <Method id="_14231" name="min" returns="_1199" static="1" context="_10779" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEEE3minEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >::min()" location="f26:53" file="f26" line="53" endline="53" inline="1"/>
+  <Converter id="_14232" name="operator 7" returns="_1199" const="1" context="_10779" access="public" mangled="_ZNK5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEEEcvtEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >::operator unsigned short() const" location="f26:55" file="f26" line="55" endline="55" inline="1"/>
+  <Method id="_14233" name="assign" returns="_1194" context="_10779" access="private" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEEE6assignEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> >::assign(unsigned short)" location="f26:60" file="f26" line="60" endline="71" inline="1">
+    <Argument name="value" type="_1199" location="f26:60" file="f26" line="60"/>
+  </Method>
+  <Typedef id="_14234" name="value_type" type="_1199" context="_10781" access="public" location="f26:82" file="f26" line="82"/>
+  <Constructor id="_14235" name="simple_exception_policy" artificial="1" throw="" context="_10781" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEC1ERKS4_ *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year>::simple_exception_policy(boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year> const&)" location="f26:80 [...]
+    <Argument name="_ctor_arg" type="_17373" location="f26:80" file="f26" line="80"/>
+  </Constructor>
+  <Constructor id="_14236" name="simple_exception_policy" explicit="1" artificial="1" throw="" context="_10781" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEEC1Ev *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year>::simple_exception_policy()" location="f26:80" file="f26" line="80" inline="1"/>
+  <Method id="_14237" name="min" returns="_1199" static="1" context="_10781" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEE3minEv" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year>::min()" location="f26:83" file="f26" line="83" endline="83" inline="1"/>
+  <Method id="_14238" name="max" returns="_1199" static="1" context="_10781" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEE3maxEv" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year>::max()" location="f26:84" file="f26" line="84" endline="84" inline="1"/>
+  <Method id="_14239" name="on_error" returns="_1194" static="1" context="_10781" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt1ELt366ENS_9gregorian15bad_day_of_yearEE8on_errorEttNS0_14violation_enumE" demangled="boost::CV::simple_exception_policy<unsigned short, 1, 366, boost::gregorian::bad_day_of_year>::on_error(unsigned short, unsigned short, boost::CV::violation_enum)" location="f26:86" file="f26" line="86" endline="87" inline="1">
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_10790" location="f26:86" file="f26" line="86"/>
+  </Method>
+  <Constructor id="_14240" name="bad_day_of_year" artificial="1" context="_10783" access="public" mangled="_ZN5boost9gregorian15bad_day_of_yearC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::bad_day_of_year::bad_day_of_year(boost::gregorian::bad_day_of_year const&)" location="f26:87" file="f26" line="87" endline="87" inline="1">
+    <Argument name="_ctor_arg" type="_17374" location="f25:21" file="f25" line="21"/>
+  </Constructor>
+  <Destructor id="_14241" name="bad_day_of_year" virtual="1" artificial="1" throw="" context="_10783" access="public" mangled="_ZN5boost9gregorian15bad_day_of_yearD1Ev *INTERNAL* " demangled="boost::gregorian::bad_day_of_year::~bad_day_of_year()" location="f26:87" file="f26" line="87" endline="87" inline="1">
+  </Destructor>
+  <Constructor id="_14242" name="bad_day_of_year" explicit="1" context="_10783" access="public" mangled="_ZN5boost9gregorian15bad_day_of_yearC1Ev *INTERNAL* " demangled="boost::gregorian::bad_day_of_year::bad_day_of_year()" location="f25:22" file="f25" line="22" endline="24" inline="1"/>
+  <Typedef id="_14243" name="weekday_enum" type="_11273" context="_10784" access="public" location="f27:43" file="f27" line="43"/>
+  <Constructor id="_14244" name="greg_weekday" artificial="1" throw="" context="_10784" access="public" mangled="_ZN5boost9gregorian12greg_weekdayC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::greg_weekday::greg_weekday(boost::gregorian::greg_weekday const&)" location="f27:41" file="f27" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_13802" location="f27:41" file="f27" line="41"/>
+  </Constructor>
+  <Constructor id="_14245" name="greg_weekday" context="_10784" access="public" mangled="_ZN5boost9gregorian12greg_weekdayC1Et *INTERNAL* " demangled="boost::gregorian::greg_weekday::greg_weekday(unsigned short)" location="f27:44" file="f27" line="44" endline="46" inline="1">
+    <Argument name="day_of_week_num" type="_1199" location="f27:44" file="f27" line="44"/>
+  </Constructor>
+  <Method id="_14246" name="as_number" returns="_1199" const="1" context="_10784" access="public" mangled="_ZNK5boost9gregorian12greg_weekday9as_numberEv" demangled="boost::gregorian::greg_weekday::as_number() const" location="f27:48" file="f27" line="48" endline="48" inline="1"/>
+  <Method id="_14247" name="as_short_string" returns="_2749" const="1" context="_10784" access="public" mangled="_ZNK5boost9gregorian12greg_weekday15as_short_stringEv" demangled="boost::gregorian::greg_weekday::as_short_string() const" location="f27:49" file="f27" line="49" extern="1"/>
+  <Method id="_14248" name="as_long_string" returns="_2749" const="1" context="_10784" access="public" mangled="_ZNK5boost9gregorian12greg_weekday14as_long_stringEv" demangled="boost::gregorian::greg_weekday::as_long_string() const" location="f27:50" file="f27" line="50" extern="1"/>
+  <Method id="_14249" name="as_short_wstring" returns="_2780" const="1" context="_10784" access="public" mangled="_ZNK5boost9gregorian12greg_weekday16as_short_wstringEv" demangled="boost::gregorian::greg_weekday::as_short_wstring() const" location="f27:52" file="f27" line="52" extern="1"/>
+  <Method id="_14250" name="as_long_wstring" returns="_2780" const="1" context="_10784" access="public" mangled="_ZNK5boost9gregorian12greg_weekday15as_long_wstringEv" demangled="boost::gregorian::greg_weekday::as_long_wstring() const" location="f27:53" file="f27" line="53" extern="1"/>
+  <Method id="_14251" name="as_enum" returns="_11273" const="1" context="_10784" access="public" mangled="_ZNK5boost9gregorian12greg_weekday7as_enumEv" demangled="boost::gregorian::greg_weekday::as_enum() const" location="f27:55" file="f27" line="55" endline="55" inline="1"/>
+  <Field id="_14252" name="value_" type="_1199" offset="0" context="_10785" access="protected" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEEE6value_E" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> >::value_" location="f26:57" file="f26" line="57"/>
+  <Typedef id="_14253" name="value_type" type="_1199" context="_10785" access="public" location="f26:39" file="f26" line="39"/>
+  <Constructor id="_14254" name="constrained_value" artificial="1" throw="" context="_10785" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEEEC1ERKS6_ *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> >::constrained_value(boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6 [...]
+    <Argument name="_ctor_arg" type="_17375" location="f26:37" file="f26" line="37"/>
+  </Constructor>
+  <Constructor id="_14255" name="constrained_value" context="_10785" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEEEC1Et *INTERNAL* " demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> >::constrained_value(unsigned short)" location="f26:42" file="f26" line="42" endline="43" inline="1">
+    <Argument name="value" type="_1199" location="f26:42" file="f26" line="42"/>
+  </Constructor>
+  <OperatorMethod id="_14256" name="=" returns="_17376" context="_10785" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEEEaSEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> >::operator=(unsigned short)" location="f26:46" file="f26" line="46" extern="1" inline="1">
+    <Argument name="v" type="_1199" location="f26:46" file="f26" line="46"/>
+  </OperatorMethod>
+  <Method id="_14257" name="max" returns="_1199" static="1" context="_10785" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEEE3maxEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> >::max()" location="f26:51" file="f26" line="51" endline="51" inline="1"/>
+  <Method id="_14258" name="min" returns="_1199" static="1" context="_10785" access="public" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEEE3minEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> >::min()" location="f26:53" file="f26" line="53" endline="53" inline="1"/>
+  <Converter id="_14259" name="operator 7" returns="_1199" const="1" context="_10785" access="public" mangled="_ZNK5boost2CV17constrained_valueINS0_23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEEEcvtEv" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> >::operator unsigned short() const" location="f26:55" file="f26" line="55" endline="55" inline="1"/>
+  <Method id="_14260" name="assign" returns="_1194" context="_10785" access="private" mangled="_ZN5boost2CV17constrained_valueINS0_23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEEE6assignEt" demangled="boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> >::assign(unsigned short)" location="f26:60" file="f26" line="60" endline="71" inline="1">
+    <Argument name="value" type="_1199" location="f26:60" file="f26" line="60"/>
+  </Method>
+  <Typedef id="_14261" name="value_type" type="_1199" context="_10787" access="public" location="f26:82" file="f26" line="82"/>
+  <Constructor id="_14262" name="simple_exception_policy" artificial="1" throw="" context="_10787" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEC1ERKS4_ *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday>::simple_exception_policy(boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday> const&)" location="f26:80" file="f26" line= [...]
+    <Argument name="_ctor_arg" type="_17377" location="f26:80" file="f26" line="80"/>
+  </Constructor>
+  <Constructor id="_14263" name="simple_exception_policy" explicit="1" artificial="1" throw="" context="_10787" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEEC1Ev *INTERNAL* " demangled="boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday>::simple_exception_policy()" location="f26:80" file="f26" line="80" inline="1"/>
+  <Method id="_14264" name="min" returns="_1199" static="1" context="_10787" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEE3minEv" demangled="boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday>::min()" location="f26:83" file="f26" line="83" endline="83" inline="1"/>
+  <Method id="_14265" name="max" returns="_1199" static="1" context="_10787" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEE3maxEv" demangled="boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday>::max()" location="f26:84" file="f26" line="84" endline="84" inline="1"/>
+  <Method id="_14266" name="on_error" returns="_1194" static="1" context="_10787" access="public" mangled="_ZN5boost2CV23simple_exception_policyItLt0ELt6ENS_9gregorian11bad_weekdayEE8on_errorEttNS0_14violation_enumE" demangled="boost::CV::simple_exception_policy<unsigned short, 0, 6, boost::gregorian::bad_weekday>::on_error(unsigned short, unsigned short, boost::CV::violation_enum)" location="f26:86" file="f26" line="86" endline="87" inline="1">
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_1199" location="f26:86" file="f26" line="86"/>
+    <Argument type="_10790" location="f26:86" file="f26" line="86"/>
+  </Method>
+  <Constructor id="_14267" name="bad_weekday" artificial="1" context="_10789" access="public" mangled="_ZN5boost9gregorian11bad_weekdayC1ERKS1_ *INTERNAL* " demangled="boost::gregorian::bad_weekday::bad_weekday(boost::gregorian::bad_weekday const&)" location="f26:87" file="f26" line="87" endline="87" inline="1">
+    <Argument name="_ctor_arg" type="_17378" location="f27:33" file="f27" line="33"/>
+  </Constructor>
+  <Destructor id="_14268" name="bad_weekday" virtual="1" artificial="1" throw="" context="_10789" access="public" mangled="_ZN5boost9gregorian11bad_weekdayD1Ev *INTERNAL* " demangled="boost::gregorian::bad_weekday::~bad_weekday()" location="f26:87" file="f26" line="87" endline="87" inline="1">
+  </Destructor>
+  <Constructor id="_14269" name="bad_weekday" explicit="1" context="_10789" access="public" mangled="_ZN5boost9gregorian11bad_weekdayC1Ev *INTERNAL* " demangled="boost::gregorian::bad_weekday::bad_weekday()" location="f27:34" file="f27" line="34" endline="34" inline="1"/>
+  <Typedef id="_14270" name="outer" type="_10793" context="_10791" access="public" location="f284:88" file="f284" line="88"/>
+  <Struct id="_14271" name="apply<boost::forward_traversal_tag,boost::random_access_traversal_tag>" context="_10793" access="public" mangled="N5boost6detail21minimum_category_implILb0ELb1EE5applyINS_21forward_traversal_tagENS_27random_access_traversal_tagEEE" demangled="boost::detail::minimum_category_impl<false, true>::apply<boost::forward_traversal_tag, boost::random_access_traversal_tag>" location="f284:52" file="f284" line="52" artificial="1" size="8" align="8" memb [...]
+  <Typedef id="_14272" name="inner" type="_14271" context="_10791" access="public" location="f284:90" file="f284" line="90"/>
+  <Typedef id="_14273" name="type" type="_3529" context="_10791" access="public" location="f284:91" file="f284" line="91"/>
+  <Constructor id="_14274" name="minimum_category" artificial="1" throw="" context="_10791" access="public" mangled="_ZN5boost6detail16minimum_categoryINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::minimum_category<boost::forward_traversal_tag, boost::random_access_traversal_tag>::minimum_category(boost::detail::minimum_category<boost::forward_traversal_tag, boost::random_access_traversal_tag> const&)" locatio [...]
+    <Argument name="_ctor_arg" type="_17382" location="f284:78" file="f284" line="78"/>
+  </Constructor>
+  <Constructor id="_14275" name="minimum_category" explicit="1" artificial="1" throw="" context="_10791" access="public" mangled="_ZN5boost6detail16minimum_categoryINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::minimum_category<boost::forward_traversal_tag, boost::random_access_traversal_tag>::minimum_category()" location="f284:78" file="f284" line="78" inline="1"/>
+  <Constructor id="_14276" name="minimum_category" artificial="1" throw="" context="_10792" access="public" mangled="_ZN5boost6detail16minimum_categoryIN4mpl_3argILi1EEENS3_ILi2EEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::minimum_category<mpl_::arg<1>, mpl_::arg<2> >::minimum_category(boost::detail::minimum_category<mpl_::arg<1>, mpl_::arg<2> > const&)" location="f284:98" file="f284" line="98" inline="1">
+    <Argument name="_ctor_arg" type="_17383" location="f284:98" file="f284" line="98"/>
+  </Constructor>
+  <Constructor id="_14277" name="minimum_category" explicit="1" artificial="1" throw="" context="_10792" access="public" mangled="_ZN5boost6detail16minimum_categoryIN4mpl_3argILi1EEENS3_ILi2EEEEC1Ev *INTERNAL* " demangled="boost::detail::minimum_category<mpl_::arg<1>, mpl_::arg<2> >::minimum_category()" location="f284:98" file="f284" line="98" inline="1"/>
+  <Constructor id="_14278" name="minimum_category_impl" artificial="1" throw="" context="_10793" access="public" mangled="_ZN5boost6detail21minimum_category_implILb0ELb1EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::minimum_category_impl<false, true>::minimum_category_impl(boost::detail::minimum_category_impl<false, true> const&)" location="f284:50" file="f284" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17384" location="f284:50" file="f284" line="50"/>
+  </Constructor>
+  <Constructor id="_14279" name="minimum_category_impl" explicit="1" artificial="1" throw="" context="_10793" access="public" mangled="_ZN5boost6detail21minimum_category_implILb0ELb1EEC1Ev *INTERNAL* " demangled="boost::detail::minimum_category_impl<false, true>::minimum_category_impl()" location="f284:50" file="f284" line="50" inline="1"/>
+  <Constructor id="_14280" name="minimum_category_impl" artificial="1" throw="" context="_10794" access="public" mangled="_ZN5boost6detail21minimum_category_implILb0ELb0EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::minimum_category_impl<false, false>::minimum_category_impl(boost::detail::minimum_category_impl<false, false> const&)" location="f284:69" file="f284" line="69" inline="1">
+    <Argument name="_ctor_arg" type="_17385" location="f284:69" file="f284" line="69"/>
+  </Constructor>
+  <Constructor id="_14281" name="minimum_category_impl" explicit="1" artificial="1" throw="" context="_10794" access="public" mangled="_ZN5boost6detail21minimum_category_implILb0ELb0EEC1Ev *INTERNAL* " demangled="boost::detail::minimum_category_impl<false, false>::minimum_category_impl()" location="f284:69" file="f284" line="69" inline="1"/>
+  <Constructor id="_14282" name="minimum_category_impl" artificial="1" throw="" context="_10795" access="public" mangled="_ZN5boost6detail21minimum_category_implILb1ELb1EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::minimum_category_impl<true, true>::minimum_category_impl(boost::detail::minimum_category_impl<true, true> const&)" location="f284:59" file="f284" line="59" inline="1">
+    <Argument name="_ctor_arg" type="_17386" location="f284:59" file="f284" line="59"/>
+  </Constructor>
+  <Constructor id="_14283" name="minimum_category_impl" explicit="1" artificial="1" throw="" context="_10795" access="public" mangled="_ZN5boost6detail21minimum_category_implILb1ELb1EEC1Ev *INTERNAL* " demangled="boost::detail::minimum_category_impl<true, true>::minimum_category_impl()" location="f284:59" file="f284" line="59" inline="1"/>
+  <Constructor id="_14284" name="minimum_category_impl" artificial="1" throw="" context="_10796" access="public" mangled="_ZN5boost6detail21minimum_category_implILb1ELb0EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::minimum_category_impl<true, false>::minimum_category_impl(boost::detail::minimum_category_impl<true, false> const&)" location="f284:41" file="f284" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_17387" location="f284:41" file="f284" line="41"/>
+  </Constructor>
+  <Constructor id="_14285" name="minimum_category_impl" explicit="1" artificial="1" throw="" context="_10796" access="public" mangled="_ZN5boost6detail21minimum_category_implILb1ELb0EEC1Ev *INTERNAL* " demangled="boost::detail::minimum_category_impl<true, false>::minimum_category_impl()" location="f284:41" file="f284" line="41" inline="1"/>
+  <Variable id="_14286" name="value" type="_1698c" init="4" context="_10797" access="public" mangled="_ZN5boost6detail17alignment_of_implINS0_8function15function_bufferEE5valueE" demangled="boost::detail::alignment_of_impl<boost::detail::function::function_buffer>::value" location="f133:52" file="f133" line="52" extern="1"/>
+  <Constructor id="_14287" name="alignment_of_impl" artificial="1" throw="" context="_10797" access="public" mangled="_ZN5boost6detail17alignment_of_implINS0_8function15function_bufferEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::alignment_of_impl<boost::detail::function::function_buffer>::alignment_of_impl(boost::detail::alignment_of_impl<boost::detail::function::function_buffer> const&)" location="f133:51" file="f133" line="51" inline="1">
+    <Argument name="_ctor_arg" type="_17388" location="f133:51" file="f133" line="51"/>
+  </Constructor>
+  <Constructor id="_14288" name="alignment_of_impl" explicit="1" artificial="1" throw="" context="_10797" access="public" mangled="_ZN5boost6detail17alignment_of_implINS0_8function15function_bufferEEC1Ev *INTERNAL* " demangled="boost::detail::alignment_of_impl<boost::detail::function::function_buffer>::alignment_of_impl()" location="f133:51" file="f133" line="51" inline="1"/>
+  <Variable id="_14289" name="value" type="_1698c" init="4" context="_10798" access="public" mangled="_ZN5boost6detail15alignment_logicILj4ELj12EE5valueE" demangled="boost::detail::alignment_logic<4, 12>::value" location="f133:45" file="f133" line="45" extern="1"/>
+  <Constructor id="_14290" name="alignment_logic" artificial="1" throw="" context="_10798" access="public" mangled="_ZN5boost6detail15alignment_logicILj4ELj12EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::alignment_logic<4, 12>::alignment_logic(boost::detail::alignment_logic<4, 12> const&)" location="f133:44" file="f133" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_17389" location="f133:44" file="f133" line="44"/>
+  </Constructor>
+  <Constructor id="_14291" name="alignment_logic" explicit="1" artificial="1" throw="" context="_10798" access="public" mangled="_ZN5boost6detail15alignment_logicILj4ELj12EEC1Ev *INTERNAL* " demangled="boost::detail::alignment_logic<4, 12>::alignment_logic()" location="f133:44" file="f133" line="44" inline="1"/>
+  <Variable id="_14292" name="value" type="_1698c" init="((A < S) ? A : S)" context="_0" access="public" mangled="_ZN5boost6detail15alignment_logicIXT_EXT0_EE5valueE" location="f133:45" file="f133" line="45" extern="1"/>
+  <Field id="_14293" name="c" type="_2961" offset="0" context="_10800" access="public" mangled="_ZN5boost6detail17alignment_of_hackINS0_8function15function_bufferEE1cE" demangled="boost::detail::alignment_of_hack<boost::detail::function::function_buffer>::c" location="f133:36" file="f133" line="36"/>
+  <Field id="_14294" name="t" type="_12097" offset="32" context="_10800" access="public" mangled="_ZN5boost6detail17alignment_of_hackINS0_8function15function_bufferEE1tE" demangled="boost::detail::alignment_of_hack<boost::detail::function::function_buffer>::t" location="f133:37" file="f133" line="37"/>
+  <Constructor id="_14295" name="alignment_of_hack" artificial="1" throw="" context="_10800" access="public" mangled="_ZN5boost6detail17alignment_of_hackINS0_8function15function_bufferEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::alignment_of_hack<boost::detail::function::function_buffer>::alignment_of_hack(boost::detail::alignment_of_hack<boost::detail::function::function_buffer> const&)" location="f133:35" file="f133" line="35" inline="1">
+    <Argument name="_ctor_arg" type="_17390" location="f133:35" file="f133" line="35"/>
+  </Constructor>
+  <Constructor id="_14296" name="alignment_of_hack" explicit="1" context="_10800" access="public" mangled="_ZN5boost6detail17alignment_of_hackINS0_8function15function_bufferEEC1Ev *INTERNAL* " demangled="boost::detail::alignment_of_hack<boost::detail::function::function_buffer>::alignment_of_hack()" location="f133:38" file="f133" line="38" extern="1"/>
+  <Typedef id="_14297" name="type" type="_2508" context="_10805" access="public" location="f2:1008" file="f2" line="1008"/>
+  <Constructor id="_14298" name="array_to_pointer_decay" artificial="1" throw="" context="_10805" access="public" mangled="_ZN5boost6detail22array_to_pointer_decayISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::array_to_pointer_decay<std::string>::array_to_pointer_decay(boost::detail::array_to_pointer_decay<std::string> const&)" location="f2:1007" file="f2" line="1007" inline="1">
+    <Argument name="_ctor_arg" type="_17391" location="f2:1007" file="f2" line="1007"/>
+  </Constructor>
+  <Constructor id="_14299" name="array_to_pointer_decay" explicit="1" artificial="1" throw="" context="_10805" access="public" mangled="_ZN5boost6detail22array_to_pointer_decayISsEC1Ev *INTERNAL* " demangled="boost::detail::array_to_pointer_decay<std::string>::array_to_pointer_decay()" location="f2:1007" file="f2" line="1007" inline="1"/>
+  <Variable id="_14300" name="value" type="_3949c" init="true" context="_10806" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIsE5valueE" demangled="boost::detail::lcast_streambuf_for_target<short>::value" location="f2:949" file="f2" line="949" extern="1"/>
+  <Constructor id="_14301" name="lcast_streambuf_for_target" artificial="1" throw="" context="_10806" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<short>::lcast_streambuf_for_target(boost::detail::lcast_streambuf_for_target<short> const&)" location="f2:948" file="f2" line="948" inline="1">
+    <Argument name="_ctor_arg" type="_17392" location="f2:948" file="f2" line="948"/>
+  </Constructor>
+  <Constructor id="_14302" name="lcast_streambuf_for_target" explicit="1" artificial="1" throw="" context="_10806" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIsEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<short>::lcast_streambuf_for_target()" location="f2:948" file="f2" line="948" inline="1"/>
+  <Variable id="_14303" name="value" type="_3949c" init="true" context="_10807" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIxE5valueE" demangled="boost::detail::lcast_streambuf_for_target<long long>::value" location="f2:949" file="f2" line="949" extern="1"/>
+  <Constructor id="_14304" name="lcast_streambuf_for_target" artificial="1" throw="" context="_10807" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIxEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<long long>::lcast_streambuf_for_target(boost::detail::lcast_streambuf_for_target<long long> const&)" location="f2:948" file="f2" line="948" inline="1">
+    <Argument name="_ctor_arg" type="_17393" location="f2:948" file="f2" line="948"/>
+  </Constructor>
+  <Constructor id="_14305" name="lcast_streambuf_for_target" explicit="1" artificial="1" throw="" context="_10807" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIxEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<long long>::lcast_streambuf_for_target()" location="f2:948" file="f2" line="948" inline="1"/>
+  <Variable id="_14306" name="value" type="_3949c" init="true" context="_10808" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIiE5valueE" demangled="boost::detail::lcast_streambuf_for_target<int>::value" location="f2:949" file="f2" line="949" extern="1"/>
+  <Constructor id="_14307" name="lcast_streambuf_for_target" artificial="1" throw="" context="_10808" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIiEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<int>::lcast_streambuf_for_target(boost::detail::lcast_streambuf_for_target<int> const&)" location="f2:948" file="f2" line="948" inline="1">
+    <Argument name="_ctor_arg" type="_17394" location="f2:948" file="f2" line="948"/>
+  </Constructor>
+  <Constructor id="_14308" name="lcast_streambuf_for_target" explicit="1" artificial="1" throw="" context="_10808" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIiEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<int>::lcast_streambuf_for_target()" location="f2:948" file="f2" line="948" inline="1"/>
+  <Variable id="_14309" name="value" type="_3949c" init="true" context="_10809" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetItE5valueE" demangled="boost::detail::lcast_streambuf_for_target<unsigned short>::value" location="f2:949" file="f2" line="949" extern="1"/>
+  <Constructor id="_14310" name="lcast_streambuf_for_target" artificial="1" throw="" context="_10809" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetItEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<unsigned short>::lcast_streambuf_for_target(boost::detail::lcast_streambuf_for_target<unsigned short> const&)" location="f2:948" file="f2" line="948" inline="1">
+    <Argument name="_ctor_arg" type="_17395" location="f2:948" file="f2" line="948"/>
+  </Constructor>
+  <Constructor id="_14311" name="lcast_streambuf_for_target" explicit="1" artificial="1" throw="" context="_10809" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetItEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<unsigned short>::lcast_streambuf_for_target()" location="f2:948" file="f2" line="948" inline="1"/>
+  <Variable id="_14312" name="value" type="_3949c" init="false" context="_10810" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIwE5valueE" demangled="boost::detail::lcast_streambuf_for_target<wchar_t>::value" location="f2:962" file="f2" line="962" extern="1"/>
+  <Constructor id="_14313" name="lcast_streambuf_for_target" artificial="1" throw="" context="_10810" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIwEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<wchar_t>::lcast_streambuf_for_target(boost::detail::lcast_streambuf_for_target<wchar_t> const&)" location="f2:961" file="f2" line="961" inline="1">
+    <Argument name="_ctor_arg" type="_17396" location="f2:961" file="f2" line="961"/>
+  </Constructor>
+  <Constructor id="_14314" name="lcast_streambuf_for_target" explicit="1" artificial="1" throw="" context="_10810" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIwEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<wchar_t>::lcast_streambuf_for_target()" location="f2:961" file="f2" line="961" inline="1"/>
+  <Variable id="_14315" name="value" type="_3949c" init="false" context="_10811" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIcE5valueE" demangled="boost::detail::lcast_streambuf_for_target<char>::value" location="f2:955" file="f2" line="955" extern="1"/>
+  <Constructor id="_14316" name="lcast_streambuf_for_target" artificial="1" throw="" context="_10811" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIcEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<char>::lcast_streambuf_for_target(boost::detail::lcast_streambuf_for_target<char> const&)" location="f2:954" file="f2" line="954" inline="1">
+    <Argument name="_ctor_arg" type="_17397" location="f2:954" file="f2" line="954"/>
+  </Constructor>
+  <Constructor id="_14317" name="lcast_streambuf_for_target" explicit="1" artificial="1" throw="" context="_10811" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_targetIcEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_target<char>::lcast_streambuf_for_target()" location="f2:954" file="f2" line="954" inline="1"/>
+  <Variable id="_14318" name="value" type="_3949c" init="false" context="_10812" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceISsE5valueE" demangled="boost::detail::lcast_streambuf_for_source<std::string>::value" location="f2:921" file="f2" line="921" extern="1"/>
+  <Constructor id="_14319" name="lcast_streambuf_for_source" artificial="1" throw="" context="_10812" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_source<std::string>::lcast_streambuf_for_source(boost::detail::lcast_streambuf_for_source<std::string> const&)" location="f2:920" file="f2" line="920" inline="1">
+    <Argument name="_ctor_arg" type="_17398" location="f2:920" file="f2" line="920"/>
+  </Constructor>
+  <Constructor id="_14320" name="lcast_streambuf_for_source" explicit="1" artificial="1" throw="" context="_10812" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceISsEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_source<std::string>::lcast_streambuf_for_source()" location="f2:920" file="f2" line="920" inline="1"/>
+  <Variable id="_14321" name="value" type="_3949c" init="true" context="_10813" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceIeE5valueE" demangled="boost::detail::lcast_streambuf_for_source<long double>::value" location="f2:939" file="f2" line="939" extern="1"/>
+  <Constructor id="_14322" name="lcast_streambuf_for_source" artificial="1" throw="" context="_10813" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceIeEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_source<long double>::lcast_streambuf_for_source(boost::detail::lcast_streambuf_for_source<long double> const&)" location="f2:938" file="f2" line="938" inline="1">
+    <Argument name="_ctor_arg" type="_17399" location="f2:938" file="f2" line="938"/>
+  </Constructor>
+  <Constructor id="_14323" name="lcast_streambuf_for_source" explicit="1" artificial="1" throw="" context="_10813" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceIeEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_source<long double>::lcast_streambuf_for_source()" location="f2:938" file="f2" line="938" inline="1"/>
+  <Variable id="_14324" name="value" type="_3949c" init="true" context="_10814" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceIdE5valueE" demangled="boost::detail::lcast_streambuf_for_source<double>::value" location="f2:933" file="f2" line="933" extern="1"/>
+  <Constructor id="_14325" name="lcast_streambuf_for_source" artificial="1" throw="" context="_10814" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceIdEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_source<double>::lcast_streambuf_for_source(boost::detail::lcast_streambuf_for_source<double> const&)" location="f2:932" file="f2" line="932" inline="1">
+    <Argument name="_ctor_arg" type="_17400" location="f2:932" file="f2" line="932"/>
+  </Constructor>
+  <Constructor id="_14326" name="lcast_streambuf_for_source" explicit="1" artificial="1" throw="" context="_10814" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceIdEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_source<double>::lcast_streambuf_for_source()" location="f2:932" file="f2" line="932" inline="1"/>
+  <Variable id="_14327" name="value" type="_3949c" init="true" context="_10815" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceIfE5valueE" demangled="boost::detail::lcast_streambuf_for_source<float>::value" location="f2:927" file="f2" line="927" extern="1"/>
+  <Constructor id="_14328" name="lcast_streambuf_for_source" artificial="1" throw="" context="_10815" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceIfEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_source<float>::lcast_streambuf_for_source(boost::detail::lcast_streambuf_for_source<float> const&)" location="f2:926" file="f2" line="926" inline="1">
+    <Argument name="_ctor_arg" type="_17401" location="f2:926" file="f2" line="926"/>
+  </Constructor>
+  <Constructor id="_14329" name="lcast_streambuf_for_source" explicit="1" artificial="1" throw="" context="_10815" access="public" mangled="_ZN5boost6detail26lcast_streambuf_for_sourceIfEC1Ev *INTERNAL* " demangled="boost::detail::lcast_streambuf_for_source<float>::lcast_streambuf_for_source()" location="f2:926" file="f2" line="926" inline="1"/>
+  <Field id="_14330" name="start" type="_1149" offset="256" context="_10816" access="private" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEE5startE" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::start" location="f2:597" file="f2" line="597"/>
+  <Field id="_14331" name="finish" type="_1149" offset="288" context="_10816" access="private" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEE6finishE" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::finish" location="f2:598" file="f2" line="598"/>
+  <Destructor id="_14332" name="lexical_stream_limited_src" virtual="1" artificial="1" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEED1Ev *INTERNAL* " demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::~lexical_stream_limited_src()" location="f2:1037" file="f2" line="1037" endline="1037" inline="1">
+  </Destructor>
+  <Method id="_14333" name="widen_and_assign" returns="_1194" static="1" context="_10816" access="private" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEE16widen_and_assignEPcc" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::widen_and_assign(char*, char)" location="f2:603" file="f2" line="603" extern="1" inline="1">
+    <Argument name="p" type="_1149" location="f2:603" file="f2" line="603"/>
+    <Argument name="ch" type="_2961" location="f2:603" file="f2" line="603"/>
+  </Method>
+  <Method id="_14334" name="widen_and_assign" returns="_1194" static="1" context="_10816" access="private" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEE16widen_and_assignEPwc" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::widen_and_assign(wchar_t*, char)" location="f2:609" file="f2" line="609" extern="1" inline="1">
+    <Argument name="p" type="_2778" location="f2:609" file="f2" line="609"/>
+    <Argument name="ch" type="_2961" location="f2:609" file="f2" line="609"/>
+  </Method>
+  <Method id="_14335" name="widen_and_assign" returns="_1194" static="1" context="_10816" access="private" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEE16widen_and_assignEPww" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::widen_and_assign(wchar_t*, wchar_t)" location="f2:615" file="f2" line="615" extern="1" inline="1">
+    <Argument name="p" type="_2778" location="f2:615" file="f2" line="615"/>
+    <Argument name="ch" type="_2786" location="f2:615" file="f2" line="615"/>
+  </Method>
+  <Method id="_14336" name="widen_and_assign" returns="_1194" static="1" context="_10816" access="private" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEE16widen_and_assignEPcw" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::widen_and_assign(char*, wchar_t)" location="f2:619" file="f2" line="619" extern="1">
+    <Argument type="_1149" location="f2:619" file="f2" line="619"/>
+    <Argument name="ch" type="_2786" location="f2:619" file="f2" line="619"/>
+  </Method>
+  <Constructor id="_14337" name="lexical_stream_limited_src" context="_10816" access="private" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::lexical_stream_limited_src(boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > const&)" location="f2:634" file="f2" line="634" [...]
+    <Argument type="_17402" location="f2:634" file="f2" line="634"/>
+  </Constructor>
+  <OperatorMethod id="_14338" name="=" returns="_1194" context="_10816" access="private" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEEaSERKS4_" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator=(boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> > const&)" location="f2:635" file="f2" line="635" extern="1">
+    <Argument type="_17402" location="f2:635" file="f2" line="635"/>
+  </OperatorMethod>
+  <Constructor id="_14339" name="lexical_stream_limited_src" explicit="1" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEEC1EPcS5_ *INTERNAL* " demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::lexical_stream_limited_src(char*, char*)" location="f2:640" file="f2" line="640" endline="642" inline="1">
+    <Argument name="start" type="_1149" location="f2:640" file="f2" line="640"/>
+    <Argument name="finish" type="_1149" location="f2:640" file="f2" line="640"/>
+  </Constructor>
+  <OperatorMethod id="_14340" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEb" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(bool)" location="f2:738" file="f2" line="738" extern="1" inline="1">
+    <Argument name="value" type="_3949" location="f2:738" file="f2" line="738"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14341" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEc" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(char)" location="f2:746" file="f2" line="746" extern="1" inline="1">
+    <Argument name="ch" type="_2961" location="f2:746" file="f2" line="746"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14342" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEw" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(wchar_t)" location="f2:756" file="f2" line="756" extern="1" inline="1">
+    <Argument name="ch" type="_2786" location="f2:756" file="f2" line="756"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14343" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEPKc" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(char const*)" location="f2:878" file="f2" line="878" extern="1" inline="1">
+    <Argument name="str" type="_2749" location="f2:878" file="f2" line="878"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14344" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEs" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(short)" location="f2:765" file="f2" line="765" extern="1" inline="1">
+    <Argument name="n" type="_1202" location="f2:765" file="f2" line="765"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14345" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEi" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(int)" location="f2:774" file="f2" line="774" extern="1" inline="1">
+    <Argument name="n" type="_503" location="f2:774" file="f2" line="774"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14346" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEl" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(long)" location="f2:783" file="f2" line="783" extern="1" inline="1">
+    <Argument name="n" type="_1553" location="f2:783" file="f2" line="783"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14347" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEt" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(unsigned short)" location="f2:815" file="f2" line="815" extern="1" inline="1">
+    <Argument name="n" type="_1199" location="f2:815" file="f2" line="815"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14348" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEj" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(unsigned)" location="f2:823" file="f2" line="823" extern="1" inline="1">
+    <Argument name="n" type="_837" location="f2:823" file="f2" line="823"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14349" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEm" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(unsigned long)" location="f2:831" file="f2" line="831" extern="1" inline="1">
+    <Argument name="n" type="_643" location="f2:831" file="f2" line="831"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14350" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEy" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(unsigned long long)" location="f2:840" file="f2" line="840" extern="1" inline="1">
+    <Argument name="n" type="_3886" location="f2:840" file="f2" line="840"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14351" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEx" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(long long)" location="f2:794" file="f2" line="794" extern="1" inline="1">
+    <Argument name="n" type="_3887" location="f2:794" file="f2" line="794"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14352" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEf" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(float)" location="f2:857" file="f2" line="857" extern="1" inline="1">
+    <Argument name="val" type="_2751" location="f2:857" file="f2" line="857"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14353" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEd" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(double)" location="f2:864" file="f2" line="864" extern="1" inline="1">
+    <Argument name="val" type="_2753" location="f2:864" file="f2" line="864"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14354" name="<<" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEElsEe" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator<<(long double)" location="f2:871" file="f2" line="871" extern="1" inline="1">
+    <Argument name="val" type="_483" location="f2:871" file="f2" line="871"/>
+  </OperatorMethod>
+  <OperatorMethod id="_14355" name=">>" returns="_3949" context="_10816" access="public" mangled="_ZN5boost6detail26lexical_stream_limited_srcIcNS0_17lexical_streambufIcEEErsERc" demangled="boost::detail::lexical_stream_limited_src<char, boost::detail::lexical_streambuf<char> >::operator>>(char&)" location="f2:887" file="f2" line="887" extern="1" inline="1">
+    <Argument name="output" type="_4163" location="f2:887" file="f2" line="887"/>
+  </OperatorMethod>
+  <Constructor id="_14356" name="lexical_streambuf" artificial="1" context="_10825" access="public" mangled="_ZN5boost6detail17lexical_streambufIcEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lexical_streambuf<char>::lexical_streambuf(boost::detail::lexical_streambuf<char> const&)" location="f2:407" file="f2" line="407" inline="1">
+    <Argument name="_ctor_arg" type="_17403" location="f2:407" file="f2" line="407"/>
+  </Constructor>
+  <Constructor id="_14357" name="lexical_streambuf" explicit="1" artificial="1" context="_10825" access="public" mangled="_ZN5boost6detail17lexical_streambufIcEC1Ev *INTERNAL* " demangled="boost::detail::lexical_streambuf<char>::lexical_streambuf()" location="f2:642" file="f2" line="642" endline="642" inline="1"/>
+  <Destructor id="_14358" name="lexical_streambuf" virtual="1" artificial="1" context="_10825" access="public" mangled="_ZN5boost6detail17lexical_streambufIcED1Ev *INTERNAL* " demangled="boost::detail::lexical_streambuf<char>::~lexical_streambuf()" location="f2:642" file="f2" line="642" endline="642" inline="1">
+  </Destructor>
+  <Variable id="_14359" name="zero" type="_2786c" init="48" context="_10826" access="public" mangled="_ZN5boost6detail20lcast_char_constantsIwE4zeroE" demangled="boost::detail::lcast_char_constants<wchar_t>::zero" location="f2:397" file="f2" line="397" extern="1"/>
+  <Variable id="_14360" name="minus" type="_2786c" init="45" context="_10826" access="public" mangled="_ZN5boost6detail20lcast_char_constantsIwE5minusE" demangled="boost::detail::lcast_char_constants<wchar_t>::minus" location="f2:398" file="f2" line="398" extern="1"/>
+  <Constructor id="_14361" name="lcast_char_constants" artificial="1" throw="" context="_10826" access="public" mangled="_ZN5boost6detail20lcast_char_constantsIwEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_char_constants<wchar_t>::lcast_char_constants(boost::detail::lcast_char_constants<wchar_t> const&)" location="f2:396" file="f2" line="396" inline="1">
+    <Argument name="_ctor_arg" type="_17404" location="f2:396" file="f2" line="396"/>
+  </Constructor>
+  <Constructor id="_14362" name="lcast_char_constants" explicit="1" artificial="1" throw="" context="_10826" access="public" mangled="_ZN5boost6detail20lcast_char_constantsIwEC1Ev *INTERNAL* " demangled="boost::detail::lcast_char_constants<wchar_t>::lcast_char_constants()" location="f2:396" file="f2" line="396" inline="1"/>
+  <Variable id="_14363" name="zero" type="_2961c" init="'0'" context="_10827" access="public" mangled="_ZN5boost6detail20lcast_char_constantsIcE4zeroE" demangled="boost::detail::lcast_char_constants<char>::zero" location="f2:389" file="f2" line="389" extern="1"/>
+  <Variable id="_14364" name="minus" type="_2961c" init="'-'" context="_10827" access="public" mangled="_ZN5boost6detail20lcast_char_constantsIcE5minusE" demangled="boost::detail::lcast_char_constants<char>::minus" location="f2:390" file="f2" line="390" extern="1"/>
+  <Constructor id="_14365" name="lcast_char_constants" artificial="1" throw="" context="_10827" access="public" mangled="_ZN5boost6detail20lcast_char_constantsIcEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_char_constants<char>::lcast_char_constants(boost::detail::lcast_char_constants<char> const&)" location="f2:388" file="f2" line="388" inline="1">
+    <Argument name="_ctor_arg" type="_17405" location="f2:388" file="f2" line="388"/>
+  </Constructor>
+  <Constructor id="_14366" name="lcast_char_constants" explicit="1" artificial="1" throw="" context="_10827" access="public" mangled="_ZN5boost6detail20lcast_char_constantsIcEC1Ev *INTERNAL* " demangled="boost::detail::lcast_char_constants<char>::lcast_char_constants()" location="f2:388" file="f2" line="388" inline="1"/>
+  <Variable id="_14367" name="value" type="_1698c" init="32" context="_10828" access="public" mangled="_ZN5boost6detail25lcast_src_length_floatingIeE5valueE" demangled="boost::detail::lcast_src_length_floating<long double>::value" location="f2:330" file="f2" line="330" extern="1"/>
+  <Typedef id="_14368" name="boost_static_assert_typedef_329" type="_3684" context="_10828" access="public" location="f2:326" file="f2" line="326"/>
+  <Constructor id="_14369" name="lcast_src_length_floating" artificial="1" throw="" context="_10828" access="public" mangled="_ZN5boost6detail25lcast_src_length_floatingIeEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_floating<long double>::lcast_src_length_floating(boost::detail::lcast_src_length_floating<long double> const&)" location="f2:325" file="f2" line="325" inline="1">
+    <Argument name="_ctor_arg" type="_17406" location="f2:325" file="f2" line="325"/>
+  </Constructor>
+  <Constructor id="_14370" name="lcast_src_length_floating" explicit="1" artificial="1" throw="" context="_10828" access="public" mangled="_ZN5boost6detail25lcast_src_length_floatingIeEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_floating<long double>::lcast_src_length_floating()" location="f2:325" file="f2" line="325" inline="1"/>
+  <Variable id="_14371" name="value" type="_1698c" init="28" context="_10829" access="public" mangled="_ZN5boost6detail25lcast_src_length_floatingIdE5valueE" demangled="boost::detail::lcast_src_length_floating<double>::value" location="f2:330" file="f2" line="330" extern="1"/>
+  <Typedef id="_14372" name="boost_static_assert_typedef_329" type="_3684" context="_10829" access="public" location="f2:326" file="f2" line="326"/>
+  <Constructor id="_14373" name="lcast_src_length_floating" artificial="1" throw="" context="_10829" access="public" mangled="_ZN5boost6detail25lcast_src_length_floatingIdEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_floating<double>::lcast_src_length_floating(boost::detail::lcast_src_length_floating<double> const&)" location="f2:325" file="f2" line="325" inline="1">
+    <Argument name="_ctor_arg" type="_17407" location="f2:325" file="f2" line="325"/>
+  </Constructor>
+  <Constructor id="_14374" name="lcast_src_length_floating" explicit="1" artificial="1" throw="" context="_10829" access="public" mangled="_ZN5boost6detail25lcast_src_length_floatingIdEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_floating<double>::lcast_src_length_floating()" location="f2:325" file="f2" line="325" inline="1"/>
+  <Variable id="_14375" name="value" type="_1698c" init="20" context="_10830" access="public" mangled="_ZN5boost6detail25lcast_src_length_floatingIfE5valueE" demangled="boost::detail::lcast_src_length_floating<float>::value" location="f2:330" file="f2" line="330" extern="1"/>
+  <Typedef id="_14376" name="boost_static_assert_typedef_329" type="_3684" context="_10830" access="public" location="f2:326" file="f2" line="326"/>
+  <Constructor id="_14377" name="lcast_src_length_floating" artificial="1" throw="" context="_10830" access="public" mangled="_ZN5boost6detail25lcast_src_length_floatingIfEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_floating<float>::lcast_src_length_floating(boost::detail::lcast_src_length_floating<float> const&)" location="f2:325" file="f2" line="325" inline="1">
+    <Argument name="_ctor_arg" type="_17408" location="f2:325" file="f2" line="325"/>
+  </Constructor>
+  <Constructor id="_14378" name="lcast_src_length_floating" explicit="1" artificial="1" throw="" context="_10830" access="public" mangled="_ZN5boost6detail25lcast_src_length_floatingIfEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_floating<float>::lcast_src_length_floating()" location="f2:325" file="f2" line="325" inline="1"/>
+  <Variable id="_14379" name="value" type="_1698c" init="38" context="_10831" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIxE5valueE" demangled="boost::detail::lcast_src_length_integral<long long>::value" location="f2:271" file="f2" line="271" extern="1"/>
+  <Constructor id="_14380" name="lcast_src_length_integral" artificial="1" throw="" context="_10831" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIxEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<long long>::lcast_src_length_integral(boost::detail::lcast_src_length_integral<long long> const&)" location="f2:269" file="f2" line="269" inline="1">
+    <Argument name="_ctor_arg" type="_17409" location="f2:269" file="f2" line="269"/>
+  </Constructor>
+  <Constructor id="_14381" name="lcast_src_length_integral" explicit="1" artificial="1" throw="" context="_10831" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIxEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<long long>::lcast_src_length_integral()" location="f2:269" file="f2" line="269" inline="1"/>
+  <Variable id="_14382" name="value" type="_1698c" init="39" context="_10832" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIyE5valueE" demangled="boost::detail::lcast_src_length_integral<unsigned long long>::value" location="f2:271" file="f2" line="271" extern="1"/>
+  <Constructor id="_14383" name="lcast_src_length_integral" artificial="1" throw="" context="_10832" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIyEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<unsigned long long>::lcast_src_length_integral(boost::detail::lcast_src_length_integral<unsigned long long> const&)" location="f2:269" file="f2" line="269" inline="1">
+    <Argument name="_ctor_arg" type="_17410" location="f2:269" file="f2" line="269"/>
+  </Constructor>
+  <Constructor id="_14384" name="lcast_src_length_integral" explicit="1" artificial="1" throw="" context="_10832" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIyEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<unsigned long long>::lcast_src_length_integral()" location="f2:269" file="f2" line="269" inline="1"/>
+  <Variable id="_14385" name="value" type="_1698c" init="19" context="_10833" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralImE5valueE" demangled="boost::detail::lcast_src_length_integral<unsigned long>::value" location="f2:271" file="f2" line="271" extern="1"/>
+  <Constructor id="_14386" name="lcast_src_length_integral" artificial="1" throw="" context="_10833" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralImEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<unsigned long>::lcast_src_length_integral(boost::detail::lcast_src_length_integral<unsigned long> const&)" location="f2:269" file="f2" line="269" inline="1">
+    <Argument name="_ctor_arg" type="_17411" location="f2:269" file="f2" line="269"/>
+  </Constructor>
+  <Constructor id="_14387" name="lcast_src_length_integral" explicit="1" artificial="1" throw="" context="_10833" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralImEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<unsigned long>::lcast_src_length_integral()" location="f2:269" file="f2" line="269" inline="1"/>
+  <Variable id="_14388" name="value" type="_1698c" init="20" context="_10834" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIlE5valueE" demangled="boost::detail::lcast_src_length_integral<long>::value" location="f2:271" file="f2" line="271" extern="1"/>
+  <Constructor id="_14389" name="lcast_src_length_integral" artificial="1" throw="" context="_10834" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIlEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<long>::lcast_src_length_integral(boost::detail::lcast_src_length_integral<long> const&)" location="f2:269" file="f2" line="269" inline="1">
+    <Argument name="_ctor_arg" type="_17412" location="f2:269" file="f2" line="269"/>
+  </Constructor>
+  <Constructor id="_14390" name="lcast_src_length_integral" explicit="1" artificial="1" throw="" context="_10834" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIlEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<long>::lcast_src_length_integral()" location="f2:269" file="f2" line="269" inline="1"/>
+  <Variable id="_14391" name="value" type="_1698c" init="19" context="_10835" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIjE5valueE" demangled="boost::detail::lcast_src_length_integral<unsigned>::value" location="f2:271" file="f2" line="271" extern="1"/>
+  <Constructor id="_14392" name="lcast_src_length_integral" artificial="1" throw="" context="_10835" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIjEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<unsigned>::lcast_src_length_integral(boost::detail::lcast_src_length_integral<unsigned> const&)" location="f2:269" file="f2" line="269" inline="1">
+    <Argument name="_ctor_arg" type="_17413" location="f2:269" file="f2" line="269"/>
+  </Constructor>
+  <Constructor id="_14393" name="lcast_src_length_integral" explicit="1" artificial="1" throw="" context="_10835" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIjEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<unsigned>::lcast_src_length_integral()" location="f2:269" file="f2" line="269" inline="1"/>
+  <Variable id="_14394" name="value" type="_1698c" init="20" context="_10836" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIiE5valueE" demangled="boost::detail::lcast_src_length_integral<int>::value" location="f2:271" file="f2" line="271" extern="1"/>
+  <Constructor id="_14395" name="lcast_src_length_integral" artificial="1" throw="" context="_10836" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIiEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<int>::lcast_src_length_integral(boost::detail::lcast_src_length_integral<int> const&)" location="f2:269" file="f2" line="269" inline="1">
+    <Argument name="_ctor_arg" type="_17414" location="f2:269" file="f2" line="269"/>
+  </Constructor>
+  <Constructor id="_14396" name="lcast_src_length_integral" explicit="1" artificial="1" throw="" context="_10836" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIiEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<int>::lcast_src_length_integral()" location="f2:269" file="f2" line="269" inline="1"/>
+  <Variable id="_14397" name="value" type="_1698c" init="9" context="_10837" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralItE5valueE" demangled="boost::detail::lcast_src_length_integral<unsigned short>::value" location="f2:271" file="f2" line="271" extern="1"/>
+  <Constructor id="_14398" name="lcast_src_length_integral" artificial="1" throw="" context="_10837" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralItEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<unsigned short>::lcast_src_length_integral(boost::detail::lcast_src_length_integral<unsigned short> const&)" location="f2:269" file="f2" line="269" inline="1">
+    <Argument name="_ctor_arg" type="_17415" location="f2:269" file="f2" line="269"/>
+  </Constructor>
+  <Constructor id="_14399" name="lcast_src_length_integral" explicit="1" artificial="1" throw="" context="_10837" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralItEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<unsigned short>::lcast_src_length_integral()" location="f2:269" file="f2" line="269" inline="1"/>
+  <Variable id="_14400" name="value" type="_1698c" init="10" context="_10838" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIsE5valueE" demangled="boost::detail::lcast_src_length_integral<short>::value" location="f2:271" file="f2" line="271" extern="1"/>
+  <Constructor id="_14401" name="lcast_src_length_integral" artificial="1" throw="" context="_10838" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<short>::lcast_src_length_integral(boost::detail::lcast_src_length_integral<short> const&)" location="f2:269" file="f2" line="269" inline="1">
+    <Argument name="_ctor_arg" type="_17416" location="f2:269" file="f2" line="269"/>
+  </Constructor>
+  <Constructor id="_14402" name="lcast_src_length_integral" explicit="1" artificial="1" throw="" context="_10838" access="public" mangled="_ZN5boost6detail25lcast_src_length_integralIsEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length_integral<short>::lcast_src_length_integral()" location="f2:269" file="f2" line="269" inline="1"/>
+  <Variable id="_14403" name="value" type="_1698c" init="1" context="_10839" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcSsE5valueE" demangled="boost::detail::lcast_src_length<char, std::string>::value" location="f2:233" file="f2" line="233" extern="1"/>
+  <Constructor id="_14404" name="lcast_src_length" artificial="1" throw="" context="_10839" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcSsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, std::string>::lcast_src_length(boost::detail::lcast_src_length<char, std::string> const&)" location="f2:145" file="f2" line="145" inline="1">
+    <Argument name="_ctor_arg" type="_17417" location="f2:145" file="f2" line="145"/>
+  </Constructor>
+  <Constructor id="_14405" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10839" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcSsEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, std::string>::lcast_src_length()" location="f2:145" file="f2" line="145" inline="1"/>
+  <Method id="_14406" name="check_coverage" returns="_1194" static="1" context="_10839" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcSsE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, std::string>::check_coverage()" location="f2:234" file="f2" line="234" endline="234" inline="1"/>
+  <Constructor id="_14407" name="lcast_src_length" artificial="1" throw="" context="_10840" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIweEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, long double>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, long double> const&)" location="f2:374" file="f2" line="374" inline="1">
+    <Argument name="_ctor_arg" type="_17418" location="f2:374" file="f2" line="374"/>
+  </Constructor>
+  <Constructor id="_14408" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10840" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIweEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, long double>::lcast_src_length()" location="f2:374" file="f2" line="374" inline="1"/>
+  <Method id="_14409" name="check_coverage" returns="_1194" static="1" context="_10840" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIweE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, long double>::check_coverage()" location="f2:375" file="f2" line="375" endline="375" inline="1"/>
+  <Constructor id="_14410" name="lcast_src_length" artificial="1" throw="" context="_10841" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwdEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, double>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, double> const&)" location="f2:367" file="f2" line="367" inline="1">
+    <Argument name="_ctor_arg" type="_17419" location="f2:367" file="f2" line="367"/>
+  </Constructor>
+  <Constructor id="_14411" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10841" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwdEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, double>::lcast_src_length()" location="f2:367" file="f2" line="367" inline="1"/>
+  <Method id="_14412" name="check_coverage" returns="_1194" static="1" context="_10841" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwdE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, double>::check_coverage()" location="f2:368" file="f2" line="368" endline="368" inline="1"/>
+  <Constructor id="_14413" name="lcast_src_length" artificial="1" throw="" context="_10842" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwfEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, float>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, float> const&)" location="f2:360" file="f2" line="360" inline="1">
+    <Argument name="_ctor_arg" type="_17420" location="f2:360" file="f2" line="360"/>
+  </Constructor>
+  <Constructor id="_14414" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10842" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwfEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, float>::lcast_src_length()" location="f2:360" file="f2" line="360" inline="1"/>
+  <Method id="_14415" name="check_coverage" returns="_1194" static="1" context="_10842" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwfE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, float>::check_coverage()" location="f2:361" file="f2" line="361" endline="361" inline="1"/>
+  <Constructor id="_14416" name="lcast_src_length" artificial="1" throw="" context="_10843" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIceEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, long double>::lcast_src_length(boost::detail::lcast_src_length<char, long double> const&)" location="f2:352" file="f2" line="352" inline="1">
+    <Argument name="_ctor_arg" type="_17421" location="f2:352" file="f2" line="352"/>
+  </Constructor>
+  <Constructor id="_14417" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10843" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIceEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, long double>::lcast_src_length()" location="f2:352" file="f2" line="352" inline="1"/>
+  <Method id="_14418" name="check_coverage" returns="_1194" static="1" context="_10843" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIceE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, long double>::check_coverage()" location="f2:353" file="f2" line="353" endline="353" inline="1"/>
+  <Constructor id="_14419" name="lcast_src_length" artificial="1" throw="" context="_10844" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcdEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, double>::lcast_src_length(boost::detail::lcast_src_length<char, double> const&)" location="f2:345" file="f2" line="345" inline="1">
+    <Argument name="_ctor_arg" type="_17422" location="f2:345" file="f2" line="345"/>
+  </Constructor>
+  <Constructor id="_14420" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10844" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcdEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, double>::lcast_src_length()" location="f2:345" file="f2" line="345" inline="1"/>
+  <Method id="_14421" name="check_coverage" returns="_1194" static="1" context="_10844" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcdE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, double>::check_coverage()" location="f2:346" file="f2" line="346" endline="346" inline="1"/>
+  <Constructor id="_14422" name="lcast_src_length" artificial="1" throw="" context="_10845" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcfEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, float>::lcast_src_length(boost::detail::lcast_src_length<char, float> const&)" location="f2:338" file="f2" line="338" inline="1">
+    <Argument name="_ctor_arg" type="_17423" location="f2:338" file="f2" line="338"/>
+  </Constructor>
+  <Constructor id="_14423" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10845" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcfEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, float>::lcast_src_length()" location="f2:338" file="f2" line="338" inline="1"/>
+  <Method id="_14424" name="check_coverage" returns="_1194" static="1" context="_10845" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcfE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, float>::check_coverage()" location="f2:339" file="f2" line="339" endline="339" inline="1"/>
+  <Constructor id="_14425" name="lcast_src_length" artificial="1" throw="" context="_10846" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwxEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, long long>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, long long> const&)" location="f2:301" file="f2" line="301" inline="1">
+    <Argument name="_ctor_arg" type="_17424" location="f2:301" file="f2" line="301"/>
+  </Constructor>
+  <Constructor id="_14426" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10846" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwxEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, long long>::lcast_src_length()" location="f2:301" file="f2" line="301" inline="1"/>
+  <Method id="_14427" name="check_coverage" returns="_1194" static="1" context="_10846" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwxE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, long long>::check_coverage()" location="f2:301" file="f2" line="301" endline="301" inline="1"/>
+  <Constructor id="_14428" name="lcast_src_length" artificial="1" throw="" context="_10847" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcxEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, long long>::lcast_src_length(boost::detail::lcast_src_length<char, long long> const&)" location="f2:301" file="f2" line="301" inline="1">
+    <Argument name="_ctor_arg" type="_17425" location="f2:301" file="f2" line="301"/>
+  </Constructor>
+  <Constructor id="_14429" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10847" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcxEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, long long>::lcast_src_length()" location="f2:301" file="f2" line="301" inline="1"/>
+  <Method id="_14430" name="check_coverage" returns="_1194" static="1" context="_10847" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcxE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, long long>::check_coverage()" location="f2:301" file="f2" line="301" endline="301" inline="1"/>
+  <Constructor id="_14431" name="lcast_src_length" artificial="1" throw="" context="_10848" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwyEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, unsigned long long>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, unsigned long long> const&)" location="f2:300" file="f2" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_17426" location="f2:300" file="f2" line="300"/>
+  </Constructor>
+  <Constructor id="_14432" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10848" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwyEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, unsigned long long>::lcast_src_length()" location="f2:300" file="f2" line="300" inline="1"/>
+  <Method id="_14433" name="check_coverage" returns="_1194" static="1" context="_10848" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwyE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, unsigned long long>::check_coverage()" location="f2:300" file="f2" line="300" endline="300" inline="1"/>
+  <Constructor id="_14434" name="lcast_src_length" artificial="1" throw="" context="_10849" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcyEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, unsigned long long>::lcast_src_length(boost::detail::lcast_src_length<char, unsigned long long> const&)" location="f2:300" file="f2" line="300" inline="1">
+    <Argument name="_ctor_arg" type="_17427" location="f2:300" file="f2" line="300"/>
+  </Constructor>
+  <Constructor id="_14435" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10849" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcyEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, unsigned long long>::lcast_src_length()" location="f2:300" file="f2" line="300" inline="1"/>
+  <Method id="_14436" name="check_coverage" returns="_1194" static="1" context="_10849" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcyE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, unsigned long long>::check_coverage()" location="f2:300" file="f2" line="300" endline="300" inline="1"/>
+  <Constructor id="_14437" name="lcast_src_length" artificial="1" throw="" context="_10850" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwmEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, unsigned long>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, unsigned long> const&)" location="f2:298" file="f2" line="298" inline="1">
+    <Argument name="_ctor_arg" type="_17428" location="f2:298" file="f2" line="298"/>
+  </Constructor>
+  <Constructor id="_14438" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10850" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwmEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, unsigned long>::lcast_src_length()" location="f2:298" file="f2" line="298" inline="1"/>
+  <Method id="_14439" name="check_coverage" returns="_1194" static="1" context="_10850" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwmE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, unsigned long>::check_coverage()" location="f2:298" file="f2" line="298" endline="298" inline="1"/>
+  <Constructor id="_14440" name="lcast_src_length" artificial="1" throw="" context="_10851" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcmEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, unsigned long>::lcast_src_length(boost::detail::lcast_src_length<char, unsigned long> const&)" location="f2:298" file="f2" line="298" inline="1">
+    <Argument name="_ctor_arg" type="_17429" location="f2:298" file="f2" line="298"/>
+  </Constructor>
+  <Constructor id="_14441" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10851" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcmEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, unsigned long>::lcast_src_length()" location="f2:298" file="f2" line="298" inline="1"/>
+  <Method id="_14442" name="check_coverage" returns="_1194" static="1" context="_10851" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcmE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, unsigned long>::check_coverage()" location="f2:298" file="f2" line="298" endline="298" inline="1"/>
+  <Constructor id="_14443" name="lcast_src_length" artificial="1" throw="" context="_10852" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwlEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, long>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, long> const&)" location="f2:297" file="f2" line="297" inline="1">
+    <Argument name="_ctor_arg" type="_17430" location="f2:297" file="f2" line="297"/>
+  </Constructor>
+  <Constructor id="_14444" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10852" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwlEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, long>::lcast_src_length()" location="f2:297" file="f2" line="297" inline="1"/>
+  <Method id="_14445" name="check_coverage" returns="_1194" static="1" context="_10852" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwlE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, long>::check_coverage()" location="f2:297" file="f2" line="297" endline="297" inline="1"/>
+  <Constructor id="_14446" name="lcast_src_length" artificial="1" throw="" context="_10853" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIclEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, long>::lcast_src_length(boost::detail::lcast_src_length<char, long> const&)" location="f2:297" file="f2" line="297" inline="1">
+    <Argument name="_ctor_arg" type="_17431" location="f2:297" file="f2" line="297"/>
+  </Constructor>
+  <Constructor id="_14447" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10853" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIclEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, long>::lcast_src_length()" location="f2:297" file="f2" line="297" inline="1"/>
+  <Method id="_14448" name="check_coverage" returns="_1194" static="1" context="_10853" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIclE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, long>::check_coverage()" location="f2:297" file="f2" line="297" endline="297" inline="1"/>
+  <Constructor id="_14449" name="lcast_src_length" artificial="1" throw="" context="_10854" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwjEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, unsigned>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, unsigned> const&)" location="f2:296" file="f2" line="296" inline="1">
+    <Argument name="_ctor_arg" type="_17432" location="f2:296" file="f2" line="296"/>
+  </Constructor>
+  <Constructor id="_14450" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10854" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwjEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, unsigned>::lcast_src_length()" location="f2:296" file="f2" line="296" inline="1"/>
+  <Method id="_14451" name="check_coverage" returns="_1194" static="1" context="_10854" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwjE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, unsigned>::check_coverage()" location="f2:296" file="f2" line="296" endline="296" inline="1"/>
+  <Constructor id="_14452" name="lcast_src_length" artificial="1" throw="" context="_10855" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcjEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, unsigned>::lcast_src_length(boost::detail::lcast_src_length<char, unsigned> const&)" location="f2:296" file="f2" line="296" inline="1">
+    <Argument name="_ctor_arg" type="_17433" location="f2:296" file="f2" line="296"/>
+  </Constructor>
+  <Constructor id="_14453" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10855" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcjEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, unsigned>::lcast_src_length()" location="f2:296" file="f2" line="296" inline="1"/>
+  <Method id="_14454" name="check_coverage" returns="_1194" static="1" context="_10855" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcjE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, unsigned>::check_coverage()" location="f2:296" file="f2" line="296" endline="296" inline="1"/>
+  <Constructor id="_14455" name="lcast_src_length" artificial="1" throw="" context="_10856" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwiEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, int>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, int> const&)" location="f2:295" file="f2" line="295" inline="1">
+    <Argument name="_ctor_arg" type="_17434" location="f2:295" file="f2" line="295"/>
+  </Constructor>
+  <Constructor id="_14456" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10856" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwiEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, int>::lcast_src_length()" location="f2:295" file="f2" line="295" inline="1"/>
+  <Method id="_14457" name="check_coverage" returns="_1194" static="1" context="_10856" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwiE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, int>::check_coverage()" location="f2:295" file="f2" line="295" endline="295" inline="1"/>
+  <Constructor id="_14458" name="lcast_src_length" artificial="1" throw="" context="_10857" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIciEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, int>::lcast_src_length(boost::detail::lcast_src_length<char, int> const&)" location="f2:295" file="f2" line="295" inline="1">
+    <Argument name="_ctor_arg" type="_17435" location="f2:295" file="f2" line="295"/>
+  </Constructor>
+  <Constructor id="_14459" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10857" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIciEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, int>::lcast_src_length()" location="f2:295" file="f2" line="295" inline="1"/>
+  <Method id="_14460" name="check_coverage" returns="_1194" static="1" context="_10857" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIciE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, int>::check_coverage()" location="f2:295" file="f2" line="295" endline="295" inline="1"/>
+  <Constructor id="_14461" name="lcast_src_length" artificial="1" throw="" context="_10858" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwtEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, unsigned short>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, unsigned short> const&)" location="f2:294" file="f2" line="294" inline="1">
+    <Argument name="_ctor_arg" type="_17436" location="f2:294" file="f2" line="294"/>
+  </Constructor>
+  <Constructor id="_14462" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10858" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwtEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, unsigned short>::lcast_src_length()" location="f2:294" file="f2" line="294" inline="1"/>
+  <Method id="_14463" name="check_coverage" returns="_1194" static="1" context="_10858" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwtE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, unsigned short>::check_coverage()" location="f2:294" file="f2" line="294" endline="294" inline="1"/>
+  <Constructor id="_14464" name="lcast_src_length" artificial="1" throw="" context="_10859" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIctEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, unsigned short>::lcast_src_length(boost::detail::lcast_src_length<char, unsigned short> const&)" location="f2:294" file="f2" line="294" inline="1">
+    <Argument name="_ctor_arg" type="_17437" location="f2:294" file="f2" line="294"/>
+  </Constructor>
+  <Constructor id="_14465" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10859" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIctEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, unsigned short>::lcast_src_length()" location="f2:294" file="f2" line="294" inline="1"/>
+  <Method id="_14466" name="check_coverage" returns="_1194" static="1" context="_10859" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIctE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, unsigned short>::check_coverage()" location="f2:294" file="f2" line="294" endline="294" inline="1"/>
+  <Constructor id="_14467" name="lcast_src_length" artificial="1" throw="" context="_10860" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, short>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, short> const&)" location="f2:293" file="f2" line="293" inline="1">
+    <Argument name="_ctor_arg" type="_17438" location="f2:293" file="f2" line="293"/>
+  </Constructor>
+  <Constructor id="_14468" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10860" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwsEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, short>::lcast_src_length()" location="f2:293" file="f2" line="293" inline="1"/>
+  <Method id="_14469" name="check_coverage" returns="_1194" static="1" context="_10860" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwsE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, short>::check_coverage()" location="f2:293" file="f2" line="293" endline="293" inline="1"/>
+  <Constructor id="_14470" name="lcast_src_length" artificial="1" throw="" context="_10861" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, short>::lcast_src_length(boost::detail::lcast_src_length<char, short> const&)" location="f2:293" file="f2" line="293" inline="1">
+    <Argument name="_ctor_arg" type="_17439" location="f2:293" file="f2" line="293"/>
+  </Constructor>
+  <Constructor id="_14471" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10861" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcsEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, short>::lcast_src_length()" location="f2:293" file="f2" line="293" inline="1"/>
+  <Method id="_14472" name="check_coverage" returns="_1194" static="1" context="_10861" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcsE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, short>::check_coverage()" location="f2:293" file="f2" line="293" endline="293" inline="1"/>
+  <Variable id="_14473" name="value" type="_1698c" init="1" context="_10862" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwPwE5valueE" demangled="boost::detail::lcast_src_length<wchar_t, wchar_t*>::value" location="f2:224" file="f2" line="224" extern="1"/>
+  <Constructor id="_14474" name="lcast_src_length" artificial="1" throw="" context="_10862" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwPwEC1ERKS3_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, wchar_t*>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, wchar_t*> const&)" location="f2:223" file="f2" line="223" inline="1">
+    <Argument name="_ctor_arg" type="_17440" location="f2:223" file="f2" line="223"/>
+  </Constructor>
+  <Constructor id="_14475" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10862" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwPwEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, wchar_t*>::lcast_src_length()" location="f2:223" file="f2" line="223" inline="1"/>
+  <Method id="_14476" name="check_coverage" returns="_1194" static="1" context="_10862" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwPwE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, wchar_t*>::check_coverage()" location="f2:225" file="f2" line="225" endline="225" inline="1"/>
+  <Variable id="_14477" name="value" type="_1698c" init="1" context="_10863" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwPKwE5valueE" demangled="boost::detail::lcast_src_length<wchar_t, wchar_t const*>::value" location="f2:217" file="f2" line="217" extern="1"/>
+  <Constructor id="_14478" name="lcast_src_length" artificial="1" throw="" context="_10863" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwPKwEC1ERKS4_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, wchar_t const*>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, wchar_t const*> const&)" location="f2:216" file="f2" line="216" inline="1">
+    <Argument name="_ctor_arg" type="_17441" location="f2:216" file="f2" line="216"/>
+  </Constructor>
+  <Constructor id="_14479" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10863" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwPKwEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, wchar_t const*>::lcast_src_length()" location="f2:216" file="f2" line="216" inline="1"/>
+  <Method id="_14480" name="check_coverage" returns="_1194" static="1" context="_10863" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwPKwE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, wchar_t const*>::check_coverage()" location="f2:218" file="f2" line="218" endline="218" inline="1"/>
+  <Variable id="_14481" name="value" type="_1698c" init="1" context="_10864" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcPcE5valueE" demangled="boost::detail::lcast_src_length<char, char*>::value" location="f2:209" file="f2" line="209" extern="1"/>
+  <Constructor id="_14482" name="lcast_src_length" artificial="1" throw="" context="_10864" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcPcEC1ERKS3_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, char*>::lcast_src_length(boost::detail::lcast_src_length<char, char*> const&)" location="f2:208" file="f2" line="208" inline="1">
+    <Argument name="_ctor_arg" type="_17442" location="f2:208" file="f2" line="208"/>
+  </Constructor>
+  <Constructor id="_14483" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10864" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcPcEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, char*>::lcast_src_length()" location="f2:208" file="f2" line="208" inline="1"/>
+  <Method id="_14484" name="check_coverage" returns="_1194" static="1" context="_10864" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcPcE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, char*>::check_coverage()" location="f2:210" file="f2" line="210" endline="210" inline="1"/>
+  <Variable id="_14485" name="value" type="_1698c" init="1" context="_10865" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcPKcE5valueE" demangled="boost::detail::lcast_src_length<char, char const*>::value" location="f2:202" file="f2" line="202" extern="1"/>
+  <Constructor id="_14486" name="lcast_src_length" artificial="1" throw="" context="_10865" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcPKcEC1ERKS4_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, char const*>::lcast_src_length(boost::detail::lcast_src_length<char, char const*> const&)" location="f2:201" file="f2" line="201" inline="1">
+    <Argument name="_ctor_arg" type="_17443" location="f2:201" file="f2" line="201"/>
+  </Constructor>
+  <Constructor id="_14487" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10865" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcPKcEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, char const*>::lcast_src_length()" location="f2:201" file="f2" line="201" inline="1"/>
+  <Method id="_14488" name="check_coverage" returns="_1194" static="1" context="_10865" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcPKcE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, char const*>::check_coverage()" location="f2:203" file="f2" line="203" endline="203" inline="1"/>
+  <Variable id="_14489" name="value" type="_1698c" init="1" context="_10866" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwwE5valueE" demangled="boost::detail::lcast_src_length<wchar_t, wchar_t>::value" location="f2:193" file="f2" line="193" extern="1"/>
+  <Constructor id="_14490" name="lcast_src_length" artificial="1" throw="" context="_10866" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwwEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, wchar_t>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, wchar_t> const&)" location="f2:192" file="f2" line="192" inline="1">
+    <Argument name="_ctor_arg" type="_17444" location="f2:192" file="f2" line="192"/>
+  </Constructor>
+  <Constructor id="_14491" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10866" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwwEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, wchar_t>::lcast_src_length()" location="f2:192" file="f2" line="192" inline="1"/>
+  <Method id="_14492" name="check_coverage" returns="_1194" static="1" context="_10866" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwwE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, wchar_t>::check_coverage()" location="f2:194" file="f2" line="194" endline="194" inline="1"/>
+  <Variable id="_14493" name="value" type="_1698c" init="1" context="_10867" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwcE5valueE" demangled="boost::detail::lcast_src_length<wchar_t, char>::value" location="f2:185" file="f2" line="185" extern="1"/>
+  <Constructor id="_14494" name="lcast_src_length" artificial="1" throw="" context="_10867" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwcEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, char>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, char> const&)" location="f2:184" file="f2" line="184" inline="1">
+    <Argument name="_ctor_arg" type="_17445" location="f2:184" file="f2" line="184"/>
+  </Constructor>
+  <Constructor id="_14495" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10867" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwcEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, char>::lcast_src_length()" location="f2:184" file="f2" line="184" inline="1"/>
+  <Method id="_14496" name="check_coverage" returns="_1194" static="1" context="_10867" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwcE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, char>::check_coverage()" location="f2:186" file="f2" line="186" endline="186" inline="1"/>
+  <Variable id="_14497" name="value" type="_1698c" init="1" context="_10868" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwbE5valueE" demangled="boost::detail::lcast_src_length<wchar_t, bool>::value" location="f2:178" file="f2" line="178" extern="1"/>
+  <Constructor id="_14498" name="lcast_src_length" artificial="1" throw="" context="_10868" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwbEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, bool>::lcast_src_length(boost::detail::lcast_src_length<wchar_t, bool> const&)" location="f2:177" file="f2" line="177" inline="1">
+    <Argument name="_ctor_arg" type="_17446" location="f2:177" file="f2" line="177"/>
+  </Constructor>
+  <Constructor id="_14499" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10868" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwbEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<wchar_t, bool>::lcast_src_length()" location="f2:177" file="f2" line="177" inline="1"/>
+  <Method id="_14500" name="check_coverage" returns="_1194" static="1" context="_10868" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIwbE14check_coverageEv" demangled="boost::detail::lcast_src_length<wchar_t, bool>::check_coverage()" location="f2:179" file="f2" line="179" endline="179" inline="1"/>
+  <Variable id="_14501" name="value" type="_1698c" init="1" context="_10869" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIccE5valueE" demangled="boost::detail::lcast_src_length<char, char>::value" location="f2:162" file="f2" line="162" extern="1"/>
+  <Constructor id="_14502" name="lcast_src_length" artificial="1" throw="" context="_10869" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIccEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, char>::lcast_src_length(boost::detail::lcast_src_length<char, char> const&)" location="f2:161" file="f2" line="161" inline="1">
+    <Argument name="_ctor_arg" type="_17447" location="f2:161" file="f2" line="161"/>
+  </Constructor>
+  <Constructor id="_14503" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10869" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIccEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, char>::lcast_src_length()" location="f2:161" file="f2" line="161" inline="1"/>
+  <Method id="_14504" name="check_coverage" returns="_1194" static="1" context="_10869" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIccE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, char>::check_coverage()" location="f2:163" file="f2" line="163" endline="163" inline="1"/>
+  <Variable id="_14505" name="value" type="_1698c" init="1" context="_10870" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcbE5valueE" demangled="boost::detail::lcast_src_length<char, bool>::value" location="f2:155" file="f2" line="155" extern="1"/>
+  <Constructor id="_14506" name="lcast_src_length" artificial="1" throw="" context="_10870" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcbEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_src_length<char, bool>::lcast_src_length(boost::detail::lcast_src_length<char, bool> const&)" location="f2:154" file="f2" line="154" inline="1">
+    <Argument name="_ctor_arg" type="_17448" location="f2:154" file="f2" line="154"/>
+  </Constructor>
+  <Constructor id="_14507" name="lcast_src_length" explicit="1" artificial="1" throw="" context="_10870" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcbEC1Ev *INTERNAL* " demangled="boost::detail::lcast_src_length<char, bool>::lcast_src_length()" location="f2:154" file="f2" line="154" inline="1"/>
+  <Method id="_14508" name="check_coverage" returns="_1194" static="1" context="_10870" access="public" mangled="_ZN5boost6detail16lcast_src_lengthIcbE14check_coverageEv" demangled="boost::detail::lcast_src_length<char, bool>::check_coverage()" location="f2:156" file="f2" line="156" endline="156" inline="1"/>
+  <Typedef id="_14509" name="type" type="_2961" context="_10871" access="public" location="f2:120" file="f2" line="120"/>
+  <Constructor id="_14510" name="widest_char" artificial="1" throw="" context="_10871" access="public" mangled="_ZN5boost6detail11widest_charIccEC1ERKS2_ *INTERNAL* " demangled="boost::detail::widest_char<char, char>::widest_char(boost::detail::widest_char<char, char> const&)" location="f2:119" file="f2" line="119" inline="1">
+    <Argument name="_ctor_arg" type="_17449" location="f2:119" file="f2" line="119"/>
+  </Constructor>
+  <Constructor id="_14511" name="widest_char" explicit="1" artificial="1" throw="" context="_10871" access="public" mangled="_ZN5boost6detail11widest_charIccEC1Ev *INTERNAL* " demangled="boost::detail::widest_char<char, char>::widest_char()" location="f2:119" file="f2" line="119" inline="1"/>
+  <Typedef id="_14512" name="type" type="_2786" context="_10872" access="public" location="f2:126" file="f2" line="126"/>
+  <Constructor id="_14513" name="widest_char" artificial="1" throw="" context="_10872" access="public" mangled="_ZN5boost6detail11widest_charIcwEC1ERKS2_ *INTERNAL* " demangled="boost::detail::widest_char<char, wchar_t>::widest_char(boost::detail::widest_char<char, wchar_t> const&)" location="f2:125" file="f2" line="125" inline="1">
+    <Argument name="_ctor_arg" type="_17450" location="f2:125" file="f2" line="125"/>
+  </Constructor>
+  <Constructor id="_14514" name="widest_char" explicit="1" artificial="1" throw="" context="_10872" access="public" mangled="_ZN5boost6detail11widest_charIcwEC1Ev *INTERNAL* " demangled="boost::detail::widest_char<char, wchar_t>::widest_char()" location="f2:125" file="f2" line="125" inline="1"/>
+  <Typedef id="_14515" name="type" type="_2961" context="_10873" access="public" location="f2:86" file="f2" line="86"/>
+  <Constructor id="_14516" name="stream_char" artificial="1" throw="" context="_10873" access="public" mangled="_ZN5boost6detail11stream_charISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::stream_char<std::string>::stream_char(boost::detail::stream_char<std::string> const&)" location="f2:85" file="f2" line="85" inline="1">
+    <Argument name="_ctor_arg" type="_17451" location="f2:85" file="f2" line="85"/>
+  </Constructor>
+  <Constructor id="_14517" name="stream_char" explicit="1" artificial="1" throw="" context="_10873" access="public" mangled="_ZN5boost6detail11stream_charISsEC1Ev *INTERNAL* " demangled="boost::detail::stream_char<std::string>::stream_char()" location="f2:85" file="f2" line="85" inline="1"/>
+  <Typedef id="_14518" name="type" type="_2961" context="_10874" access="public" location="f2:86" file="f2" line="86"/>
+  <Constructor id="_14519" name="stream_char" artificial="1" throw="" context="_10874" access="public" mangled="_ZN5boost6detail11stream_charIsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::stream_char<short>::stream_char(boost::detail::stream_char<short> const&)" location="f2:85" file="f2" line="85" inline="1">
+    <Argument name="_ctor_arg" type="_17452" location="f2:85" file="f2" line="85"/>
+  </Constructor>
+  <Constructor id="_14520" name="stream_char" explicit="1" artificial="1" throw="" context="_10874" access="public" mangled="_ZN5boost6detail11stream_charIsEC1Ev *INTERNAL* " demangled="boost::detail::stream_char<short>::stream_char()" location="f2:85" file="f2" line="85" inline="1"/>
+  <Typedef id="_14521" name="type" type="_2961" context="_10875" access="public" location="f2:86" file="f2" line="86"/>
+  <Constructor id="_14522" name="stream_char" artificial="1" throw="" context="_10875" access="public" mangled="_ZN5boost6detail11stream_charIxEC1ERKS2_ *INTERNAL* " demangled="boost::detail::stream_char<long long>::stream_char(boost::detail::stream_char<long long> const&)" location="f2:85" file="f2" line="85" inline="1">
+    <Argument name="_ctor_arg" type="_17453" location="f2:85" file="f2" line="85"/>
+  </Constructor>
+  <Constructor id="_14523" name="stream_char" explicit="1" artificial="1" throw="" context="_10875" access="public" mangled="_ZN5boost6detail11stream_charIxEC1Ev *INTERNAL* " demangled="boost::detail::stream_char<long long>::stream_char()" location="f2:85" file="f2" line="85" inline="1"/>
+  <Typedef id="_14524" name="type" type="_2961" context="_10876" access="public" location="f2:86" file="f2" line="86"/>
+  <Constructor id="_14525" name="stream_char" artificial="1" throw="" context="_10876" access="public" mangled="_ZN5boost6detail11stream_charIiEC1ERKS2_ *INTERNAL* " demangled="boost::detail::stream_char<int>::stream_char(boost::detail::stream_char<int> const&)" location="f2:85" file="f2" line="85" inline="1">
+    <Argument name="_ctor_arg" type="_17454" location="f2:85" file="f2" line="85"/>
+  </Constructor>
+  <Constructor id="_14526" name="stream_char" explicit="1" artificial="1" throw="" context="_10876" access="public" mangled="_ZN5boost6detail11stream_charIiEC1Ev *INTERNAL* " demangled="boost::detail::stream_char<int>::stream_char()" location="f2:85" file="f2" line="85" inline="1"/>
+  <Typedef id="_14527" name="type" type="_2961" context="_10877" access="public" location="f2:86" file="f2" line="86"/>
+  <Constructor id="_14528" name="stream_char" artificial="1" throw="" context="_10877" access="public" mangled="_ZN5boost6detail11stream_charItEC1ERKS2_ *INTERNAL* " demangled="boost::detail::stream_char<unsigned short>::stream_char(boost::detail::stream_char<unsigned short> const&)" location="f2:85" file="f2" line="85" inline="1">
+    <Argument name="_ctor_arg" type="_17455" location="f2:85" file="f2" line="85"/>
+  </Constructor>
+  <Constructor id="_14529" name="stream_char" explicit="1" artificial="1" throw="" context="_10877" access="public" mangled="_ZN5boost6detail11stream_charItEC1Ev *INTERNAL* " demangled="boost::detail::stream_char<unsigned short>::stream_char()" location="f2:85" file="f2" line="85" inline="1"/>
+  <Typedef id="_14530" name="type" type="_2786" context="_10878" access="public" location="f2:113" file="f2" line="113"/>
+  <Constructor id="_14531" name="stream_char" artificial="1" throw="" context="_10878" access="public" mangled="_ZN5boost6detail11stream_charISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::stream_char<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::stream_char(boost::detail::stream_char<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&amp [...]
+    <Argument name="_ctor_arg" type="_17456" location="f2:112" file="f2" line="112"/>
+  </Constructor>
+  <Constructor id="_14532" name="stream_char" explicit="1" artificial="1" throw="" context="_10878" access="public" mangled="_ZN5boost6detail11stream_charISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::stream_char<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::stream_char()" location="f2:112" file="f2" line="112" inline="1"/>
+  <Typedef id="_14533" name="type" type="_2786" context="_10879" access="public" location="f2:107" file="f2" line="107"/>
+  <Constructor id="_14534" name="stream_char" artificial="1" throw="" context="_10879" access="public" mangled="_ZN5boost6detail11stream_charIPKwEC1ERKS4_ *INTERNAL* " demangled="boost::detail::stream_char<wchar_t const*>::stream_char(boost::detail::stream_char<wchar_t const*> const&)" location="f2:106" file="f2" line="106" inline="1">
+    <Argument name="_ctor_arg" type="_17457" location="f2:106" file="f2" line="106"/>
+  </Constructor>
+  <Constructor id="_14535" name="stream_char" explicit="1" artificial="1" throw="" context="_10879" access="public" mangled="_ZN5boost6detail11stream_charIPKwEC1Ev *INTERNAL* " demangled="boost::detail::stream_char<wchar_t const*>::stream_char()" location="f2:106" file="f2" line="106" inline="1"/>
+  <Typedef id="_14536" name="type" type="_2786" context="_10880" access="public" location="f2:101" file="f2" line="101"/>
+  <Constructor id="_14537" name="stream_char" artificial="1" throw="" context="_10880" access="public" mangled="_ZN5boost6detail11stream_charIPwEC1ERKS3_ *INTERNAL* " demangled="boost::detail::stream_char<wchar_t*>::stream_char(boost::detail::stream_char<wchar_t*> const&)" location="f2:100" file="f2" line="100" inline="1">
+    <Argument name="_ctor_arg" type="_17458" location="f2:100" file="f2" line="100"/>
+  </Constructor>
+  <Constructor id="_14538" name="stream_char" explicit="1" artificial="1" throw="" context="_10880" access="public" mangled="_ZN5boost6detail11stream_charIPwEC1Ev *INTERNAL* " demangled="boost::detail::stream_char<wchar_t*>::stream_char()" location="f2:100" file="f2" line="100" inline="1"/>
+  <Typedef id="_14539" name="type" type="_2786" context="_10881" access="public" location="f2:94" file="f2" line="94"/>
+  <Constructor id="_14540" name="stream_char" artificial="1" throw="" context="_10881" access="public" mangled="_ZN5boost6detail11stream_charIwEC1ERKS2_ *INTERNAL* " demangled="boost::detail::stream_char<wchar_t>::stream_char(boost::detail::stream_char<wchar_t> const&)" location="f2:93" file="f2" line="93" inline="1">
+    <Argument name="_ctor_arg" type="_17459" location="f2:93" file="f2" line="93"/>
+  </Constructor>
+  <Constructor id="_14541" name="stream_char" explicit="1" artificial="1" throw="" context="_10881" access="public" mangled="_ZN5boost6detail11stream_charIwEC1Ev *INTERNAL* " demangled="boost::detail::stream_char<wchar_t>::stream_char()" location="f2:93" file="f2" line="93" inline="1"/>
+  <PointerType id="_14542" type="_1202" size="32" align="32"/>
+  <PointerType id="_14543" type="_1574" size="32" align="32"/>
+  <Variable id="_14544" name="use_default_precision" type="_3949c" init="true" context="_10890" access="public" mangled="_ZN5boost6detail15lcast_precisionIsE21use_default_precisionE" demangled="boost::detail::lcast_precision<short>::use_default_precision" location="f285:51" file="f285" line="51" extern="1"/>
+  <Variable id="_14545" name="is_specialized_bin" type="_3949c" init="false" context="_10890" access="public" mangled="_ZN5boost6detail15lcast_precisionIsE18is_specialized_binE" demangled="boost::detail::lcast_precision<short>::is_specialized_bin" location="f285:55" file="f285" line="55" extern="1"/>
+  <Variable id="_14546" name="is_specialized_dec" type="_3949c" init="false" context="_10890" access="public" mangled="_ZN5boost6detail15lcast_precisionIsE18is_specialized_decE" demangled="boost::detail::lcast_precision<short>::is_specialized_dec" location="f285:60" file="f285" line="60" extern="1"/>
+  <Variable id="_14547" name="streamsize_max" type="_2499c" init="2147483647" context="_10890" access="public" mangled="_ZN5boost6detail15lcast_precisionIsE14streamsize_maxE" demangled="boost::detail::lcast_precision<short>::streamsize_max" location="f285:65" file="f285" line="65" extern="1"/>
+  <Variable id="_14548" name="precision_dec" type="_837c" init="5" context="_10890" access="public" mangled="_ZN5boost6detail15lcast_precisionIsE13precision_decE" demangled="boost::detail::lcast_precision<short>::precision_dec" location="f285:69" file="f285" line="69" extern="1"/>
+  <Variable id="_14549" name="precision_bin" type="_643c" init="6" context="_10890" access="public" mangled="_ZN5boost6detail15lcast_precisionIsE13precision_binE" demangled="boost::detail::lcast_precision<short>::precision_bin" location="f285:75" file="f285" line="75" extern="1"/>
+  <Variable id="_14550" name="value" type="_2499c" init="6" context="_10890" access="public" mangled="_ZN5boost6detail15lcast_precisionIsE5valueE" demangled="boost::detail::lcast_precision<short>::value" location="f285:85" file="f285" line="85" extern="1"/>
+  <Typedef id="_14551" name="limits" type="_2176" context="_10890" access="public" location="f285:42" file="f285" line="42"/>
+  <Typedef id="_14552" name="boost_static_assert_typedef_73" type="_3684" context="_10890" access="public" location="f285:71" file="f285" line="71"/>
+  <Typedef id="_14553" name="boost_static_assert_typedef_83" type="_3684" context="_10890" access="public" location="f285:79" file="f285" line="79"/>
+  <Constructor id="_14554" name="lcast_precision" artificial="1" throw="" context="_10890" access="public" mangled="_ZN5boost6detail15lcast_precisionIsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_precision<short>::lcast_precision(boost::detail::lcast_precision<short> const&)" location="f285:40" file="f285" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17460" location="f285:40" file="f285" line="40"/>
+  </Constructor>
+  <Constructor id="_14555" name="lcast_precision" explicit="1" artificial="1" throw="" context="_10890" access="public" mangled="_ZN5boost6detail15lcast_precisionIsEC1Ev *INTERNAL* " demangled="boost::detail::lcast_precision<short>::lcast_precision()" location="f285:40" file="f285" line="40" inline="1"/>
+  <Variable id="_14556" name="use_default_precision" type="_3949c" init="true" context="_10891" access="public" mangled="_ZN5boost6detail15lcast_precisionIxE21use_default_precisionE" demangled="boost::detail::lcast_precision<long long>::use_default_precision" location="f285:51" file="f285" line="51" extern="1"/>
+  <Variable id="_14557" name="is_specialized_bin" type="_3949c" init="false" context="_10891" access="public" mangled="_ZN5boost6detail15lcast_precisionIxE18is_specialized_binE" demangled="boost::detail::lcast_precision<long long>::is_specialized_bin" location="f285:55" file="f285" line="55" extern="1"/>
+  <Variable id="_14558" name="is_specialized_dec" type="_3949c" init="false" context="_10891" access="public" mangled="_ZN5boost6detail15lcast_precisionIxE18is_specialized_decE" demangled="boost::detail::lcast_precision<long long>::is_specialized_dec" location="f285:60" file="f285" line="60" extern="1"/>
+  <Variable id="_14559" name="streamsize_max" type="_2499c" init="2147483647" context="_10891" access="public" mangled="_ZN5boost6detail15lcast_precisionIxE14streamsize_maxE" demangled="boost::detail::lcast_precision<long long>::streamsize_max" location="f285:65" file="f285" line="65" extern="1"/>
+  <Variable id="_14560" name="precision_dec" type="_837c" init="19" context="_10891" access="public" mangled="_ZN5boost6detail15lcast_precisionIxE13precision_decE" demangled="boost::detail::lcast_precision<long long>::precision_dec" location="f285:69" file="f285" line="69" extern="1"/>
+  <Variable id="_14561" name="precision_bin" type="_643c" init="20" context="_10891" access="public" mangled="_ZN5boost6detail15lcast_precisionIxE13precision_binE" demangled="boost::detail::lcast_precision<long long>::precision_bin" location="f285:75" file="f285" line="75" extern="1"/>
+  <Variable id="_14562" name="value" type="_2499c" init="6" context="_10891" access="public" mangled="_ZN5boost6detail15lcast_precisionIxE5valueE" demangled="boost::detail::lcast_precision<long long>::value" location="f285:85" file="f285" line="85" extern="1"/>
+  <Typedef id="_14563" name="limits" type="_2177" context="_10891" access="public" location="f285:42" file="f285" line="42"/>
+  <Typedef id="_14564" name="boost_static_assert_typedef_73" type="_3684" context="_10891" access="public" location="f285:71" file="f285" line="71"/>
+  <Typedef id="_14565" name="boost_static_assert_typedef_83" type="_3684" context="_10891" access="public" location="f285:79" file="f285" line="79"/>
+  <Constructor id="_14566" name="lcast_precision" artificial="1" throw="" context="_10891" access="public" mangled="_ZN5boost6detail15lcast_precisionIxEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_precision<long long>::lcast_precision(boost::detail::lcast_precision<long long> const&)" location="f285:40" file="f285" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17461" location="f285:40" file="f285" line="40"/>
+  </Constructor>
+  <Constructor id="_14567" name="lcast_precision" explicit="1" artificial="1" throw="" context="_10891" access="public" mangled="_ZN5boost6detail15lcast_precisionIxEC1Ev *INTERNAL* " demangled="boost::detail::lcast_precision<long long>::lcast_precision()" location="f285:40" file="f285" line="40" inline="1"/>
+  <Variable id="_14568" name="use_default_precision" type="_3949c" init="true" context="_10892" access="public" mangled="_ZN5boost6detail15lcast_precisionIiE21use_default_precisionE" demangled="boost::detail::lcast_precision<int>::use_default_precision" location="f285:51" file="f285" line="51" extern="1"/>
+  <Variable id="_14569" name="is_specialized_bin" type="_3949c" init="false" context="_10892" access="public" mangled="_ZN5boost6detail15lcast_precisionIiE18is_specialized_binE" demangled="boost::detail::lcast_precision<int>::is_specialized_bin" location="f285:55" file="f285" line="55" extern="1"/>
+  <Variable id="_14570" name="is_specialized_dec" type="_3949c" init="false" context="_10892" access="public" mangled="_ZN5boost6detail15lcast_precisionIiE18is_specialized_decE" demangled="boost::detail::lcast_precision<int>::is_specialized_dec" location="f285:60" file="f285" line="60" extern="1"/>
+  <Variable id="_14571" name="streamsize_max" type="_2499c" init="2147483647" context="_10892" access="public" mangled="_ZN5boost6detail15lcast_precisionIiE14streamsize_maxE" demangled="boost::detail::lcast_precision<int>::streamsize_max" location="f285:65" file="f285" line="65" extern="1"/>
+  <Variable id="_14572" name="precision_dec" type="_837c" init="10" context="_10892" access="public" mangled="_ZN5boost6detail15lcast_precisionIiE13precision_decE" demangled="boost::detail::lcast_precision<int>::precision_dec" location="f285:69" file="f285" line="69" extern="1"/>
+  <Variable id="_14573" name="precision_bin" type="_643c" init="11" context="_10892" access="public" mangled="_ZN5boost6detail15lcast_precisionIiE13precision_binE" demangled="boost::detail::lcast_precision<int>::precision_bin" location="f285:75" file="f285" line="75" extern="1"/>
+  <Variable id="_14574" name="value" type="_2499c" init="6" context="_10892" access="public" mangled="_ZN5boost6detail15lcast_precisionIiE5valueE" demangled="boost::detail::lcast_precision<int>::value" location="f285:85" file="f285" line="85" extern="1"/>
+  <Typedef id="_14575" name="limits" type="_2178" context="_10892" access="public" location="f285:42" file="f285" line="42"/>
+  <Typedef id="_14576" name="boost_static_assert_typedef_73" type="_3684" context="_10892" access="public" location="f285:71" file="f285" line="71"/>
+  <Typedef id="_14577" name="boost_static_assert_typedef_83" type="_3684" context="_10892" access="public" location="f285:79" file="f285" line="79"/>
+  <Constructor id="_14578" name="lcast_precision" artificial="1" throw="" context="_10892" access="public" mangled="_ZN5boost6detail15lcast_precisionIiEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_precision<int>::lcast_precision(boost::detail::lcast_precision<int> const&)" location="f285:40" file="f285" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17462" location="f285:40" file="f285" line="40"/>
+  </Constructor>
+  <Constructor id="_14579" name="lcast_precision" explicit="1" artificial="1" throw="" context="_10892" access="public" mangled="_ZN5boost6detail15lcast_precisionIiEC1Ev *INTERNAL* " demangled="boost::detail::lcast_precision<int>::lcast_precision()" location="f285:40" file="f285" line="40" inline="1"/>
+  <Variable id="_14580" name="use_default_precision" type="_3949c" init="true" context="_10893" access="public" mangled="_ZN5boost6detail15lcast_precisionItE21use_default_precisionE" demangled="boost::detail::lcast_precision<unsigned short>::use_default_precision" location="f285:51" file="f285" line="51" extern="1"/>
+  <Variable id="_14581" name="is_specialized_bin" type="_3949c" init="false" context="_10893" access="public" mangled="_ZN5boost6detail15lcast_precisionItE18is_specialized_binE" demangled="boost::detail::lcast_precision<unsigned short>::is_specialized_bin" location="f285:55" file="f285" line="55" extern="1"/>
+  <Variable id="_14582" name="is_specialized_dec" type="_3949c" init="false" context="_10893" access="public" mangled="_ZN5boost6detail15lcast_precisionItE18is_specialized_decE" demangled="boost::detail::lcast_precision<unsigned short>::is_specialized_dec" location="f285:60" file="f285" line="60" extern="1"/>
+  <Variable id="_14583" name="streamsize_max" type="_2499c" init="2147483647" context="_10893" access="public" mangled="_ZN5boost6detail15lcast_precisionItE14streamsize_maxE" demangled="boost::detail::lcast_precision<unsigned short>::streamsize_max" location="f285:65" file="f285" line="65" extern="1"/>
+  <Variable id="_14584" name="precision_dec" type="_837c" init="5" context="_10893" access="public" mangled="_ZN5boost6detail15lcast_precisionItE13precision_decE" demangled="boost::detail::lcast_precision<unsigned short>::precision_dec" location="f285:69" file="f285" line="69" extern="1"/>
+  <Variable id="_14585" name="precision_bin" type="_643c" init="6" context="_10893" access="public" mangled="_ZN5boost6detail15lcast_precisionItE13precision_binE" demangled="boost::detail::lcast_precision<unsigned short>::precision_bin" location="f285:75" file="f285" line="75" extern="1"/>
+  <Variable id="_14586" name="value" type="_2499c" init="6" context="_10893" access="public" mangled="_ZN5boost6detail15lcast_precisionItE5valueE" demangled="boost::detail::lcast_precision<unsigned short>::value" location="f285:85" file="f285" line="85" extern="1"/>
+  <Typedef id="_14587" name="limits" type="_2179" context="_10893" access="public" location="f285:42" file="f285" line="42"/>
+  <Typedef id="_14588" name="boost_static_assert_typedef_73" type="_3684" context="_10893" access="public" location="f285:71" file="f285" line="71"/>
+  <Typedef id="_14589" name="boost_static_assert_typedef_83" type="_3684" context="_10893" access="public" location="f285:79" file="f285" line="79"/>
+  <Constructor id="_14590" name="lcast_precision" artificial="1" throw="" context="_10893" access="public" mangled="_ZN5boost6detail15lcast_precisionItEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_precision<unsigned short>::lcast_precision(boost::detail::lcast_precision<unsigned short> const&)" location="f285:40" file="f285" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17463" location="f285:40" file="f285" line="40"/>
+  </Constructor>
+  <Constructor id="_14591" name="lcast_precision" explicit="1" artificial="1" throw="" context="_10893" access="public" mangled="_ZN5boost6detail15lcast_precisionItEC1Ev *INTERNAL* " demangled="boost::detail::lcast_precision<unsigned short>::lcast_precision()" location="f285:40" file="f285" line="40" inline="1"/>
+  <Variable id="_14592" name="use_default_precision" type="_3949c" init="false" context="_10894" access="public" mangled="_ZN5boost6detail15lcast_precisionIeE21use_default_precisionE" demangled="boost::detail::lcast_precision<long double>::use_default_precision" location="f285:51" file="f285" line="51" extern="1"/>
+  <Variable id="_14593" name="is_specialized_bin" type="_3949c" init="true" context="_10894" access="public" mangled="_ZN5boost6detail15lcast_precisionIeE18is_specialized_binE" demangled="boost::detail::lcast_precision<long double>::is_specialized_bin" location="f285:55" file="f285" line="55" extern="1"/>
+  <Variable id="_14594" name="is_specialized_dec" type="_3949c" init="false" context="_10894" access="public" mangled="_ZN5boost6detail15lcast_precisionIeE18is_specialized_decE" demangled="boost::detail::lcast_precision<long double>::is_specialized_dec" location="f285:60" file="f285" line="60" extern="1"/>
+  <Variable id="_14595" name="streamsize_max" type="_2499c" init="2147483647" context="_10894" access="public" mangled="_ZN5boost6detail15lcast_precisionIeE14streamsize_maxE" demangled="boost::detail::lcast_precision<long double>::streamsize_max" location="f285:65" file="f285" line="65" extern="1"/>
+  <Variable id="_14596" name="precision_dec" type="_837c" init="19" context="_10894" access="public" mangled="_ZN5boost6detail15lcast_precisionIeE13precision_decE" demangled="boost::detail::lcast_precision<long double>::precision_dec" location="f285:69" file="f285" line="69" extern="1"/>
+  <Variable id="_14597" name="precision_bin" type="_643c" init="21" context="_10894" access="public" mangled="_ZN5boost6detail15lcast_precisionIeE13precision_binE" demangled="boost::detail::lcast_precision<long double>::precision_bin" location="f285:75" file="f285" line="75" extern="1"/>
+  <Variable id="_14598" name="value" type="_2499c" init="21" context="_10894" access="public" mangled="_ZN5boost6detail15lcast_precisionIeE5valueE" demangled="boost::detail::lcast_precision<long double>::value" location="f285:85" file="f285" line="85" extern="1"/>
+  <Typedef id="_14599" name="limits" type="_2181" context="_10894" access="public" location="f285:42" file="f285" line="42"/>
+  <Typedef id="_14600" name="boost_static_assert_typedef_73" type="_3684" context="_10894" access="public" location="f285:71" file="f285" line="71"/>
+  <Typedef id="_14601" name="boost_static_assert_typedef_83" type="_3684" context="_10894" access="public" location="f285:79" file="f285" line="79"/>
+  <Constructor id="_14602" name="lcast_precision" artificial="1" throw="" context="_10894" access="public" mangled="_ZN5boost6detail15lcast_precisionIeEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_precision<long double>::lcast_precision(boost::detail::lcast_precision<long double> const&)" location="f285:40" file="f285" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17464" location="f285:40" file="f285" line="40"/>
+  </Constructor>
+  <Constructor id="_14603" name="lcast_precision" explicit="1" artificial="1" throw="" context="_10894" access="public" mangled="_ZN5boost6detail15lcast_precisionIeEC1Ev *INTERNAL* " demangled="boost::detail::lcast_precision<long double>::lcast_precision()" location="f285:40" file="f285" line="40" inline="1"/>
+  <Variable id="_14604" name="use_default_precision" type="_3949c" init="false" context="_10895" access="public" mangled="_ZN5boost6detail15lcast_precisionIdE21use_default_precisionE" demangled="boost::detail::lcast_precision<double>::use_default_precision" location="f285:51" file="f285" line="51" extern="1"/>
+  <Variable id="_14605" name="is_specialized_bin" type="_3949c" init="true" context="_10895" access="public" mangled="_ZN5boost6detail15lcast_precisionIdE18is_specialized_binE" demangled="boost::detail::lcast_precision<double>::is_specialized_bin" location="f285:55" file="f285" line="55" extern="1"/>
+  <Variable id="_14606" name="is_specialized_dec" type="_3949c" init="false" context="_10895" access="public" mangled="_ZN5boost6detail15lcast_precisionIdE18is_specialized_decE" demangled="boost::detail::lcast_precision<double>::is_specialized_dec" location="f285:60" file="f285" line="60" extern="1"/>
+  <Variable id="_14607" name="streamsize_max" type="_2499c" init="2147483647" context="_10895" access="public" mangled="_ZN5boost6detail15lcast_precisionIdE14streamsize_maxE" demangled="boost::detail::lcast_precision<double>::streamsize_max" location="f285:65" file="f285" line="65" extern="1"/>
+  <Variable id="_14608" name="precision_dec" type="_837c" init="16" context="_10895" access="public" mangled="_ZN5boost6detail15lcast_precisionIdE13precision_decE" demangled="boost::detail::lcast_precision<double>::precision_dec" location="f285:69" file="f285" line="69" extern="1"/>
+  <Variable id="_14609" name="precision_bin" type="_643c" init="17" context="_10895" access="public" mangled="_ZN5boost6detail15lcast_precisionIdE13precision_binE" demangled="boost::detail::lcast_precision<double>::precision_bin" location="f285:75" file="f285" line="75" extern="1"/>
+  <Variable id="_14610" name="value" type="_2499c" init="17" context="_10895" access="public" mangled="_ZN5boost6detail15lcast_precisionIdE5valueE" demangled="boost::detail::lcast_precision<double>::value" location="f285:85" file="f285" line="85" extern="1"/>
+  <Typedef id="_14611" name="limits" type="_2182" context="_10895" access="public" location="f285:42" file="f285" line="42"/>
+  <Typedef id="_14612" name="boost_static_assert_typedef_73" type="_3684" context="_10895" access="public" location="f285:71" file="f285" line="71"/>
+  <Typedef id="_14613" name="boost_static_assert_typedef_83" type="_3684" context="_10895" access="public" location="f285:79" file="f285" line="79"/>
+  <Constructor id="_14614" name="lcast_precision" artificial="1" throw="" context="_10895" access="public" mangled="_ZN5boost6detail15lcast_precisionIdEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_precision<double>::lcast_precision(boost::detail::lcast_precision<double> const&)" location="f285:40" file="f285" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17465" location="f285:40" file="f285" line="40"/>
+  </Constructor>
+  <Constructor id="_14615" name="lcast_precision" explicit="1" artificial="1" throw="" context="_10895" access="public" mangled="_ZN5boost6detail15lcast_precisionIdEC1Ev *INTERNAL* " demangled="boost::detail::lcast_precision<double>::lcast_precision()" location="f285:40" file="f285" line="40" inline="1"/>
+  <Variable id="_14616" name="use_default_precision" type="_3949c" init="false" context="_10896" access="public" mangled="_ZN5boost6detail15lcast_precisionIfE21use_default_precisionE" demangled="boost::detail::lcast_precision<float>::use_default_precision" location="f285:51" file="f285" line="51" extern="1"/>
+  <Variable id="_14617" name="is_specialized_bin" type="_3949c" init="true" context="_10896" access="public" mangled="_ZN5boost6detail15lcast_precisionIfE18is_specialized_binE" demangled="boost::detail::lcast_precision<float>::is_specialized_bin" location="f285:55" file="f285" line="55" extern="1"/>
+  <Variable id="_14618" name="is_specialized_dec" type="_3949c" init="false" context="_10896" access="public" mangled="_ZN5boost6detail15lcast_precisionIfE18is_specialized_decE" demangled="boost::detail::lcast_precision<float>::is_specialized_dec" location="f285:60" file="f285" line="60" extern="1"/>
+  <Variable id="_14619" name="streamsize_max" type="_2499c" init="2147483647" context="_10896" access="public" mangled="_ZN5boost6detail15lcast_precisionIfE14streamsize_maxE" demangled="boost::detail::lcast_precision<float>::streamsize_max" location="f285:65" file="f285" line="65" extern="1"/>
+  <Variable id="_14620" name="precision_dec" type="_837c" init="7" context="_10896" access="public" mangled="_ZN5boost6detail15lcast_precisionIfE13precision_decE" demangled="boost::detail::lcast_precision<float>::precision_dec" location="f285:69" file="f285" line="69" extern="1"/>
+  <Variable id="_14621" name="precision_bin" type="_643c" init="9" context="_10896" access="public" mangled="_ZN5boost6detail15lcast_precisionIfE13precision_binE" demangled="boost::detail::lcast_precision<float>::precision_bin" location="f285:75" file="f285" line="75" extern="1"/>
+  <Variable id="_14622" name="value" type="_2499c" init="9" context="_10896" access="public" mangled="_ZN5boost6detail15lcast_precisionIfE5valueE" demangled="boost::detail::lcast_precision<float>::value" location="f285:85" file="f285" line="85" extern="1"/>
+  <Typedef id="_14623" name="limits" type="_2183" context="_10896" access="public" location="f285:42" file="f285" line="42"/>
+  <Typedef id="_14624" name="boost_static_assert_typedef_73" type="_3684" context="_10896" access="public" location="f285:71" file="f285" line="71"/>
+  <Typedef id="_14625" name="boost_static_assert_typedef_83" type="_3684" context="_10896" access="public" location="f285:79" file="f285" line="79"/>
+  <Constructor id="_14626" name="lcast_precision" artificial="1" throw="" context="_10896" access="public" mangled="_ZN5boost6detail15lcast_precisionIfEC1ERKS2_ *INTERNAL* " demangled="boost::detail::lcast_precision<float>::lcast_precision(boost::detail::lcast_precision<float> const&)" location="f285:40" file="f285" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17466" location="f285:40" file="f285" line="40"/>
+  </Constructor>
+  <Constructor id="_14627" name="lcast_precision" explicit="1" artificial="1" throw="" context="_10896" access="public" mangled="_ZN5boost6detail15lcast_precisionIfEC1Ev *INTERNAL* " demangled="boost::detail::lcast_precision<float>::lcast_precision()" location="f285:40" file="f285" line="40" inline="1"/>
+  <Constructor id="_14628" name="lcast_abstract_stub" artificial="1" throw="" context="_10897" access="public" mangled="_ZN5boost6detail19lcast_abstract_stubC1ERKS1_ *INTERNAL* " demangled="boost::detail::lcast_abstract_stub::lcast_abstract_stub(boost::detail::lcast_abstract_stub const&)" location="f285:32" file="f285" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17467" location="f285:32" file="f285" line="32"/>
+  </Constructor>
+  <Constructor id="_14629" name="lcast_abstract_stub" explicit="1" artificial="1" throw="" context="_10897" access="public" mangled="_ZN5boost6detail19lcast_abstract_stubC1Ev *INTERNAL* " demangled="boost::detail::lcast_abstract_stub::lcast_abstract_stub()" location="f285:32" file="f285" line="32" inline="1"/>
+  <Typedef id="_14630" name="param_type" type="_4948" context="_10898" access="public" location="f135:49" file="f135" line="49"/>
+  <Constructor id="_14631" name="ct_imp" artificial="1" throw="" context="_10898" access="public" mangled="_ZN5boost6detail6ct_impISsLb0ELb0EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::ct_imp<std::string, false, false>::ct_imp(boost::detail::ct_imp<std::string, false, false> const&)" location="f135:48" file="f135" line="48" inline="1">
+    <Argument name="_ctor_arg" type="_17468" location="f135:48" file="f135" line="48"/>
+  </Constructor>
+  <Constructor id="_14632" name="ct_imp" explicit="1" artificial="1" throw="" context="_10898" access="public" mangled="_ZN5boost6detail6ct_impISsLb0ELb0EEC1Ev *INTERNAL* " demangled="boost::detail::ct_imp<std::string, false, false>::ct_imp()" location="f135:48" file="f135" line="48" inline="1"/>
+  <Constructor id="_14633" name="choose_difference_type" artificial="1" throw="" context="_10900" access="public" mangled="_ZN5boost6detail22choose_difference_typeC1ERKS1_ *INTERNAL* " demangled="boost::detail::choose_difference_type::choose_difference_type(boost::detail::choose_difference_type const&)" location="f140:407" file="f140" line="407" inline="1">
+    <Argument name="_ctor_arg" type="_17469" location="f140:407" file="f140" line="407"/>
+  </Constructor>
+  <Constructor id="_14634" name="choose_difference_type" explicit="1" artificial="1" throw="" context="_10900" access="public" mangled="_ZN5boost6detail22choose_difference_typeC1Ev *INTERNAL* " demangled="boost::detail::choose_difference_type::choose_difference_type()" location="f140:407" file="f140" line="407" inline="1"/>
+  <Typedef id="_14635" name="type" type="_10906" context="_10901" access="public" location="f140:391" file="f140" line="391"/>
+  <Constructor id="_14636" name="operator_brackets_result" artificial="1" throw="" context="_10901" access="public" mangled="_ZN5boost6detail24operator_brackets_resultINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS5_SaIwEEEESC_EESC_RKSC_EC1ERKSH_ *INTERNAL* " demangled="boost::detail::operator_brackets_result<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__normal_iterato [...]
+    <Argument name="_ctor_arg" type="_17470" location="f140:386" file="f140" line="386"/>
+  </Constructor>
+  <Constructor id="_14637" name="operator_brackets_result" explicit="1" artificial="1" throw="" context="_10901" access="public" mangled="_ZN5boost6detail24operator_brackets_resultINS_14token_iteratorINS_14char_separatorIwSt11char_traitsIwEEEN9__gnu_cxx17__normal_iteratorIPKwSbIwS5_SaIwEEEESC_EESC_RKSC_EC1Ev *INTERNAL* " demangled="boost::detail::operator_brackets_result<boost::token_iterator<boost::char_separator<wchar_t, std::char_traits<wchar_t> >, __gnu_cxx::__norma [...]
+  <Typedef id="_14638" name="type" type="_10907" context="_10902" access="public" location="f140:391" file="f140" line="391"/>
+  <Constructor id="_14639" name="operator_brackets_result" artificial="1" throw="" context="_10902" access="public" mangled="_ZN5boost6detail24operator_brackets_resultINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsRKSsEC1ERKSC_ *INTERNAL* " demangled="boost::detail::operator_brackets_result<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, std::string con [...]
+    <Argument name="_ctor_arg" type="_17471" location="f140:386" file="f140" line="386"/>
+  </Constructor>
+  <Constructor id="_14640" name="operator_brackets_result" explicit="1" artificial="1" throw="" context="_10902" access="public" mangled="_ZN5boost6detail24operator_brackets_resultINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsRKSsEC1Ev *INTERNAL* " demangled="boost::detail::operator_brackets_result<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, std::string, std::s [...]
+  <Typedef id="_14641" name="type" type="_10908" context="_10903" access="public" location="f140:391" file="f140" line="391"/>
+  <Constructor id="_14642" name="operator_brackets_result" artificial="1" throw="" context="_10903" access="public" mangled="_ZN5boost6detail24operator_brackets_resultINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsRKSsEC1ERKSF_ *INTERNAL* " demangled="boost::detail::operator_brackets_result<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, st [...]
+    <Argument name="_ctor_arg" type="_17472" location="f140:386" file="f140" line="386"/>
+  </Constructor>
+  <Constructor id="_14643" name="operator_brackets_result" explicit="1" artificial="1" throw="" context="_10903" access="public" mangled="_ZN5boost6detail24operator_brackets_resultINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESsRKSsEC1Ev *INTERNAL* " demangled="boost::detail::operator_brackets_result<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char c [...]
+  <Constructor id="_14644" name="use_operator_brackets_proxy" artificial="1" throw="" context="_10904" access="public" mangled="_ZN5boost6detail27use_operator_brackets_proxyISbIwSt11char_traitsIwESaIwEERKS5_EC1ERKS8_ *INTERNAL* " demangled="boost::detail::use_operator_brackets_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&am [...]
+    <Argument name="_ctor_arg" type="_17473" location="f140:382" file="f140" line="382"/>
+  </Constructor>
+  <Constructor id="_14645" name="use_operator_brackets_proxy" explicit="1" artificial="1" throw="" context="_10904" access="public" mangled="_ZN5boost6detail27use_operator_brackets_proxyISbIwSt11char_traitsIwESaIwEERKS5_EC1Ev *INTERNAL* " demangled="boost::detail::use_operator_brackets_proxy<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > [...]
+  <Constructor id="_14646" name="use_operator_brackets_proxy" artificial="1" throw="" context="_10905" access="public" mangled="_ZN5boost6detail27use_operator_brackets_proxyISsRKSsEC1ERKS4_ *INTERNAL* " demangled="boost::detail::use_operator_brackets_proxy<std::string, std::string const&>::use_operator_brackets_proxy(boost::detail::use_operator_brackets_proxy<std::string, std::string const&> const&)" location="f140:382" file="f140" line="382" inline="1">
+    <Argument name="_ctor_arg" type="_17474" location="f140:382" file="f140" line="382"/>
+  </Constructor>
+  <Constructor id="_14647" name="use_operator_brackets_proxy" explicit="1" artificial="1" throw="" context="_10905" access="public" mangled="_ZN5boost6detail27use_operator_brackets_proxyISsRKSsEC1Ev *INTERNAL* " demangled="boost::detail::use_operator_brackets_proxy<std::string, std::string const&>::use_operator_brackets_proxy()" location="f140:382" file="f140" line="382" inline="1"/>
+  <Typedef id="_14648" name="type" type="_9288" context="_10909" access="public" location="f140:322" file="f140" line="322"/>
+  <Constructor id="_14649" name="operator_arrow_result" artificial="1" throw="" context="_10909" access="public" mangled="_ZN5boost6detail21operator_arrow_resultISsRKSsPS2_EC1ERKS5_ *INTERNAL* " demangled="boost::detail::operator_arrow_result<std::string, std::string const&, std::string const*>::operator_arrow_result(boost::detail::operator_arrow_result<std::string, std::string const&, std::string const*> const&)" location="f140:314" file="f140" line="314" inline="1">
+    <Argument name="_ctor_arg" type="_17475" location="f140:314" file="f140" line="314"/>
+  </Constructor>
+  <Constructor id="_14650" name="operator_arrow_result" explicit="1" artificial="1" throw="" context="_10909" access="public" mangled="_ZN5boost6detail21operator_arrow_resultISsRKSsPS2_EC1Ev *INTERNAL* " demangled="boost::detail::operator_arrow_result<std::string, std::string const&, std::string const*>::operator_arrow_result()" location="f140:314" file="f140" line="314" inline="1"/>
+  <Method id="_14651" name="make" returns="_9288" static="1" context="_10909" access="public" mangled="_ZN5boost6detail21operator_arrow_resultISsRKSsPS2_E4makeES3_" demangled="boost::detail::operator_arrow_result<std::string, std::string const&, std::string const*>::make(std::string const&)" location="f140:325" file="f140" line="325" endline="326" inline="1">
+    <Argument name="x" type="_4948" location="f140:325" file="f140" line="325"/>
+  </Method>
+  <Typedef id="_14652" name="type" type="_9328" context="_10910" access="public" location="f140:322" file="f140" line="322"/>
+  <Constructor id="_14653" name="operator_arrow_result" artificial="1" throw="" context="_10910" access="public" mangled="_ZN5boost6detail21operator_arrow_resultISbIwSt11char_traitsIwESaIwEERKS5_PS6_EC1ERKS9_ *INTERNAL* " demangled="boost::detail::operator_arrow_result<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic [...]
+    <Argument name="_ctor_arg" type="_17476" location="f140:314" file="f140" line="314"/>
+  </Constructor>
+  <Constructor id="_14654" name="operator_arrow_result" explicit="1" artificial="1" throw="" context="_10910" access="public" mangled="_ZN5boost6detail21operator_arrow_resultISbIwSt11char_traitsIwESaIwEERKS5_PS6_EC1Ev *INTERNAL* " demangled="boost::detail::operator_arrow_result<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, s [...]
+  <Method id="_14655" name="make" returns="_9328" static="1" context="_10910" access="public" mangled="_ZN5boost6detail21operator_arrow_resultISbIwSt11char_traitsIwESaIwEERKS5_PS6_E4makeES7_" demangled="boost::detail::operator_arrow_result<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_ [...]
+    <Argument name="x" type="_4947" location="f140:325" file="f140" line="325"/>
+  </Method>
+  <Constructor id="_14656" name="enable_if_interoperable" artificial="1" throw="" context="_10913" access="public" mangled="_ZN5boost6detail23enable_if_interoperableINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_bEC1ERKSA_ *INTERNAL* " demangled="boost::detail::enable_if_interoperable<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::o [...]
+    <Argument name="_ctor_arg" type="_17477" location="f140:87" file="f140" line="87"/>
+  </Constructor>
+  <Constructor id="_14657" name="enable_if_interoperable" explicit="1" artificial="1" throw="" context="_10913" access="public" mangled="_ZN5boost6detail23enable_if_interoperableINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_bEC1Ev *INTERNAL* " demangled="boost::detail::enable_if_interoperable<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator&lt [...]
+  <Constructor id="_14658" name="enable_if_interoperable" artificial="1" throw="" context="_10914" access="public" mangled="_ZN5boost6detail23enable_if_interoperableINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_bEC1ERKSD_ *INTERNAL* " demangled="boost::detail::enable_if_interoperable<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::st [...]
+    <Argument name="_ctor_arg" type="_17478" location="f140:87" file="f140" line="87"/>
+  </Constructor>
+  <Constructor id="_14659" name="enable_if_interoperable" explicit="1" artificial="1" throw="" context="_10914" access="public" mangled="_ZN5boost6detail23enable_if_interoperableINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_bEC1Ev *INTERNAL* " demangled="boost::detail::enable_if_interoperable<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const* [...]
+  <Constructor id="_14660" name="always_bool2" artificial="1" throw="" context="_10915" access="public" mangled="_ZN5boost6detail12always_bool2C1ERKS1_ *INTERNAL* " demangled="boost::detail::always_bool2::always_bool2(boost::detail::always_bool2 const&)" location="f140:51" file="f140" line="51" inline="1">
+    <Argument name="_ctor_arg" type="_17479" location="f140:51" file="f140" line="51"/>
+  </Constructor>
+  <Constructor id="_14661" name="always_bool2" explicit="1" artificial="1" throw="" context="_10915" access="public" mangled="_ZN5boost6detail12always_bool2C1Ev *INTERNAL* " demangled="boost::detail::always_bool2::always_bool2()" location="f140:51" file="f140" line="51" inline="1"/>
+  <Variable id="_14662" name="value" type="_3949c" init="false" context="_10916" access="public" mangled="_ZN5boost6detail11is_pod_implISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_pod_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f141:34" file="f141" line="34" extern="1"/>
+  <Constructor id="_14663" name="is_pod_impl" artificial="1" throw="" context="_10916" access="public" mangled="_ZN5boost6detail11is_pod_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_pod_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_pod_impl(boost::detail::is_pod_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > const&amp [...]
+    <Argument name="_ctor_arg" type="_17480" location="f141:33" file="f141" line="33"/>
+  </Constructor>
+  <Constructor id="_14664" name="is_pod_impl" explicit="1" artificial="1" throw="" context="_10916" access="public" mangled="_ZN5boost6detail11is_pod_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_pod_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_pod_impl()" location="f141:33" file="f141" line="33" inline="1"/>
+  <Variable id="_14665" name="value" type="_3949c" init="false" context="_10917" access="public" mangled="_ZN5boost6detail11is_pod_implISsE5valueE" demangled="boost::detail::is_pod_impl<std::string>::value" location="f141:34" file="f141" line="34" extern="1"/>
+  <Constructor id="_14666" name="is_pod_impl" artificial="1" throw="" context="_10917" access="public" mangled="_ZN5boost6detail11is_pod_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pod_impl<std::string>::is_pod_impl(boost::detail::is_pod_impl<std::string> const&)" location="f141:33" file="f141" line="33" inline="1">
+    <Argument name="_ctor_arg" type="_17481" location="f141:33" file="f141" line="33"/>
+  </Constructor>
+  <Constructor id="_14667" name="is_pod_impl" explicit="1" artificial="1" throw="" context="_10917" access="public" mangled="_ZN5boost6detail11is_pod_implISsEC1Ev *INTERNAL* " demangled="boost::detail::is_pod_impl<std::string>::is_pod_impl()" location="f141:33" file="f141" line="33" inline="1"/>
+  <Variable id="_14668" name="value" type="_3949c" init="true" context="_10918" access="public" mangled="_ZN5boost6detail11is_pod_implIVKvE5valueE" demangled="boost::detail::is_pod_impl<void volatile const>::value" location="f141:123" file="f141" line="123" extern="1"/>
+  <Constructor id="_14669" name="is_pod_impl" artificial="1" throw="" context="_10918" access="public" mangled="_ZN5boost6detail11is_pod_implIVKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_pod_impl<void volatile const>::is_pod_impl(boost::detail::is_pod_impl<void volatile const> const&)" location="f141:123" file="f141" line="123" inline="1">
+    <Argument name="_ctor_arg" type="_17482" location="f141:123" file="f141" line="123"/>
+  </Constructor>
+  <Constructor id="_14670" name="is_pod_impl" explicit="1" artificial="1" throw="" context="_10918" access="public" mangled="_ZN5boost6detail11is_pod_implIVKvEC1Ev *INTERNAL* " demangled="boost::detail::is_pod_impl<void volatile const>::is_pod_impl()" location="f141:123" file="f141" line="123" inline="1"/>
+  <Variable id="_14671" name="value" type="_3949c" init="true" context="_10919" access="public" mangled="_ZN5boost6detail11is_pod_implIVvE5valueE" demangled="boost::detail::is_pod_impl<void volatile>::value" location="f141:122" file="f141" line="122" extern="1"/>
+  <Constructor id="_14672" name="is_pod_impl" artificial="1" throw="" context="_10919" access="public" mangled="_ZN5boost6detail11is_pod_implIVvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_pod_impl<void volatile>::is_pod_impl(boost::detail::is_pod_impl<void volatile> const&)" location="f141:122" file="f141" line="122" inline="1">
+    <Argument name="_ctor_arg" type="_17483" location="f141:122" file="f141" line="122"/>
+  </Constructor>
+  <Constructor id="_14673" name="is_pod_impl" explicit="1" artificial="1" throw="" context="_10919" access="public" mangled="_ZN5boost6detail11is_pod_implIVvEC1Ev *INTERNAL* " demangled="boost::detail::is_pod_impl<void volatile>::is_pod_impl()" location="f141:122" file="f141" line="122" inline="1"/>
+  <Variable id="_14674" name="value" type="_3949c" init="true" context="_10920" access="public" mangled="_ZN5boost6detail11is_pod_implIKvE5valueE" demangled="boost::detail::is_pod_impl<void const>::value" location="f141:121" file="f141" line="121" extern="1"/>
+  <Constructor id="_14675" name="is_pod_impl" artificial="1" throw="" context="_10920" access="public" mangled="_ZN5boost6detail11is_pod_implIKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_pod_impl<void const>::is_pod_impl(boost::detail::is_pod_impl<void const> const&)" location="f141:121" file="f141" line="121" inline="1">
+    <Argument name="_ctor_arg" type="_17484" location="f141:121" file="f141" line="121"/>
+  </Constructor>
+  <Constructor id="_14676" name="is_pod_impl" explicit="1" artificial="1" throw="" context="_10920" access="public" mangled="_ZN5boost6detail11is_pod_implIKvEC1Ev *INTERNAL* " demangled="boost::detail::is_pod_impl<void const>::is_pod_impl()" location="f141:121" file="f141" line="121" inline="1"/>
+  <Variable id="_14677" name="value" type="_3949c" init="true" context="_10921" access="public" mangled="_ZN5boost6detail11is_pod_implIvE5valueE" demangled="boost::detail::is_pod_impl<void>::value" location="f141:118" file="f141" line="118" extern="1"/>
+  <Constructor id="_14678" name="is_pod_impl" artificial="1" throw="" context="_10921" access="public" mangled="_ZN5boost6detail11is_pod_implIvEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pod_impl<void>::is_pod_impl(boost::detail::is_pod_impl<void> const&)" location="f141:118" file="f141" line="118" inline="1">
+    <Argument name="_ctor_arg" type="_17485" location="f141:118" file="f141" line="118"/>
+  </Constructor>
+  <Constructor id="_14679" name="is_pod_impl" explicit="1" artificial="1" throw="" context="_10921" access="public" mangled="_ZN5boost6detail11is_pod_implIvEC1Ev *INTERNAL* " demangled="boost::detail::is_pod_impl<void>::is_pod_impl()" location="f141:118" file="f141" line="118" inline="1"/>
+  <Variable id="_14680" name="value" type="_3949c" init="false" context="_10922" access="public" mangled="_ZN5boost6detail14is_scalar_implISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_scalar_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f142:29" file="f142" line="29" extern="1"/>
+  <Constructor id="_14681" name="is_scalar_impl" artificial="1" throw="" context="_10922" access="public" mangled="_ZN5boost6detail14is_scalar_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_scalar_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_scalar_impl(boost::detail::is_scalar_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > [...]
+    <Argument name="_ctor_arg" type="_17486" location="f142:28" file="f142" line="28"/>
+  </Constructor>
+  <Constructor id="_14682" name="is_scalar_impl" explicit="1" artificial="1" throw="" context="_10922" access="public" mangled="_ZN5boost6detail14is_scalar_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_scalar_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_scalar_impl()" location="f142:28" file="f142" line="28" inline="1"/>
+  <Variable id="_14683" name="value" type="_3949c" init="false" context="_10923" access="public" mangled="_ZN5boost6detail14is_scalar_implISsE5valueE" demangled="boost::detail::is_scalar_impl<std::string>::value" location="f142:29" file="f142" line="29" extern="1"/>
+  <Constructor id="_14684" name="is_scalar_impl" artificial="1" throw="" context="_10923" access="public" mangled="_ZN5boost6detail14is_scalar_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_scalar_impl<std::string>::is_scalar_impl(boost::detail::is_scalar_impl<std::string> const&)" location="f142:28" file="f142" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_17487" location="f142:28" file="f142" line="28"/>
+  </Constructor>
+  <Constructor id="_14685" name="is_scalar_impl" explicit="1" artificial="1" throw="" context="_10923" access="public" mangled="_ZN5boost6detail14is_scalar_implISsEC1Ev *INTERNAL* " demangled="boost::detail::is_scalar_impl<std::string>::is_scalar_impl()" location="f142:28" file="f142" line="28" inline="1"/>
+  <Variable id="_14686" name="value" type="_3949c" init="false" context="_10924" access="public" mangled="_ZN5boost6detail14is_scalar_implIVKvE5valueE" demangled="boost::detail::is_scalar_impl<void volatile const>::value" location="f142:44" file="f142" line="44" extern="1"/>
+  <Constructor id="_14687" name="is_scalar_impl" artificial="1" throw="" context="_10924" access="public" mangled="_ZN5boost6detail14is_scalar_implIVKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_scalar_impl<void volatile const>::is_scalar_impl(boost::detail::is_scalar_impl<void volatile const> const&)" location="f142:44" file="f142" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_17488" location="f142:44" file="f142" line="44"/>
+  </Constructor>
+  <Constructor id="_14688" name="is_scalar_impl" explicit="1" artificial="1" throw="" context="_10924" access="public" mangled="_ZN5boost6detail14is_scalar_implIVKvEC1Ev *INTERNAL* " demangled="boost::detail::is_scalar_impl<void volatile const>::is_scalar_impl()" location="f142:44" file="f142" line="44" inline="1"/>
+  <Variable id="_14689" name="value" type="_3949c" init="false" context="_10925" access="public" mangled="_ZN5boost6detail14is_scalar_implIVvE5valueE" demangled="boost::detail::is_scalar_impl<void volatile>::value" location="f142:43" file="f142" line="43" extern="1"/>
+  <Constructor id="_14690" name="is_scalar_impl" artificial="1" throw="" context="_10925" access="public" mangled="_ZN5boost6detail14is_scalar_implIVvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_scalar_impl<void volatile>::is_scalar_impl(boost::detail::is_scalar_impl<void volatile> const&)" location="f142:43" file="f142" line="43" inline="1">
+    <Argument name="_ctor_arg" type="_17489" location="f142:43" file="f142" line="43"/>
+  </Constructor>
+  <Constructor id="_14691" name="is_scalar_impl" explicit="1" artificial="1" throw="" context="_10925" access="public" mangled="_ZN5boost6detail14is_scalar_implIVvEC1Ev *INTERNAL* " demangled="boost::detail::is_scalar_impl<void volatile>::is_scalar_impl()" location="f142:43" file="f142" line="43" inline="1"/>
+  <Variable id="_14692" name="value" type="_3949c" init="false" context="_10926" access="public" mangled="_ZN5boost6detail14is_scalar_implIKvE5valueE" demangled="boost::detail::is_scalar_impl<void const>::value" location="f142:42" file="f142" line="42" extern="1"/>
+  <Constructor id="_14693" name="is_scalar_impl" artificial="1" throw="" context="_10926" access="public" mangled="_ZN5boost6detail14is_scalar_implIKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_scalar_impl<void const>::is_scalar_impl(boost::detail::is_scalar_impl<void const> const&)" location="f142:42" file="f142" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_17490" location="f142:42" file="f142" line="42"/>
+  </Constructor>
+  <Constructor id="_14694" name="is_scalar_impl" explicit="1" artificial="1" throw="" context="_10926" access="public" mangled="_ZN5boost6detail14is_scalar_implIKvEC1Ev *INTERNAL* " demangled="boost::detail::is_scalar_impl<void const>::is_scalar_impl()" location="f142:42" file="f142" line="42" inline="1"/>
+  <Variable id="_14695" name="value" type="_3949c" init="false" context="_10927" access="public" mangled="_ZN5boost6detail14is_scalar_implIvE5valueE" demangled="boost::detail::is_scalar_impl<void>::value" location="f142:40" file="f142" line="40" extern="1"/>
+  <Constructor id="_14696" name="is_scalar_impl" artificial="1" throw="" context="_10927" access="public" mangled="_ZN5boost6detail14is_scalar_implIvEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_scalar_impl<void>::is_scalar_impl(boost::detail::is_scalar_impl<void> const&)" location="f142:40" file="f142" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17491" location="f142:40" file="f142" line="40"/>
+  </Constructor>
+  <Constructor id="_14697" name="is_scalar_impl" explicit="1" artificial="1" throw="" context="_10927" access="public" mangled="_ZN5boost6detail14is_scalar_implIvEC1Ev *INTERNAL* " demangled="boost::detail::is_scalar_impl<void>::is_scalar_impl()" location="f142:40" file="f142" line="40" inline="1"/>
+  <Variable id="_14698" name="selector" type="_3949c" init="true" context="_10928" access="public" mangled="_ZN5boost6detail12is_enum_implISbIwSt11char_traitsIwESaIwEEE8selectorE" demangled="boost::detail::is_enum_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::selector" location="f143:112" file="f143" line="112" extern="1"/>
+  <Variable id="_14699" name="value" type="_3949c" init="false" context="_10928" access="public" mangled="_ZN5boost6detail12is_enum_implISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_enum_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f143:153" file="f143" line="153" extern="1"/>
+  <Typedef id="_14700" name="se_t" type="_10934" context="_10928" access="public" location="f143:149" file="f143" line="149"/>
+  <Typedef id="_14701" name="helper" type="_10936" context="_10928" access="public" location="f143:152" file="f143" line="152"/>
+  <Constructor id="_14702" name="is_enum_impl" artificial="1" throw="" context="_10928" access="public" mangled="_ZN5boost6detail12is_enum_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_enum_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_enum_impl(boost::detail::is_enum_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > cons [...]
+    <Argument name="_ctor_arg" type="_17492" location="f143:101" file="f143" line="101"/>
+  </Constructor>
+  <Constructor id="_14703" name="is_enum_impl" explicit="1" artificial="1" throw="" context="_10928" access="public" mangled="_ZN5boost6detail12is_enum_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_enum_impl()" location="f143:101" file="f143" line="101" inline="1"/>
+  <Variable id="_14704" name="selector" type="_3949c" init="true" context="_10929" access="public" mangled="_ZN5boost6detail12is_enum_implISsE8selectorE" demangled="boost::detail::is_enum_impl<std::string>::selector" location="f143:112" file="f143" line="112" extern="1"/>
+  <Variable id="_14705" name="value" type="_3949c" init="false" context="_10929" access="public" mangled="_ZN5boost6detail12is_enum_implISsE5valueE" demangled="boost::detail::is_enum_impl<std::string>::value" location="f143:153" file="f143" line="153" extern="1"/>
+  <Typedef id="_14706" name="se_t" type="_10934" context="_10929" access="public" location="f143:149" file="f143" line="149"/>
+  <Typedef id="_14707" name="helper" type="_10937" context="_10929" access="public" location="f143:152" file="f143" line="152"/>
+  <Constructor id="_14708" name="is_enum_impl" artificial="1" throw="" context="_10929" access="public" mangled="_ZN5boost6detail12is_enum_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_enum_impl<std::string>::is_enum_impl(boost::detail::is_enum_impl<std::string> const&)" location="f143:101" file="f143" line="101" inline="1">
+    <Argument name="_ctor_arg" type="_17493" location="f143:101" file="f143" line="101"/>
+  </Constructor>
+  <Constructor id="_14709" name="is_enum_impl" explicit="1" artificial="1" throw="" context="_10929" access="public" mangled="_ZN5boost6detail12is_enum_implISsEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_impl<std::string>::is_enum_impl()" location="f143:101" file="f143" line="101" inline="1"/>
+  <Variable id="_14710" name="value" type="_3949c" init="false" context="_10930" access="public" mangled="_ZN5boost6detail12is_enum_implIVKvE5valueE" demangled="boost::detail::is_enum_impl<void volatile const>::value" location="f143:161" file="f143" line="161" extern="1"/>
+  <Constructor id="_14711" name="is_enum_impl" artificial="1" throw="" context="_10930" access="public" mangled="_ZN5boost6detail12is_enum_implIVKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_enum_impl<void volatile const>::is_enum_impl(boost::detail::is_enum_impl<void volatile const> const&)" location="f143:161" file="f143" line="161" inline="1">
+    <Argument name="_ctor_arg" type="_17494" location="f143:161" file="f143" line="161"/>
+  </Constructor>
+  <Constructor id="_14712" name="is_enum_impl" explicit="1" artificial="1" throw="" context="_10930" access="public" mangled="_ZN5boost6detail12is_enum_implIVKvEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_impl<void volatile const>::is_enum_impl()" location="f143:161" file="f143" line="161" inline="1"/>
+  <Variable id="_14713" name="value" type="_3949c" init="false" context="_10931" access="public" mangled="_ZN5boost6detail12is_enum_implIVvE5valueE" demangled="boost::detail::is_enum_impl<void volatile>::value" location="f143:160" file="f143" line="160" extern="1"/>
+  <Constructor id="_14714" name="is_enum_impl" artificial="1" throw="" context="_10931" access="public" mangled="_ZN5boost6detail12is_enum_implIVvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_enum_impl<void volatile>::is_enum_impl(boost::detail::is_enum_impl<void volatile> const&)" location="f143:160" file="f143" line="160" inline="1">
+    <Argument name="_ctor_arg" type="_17495" location="f143:160" file="f143" line="160"/>
+  </Constructor>
+  <Constructor id="_14715" name="is_enum_impl" explicit="1" artificial="1" throw="" context="_10931" access="public" mangled="_ZN5boost6detail12is_enum_implIVvEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_impl<void volatile>::is_enum_impl()" location="f143:160" file="f143" line="160" inline="1"/>
+  <Variable id="_14716" name="value" type="_3949c" init="false" context="_10932" access="public" mangled="_ZN5boost6detail12is_enum_implIKvE5valueE" demangled="boost::detail::is_enum_impl<void const>::value" location="f143:159" file="f143" line="159" extern="1"/>
+  <Constructor id="_14717" name="is_enum_impl" artificial="1" throw="" context="_10932" access="public" mangled="_ZN5boost6detail12is_enum_implIKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_enum_impl<void const>::is_enum_impl(boost::detail::is_enum_impl<void const> const&)" location="f143:159" file="f143" line="159" inline="1">
+    <Argument name="_ctor_arg" type="_17496" location="f143:159" file="f143" line="159"/>
+  </Constructor>
+  <Constructor id="_14718" name="is_enum_impl" explicit="1" artificial="1" throw="" context="_10932" access="public" mangled="_ZN5boost6detail12is_enum_implIKvEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_impl<void const>::is_enum_impl()" location="f143:159" file="f143" line="159" inline="1"/>
+  <Variable id="_14719" name="value" type="_3949c" init="false" context="_10933" access="public" mangled="_ZN5boost6detail12is_enum_implIvE5valueE" demangled="boost::detail::is_enum_impl<void>::value" location="f143:157" file="f143" line="157" extern="1"/>
+  <Constructor id="_14720" name="is_enum_impl" artificial="1" throw="" context="_10933" access="public" mangled="_ZN5boost6detail12is_enum_implIvEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_enum_impl<void>::is_enum_impl(boost::detail::is_enum_impl<void> const&)" location="f143:157" file="f143" line="157" inline="1">
+    <Argument name="_ctor_arg" type="_17497" location="f143:157" file="f143" line="157"/>
+  </Constructor>
+  <Constructor id="_14721" name="is_enum_impl" explicit="1" artificial="1" throw="" context="_10933" access="public" mangled="_ZN5boost6detail12is_enum_implIvEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_impl<void>::is_enum_impl()" location="f143:157" file="f143" line="157" inline="1"/>
+  <Constructor id="_14722" name="is_enum_helper" artificial="1" throw="" context="_10934" access="public" mangled="_ZN5boost6detail14is_enum_helperILb1EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_enum_helper<true>::is_enum_helper(boost::detail::is_enum_helper<true> const&)" location="f143:84" file="f143" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_17498" location="f143:84" file="f143" line="84"/>
+  </Constructor>
+  <Constructor id="_14723" name="is_enum_helper" explicit="1" artificial="1" throw="" context="_10934" access="public" mangled="_ZN5boost6detail14is_enum_helperILb1EEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_helper<true>::is_enum_helper()" location="f143:84" file="f143" line="84" inline="1"/>
+  <Constructor id="_14724" name="is_enum_helper" artificial="1" throw="" context="_10935" access="public" mangled="_ZN5boost6detail14is_enum_helperILb0EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_enum_helper<false>::is_enum_helper(boost::detail::is_enum_helper<false> const&)" location="f143:93" file="f143" line="93" inline="1">
+    <Argument name="_ctor_arg" type="_17499" location="f143:93" file="f143" line="93"/>
+  </Constructor>
+  <Constructor id="_14725" name="is_enum_helper" explicit="1" artificial="1" throw="" context="_10935" access="public" mangled="_ZN5boost6detail14is_enum_helperILb0EEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_helper<false>::is_enum_helper()" location="f143:93" file="f143" line="93" inline="1"/>
+  <Variable id="_14726" name="value" type="_3949c" init="false" context="_10936" access="public" mangled="_ZN5boost6detail14is_enum_helperILb1EE4typeISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_enum_helper<true>::type<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f143:87" file="f143" line="87" extern="1"/>
+  <Constructor id="_14727" name="type" artificial="1" throw="" context="_10936" access="public" mangled="_ZN5boost6detail14is_enum_helperILb1EE4typeISbIwSt11char_traitsIwESaIwEEEC1ERKS8_ *INTERNAL* " demangled="boost::detail::is_enum_helper<true>::type<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::type(boost::detail::is_enum_helper<true>::type<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::al [...]
+    <Argument name="_ctor_arg" type="_17500" location="f143:86" file="f143" line="86"/>
+  </Constructor>
+  <Constructor id="_14728" name="type" explicit="1" artificial="1" throw="" context="_10936" access="public" mangled="_ZN5boost6detail14is_enum_helperILb1EE4typeISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_helper<true>::type<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::type()" location="f143:86" file="f143" line="86" inline="1"/>
+  <Variable id="_14729" name="value" type="_3949c" init="false" context="_10937" access="public" mangled="_ZN5boost6detail14is_enum_helperILb1EE4typeISsE5valueE" demangled="boost::detail::is_enum_helper<true>::type<std::string>::value" location="f143:87" file="f143" line="87" extern="1"/>
+  <Constructor id="_14730" name="type" artificial="1" throw="" context="_10937" access="public" mangled="_ZN5boost6detail14is_enum_helperILb1EE4typeISsEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_enum_helper<true>::type<std::string>::type(boost::detail::is_enum_helper<true>::type<std::string> const&)" location="f143:86" file="f143" line="86" inline="1">
+    <Argument name="_ctor_arg" type="_17501" location="f143:86" file="f143" line="86"/>
+  </Constructor>
+  <Constructor id="_14731" name="type" explicit="1" artificial="1" throw="" context="_10937" access="public" mangled="_ZN5boost6detail14is_enum_helperILb1EE4typeISsEC1Ev *INTERNAL* " demangled="boost::detail::is_enum_helper<true>::type<std::string>::type()" location="f143:86" file="f143" line="86" inline="1"/>
+  <Constructor id="_14732" name="int_convertible" artificial="1" throw="" context="_10938" access="public" mangled="_ZN5boost6detail15int_convertibleC1ERKS1_ *INTERNAL* " demangled="boost::detail::int_convertible::int_convertible(boost::detail::int_convertible const&)" location="f143:76" file="f143" line="76" inline="1">
+    <Argument name="_ctor_arg" type="_17502" location="f143:76" file="f143" line="76"/>
+  </Constructor>
+  <Constructor id="_14733" name="int_convertible" context="_10938" access="public" mangled="_ZN5boost6detail15int_convertibleC1Ei *INTERNAL* " demangled="boost::detail::int_convertible::int_convertible(int)" location="f143:77" file="f143" line="77" extern="1">
+    <Argument type="_503" location="f143:77" file="f143" line="77"/>
+  </Constructor>
+  <Variable id="_14734" name="value" type="_3949c" init="true" context="_10939" access="public" mangled="_ZN5boost6detail17is_class_or_unionISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_class_or_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f143:43" file="f143" line="43" extern="1"/>
+  <Constructor id="_14735" name="is_class_or_union" artificial="1" throw="" context="_10939" access="public" mangled="_ZN5boost6detail17is_class_or_unionISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_class_or_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_class_or_union(boost::detail::is_class_or_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<w [...]
+    <Argument name="_ctor_arg" type="_17503" location="f143:42" file="f143" line="42"/>
+  </Constructor>
+  <Constructor id="_14736" name="is_class_or_union" explicit="1" artificial="1" throw="" context="_10939" access="public" mangled="_ZN5boost6detail17is_class_or_unionISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_class_or_union<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_class_or_union()" location="f143:42" file="f143" line="42" inline="1"/>
+  <Variable id="_14737" name="value" type="_3949c" init="true" context="_10940" access="public" mangled="_ZN5boost6detail17is_class_or_unionISsE5valueE" demangled="boost::detail::is_class_or_union<std::string>::value" location="f143:43" file="f143" line="43" extern="1"/>
+  <Constructor id="_14738" name="is_class_or_union" artificial="1" throw="" context="_10940" access="public" mangled="_ZN5boost6detail17is_class_or_unionISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_class_or_union<std::string>::is_class_or_union(boost::detail::is_class_or_union<std::string> const&)" location="f143:42" file="f143" line="42" inline="1">
+    <Argument name="_ctor_arg" type="_17504" location="f143:42" file="f143" line="42"/>
+  </Constructor>
+  <Constructor id="_14739" name="is_class_or_union" explicit="1" artificial="1" throw="" context="_10940" access="public" mangled="_ZN5boost6detail17is_class_or_unionISsEC1Ev *INTERNAL* " demangled="boost::detail::is_class_or_union<std::string>::is_class_or_union()" location="f143:42" file="f143" line="42" inline="1"/>
+  <Typedef id="_14740" name="no_ref_type" type="_2506c" context="_10941" access="public" location="f144:58" file="f144" line="58"/>
+  <Typedef id="_14741" name="type" type="_9328" context="_10941" access="public" location="f144:59" file="f144" line="59"/>
+  <Constructor id="_14742" name="add_pointer_impl" artificial="1" throw="" context="_10941" access="public" mangled="_ZN5boost6detail16add_pointer_implIKSbIwSt11char_traitsIwESaIwEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::add_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>::add_pointer_impl(boost::detail::add_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator< [...]
+    <Argument name="_ctor_arg" type="_17505" location="f144:57" file="f144" line="57"/>
+  </Constructor>
+  <Constructor id="_14743" name="add_pointer_impl" explicit="1" artificial="1" throw="" context="_10941" access="public" mangled="_ZN5boost6detail16add_pointer_implIKSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::add_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>::add_pointer_impl()" location="f144:57" file="f144" line="57" inline="1"/>
+  <Typedef id="_14744" name="no_ref_type" type="_2508c" context="_10942" access="public" location="f144:58" file="f144" line="58"/>
+  <Typedef id="_14745" name="type" type="_9288" context="_10942" access="public" location="f144:59" file="f144" line="59"/>
+  <Constructor id="_14746" name="add_pointer_impl" artificial="1" throw="" context="_10942" access="public" mangled="_ZN5boost6detail16add_pointer_implIKSsEC1ERKS3_ *INTERNAL* " demangled="boost::detail::add_pointer_impl<std::string const>::add_pointer_impl(boost::detail::add_pointer_impl<std::string const> const&)" location="f144:57" file="f144" line="57" inline="1">
+    <Argument name="_ctor_arg" type="_17506" location="f144:57" file="f144" line="57"/>
+  </Constructor>
+  <Constructor id="_14747" name="add_pointer_impl" explicit="1" artificial="1" throw="" context="_10942" access="public" mangled="_ZN5boost6detail16add_pointer_implIKSsEC1Ev *INTERNAL* " demangled="boost::detail::add_pointer_impl<std::string const>::add_pointer_impl()" location="f144:57" file="f144" line="57" inline="1"/>
+  <Constructor id="_14748" name="facade_iterator_category" artificial="1" throw="" context="_10943" access="public" mangled="_ZN5boost6detail24facade_iterator_categoryINS_21forward_traversal_tagESbIwSt11char_traitsIwESaIwEERKS6_EC1ERKS9_ *INTERNAL* " demangled="boost::detail::facade_iterator_category<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wchar_t& [...]
+    <Argument name="_ctor_arg" type="_17507" location="f146:193" file="f146" line="193"/>
+  </Constructor>
+  <Constructor id="_14749" name="facade_iterator_category" explicit="1" artificial="1" throw="" context="_10943" access="public" mangled="_ZN5boost6detail24facade_iterator_categoryINS_21forward_traversal_tagESbIwSt11char_traitsIwESaIwEERKS6_EC1Ev *INTERNAL* " demangled="boost::detail::facade_iterator_category<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits&lt [...]
+  <Constructor id="_14750" name="facade_iterator_category" artificial="1" throw="" context="_10944" access="public" mangled="_ZN5boost6detail24facade_iterator_categoryINS_21forward_traversal_tagESsRKSsEC1ERKS5_ *INTERNAL* " demangled="boost::detail::facade_iterator_category<boost::forward_traversal_tag, std::string, std::string const&>::facade_iterator_category(boost::detail::facade_iterator_category<boost::forward_traversal_tag, std::string, std::string const&> const [...]
+    <Argument name="_ctor_arg" type="_17508" location="f146:193" file="f146" line="193"/>
+  </Constructor>
+  <Constructor id="_14751" name="facade_iterator_category" explicit="1" artificial="1" throw="" context="_10944" access="public" mangled="_ZN5boost6detail24facade_iterator_categoryINS_21forward_traversal_tagESsRKSsEC1Ev *INTERNAL* " demangled="boost::detail::facade_iterator_category<boost::forward_traversal_tag, std::string, std::string const&>::facade_iterator_category()" location="f146:193" file="f146" line="193" inline="1"/>
+  <Enumeration id="_14752" name="._99" context="_10945" access="public" location="f146:166" file="f146" line="166" artificial="1" size="32" align="32">
+    <EnumValue name="mpl_assertion_in_line_166" init="4"/>
+  </Enumeration>
+  <Typedef id="_14753" name="category" type="_2702" context="_10945" access="public" location="f146:171" file="f146" line="171"/>
+  <Typedef id="_14754" name="type" type="_2702" context="_10945" access="public" location="f146:180" file="f146" line="180"/>
+  <Constructor id="_14755" name="facade_iterator_category_impl" artificial="1" throw="" context="_10945" access="public" mangled="_ZN5boost6detail29facade_iterator_category_implINS_21forward_traversal_tagESbIwSt11char_traitsIwESaIwEERKS6_EC1ERKS9_ *INTERNAL* " demangled="boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_tra [...]
+    <Argument name="_ctor_arg" type="_17509" location="f146:164" file="f146" line="164"/>
+  </Constructor>
+  <Constructor id="_14756" name="facade_iterator_category_impl" explicit="1" artificial="1" throw="" context="_10945" access="public" mangled="_ZN5boost6detail29facade_iterator_category_implINS_21forward_traversal_tagESbIwSt11char_traitsIwESaIwEERKS6_EC1Ev *INTERNAL* " demangled="boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std: [...]
+  <Enumeration id="_14757" name="._99" context="_10946" access="public" location="f146:166" file="f146" line="166" artificial="1" size="32" align="32">
+    <EnumValue name="mpl_assertion_in_line_166" init="4"/>
+  </Enumeration>
+  <Typedef id="_14758" name="category" type="_2702" context="_10946" access="public" location="f146:171" file="f146" line="171"/>
+  <Typedef id="_14759" name="type" type="_2702" context="_10946" access="public" location="f146:180" file="f146" line="180"/>
+  <Constructor id="_14760" name="facade_iterator_category_impl" artificial="1" throw="" context="_10946" access="public" mangled="_ZN5boost6detail29facade_iterator_category_implINS_21forward_traversal_tagESsRKSsEC1ERKS5_ *INTERNAL* " demangled="boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::string, std::string const&>::facade_iterator_category_impl(boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::string, std::st [...]
+    <Argument name="_ctor_arg" type="_17510" location="f146:164" file="f146" line="164"/>
+  </Constructor>
+  <Constructor id="_14761" name="facade_iterator_category_impl" explicit="1" artificial="1" throw="" context="_10946" access="public" mangled="_ZN5boost6detail29facade_iterator_category_implINS_21forward_traversal_tagESsRKSsEC1Ev *INTERNAL* " demangled="boost::detail::facade_iterator_category_impl<boost::forward_traversal_tag, std::string, std::string const&>::facade_iterator_category_impl()" location="f146:164" file="f146" line="164" inline="1"/>
+  <Constructor id="_14762" name="is_iterator_category" artificial="1" throw="" context="_10948" access="public" mangled="_ZN5boost6detail20is_iterator_categoryINS_21forward_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_iterator_category<boost::forward_traversal_tag>::is_iterator_category(boost::detail::is_iterator_category<boost::forward_traversal_tag> const&)" location="f146:123" file="f146" line="123" inline="1">
+    <Argument name="_ctor_arg" type="_17511" location="f146:123" file="f146" line="123"/>
+  </Constructor>
+  <Constructor id="_14763" name="is_iterator_category" explicit="1" artificial="1" throw="" context="_10948" access="public" mangled="_ZN5boost6detail20is_iterator_categoryINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_iterator_category<boost::forward_traversal_tag>::is_iterator_category()" location="f146:123" file="f146" line="123" inline="1"/>
+  <Constructor id="_14764" name="iterator_facade_default_category" artificial="1" throw="" context="_10949" access="public" mangled="_ZN5boost6detail32iterator_facade_default_categoryINS_21forward_traversal_tagESbIwSt11char_traitsIwESaIwEERKS6_EC1ERKS9_ *INTERNAL* " demangled="boost::detail::iterator_facade_default_category<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std: [...]
+    <Argument name="_ctor_arg" type="_17512" location="f146:113" file="f146" line="113"/>
+  </Constructor>
+  <Constructor id="_14765" name="iterator_facade_default_category" explicit="1" artificial="1" throw="" context="_10949" access="public" mangled="_ZN5boost6detail32iterator_facade_default_categoryINS_21forward_traversal_tagESbIwSt11char_traitsIwESaIwEERKS6_EC1Ev *INTERNAL* " demangled="boost::detail::iterator_facade_default_category<boost::forward_traversal_tag, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wcha [...]
+  <Constructor id="_14766" name="iterator_facade_default_category" artificial="1" throw="" context="_10950" access="public" mangled="_ZN5boost6detail32iterator_facade_default_categoryINS_21forward_traversal_tagESsRKSsEC1ERKS5_ *INTERNAL* " demangled="boost::detail::iterator_facade_default_category<boost::forward_traversal_tag, std::string, std::string const&>::iterator_facade_default_category(boost::detail::iterator_facade_default_category<boost::forward_traversal_tag, std:: [...]
+    <Argument name="_ctor_arg" type="_17513" location="f146:113" file="f146" line="113"/>
+  </Constructor>
+  <Constructor id="_14767" name="iterator_facade_default_category" explicit="1" artificial="1" throw="" context="_10950" access="public" mangled="_ZN5boost6detail32iterator_facade_default_categoryINS_21forward_traversal_tagESsRKSsEC1Ev *INTERNAL* " demangled="boost::detail::iterator_facade_default_category<boost::forward_traversal_tag, std::string, std::string const&>::iterator_facade_default_category()" location="f146:113" file="f146" line="113" inline="1"/>
+  <Constructor id="_14768" name="iterator_writability_disabled" artificial="1" throw="" context="_10951" access="public" mangled="_ZN5boost6detail29iterator_writability_disabledISbIwSt11char_traitsIwESaIwEERKS5_EC1ERKS8_ *INTERNAL* " demangled="boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > co [...]
+    <Argument name="_ctor_arg" type="_17514" location="f146:69" file="f146" line="69"/>
+  </Constructor>
+  <Constructor id="_14769" name="iterator_writability_disabled" explicit="1" artificial="1" throw="" context="_10951" access="public" mangled="_ZN5boost6detail29iterator_writability_disabledISbIwSt11char_traitsIwESaIwEERKS5_EC1Ev *INTERNAL* " demangled="boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t&gt [...]
+  <Constructor id="_14770" name="iterator_writability_disabled" artificial="1" throw="" context="_10952" access="public" mangled="_ZN5boost6detail29iterator_writability_disabledISsRKSsEC1ERKS4_ *INTERNAL* " demangled="boost::detail::iterator_writability_disabled<std::string, std::string const&>::iterator_writability_disabled(boost::detail::iterator_writability_disabled<std::string, std::string const&> const&)" location="f146:69" file="f146" line="69" inline="1">
+    <Argument name="_ctor_arg" type="_17515" location="f146:69" file="f146" line="69"/>
+  </Constructor>
+  <Constructor id="_14771" name="iterator_writability_disabled" explicit="1" artificial="1" throw="" context="_10952" access="public" mangled="_ZN5boost6detail29iterator_writability_disabledISsRKSsEC1Ev *INTERNAL* " demangled="boost::detail::iterator_writability_disabled<std::string, std::string const&>::iterator_writability_disabled()" location="f146:69" file="f146" line="69" inline="1"/>
+  <Constructor id="_14772" name="input_output_iterator_tag" artificial="1" throw="" context="_10953" access="public" mangled="_ZN5boost6detail25input_output_iterator_tagC1ERKS1_ *INTERNAL* " demangled="boost::detail::input_output_iterator_tag::input_output_iterator_tag(boost::detail::input_output_iterator_tag const&)" location="f146:40" file="f146" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17516" location="f146:40" file="f146" line="40"/>
+  </Constructor>
+  <Constructor id="_14773" name="input_output_iterator_tag" explicit="1" artificial="1" throw="" context="_10953" access="public" mangled="_ZN5boost6detail25input_output_iterator_tagC1Ev *INTERNAL* " demangled="boost::detail::input_output_iterator_tag::input_output_iterator_tag()" location="f146:40" file="f146" line="40" inline="1"/>
+  <Converter id="_14774" name="operator 14" returns="_2703" const="1" context="_10953" access="public" mangled="_ZNK5boost6detail25input_output_iterator_tagcvSt19output_iterator_tagEv" demangled="boost::detail::input_output_iterator_tag::operator std::output_iterator_tag() const" location="f146:48" file="f146" line="48" endline="50" inline="1"/>
+  <Variable id="_14775" name="value" type="_3949c" init="true" context="_10954" access="public" mangled="_ZN5boost6detail13is_class_implISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_class_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f148:60" file="f148" line="60" extern="1"/>
+  <Constructor id="_14776" name="is_class_impl" artificial="1" throw="" context="_10954" access="public" mangled="_ZN5boost6detail13is_class_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_class_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_class_impl(boost::detail::is_class_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > [...]
+    <Argument name="_ctor_arg" type="_17517" location="f148:58" file="f148" line="58"/>
+  </Constructor>
+  <Constructor id="_14777" name="is_class_impl" explicit="1" artificial="1" throw="" context="_10954" access="public" mangled="_ZN5boost6detail13is_class_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_class_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_class_impl()" location="f148:58" file="f148" line="58" inline="1"/>
+  <Variable id="_14778" name="value" type="_3949c" init="true" context="_10955" access="public" mangled="_ZN5boost6detail13is_class_implISsE5valueE" demangled="boost::detail::is_class_impl<std::string>::value" location="f148:60" file="f148" line="60" extern="1"/>
+  <Constructor id="_14779" name="is_class_impl" artificial="1" throw="" context="_10955" access="public" mangled="_ZN5boost6detail13is_class_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_class_impl<std::string>::is_class_impl(boost::detail::is_class_impl<std::string> const&)" location="f148:58" file="f148" line="58" inline="1">
+    <Argument name="_ctor_arg" type="_17518" location="f148:58" file="f148" line="58"/>
+  </Constructor>
+  <Constructor id="_14780" name="is_class_impl" explicit="1" artificial="1" throw="" context="_10955" access="public" mangled="_ZN5boost6detail13is_class_implISsEC1Ev *INTERNAL* " demangled="boost::detail::is_class_impl<std::string>::is_class_impl()" location="f148:58" file="f148" line="58" inline="1"/>
+  <PointerType id="_14781" type="_17519" size="32" align="32"/>
+  <PointerType id="_14782" type="_17520" size="32" align="32"/>
+  <Variable id="_14783" name="value" type="_3949c" init="false" context="_10960" access="public" mangled="_ZN5boost6detail13is_union_implISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_union_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f149:38" file="f149" line="38" extern="1"/>
+  <Constructor id="_14784" name="is_union_impl" artificial="1" throw="" context="_10960" access="public" mangled="_ZN5boost6detail13is_union_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_union_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_union_impl(boost::detail::is_union_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > [...]
+    <Argument name="_ctor_arg" type="_17521" location="f149:37" file="f149" line="37"/>
+  </Constructor>
+  <Constructor id="_14785" name="is_union_impl" explicit="1" artificial="1" throw="" context="_10960" access="public" mangled="_ZN5boost6detail13is_union_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_union_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_union_impl()" location="f149:37" file="f149" line="37" inline="1"/>
+  <Variable id="_14786" name="value" type="_3949c" init="false" context="_10961" access="public" mangled="_ZN5boost6detail13is_union_implISsE5valueE" demangled="boost::detail::is_union_impl<std::string>::value" location="f149:38" file="f149" line="38" extern="1"/>
+  <Constructor id="_14787" name="is_union_impl" artificial="1" throw="" context="_10961" access="public" mangled="_ZN5boost6detail13is_union_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_union_impl<std::string>::is_union_impl(boost::detail::is_union_impl<std::string> const&)" location="f149:37" file="f149" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_17522" location="f149:37" file="f149" line="37"/>
+  </Constructor>
+  <Constructor id="_14788" name="is_union_impl" explicit="1" artificial="1" throw="" context="_10961" access="public" mangled="_ZN5boost6detail13is_union_implISsEC1Ev *INTERNAL* " demangled="boost::detail::is_union_impl<std::string>::is_union_impl()" location="f149:37" file="f149" line="37" inline="1"/>
+  <Variable id="_14789" name="value" type="_3949c" init="false" context="_10962" access="public" mangled="_ZN5boost6detail15is_pointer_implIsE5valueE" demangled="boost::detail::is_pointer_impl<short>::value" location="f150:78" file="f150" line="78" extern="1"/>
+  <Constructor id="_14790" name="is_pointer_impl" artificial="1" throw="" context="_10962" access="public" mangled="_ZN5boost6detail15is_pointer_implIsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_impl<short>::is_pointer_impl(boost::detail::is_pointer_impl<short> const&)" location="f150:67" file="f150" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_17523" location="f150:67" file="f150" line="67"/>
+  </Constructor>
+  <Constructor id="_14791" name="is_pointer_impl" explicit="1" artificial="1" throw="" context="_10962" access="public" mangled="_ZN5boost6detail15is_pointer_implIsEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_impl<short>::is_pointer_impl()" location="f150:67" file="f150" line="67" inline="1"/>
+  <Variable id="_14792" name="value" type="_3949c" init="false" context="_10963" access="public" mangled="_ZN5boost6detail15is_pointer_implIxE5valueE" demangled="boost::detail::is_pointer_impl<long long>::value" location="f150:78" file="f150" line="78" extern="1"/>
+  <Constructor id="_14793" name="is_pointer_impl" artificial="1" throw="" context="_10963" access="public" mangled="_ZN5boost6detail15is_pointer_implIxEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_impl<long long>::is_pointer_impl(boost::detail::is_pointer_impl<long long> const&)" location="f150:67" file="f150" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_17524" location="f150:67" file="f150" line="67"/>
+  </Constructor>
+  <Constructor id="_14794" name="is_pointer_impl" explicit="1" artificial="1" throw="" context="_10963" access="public" mangled="_ZN5boost6detail15is_pointer_implIxEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_impl<long long>::is_pointer_impl()" location="f150:67" file="f150" line="67" inline="1"/>
+  <Variable id="_14795" name="value" type="_3949c" init="false" context="_10964" access="public" mangled="_ZN5boost6detail15is_pointer_implIiE5valueE" demangled="boost::detail::is_pointer_impl<int>::value" location="f150:78" file="f150" line="78" extern="1"/>
+  <Constructor id="_14796" name="is_pointer_impl" artificial="1" throw="" context="_10964" access="public" mangled="_ZN5boost6detail15is_pointer_implIiEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_impl<int>::is_pointer_impl(boost::detail::is_pointer_impl<int> const&)" location="f150:67" file="f150" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_17525" location="f150:67" file="f150" line="67"/>
+  </Constructor>
+  <Constructor id="_14797" name="is_pointer_impl" explicit="1" artificial="1" throw="" context="_10964" access="public" mangled="_ZN5boost6detail15is_pointer_implIiEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_impl<int>::is_pointer_impl()" location="f150:67" file="f150" line="67" inline="1"/>
+  <Variable id="_14798" name="value" type="_3949c" init="false" context="_10965" access="public" mangled="_ZN5boost6detail15is_pointer_implItE5valueE" demangled="boost::detail::is_pointer_impl<unsigned short>::value" location="f150:78" file="f150" line="78" extern="1"/>
+  <Constructor id="_14799" name="is_pointer_impl" artificial="1" throw="" context="_10965" access="public" mangled="_ZN5boost6detail15is_pointer_implItEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_impl<unsigned short>::is_pointer_impl(boost::detail::is_pointer_impl<unsigned short> const&)" location="f150:67" file="f150" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_17526" location="f150:67" file="f150" line="67"/>
+  </Constructor>
+  <Constructor id="_14800" name="is_pointer_impl" explicit="1" artificial="1" throw="" context="_10965" access="public" mangled="_ZN5boost6detail15is_pointer_implItEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_impl<unsigned short>::is_pointer_impl()" location="f150:67" file="f150" line="67" inline="1"/>
+  <Variable id="_14801" name="value" type="_3949c" init="false" context="_10966" access="public" mangled="_ZN5boost6detail15is_pointer_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE5valueE" demangled="boost::detail::is_pointer_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::value" location="f150:78" file="f150" line="78" extern="1"/>
+  <Constructor id="_14802" name="is_pointer_impl" artificial="1" throw="" context="_10966" access="public" mangled="_ZN5boost6detail15is_pointer_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::detail::is_pointer_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_pointer_impl(boost::detail::is_pointer_impl<__g [...]
+    <Argument name="_ctor_arg" type="_17527" location="f150:67" file="f150" line="67"/>
+  </Constructor>
+  <Constructor id="_14803" name="is_pointer_impl" explicit="1" artificial="1" throw="" context="_10966" access="public" mangled="_ZN5boost6detail15is_pointer_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_pointer_impl()" location="f150:67" file=" [...]
+  <Variable id="_14804" name="value" type="_3949c" init="false" context="_10967" access="public" mangled="_ZN5boost6detail15is_pointer_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEE5valueE" demangled="boost::detail::is_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::value" location="f150:78" file="f150" line="78" extern="1"/>
+  <Constructor id="_14805" name="is_pointer_impl" artificial="1" throw="" context="_10967" access="public" mangled="_ZN5boost6detail15is_pointer_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::is_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_pointer_impl(boost::detail::is_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f150:67" file="f150" line="67" [...]
+    <Argument name="_ctor_arg" type="_17528" location="f150:67" file="f150" line="67"/>
+  </Constructor>
+  <Constructor id="_14806" name="is_pointer_impl" explicit="1" artificial="1" throw="" context="_10967" access="public" mangled="_ZN5boost6detail15is_pointer_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_pointer_impl()" location="f150:67" file="f150" line="67" inline="1"/>
+  <Variable id="_14807" name="value" type="_3949c" init="false" context="_10968" access="public" mangled="_ZN5boost6detail15is_pointer_implISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f150:78" file="f150" line="78" extern="1"/>
+  <Constructor id="_14808" name="is_pointer_impl" artificial="1" throw="" context="_10968" access="public" mangled="_ZN5boost6detail15is_pointer_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_pointer_impl(boost::detail::is_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> [...]
+    <Argument name="_ctor_arg" type="_17529" location="f150:67" file="f150" line="67"/>
+  </Constructor>
+  <Constructor id="_14809" name="is_pointer_impl" explicit="1" artificial="1" throw="" context="_10968" access="public" mangled="_ZN5boost6detail15is_pointer_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_pointer_impl()" location="f150:67" file="f150" line="67" inline="1"/>
+  <Variable id="_14810" name="value" type="_3949c" init="false" context="_10969" access="public" mangled="_ZN5boost6detail15is_pointer_implISsE5valueE" demangled="boost::detail::is_pointer_impl<std::string>::value" location="f150:78" file="f150" line="78" extern="1"/>
+  <Constructor id="_14811" name="is_pointer_impl" artificial="1" throw="" context="_10969" access="public" mangled="_ZN5boost6detail15is_pointer_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_impl<std::string>::is_pointer_impl(boost::detail::is_pointer_impl<std::string> const&)" location="f150:67" file="f150" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_17530" location="f150:67" file="f150" line="67"/>
+  </Constructor>
+  <Constructor id="_14812" name="is_pointer_impl" explicit="1" artificial="1" throw="" context="_10969" access="public" mangled="_ZN5boost6detail15is_pointer_implISsEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_impl<std::string>::is_pointer_impl()" location="f150:67" file="f150" line="67" inline="1"/>
+  <Variable id="_14813" name="value" type="_3949c" init="false" context="_10970" access="public" mangled="_ZN5boost6detail17is_pointer_helperIsE5valueE" demangled="boost::detail::is_pointer_helper<short>::value" location="f150:51" file="f150" line="51" extern="1"/>
+  <Constructor id="_14814" name="is_pointer_helper" artificial="1" throw="" context="_10970" access="public" mangled="_ZN5boost6detail17is_pointer_helperIsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_helper<short>::is_pointer_helper(boost::detail::is_pointer_helper<short> const&)" location="f150:50" file="f150" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17531" location="f150:50" file="f150" line="50"/>
+  </Constructor>
+  <Constructor id="_14815" name="is_pointer_helper" explicit="1" artificial="1" throw="" context="_10970" access="public" mangled="_ZN5boost6detail17is_pointer_helperIsEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_helper<short>::is_pointer_helper()" location="f150:50" file="f150" line="50" inline="1"/>
+  <Variable id="_14816" name="value" type="_3949c" init="false" context="_10971" access="public" mangled="_ZN5boost6detail17is_pointer_helperIxE5valueE" demangled="boost::detail::is_pointer_helper<long long>::value" location="f150:51" file="f150" line="51" extern="1"/>
+  <Constructor id="_14817" name="is_pointer_helper" artificial="1" throw="" context="_10971" access="public" mangled="_ZN5boost6detail17is_pointer_helperIxEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_helper<long long>::is_pointer_helper(boost::detail::is_pointer_helper<long long> const&)" location="f150:50" file="f150" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17532" location="f150:50" file="f150" line="50"/>
+  </Constructor>
+  <Constructor id="_14818" name="is_pointer_helper" explicit="1" artificial="1" throw="" context="_10971" access="public" mangled="_ZN5boost6detail17is_pointer_helperIxEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_helper<long long>::is_pointer_helper()" location="f150:50" file="f150" line="50" inline="1"/>
+  <Variable id="_14819" name="value" type="_3949c" init="false" context="_10972" access="public" mangled="_ZN5boost6detail17is_pointer_helperIiE5valueE" demangled="boost::detail::is_pointer_helper<int>::value" location="f150:51" file="f150" line="51" extern="1"/>
+  <Constructor id="_14820" name="is_pointer_helper" artificial="1" throw="" context="_10972" access="public" mangled="_ZN5boost6detail17is_pointer_helperIiEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_helper<int>::is_pointer_helper(boost::detail::is_pointer_helper<int> const&)" location="f150:50" file="f150" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17533" location="f150:50" file="f150" line="50"/>
+  </Constructor>
+  <Constructor id="_14821" name="is_pointer_helper" explicit="1" artificial="1" throw="" context="_10972" access="public" mangled="_ZN5boost6detail17is_pointer_helperIiEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_helper<int>::is_pointer_helper()" location="f150:50" file="f150" line="50" inline="1"/>
+  <Variable id="_14822" name="value" type="_3949c" init="false" context="_10973" access="public" mangled="_ZN5boost6detail17is_pointer_helperItE5valueE" demangled="boost::detail::is_pointer_helper<unsigned short>::value" location="f150:51" file="f150" line="51" extern="1"/>
+  <Constructor id="_14823" name="is_pointer_helper" artificial="1" throw="" context="_10973" access="public" mangled="_ZN5boost6detail17is_pointer_helperItEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_helper<unsigned short>::is_pointer_helper(boost::detail::is_pointer_helper<unsigned short> const&)" location="f150:50" file="f150" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17534" location="f150:50" file="f150" line="50"/>
+  </Constructor>
+  <Constructor id="_14824" name="is_pointer_helper" explicit="1" artificial="1" throw="" context="_10973" access="public" mangled="_ZN5boost6detail17is_pointer_helperItEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_helper<unsigned short>::is_pointer_helper()" location="f150:50" file="f150" line="50" inline="1"/>
+  <Variable id="_14825" name="value" type="_3949c" init="false" context="_10974" access="public" mangled="_ZN5boost6detail17is_pointer_helperIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE5valueE" demangled="boost::detail::is_pointer_helper<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::value" location="f150:51" file="f150" line="51" extern="1"/>
+  <Constructor id="_14826" name="is_pointer_helper" artificial="1" throw="" context="_10974" access="public" mangled="_ZN5boost6detail17is_pointer_helperIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::detail::is_pointer_helper<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_pointer_helper(boost::detail::is_pointer_hel [...]
+    <Argument name="_ctor_arg" type="_17535" location="f150:50" file="f150" line="50"/>
+  </Constructor>
+  <Constructor id="_14827" name="is_pointer_helper" explicit="1" artificial="1" throw="" context="_10974" access="public" mangled="_ZN5boost6detail17is_pointer_helperIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_helper<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_pointer_helper()" location="f150:50 [...]
+  <Variable id="_14828" name="value" type="_3949c" init="false" context="_10975" access="public" mangled="_ZN5boost6detail17is_pointer_helperIN9__gnu_cxx17__normal_iteratorIPKcSsEEE5valueE" demangled="boost::detail::is_pointer_helper<__gnu_cxx::__normal_iterator<char const*, std::string> >::value" location="f150:51" file="f150" line="51" extern="1"/>
+  <Constructor id="_14829" name="is_pointer_helper" artificial="1" throw="" context="_10975" access="public" mangled="_ZN5boost6detail17is_pointer_helperIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::is_pointer_helper<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_pointer_helper(boost::detail::is_pointer_helper<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f150:50" file="f150" [...]
+    <Argument name="_ctor_arg" type="_17536" location="f150:50" file="f150" line="50"/>
+  </Constructor>
+  <Constructor id="_14830" name="is_pointer_helper" explicit="1" artificial="1" throw="" context="_10975" access="public" mangled="_ZN5boost6detail17is_pointer_helperIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_helper<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_pointer_helper()" location="f150:50" file="f150" line="50" inline="1"/>
+  <Variable id="_14831" name="value" type="_3949c" init="false" context="_10976" access="public" mangled="_ZN5boost6detail17is_pointer_helperISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_pointer_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f150:51" file="f150" line="51" extern="1"/>
+  <Constructor id="_14832" name="is_pointer_helper" artificial="1" throw="" context="_10976" access="public" mangled="_ZN5boost6detail17is_pointer_helperISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_pointer_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_pointer_helper(boost::detail::is_pointer_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<w [...]
+    <Argument name="_ctor_arg" type="_17537" location="f150:50" file="f150" line="50"/>
+  </Constructor>
+  <Constructor id="_14833" name="is_pointer_helper" explicit="1" artificial="1" throw="" context="_10976" access="public" mangled="_ZN5boost6detail17is_pointer_helperISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_pointer_helper()" location="f150:50" file="f150" line="50" inline="1"/>
+  <Variable id="_14834" name="value" type="_3949c" init="false" context="_10977" access="public" mangled="_ZN5boost6detail17is_pointer_helperISsE5valueE" demangled="boost::detail::is_pointer_helper<std::string>::value" location="f150:51" file="f150" line="51" extern="1"/>
+  <Constructor id="_14835" name="is_pointer_helper" artificial="1" throw="" context="_10977" access="public" mangled="_ZN5boost6detail17is_pointer_helperISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_pointer_helper<std::string>::is_pointer_helper(boost::detail::is_pointer_helper<std::string> const&)" location="f150:50" file="f150" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17538" location="f150:50" file="f150" line="50"/>
+  </Constructor>
+  <Constructor id="_14836" name="is_pointer_helper" explicit="1" artificial="1" throw="" context="_10977" access="public" mangled="_ZN5boost6detail17is_pointer_helperISsEC1Ev *INTERNAL* " demangled="boost::detail::is_pointer_helper<std::string>::is_pointer_helper()" location="f150:50" file="f150" line="50" inline="1"/>
+  <Constructor id="_14837" name="is_function_impl" artificial="1" throw="" context="_10978" access="public" mangled="_ZN5boost6detail16is_function_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_function_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_function_impl(boost::detail::is_function_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_ [...]
+    <Argument name="_ctor_arg" type="_17539" location="f154:57" file="f154" line="57"/>
+  </Constructor>
+  <Constructor id="_14838" name="is_function_impl" explicit="1" artificial="1" throw="" context="_10978" access="public" mangled="_ZN5boost6detail16is_function_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_function_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_function_impl()" location="f154:57" file="f154" line="57" inline="1"/>
+  <Struct id="_14839" name="result_<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" context="_10980" access="public" mangled="N5boost6detail19is_function_chooserILb0EE7result_ISbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::is_function_chooser<false>::result_<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" location="f154:49" file="f154" line="49" artificia [...]
+    <Base type="_10439" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_14840" name="is_function_impl" artificial="1" throw="" context="_10979" access="public" mangled="_ZN5boost6detail16is_function_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_function_impl<std::string>::is_function_impl(boost::detail::is_function_impl<std::string> const&)" location="f154:57" file="f154" line="57" inline="1">
+    <Argument name="_ctor_arg" type="_17542" location="f154:57" file="f154" line="57"/>
+  </Constructor>
+  <Constructor id="_14841" name="is_function_impl" explicit="1" artificial="1" throw="" context="_10979" access="public" mangled="_ZN5boost6detail16is_function_implISsEC1Ev *INTERNAL* " demangled="boost::detail::is_function_impl<std::string>::is_function_impl()" location="f154:57" file="f154" line="57" inline="1"/>
+  <Struct id="_14842" name="result_<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" context="_10980" access="public" mangled="N5boost6detail19is_function_chooserILb0EE7result_ISsEE" demangled="boost::detail::is_function_chooser<false>::result_<std::string>" location="f154:49" file="f154" line="49" artificial="1" size="8" align="8" members="_17543 _17544 " bases="_10440 ">
+    <Base type="_10440" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_14843" name="is_function_chooser" artificial="1" throw="" context="_10980" access="public" mangled="_ZN5boost6detail19is_function_chooserILb0EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_function_chooser<false>::is_function_chooser(boost::detail::is_function_chooser<false> const&)" location="f154:46" file="f154" line="46" inline="1">
+    <Argument name="_ctor_arg" type="_17545" location="f154:46" file="f154" line="46"/>
+  </Constructor>
+  <Constructor id="_14844" name="is_function_chooser" explicit="1" artificial="1" throw="" context="_10980" access="public" mangled="_ZN5boost6detail19is_function_chooserILb0EEC1Ev *INTERNAL* " demangled="boost::detail::is_function_chooser<false>::is_function_chooser()" location="f154:46" file="f154" line="46" inline="1"/>
+  <Constructor id="_14845" name="old_category_to_traversal" artificial="1" throw="" context="_10981" access="public" mangled="_ZN5boost6detail25old_category_to_traversalISt20forward_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::old_category_to_traversal<std::forward_iterator_tag>::old_category_to_traversal(boost::detail::old_category_to_traversal<std::forward_iterator_tag> const&)" location="f156:98" file="f156" line="98" inline="1">
+    <Argument name="_ctor_arg" type="_17546" location="f156:98" file="f156" line="98"/>
+  </Constructor>
+  <Constructor id="_14846" name="old_category_to_traversal" explicit="1" artificial="1" throw="" context="_10981" access="public" mangled="_ZN5boost6detail25old_category_to_traversalISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::old_category_to_traversal<std::forward_iterator_tag>::old_category_to_traversal()" location="f156:98" file="f156" line="98" inline="1"/>
+  <Constructor id="_14847" name="old_category_to_traversal" artificial="1" throw="" context="_10982" access="public" mangled="_ZN5boost6detail25old_category_to_traversalISt26random_access_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::old_category_to_traversal<std::random_access_iterator_tag>::old_category_to_traversal(boost::detail::old_category_to_traversal<std::random_access_iterator_tag> const&)" location="f156:98" file="f156" line="98" inline="1">
+    <Argument name="_ctor_arg" type="_17547" location="f156:98" file="f156" line="98"/>
+  </Constructor>
+  <Constructor id="_14848" name="old_category_to_traversal" explicit="1" artificial="1" throw="" context="_10982" access="public" mangled="_ZN5boost6detail25old_category_to_traversalISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::old_category_to_traversal<std::random_access_iterator_tag>::old_category_to_traversal()" location="f156:98" file="f156" line="98" inline="1"/>
+  <Constructor id="_14849" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10983" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_EC1ERKSB_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__nor [...]
+    <Argument name="_ctor_arg" type="_17548" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14850" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10983" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_c [...]
+  <Constructor id="_14851" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10984" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EC1ERKSA_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterat [...]
+    <Argument name="_ctor_arg" type="_17549" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14852" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10984" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::tok [...]
+  <Constructor id="_14853" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10985" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EC1ERKSD_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char c [...]
+    <Argument name="_ctor_arg" type="_17550" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14854" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10985" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator& [...]
+  <Constructor id="_14855" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10986" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EC1ERKS7_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_d [...]
+    <Argument name="_ctor_arg" type="_17551" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14856" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10986" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible_impl_dispatch()" location="f157:363" file [...]
+  <Constructor id="_14857" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10987" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagS2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::forward_iterator_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::forward_iterator_tag> const&)" loca [...]
+    <Argument name="_ctor_arg" type="_17552" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14858" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10987" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::forward_iterator_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14859" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10988" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::bidirectional_iterator_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::bidirecti [...]
+    <Argument name="_ctor_arg" type="_17553" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14860" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10988" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::bidirectional_iterator_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14861" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10989" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagSt26random_access_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::random_ac [...]
+    <Argument name="_ctor_arg" type="_17554" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14862" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10989" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagSt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14863" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10990" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, boost::i [...]
+    <Argument name="_ctor_arg" type="_17555" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14864" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10990" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::forward_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14865" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10991" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, [...]
+    <Argument name="_ctor_arg" type="_17556" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14866" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10991" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14867" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10992" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagES2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::forward_traversal_tag> co [...]
+    <Argument name="_ctor_arg" type="_17557" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14868" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10992" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagES2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14869" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10993" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagESt19output_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, std::output_iterator_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, std::output_iterato [...]
+    <Argument name="_ctor_arg" type="_17558" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14870" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10993" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagESt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, std::output_iterator_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14871" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10994" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagESt18input_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, std::input_iterator_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, std::input_iterator_t [...]
+    <Argument name="_ctor_arg" type="_17559" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14872" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10994" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagESt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, std::input_iterator_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14873" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10995" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::random_access_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<boost::random_access_traversa [...]
+    <Argument name="_ctor_arg" type="_17560" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14874" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10995" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::random_access_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14875" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10996" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::random_access_traversal_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, [...]
+    <Argument name="_ctor_arg" type="_17561" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14876" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10996" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<boost::forward_traversal_tag, boost::random_access_traversal_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14877" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10997" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt26random_access_iterator_tagS2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::random_access_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<std::random_access_iterator_tag, std::random_access_iter [...]
+    <Argument name="_ctor_arg" type="_17562" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14878" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10997" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt26random_access_iterator_tagS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::random_access_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Constructor id="_14879" name="is_convertible_impl_dispatch" artificial="1" throw="" context="_10998" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl_dispatch(boost::detail::is_convertible_impl_dispatch<std::random_access_iter [...]
+    <Argument name="_ctor_arg" type="_17563" location="f157:363" file="f157" line="363"/>
+  </Constructor>
+  <Constructor id="_14880" name="is_convertible_impl_dispatch" explicit="1" artificial="1" throw="" context="_10998" access="public" mangled="_ZN5boost6detail28is_convertible_impl_dispatchISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl_dispatch()" location="f157:363" file="f157" line="363" inline="1"/>
+  <Typedef id="_14881" name="selector" type="_11015" context="_10999" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14882" name="isc_binder" type="_11019" context="_10999" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14883" name="type" type="_11035" context="_10999" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14884" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_10999" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_EC1ERKSB_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, _ [...]
+    <Argument name="_ctor_arg" type="_17564" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14885" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_10999" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> &gt [...]
+  <Typedef id="_14886" name="selector" type="_11015" context="_11000" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14887" name="isc_binder" type="_11020" context="_11000" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14888" name="type" type="_11036" context="_11000" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14889" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11000" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EC1ERKSA_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boos [...]
+    <Argument name="_ctor_arg" type="_17565" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14890" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11000" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string& [...]
+  <Typedef id="_14891" name="selector" type="_11015" context="_11001" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14892" name="isc_binder" type="_11021" context="_11001" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14893" name="type" type="_11037" context="_11001" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14894" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11001" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EC1ERKSD_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_ite [...]
+    <Argument name="_ctor_arg" type="_17566" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14895" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11001" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__n [...]
+  <Typedef id="_14896" name="selector" type="_11015" context="_11002" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14897" name="isc_binder" type="_11022" context="_11002" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14898" name="type" type="_11038" context="_11002" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14899" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11002" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EC1ERKS7_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible_impl_dispatch_base(boost::detail::i [...]
+    <Argument name="_ctor_arg" type="_17567" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14900" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11002" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible_impl_dispatch_base()" loca [...]
+  <Typedef id="_14901" name="selector" type="_11015" context="_11003" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14902" name="isc_binder" type="_11023" context="_11003" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14903" name="type" type="_11039" context="_11003" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14904" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11003" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagS2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::forward_iterator_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::forward_iterator_ [...]
+    <Argument name="_ctor_arg" type="_17568" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14905" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11003" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::forward_iterator_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" inline="1"/>
+  <Typedef id="_14906" name="selector" type="_11015" context="_11004" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14907" name="isc_binder" type="_11024" context="_11004" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14908" name="type" type="_11040" context="_11004" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14909" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11004" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::bidirectional_iterator_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<std::forward_ite [...]
+    <Argument name="_ctor_arg" type="_17569" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14910" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11004" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::bidirectional_iterator_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" inline="1"/>
+  <Typedef id="_14911" name="selector" type="_11015" context="_11005" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14912" name="isc_binder" type="_11025" context="_11005" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14913" name="type" type="_11041" context="_11005" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14914" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11005" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagSt26random_access_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<std::forward_ite [...]
+    <Argument name="_ctor_arg" type="_17570" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14915" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11005" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagSt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" inline="1"/>
+  <Typedef id="_14916" name="selector" type="_11015" context="_11006" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14917" name="isc_binder" type="_11026" context="_11006" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14918" name="type" type="_11042" context="_11006" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14919" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11006" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<std::forwa [...]
+    <Argument name="_ctor_arg" type="_17571" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14920" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11006" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::forward_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" inline="1"/>
+  <Typedef id="_14921" name="selector" type="_11015" context="_11007" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14922" name="isc_binder" type="_11027" context="_11007" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14923" name="type" type="_11043" context="_11007" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14924" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11007" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<boos [...]
+    <Argument name="_ctor_arg" type="_17572" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14925" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11007" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" i [...]
+  <Typedef id="_14926" name="selector" type="_11015" context="_11008" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14927" name="isc_binder" type="_11028" context="_11008" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14928" name="type" type="_11044" context="_11008" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14929" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11008" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagES2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::for [...]
+    <Argument name="_ctor_arg" type="_17573" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14930" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11008" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagES2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" inline="1"/>
+  <Typedef id="_14931" name="selector" type="_11015" context="_11009" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14932" name="isc_binder" type="_11029" context="_11009" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14933" name="type" type="_11045" context="_11009" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14934" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11009" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagESt19output_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, std::output_iterator_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal [...]
+    <Argument name="_ctor_arg" type="_17574" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14935" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11009" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagESt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, std::output_iterator_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" inline="1"/>
+  <Typedef id="_14936" name="selector" type="_11015" context="_11010" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14937" name="isc_binder" type="_11030" context="_11010" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14938" name="type" type="_11046" context="_11010" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14939" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11010" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagESt18input_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, std::input_iterator_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_t [...]
+    <Argument name="_ctor_arg" type="_17575" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14940" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11010" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagESt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, std::input_iterator_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" inline="1"/>
+  <Typedef id="_14941" name="selector" type="_11015" context="_11011" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14942" name="isc_binder" type="_11031" context="_11011" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14943" name="type" type="_11047" context="_11011" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14944" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11011" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::random_access_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<boos [...]
+    <Argument name="_ctor_arg" type="_17576" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14945" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11011" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::random_access_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" i [...]
+  <Typedef id="_14946" name="selector" type="_11015" context="_11012" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14947" name="isc_binder" type="_11032" context="_11012" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14948" name="type" type="_11048" context="_11012" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14949" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11012" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::random_access_traversal_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<boos [...]
+    <Argument name="_ctor_arg" type="_17577" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14950" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11012" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<boost::forward_traversal_tag, boost::random_access_traversal_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" i [...]
+  <Typedef id="_14951" name="selector" type="_11015" context="_11013" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14952" name="isc_binder" type="_11033" context="_11013" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14953" name="type" type="_11049" context="_11013" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14954" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11013" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt26random_access_iterator_tagS2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::random_access_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base<std::random_access_iterator_tag [...]
+    <Argument name="_ctor_arg" type="_17578" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14955" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11013" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt26random_access_iterator_tagS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::random_access_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line="342" inline="1"/>
+  <Typedef id="_14956" name="selector" type="_11015" context="_11014" access="public" location="f157:352" file="f157" line="352"/>
+  <Typedef id="_14957" name="isc_binder" type="_11034" context="_11014" access="public" location="f157:356" file="f157" line="356"/>
+  <Typedef id="_14958" name="type" type="_11050" context="_11014" access="public" location="f157:357" file="f157" line="357"/>
+  <Constructor id="_14959" name="is_convertible_impl_dispatch_base" artificial="1" throw="" context="_11014" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl_dispatch_base(boost::detail::is_convertible_impl_dispatch_base&l [...]
+    <Argument name="_ctor_arg" type="_17579" location="f157:342" file="f157" line="342"/>
+  </Constructor>
+  <Constructor id="_14960" name="is_convertible_impl_dispatch_base" explicit="1" artificial="1" throw="" context="_11014" access="public" mangled="_ZN5boost6detail33is_convertible_impl_dispatch_baseISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_dispatch_base<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl_dispatch_base()" location="f157:342" file="f157" line=" [...]
+  <Constructor id="_14961" name="is_convertible_impl_select" artificial="1" throw="" context="_11015" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::is_convertible_impl_select(boost::detail::is_convertible_impl_select<false, false, false> const&)" location="f157:302" file="f157" line="302" inline="1">
+    <Argument name="_ctor_arg" type="_17580" location="f157:302" file="f157" line="302"/>
+  </Constructor>
+  <Constructor id="_14962" name="is_convertible_impl_select" explicit="1" artificial="1" throw="" context="_11015" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::is_convertible_impl_select()" location="f157:302" file="f157" line="302" inline="1"/>
+  <Constructor id="_14963" name="is_convertible_impl_select" artificial="1" throw="" context="_11016" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb1ELb0ELb1EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<true, false, true>::is_convertible_impl_select(boost::detail::is_convertible_impl_select<true, false, true> const&)" location="f157:332" file="f157" line="332" inline="1">
+    <Argument name="_ctor_arg" type="_17581" location="f157:332" file="f157" line="332"/>
+  </Constructor>
+  <Constructor id="_14964" name="is_convertible_impl_select" explicit="1" artificial="1" throw="" context="_11016" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb1ELb0ELb1EEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<true, false, true>::is_convertible_impl_select()" location="f157:332" file="f157" line="332" inline="1"/>
+  <Constructor id="_14965" name="is_convertible_impl_select" artificial="1" throw="" context="_11017" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb1EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, true>::is_convertible_impl_select(boost::detail::is_convertible_impl_select<false, false, true> const&)" location="f157:322" file="f157" line="322" inline="1">
+    <Argument name="_ctor_arg" type="_17582" location="f157:322" file="f157" line="322"/>
+  </Constructor>
+  <Constructor id="_14966" name="is_convertible_impl_select" explicit="1" artificial="1" throw="" context="_11017" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb1EEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, true>::is_convertible_impl_select()" location="f157:322" file="f157" line="322" inline="1"/>
+  <Constructor id="_14967" name="is_convertible_impl_select" artificial="1" throw="" context="_11018" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb1ELb1ELb0EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<true, true, false>::is_convertible_impl_select(boost::detail::is_convertible_impl_select<true, true, false> const&)" location="f157:312" file="f157" line="312" inline="1">
+    <Argument name="_ctor_arg" type="_17583" location="f157:312" file="f157" line="312"/>
+  </Constructor>
+  <Constructor id="_14968" name="is_convertible_impl_select" explicit="1" artificial="1" throw="" context="_11018" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb1ELb1ELb0EEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<true, true, false>::is_convertible_impl_select()" location="f157:312" file="f157" line="312" inline="1"/>
+  <Typedef id="_14969" name="type" type="_11035" context="_11019" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14970" name="rebind" artificial="1" throw="" context="_11019" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESC_EC1ERKSD_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t&g [...]
+    <Argument name="_ctor_arg" type="_17584" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14971" name="rebind" explicit="1" artificial="1" throw="" context="_11019" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESC_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator< [...]
+  <Typedef id="_14972" name="type" type="_11036" context="_11020" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14973" name="rebind" artificial="1" throw="" context="_11020" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1ERKSC_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::s [...]
+    <Argument name="_ctor_arg" type="_17585" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14974" name="rebind" explicit="1" artificial="1" throw="" context="_11020" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string&gt [...]
+  <Typedef id="_14975" name="type" type="_11037" context="_11021" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14976" name="rebind" artificial="1" throw="" context="_11021" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EC1ERKSF_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cx [...]
+    <Argument name="_ctor_arg" type="_17586" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14977" name="rebind" explicit="1" artificial="1" throw="" context="_11021" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, [...]
+  <Typedef id="_14978" name="type" type="_11038" context="_11022" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14979" name="rebind" artificial="1" throw="" context="_11022" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindIN9__gnu_cxx17__normal_iteratorIPKcSsEES8_EC1ERKS9_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::rebind(boost::detail::is_convertibl [...]
+    <Argument name="_ctor_arg" type="_17587" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14980" name="rebind" explicit="1" artificial="1" throw="" context="_11022" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindIN9__gnu_cxx17__normal_iteratorIPKcSsEES8_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::rebind()" location="f157:3 [...]
+  <Typedef id="_14981" name="type" type="_11039" context="_11023" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14982" name="rebind" artificial="1" throw="" context="_11023" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagS4_EC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::forward_iterator_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::f [...]
+    <Argument name="_ctor_arg" type="_17588" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14983" name="rebind" explicit="1" artificial="1" throw="" context="_11023" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagS4_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::forward_iterator_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_14984" name="type" type="_11040" context="_11024" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14985" name="rebind" artificial="1" throw="" context="_11024" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::bidirectional_iterator_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false>::rebind< [...]
+    <Argument name="_ctor_arg" type="_17589" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14986" name="rebind" explicit="1" artificial="1" throw="" context="_11024" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::bidirectional_iterator_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_14987" name="type" type="_11041" context="_11025" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14988" name="rebind" artificial="1" throw="" context="_11025" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagSt26random_access_iterator_tagEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::random_access_iterator_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false>::rebind< [...]
+    <Argument name="_ctor_arg" type="_17590" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14989" name="rebind" explicit="1" artificial="1" throw="" context="_11025" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagSt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, std::random_access_iterator_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_14990" name="type" type="_11042" context="_11026" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14991" name="rebind" artificial="1" throw="" context="_11026" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, boost::incrementable_traversal_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false>::rebi [...]
+    <Argument name="_ctor_arg" type="_17591" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14992" name="rebind" explicit="1" artificial="1" throw="" context="_11026" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::forward_iterator_tag, boost::incrementable_traversal_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_14993" name="type" type="_11043" context="_11027" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14994" name="rebind" artificial="1" throw="" context="_11027" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false> [...]
+    <Argument name="_ctor_arg" type="_17592" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14995" name="rebind" explicit="1" artificial="1" throw="" context="_11027" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_14996" name="type" type="_11044" context="_11028" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_14997" name="rebind" artificial="1" throw="" context="_11028" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagES4_EC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, boost::forward_traversal_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal [...]
+    <Argument name="_ctor_arg" type="_17593" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_14998" name="rebind" explicit="1" artificial="1" throw="" context="_11028" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagES4_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, boost::forward_traversal_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_14999" name="type" type="_11045" context="_11029" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_15000" name="rebind" artificial="1" throw="" context="_11029" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagESt19output_iterator_tagEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, std::output_iterator_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::f [...]
+    <Argument name="_ctor_arg" type="_17594" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_15001" name="rebind" explicit="1" artificial="1" throw="" context="_11029" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagESt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, std::output_iterator_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_15002" name="type" type="_11046" context="_11030" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_15003" name="rebind" artificial="1" throw="" context="_11030" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagESt18input_iterator_tagEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, std::input_iterator_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::for [...]
+    <Argument name="_ctor_arg" type="_17595" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_15004" name="rebind" explicit="1" artificial="1" throw="" context="_11030" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagESt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, std::input_iterator_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_15005" name="type" type="_11047" context="_11031" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_15006" name="rebind" artificial="1" throw="" context="_11031" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::random_access_traversal_tag, boost::forward_traversal_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false> [...]
+    <Argument name="_ctor_arg" type="_17596" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_15007" name="rebind" explicit="1" artificial="1" throw="" context="_11031" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::random_access_traversal_tag, boost::forward_traversal_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_15008" name="type" type="_11048" context="_11032" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_15009" name="rebind" artificial="1" throw="" context="_11032" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, boost::random_access_traversal_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false> [...]
+    <Argument name="_ctor_arg" type="_17597" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_15010" name="rebind" explicit="1" artificial="1" throw="" context="_11032" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<boost::forward_traversal_tag, boost::random_access_traversal_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_15011" name="type" type="_11049" context="_11033" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_15012" name="rebind" artificial="1" throw="" context="_11033" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt26random_access_iterator_tagS4_EC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::random_access_iterator_tag, std::random_access_iterator_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::random_acc [...]
+    <Argument name="_ctor_arg" type="_17598" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_15013" name="rebind" explicit="1" artificial="1" throw="" context="_11033" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt26random_access_iterator_tagS4_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::random_access_iterator_tag, std::random_access_iterator_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Typedef id="_15014" name="type" type="_11050" context="_11034" access="public" location="f157:306" file="f157" line="306"/>
+  <Constructor id="_15015" name="rebind" artificial="1" throw="" context="_11034" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::rebind(boost::detail::is_convertible_impl_select<false, false, fal [...]
+    <Argument name="_ctor_arg" type="_17599" location="f157:305" file="f157" line="305"/>
+  </Constructor>
+  <Constructor id="_15016" name="rebind" explicit="1" artificial="1" throw="" context="_11034" access="public" mangled="_ZN5boost6detail26is_convertible_impl_selectILb0ELb0ELb0EE6rebindISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl_select<false, false, false>::rebind<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::rebind()" location="f157:305" file="f157" line="305" inline="1"/>
+  <Variable id="_15017" name="value" type="_3949c" init="true" context="_11035" access="public" mangled="_ZN5boost6detail19is_convertible_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_E5valueE" demangled="boost::detail::is_convertible_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wc [...]
+  <Typedef id="_15018" name="ref_type" type="_9748" context="_11035" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15019" name="is_convertible_impl" artificial="1" throw="" context="_11035" access="public" mangled="_ZN5boost6detail19is_convertible_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_EC1ERKSB_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t con [...]
+    <Argument name="_ctor_arg" type="_17600" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15020" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11035" access="public" mangled="_ZN5boost6detail19is_convertible_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wc [...]
+  <Variable id="_15021" name="value" type="_3949c" init="true" context="_11036" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_E5valueE" demangled="boost::detail::is_convertible_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iter [...]
+  <Typedef id="_15022" name="ref_type" type="_9752" context="_11036" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15023" name="is_convertible_impl" artificial="1" throw="" context="_11036" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EC1ERKSA_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separat [...]
+    <Argument name="_ctor_arg" type="_17601" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15024" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11036" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offse [...]
+  <Variable id="_15025" name="value" type="_3949c" init="true" context="_11037" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_E5valueE" demangled="boost::detail::is_convertible_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_i [...]
+  <Typedef id="_15026" name="ref_type" type="_9756" context="_11037" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15027" name="is_convertible_impl" artificial="1" throw="" context="_11037" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EC1ERKSD_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std [...]
+    <Argument name="_ctor_arg" type="_17602" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15028" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11037" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string [...]
+  <Variable id="_15029" name="value" type="_3949c" init="true" context="_11038" access="public" mangled="_ZN5boost6detail19is_convertible_implIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_E5valueE" demangled="boost::detail::is_convertible_impl<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15030" name="ref_type" type="_8001" context="_11038" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15031" name="is_convertible_impl" artificial="1" throw="" context="_11038" access="public" mangled="_ZN5boost6detail19is_convertible_implIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EC1ERKS7_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible_impl(boost::detail::is_convertible_impl<__gnu_cxx::__normal_iterator<ch [...]
+    <Argument name="_ctor_arg" type="_17603" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15032" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11038" access="public" mangled="_ZN5boost6detail19is_convertible_implIN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15033" name="value" type="_3949c" init="true" context="_11039" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagS2_E5valueE" demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::forward_iterator_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15034" name="ref_type" type="_9763" context="_11039" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15035" name="is_convertible_impl" artificial="1" throw="" context="_11039" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagS2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::forward_iterator_tag>::is_convertible_impl(boost::detail::is_convertible_impl<std::forward_iterator_tag, std::forward_iterator_tag> const&)" location="f157:284" file="f157" line="284" inline="1">
+    <Argument name="_ctor_arg" type="_17604" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15036" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11039" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::forward_iterator_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15037" name="value" type="_3949c" init="false" context="_11040" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagSt26bidirectional_iterator_tagE5valueE" demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::bidirectional_iterator_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15038" name="ref_type" type="_9763" context="_11040" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15039" name="is_convertible_impl" artificial="1" throw="" context="_11040" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::bidirectional_iterator_tag>::is_convertible_impl(boost::detail::is_convertible_impl<std::forward_iterator_tag, std::bidirectional_iterator_tag> const&)" location=" [...]
+    <Argument name="_ctor_arg" type="_17605" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15040" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11040" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagSt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::bidirectional_iterator_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15041" name="value" type="_3949c" init="false" context="_11041" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagSt26random_access_iterator_tagE5valueE" demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::random_access_iterator_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15042" name="ref_type" type="_9763" context="_11041" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15043" name="is_convertible_impl" artificial="1" throw="" context="_11041" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagSt26random_access_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl(boost::detail::is_convertible_impl<std::forward_iterator_tag, std::random_access_iterator_tag> const&)" location=" [...]
+    <Argument name="_ctor_arg" type="_17606" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15044" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11041" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagSt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15045" name="value" type="_3949c" init="false" context="_11042" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagNS_27incrementable_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, boost::incrementable_traversal_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15046" name="ref_type" type="_9763" context="_11042" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15047" name="is_convertible_impl" artificial="1" throw="" context="_11042" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl(boost::detail::is_convertible_impl<std::forward_iterator_tag, boost::incrementable_traversal_tag> const&)" l [...]
+    <Argument name="_ctor_arg" type="_17607" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15048" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11042" access="public" mangled="_ZN5boost6detail19is_convertible_implISt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::forward_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15049" name="value" type="_3949c" init="false" context="_11043" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15050" name="ref_type" type="_9767" context="_11043" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15051" name="is_convertible_impl" artificial="1" throw="" context="_11043" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::is_convertible_impl(boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::bidirectional_traversal_tag> const [...]
+    <Argument name="_ctor_arg" type="_17608" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15052" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11043" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::bidirectional_traversal_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15053" name="value" type="_3949c" init="true" context="_11044" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagES2_E5valueE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::forward_traversal_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15054" name="ref_type" type="_9767" context="_11044" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15055" name="is_convertible_impl" artificial="1" throw="" context="_11044" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagES2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl(boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::forward_traversal_tag> const&)" location="f157:284" file="f157" li [...]
+    <Argument name="_ctor_arg" type="_17609" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15056" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11044" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagES2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15057" name="value" type="_3949c" init="false" context="_11045" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagESt19output_iterator_tagE5valueE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::output_iterator_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15058" name="ref_type" type="_9767" context="_11045" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15059" name="is_convertible_impl" artificial="1" throw="" context="_11045" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagESt19output_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::output_iterator_tag>::is_convertible_impl(boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::output_iterator_tag> const&)" location="f157:284" fi [...]
+    <Argument name="_ctor_arg" type="_17610" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15060" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11045" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagESt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::output_iterator_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15061" name="value" type="_3949c" init="false" context="_11046" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagESt18input_iterator_tagE5valueE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::input_iterator_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15062" name="ref_type" type="_9767" context="_11046" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15063" name="is_convertible_impl" artificial="1" throw="" context="_11046" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagESt18input_iterator_tagEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::input_iterator_tag>::is_convertible_impl(boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::input_iterator_tag> const&)" location="f157:284" file= [...]
+    <Argument name="_ctor_arg" type="_17611" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15064" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11046" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagESt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, std::input_iterator_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15065" name="value" type="_3949c" init="true" context="_11047" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_27random_access_traversal_tagENS_21forward_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_impl<boost::random_access_traversal_tag, boost::forward_traversal_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15066" name="ref_type" type="_9771" context="_11047" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15067" name="is_convertible_impl" artificial="1" throw="" context="_11047" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::random_access_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl(boost::detail::is_convertible_impl<boost::random_access_traversal_tag, boost::forward_traversal_tag> const [...]
+    <Argument name="_ctor_arg" type="_17612" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15068" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11047" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::random_access_traversal_tag, boost::forward_traversal_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15069" name="value" type="_3949c" init="false" context="_11048" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagENS_27random_access_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::random_access_traversal_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15070" name="ref_type" type="_9767" context="_11048" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15071" name="is_convertible_impl" artificial="1" throw="" context="_11048" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::random_access_traversal_tag>::is_convertible_impl(boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::random_access_traversal_tag> const [...]
+    <Argument name="_ctor_arg" type="_17613" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15072" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11048" access="public" mangled="_ZN5boost6detail19is_convertible_implINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<boost::forward_traversal_tag, boost::random_access_traversal_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15073" name="value" type="_3949c" init="true" context="_11049" access="public" mangled="_ZN5boost6detail19is_convertible_implISt26random_access_iterator_tagS2_E5valueE" demangled="boost::detail::is_convertible_impl<std::random_access_iterator_tag, std::random_access_iterator_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15074" name="ref_type" type="_9775" context="_11049" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15075" name="is_convertible_impl" artificial="1" throw="" context="_11049" access="public" mangled="_ZN5boost6detail19is_convertible_implISt26random_access_iterator_tagS2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::random_access_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl(boost::detail::is_convertible_impl<std::random_access_iterator_tag, std::random_access_iterator_tag> const&)" location="f157:284" [...]
+    <Argument name="_ctor_arg" type="_17614" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15076" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11049" access="public" mangled="_ZN5boost6detail19is_convertible_implISt26random_access_iterator_tagS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::random_access_iterator_tag, std::random_access_iterator_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15077" name="value" type="_3949c" init="false" context="_11050" access="public" mangled="_ZN5boost6detail19is_convertible_implISt26random_access_iterator_tagNS_27incrementable_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_impl<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::value" location="f157:286" file="f157" line="286" extern="1"/>
+  <Typedef id="_15078" name="ref_type" type="_9775" context="_11050" access="public" location="f157:285" file="f157" line="285"/>
+  <Constructor id="_15079" name="is_convertible_impl" artificial="1" throw="" context="_11050" access="public" mangled="_ZN5boost6detail19is_convertible_implISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl(boost::detail::is_convertible_impl<std::random_access_iterator_tag, boost::incrementable_traversal_tag& [...]
+    <Argument name="_ctor_arg" type="_17615" location="f157:284" file="f157" line="284"/>
+  </Constructor>
+  <Constructor id="_15080" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11050" access="public" mangled="_ZN5boost6detail19is_convertible_implISt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<std::random_access_iterator_tag, boost::incrementable_traversal_tag>::is_convertible_impl()" location="f157:284" file="f157" line="284" inline="1"/>
+  <Variable id="_15081" name="value" type="_3949c" init="true" context="_11051" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvS2_E5valueE" demangled="boost::detail::is_convertible_impl<void volatile const, void volatile const>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15082" name="is_convertible_impl" artificial="1" throw="" context="_11051" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvS2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile const, void volatile const>::is_convertible_impl(boost::detail::is_convertible_impl<void volatile const, void volatile const> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17616" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15083" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11051" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile const, void volatile const>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15084" name="value" type="_3949c" init="true" context="_11052" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvVvE5valueE" demangled="boost::detail::is_convertible_impl<void volatile const, void volatile>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15085" name="is_convertible_impl" artificial="1" throw="" context="_11052" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvVvEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile const, void volatile>::is_convertible_impl(boost::detail::is_convertible_impl<void volatile const, void volatile> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17617" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15086" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11052" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvVvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile const, void volatile>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15087" name="value" type="_3949c" init="true" context="_11053" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvKvE5valueE" demangled="boost::detail::is_convertible_impl<void volatile const, void const>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15088" name="is_convertible_impl" artificial="1" throw="" context="_11053" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvKvEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile const, void const>::is_convertible_impl(boost::detail::is_convertible_impl<void volatile const, void const> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17618" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15089" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11053" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvKvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile const, void const>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15090" name="value" type="_3949c" init="true" context="_11054" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvvE5valueE" demangled="boost::detail::is_convertible_impl<void volatile const, void>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15091" name="is_convertible_impl" artificial="1" throw="" context="_11054" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile const, void>::is_convertible_impl(boost::detail::is_convertible_impl<void volatile const, void> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17619" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15092" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11054" access="public" mangled="_ZN5boost6detail19is_convertible_implIVKvvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile const, void>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15093" name="value" type="_3949c" init="true" context="_11055" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvVKvE5valueE" demangled="boost::detail::is_convertible_impl<void volatile, void volatile const>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15094" name="is_convertible_impl" artificial="1" throw="" context="_11055" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvVKvEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile, void volatile const>::is_convertible_impl(boost::detail::is_convertible_impl<void volatile, void volatile const> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17620" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15095" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11055" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvVKvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile, void volatile const>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15096" name="value" type="_3949c" init="true" context="_11056" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvS2_E5valueE" demangled="boost::detail::is_convertible_impl<void volatile, void volatile>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15097" name="is_convertible_impl" artificial="1" throw="" context="_11056" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvS2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile, void volatile>::is_convertible_impl(boost::detail::is_convertible_impl<void volatile, void volatile> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17621" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15098" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11056" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile, void volatile>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15099" name="value" type="_3949c" init="true" context="_11057" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvKvE5valueE" demangled="boost::detail::is_convertible_impl<void volatile, void const>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15100" name="is_convertible_impl" artificial="1" throw="" context="_11057" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvKvEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile, void const>::is_convertible_impl(boost::detail::is_convertible_impl<void volatile, void const> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17622" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15101" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11057" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvKvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile, void const>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15102" name="value" type="_3949c" init="true" context="_11058" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvvE5valueE" demangled="boost::detail::is_convertible_impl<void volatile, void>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15103" name="is_convertible_impl" artificial="1" throw="" context="_11058" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile, void>::is_convertible_impl(boost::detail::is_convertible_impl<void volatile, void> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17623" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15104" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11058" access="public" mangled="_ZN5boost6detail19is_convertible_implIVvvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void volatile, void>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15105" name="value" type="_3949c" init="true" context="_11059" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvVKvE5valueE" demangled="boost::detail::is_convertible_impl<void const, void volatile const>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15106" name="is_convertible_impl" artificial="1" throw="" context="_11059" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvVKvEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void const, void volatile const>::is_convertible_impl(boost::detail::is_convertible_impl<void const, void volatile const> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17624" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15107" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11059" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvVKvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void const, void volatile const>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15108" name="value" type="_3949c" init="true" context="_11060" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvVvE5valueE" demangled="boost::detail::is_convertible_impl<void const, void volatile>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15109" name="is_convertible_impl" artificial="1" throw="" context="_11060" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvVvEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void const, void volatile>::is_convertible_impl(boost::detail::is_convertible_impl<void const, void volatile> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17625" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15110" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11060" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvVvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void const, void volatile>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15111" name="value" type="_3949c" init="true" context="_11061" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvS2_E5valueE" demangled="boost::detail::is_convertible_impl<void const, void const>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15112" name="is_convertible_impl" artificial="1" throw="" context="_11061" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvS2_EC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void const, void const>::is_convertible_impl(boost::detail::is_convertible_impl<void const, void const> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17626" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15113" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11061" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void const, void const>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15114" name="value" type="_3949c" init="true" context="_11062" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvvE5valueE" demangled="boost::detail::is_convertible_impl<void const, void>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15115" name="is_convertible_impl" artificial="1" throw="" context="_11062" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void const, void>::is_convertible_impl(boost::detail::is_convertible_impl<void const, void> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17627" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15116" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11062" access="public" mangled="_ZN5boost6detail19is_convertible_implIKvvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void const, void>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15117" name="value" type="_3949c" init="true" context="_11063" access="public" mangled="_ZN5boost6detail19is_convertible_implIvVKvE5valueE" demangled="boost::detail::is_convertible_impl<void, void volatile const>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15118" name="is_convertible_impl" artificial="1" throw="" context="_11063" access="public" mangled="_ZN5boost6detail19is_convertible_implIvVKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void, void volatile const>::is_convertible_impl(boost::detail::is_convertible_impl<void, void volatile const> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17628" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15119" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11063" access="public" mangled="_ZN5boost6detail19is_convertible_implIvVKvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void, void volatile const>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15120" name="value" type="_3949c" init="true" context="_11064" access="public" mangled="_ZN5boost6detail19is_convertible_implIvVvE5valueE" demangled="boost::detail::is_convertible_impl<void, void volatile>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15121" name="is_convertible_impl" artificial="1" throw="" context="_11064" access="public" mangled="_ZN5boost6detail19is_convertible_implIvVvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void, void volatile>::is_convertible_impl(boost::detail::is_convertible_impl<void, void volatile> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17629" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15122" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11064" access="public" mangled="_ZN5boost6detail19is_convertible_implIvVvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void, void volatile>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15123" name="value" type="_3949c" init="true" context="_11065" access="public" mangled="_ZN5boost6detail19is_convertible_implIvKvE5valueE" demangled="boost::detail::is_convertible_impl<void, void const>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15124" name="is_convertible_impl" artificial="1" throw="" context="_11065" access="public" mangled="_ZN5boost6detail19is_convertible_implIvKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void, void const>::is_convertible_impl(boost::detail::is_convertible_impl<void, void const> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17630" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15125" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11065" access="public" mangled="_ZN5boost6detail19is_convertible_implIvKvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void, void const>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15126" name="value" type="_3949c" init="true" context="_11066" access="public" mangled="_ZN5boost6detail19is_convertible_implIvvE5valueE" demangled="boost::detail::is_convertible_impl<void, void>::value" location="f157:385" file="f157" line="385" extern="1"/>
+  <Constructor id="_15127" name="is_convertible_impl" artificial="1" throw="" context="_11066" access="public" mangled="_ZN5boost6detail19is_convertible_implIvvEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_convertible_impl<void, void>::is_convertible_impl(boost::detail::is_convertible_impl<void, void> const&)" location="f157:385" file="f157" line="385" inline="1">
+    <Argument name="_ctor_arg" type="_17631" location="f157:385" file="f157" line="385"/>
+  </Constructor>
+  <Constructor id="_15128" name="is_convertible_impl" explicit="1" artificial="1" throw="" context="_11066" access="public" mangled="_ZN5boost6detail19is_convertible_implIvvEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_impl<void, void>::is_convertible_impl()" location="f157:385" file="f157" line="385" inline="1"/>
+  <Variable id="_15129" name="_m_from" type="_9748" context="_11067" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_E7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >&, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_str [...]
+  <Variable id="_15130" name="value" type="_3949c" init="true" context="_11067" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_E5valueE" demangled="boost::detail::is_convertible_basic_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >&, __gnu_cxx::__normal_iterator<wchar_t const*, std:: [...]
+  <Constructor id="_15131" name="is_convertible_basic_impl" artificial="1" throw="" context="_11067" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_EC1ERKSC_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >&, __gnu_cxx::__normal [...]
+    <Argument name="_ctor_arg" type="_17632" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15132" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11067" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEESA_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >&, __gnu_cxx: [...]
+  <Variable id="_15133" name="_m_from" type="_9752" context="_11068" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_E7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>&, boost::token_iterator<boost::offset_separator, __gnu_cxx::__no [...]
+  <Variable id="_15134" name="value" type="_3949c" init="true" context="_11068" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_E5valueE" demangled="boost::detail::is_convertible_basic_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>&, boost::token_iterator<boost::offset_separator, __gnu_ [...]
+  <Constructor id="_15135" name="is_convertible_basic_impl" artificial="1" throw="" context="_11068" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EC1ERKSB_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>&, boost::token_iterator& [...]
+    <Argument name="_ctor_arg" type="_17633" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15136" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11068" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEES9_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>&, boost::token_ [...]
+  <Variable id="_15137" name="_m_from" type="_9756" context="_11069" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_E7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>&, boost [...]
+  <Variable id="_15138" name="value" type="_3949c" init="true" context="_11069" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_E5valueE" demangled="boost::detail::is_convertible_basic_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>&am [...]
+  <Constructor id="_15139" name="is_convertible_basic_impl" artificial="1" throw="" context="_11069" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EC1ERKSE_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, s [...]
+    <Argument name="_ctor_arg" type="_17634" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15140" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11069" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESC_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char  [...]
+  <Variable id="_15141" name="_m_from" type="_8001" context="_11070" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKcSsEES6_E7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<__gnu_cxx::__normal_iterator<char const*, std::string>&, __gnu_cxx::__normal_iterator<char const*, std::string> >::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15142" name="value" type="_3949c" init="true" context="_11070" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKcSsEES6_E5valueE" demangled="boost::detail::is_convertible_basic_impl<__gnu_cxx::__normal_iterator<char const*, std::string>&, __gnu_cxx::__normal_iterator<char const*, std::string> >::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15143" name="is_convertible_basic_impl" artificial="1" throw="" context="_11070" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EC1ERKS8_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<__gnu_cxx::__normal_iterator<char const*, std::string>&, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl&l [...]
+    <Argument name="_ctor_arg" type="_17635" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15144" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11070" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRN9__gnu_cxx17__normal_iteratorIPKcSsEES6_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<__gnu_cxx::__normal_iterator<char const*, std::string>&, __gnu_cxx::__normal_iterator<char const*, std::string> >::is_convertible_basic_impl()" location="f157:127" file="f157 [...]
+  <Variable id="_15145" name="_m_from" type="_9763" context="_11071" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagS2_E7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::forward_iterator_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15146" name="value" type="_3949c" init="true" context="_11071" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagS2_E5valueE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::forward_iterator_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15147" name="is_convertible_basic_impl" artificial="1" throw="" context="_11071" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagS2_EC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::forward_iterator_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::forward_iterator_tag> const&)" location [...]
+    <Argument name="_ctor_arg" type="_17636" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15148" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11071" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::forward_iterator_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15149" name="_m_from" type="_9763" context="_11072" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26bidirectional_iterator_tagE7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::bidirectional_iterator_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15150" name="value" type="_3949c" init="false" context="_11072" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26bidirectional_iterator_tagE5valueE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::bidirectional_iterator_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15151" name="is_convertible_basic_impl" artificial="1" throw="" context="_11072" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26bidirectional_iterator_tagEC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::bidirectional_iterator_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::bidirectional [...]
+    <Argument name="_ctor_arg" type="_17637" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15152" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11072" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::bidirectional_iterator_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15153" name="_m_from" type="_9763" context="_11073" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26random_access_iterator_tagE7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::random_access_iterator_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15154" name="value" type="_3949c" init="false" context="_11073" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26random_access_iterator_tagE5valueE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::random_access_iterator_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15155" name="is_convertible_basic_impl" artificial="1" throw="" context="_11073" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26random_access_iterator_tagEC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::random_access_iterator_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::random_access [...]
+    <Argument name="_ctor_arg" type="_17638" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15156" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11073" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagSt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, std::random_access_iterator_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15157" name="_m_from" type="_9763" context="_11074" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagNS_27incrementable_traversal_tagEE7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, boost::incrementable_traversal_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15158" name="value" type="_3949c" init="false" context="_11074" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagNS_27incrementable_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, boost::incrementable_traversal_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15159" name="is_convertible_basic_impl" artificial="1" throw="" context="_11074" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, boost::incrementable_traversal_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, boost::incre [...]
+    <Argument name="_ctor_arg" type="_17639" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15160" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11074" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt20forward_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::forward_iterator_tag&, boost::incrementable_traversal_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15161" name="_m_from" type="_9767" context="_11075" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27bidirectional_traversal_tagEE7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::bidirectional_traversal_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15162" name="value" type="_3949c" init="false" context="_11075" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27bidirectional_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::bidirectional_traversal_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15163" name="is_convertible_basic_impl" artificial="1" throw="" context="_11075" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::bidirectional_traversal_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boo [...]
+    <Argument name="_ctor_arg" type="_17640" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15164" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11075" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::bidirectional_traversal_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15165" name="_m_from" type="_9767" context="_11076" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagES2_E7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::forward_traversal_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15166" name="value" type="_3949c" init="true" context="_11076" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagES2_E5valueE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::forward_traversal_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15167" name="is_convertible_basic_impl" artificial="1" throw="" context="_11076" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagES2_EC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::forward_traversal_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::forward_traversal_tag> const& [...]
+    <Argument name="_ctor_arg" type="_17641" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15168" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11076" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagES2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::forward_traversal_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15169" name="_m_from" type="_9767" context="_11077" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt19output_iterator_tagE7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::output_iterator_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15170" name="value" type="_3949c" init="false" context="_11077" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt19output_iterator_tagE5valueE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::output_iterator_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15171" name="is_convertible_basic_impl" artificial="1" throw="" context="_11077" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt19output_iterator_tagEC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::output_iterator_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::output_iterator_ta [...]
+    <Argument name="_ctor_arg" type="_17642" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15172" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11077" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::output_iterator_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15173" name="_m_from" type="_9767" context="_11078" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt18input_iterator_tagE7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::input_iterator_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15174" name="value" type="_3949c" init="false" context="_11078" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt18input_iterator_tagE5valueE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::input_iterator_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15175" name="is_convertible_basic_impl" artificial="1" throw="" context="_11078" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt18input_iterator_tagEC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::input_iterator_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::input_iterator_tag&g [...]
+    <Argument name="_ctor_arg" type="_17643" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15176" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11078" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagESt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, std::input_iterator_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15177" name="_m_from" type="_9771" context="_11079" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_27random_access_traversal_tagENS_21forward_traversal_tagEE7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<boost::random_access_traversal_tag&, boost::forward_traversal_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15178" name="value" type="_3949c" init="true" context="_11079" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_27random_access_traversal_tagENS_21forward_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_basic_impl<boost::random_access_traversal_tag&, boost::forward_traversal_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15179" name="is_convertible_basic_impl" artificial="1" throw="" context="_11079" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::random_access_traversal_tag&, boost::forward_traversal_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<boost::random_access_traversal_tag&amp [...]
+    <Argument name="_ctor_arg" type="_17644" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15180" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11079" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_27random_access_traversal_tagENS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::random_access_traversal_tag&, boost::forward_traversal_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15181" name="_m_from" type="_9767" context="_11080" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27random_access_traversal_tagEE7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::random_access_traversal_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15182" name="value" type="_3949c" init="false" context="_11080" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27random_access_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::random_access_traversal_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15183" name="is_convertible_basic_impl" artificial="1" throw="" context="_11080" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::random_access_traversal_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boo [...]
+    <Argument name="_ctor_arg" type="_17645" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15184" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11080" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRNS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<boost::forward_traversal_tag&, boost::random_access_traversal_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15185" name="_m_from" type="_9775" context="_11081" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagS2_E7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, std::random_access_iterator_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15186" name="value" type="_3949c" init="true" context="_11081" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagS2_E5valueE" demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, std::random_access_iterator_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15187" name="is_convertible_basic_impl" artificial="1" throw="" context="_11081" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagS2_EC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, std::random_access_iterator_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, std::random_access_iterator [...]
+    <Argument name="_ctor_arg" type="_17646" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15188" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11081" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagS2_EC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, std::random_access_iterator_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Variable id="_15189" name="_m_from" type="_9775" context="_11082" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagNS_27incrementable_traversal_tagEE7_m_fromE" demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, boost::incrementable_traversal_tag>::_m_from" location="f157:128" file="f157" line="128" extern="1"/>
+  <Variable id="_15190" name="value" type="_3949c" init="false" context="_11082" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagNS_27incrementable_traversal_tagEE5valueE" demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, boost::incrementable_traversal_tag>::value" location="f157:130" file="f157" line="130" extern="1"/>
+  <Constructor id="_15191" name="is_convertible_basic_impl" artificial="1" throw="" context="_11082" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1ERKS5_ *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, boost::incrementable_traversal_tag>::is_convertible_basic_impl(boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag& [...]
+    <Argument name="_ctor_arg" type="_17647" location="f157:127" file="f157" line="127"/>
+  </Constructor>
+  <Constructor id="_15192" name="is_convertible_basic_impl" explicit="1" artificial="1" throw="" context="_11082" access="public" mangled="_ZN5boost6detail25is_convertible_basic_implIRSt26random_access_iterator_tagNS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_convertible_basic_impl<std::random_access_iterator_tag&, boost::incrementable_traversal_tag>::is_convertible_basic_impl()" location="f157:127" file="f157" line="127" inline="1"/>
+  <Constructor id="_15193" name="checker" artificial="1" throw="" context="_11083" access="public" mangled="_ZN5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::checker(boost::detail::checker<__gnu_cxx::__normal_iterator<wchar_t cons [...]
+    <Argument name="_ctor_arg" type="_17648" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15194" name="checker" explicit="1" artificial="1" throw="" context="_11083" access="public" mangled="_ZN5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15195" name="_m_check" returns="_10449" static="1" context="_11083" access="public" mangled="_ZN5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::_m_check(boost::detail::any_conversion, ...)" location="f157:121"  [...]
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15196" name="_m_check" returns="_10450" static="1" context="_11083" access="public" mangled="_ZN5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE8_m_checkESA_i" demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::_m_check(__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_ [...]
+    <Argument type="_3331" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15197" name="checker" artificial="1" throw="" context="_11084" access="public" mangled="_ZN5boost6detail7checkerINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSA_ *INTERNAL* " demangled="boost::detail::checker<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::checker(boost::detail::checker<boost::token_iterator<boost::offset_separato [...]
+    <Argument name="_ctor_arg" type="_17649" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15198" name="checker" explicit="1" artificial="1" throw="" context="_11084" access="public" mangled="_ZN5boost6detail7checkerINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::detail::checker<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15199" name="_m_check" returns="_10449" static="1" context="_11084" access="public" mangled="_ZN5boost6detail7checkerINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::_m_check(boost::detail::any_conversion, ...)" location="f157:121" fil [...]
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15200" name="_m_check" returns="_10450" static="1" context="_11084" access="public" mangled="_ZN5boost6detail7checkerINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEE8_m_checkES9_i" demangled="boost::detail::checker<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::_m_check(boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator [...]
+    <Argument type="_3362" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15201" name="checker" artificial="1" throw="" context="_11085" access="public" mangled="_ZN5boost6detail7checkerINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSD_ *INTERNAL* " demangled="boost::detail::checker<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::checker(boost::detail [...]
+    <Argument name="_ctor_arg" type="_17650" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15202" name="checker" explicit="1" artificial="1" throw="" context="_11085" access="public" mangled="_ZN5boost6detail7checkerINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::detail::checker<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::checker()" l [...]
+  <Method id="_15203" name="_m_check" returns="_10449" static="1" context="_11085" access="public" mangled="_ZN5boost6detail7checkerINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::_m_check( [...]
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15204" name="_m_check" returns="_10450" static="1" context="_11085" access="public" mangled="_ZN5boost6detail7checkerINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEE8_m_checkESC_i" demangled="boost::detail::checker<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::_m_check(boost::token_itera [...]
+    <Argument type="_3363" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15205" name="checker" artificial="1" throw="" context="_11086" access="public" mangled="_ZN5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<char const*, std::string> >::checker(boost::detail::checker<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17651" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15206" name="checker" explicit="1" artificial="1" throw="" context="_11086" access="public" mangled="_ZN5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<char const*, std::string> >::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15207" name="_m_check" returns="_10449" static="1" context="_11086" access="public" mangled="_ZN5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKcSsEEE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<char const*, std::string> >::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15208" name="_m_check" returns="_10450" static="1" context="_11086" access="public" mangled="_ZN5boost6detail7checkerIN9__gnu_cxx17__normal_iteratorIPKcSsEEE8_m_checkES6_i" demangled="boost::detail::checker<__gnu_cxx::__normal_iterator<char const*, std::string> >::_m_check(__gnu_cxx::__normal_iterator<char const*, std::string>, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_3328" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15209" name="checker" artificial="1" throw="" context="_11087" access="public" mangled="_ZN5boost6detail7checkerISt20forward_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::checker<std::forward_iterator_tag>::checker(boost::detail::checker<std::forward_iterator_tag> const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17652" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15210" name="checker" explicit="1" artificial="1" throw="" context="_11087" access="public" mangled="_ZN5boost6detail7checkerISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::checker<std::forward_iterator_tag>::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15211" name="_m_check" returns="_10449" static="1" context="_11087" access="public" mangled="_ZN5boost6detail7checkerISt20forward_iterator_tagE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<std::forward_iterator_tag>::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15212" name="_m_check" returns="_10450" static="1" context="_11087" access="public" mangled="_ZN5boost6detail7checkerISt20forward_iterator_tagE8_m_checkES2_i" demangled="boost::detail::checker<std::forward_iterator_tag>::_m_check(std::forward_iterator_tag, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_2702" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15213" name="checker" artificial="1" throw="" context="_11088" access="public" mangled="_ZN5boost6detail7checkerISt26bidirectional_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::checker<std::bidirectional_iterator_tag>::checker(boost::detail::checker<std::bidirectional_iterator_tag> const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17653" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15214" name="checker" explicit="1" artificial="1" throw="" context="_11088" access="public" mangled="_ZN5boost6detail7checkerISt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::checker<std::bidirectional_iterator_tag>::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15215" name="_m_check" returns="_10449" static="1" context="_11088" access="public" mangled="_ZN5boost6detail7checkerISt26bidirectional_iterator_tagE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<std::bidirectional_iterator_tag>::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15216" name="_m_check" returns="_10450" static="1" context="_11088" access="public" mangled="_ZN5boost6detail7checkerISt26bidirectional_iterator_tagE8_m_checkES2_i" demangled="boost::detail::checker<std::bidirectional_iterator_tag>::_m_check(std::bidirectional_iterator_tag, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_2701" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15217" name="checker" artificial="1" throw="" context="_11089" access="public" mangled="_ZN5boost6detail7checkerISt26random_access_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::checker<std::random_access_iterator_tag>::checker(boost::detail::checker<std::random_access_iterator_tag> const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17654" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15218" name="checker" explicit="1" artificial="1" throw="" context="_11089" access="public" mangled="_ZN5boost6detail7checkerISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::checker<std::random_access_iterator_tag>::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15219" name="_m_check" returns="_10449" static="1" context="_11089" access="public" mangled="_ZN5boost6detail7checkerISt26random_access_iterator_tagE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<std::random_access_iterator_tag>::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15220" name="_m_check" returns="_10450" static="1" context="_11089" access="public" mangled="_ZN5boost6detail7checkerISt26random_access_iterator_tagE8_m_checkES2_i" demangled="boost::detail::checker<std::random_access_iterator_tag>::_m_check(std::random_access_iterator_tag, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_2700" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15221" name="checker" artificial="1" throw="" context="_11090" access="public" mangled="_ZN5boost6detail7checkerINS_27incrementable_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::checker<boost::incrementable_traversal_tag>::checker(boost::detail::checker<boost::incrementable_traversal_tag> const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17655" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15222" name="checker" explicit="1" artificial="1" throw="" context="_11090" access="public" mangled="_ZN5boost6detail7checkerINS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::checker<boost::incrementable_traversal_tag>::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15223" name="_m_check" returns="_10449" static="1" context="_11090" access="public" mangled="_ZN5boost6detail7checkerINS_27incrementable_traversal_tagEE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<boost::incrementable_traversal_tag>::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15224" name="_m_check" returns="_10450" static="1" context="_11090" access="public" mangled="_ZN5boost6detail7checkerINS_27incrementable_traversal_tagEE8_m_checkES2_i" demangled="boost::detail::checker<boost::incrementable_traversal_tag>::_m_check(boost::incrementable_traversal_tag, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_3531" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15225" name="checker" artificial="1" throw="" context="_11091" access="public" mangled="_ZN5boost6detail7checkerINS_27bidirectional_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::checker<boost::bidirectional_traversal_tag>::checker(boost::detail::checker<boost::bidirectional_traversal_tag> const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17656" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15226" name="checker" explicit="1" artificial="1" throw="" context="_11091" access="public" mangled="_ZN5boost6detail7checkerINS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::checker<boost::bidirectional_traversal_tag>::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15227" name="_m_check" returns="_10449" static="1" context="_11091" access="public" mangled="_ZN5boost6detail7checkerINS_27bidirectional_traversal_tagEE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<boost::bidirectional_traversal_tag>::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15228" name="_m_check" returns="_10450" static="1" context="_11091" access="public" mangled="_ZN5boost6detail7checkerINS_27bidirectional_traversal_tagEE8_m_checkES2_i" demangled="boost::detail::checker<boost::bidirectional_traversal_tag>::_m_check(boost::bidirectional_traversal_tag, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_3528" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15229" name="checker" artificial="1" throw="" context="_11092" access="public" mangled="_ZN5boost6detail7checkerINS_21forward_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::checker<boost::forward_traversal_tag>::checker(boost::detail::checker<boost::forward_traversal_tag> const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17657" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15230" name="checker" explicit="1" artificial="1" throw="" context="_11092" access="public" mangled="_ZN5boost6detail7checkerINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::checker<boost::forward_traversal_tag>::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15231" name="_m_check" returns="_10449" static="1" context="_11092" access="public" mangled="_ZN5boost6detail7checkerINS_21forward_traversal_tagEE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<boost::forward_traversal_tag>::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15232" name="_m_check" returns="_10450" static="1" context="_11092" access="public" mangled="_ZN5boost6detail7checkerINS_21forward_traversal_tagEE8_m_checkES2_i" demangled="boost::detail::checker<boost::forward_traversal_tag>::_m_check(boost::forward_traversal_tag, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_3529" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15233" name="checker" artificial="1" throw="" context="_11093" access="public" mangled="_ZN5boost6detail7checkerISt19output_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::checker<std::output_iterator_tag>::checker(boost::detail::checker<std::output_iterator_tag> const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17658" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15234" name="checker" explicit="1" artificial="1" throw="" context="_11093" access="public" mangled="_ZN5boost6detail7checkerISt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::checker<std::output_iterator_tag>::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15235" name="_m_check" returns="_10449" static="1" context="_11093" access="public" mangled="_ZN5boost6detail7checkerISt19output_iterator_tagE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<std::output_iterator_tag>::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15236" name="_m_check" returns="_10450" static="1" context="_11093" access="public" mangled="_ZN5boost6detail7checkerISt19output_iterator_tagE8_m_checkES2_i" demangled="boost::detail::checker<std::output_iterator_tag>::_m_check(std::output_iterator_tag, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_2703" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15237" name="checker" artificial="1" throw="" context="_11094" access="public" mangled="_ZN5boost6detail7checkerISt18input_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::checker<std::input_iterator_tag>::checker(boost::detail::checker<std::input_iterator_tag> const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17659" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15238" name="checker" explicit="1" artificial="1" throw="" context="_11094" access="public" mangled="_ZN5boost6detail7checkerISt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::checker<std::input_iterator_tag>::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15239" name="_m_check" returns="_10449" static="1" context="_11094" access="public" mangled="_ZN5boost6detail7checkerISt18input_iterator_tagE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<std::input_iterator_tag>::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15240" name="_m_check" returns="_10450" static="1" context="_11094" access="public" mangled="_ZN5boost6detail7checkerISt18input_iterator_tagE8_m_checkES2_i" demangled="boost::detail::checker<std::input_iterator_tag>::_m_check(std::input_iterator_tag, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_2704" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15241" name="checker" artificial="1" throw="" context="_11095" access="public" mangled="_ZN5boost6detail7checkerINS_27random_access_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::checker<boost::random_access_traversal_tag>::checker(boost::detail::checker<boost::random_access_traversal_tag> const&)" location="f157:120" file="f157" line="120" inline="1">
+    <Argument name="_ctor_arg" type="_17660" location="f157:120" file="f157" line="120"/>
+  </Constructor>
+  <Constructor id="_15242" name="checker" explicit="1" artificial="1" throw="" context="_11095" access="public" mangled="_ZN5boost6detail7checkerINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::checker<boost::random_access_traversal_tag>::checker()" location="f157:120" file="f157" line="120" inline="1"/>
+  <Method id="_15243" name="_m_check" returns="_10449" static="1" context="_11095" access="public" mangled="_ZN5boost6detail7checkerINS_27random_access_traversal_tagEE8_m_checkENS0_14any_conversionEz" demangled="boost::detail::checker<boost::random_access_traversal_tag>::_m_check(boost::detail::any_conversion, ...)" location="f157:121" file="f157" line="121" extern="1">
+    <Argument type="_11096" location="f157:121" file="f157" line="121"/>
+    <Ellipsis/>
+  </Method>
+  <Method id="_15244" name="_m_check" returns="_10450" static="1" context="_11095" access="public" mangled="_ZN5boost6detail7checkerINS_27random_access_traversal_tagEE8_m_checkES2_i" demangled="boost::detail::checker<boost::random_access_traversal_tag>::_m_check(boost::random_access_traversal_tag, int)" location="f157:122" file="f157" line="122" extern="1">
+    <Argument type="_3527" location="f157:122" file="f157" line="122"/>
+    <Argument type="_503" location="f157:122" file="f157" line="122"/>
+  </Method>
+  <Constructor id="_15245" name="any_conversion" artificial="1" throw="" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1ERKS1_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion(boost::detail::any_conversion const&)" location="f157:114" file="f157" line="114" inline="1">
+    <Argument name="_ctor_arg" type="_17661" location="f157:114" file="f157" line="114"/>
+  </Constructor>
+  <Constructor id="_15246" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1IN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEERVKT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >(__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string [...]
+    <Argument type="_17662" location="f157:115" file="f157" line="115"/>
+  </Constructor>
+  <Constructor id="_15247" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1INS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEERVKT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >(boost::token_iterator<boost::offset_separator, __gnu_cxx::__norma [...]
+    <Argument type="_17663" location="f157:115" file="f157" line="115"/>
+  </Constructor>
+  <Constructor id="_15248" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1INS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEERVKT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >(boost::t [...]
+    <Argument type="_17664" location="f157:115" file="f157" line="115"/>
+  </Constructor>
+  <Constructor id="_15249" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEERVKT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<__gnu_cxx::__normal_iterator<char const*, std::string> >(__gnu_cxx::__normal_iterator<char const*, std::string> volatile const&)" location="f157:115" file="f157" line="115" extern="1">
+    <Argument type="_17665" location="f157:115" file="f157" line="115"/>
+  </Constructor>
+  <Constructor id="_15250" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1ISt20forward_iterator_tagEERVKT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<std::forward_iterator_tag>(std::forward_iterator_tag volatile const&)" location="f157:115" file="f157" line="115" extern="1">
+    <Argument type="_17666" location="f157:115" file="f157" line="115"/>
+  </Constructor>
+  <Constructor id="_15251" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1INS_27random_access_traversal_tagEEERVKT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::random_access_traversal_tag>(boost::random_access_traversal_tag volatile const&)" location="f157:115" file="f157" line="115" extern="1">
+    <Argument type="_17667" location="f157:115" file="f157" line="115"/>
+  </Constructor>
+  <Constructor id="_15252" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1INS_21forward_traversal_tagEEERVKT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::forward_traversal_tag>(boost::forward_traversal_tag volatile const&)" location="f157:115" file="f157" line="115" extern="1">
+    <Argument type="_17668" location="f157:115" file="f157" line="115"/>
+  </Constructor>
+  <Constructor id="_15253" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1IS1_EERVKT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::detail::any_conversion>(boost::detail::any_conversion volatile const&)" location="f157:115" file="f157" line="115" extern="1">
+    <Argument type="_17669" location="f157:115" file="f157" line="115"/>
+  </Constructor>
+  <Constructor id="_15254" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1ISt26random_access_iterator_tagEERVKT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<std::random_access_iterator_tag>(std::random_access_iterator_tag volatile const&)" location="f157:115" file="f157" line="115" extern="1">
+    <Argument type="_17670" location="f157:115" file="f157" line="115"/>
+  </Constructor>
+  <Constructor id="_15255" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1IN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEERT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >(__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string&l [...]
+    <Argument type="_9748" location="f157:116" file="f157" line="116"/>
+  </Constructor>
+  <Constructor id="_15256" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1INS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEERT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >(boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_ [...]
+    <Argument type="_9752" location="f157:116" file="f157" line="116"/>
+  </Constructor>
+  <Constructor id="_15257" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1INS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEERT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >(boost::tok [...]
+    <Argument type="_9756" location="f157:116" file="f157" line="116"/>
+  </Constructor>
+  <Constructor id="_15258" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEERT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<__gnu_cxx::__normal_iterator<char const*, std::string> >(__gnu_cxx::__normal_iterator<char const*, std::string>&)" location="f157:116" file="f157" line="116" extern="1">
+    <Argument type="_8001" location="f157:116" file="f157" line="116"/>
+  </Constructor>
+  <Constructor id="_15259" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1ISt20forward_iterator_tagEERT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<std::forward_iterator_tag>(std::forward_iterator_tag&)" location="f157:116" file="f157" line="116" extern="1">
+    <Argument type="_9763" location="f157:116" file="f157" line="116"/>
+  </Constructor>
+  <Constructor id="_15260" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1INS_27random_access_traversal_tagEEERT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::random_access_traversal_tag>(boost::random_access_traversal_tag&)" location="f157:116" file="f157" line="116" extern="1">
+    <Argument type="_9771" location="f157:116" file="f157" line="116"/>
+  </Constructor>
+  <Constructor id="_15261" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1INS_21forward_traversal_tagEEERT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::forward_traversal_tag>(boost::forward_traversal_tag&)" location="f157:116" file="f157" line="116" extern="1">
+    <Argument type="_9767" location="f157:116" file="f157" line="116"/>
+  </Constructor>
+  <Constructor id="_15262" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1IS1_EERT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<boost::detail::any_conversion>(boost::detail::any_conversion&)" location="f157:116" file="f157" line="116" extern="1">
+    <Argument type="_17671" location="f157:116" file="f157" line="116"/>
+  </Constructor>
+  <Constructor id="_15263" name="any_conversion" context="_11096" access="public" mangled="_ZN5boost6detail14any_conversionC1ISt26random_access_iterator_tagEERT_ *INTERNAL* " demangled="boost::detail::any_conversion::any_conversion<std::random_access_iterator_tag>(std::random_access_iterator_tag&)" location="f157:116" file="f157" line="116" extern="1">
+    <Argument type="_9775" location="f157:116" file="f157" line="116"/>
+  </Constructor>
+  <Variable id="_15264" name="value" type="_3949c" init="false" context="_11097" access="public" mangled="_ZN5boost6detail18is_arithmetic_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE5valueE" demangled="boost::detail::is_arithmetic_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15265" name="is_arithmetic_impl" artificial="1" throw="" context="_11097" access="public" mangled="_ZN5boost6detail18is_arithmetic_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_arithmetic_impl(boost::detail::is_arithme [...]
+    <Argument name="_ctor_arg" type="_17672" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15266" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11097" access="public" mangled="_ZN5boost6detail18is_arithmetic_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::is_arithmetic_impl()" location="f15 [...]
+  <Variable id="_15267" name="value" type="_3949c" init="false" context="_11098" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISbIwSt11char_traitsIwESaIwEEE5valueE" demangled="boost::detail::is_arithmetic_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15268" name="is_arithmetic_impl" artificial="1" throw="" context="_11098" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_arithmetic_impl(boost::detail::is_arithmetic_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator [...]
+    <Argument name="_ctor_arg" type="_17673" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15269" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11098" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15270" name="value" type="_3949c" init="false" context="_11099" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEE5valueE" demangled="boost::detail::is_arithmetic_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15271" name="is_arithmetic_impl" artificial="1" throw="" context="_11099" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSA_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_arithmetic_impl(boost::detail::is_arithmetic [...]
+    <Argument name="_ctor_arg" type="_17674" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15272" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11099" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::is_arithmetic_impl()" location="f158:2 [...]
+  <Variable id="_15273" name="value" type="_3949c" init="false" context="_11100" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEE5valueE" demangled="boost::detail::is_arithmetic_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::value" locati [...]
+  <Constructor id="_15274" name="is_arithmetic_impl" artificial="1" throw="" context="_11100" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSD_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::stri [...]
+    <Argument name="_ctor_arg" type="_17675" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15275" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11100" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>,  [...]
+  <Variable id="_15276" name="value" type="_3949c" init="false" context="_11101" access="public" mangled="_ZN5boost6detail18is_arithmetic_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEE5valueE" demangled="boost::detail::is_arithmetic_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15277" name="is_arithmetic_impl" artificial="1" throw="" context="_11101" access="public" mangled="_ZN5boost6detail18is_arithmetic_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_arithmetic_impl(boost::detail::is_arithmetic_impl<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f158:26" file=" [...]
+    <Argument name="_ctor_arg" type="_17676" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15278" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11101" access="public" mangled="_ZN5boost6detail18is_arithmetic_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15279" name="value" type="_3949c" init="false" context="_11102" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISsE5valueE" demangled="boost::detail::is_arithmetic_impl<std::string>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15280" name="is_arithmetic_impl" artificial="1" throw="" context="_11102" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::string>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<std::string> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17677" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15281" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11102" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISsEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::string>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15282" name="value" type="_3949c" init="false" context="_11103" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt26bidirectional_iterator_tagE5valueE" demangled="boost::detail::is_arithmetic_impl<std::bidirectional_iterator_tag>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15283" name="is_arithmetic_impl" artificial="1" throw="" context="_11103" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt26bidirectional_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::bidirectional_iterator_tag>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<std::bidirectional_iterator_tag> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17678" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15284" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11103" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt26bidirectional_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::bidirectional_iterator_tag>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15285" name="value" type="_3949c" init="false" context="_11104" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt20forward_iterator_tagE5valueE" demangled="boost::detail::is_arithmetic_impl<std::forward_iterator_tag>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15286" name="is_arithmetic_impl" artificial="1" throw="" context="_11104" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt20forward_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::forward_iterator_tag>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<std::forward_iterator_tag> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17679" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15287" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11104" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::forward_iterator_tag>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15288" name="value" type="_3949c" init="false" context="_11105" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_27bidirectional_traversal_tagEE5valueE" demangled="boost::detail::is_arithmetic_impl<boost::bidirectional_traversal_tag>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15289" name="is_arithmetic_impl" artificial="1" throw="" context="_11105" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_27bidirectional_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::bidirectional_traversal_tag>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<boost::bidirectional_traversal_tag> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17680" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15290" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11105" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_27bidirectional_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::bidirectional_traversal_tag>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15291" name="value" type="_3949c" init="false" context="_11106" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt19output_iterator_tagE5valueE" demangled="boost::detail::is_arithmetic_impl<std::output_iterator_tag>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15292" name="is_arithmetic_impl" artificial="1" throw="" context="_11106" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt19output_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::output_iterator_tag>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<std::output_iterator_tag> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17681" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15293" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11106" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt19output_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::output_iterator_tag>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15294" name="value" type="_3949c" init="false" context="_11107" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt18input_iterator_tagE5valueE" demangled="boost::detail::is_arithmetic_impl<std::input_iterator_tag>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15295" name="is_arithmetic_impl" artificial="1" throw="" context="_11107" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt18input_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::input_iterator_tag>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<std::input_iterator_tag> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17682" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15296" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11107" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt18input_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::input_iterator_tag>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15297" name="value" type="_3949c" init="false" context="_11108" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_27random_access_traversal_tagEE5valueE" demangled="boost::detail::is_arithmetic_impl<boost::random_access_traversal_tag>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15298" name="is_arithmetic_impl" artificial="1" throw="" context="_11108" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_27random_access_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::random_access_traversal_tag>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<boost::random_access_traversal_tag> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17683" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15299" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11108" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::random_access_traversal_tag>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15300" name="value" type="_3949c" init="false" context="_11109" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_21forward_traversal_tagEE5valueE" demangled="boost::detail::is_arithmetic_impl<boost::forward_traversal_tag>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15301" name="is_arithmetic_impl" artificial="1" throw="" context="_11109" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_21forward_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::forward_traversal_tag>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<boost::forward_traversal_tag> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17684" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15302" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11109" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::forward_traversal_tag>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15303" name="value" type="_3949c" init="false" context="_11110" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_27incrementable_traversal_tagEE5valueE" demangled="boost::detail::is_arithmetic_impl<boost::incrementable_traversal_tag>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15304" name="is_arithmetic_impl" artificial="1" throw="" context="_11110" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_27incrementable_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::incrementable_traversal_tag>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<boost::incrementable_traversal_tag> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17685" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15305" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11110" access="public" mangled="_ZN5boost6detail18is_arithmetic_implINS_27incrementable_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<boost::incrementable_traversal_tag>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Variable id="_15306" name="value" type="_3949c" init="false" context="_11111" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt26random_access_iterator_tagE5valueE" demangled="boost::detail::is_arithmetic_impl<std::random_access_iterator_tag>::value" location="f158:27" file="f158" line="27" extern="1"/>
+  <Constructor id="_15307" name="is_arithmetic_impl" artificial="1" throw="" context="_11111" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt26random_access_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::random_access_iterator_tag>::is_arithmetic_impl(boost::detail::is_arithmetic_impl<std::random_access_iterator_tag> const&)" location="f158:26" file="f158" line="26" inline="1">
+    <Argument name="_ctor_arg" type="_17686" location="f158:26" file="f158" line="26"/>
+  </Constructor>
+  <Constructor id="_15308" name="is_arithmetic_impl" explicit="1" artificial="1" throw="" context="_11111" access="public" mangled="_ZN5boost6detail18is_arithmetic_implISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::is_arithmetic_impl<std::random_access_iterator_tag>::is_arithmetic_impl()" location="f158:26" file="f158" line="26" inline="1"/>
+  <Typedef id="_15309" name="type" type="_9748" context="_11112" access="public" location="f161:58" file="f161" line="58"/>
+  <Constructor id="_15310" name="add_reference_impl" artificial="1" throw="" context="_11112" access="public" mangled="_ZN5boost6detail18add_reference_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::detail::add_reference_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::add_reference_impl(boost::detail::add_refere [...]
+    <Argument name="_ctor_arg" type="_17687" location="f161:57" file="f161" line="57"/>
+  </Constructor>
+  <Constructor id="_15311" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11112" access="public" mangled="_ZN5boost6detail18add_reference_implIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::add_reference_impl()" location="f16 [...]
+  <Typedef id="_15312" name="type" type="_9752" context="_11113" access="public" location="f161:58" file="f161" line="58"/>
+  <Constructor id="_15313" name="add_reference_impl" artificial="1" throw="" context="_11113" access="public" mangled="_ZN5boost6detail18add_reference_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSA_ *INTERNAL* " demangled="boost::detail::add_reference_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::add_reference_impl(boost::detail::add_reference [...]
+    <Argument name="_ctor_arg" type="_17688" location="f161:57" file="f161" line="57"/>
+  </Constructor>
+  <Constructor id="_15314" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11113" access="public" mangled="_ZN5boost6detail18add_reference_implINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> >::add_reference_impl()" location="f161:5 [...]
+  <Typedef id="_15315" name="type" type="_9756" context="_11114" access="public" location="f161:58" file="f161" line="58"/>
+  <Constructor id="_15316" name="add_reference_impl" artificial="1" throw="" context="_11114" access="public" mangled="_ZN5boost6detail18add_reference_implINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1ERKSD_ *INTERNAL* " demangled="boost::detail::add_reference_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::stri [...]
+    <Argument name="_ctor_arg" type="_17689" location="f161:57" file="f161" line="57"/>
+  </Constructor>
+  <Constructor id="_15317" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11114" access="public" mangled="_ZN5boost6detail18add_reference_implINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEEEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>,  [...]
+  <Typedef id="_15318" name="type" type="_8001" context="_11115" access="public" location="f161:58" file="f161" line="58"/>
+  <Constructor id="_15319" name="add_reference_impl" artificial="1" throw="" context="_11115" access="public" mangled="_ZN5boost6detail18add_reference_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::add_reference_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::add_reference_impl(boost::detail::add_reference_impl<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f161:57" file=" [...]
+    <Argument name="_ctor_arg" type="_17690" location="f161:57" file="f161" line="57"/>
+  </Constructor>
+  <Constructor id="_15320" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11115" access="public" mangled="_ZN5boost6detail18add_reference_implIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<__gnu_cxx::__normal_iterator<char const*, std::string> >::add_reference_impl()" location="f161:57" file="f161" line="57" inline="1"/>
+  <Typedef id="_15321" name="type" type="_9763" context="_11116" access="public" location="f161:58" file="f161" line="58"/>
+  <Constructor id="_15322" name="add_reference_impl" artificial="1" throw="" context="_11116" access="public" mangled="_ZN5boost6detail18add_reference_implISt20forward_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::add_reference_impl<std::forward_iterator_tag>::add_reference_impl(boost::detail::add_reference_impl<std::forward_iterator_tag> const&)" location="f161:57" file="f161" line="57" inline="1">
+    <Argument name="_ctor_arg" type="_17691" location="f161:57" file="f161" line="57"/>
+  </Constructor>
+  <Constructor id="_15323" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11116" access="public" mangled="_ZN5boost6detail18add_reference_implISt20forward_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<std::forward_iterator_tag>::add_reference_impl()" location="f161:57" file="f161" line="57" inline="1"/>
+  <Typedef id="_15324" name="type" type="_9771" context="_11117" access="public" location="f161:58" file="f161" line="58"/>
+  <Constructor id="_15325" name="add_reference_impl" artificial="1" throw="" context="_11117" access="public" mangled="_ZN5boost6detail18add_reference_implINS_27random_access_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::add_reference_impl<boost::random_access_traversal_tag>::add_reference_impl(boost::detail::add_reference_impl<boost::random_access_traversal_tag> const&)" location="f161:57" file="f161" line="57" inline="1">
+    <Argument name="_ctor_arg" type="_17692" location="f161:57" file="f161" line="57"/>
+  </Constructor>
+  <Constructor id="_15326" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11117" access="public" mangled="_ZN5boost6detail18add_reference_implINS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<boost::random_access_traversal_tag>::add_reference_impl()" location="f161:57" file="f161" line="57" inline="1"/>
+  <Typedef id="_15327" name="type" type="_9767" context="_11118" access="public" location="f161:58" file="f161" line="58"/>
+  <Constructor id="_15328" name="add_reference_impl" artificial="1" throw="" context="_11118" access="public" mangled="_ZN5boost6detail18add_reference_implINS_21forward_traversal_tagEEC1ERKS3_ *INTERNAL* " demangled="boost::detail::add_reference_impl<boost::forward_traversal_tag>::add_reference_impl(boost::detail::add_reference_impl<boost::forward_traversal_tag> const&)" location="f161:57" file="f161" line="57" inline="1">
+    <Argument name="_ctor_arg" type="_17693" location="f161:57" file="f161" line="57"/>
+  </Constructor>
+  <Constructor id="_15329" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11118" access="public" mangled="_ZN5boost6detail18add_reference_implINS_21forward_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<boost::forward_traversal_tag>::add_reference_impl()" location="f161:57" file="f161" line="57" inline="1"/>
+  <Typedef id="_15330" name="type" type="_9775" context="_11119" access="public" location="f161:58" file="f161" line="58"/>
+  <Constructor id="_15331" name="add_reference_impl" artificial="1" throw="" context="_11119" access="public" mangled="_ZN5boost6detail18add_reference_implISt26random_access_iterator_tagEC1ERKS3_ *INTERNAL* " demangled="boost::detail::add_reference_impl<std::random_access_iterator_tag>::add_reference_impl(boost::detail::add_reference_impl<std::random_access_iterator_tag> const&)" location="f161:57" file="f161" line="57" inline="1">
+    <Argument name="_ctor_arg" type="_17694" location="f161:57" file="f161" line="57"/>
+  </Constructor>
+  <Constructor id="_15332" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11119" access="public" mangled="_ZN5boost6detail18add_reference_implISt26random_access_iterator_tagEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<std::random_access_iterator_tag>::add_reference_impl()" location="f161:57" file="f161" line="57" inline="1"/>
+  <Typedef id="_15333" name="type" type="_1194cv" context="_11120" access="public" location="f161:72" file="f161" line="72"/>
+  <Constructor id="_15334" name="add_reference_impl" artificial="1" throw="" context="_11120" access="public" mangled="_ZN5boost6detail18add_reference_implIVKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::add_reference_impl<void volatile const>::add_reference_impl(boost::detail::add_reference_impl<void volatile const> const&)" location="f161:72" file="f161" line="72" inline="1">
+    <Argument name="_ctor_arg" type="_17696" location="f161:72" file="f161" line="72"/>
+  </Constructor>
+  <Constructor id="_15335" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11120" access="public" mangled="_ZN5boost6detail18add_reference_implIVKvEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<void volatile const>::add_reference_impl()" location="f161:72" file="f161" line="72" inline="1"/>
+  <Typedef id="_15336" name="type" type="_1194v" context="_11121" access="public" location="f161:71" file="f161" line="71"/>
+  <Constructor id="_15337" name="add_reference_impl" artificial="1" throw="" context="_11121" access="public" mangled="_ZN5boost6detail18add_reference_implIVvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::add_reference_impl<void volatile>::add_reference_impl(boost::detail::add_reference_impl<void volatile> const&)" location="f161:71" file="f161" line="71" inline="1">
+    <Argument name="_ctor_arg" type="_17698" location="f161:71" file="f161" line="71"/>
+  </Constructor>
+  <Constructor id="_15338" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11121" access="public" mangled="_ZN5boost6detail18add_reference_implIVvEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<void volatile>::add_reference_impl()" location="f161:71" file="f161" line="71" inline="1"/>
+  <Typedef id="_15339" name="type" type="_1194c" context="_11122" access="public" location="f161:70" file="f161" line="70"/>
+  <Constructor id="_15340" name="add_reference_impl" artificial="1" throw="" context="_11122" access="public" mangled="_ZN5boost6detail18add_reference_implIKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::add_reference_impl<void const>::add_reference_impl(boost::detail::add_reference_impl<void const> const&)" location="f161:70" file="f161" line="70" inline="1">
+    <Argument name="_ctor_arg" type="_17699" location="f161:70" file="f161" line="70"/>
+  </Constructor>
+  <Constructor id="_15341" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11122" access="public" mangled="_ZN5boost6detail18add_reference_implIKvEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<void const>::add_reference_impl()" location="f161:70" file="f161" line="70" inline="1"/>
+  <Typedef id="_15342" name="type" type="_1194" context="_11123" access="public" location="f161:68" file="f161" line="68"/>
+  <Constructor id="_15343" name="add_reference_impl" artificial="1" throw="" context="_11123" access="public" mangled="_ZN5boost6detail18add_reference_implIvEC1ERKS2_ *INTERNAL* " demangled="boost::detail::add_reference_impl<void>::add_reference_impl(boost::detail::add_reference_impl<void> const&)" location="f161:68" file="f161" line="68" inline="1">
+    <Argument name="_ctor_arg" type="_17700" location="f161:68" file="f161" line="68"/>
+  </Constructor>
+  <Constructor id="_15344" name="add_reference_impl" explicit="1" artificial="1" throw="" context="_11123" access="public" mangled="_ZN5boost6detail18add_reference_implIvEC1Ev *INTERNAL* " demangled="boost::detail::add_reference_impl<void>::add_reference_impl()" location="f161:68" file="f161" line="68" inline="1"/>
+  <Typedef id="_15345" name="type" type="_3459" context="_11124" access="public" location="f175:54" file="f175" line="54"/>
+  <Constructor id="_15346" name="remove_const_impl" artificial="1" throw="" context="_11124" access="public" mangled="_ZN5boost6detail17remove_const_implINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS8_ *INTERNAL* " demangled="boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::remove_const_impl(boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char*,  [...]
+    <Argument name="_ctor_arg" type="_17701" location="f175:50" file="f175" line="50"/>
+  </Constructor>
+  <Constructor id="_15347" name="remove_const_impl" explicit="1" artificial="1" throw="" context="_11124" access="public" mangled="_ZN5boost6detail17remove_const_implINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > >::remove_const_impl()" location="f175:50" file="f175" line="50" inline="1"/>
+  <Typedef id="_15348" name="type" type="_3459" context="_11125" access="public" location="f175:54" file="f175" line="54"/>
+  <Constructor id="_15349" name="remove_const_impl" artificial="1" throw="" context="_11125" access="public" mangled="_ZN5boost6detail17remove_const_implIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::remove_const_impl(boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<c [...]
+    <Argument name="_ctor_arg" type="_17702" location="f175:50" file="f175" line="50"/>
+  </Constructor>
+  <Constructor id="_15350" name="remove_const_impl" explicit="1" artificial="1" throw="" context="_11125" access="public" mangled="_ZN5boost6detail17remove_const_implIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const>::remove_const_impl()" location="f175:50" file="f175" line="50" inline="1"/>
+  <Typedef id="_15351" name="type" type="_3458" context="_11126" access="public" location="f175:54" file="f175" line="54"/>
+  <Constructor id="_15352" name="remove_const_impl" artificial="1" throw="" context="_11126" access="public" mangled="_ZN5boost6detail17remove_const_implIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::remove_const_impl(boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterat [...]
+    <Argument name="_ctor_arg" type="_17703" location="f175:50" file="f175" line="50"/>
+  </Constructor>
+  <Constructor id="_15353" name="remove_const_impl" explicit="1" artificial="1" throw="" context="_11126" access="public" mangled="_ZN5boost6detail17remove_const_implIKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_impl<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const>::remove_const_impl()" location="f175:50" file="f175" line="50" inline="1"/>
+  <Typedef id="_15354" name="type" type="_3460" context="_11127" access="public" location="f175:54" file="f175" line="54"/>
+  <Constructor id="_15355" name="remove_const_impl" artificial="1" throw="" context="_11127" access="public" mangled="_ZN5boost6detail17remove_const_implIKNS_14iterator_rangeIPKcEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::remove_const_impl<boost::iterator_range<char const*> const>::remove_const_impl(boost::detail::remove_const_impl<boost::iterator_range<char const*> const> const&)" location="f175:50" file="f175" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17704" location="f175:50" file="f175" line="50"/>
+  </Constructor>
+  <Constructor id="_15356" name="remove_const_impl" explicit="1" artificial="1" throw="" context="_11127" access="public" mangled="_ZN5boost6detail17remove_const_implIKNS_14iterator_rangeIPKcEEEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_impl<boost::iterator_range<char const*> const>::remove_const_impl()" location="f175:50" file="f175" line="50" inline="1"/>
+  <Typedef id="_15357" name="type" type="_2508" context="_11128" access="public" location="f175:54" file="f175" line="54"/>
+  <Constructor id="_15358" name="remove_const_impl" artificial="1" throw="" context="_11128" access="public" mangled="_ZN5boost6detail17remove_const_implIKSsEC1ERKS3_ *INTERNAL* " demangled="boost::detail::remove_const_impl<std::string const>::remove_const_impl(boost::detail::remove_const_impl<std::string const> const&)" location="f175:50" file="f175" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17705" location="f175:50" file="f175" line="50"/>
+  </Constructor>
+  <Constructor id="_15359" name="remove_const_impl" explicit="1" artificial="1" throw="" context="_11128" access="public" mangled="_ZN5boost6detail17remove_const_implIKSsEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_impl<std::string const>::remove_const_impl()" location="f175:50" file="f175" line="50" inline="1"/>
+  <Typedef id="_15360" name="type" type="_2506" context="_11129" access="public" location="f175:54" file="f175" line="54"/>
+  <Constructor id="_15361" name="remove_const_impl" artificial="1" throw="" context="_11129" access="public" mangled="_ZN5boost6detail17remove_const_implISbIwSt11char_traitsIwESaIwEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::remove_const_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::remove_const_impl(boost::detail::remove_const_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<w [...]
+    <Argument name="_ctor_arg" type="_17706" location="f175:50" file="f175" line="50"/>
+  </Constructor>
+  <Constructor id="_15362" name="remove_const_impl" explicit="1" artificial="1" throw="" context="_11129" access="public" mangled="_ZN5boost6detail17remove_const_implISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_impl<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::remove_const_impl()" location="f175:50" file="f175" line="50" inline="1"/>
+  <Typedef id="_15363" name="type" type="_2508" context="_11130" access="public" location="f175:54" file="f175" line="54"/>
+  <Constructor id="_15364" name="remove_const_impl" artificial="1" throw="" context="_11130" access="public" mangled="_ZN5boost6detail17remove_const_implISsEC1ERKS2_ *INTERNAL* " demangled="boost::detail::remove_const_impl<std::string>::remove_const_impl(boost::detail::remove_const_impl<std::string> const&)" location="f175:50" file="f175" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17707" location="f175:50" file="f175" line="50"/>
+  </Constructor>
+  <Constructor id="_15365" name="remove_const_impl" explicit="1" artificial="1" throw="" context="_11130" access="public" mangled="_ZN5boost6detail17remove_const_implISsEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_impl<std::string>::remove_const_impl()" location="f175:50" file="f175" line="50" inline="1"/>
+  <Typedef id="_15366" name="type" type="_3459" context="_11131" access="public" location="f175:38" file="f175" line="38"/>
+  <Constructor id="_15367" name="remove_const_helper" artificial="1" throw="" context="_11131" access="public" mangled="_ZN5boost6detail19remove_const_helperINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEELb0EEC1ERKS8_ *INTERNAL* " demangled="boost::detail::remove_const_helper<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >, false>::remove_const_helper(boost::detail::remove_const_helper<boost::iterator_range<__gnu_cxx::__normal [...]
+    <Argument name="_ctor_arg" type="_17708" location="f175:37" file="f175" line="37"/>
+  </Constructor>
+  <Constructor id="_15368" name="remove_const_helper" explicit="1" artificial="1" throw="" context="_11131" access="public" mangled="_ZN5boost6detail19remove_const_helperINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEELb0EEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_helper<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >, false>::remove_const_helper()" location="f175:37" file="f175" line="37" inline="1"/>
+  <Typedef id="_15369" name="type" type="_3458" context="_11132" access="public" location="f175:38" file="f175" line="38"/>
+  <Constructor id="_15370" name="remove_const_helper" artificial="1" throw="" context="_11132" access="public" mangled="_ZN5boost6detail19remove_const_helperINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEELb0EEC1ERKS9_ *INTERNAL* " demangled="boost::detail::remove_const_helper<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >, false>::remove_const_helper(boost::detail::remove_const_helper<boost::iterator_range<__gnu_cxx::_ [...]
+    <Argument name="_ctor_arg" type="_17709" location="f175:37" file="f175" line="37"/>
+  </Constructor>
+  <Constructor id="_15371" name="remove_const_helper" explicit="1" artificial="1" throw="" context="_11132" access="public" mangled="_ZN5boost6detail19remove_const_helperINS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEELb0EEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_helper<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> >, false>::remove_const_helper()" location="f175:37" file="f175" line="37" inline="1"/>
+  <Typedef id="_15372" name="type" type="_3460" context="_11133" access="public" location="f175:38" file="f175" line="38"/>
+  <Constructor id="_15373" name="remove_const_helper" artificial="1" throw="" context="_11133" access="public" mangled="_ZN5boost6detail19remove_const_helperINS_14iterator_rangeIPKcEELb0EEC1ERKS6_ *INTERNAL* " demangled="boost::detail::remove_const_helper<boost::iterator_range<char const*>, false>::remove_const_helper(boost::detail::remove_const_helper<boost::iterator_range<char const*>, false> const&)" location="f175:37" file="f175" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_17710" location="f175:37" file="f175" line="37"/>
+  </Constructor>
+  <Constructor id="_15374" name="remove_const_helper" explicit="1" artificial="1" throw="" context="_11133" access="public" mangled="_ZN5boost6detail19remove_const_helperINS_14iterator_rangeIPKcEELb0EEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_helper<boost::iterator_range<char const*>, false>::remove_const_helper()" location="f175:37" file="f175" line="37" inline="1"/>
+  <Typedef id="_15375" name="type" type="_2508" context="_11134" access="public" location="f175:38" file="f175" line="38"/>
+  <Constructor id="_15376" name="remove_const_helper" artificial="1" throw="" context="_11134" access="public" mangled="_ZN5boost6detail19remove_const_helperISsLb0EEC1ERKS2_ *INTERNAL* " demangled="boost::detail::remove_const_helper<std::string, false>::remove_const_helper(boost::detail::remove_const_helper<std::string, false> const&)" location="f175:37" file="f175" line="37" inline="1">
+    <Argument name="_ctor_arg" type="_17711" location="f175:37" file="f175" line="37"/>
+  </Constructor>
+  <Constructor id="_15377" name="remove_const_helper" explicit="1" artificial="1" throw="" context="_11134" access="public" mangled="_ZN5boost6detail19remove_const_helperISsLb0EEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_helper<std::string, false>::remove_const_helper()" location="f175:37" file="f175" line="37" inline="1"/>
+  <Typedef id="_15378" name="type" type="_2506" context="_11135" access="public" location="f175:38" file="f175" line="38"/>
+  <Constructor id="_15379" name="remove_const_helper" artificial="1" throw="" context="_11135" access="public" mangled="_ZN5boost6detail19remove_const_helperISbIwSt11char_traitsIwESaIwEELb0EEC1ERKS6_ *INTERNAL* " demangled="boost::detail::remove_const_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, false>::remove_const_helper(boost::detail::remove_const_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, [...]
+    <Argument name="_ctor_arg" type="_17712" location="f175:37" file="f175" line="37"/>
+  </Constructor>
+  <Constructor id="_15380" name="remove_const_helper" explicit="1" artificial="1" throw="" context="_11135" access="public" mangled="_ZN5boost6detail19remove_const_helperISbIwSt11char_traitsIwESaIwEELb0EEC1Ev *INTERNAL* " demangled="boost::detail::remove_const_helper<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, false>::remove_const_helper()" location="f175:37" file="f175" line="37" inline="1"/>
+  <Variable id="_15381" name="is_const" type="_3949c" init="false" context="_11136" access="public" mangled="_ZN5boost6detail13cv_traits_impIPNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEE8is_constE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >*>::is_const" location="f286:37" file="f286" line="37" extern="1"/>
+  <Variable id="_15382" name="is_volatile" type="_3949c" init="false" context="_11136" access="public" mangled="_ZN5boost6detail13cv_traits_impIPNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEE11is_volatileE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >*>::is_volatile" location="f286:38" file="f286" line="38" extern="1"/>
+  <Typedef id="_15383" name="unqualified_type" type="_3459" context="_11136" access="public" location="f286:39" file="f286" line="39"/>
+  <Constructor id="_15384" name="cv_traits_imp" artificial="1" throw="" context="_11136" access="public" mangled="_ZN5boost6detail13cv_traits_impIPNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >*>::cv_traits_imp(boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> &gt [...]
+    <Argument name="_ctor_arg" type="_17713" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15385" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11136" access="public" mangled="_ZN5boost6detail13cv_traits_impIPNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> >*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15386" name="is_const" type="_3949c" init="true" context="_11137" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEE8is_constE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const*>::is_const" location="f286:45" file="f286" line="45" extern="1"/>
+  <Variable id="_15387" name="is_volatile" type="_3949c" init="false" context="_11137" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEE11is_volatileE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const*>::is_volatile" location="f286:46" file="f286" line="46" extern="1"/>
+  <Typedef id="_15388" name="unqualified_type" type="_3459" context="_11137" access="public" location="f286:47" file="f286" line="47"/>
+  <Constructor id="_15389" name="cv_traits_imp" artificial="1" throw="" context="_11137" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1ERKSA_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const*>::cv_traits_imp(boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string& [...]
+    <Argument name="_ctor_arg" type="_17714" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15390" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11137" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPcSsEEEEEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char*, std::string> > const*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15391" name="is_const" type="_3949c" init="false" context="_11138" access="public" mangled="_ZN5boost6detail13cv_traits_impIPsE8is_constE" demangled="boost::detail::cv_traits_imp<short*>::is_const" location="f286:37" file="f286" line="37" extern="1"/>
+  <Variable id="_15392" name="is_volatile" type="_3949c" init="false" context="_11138" access="public" mangled="_ZN5boost6detail13cv_traits_impIPsE11is_volatileE" demangled="boost::detail::cv_traits_imp<short*>::is_volatile" location="f286:38" file="f286" line="38" extern="1"/>
+  <Typedef id="_15393" name="unqualified_type" type="_1202" context="_11138" access="public" location="f286:39" file="f286" line="39"/>
+  <Constructor id="_15394" name="cv_traits_imp" artificial="1" throw="" context="_11138" access="public" mangled="_ZN5boost6detail13cv_traits_impIPsEC1ERKS3_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<short*>::cv_traits_imp(boost::detail::cv_traits_imp<short*> const&)" location="f286:32" file="f286" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17715" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15395" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11138" access="public" mangled="_ZN5boost6detail13cv_traits_impIPsEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<short*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15396" name="is_const" type="_3949c" init="false" context="_11139" access="public" mangled="_ZN5boost6detail13cv_traits_impIPSsE8is_constE" demangled="boost::detail::cv_traits_imp<std::string*>::is_const" location="f286:37" file="f286" line="37" extern="1"/>
+  <Variable id="_15397" name="is_volatile" type="_3949c" init="false" context="_11139" access="public" mangled="_ZN5boost6detail13cv_traits_impIPSsE11is_volatileE" demangled="boost::detail::cv_traits_imp<std::string*>::is_volatile" location="f286:38" file="f286" line="38" extern="1"/>
+  <Typedef id="_15398" name="unqualified_type" type="_2508" context="_11139" access="public" location="f286:39" file="f286" line="39"/>
+  <Constructor id="_15399" name="cv_traits_imp" artificial="1" throw="" context="_11139" access="public" mangled="_ZN5boost6detail13cv_traits_impIPSsEC1ERKS3_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<std::string*>::cv_traits_imp(boost::detail::cv_traits_imp<std::string*> const&)" location="f286:32" file="f286" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17716" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15400" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11139" access="public" mangled="_ZN5boost6detail13cv_traits_impIPSsEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<std::string*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15401" name="is_const" type="_3949c" init="true" context="_11140" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEE8is_constE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const*>::is_const" location="f286:45" file="f286" line="45" extern="1"/>
+  <Variable id="_15402" name="is_volatile" type="_3949c" init="false" context="_11140" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEE11is_volatileE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const*>::is_volatile" location="f286:46" file="f286" line="46" extern="1"/>
+  <Typedef id="_15403" name="unqualified_type" type="_3458" context="_11140" access="public" location="f286:47" file="f286" line="47"/>
+  <Constructor id="_15404" name="cv_traits_imp" artificial="1" throw="" context="_11140" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const*>::cv_traits_imp(boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, [...]
+    <Argument name="_ctor_arg" type="_17717" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15405" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11140" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEEEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<boost::iterator_range<__gnu_cxx::__normal_iterator<char const*, std::string> > const*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15406" name="is_const" type="_3949c" init="true" context="_11141" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIPKcEEE8is_constE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<char const*> const*>::is_const" location="f286:45" file="f286" line="45" extern="1"/>
+  <Variable id="_15407" name="is_volatile" type="_3949c" init="false" context="_11141" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIPKcEEE11is_volatileE" demangled="boost::detail::cv_traits_imp<boost::iterator_range<char const*> const*>::is_volatile" location="f286:46" file="f286" line="46" extern="1"/>
+  <Typedef id="_15408" name="unqualified_type" type="_3460" context="_11141" access="public" location="f286:47" file="f286" line="47"/>
+  <Constructor id="_15409" name="cv_traits_imp" artificial="1" throw="" context="_11141" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIPKcEEEC1ERKS8_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<boost::iterator_range<char const*> const*>::cv_traits_imp(boost::detail::cv_traits_imp<boost::iterator_range<char const*> const*> const&)" location="f286:32" file="f286" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17718" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15410" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11141" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKNS_14iterator_rangeIPKcEEEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<boost::iterator_range<char const*> const*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15411" name="is_const" type="_3949c" init="true" context="_11142" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKSsE8is_constE" demangled="boost::detail::cv_traits_imp<std::string const*>::is_const" location="f286:45" file="f286" line="45" extern="1"/>
+  <Variable id="_15412" name="is_volatile" type="_3949c" init="false" context="_11142" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKSsE11is_volatileE" demangled="boost::detail::cv_traits_imp<std::string const*>::is_volatile" location="f286:46" file="f286" line="46" extern="1"/>
+  <Typedef id="_15413" name="unqualified_type" type="_2508" context="_11142" access="public" location="f286:47" file="f286" line="47"/>
+  <Constructor id="_15414" name="cv_traits_imp" artificial="1" throw="" context="_11142" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKSsEC1ERKS4_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<std::string const*>::cv_traits_imp(boost::detail::cv_traits_imp<std::string const*> const&)" location="f286:32" file="f286" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17719" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15415" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11142" access="public" mangled="_ZN5boost6detail13cv_traits_impIPKSsEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<std::string const*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15416" name="is_const" type="_3949c" init="true" context="_11143" access="public" mangled="_ZN5boost6detail13cv_traits_impIPA3_KcE8is_constE" demangled="boost::detail::cv_traits_imp<char const (*) [3]>::is_const" location="f286:45" file="f286" line="45" extern="1"/>
+  <Variable id="_15417" name="is_volatile" type="_3949c" init="false" context="_11143" access="public" mangled="_ZN5boost6detail13cv_traits_impIPA3_KcE11is_volatileE" demangled="boost::detail::cv_traits_imp<char const (*) [3]>::is_volatile" location="f286:46" file="f286" line="46" extern="1"/>
+  <Typedef id="_15418" name="unqualified_type" type="_9946" context="_11143" access="public" location="f286:47" file="f286" line="47"/>
+  <Constructor id="_15419" name="cv_traits_imp" artificial="1" throw="" context="_11143" access="public" mangled="_ZN5boost6detail13cv_traits_impIPA3_KcEC1ERKS5_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<char const (*) [3]>::cv_traits_imp(boost::detail::cv_traits_imp<char const (*) [3]> const&)" location="f286:32" file="f286" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17720" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15420" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11143" access="public" mangled="_ZN5boost6detail13cv_traits_impIPA3_KcEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<char const (*) [3]>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15421" name="is_const" type="_3949c" init="false" context="_11144" access="public" mangled="_ZN5boost6detail13cv_traits_impIPxE8is_constE" demangled="boost::detail::cv_traits_imp<long long*>::is_const" location="f286:37" file="f286" line="37" extern="1"/>
+  <Variable id="_15422" name="is_volatile" type="_3949c" init="false" context="_11144" access="public" mangled="_ZN5boost6detail13cv_traits_impIPxE11is_volatileE" demangled="boost::detail::cv_traits_imp<long long*>::is_volatile" location="f286:38" file="f286" line="38" extern="1"/>
+  <Typedef id="_15423" name="unqualified_type" type="_1574" context="_11144" access="public" location="f286:39" file="f286" line="39"/>
+  <Constructor id="_15424" name="cv_traits_imp" artificial="1" throw="" context="_11144" access="public" mangled="_ZN5boost6detail13cv_traits_impIPxEC1ERKS3_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<long long*>::cv_traits_imp(boost::detail::cv_traits_imp<long long*> const&)" location="f286:32" file="f286" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17721" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15425" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11144" access="public" mangled="_ZN5boost6detail13cv_traits_impIPxEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<long long*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15426" name="is_const" type="_3949c" init="false" context="_11145" access="public" mangled="_ZN5boost6detail13cv_traits_impIPiE8is_constE" demangled="boost::detail::cv_traits_imp<int*>::is_const" location="f286:37" file="f286" line="37" extern="1"/>
+  <Variable id="_15427" name="is_volatile" type="_3949c" init="false" context="_11145" access="public" mangled="_ZN5boost6detail13cv_traits_impIPiE11is_volatileE" demangled="boost::detail::cv_traits_imp<int*>::is_volatile" location="f286:38" file="f286" line="38" extern="1"/>
+  <Typedef id="_15428" name="unqualified_type" type="_503" context="_11145" access="public" location="f286:39" file="f286" line="39"/>
+  <Constructor id="_15429" name="cv_traits_imp" artificial="1" throw="" context="_11145" access="public" mangled="_ZN5boost6detail13cv_traits_impIPiEC1ERKS3_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<int*>::cv_traits_imp(boost::detail::cv_traits_imp<int*> const&)" location="f286:32" file="f286" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17722" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15430" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11145" access="public" mangled="_ZN5boost6detail13cv_traits_impIPiEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<int*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15431" name="is_const" type="_3949c" init="false" context="_11146" access="public" mangled="_ZN5boost6detail13cv_traits_impIPtE8is_constE" demangled="boost::detail::cv_traits_imp<unsigned short*>::is_const" location="f286:37" file="f286" line="37" extern="1"/>
+  <Variable id="_15432" name="is_volatile" type="_3949c" init="false" context="_11146" access="public" mangled="_ZN5boost6detail13cv_traits_impIPtE11is_volatileE" demangled="boost::detail::cv_traits_imp<unsigned short*>::is_volatile" location="f286:38" file="f286" line="38" extern="1"/>
+  <Typedef id="_15433" name="unqualified_type" type="_1199" context="_11146" access="public" location="f286:39" file="f286" line="39"/>
+  <Constructor id="_15434" name="cv_traits_imp" artificial="1" throw="" context="_11146" access="public" mangled="_ZN5boost6detail13cv_traits_impIPtEC1ERKS3_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<unsigned short*>::cv_traits_imp(boost::detail::cv_traits_imp<unsigned short*> const&)" location="f286:32" file="f286" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17723" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15435" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11146" access="public" mangled="_ZN5boost6detail13cv_traits_impIPtEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<unsigned short*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15436" name="is_const" type="_3949c" init="false" context="_11147" access="public" mangled="_ZN5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE8is_constE" demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >*>::is_const" location="f286:37" file="f286" line="37" extern="1"/>
+  <Variable id="_15437" name="is_volatile" type="_3949c" init="false" context="_11147" access="public" mangled="_ZN5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEE11is_volatileE" demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >*>::is_volatile" location="f286:38" file="f286" line="38" extern="1"/>
+  <Typedef id="_15438" name="unqualified_type" type="_3331" context="_11147" access="public" location="f286:39" file="f286" line="39"/>
+  <Constructor id="_15439" name="cv_traits_imp" artificial="1" throw="" context="_11147" access="public" mangled="_ZN5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSC_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >*>::cv_traits_imp(boost::detail::cv_traits_imp<__gnu_cxx::_ [...]
+    <Argument name="_ctor_arg" type="_17724" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15440" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11147" access="public" mangled="_ZN5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >*>::cv_traits_imp()" location="f286:32" file="f286" l [...]
+  <Variable id="_15441" name="is_const" type="_3949c" init="false" context="_11148" access="public" mangled="_ZN5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKcSsEEE8is_constE" demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<char const*, std::string>*>::is_const" location="f286:37" file="f286" line="37" extern="1"/>
+  <Variable id="_15442" name="is_volatile" type="_3949c" init="false" context="_11148" access="public" mangled="_ZN5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKcSsEEE11is_volatileE" demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<char const*, std::string>*>::is_volatile" location="f286:38" file="f286" line="38" extern="1"/>
+  <Typedef id="_15443" name="unqualified_type" type="_3328" context="_11148" access="public" location="f286:39" file="f286" line="39"/>
+  <Constructor id="_15444" name="cv_traits_imp" artificial="1" throw="" context="_11148" access="public" mangled="_ZN5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS8_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<char const*, std::string>*>::cv_traits_imp(boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<char const*, std::string>*> const&)" location="f286:32" file="f286" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17725" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15445" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11148" access="public" mangled="_ZN5boost6detail13cv_traits_impIPN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<__gnu_cxx::__normal_iterator<char const*, std::string>*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Variable id="_15446" name="is_const" type="_3949c" init="false" context="_11149" access="public" mangled="_ZN5boost6detail13cv_traits_impIPSbIwSt11char_traitsIwESaIwEEE8is_constE" demangled="boost::detail::cv_traits_imp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>::is_const" location="f286:37" file="f286" line="37" extern="1"/>
+  <Variable id="_15447" name="is_volatile" type="_3949c" init="false" context="_11149" access="public" mangled="_ZN5boost6detail13cv_traits_impIPSbIwSt11char_traitsIwESaIwEEE11is_volatileE" demangled="boost::detail::cv_traits_imp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>::is_volatile" location="f286:38" file="f286" line="38" extern="1"/>
+  <Typedef id="_15448" name="unqualified_type" type="_2506" context="_11149" access="public" location="f286:39" file="f286" line="39"/>
+  <Constructor id="_15449" name="cv_traits_imp" artificial="1" throw="" context="_11149" access="public" mangled="_ZN5boost6detail13cv_traits_impIPSbIwSt11char_traitsIwESaIwEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::cv_traits_imp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>::cv_traits_imp(boost::detail::cv_traits_imp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*&gt [...]
+    <Argument name="_ctor_arg" type="_17726" location="f286:32" file="f286" line="32"/>
+  </Constructor>
+  <Constructor id="_15450" name="cv_traits_imp" explicit="1" artificial="1" throw="" context="_11149" access="public" mangled="_ZN5boost6detail13cv_traits_impIPSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::cv_traits_imp<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*>::cv_traits_imp()" location="f286:32" file="f286" line="32" inline="1"/>
+  <Constructor id="_15451" name="iterator_traits" artificial="1" throw="" context="_11150" access="public" mangled="_ZN5boost6detail15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_traits(boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<char*, std::string> > const&)" location="f287:83" file="f287" line="83" inline="1">
+    <Argument name="_ctor_arg" type="_17727" location="f287:83" file="f287" line="83"/>
+  </Constructor>
+  <Constructor id="_15452" name="iterator_traits" explicit="1" artificial="1" throw="" context="_11150" access="public" mangled="_ZN5boost6detail15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPcSsEEEC1Ev *INTERNAL* " demangled="boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<char*, std::string> >::iterator_traits()" location="f287:83" file="f287" line="83" inline="1"/>
+  <Constructor id="_15453" name="iterator_traits" artificial="1" throw="" context="_11151" access="public" mangled="_ZN5boost6detail15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_traits(boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> > const&)" location="f287:83" file="f287" line="83" [...]
+    <Argument name="_ctor_arg" type="_17728" location="f287:83" file="f287" line="83"/>
+  </Constructor>
+  <Constructor id="_15454" name="iterator_traits" explicit="1" artificial="1" throw="" context="_11151" access="public" mangled="_ZN5boost6detail15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKcSsEEEC1Ev *INTERNAL* " demangled="boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::string> >::iterator_traits()" location="f287:83" file="f287" line="83" inline="1"/>
+  <Constructor id="_15455" name="iterator_traits" artificial="1" throw="" context="_11152" access="public" mangled="_ZN5boost6detail15iterator_traitsIPKcEC1ERKS4_ *INTERNAL* " demangled="boost::detail::iterator_traits<char const*>::iterator_traits(boost::detail::iterator_traits<char const*> const&)" location="f287:83" file="f287" line="83" inline="1">
+    <Argument name="_ctor_arg" type="_17729" location="f287:83" file="f287" line="83"/>
+  </Constructor>
+  <Constructor id="_15456" name="iterator_traits" explicit="1" artificial="1" throw="" context="_11152" access="public" mangled="_ZN5boost6detail15iterator_traitsIPKcEC1Ev *INTERNAL* " demangled="boost::detail::iterator_traits<char const*>::iterator_traits()" location="f287:83" file="f287" line="83" inline="1"/>
+  <Constructor id="_15457" name="iterator_traits" artificial="1" throw="" context="_11153" access="public" mangled="_ZN5boost6detail15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::iterator_traits(boost::detail::iterator_traits<__g [...]
+    <Argument name="_ctor_arg" type="_17730" location="f287:83" file="f287" line="83"/>
+  </Constructor>
+  <Constructor id="_15458" name="iterator_traits" explicit="1" artificial="1" throw="" context="_11153" access="public" mangled="_ZN5boost6detail15iterator_traitsIN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::detail::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::iterator_traits()" location="f287:83" file=" [...]
+  <Constructor id="_15459" name="sp_enable_if_auto_ptr" artificial="1" throw="" context="_11154" access="public" mangled="_ZN5boost6detail21sp_enable_if_auto_ptrINS_10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEEiEC1ERKS9_ *INTERNAL* " demangled="boost::detail::sp_enable_if_auto_ptr<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, int>::sp_enable_if_auto_ptr(boost::detail::sp_enable_if_auto_ptr<boost::shared [...]
+    <Argument name="_ctor_arg" type="_17731" location="f180:109" file="f180" line="109"/>
+  </Constructor>
+  <Constructor id="_15460" name="sp_enable_if_auto_ptr" explicit="1" artificial="1" throw="" context="_11154" access="public" mangled="_ZN5boost6detail21sp_enable_if_auto_ptrINS_10shared_ptrINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEEiEC1Ev *INTERNAL* " demangled="boost::detail::sp_enable_if_auto_ptr<boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >, int>::sp_enable_if_auto_ptr()" location="f180:109" file="f180" line="109 [...]
+  <Constructor id="_15461" name="sp_enable_if_auto_ptr" artificial="1" throw="" context="_11155" access="public" mangled="_ZN5boost6detail21sp_enable_if_auto_ptrINS_10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEEEiEC1ERKSC_ *INTERNAL* " demangled="boost::detail::sp_enable_if_auto_ptr<boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >, int>::sp_enable_if [...]
+    <Argument name="_ctor_arg" type="_17732" location="f180:109" file="f180" line="109"/>
+  </Constructor>
+  <Constructor id="_15462" name="sp_enable_if_auto_ptr" explicit="1" artificial="1" throw="" context="_11155" access="public" mangled="_ZN5boost6detail21sp_enable_if_auto_ptrINS_10shared_ptrISt3mapISstSt4lessISsESaISt4pairIKSstEEEEEiEC1Ev *INTERNAL* " demangled="boost::detail::sp_enable_if_auto_ptr<boost::shared_ptr<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >, int>::sp_ [...]
+  <ReferenceType id="_15463" type="_11172c" size="32" align="32"/>
+  <Typedef id="_15464" name="reference" type="_10044" context="_11157" access="public" location="f180:57" file="f180" line="57"/>
+  <Constructor id="_15465" name="shared_ptr_traits" artificial="1" throw="" context="_11157" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsISt3mapISstSt4lessISsESaISt4pairIKSstEEEEC1ERKSA_ *INTERNAL* " demangled="boost::detail::shared_ptr_traits<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::shared_ptr_traits(boost::detail::shared_ptr_traits<std::map<std::st [...]
+    <Argument name="_ctor_arg" type="_17734" location="f180:56" file="f180" line="56"/>
+  </Constructor>
+  <Constructor id="_15466" name="shared_ptr_traits" explicit="1" artificial="1" throw="" context="_11157" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsISt3mapISstSt4lessISsESaISt4pairIKSstEEEEC1Ev *INTERNAL* " demangled="boost::detail::shared_ptr_traits<std::map<std::string, unsigned short, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned short> > > >::shared_ptr_traits()" location="f180:56" file="f180" line="56" in [...]
+  <Typedef id="_15467" name="reference" type="_10070" context="_11158" access="public" location="f180:57" file="f180" line="57"/>
+  <Constructor id="_15468" name="shared_ptr_traits" artificial="1" throw="" context="_11158" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::shared_ptr_traits<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::shared_ptr_traits(boost::detail::shared_ptr_traits<boost::date_time::dst_day_calc_rule<boost::gregorian::date> > const&)" loca [...]
+    <Argument name="_ctor_arg" type="_17735" location="f180:56" file="f180" line="56"/>
+  </Constructor>
+  <Constructor id="_15469" name="shared_ptr_traits" explicit="1" artificial="1" throw="" context="_11158" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsINS_9date_time17dst_day_calc_ruleINS_9gregorian4dateEEEEC1Ev *INTERNAL* " demangled="boost::detail::shared_ptr_traits<boost::date_time::dst_day_calc_rule<boost::gregorian::date> >::shared_ptr_traits()" location="f180:56" file="f180" line="56" inline="1"/>
+  <Typedef id="_15470" name="reference" type="_10019" context="_11159" access="public" location="f180:57" file="f180" line="57"/>
+  <Constructor id="_15471" name="shared_ptr_traits" artificial="1" throw="" context="_11159" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEC1ERKS7_ *INTERNAL* " demangled="boost::detail::shared_ptr_traits<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::shared_ptr_traits(boost::detail::shared_ptr_traits<boost::date_time::time_zone_base<boost::posix_time::ptime, char> > const& [...]
+    <Argument name="_ctor_arg" type="_17736" location="f180:56" file="f180" line="56"/>
+  </Constructor>
+  <Constructor id="_15472" name="shared_ptr_traits" explicit="1" artificial="1" throw="" context="_11159" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsINS_9date_time14time_zone_baseINS_10posix_time5ptimeEcEEEC1Ev *INTERNAL* " demangled="boost::detail::shared_ptr_traits<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::shared_ptr_traits()" location="f180:56" file="f180" line="56" inline="1"/>
+  <Typedef id="_15473" name="reference" type="_1194" context="_11160" access="public" location="f180:79" file="f180" line="79"/>
+  <Constructor id="_15474" name="shared_ptr_traits" artificial="1" throw="" context="_11160" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsIVKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::shared_ptr_traits<void volatile const>::shared_ptr_traits(boost::detail::shared_ptr_traits<void volatile const> const&)" location="f180:78" file="f180" line="78" inline="1">
+    <Argument name="_ctor_arg" type="_17737" location="f180:78" file="f180" line="78"/>
+  </Constructor>
+  <Constructor id="_15475" name="shared_ptr_traits" explicit="1" artificial="1" throw="" context="_11160" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsIVKvEC1Ev *INTERNAL* " demangled="boost::detail::shared_ptr_traits<void volatile const>::shared_ptr_traits()" location="f180:78" file="f180" line="78" inline="1"/>
+  <Typedef id="_15476" name="reference" type="_1194" context="_11161" access="public" location="f180:74" file="f180" line="74"/>
+  <Constructor id="_15477" name="shared_ptr_traits" artificial="1" throw="" context="_11161" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsIVvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::shared_ptr_traits<void volatile>::shared_ptr_traits(boost::detail::shared_ptr_traits<void volatile> const&)" location="f180:73" file="f180" line="73" inline="1">
+    <Argument name="_ctor_arg" type="_17738" location="f180:73" file="f180" line="73"/>
+  </Constructor>
+  <Constructor id="_15478" name="shared_ptr_traits" explicit="1" artificial="1" throw="" context="_11161" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsIVvEC1Ev *INTERNAL* " demangled="boost::detail::shared_ptr_traits<void volatile>::shared_ptr_traits()" location="f180:73" file="f180" line="73" inline="1"/>
+  <Typedef id="_15479" name="reference" type="_1194" context="_11162" access="public" location="f180:69" file="f180" line="69"/>
+  <Constructor id="_15480" name="shared_ptr_traits" artificial="1" throw="" context="_11162" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsIKvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::shared_ptr_traits<void const>::shared_ptr_traits(boost::detail::shared_ptr_traits<void const> const&)" location="f180:68" file="f180" line="68" inline="1">
+    <Argument name="_ctor_arg" type="_17739" location="f180:68" file="f180" line="68"/>
+  </Constructor>
+  <Constructor id="_15481" name="shared_ptr_traits" explicit="1" artificial="1" throw="" context="_11162" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsIKvEC1Ev *INTERNAL* " demangled="boost::detail::shared_ptr_traits<void const>::shared_ptr_traits()" location="f180:68" file="f180" line="68" inline="1"/>
+  <Typedef id="_15482" name="reference" type="_1194" context="_11163" access="public" location="f180:62" file="f180" line="62"/>
+  <Constructor id="_15483" name="shared_ptr_traits" artificial="1" throw="" context="_11163" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsIvEC1ERKS2_ *INTERNAL* " demangled="boost::detail::shared_ptr_traits<void>::shared_ptr_traits(boost::detail::shared_ptr_traits<void> const&)" location="f180:61" file="f180" line="61" inline="1">
+    <Argument name="_ctor_arg" type="_17740" location="f180:61" file="f180" line="61"/>
+  </Constructor>
+  <Constructor id="_15484" name="shared_ptr_traits" explicit="1" artificial="1" throw="" context="_11163" access="public" mangled="_ZN5boost6detail17shared_ptr_traitsIvEC1Ev *INTERNAL* " demangled="boost::detail::shared_ptr_traits<void>::shared_ptr_traits()" location="f180:61" file="f180" line="61" inline="1"/>
+  <Constructor id="_15485" name="polymorphic_cast_tag" artificial="1" throw="" context="_11164" access="public" mangled="_ZN5boost6detail20polymorphic_cast_tagC1ERKS1_ *INTERNAL* " demangled="boost::detail::polymorphic_cast_tag::polymorphic_cast_tag(boost::detail::polymorphic_cast_tag const&)" location="f180:53" file="f180" line="53" inline="1">
+    <Argument name="_ctor_arg" type="_17741" location="f180:53" file="f180" line="53"/>
+  </Constructor>
+  <Constructor id="_15486" name="polymorphic_cast_tag" explicit="1" artificial="1" throw="" context="_11164" access="public" mangled="_ZN5boost6detail20polymorphic_cast_tagC1Ev *INTERNAL* " demangled="boost::detail::polymorphic_cast_tag::polymorphic_cast_tag()" location="f180:53" file="f180" line="53" inline="1"/>
+  <Constructor id="_15487" name="dynamic_cast_tag" artificial="1" throw="" context="_11165" access="public" mangled="_ZN5boost6detail16dynamic_cast_tagC1ERKS1_ *INTERNAL* " demangled="boost::detail::dynamic_cast_tag::dynamic_cast_tag(boost::detail::dynamic_cast_tag const&)" location="f180:52" file="f180" line="52" inline="1">
+    <Argument name="_ctor_arg" type="_17742" location="f180:52" file="f180" line="52"/>
+  </Constructor>
+  <Constructor id="_15488" name="dynamic_cast_tag" explicit="1" artificial="1" throw="" context="_11165" access="public" mangled="_ZN5boost6detail16dynamic_cast_tagC1Ev *INTERNAL* " demangled="boost::detail::dynamic_cast_tag::dynamic_cast_tag()" location="f180:52" file="f180" line="52" inline="1"/>
+  <Constructor id="_15489" name="const_cast_tag" artificial="1" throw="" context="_11166" access="public" mangled="_ZN5boost6detail14const_cast_tagC1ERKS1_ *INTERNAL* " demangled="boost::detail::const_cast_tag::const_cast_tag(boost::detail::const_cast_tag const&)" location="f180:51" file="f180" line="51" inline="1">
+    <Argument name="_ctor_arg" type="_17743" location="f180:51" file="f180" line="51"/>
+  </Constructor>
+  <Constructor id="_15490" name="const_cast_tag" explicit="1" artificial="1" throw="" context="_11166" access="public" mangled="_ZN5boost6detail14const_cast_tagC1Ev *INTERNAL* " demangled="boost::detail::const_cast_tag::const_cast_tag()" location="f180:51" file="f180" line="51" inline="1"/>
+  <Constructor id="_15491" name="static_cast_tag" artificial="1" throw="" context="_11167" access="public" mangled="_ZN5boost6detail15static_cast_tagC1ERKS1_ *INTERNAL* " demangled="boost::detail::static_cast_tag::static_cast_tag(boost::detail::static_cast_tag const&)" location="f180:50" file="f180" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_17744" location="f180:50" file="f180" line="50"/>
+  </Constructor>
+  <Constructor id="_15492" name="static_cast_tag" explicit="1" artificial="1" throw="" context="_11167" access="public" mangled="_ZN5boost6detail15static_cast_tagC1Ev *INTERNAL* " demangled="boost::detail::static_cast_tag::static_cast_tag()" location="f180:50" file="f180" line="50" inline="1"/>
+  <ReferenceType id="_15493" type="_11173c" size="32" align="32"/>
+  <Field id="_15494" name="pi_" type="_4964" offset="0" context="_11172" access="private" mangled="_ZN5boost6detail12shared_count3pi_E" demangled="boost::detail::shared_count::pi_" location="f203:56" file="f203" line="56"/>
+  <Constructor id="_15495" name="shared_count" explicit="1" context="_11172" access="public" mangled="_ZN5boost6detail12shared_countC1Ev *INTERNAL* " demangled="boost::detail::shared_count::shared_count()" location="f203:66" file="f203" line="66" endline="71" inline="1"/>
+  <Destructor id="_15496" name="shared_count" context="_11172" access="public" mangled="_ZN5boost6detail12shared_countD1Ev *INTERNAL* " demangled="boost::detail::shared_count::~shared_count()" location="f203:204" file="f203" line="204" endline="209" inline="1">
+  </Destructor>
+  <Constructor id="_15497" name="shared_count" context="_11172" access="public" mangled="_ZN5boost6detail12shared_countC1ERKS1_ *INTERNAL* " demangled="boost::detail::shared_count::shared_count(boost::detail::shared_count const&)" location="f203:211" file="f203" line="211" endline="217" inline="1">
+    <Argument name="r" type="_15463" location="f203:211" file="f203" line="211"/>
+  </Constructor>
+  <Constructor id="_15498" name="shared_count" explicit="1" context="_11172" access="public" mangled="_ZN5boost6detail12shared_countC1ERKNS0_10weak_countE *INTERNAL* " demangled="boost::detail::shared_count::shared_count(boost::detail::weak_count const&)" location="f203:357" file="f203" line="357" endline="366" inline="1">
+    <Argument name="r" type="_15493" location="f203:357" file="f203" line="357"/>
+  </Constructor>
+  <OperatorMethod id="_15499" name="=" returns="_17746" context="_11172" access="public" mangled="_ZN5boost6detail12shared_countaSERKS1_" demangled="boost::detail::shared_count::operator=(boost::detail::shared_count const&)" location="f203:222" file="f203" line="222" endline="233" inline="1">
+    <Argument name="r" type="_15463" location="f203:222" file="f203" line="222"/>
+  </OperatorMethod>
+  <Method id="_15500" name="swap" returns="_1194" context="_11172" access="public" mangled="_ZN5boost6detail12shared_count4swapERS1_" demangled="boost::detail::shared_count::swap(boost::detail::shared_count&)" location="f203:236" file="f203" line="236" endline="240" inline="1">
+    <Argument name="r" type="_17746" location="f203:236" file="f203" line="236"/>
+  </Method>
+  <Method id="_15501" name="use_count" returns="_1553" const="1" context="_11172" access="public" mangled="_ZNK5boost6detail12shared_count9use_countEv" demangled="boost::detail::shared_count::use_count() const" location="f203:243" file="f203" line="243" endline="245" inline="1"/>
+  <Method id="_15502" name="unique" returns="_3949" const="1" context="_11172" access="public" mangled="_ZNK5boost6detail12shared_count6uniqueEv" demangled="boost::detail::shared_count::unique() const" location="f203:248" file="f203" line="248" endline="250" inline="1"/>
+  <Method id="_15503" name="get_deleter" returns="_1042" const="1" context="_11172" access="public" mangled="_ZNK5boost6detail12shared_count11get_deleterERKSt9type_info" demangled="boost::detail::shared_count::get_deleter(std::type_info const&) const" location="f203:263" file="f203" line="263" endline="265" inline="1">
+    <Argument name="ti" type="_11885" location="f203:263" file="f203" line="263"/>
+  </Method>
+  <Field id="_15504" name="pi_" type="_4964" offset="0" context="_11173" access="private" mangled="_ZN5boost6detail10weak_count3pi_E" demangled="boost::detail::weak_count::pi_" location="f203:273" file="f203" line="273"/>
+  <Constructor id="_15505" name="weak_count" explicit="1" context="_11173" access="public" mangled="_ZN5boost6detail10weak_countC1Ev *INTERNAL* " demangled="boost::detail::weak_count::weak_count()" location="f203:283" file="f203" line="283" endline="288" inline="1"/>
+  <Constructor id="_15506" name="weak_count" context="_11173" access="public" mangled="_ZN5boost6detail10weak_countC1ERKNS0_12shared_countE *INTERNAL* " demangled="boost::detail::weak_count::weak_count(boost::detail::shared_count const&)" location="f203:290" file="f203" line="290" endline="296" inline="1">
+    <Argument name="r" type="_15463" location="f203:290" file="f203" line="290"/>
+  </Constructor>
+  <Constructor id="_15507" name="weak_count" context="_11173" access="public" mangled="_ZN5boost6detail10weak_countC1ERKS1_ *INTERNAL* " demangled="boost::detail::weak_count::weak_count(boost::detail::weak_count const&)" location="f203:298" file="f203" line="298" endline="304" inline="1">
+    <Argument name="r" type="_15493" location="f203:298" file="f203" line="298"/>
+  </Constructor>
+  <Destructor id="_15508" name="weak_count" context="_11173" access="public" mangled="_ZN5boost6detail10weak_countD1Ev *INTERNAL* " demangled="boost::detail::weak_count::~weak_count()" location="f203:307" file="f203" line="307" endline="312" inline="1">
+  </Destructor>
+  <OperatorMethod id="_15509" name="=" returns="_17747" context="_11173" access="public" mangled="_ZN5boost6detail10weak_countaSERKNS0_12shared_countE" demangled="boost::detail::weak_count::operator=(boost::detail::shared_count const&)" location="f203:315" file="f203" line="315" endline="322" inline="1">
+    <Argument name="r" type="_15463" location="f203:315" file="f203" line="315"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15510" name="=" returns="_17747" context="_11173" access="public" mangled="_ZN5boost6detail10weak_countaSERKS1_" demangled="boost::detail::weak_count::operator=(boost::detail::weak_count const&)" location="f203:325" file="f203" line="325" endline="332" inline="1">
+    <Argument name="r" type="_15493" location="f203:325" file="f203" line="325"/>
+  </OperatorMethod>
+  <Method id="_15511" name="swap" returns="_1194" context="_11173" access="public" mangled="_ZN5boost6detail10weak_count4swapERS1_" demangled="boost::detail::weak_count::swap(boost::detail::weak_count&)" location="f203:335" file="f203" line="335" endline="339" inline="1">
+    <Argument name="r" type="_17747" location="f203:335" file="f203" line="335"/>
+  </Method>
+  <Method id="_15512" name="use_count" returns="_1553" const="1" context="_11173" access="public" mangled="_ZNK5boost6detail10weak_count9use_countEv" demangled="boost::detail::weak_count::use_count() const" location="f203:342" file="f203" line="342" endline="344" inline="1"/>
+  <Field id="_15513" name="use_count_" type="_503" offset="32" context="_11174" access="private" mangled="_ZN5boost6detail15sp_counted_base10use_count_E" demangled="boost::detail::sp_counted_base::use_count_" location="f20:104" file="f20" line="104"/>
+  <Field id="_15514" name="weak_count_" type="_503" offset="64" context="_11174" access="private" mangled="_ZN5boost6detail15sp_counted_base11weak_count_E" demangled="boost::detail::sp_counted_base::weak_count_" location="f20:105" file="f20" line="105"/>
+  <Constructor id="_15515" name="sp_counted_base" context="_11174" access="private" mangled="_ZN5boost6detail15sp_counted_baseC1ERKS1_ *INTERNAL* " demangled="boost::detail::sp_counted_base::sp_counted_base(boost::detail::sp_counted_base const&)" location="f20:101" file="f20" line="101" extern="1">
+    <Argument type="_17748" location="f20:101" file="f20" line="101"/>
+  </Constructor>
+  <OperatorMethod id="_15516" name="=" returns="_17749" context="_11174" access="private" mangled="_ZN5boost6detail15sp_counted_baseaSERKS1_" demangled="boost::detail::sp_counted_base::operator=(boost::detail::sp_counted_base const&)" location="f20:102" file="f20" line="102" extern="1">
+    <Argument type="_17748" location="f20:102" file="f20" line="102"/>
+  </OperatorMethod>
+  <Constructor id="_15517" name="sp_counted_base" explicit="1" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_baseC1Ev *INTERNAL* " demangled="boost::detail::sp_counted_base::sp_counted_base()" location="f20:109" file="f20" line="109" endline="111" inline="1"/>
+  <Destructor id="_15518" name="sp_counted_base" virtual="1" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_baseD1Ev *INTERNAL* " demangled="boost::detail::sp_counted_base::~sp_counted_base()" location="f20:114" file="f20" line="114" endline="115" inline="1">
+  </Destructor>
+  <Method id="_15519" name="dispose" returns="_1194" virtual="1" pure_virtual="1" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_base7disposeEv" demangled="boost::detail::sp_counted_base::dispose()" location="f20:120" file="f20" line="120" extern="1"/>
+  <Method id="_15520" name="destroy" returns="_1194" virtual="1" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_base7destroyEv" demangled="boost::detail::sp_counted_base::destroy()" location="f20:125" file="f20" line="125" endline="127" inline="1"/>
+  <Method id="_15521" name="get_deleter" returns="_1042" virtual="1" pure_virtual="1" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_base11get_deleterERKSt9type_info" demangled="boost::detail::sp_counted_base::get_deleter(std::type_info const&)" location="f20:129" file="f20" line="129" extern="1">
+    <Argument name="ti" type="_11885" location="f20:129" file="f20" line="129"/>
+  </Method>
+  <Method id="_15522" name="add_ref_copy" returns="_1194" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_base12add_ref_copyEv" demangled="boost::detail::sp_counted_base::add_ref_copy()" location="f20:132" file="f20" line="132" endline="134" inline="1"/>
+  <Method id="_15523" name="add_ref_lock" returns="_3949" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_base12add_ref_lockEv" demangled="boost::detail::sp_counted_base::add_ref_lock()" location="f20:137" file="f20" line="137" endline="139" inline="1"/>
+  <Method id="_15524" name="release" returns="_1194" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_base7releaseEv" demangled="boost::detail::sp_counted_base::release()" location="f20:142" file="f20" line="142" endline="148" inline="1"/>
+  <Method id="_15525" name="weak_add_ref" returns="_1194" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_base12weak_add_refEv" demangled="boost::detail::sp_counted_base::weak_add_ref()" location="f20:151" file="f20" line="151" endline="153" inline="1"/>
+  <Method id="_15526" name="weak_release" returns="_1194" context="_11174" access="public" mangled="_ZN5boost6detail15sp_counted_base12weak_releaseEv" demangled="boost::detail::sp_counted_base::weak_release()" location="f20:156" file="f20" line="156" endline="161" inline="1"/>
+  <Method id="_15527" name="use_count" returns="_1553" const="1" context="_11174" access="public" mangled="_ZNK5boost6detail15sp_counted_base9use_countEv" demangled="boost::detail::sp_counted_base::use_count() const" location="f20:164" file="f20" line="164" endline="166" inline="1"/>
+  <Function id="_15528" name="has_empty_target" returns="_3949" context="_11178" mangled="_ZN5boost6detail8function16has_empty_targetEz" demangled="boost::detail::function::has_empty_target(...)" location="f17:725" file="f17" line="725" endline="727" inline="1">
+    <Ellipsis/>
+  </Function>
+  <Function id="_15529" name="has_empty_target" returns="_3949" context="_11178" mangled="_ZN5boost6detail8function16has_empty_targetEPKNS_13function_baseE" demangled="boost::detail::function::has_empty_target(boost::function_base const*)" location="f17:714" file="f17" line="714" endline="716" inline="1">
+    <Argument name="f" type="_17750" location="f17:714" file="f17" line="714"/>
+  </Function>
+  <Struct id="_15530" name="vtable_base" context="_11178" mangled="N5boost6detail8function11vtable_baseE" demangled="boost::detail::function::vtable_base" location="f17:458" file="f17" line="458" artificial="1" size="32" align="32" members="_17751 _17752 _17753 " bases=""/>
+  <Struct id="_12094" name="useless_clear_type" context="_11178" mangled="N5boost6detail8function18useless_clear_typeE" demangled="boost::detail::function::useless_clear_type" location="f17:392" file="f17" line="392" artificial="1" size="8" align="8" members="_17754 _17755 " bases=""/>
+  <Struct id="_15531" name="function_obj_ref_tag" context="_11178" mangled="N5boost6detail8function20function_obj_ref_tagE" demangled="boost::detail::function::function_obj_ref_tag" location="f17:174" file="f17" line="174" artificial="1" size="8" align="8" members="_17756 _17757 " bases=""/>
+  <Struct id="_15532" name="member_ptr_tag" context="_11178" mangled="N5boost6detail8function14member_ptr_tagE" demangled="boost::detail::function::member_ptr_tag" location="f17:173" file="f17" line="173" artificial="1" size="8" align="8" members="_17758 _17759 " bases=""/>
+  <Struct id="_15533" name="function_obj_tag" context="_11178" mangled="N5boost6detail8function16function_obj_tagE" demangled="boost::detail::function::function_obj_tag" location="f17:172" file="f17" line="172" artificial="1" size="8" align="8" members="_17760 _17761 " bases=""/>
+  <Struct id="_15534" name="function_ptr_tag" context="_11178" mangled="N5boost6detail8function16function_ptr_tagE" demangled="boost::detail::function::function_ptr_tag" location="f17:171" file="f17" line="171" artificial="1" size="8" align="8" members="_17762 _17763 " bases=""/>
+  <Enumeration id="_15535" name="functor_manager_operation_type" context="_11178" location="f17:163" file="f17" line="163" artificial="1" size="32" align="32">
+    <EnumValue name="clone_functor_tag" init="0"/>
+    <EnumValue name="destroy_functor_tag" init="1"/>
+    <EnumValue name="check_functor_type_tag" init="2"/>
+    <EnumValue name="get_functor_type_tag" init="3"/>
+  </Enumeration>
+  <Struct id="_15536" name="function_return_type<void>" context="_11178" mangled="N5boost6detail8function20function_return_typeIvEE" demangled="boost::detail::function::function_return_type<void>" location="f17:158" file="f17" line="158" artificial="1" size="8" align="8" members="_17764 _17765 _17766 " bases=""/>
+  <Struct id="_15537" name="unusable" context="_11178" mangled="N5boost6detail8function8unusableE" demangled="boost::detail::function::unusable" location="f17:145" file="f17" line="145" artificial="1" size="8" align="8" members="_17767 _17768 " bases=""/>
+  <Struct id="_15538" name="X" context="_11178" incomplete="1" mangled="N5boost6detail8function1XE" demangled="boost::detail::function::X" location="f17:108" file="f17" line="108" artificial="1" align="8"/>
+  <Struct id="_15539" name="is_reference_to_const<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&>" context="_11179" mangled="N5boost6detail15indirect_traits21is_reference_to_constIRKSbIwSt11char_traitsIwESaIwEEEE" demangled="boost::detail::indirect_traits::is_reference_to_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>" location="f309:40" file="f30 [...]
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Struct id="_15540" name="is_reference_to_const<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>" context="_11179" mangled="N5boost6detail15indirect_traits21is_reference_to_constIRKSsEE" demangled="boost::detail::indirect_traits::is_reference_to_const<std::string const&>" location="f309:40" file="f309" line="40" artificial="1" size="8" align="8" members="_17771 _17772 " bases="_3261 ">
+    <Base type="_3261" access="public" virtual="0" offset="0"/>
+  </Struct>
+  <Constructor id="_15541" name="bad_field_count" artificial="1" context="_11180" access="public" mangled="_ZN5boost9date_time15bad_field_countC1ERKS1_ *INTERNAL* " demangled="boost::date_time::bad_field_count::bad_field_count(boost::date_time::bad_field_count const&)" location="f8:40" file="f8" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_17773" location="f8:40" file="f8" line="40"/>
+  </Constructor>
+  <Destructor id="_15542" name="bad_field_count" virtual="1" artificial="1" throw="" context="_11180" access="public" mangled="_ZN5boost9date_time15bad_field_countD1Ev *INTERNAL* " demangled="boost::date_time::bad_field_count::~bad_field_count()" location="f82:436" file="f82" line="436" endline="436" inline="1">
+  </Destructor>
+  <Constructor id="_15543" name="bad_field_count" context="_11180" access="public" mangled="_ZN5boost9date_time15bad_field_countC1ERKSs *INTERNAL* " demangled="boost::date_time::bad_field_count::bad_field_count(std::string const&)" location="f8:42" file="f8" line="42" endline="44" inline="1">
+    <Argument name="s" type="_4020" location="f8:42" file="f8" line="42"/>
+  </Constructor>
+  <Constructor id="_15544" name="data_not_accessible" artificial="1" context="_11181" access="public" mangled="_ZN5boost9date_time19data_not_accessibleC1ERKS1_ *INTERNAL* " demangled="boost::date_time::data_not_accessible::data_not_accessible(boost::date_time::data_not_accessible const&)" location="f8:28" file="f8" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_17774" location="f8:28" file="f8" line="28"/>
+  </Constructor>
+  <Destructor id="_15545" name="data_not_accessible" virtual="1" artificial="1" throw="" context="_11181" access="public" mangled="_ZN5boost9date_time19data_not_accessibleD1Ev *INTERNAL* " demangled="boost::date_time::data_not_accessible::~data_not_accessible()" location="f82:436" file="f82" line="436" endline="436" inline="1">
+  </Destructor>
+  <Constructor id="_15546" name="data_not_accessible" explicit="1" context="_11181" access="public" mangled="_ZN5boost9date_time19data_not_accessibleC1Ev *INTERNAL* " demangled="boost::date_time::data_not_accessible::data_not_accessible()" location="f8:30" file="f8" line="30" endline="32" inline="1"/>
+  <Constructor id="_15547" name="data_not_accessible" context="_11181" access="public" mangled="_ZN5boost9date_time19data_not_accessibleC1ERKSs *INTERNAL* " demangled="boost::date_time::data_not_accessible::data_not_accessible(std::string const&)" location="f8:33" file="f8" line="33" endline="35" inline="1">
+    <Argument name="filespec" type="_4020" location="f8:33" file="f8" line="33"/>
+  </Constructor>
+  <Typedef id="_15548" name="time_duration_type" type="_10347" context="_11189" access="public" location="f222:34" file="f222" line="34"/>
+  <Typedef id="_15549" name="date_type" type="_9061" context="_11189" access="public" location="f222:35" file="f222" line="35"/>
+  <Constructor id="_15550" name="dst_calculator" artificial="1" throw="" context="_11189" access="public" mangled="_ZN5boost9date_time14dst_calculatorINS_9gregorian4dateENS_10posix_time13time_durationEEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::dst_calculator<boost::gregorian::date, boost::posix_time::time_duration>::dst_calculator(boost::date_time::dst_calculator<boost::gregorian::date, boost::posix_time::time_duration> const&)" location="f222:32" file="f222" lin [...]
+    <Argument name="_ctor_arg" type="_17775" location="f222:32" file="f222" line="32"/>
+  </Constructor>
+  <Constructor id="_15551" name="dst_calculator" explicit="1" artificial="1" throw="" context="_11189" access="public" mangled="_ZN5boost9date_time14dst_calculatorINS_9gregorian4dateENS_10posix_time13time_durationEEC1Ev *INTERNAL* " demangled="boost::date_time::dst_calculator<boost::gregorian::date, boost::posix_time::time_duration>::dst_calculator()" location="f222:32" file="f222" line="32" inline="1"/>
+  <Method id="_15552" name="process_local_dst_start_day" returns="_11190" static="1" context="_11189" access="public" mangled="_ZN5boost9date_time14dst_calculatorINS_9gregorian4dateENS_10posix_time13time_durationEE27process_local_dst_start_dayERKS5_jl" demangled="boost::date_time::dst_calculator<boost::gregorian::date, boost::posix_time::time_duration>::process_local_dst_start_day(boost::posix_time::time_duration const&, unsigned, long)" location="f222:51" file="f222" line="51" [...]
+    <Argument name="time_of_day" type="_8886" location="f222:51" file="f222" line="51"/>
+    <Argument name="dst_start_offset_minutes" type="_837" location="f222:51" file="f222" line="51"/>
+    <Argument name="dst_length_minutes" type="_1553" location="f222:51" file="f222" line="51"/>
+  </Method>
+  <Method id="_15553" name="process_local_dst_end_day" returns="_11190" static="1" context="_11189" access="public" mangled="_ZN5boost9date_time14dst_calculatorINS_9gregorian4dateENS_10posix_time13time_durationEE25process_local_dst_end_dayERKS5_jl" demangled="boost::date_time::dst_calculator<boost::gregorian::date, boost::posix_time::time_duration>::process_local_dst_end_day(boost::posix_time::time_duration const&, unsigned, long)" location="f222:76" file="f222" line="76" endli [...]
+    <Argument name="time_of_day" type="_8886" location="f222:76" file="f222" line="76"/>
+    <Argument name="dst_end_offset_minutes" type="_837" location="f222:76" file="f222" line="76"/>
+    <Argument name="dst_length_minutes" type="_1553" location="f222:76" file="f222" line="76"/>
+  </Method>
+  <Method id="_15554" name="local_is_dst" returns="_11190" static="1" context="_11189" access="public" mangled="_ZN5boost9date_time14dst_calculatorINS_9gregorian4dateENS_10posix_time13time_durationEE12local_is_dstERKS3_RKS5_S8_SA_S8_SA_SA_" demangled="boost::date_time::dst_calculator<boost::gregorian::date, boost::posix_time::time_duration>::local_is_dst(boost::gregorian::date const&, boost::posix_time::time_duration const&, boost::gregorian::date const&, boost::posix_t [...]
+    <Argument name="current_day" type="_10010" location="f222:108" file="f222" line="108"/>
+    <Argument name="time_of_day" type="_8886" location="f222:108" file="f222" line="108"/>
+    <Argument name="dst_start_day" type="_10010" location="f222:108" file="f222" line="108"/>
+    <Argument name="dst_start_offset" type="_8886" location="f222:108" file="f222" line="108"/>
+    <Argument name="dst_end_day" type="_10010" location="f222:108" file="f222" line="108"/>
+    <Argument name="dst_end_offset" type="_8886" location="f222:108" file="f222" line="108"/>
+    <Argument name="dst_length_minutes" type="_8886" location="f222:108" file="f222" line="108"/>
+  </Method>
+  <Method id="_15555" name="local_is_dst" returns="_11190" static="1" context="_11189" access="public" mangled="_ZN5boost9date_time14dst_calculatorINS_9gregorian4dateENS_10posix_time13time_durationEE12local_is_dstERKS3_RKS5_S8_jS8_jl" demangled="boost::date_time::dst_calculator<boost::gregorian::date, boost::posix_time::time_duration>::local_is_dst(boost::gregorian::date const&, boost::posix_time::time_duration const&, boost::gregorian::date const&, unsigned, boost::gre [...]
+    <Argument name="current_day" type="_10010" location="f222:144" file="f222" line="144"/>
+    <Argument name="time_of_day" type="_8886" location="f222:144" file="f222" line="144"/>
+    <Argument name="dst_start_day" type="_10010" location="f222:144" file="f222" line="144"/>
+    <Argument name="dst_start_offset_minutes" type="_837" location="f222:144" file="f222" line="144"/>
+    <Argument name="dst_end_day" type="_10010" location="f222:144" file="f222" line="144"/>
+    <Argument name="dst_end_offset_minutes" type="_837" location="f222:144" file="f222" line="144"/>
+    <Argument name="dst_length_minutes" type="_1553" location="f222:144" file="f222" line="144"/>
+  </Method>
+  <ReferenceType id="_15556" type="_9061" size="32" align="32"/>
+  <ReferenceType id="_15557" type="_10746c" size="32" align="32"/>
+  <ReferenceType id="_15558" type="_10748c" size="32" align="32"/>
+  <Field id="_15559" name="time_" type="_10345" offset="0" context="_11199" access="protected" mangled="_ZN5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE5time_E" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::time_" location="f [...]
+  <Typedef id="_15560" name="time_type" type="_10341" context="_11199" access="public" location="f204:51" file="f204" line="51"/>
+  <Typedef id="_15561" name="time_rep_type" type="_10345" context="_11199" access="public" location="f204:52" file="f204" line="52"/>
+  <Typedef id="_15562" name="date_type" type="_9061" context="_11199" access="public" location="f204:53" file="f204" line="53"/>
+  <Typedef id="_15563" name="date_duration_type" type="_10752" context="_11199" access="public" location="f204:54" file="f204" line="54"/>
+  <Typedef id="_15564" name="time_duration_type" type="_10347" context="_11199" access="public" location="f204:55" file="f204" line="55"/>
+  <Constructor id="_15565" name="base_time" artificial="1" throw="" context="_11199" access="public" mangled="_ZN5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >: [...]
+    <Argument name="_ctor_arg" type="_17778" location="f204:49" file="f204" line="49"/>
+  </Constructor>
+  <Constructor id="_15566" name="base_time" explicit="1" context="_11199" access="public" mangled="_ZN5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEC1ERKNS_9gregorian4dateERKNS2_13time_durationENS0_9dst_flagsE *INTERNAL* " demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millis [...]
+    <Argument name="day" type="_10010" location="f204:60" file="f204" line="60"/>
+    <Argument name="td" type="_8886" location="f204:60" file="f204" line="60"/>
+    <Argument name="dst" type="_11212" location="f204:60" file="f204" line="60" default="not_dst"/>
+  </Constructor>
+  <Constructor id="_15567" name="base_time" context="_11199" access="public" mangled="_ZN5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEC1ENS0_14special_valuesE *INTERNAL* " demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::base_ti [...]
+    <Argument name="sv" type="_11275" location="f204:63" file="f204" line="63"/>
+  </Constructor>
+  <Constructor id="_15568" name="base_time" context="_11199" access="public" mangled="_ZN5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEC1ERKS7_ *INTERNAL* " demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::base_time(boost::date_t [...]
+    <Argument name="rhs" type="_16928" location="f204:66" file="f204" line="66"/>
+  </Constructor>
+  <Method id="_15569" name="date" returns="_9061" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE4dateEv" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::date() const" locat [...]
+  <Method id="_15570" name="time_of_day" returns="_10347" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE11time_of_dayEv" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::tim [...]
+  <Method id="_15571" name="zone_name" returns="_2508" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE9zone_nameEb" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::zone_name [...]
+    <Argument name="as_offset" type="_3949" location="f204:81" file="f204" line="81" default="false"/>
+  </Method>
+  <Method id="_15572" name="zone_abbrev" returns="_2508" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE11zone_abbrevEb" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::zone [...]
+    <Argument name="as_offset" type="_3949" location="f204:88" file="f204" line="88" default="false"/>
+  </Method>
+  <Method id="_15573" name="zone_as_posix_string" returns="_2508" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE20zone_as_posix_stringEv" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config&g [...]
+  <Method id="_15574" name="is_not_a_date_time" returns="_3949" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE18is_not_a_date_timeEv" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> & [...]
+  <Method id="_15575" name="is_infinity" returns="_3949" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE11is_infinityEv" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::is_i [...]
+  <Method id="_15576" name="is_pos_infinity" returns="_3949" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE15is_pos_infinityEv" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > &g [...]
+  <Method id="_15577" name="is_neg_infinity" returns="_3949" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE15is_neg_infinityEv" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > &g [...]
+  <Method id="_15578" name="is_special" returns="_3949" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEE10is_specialEv" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::is_spe [...]
+  <OperatorMethod id="_15579" name="==" returns="_3949" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEeqERKS3_" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::operator==(b [...]
+    <Argument name="rhs" type="_8885" location="f204:124" file="f204" line="124"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15580" name="<" returns="_3949" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEltERKS3_" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::operator&l [...]
+    <Argument name="rhs" type="_8885" location="f204:129" file="f204" line="129"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15581" name="-" returns="_10347" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEmiERKS3_" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::operator-(bo [...]
+    <Argument name="rhs" type="_8885" location="f204:134" file="f204" line="134"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15582" name="+" returns="_10341" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEplERKNS0_13date_durationINS0_23duration_traits_adaptedEEE" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_pos [...]
+    <Argument name="dd" type="_16391" location="f204:139" file="f204" line="139"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15583" name="+=" returns="_10341" context="_11199" access="public" mangled="_ZN5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEpLERKNS0_13date_durationINS0_23duration_traits_adaptedEEE" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_sy [...]
+    <Argument name="dd" type="_16391" location="f204:143" file="f204" line="143"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15584" name="-" returns="_10341" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEmiERKNS0_13date_durationINS0_23duration_traits_adaptedEEE" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_pos [...]
+    <Argument name="dd" type="_16391" location="f204:149" file="f204" line="149"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15585" name="-=" returns="_10341" context="_11199" access="public" mangled="_ZN5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEmIERKNS0_13date_durationINS0_23duration_traits_adaptedEEE" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_sy [...]
+    <Argument name="dd" type="_16391" location="f204:153" file="f204" line="153"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15586" name="+" returns="_10341" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEplERKNS2_13time_durationE" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > & [...]
+    <Argument name="td" type="_8886" location="f204:159" file="f204" line="159"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15587" name="+=" returns="_10341" context="_11199" access="public" mangled="_ZN5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEpLERKNS2_13time_durationE" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::opera [...]
+    <Argument name="td" type="_8886" location="f204:163" file="f204" line="163"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15588" name="-" returns="_10341" const="1" context="_11199" access="public" mangled="_ZNK5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEmiERKNS2_13time_durationE" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > & [...]
+    <Argument name="rhs" type="_8886" location="f204:169" file="f204" line="169"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15589" name="-=" returns="_10341" context="_11199" access="public" mangled="_ZN5boost9date_time9base_timeINS_10posix_time5ptimeENS0_19counted_time_systemINS0_16counted_time_repINS2_33millisec_posix_time_system_configEEEEEEmIERKNS2_13time_durationE" demangled="boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::opera [...]
+    <Argument name="td" type="_8886" location="f204:173" file="f204" line="173"/>
+  </OperatorMethod>
+  <Typedef id="_15590" name="int_type" type="_1574" context="_11205" access="public" location="f231:55" file="f231" line="55"/>
+  <Typedef id="_15591" name="impl_type" type="_11269" context="_11205" access="public" location="f231:56" file="f231" line="56"/>
+  <Constructor id="_15592" name="time_resolution_traits_adapted64_impl" artificial="1" throw="" context="_11205" access="public" mangled="_ZN5boost9date_time37time_resolution_traits_adapted64_implC1ERKS1_ *INTERNAL* " demangled="boost::date_time::time_resolution_traits_adapted64_impl::time_resolution_traits_adapted64_impl(boost::date_time::time_resolution_traits_adapted64_impl const&)" location="f231:54" file="f231" line="54" inline="1">
+    <Argument name="_ctor_arg" type="_17779" location="f231:54" file="f231" line="54"/>
+  </Constructor>
+  <Constructor id="_15593" name="time_resolution_traits_adapted64_impl" explicit="1" artificial="1" throw="" context="_11205" access="public" mangled="_ZN5boost9date_time37time_resolution_traits_adapted64_implC1Ev *INTERNAL* " demangled="boost::date_time::time_resolution_traits_adapted64_impl::time_resolution_traits_adapted64_impl()" location="f231:54" file="f231" line="54" inline="1"/>
+  <Method id="_15594" name="as_number" returns="_1574" static="1" context="_11205" access="public" mangled="_ZN5boost9date_time37time_resolution_traits_adapted64_impl9as_numberENS0_11int_adapterIxEE" demangled="boost::date_time::time_resolution_traits_adapted64_impl::as_number(boost::date_time::int_adapter<long long>)" location="f231:57" file="f231" line="57" endline="57" inline="1">
+    <Argument name="i" type="_11269" location="f231:57" file="f231" line="57"/>
+  </Method>
+  <Method id="_15595" name="is_adapted" returns="_3949" static="1" context="_11205" access="public" mangled="_ZN5boost9date_time37time_resolution_traits_adapted64_impl10is_adaptedEv" demangled="boost::date_time::time_resolution_traits_adapted64_impl::is_adapted()" location="f231:59" file="f231" line="59" endline="59" inline="1"/>
+  <Typedef id="_15596" name="int_type" type="_1574" context="_11206" access="public" location="f231:47" file="f231" line="47"/>
+  <Typedef id="_15597" name="impl_type" type="_1574" context="_11206" access="public" location="f231:48" file="f231" line="48"/>
+  <Constructor id="_15598" name="time_resolution_traits_bi64_impl" artificial="1" throw="" context="_11206" access="public" mangled="_ZN5boost9date_time32time_resolution_traits_bi64_implC1ERKS1_ *INTERNAL* " demangled="boost::date_time::time_resolution_traits_bi64_impl::time_resolution_traits_bi64_impl(boost::date_time::time_resolution_traits_bi64_impl const&)" location="f231:46" file="f231" line="46" inline="1">
+    <Argument name="_ctor_arg" type="_17780" location="f231:46" file="f231" line="46"/>
+  </Constructor>
+  <Constructor id="_15599" name="time_resolution_traits_bi64_impl" explicit="1" artificial="1" throw="" context="_11206" access="public" mangled="_ZN5boost9date_time32time_resolution_traits_bi64_implC1Ev *INTERNAL* " demangled="boost::date_time::time_resolution_traits_bi64_impl::time_resolution_traits_bi64_impl()" location="f231:46" file="f231" line="46" inline="1"/>
+  <Method id="_15600" name="as_number" returns="_1574" static="1" context="_11206" access="public" mangled="_ZN5boost9date_time32time_resolution_traits_bi64_impl9as_numberEx" demangled="boost::date_time::time_resolution_traits_bi64_impl::as_number(long long)" location="f231:49" file="f231" line="49" endline="49" inline="1">
+    <Argument name="i" type="_1574" location="f231:49" file="f231" line="49"/>
+  </Method>
+  <Method id="_15601" name="is_adapted" returns="_3949" static="1" context="_11206" access="public" mangled="_ZN5boost9date_time32time_resolution_traits_bi64_impl10is_adaptedEv" demangled="boost::date_time::time_resolution_traits_bi64_impl::is_adapted()" location="f231:51" file="f231" line="51" endline="51" inline="1"/>
+  <Typedef id="_15602" name="int_type" type="_1575" context="_11207" access="public" location="f231:39" file="f231" line="39"/>
+  <Typedef id="_15603" name="impl_type" type="_11271" context="_11207" access="public" location="f231:40" file="f231" line="40"/>
+  <Constructor id="_15604" name="time_resolution_traits_adapted32_impl" artificial="1" throw="" context="_11207" access="public" mangled="_ZN5boost9date_time37time_resolution_traits_adapted32_implC1ERKS1_ *INTERNAL* " demangled="boost::date_time::time_resolution_traits_adapted32_impl::time_resolution_traits_adapted32_impl(boost::date_time::time_resolution_traits_adapted32_impl const&)" location="f231:38" file="f231" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_17781" location="f231:38" file="f231" line="38"/>
+  </Constructor>
+  <Constructor id="_15605" name="time_resolution_traits_adapted32_impl" explicit="1" artificial="1" throw="" context="_11207" access="public" mangled="_ZN5boost9date_time37time_resolution_traits_adapted32_implC1Ev *INTERNAL* " demangled="boost::date_time::time_resolution_traits_adapted32_impl::time_resolution_traits_adapted32_impl()" location="f231:38" file="f231" line="38" inline="1"/>
+  <Method id="_15606" name="as_number" returns="_1575" static="1" context="_11207" access="public" mangled="_ZN5boost9date_time37time_resolution_traits_adapted32_impl9as_numberENS0_11int_adapterIiEE" demangled="boost::date_time::time_resolution_traits_adapted32_impl::as_number(boost::date_time::int_adapter<int>)" location="f231:41" file="f231" line="41" endline="41" inline="1">
+    <Argument name="i" type="_11271" location="f231:41" file="f231" line="41"/>
+  </Method>
+  <Method id="_15607" name="is_adapted" returns="_3949" static="1" context="_11207" access="public" mangled="_ZN5boost9date_time37time_resolution_traits_adapted32_impl10is_adaptedEv" demangled="boost::date_time::time_resolution_traits_adapted32_impl::is_adapted()" location="f231:43" file="f231" line="43" endline="43" inline="1"/>
+  <Typedef id="_15608" name="int_type" type="_1575" context="_11208" access="public" location="f231:31" file="f231" line="31"/>
+  <Typedef id="_15609" name="impl_type" type="_1575" context="_11208" access="public" location="f231:32" file="f231" line="32"/>
+  <Constructor id="_15610" name="time_resolution_traits_bi32_impl" artificial="1" throw="" context="_11208" access="public" mangled="_ZN5boost9date_time32time_resolution_traits_bi32_implC1ERKS1_ *INTERNAL* " demangled="boost::date_time::time_resolution_traits_bi32_impl::time_resolution_traits_bi32_impl(boost::date_time::time_resolution_traits_bi32_impl const&)" location="f231:30" file="f231" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_17782" location="f231:30" file="f231" line="30"/>
+  </Constructor>
+  <Constructor id="_15611" name="time_resolution_traits_bi32_impl" explicit="1" artificial="1" throw="" context="_11208" access="public" mangled="_ZN5boost9date_time32time_resolution_traits_bi32_implC1Ev *INTERNAL* " demangled="boost::date_time::time_resolution_traits_bi32_impl::time_resolution_traits_bi32_impl()" location="f231:30" file="f231" line="30" inline="1"/>
+  <Method id="_15612" name="as_number" returns="_1575" static="1" context="_11208" access="public" mangled="_ZN5boost9date_time32time_resolution_traits_bi32_impl9as_numberEi" demangled="boost::date_time::time_resolution_traits_bi32_impl::as_number(int)" location="f231:33" file="f231" line="33" endline="33" inline="1">
+    <Argument name="i" type="_1575" location="f231:33" file="f231" line="33"/>
+  </Method>
+  <Method id="_15613" name="is_adapted" returns="_3949" static="1" context="_11208" access="public" mangled="_ZN5boost9date_time32time_resolution_traits_bi32_impl10is_adaptedEv" demangled="boost::date_time::time_resolution_traits_bi32_impl::is_adapted()" location="f231:35" file="f231" line="35" endline="35" inline="1"/>
+  <Field id="_15614" name="ticks_" type="_11269" offset="0" context="_11211" access="protected" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE6ticks_E" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_ [...]
+  <Typedef id="_15615" name="duration_type" type="_10347" context="_11211" access="public" location="f205:43" file="f205" line="43"/>
+  <Typedef id="_15616" name="traits_type" type="_10349" context="_11211" access="public" location="f205:44" file="f205" line="44"/>
+  <Typedef id="_15617" name="day_type" type="_1575" context="_11211" access="public" location="f205:45" file="f205" line="45"/>
+  <Typedef id="_15618" name="hour_type" type="_1575" context="_11211" access="public" location="f205:46" file="f205" line="46"/>
+  <Typedef id="_15619" name="min_type" type="_1575" context="_11211" access="public" location="f205:47" file="f205" line="47"/>
+  <Typedef id="_15620" name="sec_type" type="_1575" context="_11211" access="public" location="f205:48" file="f205" line="48"/>
+  <Typedef id="_15621" name="fractional_seconds_type" type="_1574" context="_11211" access="public" location="f205:49" file="f205" line="49"/>
+  <Typedef id="_15622" name="tick_type" type="_1574" context="_11211" access="public" location="f205:50" file="f205" line="50"/>
+  <Typedef id="_15623" name="impl_type" type="_11269" context="_11211" access="public" location="f205:51" file="f205" line="51"/>
+  <Constructor id="_15624" name="time_duration" explicit="1" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEC1Ev *INTERNAL* " demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost: [...]
+  <Constructor id="_15625" name="time_duration" explicit="1" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEC1Eiiix *INTERNAL* " demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boo [...]
+    <Argument name="hours_in" type="_1575" location="f205:57" file="f205" line="57"/>
+    <Argument name="minutes_in" type="_1575" location="f205:57" file="f205" line="57"/>
+    <Argument name="seconds_in" type="_1575" location="f205:57" file="f205" line="57" default="0"/>
+    <Argument name="frac_sec_in" type="_1574" location="f205:57" file="f205" line="57" default="0"/>
+  </Constructor>
+  <Constructor id="_15626" name="time_duration" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEC1ERKS8_ *INTERNAL* " demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_tim [...]
+    <Argument name="other" type="_17783" location="f205:63" file="f205" line="63"/>
+  </Constructor>
+  <Constructor id="_15627" name="time_duration" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEC1ENS0_14special_valuesE *INTERNAL* " demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl,  [...]
+    <Argument name="sv" type="_11275" location="f205:66" file="f205" line="66"/>
+  </Constructor>
+  <Method id="_15628" name="unit" returns="_10347" static="1" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE4unitEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_ti [...]
+  <Method id="_15629" name="ticks_per_second" returns="_1574" static="1" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE16ticks_per_secondEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted [...]
+  <Method id="_15630" name="resolution" returns="_11213" static="1" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE10resolutionEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (b [...]
+  <Method id="_15631" name="hours" returns="_1575" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE5hoursEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_t [...]
+  <Method id="_15632" name="minutes" returns="_1575" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE7minutesEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::da [...]
+  <Method id="_15633" name="seconds" returns="_1575" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE7secondsEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::da [...]
+  <Method id="_15634" name="total_seconds" returns="_1575" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE13total_secondsEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_imp [...]
+  <Method id="_15635" name="total_milliseconds" returns="_1574" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE18total_millisecondsEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_ada [...]
+  <Method id="_15636" name="total_nanoseconds" returns="_1574" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE17total_nanosecondsEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapt [...]
+  <Method id="_15637" name="total_microseconds" returns="_1574" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE18total_microsecondsEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_ada [...]
+  <Method id="_15638" name="fractional_seconds" returns="_1574" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE18fractional_secondsEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_ada [...]
+  <Method id="_15639" name="num_fractional_digits" returns="_1199" static="1" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE21num_fractional_digitsEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_trai [...]
+  <Method id="_15640" name="invert_sign" returns="_10347" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE11invert_signEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl,  [...]
+  <Method id="_15641" name="is_negative" returns="_3949" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE11is_negativeEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, ( [...]
+  <OperatorMethod id="_15642" name="<" returns="_3949" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEltERKS8_" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost: [...]
+    <Argument name="rhs" type="_17783" location="f205:146" file="f205" line="146"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15643" name="==" returns="_3949" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEeqERKS8_" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::d [...]
+    <Argument name="rhs" type="_17783" location="f205:150" file="f205" line="150"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15644" name="-" returns="_10347" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEngEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_ [...]
+  <OperatorMethod id="_15645" name="-" returns="_10347" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEmiERKS3_" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::d [...]
+    <Argument name="d" type="_8886" location="f205:159" file="f205" line="159"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15646" name="+" returns="_10347" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEplERKS3_" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::d [...]
+    <Argument name="d" type="_8886" location="f205:163" file="f205" line="163"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15647" name="/" returns="_10347" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEdvEi" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_ [...]
+    <Argument name="divisor" type="_503" location="f205:167" file="f205" line="167"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15648" name="-=" returns="_10347" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEmIERKS3_" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time:: [...]
+    <Argument name="d" type="_8886" location="f205:171" file="f205" line="171"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15649" name="+=" returns="_10347" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEpLERKS3_" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time:: [...]
+    <Argument name="d" type="_8886" location="f205:176" file="f205" line="176"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15650" name="/=" returns="_10347" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEdVEi" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time [...]
+    <Argument name="divisor" type="_503" location="f205:182" file="f205" line="182"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15651" name="*" returns="_10347" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEmlEi" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_ [...]
+    <Argument name="rhs" type="_503" location="f205:188" file="f205" line="188"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15652" name="*=" returns="_10347" context="_11211" access="public" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEmLEi" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_time::time [...]
+    <Argument name="divisor" type="_503" location="f205:192" file="f205" line="192"/>
+  </OperatorMethod>
+  <Method id="_15653" name="ticks" returns="_1574" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE5ticksEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::date_t [...]
+  <Method id="_15654" name="is_special" returns="_3949" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE10is_specialEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (bo [...]
+  <Method id="_15655" name="is_pos_infinity" returns="_3949" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE15is_pos_infinityEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64 [...]
+  <Method id="_15656" name="is_neg_infinity" returns="_3949" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE15is_neg_infinityEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64 [...]
+  <Method id="_15657" name="is_not_a_date_time" returns="_3949" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE18is_not_a_date_timeEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_ada [...]
+  <Method id="_15658" name="get_rep" returns="_11269" const="1" context="_11211" access="public" mangled="_ZNK5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEE7get_repEv" demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, (boost::d [...]
+  <Constructor id="_15659" name="time_duration" explicit="1" context="_11211" access="protected" mangled="_ZN5boost9date_time13time_durationINS_10posix_time13time_durationENS0_22time_resolution_traitsINS0_37time_resolution_traits_adapted64_implELNS0_16time_resolutionsE5ELx1000000ELt6EiEEEC1ENS0_11int_adapterIxEE *INTERNAL* " demangled="boost::date_time::time_duration<boost::posix_time::time_duration, boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_ [...]
+    <Argument name="in" type="_11269" location="f205:253" file="f205" line="253"/>
+  </Constructor>
+  <Constructor id="_15660" name="simple_format" artificial="1" throw="" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::simple_format<char>::simple_format(boost::date_time::simple_format<char> const&)" location="f290:19" file="f290" line="19" inline="1">
+    <Argument name="_ctor_arg" type="_17784" location="f290:19" file="f290" line="19"/>
+  </Constructor>
+  <Constructor id="_15661" name="simple_format" explicit="1" artificial="1" throw="" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcEC1Ev *INTERNAL* " demangled="boost::date_time::simple_format<char>::simple_format()" location="f290:19" file="f290" line="19" inline="1"/>
+  <Method id="_15662" name="not_a_date" returns="_2749" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE10not_a_dateEv" demangled="boost::date_time::simple_format<char>::not_a_date()" location="f290:24" file="f290" line="24" endline="25" inline="1"/>
+  <Method id="_15663" name="pos_infinity" returns="_2749" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE12pos_infinityEv" demangled="boost::date_time::simple_format<char>::pos_infinity()" location="f290:29" file="f290" line="29" endline="30" inline="1"/>
+  <Method id="_15664" name="neg_infinity" returns="_2749" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE12neg_infinityEv" demangled="boost::date_time::simple_format<char>::neg_infinity()" location="f290:34" file="f290" line="34" endline="35" inline="1"/>
+  <Method id="_15665" name="month_format" returns="_11254" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE12month_formatEv" demangled="boost::date_time::simple_format<char>::month_format()" location="f290:39" file="f290" line="39" endline="40" inline="1"/>
+  <Method id="_15666" name="date_order" returns="_9064" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE10date_orderEv" demangled="boost::date_time::simple_format<char>::date_order()" location="f290:43" file="f290" line="43" extern="1" inline="1"/>
+  <Method id="_15667" name="has_date_sep_chars" returns="_3949" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE18has_date_sep_charsEv" demangled="boost::date_time::simple_format<char>::has_date_sep_chars()" location="f290:48" file="f290" line="48" endline="49" inline="1"/>
+  <Method id="_15668" name="year_sep_char" returns="_2961" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE13year_sep_charEv" demangled="boost::date_time::simple_format<char>::year_sep_char()" location="f290:53" file="f290" line="53" extern="1" inline="1"/>
+  <Method id="_15669" name="month_sep_char" returns="_2961" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE14month_sep_charEv" demangled="boost::date_time::simple_format<char>::month_sep_char()" location="f290:58" file="f290" line="58" endline="59" inline="1"/>
+  <Method id="_15670" name="day_sep_char" returns="_2961" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE12day_sep_charEv" demangled="boost::date_time::simple_format<char>::day_sep_char()" location="f290:63" file="f290" line="63" endline="64" inline="1"/>
+  <Method id="_15671" name="hour_sep_char" returns="_2961" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE13hour_sep_charEv" demangled="boost::date_time::simple_format<char>::hour_sep_char()" location="f290:68" file="f290" line="68" extern="1" inline="1"/>
+  <Method id="_15672" name="minute_sep_char" returns="_2961" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE15minute_sep_charEv" demangled="boost::date_time::simple_format<char>::minute_sep_char()" location="f290:73" file="f290" line="73" extern="1" inline="1"/>
+  <Method id="_15673" name="second_sep_char" returns="_2961" static="1" context="_11228" access="public" mangled="_ZN5boost9date_time13simple_formatIcE15second_sep_charEv" demangled="boost::date_time::simple_format<char>::second_sep_char()" location="f290:78" file="f290" line="78" extern="1" inline="1"/>
+  <Constructor id="_15674" name="simple_format" artificial="1" throw="" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::simple_format<wchar_t>::simple_format(boost::date_time::simple_format<wchar_t> const&)" location="f290:88" file="f290" line="88" inline="1">
+    <Argument name="_ctor_arg" type="_17785" location="f290:88" file="f290" line="88"/>
+  </Constructor>
+  <Constructor id="_15675" name="simple_format" explicit="1" artificial="1" throw="" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwEC1Ev *INTERNAL* " demangled="boost::date_time::simple_format<wchar_t>::simple_format()" location="f290:88" file="f290" line="88" inline="1"/>
+  <Method id="_15676" name="not_a_date" returns="_2780" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE10not_a_dateEv" demangled="boost::date_time::simple_format<wchar_t>::not_a_date()" location="f290:93" file="f290" line="93" endline="95" inline="1"/>
+  <Method id="_15677" name="pos_infinity" returns="_2780" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE12pos_infinityEv" demangled="boost::date_time::simple_format<wchar_t>::pos_infinity()" location="f290:98" file="f290" line="98" endline="100" inline="1"/>
+  <Method id="_15678" name="neg_infinity" returns="_2780" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE12neg_infinityEv" demangled="boost::date_time::simple_format<wchar_t>::neg_infinity()" location="f290:103" file="f290" line="103" endline="105" inline="1"/>
+  <Method id="_15679" name="month_format" returns="_11254" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE12month_formatEv" demangled="boost::date_time::simple_format<wchar_t>::month_format()" location="f290:108" file="f290" line="108" endline="110" inline="1"/>
+  <Method id="_15680" name="date_order" returns="_9064" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE10date_orderEv" demangled="boost::date_time::simple_format<wchar_t>::date_order()" location="f290:112" file="f290" line="112" endline="114" inline="1"/>
+  <Method id="_15681" name="has_date_sep_chars" returns="_3949" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE18has_date_sep_charsEv" demangled="boost::date_time::simple_format<wchar_t>::has_date_sep_chars()" location="f290:117" file="f290" line="117" endline="119" inline="1"/>
+  <Method id="_15682" name="year_sep_char" returns="_2786" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE13year_sep_charEv" demangled="boost::date_time::simple_format<wchar_t>::year_sep_char()" location="f290:122" file="f290" line="122" endline="124" inline="1"/>
+  <Method id="_15683" name="month_sep_char" returns="_2786" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE14month_sep_charEv" demangled="boost::date_time::simple_format<wchar_t>::month_sep_char()" location="f290:127" file="f290" line="127" endline="129" inline="1"/>
+  <Method id="_15684" name="day_sep_char" returns="_2786" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE12day_sep_charEv" demangled="boost::date_time::simple_format<wchar_t>::day_sep_char()" location="f290:132" file="f290" line="132" endline="134" inline="1"/>
+  <Method id="_15685" name="hour_sep_char" returns="_2786" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE13hour_sep_charEv" demangled="boost::date_time::simple_format<wchar_t>::hour_sep_char()" location="f290:137" file="f290" line="137" endline="139" inline="1"/>
+  <Method id="_15686" name="minute_sep_char" returns="_2786" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE15minute_sep_charEv" demangled="boost::date_time::simple_format<wchar_t>::minute_sep_char()" location="f290:142" file="f290" line="142" endline="144" inline="1"/>
+  <Method id="_15687" name="second_sep_char" returns="_2786" static="1" context="_11229" access="public" mangled="_ZN5boost9date_time13simple_formatIwE15second_sep_charEv" demangled="boost::date_time::simple_format<wchar_t>::second_sep_char()" location="f290:147" file="f290" line="147" endline="149" inline="1"/>
+  <Typedef id="_15688" name="string_type" type="_2506" context="_11230" access="public" location="f291:103" file="f291" line="103"/>
+  <Constructor id="_15689" name="date_formatter" artificial="1" throw="" context="_11230" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_10iso_formatIwEEwEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<wchar_t>, wchar_t>::date_formatter(boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<wchar_t>, wchar_t> const&)" loca [...]
+    <Argument name="_ctor_arg" type="_17786" location="f291:101" file="f291" line="101"/>
+  </Constructor>
+  <Constructor id="_15690" name="date_formatter" explicit="1" artificial="1" throw="" context="_11230" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_10iso_formatIwEEwEC1Ev *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<wchar_t>, wchar_t>::date_formatter()" location="f291:101" file="f291" line="101" inline="1"/>
+  <Method id="_15691" name="date_to_string" returns="_2506" static="1" context="_11230" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_10iso_formatIwEEwE14date_to_stringES3_" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<wchar_t>, wchar_t>::date_to_string(boost::gregorian::date)" location="f291:106" file="f291" line="106" endline="118" inline="1">
+    <Argument name="d" type="_9061" location="f291:106" file="f291" line="106"/>
+  </Method>
+  <Typedef id="_15692" name="string_type" type="_2506" context="_11231" access="public" location="f291:103" file="f291" line="103"/>
+  <Constructor id="_15693" name="date_formatter" artificial="1" throw="" context="_11231" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_19iso_extended_formatIwEEwEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<wchar_t>, wchar_t>::date_formatter(boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<wchar_t>, wc [...]
+    <Argument name="_ctor_arg" type="_17787" location="f291:101" file="f291" line="101"/>
+  </Constructor>
+  <Constructor id="_15694" name="date_formatter" explicit="1" artificial="1" throw="" context="_11231" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_19iso_extended_formatIwEEwEC1Ev *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<wchar_t>, wchar_t>::date_formatter()" location="f291:101" file="f291" line="101" inline="1"/>
+  <Method id="_15695" name="date_to_string" returns="_2506" static="1" context="_11231" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_19iso_extended_formatIwEEwE14date_to_stringES3_" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<wchar_t>, wchar_t>::date_to_string(boost::gregorian::date)" location="f291:106" file="f291" line="106" endline="118" inline="1">
+    <Argument name="d" type="_9061" location="f291:106" file="f291" line="106"/>
+  </Method>
+  <Typedef id="_15696" name="string_type" type="_2506" context="_11232" access="public" location="f291:103" file="f291" line="103"/>
+  <Constructor id="_15697" name="date_formatter" artificial="1" throw="" context="_11232" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_13simple_formatIwEEwEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<wchar_t>, wchar_t>::date_formatter(boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<wchar_t>, wchar_t> const&am [...]
+    <Argument name="_ctor_arg" type="_17788" location="f291:101" file="f291" line="101"/>
+  </Constructor>
+  <Constructor id="_15698" name="date_formatter" explicit="1" artificial="1" throw="" context="_11232" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_13simple_formatIwEEwEC1Ev *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<wchar_t>, wchar_t>::date_formatter()" location="f291:101" file="f291" line="101" inline="1"/>
+  <Method id="_15699" name="date_to_string" returns="_2506" static="1" context="_11232" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_13simple_formatIwEEwE14date_to_stringES3_" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<wchar_t>, wchar_t>::date_to_string(boost::gregorian::date)" location="f291:106" file="f291" line="106" endline="118" inline="1">
+    <Argument name="d" type="_9061" location="f291:106" file="f291" line="106"/>
+  </Method>
+  <Typedef id="_15700" name="string_type" type="_2508" context="_11233" access="public" location="f291:103" file="f291" line="103"/>
+  <Constructor id="_15701" name="date_formatter" artificial="1" throw="" context="_11233" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_10iso_formatIcEEcEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<char>, char>::date_formatter(boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<char>, char> const&)" location="f291:1 [...]
+    <Argument name="_ctor_arg" type="_17789" location="f291:101" file="f291" line="101"/>
+  </Constructor>
+  <Constructor id="_15702" name="date_formatter" explicit="1" artificial="1" throw="" context="_11233" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_10iso_formatIcEEcEC1Ev *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<char>, char>::date_formatter()" location="f291:101" file="f291" line="101" inline="1"/>
+  <Method id="_15703" name="date_to_string" returns="_2508" static="1" context="_11233" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_10iso_formatIcEEcE14date_to_stringES3_" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_format<char>, char>::date_to_string(boost::gregorian::date)" location="f291:106" file="f291" line="106" endline="118" inline="1">
+    <Argument name="d" type="_9061" location="f291:106" file="f291" line="106"/>
+  </Method>
+  <Typedef id="_15704" name="string_type" type="_2508" context="_11234" access="public" location="f291:103" file="f291" line="103"/>
+  <Constructor id="_15705" name="date_formatter" artificial="1" throw="" context="_11234" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_19iso_extended_formatIcEEcEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<char>, char>::date_formatter(boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<char>, char> co [...]
+    <Argument name="_ctor_arg" type="_17790" location="f291:101" file="f291" line="101"/>
+  </Constructor>
+  <Constructor id="_15706" name="date_formatter" explicit="1" artificial="1" throw="" context="_11234" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_19iso_extended_formatIcEEcEC1Ev *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<char>, char>::date_formatter()" location="f291:101" file="f291" line="101" inline="1"/>
+  <Method id="_15707" name="date_to_string" returns="_2508" static="1" context="_11234" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_19iso_extended_formatIcEEcE14date_to_stringES3_" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::iso_extended_format<char>, char>::date_to_string(boost::gregorian::date)" location="f291:106" file="f291" line="106" endline="118" inline="1">
+    <Argument name="d" type="_9061" location="f291:106" file="f291" line="106"/>
+  </Method>
+  <Typedef id="_15708" name="string_type" type="_2508" context="_11235" access="public" location="f291:103" file="f291" line="103"/>
+  <Constructor id="_15709" name="date_formatter" artificial="1" throw="" context="_11235" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_13simple_formatIcEEcEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<char>, char>::date_formatter(boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<char>, char> const&)" locatio [...]
+    <Argument name="_ctor_arg" type="_17791" location="f291:101" file="f291" line="101"/>
+  </Constructor>
+  <Constructor id="_15710" name="date_formatter" explicit="1" artificial="1" throw="" context="_11235" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_13simple_formatIcEEcEC1Ev *INTERNAL* " demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<char>, char>::date_formatter()" location="f291:101" file="f291" line="101" inline="1"/>
+  <Method id="_15711" name="date_to_string" returns="_2508" static="1" context="_11235" access="public" mangled="_ZN5boost9date_time14date_formatterINS_9gregorian4dateENS0_13simple_formatIcEEcE14date_to_stringES3_" demangled="boost::date_time::date_formatter<boost::gregorian::date, boost::date_time::simple_format<char>, char>::date_to_string(boost::gregorian::date)" location="f291:106" file="f291" line="106" endline="118" inline="1">
+    <Argument name="d" type="_9061" location="f291:106" file="f291" line="106"/>
+  </Method>
+  <Constructor id="_15712" name="ymd_formatter" artificial="1" throw="" context="_11236" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_19iso_extended_formatIwEEwEC1ERKSA_ *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_extende [...]
+    <Argument name="_ctor_arg" type="_17792" location="f291:67" file="f291" line="67"/>
+  </Constructor>
+  <Constructor id="_15713" name="ymd_formatter" explicit="1" artificial="1" throw="" context="_11236" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_19iso_extended_formatIwEEwEC1Ev *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::is [...]
+  <Method id="_15714" name="ymd_to_string" returns="_2506" static="1" context="_11236" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_19iso_extended_formatIwEEwE13ymd_to_stringES7_" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_extended_f [...]
+    <Argument name="ymd" type="_10759" location="f291:79" file="f291" line="79"/>
+  </Method>
+  <Constructor id="_15715" name="ymd_formatter" artificial="1" throw="" context="_11237" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_10iso_formatIwEEwEC1ERKSA_ *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_format<wchar_ [...]
+    <Argument name="_ctor_arg" type="_17793" location="f291:67" file="f291" line="67"/>
+  </Constructor>
+  <Constructor id="_15716" name="ymd_formatter" explicit="1" artificial="1" throw="" context="_11237" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_10iso_formatIwEEwEC1Ev *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_format& [...]
+  <Method id="_15717" name="ymd_to_string" returns="_2506" static="1" context="_11237" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_10iso_formatIwEEwE13ymd_to_stringES7_" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_format<wchar_t&g [...]
+    <Argument name="ymd" type="_10759" location="f291:79" file="f291" line="79"/>
+  </Method>
+  <Constructor id="_15718" name="ymd_formatter" artificial="1" throw="" context="_11238" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_13simple_formatIwEEwEC1ERKSA_ *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::simple_format< [...]
+    <Argument name="_ctor_arg" type="_17794" location="f291:67" file="f291" line="67"/>
+  </Constructor>
+  <Constructor id="_15719" name="ymd_formatter" explicit="1" artificial="1" throw="" context="_11238" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_13simple_formatIwEEwEC1Ev *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::simple_f [...]
+  <Method id="_15720" name="ymd_to_string" returns="_2506" static="1" context="_11238" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_13simple_formatIwEEwE13ymd_to_stringES7_" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::simple_format<wch [...]
+    <Argument name="ymd" type="_10759" location="f291:79" file="f291" line="79"/>
+  </Method>
+  <Constructor id="_15721" name="ymd_formatter" artificial="1" throw="" context="_11239" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_19iso_extended_formatIcEEcEC1ERKSA_ *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_extende [...]
+    <Argument name="_ctor_arg" type="_17795" location="f291:67" file="f291" line="67"/>
+  </Constructor>
+  <Constructor id="_15722" name="ymd_formatter" explicit="1" artificial="1" throw="" context="_11239" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_19iso_extended_formatIcEEcEC1Ev *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::is [...]
+  <Method id="_15723" name="ymd_to_string" returns="_2508" static="1" context="_11239" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_19iso_extended_formatIcEEcE13ymd_to_stringES7_" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_extended_f [...]
+    <Argument name="ymd" type="_10759" location="f291:79" file="f291" line="79"/>
+  </Method>
+  <Constructor id="_15724" name="ymd_formatter" artificial="1" throw="" context="_11240" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_10iso_formatIcEEcEC1ERKSA_ *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_format<char&g [...]
+    <Argument name="_ctor_arg" type="_17796" location="f291:67" file="f291" line="67"/>
+  </Constructor>
+  <Constructor id="_15725" name="ymd_formatter" explicit="1" artificial="1" throw="" context="_11240" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_10iso_formatIcEEcEC1Ev *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_format& [...]
+  <Method id="_15726" name="ymd_to_string" returns="_2508" static="1" context="_11240" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_10iso_formatIcEEcE13ymd_to_stringES7_" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::iso_format<char>, [...]
+    <Argument name="ymd" type="_10759" location="f291:79" file="f291" line="79"/>
+  </Method>
+  <Constructor id="_15727" name="ymd_formatter" artificial="1" throw="" context="_11241" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_13simple_formatIcEEcEC1ERKSA_ *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::simple_format< [...]
+    <Argument name="_ctor_arg" type="_17797" location="f291:67" file="f291" line="67"/>
+  </Constructor>
+  <Constructor id="_15728" name="ymd_formatter" explicit="1" artificial="1" throw="" context="_11241" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_13simple_formatIcEEcEC1Ev *INTERNAL* " demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::simple_f [...]
+  <Method id="_15729" name="ymd_to_string" returns="_2508" static="1" context="_11241" access="public" mangled="_ZN5boost9date_time13ymd_formatterINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEENS0_13simple_formatIcEEcE13ymd_to_stringES7_" demangled="boost::date_time::ymd_formatter<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, boost::date_time::simple_format<cha [...]
+    <Argument name="ymd" type="_10759" location="f291:79" file="f291" line="79"/>
+  </Method>
+  <Typedef id="_15730" name="ostream_type" type="_2443" context="_11242" access="private" location="f291:30" file="f291" line="30"/>
+  <Constructor id="_15731" name="month_formatter" artificial="1" throw="" context="_11242" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_19iso_extended_formatIwEEwEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<wchar_t>, wchar_t>::month_formatter(boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_f [...]
+    <Argument name="_ctor_arg" type="_17798" location="f291:29" file="f291" line="29"/>
+  </Constructor>
+  <Constructor id="_15732" name="month_formatter" explicit="1" artificial="1" throw="" context="_11242" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_19iso_extended_formatIwEEwEC1Ev *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<wchar_t>, wchar_t>::month_formatter()" location="f291:29" file="f291" line="29" inline="1"/>
+  <Method id="_15733" name="format_month" returns="_3923" static="1" context="_11242" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_19iso_extended_formatIwEEwE12format_monthERKS3_RSt13basic_ostreamIwSt11char_traitsIwEE" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<wchar_t>, wchar_t>::format_month(boost::gregorian::greg_month const&, std::basic_ostream<wchar [...]
+    <Argument name="month" type="_13803" location="f291:39" file="f291" line="39"/>
+    <Argument name="os" type="_3923" location="f291:39" file="f291" line="39"/>
+  </Method>
+  <Typedef id="_15734" name="ostream_type" type="_2443" context="_11243" access="private" location="f291:30" file="f291" line="30"/>
+  <Constructor id="_15735" name="month_formatter" artificial="1" throw="" context="_11243" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_10iso_formatIwEEwEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<wchar_t>, wchar_t>::month_formatter(boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<wchar_t>, wchar [...]
+    <Argument name="_ctor_arg" type="_17799" location="f291:29" file="f291" line="29"/>
+  </Constructor>
+  <Constructor id="_15736" name="month_formatter" explicit="1" artificial="1" throw="" context="_11243" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_10iso_formatIwEEwEC1Ev *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<wchar_t>, wchar_t>::month_formatter()" location="f291:29" file="f291" line="29" inline="1"/>
+  <Method id="_15737" name="format_month" returns="_3923" static="1" context="_11243" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_10iso_formatIwEEwE12format_monthERKS3_RSt13basic_ostreamIwSt11char_traitsIwEE" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<wchar_t>, wchar_t>::format_month(boost::gregorian::greg_month const&, std::basic_ostream<wchar_t, std::char_trai [...]
+    <Argument name="month" type="_13803" location="f291:39" file="f291" line="39"/>
+    <Argument name="os" type="_3923" location="f291:39" file="f291" line="39"/>
+  </Method>
+  <Typedef id="_15738" name="ostream_type" type="_2443" context="_11244" access="private" location="f291:30" file="f291" line="30"/>
+  <Constructor id="_15739" name="month_formatter" artificial="1" throw="" context="_11244" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_13simple_formatIwEEwEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<wchar_t>, wchar_t>::month_formatter(boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<wchar_t&g [...]
+    <Argument name="_ctor_arg" type="_17800" location="f291:29" file="f291" line="29"/>
+  </Constructor>
+  <Constructor id="_15740" name="month_formatter" explicit="1" artificial="1" throw="" context="_11244" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_13simple_formatIwEEwEC1Ev *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<wchar_t>, wchar_t>::month_formatter()" location="f291:29" file="f291" line="29" inline="1"/>
+  <Method id="_15741" name="format_month" returns="_3923" static="1" context="_11244" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_13simple_formatIwEEwE12format_monthERKS3_RSt13basic_ostreamIwSt11char_traitsIwEE" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<wchar_t>, wchar_t>::format_month(boost::gregorian::greg_month const&, std::basic_ostream<wchar_t, std::cha [...]
+    <Argument name="month" type="_13803" location="f291:39" file="f291" line="39"/>
+    <Argument name="os" type="_3923" location="f291:39" file="f291" line="39"/>
+  </Method>
+  <Typedef id="_15742" name="ostream_type" type="_2469" context="_11245" access="private" location="f291:30" file="f291" line="30"/>
+  <Constructor id="_15743" name="month_formatter" artificial="1" throw="" context="_11245" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_19iso_extended_formatIcEEcEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<char>, char>::month_formatter(boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format& [...]
+    <Argument name="_ctor_arg" type="_17801" location="f291:29" file="f291" line="29"/>
+  </Constructor>
+  <Constructor id="_15744" name="month_formatter" explicit="1" artificial="1" throw="" context="_11245" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_19iso_extended_formatIcEEcEC1Ev *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<char>, char>::month_formatter()" location="f291:29" file="f291" line="29" inline="1"/>
+  <Method id="_15745" name="format_month" returns="_3924" static="1" context="_11245" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_19iso_extended_formatIcEEcE12format_monthERKS3_RSo" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<char>, char>::format_month(boost::gregorian::greg_month const&, std::ostream&)" location="f291:39" file="f291" line="39" endline= [...]
+    <Argument name="month" type="_13803" location="f291:39" file="f291" line="39"/>
+    <Argument name="os" type="_3924" location="f291:39" file="f291" line="39"/>
+  </Method>
+  <Typedef id="_15746" name="ostream_type" type="_2469" context="_11246" access="private" location="f291:30" file="f291" line="30"/>
+  <Constructor id="_15747" name="month_formatter" artificial="1" throw="" context="_11246" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_10iso_formatIcEEcEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<char>, char>::month_formatter(boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<char>, char> const [...]
+    <Argument name="_ctor_arg" type="_17802" location="f291:29" file="f291" line="29"/>
+  </Constructor>
+  <Constructor id="_15748" name="month_formatter" explicit="1" artificial="1" throw="" context="_11246" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_10iso_formatIcEEcEC1Ev *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<char>, char>::month_formatter()" location="f291:29" file="f291" line="29" inline="1"/>
+  <Method id="_15749" name="format_month" returns="_3924" static="1" context="_11246" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_10iso_formatIcEEcE12format_monthERKS3_RSo" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_format<char>, char>::format_month(boost::gregorian::greg_month const&, std::ostream&)" location="f291:39" file="f291" line="39" endline="59" inline="1">
+    <Argument name="month" type="_13803" location="f291:39" file="f291" line="39"/>
+    <Argument name="os" type="_3924" location="f291:39" file="f291" line="39"/>
+  </Method>
+  <Typedef id="_15750" name="ostream_type" type="_2469" context="_11247" access="private" location="f291:30" file="f291" line="30"/>
+  <Constructor id="_15751" name="month_formatter" artificial="1" throw="" context="_11247" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_13simple_formatIcEEcEC1ERKS6_ *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<char>, char>::month_formatter(boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<char>, char& [...]
+    <Argument name="_ctor_arg" type="_17803" location="f291:29" file="f291" line="29"/>
+  </Constructor>
+  <Constructor id="_15752" name="month_formatter" explicit="1" artificial="1" throw="" context="_11247" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_13simple_formatIcEEcEC1Ev *INTERNAL* " demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<char>, char>::month_formatter()" location="f291:29" file="f291" line="29" inline="1"/>
+  <Method id="_15753" name="format_month" returns="_3924" static="1" context="_11247" access="public" mangled="_ZN5boost9date_time15month_formatterINS_9gregorian10greg_monthENS0_13simple_formatIcEEcE12format_monthERKS3_RSo" demangled="boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::simple_format<char>, char>::format_month(boost::gregorian::greg_month const&, std::ostream&)" location="f291:39" file="f291" line="39" endline="59" inline="1">
+    <Argument name="month" type="_13803" location="f291:39" file="f291" line="39"/>
+    <Argument name="os" type="_3924" location="f291:39" file="f291" line="39"/>
+  </Method>
+  <Constructor id="_15754" name="iso_extended_format" artificial="1" throw="" context="_11248" access="public" mangled="_ZN5boost9date_time19iso_extended_formatIwEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::iso_extended_format<wchar_t>::iso_extended_format(boost::date_time::iso_extended_format<wchar_t> const&)" location="f292:288" file="f292" line="288" inline="1">
+    <Argument name="_ctor_arg" type="_17804" location="f292:288" file="f292" line="288"/>
+  </Constructor>
+  <Constructor id="_15755" name="iso_extended_format" explicit="1" artificial="1" throw="" context="_11248" access="public" mangled="_ZN5boost9date_time19iso_extended_formatIwEC1Ev *INTERNAL* " demangled="boost::date_time::iso_extended_format<wchar_t>::iso_extended_format()" location="f292:288" file="f292" line="288" inline="1"/>
+  <Method id="_15756" name="has_date_sep_chars" returns="_3949" static="1" context="_11248" access="public" mangled="_ZN5boost9date_time19iso_extended_formatIwE18has_date_sep_charsEv" demangled="boost::date_time::iso_extended_format<wchar_t>::has_date_sep_chars()" location="f292:292" file="f292" line="292" endline="293" inline="1"/>
+  <Constructor id="_15757" name="iso_extended_format" artificial="1" throw="" context="_11249" access="public" mangled="_ZN5boost9date_time19iso_extended_formatIcEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::iso_extended_format<char>::iso_extended_format(boost::date_time::iso_extended_format<char> const&)" location="f292:288" file="f292" line="288" inline="1">
+    <Argument name="_ctor_arg" type="_17805" location="f292:288" file="f292" line="288"/>
+  </Constructor>
+  <Constructor id="_15758" name="iso_extended_format" explicit="1" artificial="1" throw="" context="_11249" access="public" mangled="_ZN5boost9date_time19iso_extended_formatIcEC1Ev *INTERNAL* " demangled="boost::date_time::iso_extended_format<char>::iso_extended_format()" location="f292:288" file="f292" line="288" inline="1"/>
+  <Method id="_15759" name="has_date_sep_chars" returns="_3949" static="1" context="_11249" access="public" mangled="_ZN5boost9date_time19iso_extended_formatIcE18has_date_sep_charsEv" demangled="boost::date_time::iso_extended_format<char>::has_date_sep_chars()" location="f292:292" file="f292" line="292" endline="293" inline="1"/>
+  <Constructor id="_15760" name="iso_format" artificial="1" throw="" context="_11250" access="public" mangled="_ZN5boost9date_time10iso_formatIwEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::iso_format<wchar_t>::iso_format(boost::date_time::iso_format<wchar_t> const&)" location="f292:277" file="f292" line="277" inline="1">
+    <Argument name="_ctor_arg" type="_17806" location="f292:277" file="f292" line="277"/>
+  </Constructor>
+  <Constructor id="_15761" name="iso_format" explicit="1" artificial="1" throw="" context="_11250" access="public" mangled="_ZN5boost9date_time10iso_formatIwEC1Ev *INTERNAL* " demangled="boost::date_time::iso_format<wchar_t>::iso_format()" location="f292:277" file="f292" line="277" inline="1"/>
+  <Method id="_15762" name="has_date_sep_chars" returns="_3949" static="1" context="_11250" access="public" mangled="_ZN5boost9date_time10iso_formatIwE18has_date_sep_charsEv" demangled="boost::date_time::iso_format<wchar_t>::has_date_sep_chars()" location="f292:281" file="f292" line="281" endline="282" inline="1"/>
+  <Constructor id="_15763" name="iso_format" artificial="1" throw="" context="_11251" access="public" mangled="_ZN5boost9date_time10iso_formatIcEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::iso_format<char>::iso_format(boost::date_time::iso_format<char> const&)" location="f292:277" file="f292" line="277" inline="1">
+    <Argument name="_ctor_arg" type="_17807" location="f292:277" file="f292" line="277"/>
+  </Constructor>
+  <Constructor id="_15764" name="iso_format" explicit="1" artificial="1" throw="" context="_11251" access="public" mangled="_ZN5boost9date_time10iso_formatIcEC1Ev *INTERNAL* " demangled="boost::date_time::iso_format<char>::iso_format()" location="f292:277" file="f292" line="277" inline="1"/>
+  <Method id="_15765" name="has_date_sep_chars" returns="_3949" static="1" context="_11251" access="public" mangled="_ZN5boost9date_time10iso_formatIcE18has_date_sep_charsEv" demangled="boost::date_time::iso_format<char>::has_date_sep_chars()" location="f292:281" file="f292" line="281" endline="282" inline="1"/>
+  <Constructor id="_15766" name="iso_format_base" artificial="1" throw="" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::iso_format_base<char>::iso_format_base(boost::date_time::iso_format_base<char> const&)" location="f292:19" file="f292" line="19" inline="1">
+    <Argument name="_ctor_arg" type="_17808" location="f292:19" file="f292" line="19"/>
+  </Constructor>
+  <Constructor id="_15767" name="iso_format_base" explicit="1" artificial="1" throw="" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcEC1Ev *INTERNAL* " demangled="boost::date_time::iso_format_base<char>::iso_format_base()" location="f292:19" file="f292" line="19" inline="1"/>
+  <Method id="_15768" name="month_format" returns="_11254" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE12month_formatEv" demangled="boost::date_time::iso_format_base<char>::month_format()" location="f292:23" file="f292" line="23" endline="24" inline="1"/>
+  <Method id="_15769" name="not_a_date" returns="_2749" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE10not_a_dateEv" demangled="boost::date_time::iso_format_base<char>::not_a_date()" location="f292:29" file="f292" line="29" endline="30" inline="1"/>
+  <Method id="_15770" name="pos_infinity" returns="_2749" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE12pos_infinityEv" demangled="boost::date_time::iso_format_base<char>::pos_infinity()" location="f292:34" file="f292" line="34" endline="35" inline="1"/>
+  <Method id="_15771" name="neg_infinity" returns="_2749" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE12neg_infinityEv" demangled="boost::date_time::iso_format_base<char>::neg_infinity()" location="f292:39" file="f292" line="39" endline="40" inline="1"/>
+  <Method id="_15772" name="year_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE13year_sep_charEv" demangled="boost::date_time::iso_format_base<char>::year_sep_char()" location="f292:45" file="f292" line="45" extern="1" inline="1"/>
+  <Method id="_15773" name="month_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE14month_sep_charEv" demangled="boost::date_time::iso_format_base<char>::month_sep_char()" location="f292:50" file="f292" line="50" endline="51" inline="1"/>
+  <Method id="_15774" name="day_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE12day_sep_charEv" demangled="boost::date_time::iso_format_base<char>::day_sep_char()" location="f292:55" file="f292" line="55" endline="56" inline="1"/>
+  <Method id="_15775" name="hour_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE13hour_sep_charEv" demangled="boost::date_time::iso_format_base<char>::hour_sep_char()" location="f292:60" file="f292" line="60" extern="1" inline="1"/>
+  <Method id="_15776" name="minute_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE15minute_sep_charEv" demangled="boost::date_time::iso_format_base<char>::minute_sep_char()" location="f292:65" file="f292" line="65" extern="1" inline="1"/>
+  <Method id="_15777" name="second_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE15second_sep_charEv" demangled="boost::date_time::iso_format_base<char>::second_sep_char()" location="f292:70" file="f292" line="70" extern="1" inline="1"/>
+  <Method id="_15778" name="period_start_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE17period_start_charEv" demangled="boost::date_time::iso_format_base<char>::period_start_char()" location="f292:75" file="f292" line="75" extern="1" inline="1"/>
+  <Method id="_15779" name="time_start_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE15time_start_charEv" demangled="boost::date_time::iso_format_base<char>::time_start_char()" location="f292:80" file="f292" line="80" extern="1" inline="1"/>
+  <Method id="_15780" name="week_start_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE15week_start_charEv" demangled="boost::date_time::iso_format_base<char>::week_start_char()" location="f292:86" file="f292" line="86" extern="1" inline="1"/>
+  <Method id="_15781" name="period_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE15period_sep_charEv" demangled="boost::date_time::iso_format_base<char>::period_sep_char()" location="f292:92" file="f292" line="92" extern="1" inline="1"/>
+  <Method id="_15782" name="time_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE13time_sep_charEv" demangled="boost::date_time::iso_format_base<char>::time_sep_char()" location="f292:97" file="f292" line="97" extern="1" inline="1"/>
+  <Method id="_15783" name="fractional_time_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE24fractional_time_sep_charEv" demangled="boost::date_time::iso_format_base<char>::fractional_time_sep_char()" location="f292:102" file="f292" line="102" extern="1" inline="1"/>
+  <Method id="_15784" name="is_component_sep" returns="_3949" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE16is_component_sepEc" demangled="boost::date_time::iso_format_base<char>::is_component_sep(char)" location="f292:107" file="f292" line="107" extern="1" inline="1">
+    <Argument name="sep" type="_2961" location="f292:107" file="f292" line="107"/>
+  </Method>
+  <Method id="_15785" name="is_fractional_time_sep" returns="_3949" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE22is_fractional_time_sepEc" demangled="boost::date_time::iso_format_base<char>::is_fractional_time_sep(char)" location="f292:122" file="f292" line="122" extern="1" inline="1">
+    <Argument name="sep" type="_2961" location="f292:122" file="f292" line="122"/>
+  </Method>
+  <Method id="_15786" name="is_timezone_sep" returns="_3949" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE15is_timezone_sepEc" demangled="boost::date_time::iso_format_base<char>::is_timezone_sep(char)" location="f292:130" file="f292" line="130" extern="1" inline="1">
+    <Argument name="sep" type="_2961" location="f292:130" file="f292" line="130"/>
+  </Method>
+  <Method id="_15787" name="element_sep_char" returns="_2961" static="1" context="_11252" access="public" mangled="_ZN5boost9date_time15iso_format_baseIcE16element_sep_charEv" demangled="boost::date_time::iso_format_base<char>::element_sep_char()" location="f292:138" file="f292" line="138" extern="1" inline="1"/>
+  <Constructor id="_15788" name="iso_format_base" artificial="1" throw="" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::iso_format_base<wchar_t>::iso_format_base(boost::date_time::iso_format_base<wchar_t> const&)" location="f292:148" file="f292" line="148" inline="1">
+    <Argument name="_ctor_arg" type="_17809" location="f292:148" file="f292" line="148"/>
+  </Constructor>
+  <Constructor id="_15789" name="iso_format_base" explicit="1" artificial="1" throw="" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwEC1Ev *INTERNAL* " demangled="boost::date_time::iso_format_base<wchar_t>::iso_format_base()" location="f292:148" file="f292" line="148" inline="1"/>
+  <Method id="_15790" name="month_format" returns="_11254" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE12month_formatEv" demangled="boost::date_time::iso_format_base<wchar_t>::month_format()" location="f292:152" file="f292" line="152" endline="154" inline="1"/>
+  <Method id="_15791" name="not_a_date" returns="_2780" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE10not_a_dateEv" demangled="boost::date_time::iso_format_base<wchar_t>::not_a_date()" location="f292:158" file="f292" line="158" endline="160" inline="1"/>
+  <Method id="_15792" name="pos_infinity" returns="_2780" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE12pos_infinityEv" demangled="boost::date_time::iso_format_base<wchar_t>::pos_infinity()" location="f292:163" file="f292" line="163" endline="165" inline="1"/>
+  <Method id="_15793" name="neg_infinity" returns="_2780" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE12neg_infinityEv" demangled="boost::date_time::iso_format_base<wchar_t>::neg_infinity()" location="f292:168" file="f292" line="168" endline="170" inline="1"/>
+  <Method id="_15794" name="year_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE13year_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::year_sep_char()" location="f292:174" file="f292" line="174" endline="176" inline="1"/>
+  <Method id="_15795" name="month_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE14month_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::month_sep_char()" location="f292:179" file="f292" line="179" endline="181" inline="1"/>
+  <Method id="_15796" name="day_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE12day_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::day_sep_char()" location="f292:184" file="f292" line="184" endline="186" inline="1"/>
+  <Method id="_15797" name="hour_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE13hour_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::hour_sep_char()" location="f292:189" file="f292" line="189" endline="191" inline="1"/>
+  <Method id="_15798" name="minute_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE15minute_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::minute_sep_char()" location="f292:194" file="f292" line="194" endline="196" inline="1"/>
+  <Method id="_15799" name="second_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE15second_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::second_sep_char()" location="f292:199" file="f292" line="199" endline="201" inline="1"/>
+  <Method id="_15800" name="period_start_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE17period_start_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::period_start_char()" location="f292:204" file="f292" line="204" endline="206" inline="1"/>
+  <Method id="_15801" name="time_start_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE15time_start_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::time_start_char()" location="f292:209" file="f292" line="209" endline="211" inline="1"/>
+  <Method id="_15802" name="week_start_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE15week_start_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::week_start_char()" location="f292:215" file="f292" line="215" endline="217" inline="1"/>
+  <Method id="_15803" name="period_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE15period_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::period_sep_char()" location="f292:221" file="f292" line="221" endline="223" inline="1"/>
+  <Method id="_15804" name="time_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE13time_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::time_sep_char()" location="f292:226" file="f292" line="226" endline="228" inline="1"/>
+  <Method id="_15805" name="fractional_time_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE24fractional_time_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::fractional_time_sep_char()" location="f292:231" file="f292" line="231" endline="233" inline="1"/>
+  <Method id="_15806" name="is_component_sep" returns="_3949" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE16is_component_sepEw" demangled="boost::date_time::iso_format_base<wchar_t>::is_component_sep(wchar_t)" location="f292:236" file="f292" line="236" endline="248" inline="1">
+    <Argument name="sep" type="_2786" location="f292:236" file="f292" line="236"/>
+  </Method>
+  <Method id="_15807" name="is_fractional_time_sep" returns="_3949" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE22is_fractional_time_sepEw" demangled="boost::date_time::iso_format_base<wchar_t>::is_fractional_time_sep(wchar_t)" location="f292:251" file="f292" line="251" endline="257" inline="1">
+    <Argument name="sep" type="_2786" location="f292:251" file="f292" line="251"/>
+  </Method>
+  <Method id="_15808" name="is_timezone_sep" returns="_3949" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE15is_timezone_sepEw" demangled="boost::date_time::iso_format_base<wchar_t>::is_timezone_sep(wchar_t)" location="f292:259" file="f292" line="259" endline="265" inline="1">
+    <Argument name="sep" type="_2786" location="f292:259" file="f292" line="259"/>
+  </Method>
+  <Method id="_15809" name="element_sep_char" returns="_2786" static="1" context="_11253" access="public" mangled="_ZN5boost9date_time15iso_format_baseIwE16element_sep_charEv" demangled="boost::date_time::iso_format_base<wchar_t>::element_sep_char()" location="f292:267" file="f292" line="267" endline="269" inline="1"/>
+  <Variable id="_15810" name="first_string" type="_11988c" init="{'f', 'i', 'r', 's', 't'}" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12first_stringE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::first_string" locat [...]
+  <Variable id="_15811" name="second_string" type="_17341c" init="{'s', 'e', 'c', 'o', 'n', 'd'}" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13second_stringE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::se [...]
+  <Variable id="_15812" name="third_string" type="_11988c" init="{'t', 'h', 'i', 'r', 'd'}" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12third_stringE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::third_string" locat [...]
+  <Variable id="_15813" name="fourth_string" type="_17341c" init="{'f', 'o', 'u', 'r', 't', 'h'}" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13fourth_stringE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::fo [...]
+  <Variable id="_15814" name="fifth_string" type="_11988c" init="{'f', 'i', 'f', 't', 'h'}" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12fifth_stringE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::fifth_string" locat [...]
+  <Variable id="_15815" name="last_string" type="_11989c" init="{'l', 'a', 's', 't'}" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE11last_stringE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::last_string" location="f293:247" fil [...]
+  <Variable id="_15816" name="before_string" type="_8289c" init="{'b', 'e', 'f', 'o', 'r', 'e'}" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13before_stringE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::bef [...]
+  <Variable id="_15817" name="after_string" type="_11988c" init="{'a', 'f', 't', 'e', 'r'}" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12after_stringE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::after_string" locat [...]
+  <Variable id="_15818" name="of_string" type="_9946c" init="{'o', 'f'}" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9of_stringE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::of_string" location="f293:259" file="f293" line="259"/>
+  <Field id="_15819" name="phrase_strings" type="_1994" offset="0" context="_11255" access="private" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14phrase_stringsE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::phrase_strings" location="f293:210" file="f293" line="210"/>
+  <Typedef id="_15820" name="partial_date_type" type="_10738" context="_11255" access="public" location="f293:40" file="f293" line="40"/>
+  <Typedef id="_15821" name="nth_kday_type" type="_10735" context="_11255" access="public" location="f293:41" file="f293" line="41"/>
+  <Typedef id="_15822" name="first_kday_type" type="_10732" context="_11255" access="public" location="f293:42" file="f293" line="42"/>
+  <Typedef id="_15823" name="last_kday_type" type="_10729" context="_11255" access="public" location="f293:43" file="f293" line="43"/>
+  <Typedef id="_15824" name="kday_after_type" type="_10726" context="_11255" access="public" location="f293:44" file="f293" line="44"/>
+  <Typedef id="_15825" name="kday_before_type" type="_10723" context="_11255" access="public" location="f293:45" file="f293" line="45"/>
+  <Typedef id="_15826" name="char_type" type="_2961" context="_11255" access="public" location="f293:47" file="f293" line="47"/>
+  <Typedef id="_15827" name="string_type" type="_2508" context="_11255" access="public" location="f293:48" file="f293" line="48"/>
+  <Typedef id="_15828" name="collection_type" type="_1994" context="_11255" access="public" location="f293:49" file="f293" line="49"/>
+  <Enumeration id="_15829" name="phrase_elements" context="_11255" access="public" location="f293:60" file="f293" line="60" artificial="1" size="32" align="32">
+    <EnumValue name="first" init="0"/>
+    <EnumValue name="second" init="1"/>
+    <EnumValue name="third" init="2"/>
+    <EnumValue name="fourth" init="3"/>
+    <EnumValue name="fifth" init="4"/>
+    <EnumValue name="last" init="5"/>
+    <EnumValue name="before" init="6"/>
+    <EnumValue name="after" init="7"/>
+    <EnumValue name="of" init="8"/>
+    <EnumValue name="number_of_phrase_elements" init="9"/>
+  </Enumeration>
+  <Constructor id="_15830" name="date_generator_formatter" artificial="1" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKS8_ *INTERNAL* " demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::date_generator_formatter(boost::date_time::date_generator_formatter<boost::greg [...]
+    <Argument name="_ctor_arg" type="_17813" location="f293:38" file="f293" line="38"/>
+  </Constructor>
+  <Destructor id="_15831" name="date_generator_formatter" artificial="1" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev *INTERNAL* " demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~date_generator_formatter()" location="f1:87" file="f1" line="87" endline="87" inline="1">
+  </Destructor>
+  <Constructor id="_15832" name="date_generator_formatter" explicit="1" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ev *INTERNAL* " demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::date_generator_formatter()" location="f293:65" file="f293" line="65" endline="74" inline="1"/>
+  <Constructor id="_15833" name="date_generator_formatter" explicit="1" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsSA_SA_SA_SA_SA_SA_SA_SA_ *INTERNAL* " demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::date_generator_formatter(std::string const&, std::string  [...]
+    <Argument name="first" type="_4948" location="f293:87" file="f293" line="87"/>
+    <Argument name="second" type="_4948" location="f293:87" file="f293" line="87"/>
+    <Argument name="third" type="_4948" location="f293:87" file="f293" line="87"/>
+    <Argument name="fourth" type="_4948" location="f293:87" file="f293" line="87"/>
+    <Argument name="fifth" type="_4948" location="f293:87" file="f293" line="87"/>
+    <Argument name="last" type="_4948" location="f293:87" file="f293" line="87"/>
+    <Argument name="before" type="_4948" location="f293:87" file="f293" line="87"/>
+    <Argument name="after" type="_4948" location="f293:87" file="f293" line="87"/>
+    <Argument name="of" type="_4948" location="f293:87" file="f293" line="87"/>
+  </Constructor>
+  <Method id="_15834" name="elements" returns="_1194" context="_11255" access="public" mangled="_ZN5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8elementsERKSt6vectorISsSaISsEENS8_15phrase_elementsE" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::elements(std::vector<std::string, std::allocator<std::string&gt [...]
+    <Argument name="new_strings" type="_11297" location="f293:114" file="f293" line="114"/>
+    <Argument name="beg_pos" type="_15829" location="f293:114" file="f293" line="114" default="boost::date_time::date_generator_formatter<date_type, CharT, OutItrT>::first"/>
+  </Method>
+  <Method id="_15835" name="put_string" returns="_2478" const="1" context="_11255" access="private" mangled="_ZNK5boost9date_time24date_generator_formatterINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE10put_stringES7_RKSs" demangled="boost::date_time::date_generator_formatter<boost::gregorian::date, char, std::ostreambuf_iterator<char, std::char_traits<char> > >::put_string(std::ostreambuf_iterator<char, std::char_traits<char> >, std::str [...]
+    <Argument name="next" type="_2478" location="f293:214" file="f293" line="214"/>
+    <Argument name="str" type="_4948" location="f293:214" file="f293" line="214"/>
+  </Method>
+  <Constructor id="_15836" name="c_time" artificial="1" throw="" context="_11257" access="public" mangled="_ZN5boost9date_time6c_timeC1ERKS1_ *INTERNAL* " demangled="boost::date_time::c_time::c_time(boost::date_time::c_time const&)" location="f294:44" file="f294" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_17814" location="f294:44" file="f294" line="44"/>
+  </Constructor>
+  <Constructor id="_15837" name="c_time" explicit="1" artificial="1" throw="" context="_11257" access="public" mangled="_ZN5boost9date_time6c_timeC1Ev *INTERNAL* " demangled="boost::date_time::c_time::c_time()" location="f294:44" file="f294" line="44" inline="1"/>
+  <Method id="_15838" name="localtime" returns="_2892" static="1" context="_11257" access="public" mangled="_ZN5boost9date_time6c_time9localtimeEPKlP2tm" demangled="boost::date_time::c_time::localtime(long const*, tm*)" location="f294:50" file="f294" line="50" endline="54" inline="1">
+    <Argument name="t" type="_2904" location="f294:50" file="f294" line="50"/>
+    <Argument name="result" type="_2892" location="f294:50" file="f294" line="50"/>
+  </Method>
+  <Method id="_15839" name="gmtime" returns="_2892" static="1" context="_11257" access="public" mangled="_ZN5boost9date_time6c_time6gmtimeEPKlP2tm" demangled="boost::date_time::c_time::gmtime(long const*, tm*)" location="f294:58" file="f294" line="58" endline="62" inline="1">
+    <Argument name="t" type="_2904" location="f294:58" file="f294" line="58"/>
+    <Argument name="result" type="_2892" location="f294:58" file="f294" line="58"/>
+  </Method>
+  <Field id="_15840" name="f_" type="_503" offset="0" context="_11265" access="private" mangled="_ZN5boost9date_time13month_functorINS_9gregorian4dateEE2f_E" demangled="boost::date_time::month_functor<boost::gregorian::date>::f_" location="f295:123" file="f295" line="123"/>
+  <Field id="_15841" name="origDayOfMonth_" type="_1202" offset="32" context="_11265" access="private" mangled="_ZN5boost9date_time13month_functorINS_9gregorian4dateEE15origDayOfMonth_E" demangled="boost::date_time::month_functor<boost::gregorian::date>::origDayOfMonth_" mutable="1" location="f295:124" file="f295" line="124"/>
+  <Typedef id="_15842" name="duration_type" type="_10752" context="_11265" access="public" location="f295:57" file="f295" line="57"/>
+  <Typedef id="_15843" name="cal_type" type="_10755" context="_11265" access="public" location="f295:58" file="f295" line="58"/>
+  <Typedef id="_15844" name="ymd_type" type="_10759" context="_11265" access="public" location="f295:59" file="f295" line="59"/>
+  <Typedef id="_15845" name="day_type" type="_9063" context="_11265" access="public" location="f295:60" file="f295" line="60"/>
+  <Constructor id="_15846" name="month_functor" artificial="1" throw="" context="_11265" access="public" mangled="_ZN5boost9date_time13month_functorINS_9gregorian4dateEEC1ERKS4_ *INTERNAL* " demangled="boost::date_time::month_functor<boost::gregorian::date>::month_functor(boost::date_time::month_functor<boost::gregorian::date> const&)" location="f295:55" file="f295" line="55" inline="1">
+    <Argument name="_ctor_arg" type="_17815" location="f295:55" file="f295" line="55"/>
+  </Constructor>
+  <Constructor id="_15847" name="month_functor" context="_11265" access="public" mangled="_ZN5boost9date_time13month_functorINS_9gregorian4dateEEC1Ei *INTERNAL* " demangled="boost::date_time::month_functor<boost::gregorian::date>::month_functor(int)" location="f295:62" file="f295" line="62" endline="62" inline="1">
+    <Argument name="f" type="_503" location="f295:62" file="f295" line="62"/>
+  </Constructor>
+  <Method id="_15848" name="get_offset" returns="_10752" const="1" context="_11265" access="public" mangled="_ZNK5boost9date_time13month_functorINS_9gregorian4dateEE10get_offsetERKS3_" demangled="boost::date_time::month_functor<boost::gregorian::date>::get_offset(boost::gregorian::date const&) const" location="f295:64" file="f295" line="64" endline="91" inline="1">
+    <Argument name="d" type="_10010" location="f295:64" file="f295" line="64"/>
+  </Method>
+  <Method id="_15849" name="get_neg_offset" returns="_10752" const="1" context="_11265" access="public" mangled="_ZNK5boost9date_time13month_functorINS_9gregorian4dateEE14get_neg_offsetERKS3_" demangled="boost::date_time::month_functor<boost::gregorian::date>::get_neg_offset(boost::gregorian::date const&) const" location="f295:95" file="f295" line="95" endline="120" inline="1">
+    <Argument name="d" type="_10010" location="f295:95" file="f295" line="95"/>
+  </Method>
+  <Field id="_15850" name="value_" type="_1202" offset="0" context="_11267" access="private" mangled="_ZN5boost9date_time13wrapping_int2IsLs1ELs12EE6value_E" demangled="boost::date_time::wrapping_int2<short, 1, 12>::value_" location="f296:138" file="f296" line="138"/>
+  <Typedef id="_15851" name="int_type" type="_1202" context="_11267" access="public" location="f296:94" file="f296" line="94"/>
+  <Constructor id="_15852" name="wrapping_int2" artificial="1" throw="" context="_11267" access="public" mangled="_ZN5boost9date_time13wrapping_int2IsLs1ELs12EEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::wrapping_int2<short, 1, 12>::wrapping_int2(boost::date_time::wrapping_int2<short, 1, 12> const&)" location="f296:92" file="f296" line="92" inline="1">
+    <Argument name="_ctor_arg" type="_17816" location="f296:92" file="f296" line="92"/>
+  </Constructor>
+  <Method id="_15853" name="wrap_value" returns="_1202" static="1" context="_11267" access="public" mangled="_ZN5boost9date_time13wrapping_int2IsLs1ELs12EE10wrap_valueEv" demangled="boost::date_time::wrapping_int2<short, 1, 12>::wrap_value()" location="f296:95" file="f296" line="95" extern="1" inline="1"/>
+  <Method id="_15854" name="min_value" returns="_1202" static="1" context="_11267" access="public" mangled="_ZN5boost9date_time13wrapping_int2IsLs1ELs12EE9min_valueEv" demangled="boost::date_time::wrapping_int2<short, 1, 12>::min_value()" location="f296:96" file="f296" line="96" extern="1" inline="1"/>
+  <Constructor id="_15855" name="wrapping_int2" context="_11267" access="public" mangled="_ZN5boost9date_time13wrapping_int2IsLs1ELs12EEC1Es *INTERNAL* " demangled="boost::date_time::wrapping_int2<short, 1, 12>::wrapping_int2(short)" location="f296:99" file="f296" line="99" endline="106" inline="1">
+    <Argument name="v" type="_1202" location="f296:99" file="f296" line="99"/>
+  </Constructor>
+  <Method id="_15856" name="as_int" returns="_1202" const="1" context="_11267" access="public" mangled="_ZNK5boost9date_time13wrapping_int2IsLs1ELs12EE6as_intEv" demangled="boost::date_time::wrapping_int2<short, 1, 12>::as_int() const" location="f296:110" file="f296" line="110" endline="110" inline="1"/>
+  <Converter id="_15857" name="operator 11" returns="_1202" const="1" context="_11267" access="public" mangled="_ZNK5boost9date_time13wrapping_int2IsLs1ELs12EEcvsEv" demangled="boost::date_time::wrapping_int2<short, 1, 12>::operator short() const" location="f296:111" file="f296" line="111" extern="1" inline="1"/>
+  <Method id="_15858" name="add" returns="_1202" context="_11267" access="public" mangled="_ZN5boost9date_time13wrapping_int2IsLs1ELs12EE3addEs" demangled="boost::date_time::wrapping_int2<short, 1, 12>::add(short)" location="f296:118" file="f296" line="118" endline="122" inline="1">
+    <Argument name="v" type="_1202" location="f296:118" file="f296" line="118"/>
+  </Method>
+  <Method id="_15859" name="subtract" returns="_1202" context="_11267" access="public" mangled="_ZN5boost9date_time13wrapping_int2IsLs1ELs12EE8subtractEs" demangled="boost::date_time::wrapping_int2<short, 1, 12>::subtract(short)" location="f296:130" file="f296" line="130" endline="134" inline="1">
+    <Argument name="v" type="_1202" location="f296:130" file="f296" line="130"/>
+  </Method>
+  <Method id="_15860" name="calculate_wrap" returns="_1202" context="_11267" access="private" mangled="_ZN5boost9date_time13wrapping_int2IsLs1ELs12EE14calculate_wrapEs" demangled="boost::date_time::wrapping_int2<short, 1, 12>::calculate_wrap(short)" location="f296:141" file="f296" line="141" endline="152" inline="1">
+    <Argument name="wrap" type="_1202" location="f296:141" file="f296" line="141"/>
+  </Method>
+  <Typedef id="_15861" name="int_type" type="_1553" context="_11268" access="public" location="f202:127" file="f202" line="127"/>
+  <Typedef id="_15862" name="impl_type" type="_1553" context="_11268" access="public" location="f202:128" file="f202" line="128"/>
+  <Constructor id="_15863" name="duration_traits_long" artificial="1" throw="" context="_11268" access="public" mangled="_ZN5boost9date_time20duration_traits_longC1ERKS1_ *INTERNAL* " demangled="boost::date_time::duration_traits_long::duration_traits_long(boost::date_time::duration_traits_long const&)" location="f202:126" file="f202" line="126" inline="1">
+    <Argument name="_ctor_arg" type="_17817" location="f202:126" file="f202" line="126"/>
+  </Constructor>
+  <Constructor id="_15864" name="duration_traits_long" explicit="1" artificial="1" throw="" context="_11268" access="public" mangled="_ZN5boost9date_time20duration_traits_longC1Ev *INTERNAL* " demangled="boost::date_time::duration_traits_long::duration_traits_long()" location="f202:126" file="f202" line="126" inline="1"/>
+  <Method id="_15865" name="as_number" returns="_1553" static="1" context="_11268" access="public" mangled="_ZN5boost9date_time20duration_traits_long9as_numberEl" demangled="boost::date_time::duration_traits_long::as_number(long)" location="f202:129" file="f202" line="129" endline="129" inline="1">
+    <Argument name="i" type="_1553" location="f202:129" file="f202" line="129"/>
+  </Method>
+  <Field id="_15866" name="value_" type="_1574" offset="0" context="_11269" access="private" mangled="_ZN5boost9date_time11int_adapterIxE6value_E" demangled="boost::date_time::int_adapter<long long>::value_" location="f280:378" file="f280" line="378"/>
+  <Typedef id="_15867" name="int_type" type="_1574" context="_11269" access="public" location="f280:40" file="f280" line="40"/>
+  <Constructor id="_15868" name="int_adapter" artificial="1" throw="" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::int_adapter<long long>::int_adapter(boost::date_time::int_adapter<long long> const&)" location="f280:38" file="f280" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_17818" location="f280:38" file="f280" line="38"/>
+  </Constructor>
+  <Constructor id="_15869" name="int_adapter" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxEC1Ex *INTERNAL* " demangled="boost::date_time::int_adapter<long long>::int_adapter(long long)" location="f280:41" file="f280" line="41" endline="43" inline="1">
+    <Argument name="v" type="_1574" location="f280:41" file="f280" line="41"/>
+  </Constructor>
+  <Method id="_15870" name="has_infinity" returns="_3949" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE12has_infinityEv" demangled="boost::date_time::int_adapter<long long>::has_infinity()" location="f280:45" file="f280" line="45" extern="1" inline="1"/>
+  <Method id="_15871" name="pos_infinity" returns="_11269c" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE12pos_infinityEv" demangled="boost::date_time::int_adapter<long long>::pos_infinity()" location="f280:49" file="f280" line="49" endline="50" inline="1"/>
+  <Method id="_15872" name="neg_infinity" returns="_11269c" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE12neg_infinityEv" demangled="boost::date_time::int_adapter<long long>::neg_infinity()" location="f280:53" file="f280" line="53" endline="54" inline="1"/>
+  <Method id="_15873" name="not_a_number" returns="_11269c" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE12not_a_numberEv" demangled="boost::date_time::int_adapter<long long>::not_a_number()" location="f280:57" file="f280" line="57" endline="58" inline="1"/>
+  <Method id="_15874" name="max" returns="_11269" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE3maxEv" demangled="boost::date_time::int_adapter<long long>::max()" location="f280:61" file="f280" line="61" endline="62" inline="1"/>
+  <Method id="_15875" name="min" returns="_11269" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE3minEv" demangled="boost::date_time::int_adapter<long long>::min()" location="f280:65" file="f280" line="65" endline="66" inline="1"/>
+  <Method id="_15876" name="from_special" returns="_11269" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE12from_specialENS0_14special_valuesE" demangled="boost::date_time::int_adapter<long long>::from_special(boost::date_time::special_values)" location="f280:69" file="f280" line="69" endline="76" inline="1">
+    <Argument name="sv" type="_11275" location="f280:69" file="f280" line="69"/>
+  </Method>
+  <Method id="_15877" name="is_inf" returns="_3949" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE6is_infEx" demangled="boost::date_time::int_adapter<long long>::is_inf(long long)" location="f280:80" file="f280" line="80" extern="1" inline="1">
+    <Argument name="v" type="_1574" location="f280:80" file="f280" line="80"/>
+  </Method>
+  <Method id="_15878" name="is_neg_inf" returns="_3949" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE10is_neg_infEx" demangled="boost::date_time::int_adapter<long long>::is_neg_inf(long long)" location="f280:85" file="f280" line="85" endline="86" inline="1">
+    <Argument name="v" type="_1574" location="f280:85" file="f280" line="85"/>
+  </Method>
+  <Method id="_15879" name="is_pos_inf" returns="_3949" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE10is_pos_infEx" demangled="boost::date_time::int_adapter<long long>::is_pos_inf(long long)" location="f280:89" file="f280" line="89" endline="90" inline="1">
+    <Argument name="v" type="_1574" location="f280:89" file="f280" line="89"/>
+  </Method>
+  <Method id="_15880" name="is_not_a_number" returns="_3949" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE15is_not_a_numberEx" demangled="boost::date_time::int_adapter<long long>::is_not_a_number(long long)" location="f280:93" file="f280" line="93" endline="94" inline="1">
+    <Argument name="v" type="_1574" location="f280:93" file="f280" line="93"/>
+  </Method>
+  <Method id="_15881" name="to_special" returns="_11275" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE10to_specialEx" demangled="boost::date_time::int_adapter<long long>::to_special(long long)" location="f280:98" file="f280" line="98" endline="102" inline="1">
+    <Argument name="v" type="_1574" location="f280:98" file="f280" line="98"/>
+  </Method>
+  <Method id="_15882" name="maxcount" returns="_1574" static="1" context="_11269" access="public" mangled="_ZN5boost9date_time11int_adapterIxE8maxcountEv" demangled="boost::date_time::int_adapter<long long>::maxcount()" location="f280:107" file="f280" line="107" extern="1" inline="1"/>
+  <Method id="_15883" name="is_infinity" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxE11is_infinityEv" demangled="boost::date_time::int_adapter<long long>::is_infinity() const" location="f280:111" file="f280" line="111" endline="112" inline="1"/>
+  <Method id="_15884" name="is_pos_infinity" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxE15is_pos_infinityEv" demangled="boost::date_time::int_adapter<long long>::is_pos_infinity() const" location="f280:116" file="f280" line="116" extern="1" inline="1"/>
+  <Method id="_15885" name="is_neg_infinity" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxE15is_neg_infinityEv" demangled="boost::date_time::int_adapter<long long>::is_neg_infinity() const" location="f280:120" file="f280" line="120" extern="1" inline="1"/>
+  <Method id="_15886" name="is_nan" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxE6is_nanEv" demangled="boost::date_time::int_adapter<long long>::is_nan() const" location="f280:124" file="f280" line="124" endline="125" inline="1"/>
+  <Method id="_15887" name="is_special" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxE10is_specialEv" demangled="boost::date_time::int_adapter<long long>::is_special() const" location="f280:128" file="f280" line="128" endline="129" inline="1"/>
+  <OperatorMethod id="_15888" name="==" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEeqERKS2_" demangled="boost::date_time::int_adapter<long long>::operator==(boost::date_time::int_adapter<long long> const&) const" location="f280:132" file="f280" line="132" extern="1" inline="1">
+    <Argument name="rhs" type="_17818" location="f280:132" file="f280" line="132"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15889" name="==" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEeqERKi" demangled="boost::date_time::int_adapter<long long>::operator==(int const&) const" location="f280:136" file="f280" line="136" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:136" file="f280" line="136"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15890" name="!=" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEneERKS2_" demangled="boost::date_time::int_adapter<long long>::operator!=(boost::date_time::int_adapter<long long> const&) const" location="f280:149" file="f280" line="149" extern="1" inline="1">
+    <Argument name="rhs" type="_17818" location="f280:149" file="f280" line="149"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15891" name="!=" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEneERKi" demangled="boost::date_time::int_adapter<long long>::operator!=(int const&) const" location="f280:153" file="f280" line="153" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:153" file="f280" line="153"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15892" name="<" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEltERKS2_" demangled="boost::date_time::int_adapter<long long>::operator<(boost::date_time::int_adapter<long long> const&) const" location="f280:166" file="f280" line="166" endline="167" inline="1">
+    <Argument name="rhs" type="_17818" location="f280:166" file="f280" line="166"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15893" name="<" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEltERKi" demangled="boost::date_time::int_adapter<long long>::operator<(int const&) const" location="f280:170" file="f280" line="170" endline="180" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:170" file="f280" line="170"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15894" name=">" returns="_3949" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEgtERKS2_" demangled="boost::date_time::int_adapter<long long>::operator>(boost::date_time::int_adapter<long long> const&) const" location="f280:183" file="f280" line="183" endline="184" inline="1">
+    <Argument name="rhs" type="_17818" location="f280:183" file="f280" line="183"/>
+  </OperatorMethod>
+  <Method id="_15895" name="as_number" returns="_1574" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxE9as_numberEv" demangled="boost::date_time::int_adapter<long long>::as_number() const" location="f280:187" file="f280" line="187" endline="188" inline="1"/>
+  <Method id="_15896" name="as_special" returns="_11275" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxE10as_specialEv" demangled="boost::date_time::int_adapter<long long>::as_special() const" location="f280:192" file="f280" line="192" endline="193" inline="1"/>
+  <OperatorMethod id="_15897" name="+" returns="_11269" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEplEx" demangled="boost::date_time::int_adapter<long long>::operator+(long long) const" location="f280:235" file="f280" line="235" extern="1" inline="1">
+    <Argument name="rhs" type="_1574c" location="f280:235" file="f280" line="235"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15898" name="-" returns="_11269" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEmiEx" demangled="boost::date_time::int_adapter<long long>::operator-(long long) const" location="f280:283" file="f280" line="283" extern="1" inline="1">
+    <Argument name="rhs" type="_1574c" location="f280:283" file="f280" line="283"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15899" name="*" returns="_11269" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEmlERKS2_" demangled="boost::date_time::int_adapter<long long>::operator*(boost::date_time::int_adapter<long long> const&) const" location="f280:300" file="f280" line="300" extern="1" inline="1">
+    <Argument name="rhs" type="_17818" location="f280:300" file="f280" line="300"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15900" name="*" returns="_11269" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEmlEi" demangled="boost::date_time::int_adapter<long long>::operator*(int) const" location="f280:310" file="f280" line="310" endline="315" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:310" file="f280" line="310"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15901" name="/" returns="_11269" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEdvERKS2_" demangled="boost::date_time::int_adapter<long long>::operator/(boost::date_time::int_adapter<long long> const&) const" location="f280:320" file="f280" line="320" extern="1" inline="1">
+    <Argument name="rhs" type="_17818" location="f280:320" file="f280" line="320"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15902" name="/" returns="_11269" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxEdvEi" demangled="boost::date_time::int_adapter<long long>::operator/(int) const" location="f280:340" file="f280" line="340" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:340" file="f280" line="340"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15903" name="%" returns="_11269" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxErmERKS2_" demangled="boost::date_time::int_adapter<long long>::operator%(boost::date_time::int_adapter<long long> const&) const" location="f280:350" file="f280" line="350" extern="1" inline="1">
+    <Argument name="rhs" type="_17818" location="f280:350" file="f280" line="350"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15904" name="%" returns="_11269" const="1" context="_11269" access="public" mangled="_ZNK5boost9date_time11int_adapterIxErmEi" demangled="boost::date_time::int_adapter<long long>::operator%(int) const" location="f280:370" file="f280" line="370" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:370" file="f280" line="370"/>
+  </OperatorMethod>
+  <Method id="_15905" name="compare" returns="_503" const="1" context="_11269" access="private" mangled="_ZNK5boost9date_time11int_adapterIxE7compareERKS2_" demangled="boost::date_time::int_adapter<long long>::compare(boost::date_time::int_adapter<long long> const&) const" location="f280:382" file="f280" line="382" endline="406" inline="1">
+    <Argument name="rhs" type="_17818" location="f280:382" file="f280" line="382"/>
+  </Method>
+  <Method id="_15906" name="mult_div_specials" returns="_11269" const="1" context="_11269" access="private" mangled="_ZNK5boost9date_time11int_adapterIxE17mult_div_specialsERKS2_" demangled="boost::date_time::int_adapter<long long>::mult_div_specials(boost::date_time::int_adapter<long long> const&) const" location="f280:414" file="f280" line="414" extern="1" inline="1">
+    <Argument name="rhs" type="_17818" location="f280:414" file="f280" line="414"/>
+  </Method>
+  <Method id="_15907" name="mult_div_specials" returns="_11269" const="1" context="_11269" access="private" mangled="_ZNK5boost9date_time11int_adapterIxE17mult_div_specialsERKi" demangled="boost::date_time::int_adapter<long long>::mult_div_specials(int const&) const" location="f280:443" file="f280" line="443" endline="463" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:443" file="f280" line="443"/>
+  </Method>
+  <Field id="_15908" name="value_" type="_1553" offset="0" context="_11270" access="private" mangled="_ZN5boost9date_time11int_adapterIlE6value_E" demangled="boost::date_time::int_adapter<long>::value_" location="f280:378" file="f280" line="378"/>
+  <Typedef id="_15909" name="int_type" type="_1553" context="_11270" access="public" location="f280:40" file="f280" line="40"/>
+  <Constructor id="_15910" name="int_adapter" artificial="1" throw="" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::int_adapter<long>::int_adapter(boost::date_time::int_adapter<long> const&)" location="f280:38" file="f280" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_17821" location="f280:38" file="f280" line="38"/>
+  </Constructor>
+  <Constructor id="_15911" name="int_adapter" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlEC1El *INTERNAL* " demangled="boost::date_time::int_adapter<long>::int_adapter(long)" location="f280:41" file="f280" line="41" endline="43" inline="1">
+    <Argument name="v" type="_1553" location="f280:41" file="f280" line="41"/>
+  </Constructor>
+  <Method id="_15912" name="has_infinity" returns="_3949" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE12has_infinityEv" demangled="boost::date_time::int_adapter<long>::has_infinity()" location="f280:45" file="f280" line="45" extern="1" inline="1"/>
+  <Method id="_15913" name="pos_infinity" returns="_11270c" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE12pos_infinityEv" demangled="boost::date_time::int_adapter<long>::pos_infinity()" location="f280:49" file="f280" line="49" endline="50" inline="1"/>
+  <Method id="_15914" name="neg_infinity" returns="_11270c" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE12neg_infinityEv" demangled="boost::date_time::int_adapter<long>::neg_infinity()" location="f280:53" file="f280" line="53" endline="54" inline="1"/>
+  <Method id="_15915" name="not_a_number" returns="_11270c" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE12not_a_numberEv" demangled="boost::date_time::int_adapter<long>::not_a_number()" location="f280:57" file="f280" line="57" endline="58" inline="1"/>
+  <Method id="_15916" name="max" returns="_11270" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE3maxEv" demangled="boost::date_time::int_adapter<long>::max()" location="f280:61" file="f280" line="61" endline="62" inline="1"/>
+  <Method id="_15917" name="min" returns="_11270" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE3minEv" demangled="boost::date_time::int_adapter<long>::min()" location="f280:65" file="f280" line="65" endline="66" inline="1"/>
+  <Method id="_15918" name="from_special" returns="_11270" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE12from_specialENS0_14special_valuesE" demangled="boost::date_time::int_adapter<long>::from_special(boost::date_time::special_values)" location="f280:69" file="f280" line="69" endline="76" inline="1">
+    <Argument name="sv" type="_11275" location="f280:69" file="f280" line="69"/>
+  </Method>
+  <Method id="_15919" name="is_inf" returns="_3949" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE6is_infEl" demangled="boost::date_time::int_adapter<long>::is_inf(long)" location="f280:80" file="f280" line="80" extern="1" inline="1">
+    <Argument name="v" type="_1553" location="f280:80" file="f280" line="80"/>
+  </Method>
+  <Method id="_15920" name="is_neg_inf" returns="_3949" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE10is_neg_infEl" demangled="boost::date_time::int_adapter<long>::is_neg_inf(long)" location="f280:85" file="f280" line="85" endline="86" inline="1">
+    <Argument name="v" type="_1553" location="f280:85" file="f280" line="85"/>
+  </Method>
+  <Method id="_15921" name="is_pos_inf" returns="_3949" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE10is_pos_infEl" demangled="boost::date_time::int_adapter<long>::is_pos_inf(long)" location="f280:89" file="f280" line="89" endline="90" inline="1">
+    <Argument name="v" type="_1553" location="f280:89" file="f280" line="89"/>
+  </Method>
+  <Method id="_15922" name="is_not_a_number" returns="_3949" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE15is_not_a_numberEl" demangled="boost::date_time::int_adapter<long>::is_not_a_number(long)" location="f280:93" file="f280" line="93" extern="1" inline="1">
+    <Argument name="v" type="_1553" location="f280:93" file="f280" line="93"/>
+  </Method>
+  <Method id="_15923" name="to_special" returns="_11275" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE10to_specialEl" demangled="boost::date_time::int_adapter<long>::to_special(long)" location="f280:98" file="f280" line="98" extern="1" inline="1">
+    <Argument name="v" type="_1553" location="f280:98" file="f280" line="98"/>
+  </Method>
+  <Method id="_15924" name="maxcount" returns="_1553" static="1" context="_11270" access="public" mangled="_ZN5boost9date_time11int_adapterIlE8maxcountEv" demangled="boost::date_time::int_adapter<long>::maxcount()" location="f280:107" file="f280" line="107" extern="1" inline="1"/>
+  <Method id="_15925" name="is_infinity" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlE11is_infinityEv" demangled="boost::date_time::int_adapter<long>::is_infinity() const" location="f280:111" file="f280" line="111" endline="112" inline="1"/>
+  <Method id="_15926" name="is_pos_infinity" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlE15is_pos_infinityEv" demangled="boost::date_time::int_adapter<long>::is_pos_infinity() const" location="f280:116" file="f280" line="116" extern="1" inline="1"/>
+  <Method id="_15927" name="is_neg_infinity" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlE15is_neg_infinityEv" demangled="boost::date_time::int_adapter<long>::is_neg_infinity() const" location="f280:120" file="f280" line="120" extern="1" inline="1"/>
+  <Method id="_15928" name="is_nan" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlE6is_nanEv" demangled="boost::date_time::int_adapter<long>::is_nan() const" location="f280:124" file="f280" line="124" endline="125" inline="1"/>
+  <Method id="_15929" name="is_special" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlE10is_specialEv" demangled="boost::date_time::int_adapter<long>::is_special() const" location="f280:128" file="f280" line="128" endline="129" inline="1"/>
+  <OperatorMethod id="_15930" name="==" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEeqERKS2_" demangled="boost::date_time::int_adapter<long>::operator==(boost::date_time::int_adapter<long> const&) const" location="f280:132" file="f280" line="132" extern="1" inline="1">
+    <Argument name="rhs" type="_17821" location="f280:132" file="f280" line="132"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15931" name="==" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEeqERKi" demangled="boost::date_time::int_adapter<long>::operator==(int const&) const" location="f280:136" file="f280" line="136" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:136" file="f280" line="136"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15932" name="!=" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEneERKS2_" demangled="boost::date_time::int_adapter<long>::operator!=(boost::date_time::int_adapter<long> const&) const" location="f280:149" file="f280" line="149" extern="1" inline="1">
+    <Argument name="rhs" type="_17821" location="f280:149" file="f280" line="149"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15933" name="!=" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEneERKi" demangled="boost::date_time::int_adapter<long>::operator!=(int const&) const" location="f280:153" file="f280" line="153" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:153" file="f280" line="153"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15934" name="<" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEltERKS2_" demangled="boost::date_time::int_adapter<long>::operator<(boost::date_time::int_adapter<long> const&) const" location="f280:166" file="f280" line="166" extern="1" inline="1">
+    <Argument name="rhs" type="_17821" location="f280:166" file="f280" line="166"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15935" name="<" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEltERKi" demangled="boost::date_time::int_adapter<long>::operator<(int const&) const" location="f280:170" file="f280" line="170" endline="180" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:170" file="f280" line="170"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15936" name=">" returns="_3949" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEgtERKS2_" demangled="boost::date_time::int_adapter<long>::operator>(boost::date_time::int_adapter<long> const&) const" location="f280:183" file="f280" line="183" endline="184" inline="1">
+    <Argument name="rhs" type="_17821" location="f280:183" file="f280" line="183"/>
+  </OperatorMethod>
+  <Method id="_15937" name="as_number" returns="_1553" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlE9as_numberEv" demangled="boost::date_time::int_adapter<long>::as_number() const" location="f280:187" file="f280" line="187" endline="188" inline="1"/>
+  <Method id="_15938" name="as_special" returns="_11275" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlE10as_specialEv" demangled="boost::date_time::int_adapter<long>::as_special() const" location="f280:192" file="f280" line="192" extern="1" inline="1"/>
+  <OperatorMethod id="_15939" name="+" returns="_11270" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEplEl" demangled="boost::date_time::int_adapter<long>::operator+(long) const" location="f280:235" file="f280" line="235" extern="1" inline="1">
+    <Argument name="rhs" type="_1553c" location="f280:235" file="f280" line="235"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15940" name="-" returns="_11270" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEmiEl" demangled="boost::date_time::int_adapter<long>::operator-(long) const" location="f280:283" file="f280" line="283" extern="1" inline="1">
+    <Argument name="rhs" type="_1553c" location="f280:283" file="f280" line="283"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15941" name="*" returns="_11270" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEmlERKS2_" demangled="boost::date_time::int_adapter<long>::operator*(boost::date_time::int_adapter<long> const&) const" location="f280:300" file="f280" line="300" extern="1" inline="1">
+    <Argument name="rhs" type="_17821" location="f280:300" file="f280" line="300"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15942" name="*" returns="_11270" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEmlEi" demangled="boost::date_time::int_adapter<long>::operator*(int) const" location="f280:310" file="f280" line="310" endline="315" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:310" file="f280" line="310"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15943" name="/" returns="_11270" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEdvERKS2_" demangled="boost::date_time::int_adapter<long>::operator/(boost::date_time::int_adapter<long> const&) const" location="f280:320" file="f280" line="320" extern="1" inline="1">
+    <Argument name="rhs" type="_17821" location="f280:320" file="f280" line="320"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15944" name="/" returns="_11270" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlEdvEi" demangled="boost::date_time::int_adapter<long>::operator/(int) const" location="f280:340" file="f280" line="340" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:340" file="f280" line="340"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15945" name="%" returns="_11270" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlErmERKS2_" demangled="boost::date_time::int_adapter<long>::operator%(boost::date_time::int_adapter<long> const&) const" location="f280:350" file="f280" line="350" extern="1" inline="1">
+    <Argument name="rhs" type="_17821" location="f280:350" file="f280" line="350"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15946" name="%" returns="_11270" const="1" context="_11270" access="public" mangled="_ZNK5boost9date_time11int_adapterIlErmEi" demangled="boost::date_time::int_adapter<long>::operator%(int) const" location="f280:370" file="f280" line="370" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:370" file="f280" line="370"/>
+  </OperatorMethod>
+  <Method id="_15947" name="compare" returns="_503" const="1" context="_11270" access="private" mangled="_ZNK5boost9date_time11int_adapterIlE7compareERKS2_" demangled="boost::date_time::int_adapter<long>::compare(boost::date_time::int_adapter<long> const&) const" location="f280:382" file="f280" line="382" endline="406" inline="1">
+    <Argument name="rhs" type="_17821" location="f280:382" file="f280" line="382"/>
+  </Method>
+  <Method id="_15948" name="mult_div_specials" returns="_11270" const="1" context="_11270" access="private" mangled="_ZNK5boost9date_time11int_adapterIlE17mult_div_specialsERKS2_" demangled="boost::date_time::int_adapter<long>::mult_div_specials(boost::date_time::int_adapter<long> const&) const" location="f280:414" file="f280" line="414" extern="1" inline="1">
+    <Argument name="rhs" type="_17821" location="f280:414" file="f280" line="414"/>
+  </Method>
+  <Method id="_15949" name="mult_div_specials" returns="_11270" const="1" context="_11270" access="private" mangled="_ZNK5boost9date_time11int_adapterIlE17mult_div_specialsERKi" demangled="boost::date_time::int_adapter<long>::mult_div_specials(int const&) const" location="f280:443" file="f280" line="443" endline="463" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:443" file="f280" line="443"/>
+  </Method>
+  <Field id="_15950" name="value_" type="_503" offset="0" context="_11271" access="private" mangled="_ZN5boost9date_time11int_adapterIiE6value_E" demangled="boost::date_time::int_adapter<int>::value_" location="f280:378" file="f280" line="378"/>
+  <Typedef id="_15951" name="int_type" type="_503" context="_11271" access="public" location="f280:40" file="f280" line="40"/>
+  <Constructor id="_15952" name="int_adapter" artificial="1" throw="" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiEC1ERKS2_ *INTERNAL* " demangled="boost::date_time::int_adapter<int>::int_adapter(boost::date_time::int_adapter<int> const&)" location="f280:38" file="f280" line="38" inline="1">
+    <Argument name="_ctor_arg" type="_17823" location="f280:38" file="f280" line="38"/>
+  </Constructor>
+  <Constructor id="_15953" name="int_adapter" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiEC1Ei *INTERNAL* " demangled="boost::date_time::int_adapter<int>::int_adapter(int)" location="f280:41" file="f280" line="41" endline="43" inline="1">
+    <Argument name="v" type="_503" location="f280:41" file="f280" line="41"/>
+  </Constructor>
+  <Method id="_15954" name="has_infinity" returns="_3949" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE12has_infinityEv" demangled="boost::date_time::int_adapter<int>::has_infinity()" location="f280:45" file="f280" line="45" extern="1" inline="1"/>
+  <Method id="_15955" name="pos_infinity" returns="_11271c" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE12pos_infinityEv" demangled="boost::date_time::int_adapter<int>::pos_infinity()" location="f280:49" file="f280" line="49" endline="50" inline="1"/>
+  <Method id="_15956" name="neg_infinity" returns="_11271c" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE12neg_infinityEv" demangled="boost::date_time::int_adapter<int>::neg_infinity()" location="f280:53" file="f280" line="53" endline="54" inline="1"/>
+  <Method id="_15957" name="not_a_number" returns="_11271c" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE12not_a_numberEv" demangled="boost::date_time::int_adapter<int>::not_a_number()" location="f280:57" file="f280" line="57" endline="58" inline="1"/>
+  <Method id="_15958" name="max" returns="_11271" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE3maxEv" demangled="boost::date_time::int_adapter<int>::max()" location="f280:61" file="f280" line="61" endline="62" inline="1"/>
+  <Method id="_15959" name="min" returns="_11271" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE3minEv" demangled="boost::date_time::int_adapter<int>::min()" location="f280:65" file="f280" line="65" endline="66" inline="1"/>
+  <Method id="_15960" name="from_special" returns="_11271" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE12from_specialENS0_14special_valuesE" demangled="boost::date_time::int_adapter<int>::from_special(boost::date_time::special_values)" location="f280:69" file="f280" line="69" endline="76" inline="1">
+    <Argument name="sv" type="_11275" location="f280:69" file="f280" line="69"/>
+  </Method>
+  <Method id="_15961" name="is_inf" returns="_3949" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE6is_infEi" demangled="boost::date_time::int_adapter<int>::is_inf(int)" location="f280:80" file="f280" line="80" extern="1" inline="1">
+    <Argument name="v" type="_503" location="f280:80" file="f280" line="80"/>
+  </Method>
+  <Method id="_15962" name="is_neg_inf" returns="_3949" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE10is_neg_infEi" demangled="boost::date_time::int_adapter<int>::is_neg_inf(int)" location="f280:85" file="f280" line="85" extern="1" inline="1">
+    <Argument name="v" type="_503" location="f280:85" file="f280" line="85"/>
+  </Method>
+  <Method id="_15963" name="is_pos_inf" returns="_3949" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE10is_pos_infEi" demangled="boost::date_time::int_adapter<int>::is_pos_inf(int)" location="f280:89" file="f280" line="89" extern="1" inline="1">
+    <Argument name="v" type="_503" location="f280:89" file="f280" line="89"/>
+  </Method>
+  <Method id="_15964" name="is_not_a_number" returns="_3949" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE15is_not_a_numberEi" demangled="boost::date_time::int_adapter<int>::is_not_a_number(int)" location="f280:93" file="f280" line="93" extern="1" inline="1">
+    <Argument name="v" type="_503" location="f280:93" file="f280" line="93"/>
+  </Method>
+  <Method id="_15965" name="to_special" returns="_11275" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE10to_specialEi" demangled="boost::date_time::int_adapter<int>::to_special(int)" location="f280:98" file="f280" line="98" extern="1" inline="1">
+    <Argument name="v" type="_503" location="f280:98" file="f280" line="98"/>
+  </Method>
+  <Method id="_15966" name="maxcount" returns="_503" static="1" context="_11271" access="public" mangled="_ZN5boost9date_time11int_adapterIiE8maxcountEv" demangled="boost::date_time::int_adapter<int>::maxcount()" location="f280:107" file="f280" line="107" extern="1" inline="1"/>
+  <Method id="_15967" name="is_infinity" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiE11is_infinityEv" demangled="boost::date_time::int_adapter<int>::is_infinity() const" location="f280:111" file="f280" line="111" extern="1" inline="1"/>
+  <Method id="_15968" name="is_pos_infinity" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiE15is_pos_infinityEv" demangled="boost::date_time::int_adapter<int>::is_pos_infinity() const" location="f280:116" file="f280" line="116" extern="1" inline="1"/>
+  <Method id="_15969" name="is_neg_infinity" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiE15is_neg_infinityEv" demangled="boost::date_time::int_adapter<int>::is_neg_infinity() const" location="f280:120" file="f280" line="120" extern="1" inline="1"/>
+  <Method id="_15970" name="is_nan" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiE6is_nanEv" demangled="boost::date_time::int_adapter<int>::is_nan() const" location="f280:124" file="f280" line="124" extern="1" inline="1"/>
+  <Method id="_15971" name="is_special" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiE10is_specialEv" demangled="boost::date_time::int_adapter<int>::is_special() const" location="f280:128" file="f280" line="128" extern="1" inline="1"/>
+  <OperatorMethod id="_15972" name="==" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEeqERKS2_" demangled="boost::date_time::int_adapter<int>::operator==(boost::date_time::int_adapter<int> const&) const" location="f280:132" file="f280" line="132" extern="1" inline="1">
+    <Argument name="rhs" type="_17823" location="f280:132" file="f280" line="132"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15973" name="==" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEeqERKi" demangled="boost::date_time::int_adapter<int>::operator==(int const&) const" location="f280:136" file="f280" line="136" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:136" file="f280" line="136"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15974" name="!=" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEneERKS2_" demangled="boost::date_time::int_adapter<int>::operator!=(boost::date_time::int_adapter<int> const&) const" location="f280:149" file="f280" line="149" extern="1" inline="1">
+    <Argument name="rhs" type="_17823" location="f280:149" file="f280" line="149"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15975" name="!=" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEneERKi" demangled="boost::date_time::int_adapter<int>::operator!=(int const&) const" location="f280:153" file="f280" line="153" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:153" file="f280" line="153"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15976" name="<" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEltERKS2_" demangled="boost::date_time::int_adapter<int>::operator<(boost::date_time::int_adapter<int> const&) const" location="f280:166" file="f280" line="166" extern="1" inline="1">
+    <Argument name="rhs" type="_17823" location="f280:166" file="f280" line="166"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15977" name="<" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEltERKi" demangled="boost::date_time::int_adapter<int>::operator<(int const&) const" location="f280:170" file="f280" line="170" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:170" file="f280" line="170"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15978" name=">" returns="_3949" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEgtERKS2_" demangled="boost::date_time::int_adapter<int>::operator>(boost::date_time::int_adapter<int> const&) const" location="f280:183" file="f280" line="183" extern="1" inline="1">
+    <Argument name="rhs" type="_17823" location="f280:183" file="f280" line="183"/>
+  </OperatorMethod>
+  <Method id="_15979" name="as_number" returns="_503" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiE9as_numberEv" demangled="boost::date_time::int_adapter<int>::as_number() const" location="f280:187" file="f280" line="187" endline="188" inline="1"/>
+  <Method id="_15980" name="as_special" returns="_11275" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiE10as_specialEv" demangled="boost::date_time::int_adapter<int>::as_special() const" location="f280:192" file="f280" line="192" extern="1" inline="1"/>
+  <OperatorMethod id="_15981" name="+" returns="_11271" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEplEi" demangled="boost::date_time::int_adapter<int>::operator+(int) const" location="f280:235" file="f280" line="235" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:235" file="f280" line="235"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15982" name="-" returns="_11271" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEmiEi" demangled="boost::date_time::int_adapter<int>::operator-(int) const" location="f280:283" file="f280" line="283" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:283" file="f280" line="283"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15983" name="*" returns="_11271" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEmlERKS2_" demangled="boost::date_time::int_adapter<int>::operator*(boost::date_time::int_adapter<int> const&) const" location="f280:300" file="f280" line="300" extern="1" inline="1">
+    <Argument name="rhs" type="_17823" location="f280:300" file="f280" line="300"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15984" name="*" returns="_11271" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEmlEi" demangled="boost::date_time::int_adapter<int>::operator*(int) const" location="f280:310" file="f280" line="310" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:310" file="f280" line="310"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15985" name="/" returns="_11271" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEdvERKS2_" demangled="boost::date_time::int_adapter<int>::operator/(boost::date_time::int_adapter<int> const&) const" location="f280:320" file="f280" line="320" extern="1" inline="1">
+    <Argument name="rhs" type="_17823" location="f280:320" file="f280" line="320"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15986" name="/" returns="_11271" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiEdvEi" demangled="boost::date_time::int_adapter<int>::operator/(int) const" location="f280:340" file="f280" line="340" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:340" file="f280" line="340"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15987" name="%" returns="_11271" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiErmERKS2_" demangled="boost::date_time::int_adapter<int>::operator%(boost::date_time::int_adapter<int> const&) const" location="f280:350" file="f280" line="350" extern="1" inline="1">
+    <Argument name="rhs" type="_17823" location="f280:350" file="f280" line="350"/>
+  </OperatorMethod>
+  <OperatorMethod id="_15988" name="%" returns="_11271" const="1" context="_11271" access="public" mangled="_ZNK5boost9date_time11int_adapterIiErmEi" demangled="boost::date_time::int_adapter<int>::operator%(int) const" location="f280:370" file="f280" line="370" extern="1" inline="1">
+    <Argument name="rhs" type="_503c" location="f280:370" file="f280" line="370"/>
+  </OperatorMethod>
+  <Method id="_15989" name="compare" returns="_503" const="1" context="_11271" access="private" mangled="_ZNK5boost9date_time11int_adapterIiE7compareERKS2_" demangled="boost::date_time::int_adapter<int>::compare(boost::date_time::int_adapter<int> const&) const" location="f280:382" file="f280" line="382" extern="1" inline="1">
+    <Argument name="rhs" type="_17823" location="f280:382" file="f280" line="382"/>
+  </Method>
+  <Method id="_15990" name="mult_div_specials" returns="_11271" const="1" context="_11271" access="private" mangled="_ZNK5boost9date_time11int_adapterIiE17mult_div_specialsERKS2_" demangled="boost::date_time::int_adapter<int>::mult_div_specials(boost::date_time::int_adapter<int> const&) const" location="f280:414" file="f280" line="414" extern="1" inline="1">
+    <Argument name="rhs" type="_17823" location="f280:414" file="f280" line="414"/>
+  </Method>
+  <Method id="_15991" name="mult_div_specials" returns="_11271" const="1" context="_11271" access="private" mangled="_ZNK5boost9date_time11int_adapterIiE17mult_div_specialsERKi" demangled="boost::date_time::int_adapter<int>::mult_div_specials(int const&) const" location="f280:443" file="f280" line="443" extern="1" inline="1">
+    <Argument name="rhs" type="_4080" location="f280:443" file="f280" line="443"/>
+  </Method>
+  <Typedef id="_15992" name="ymd_type" type="_10759" context="_11272" access="public" location="f297:31" file="f297" line="31"/>
+  <Typedef id="_15993" name="month_type" type="_10760" context="_11272" access="public" location="f297:33" file="f297" line="33"/>
+  <Typedef id="_15994" name="day_type" type="_9063" context="_11272" access="public" location="f297:35" file="f297" line="35"/>
+  <Typedef id="_15995" name="year_type" type="_10768" context="_11272" access="public" location="f297:37" file="f297" line="37"/>
+  <Typedef id="_15996" name="date_int_type" type="_643" context="_11272" access="public" location="f297:39" file="f297" line="39"/>
+  <Constructor id="_15997" name="gregorian_calendar_base" artificial="1" throw="" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmEC1ERKS8_ *INTERNAL* " demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::gregorian [...]
+    <Argument name="_ctor_arg" type="_17825" location="f297:28" file="f297" line="28"/>
+  </Constructor>
+  <Constructor id="_15998" name="gregorian_calendar_base" explicit="1" artificial="1" throw="" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmEC1Ev *INTERNAL* " demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>:: [...]
+  <Method id="_15999" name="day_of_week" returns="_1199" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE11day_of_weekERKS7_" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::day_of_week(boost::date_ [...]
+    <Argument name="ymd" type="_16453" location="f310:22" file="f310" line="22"/>
+  </Method>
+  <Method id="_16000" name="week_number" returns="_503" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE11week_numberERKS7_" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::week_number(boost::date_t [...]
+    <Argument name="ymd" type="_16453" location="f310:40" file="f310" line="40"/>
+  </Method>
+  <Method id="_16001" name="day_number" returns="_643" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE10day_numberERKS7_" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::day_number(boost::date_time [...]
+    <Argument name="ymd" type="_16453" location="f310:77" file="f310" line="77"/>
+  </Method>
+  <Method id="_16002" name="julian_day_number" returns="_643" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE17julian_day_numberERKS7_" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::julian_day_nu [...]
+    <Argument name="ymd" type="_16453" location="f310:92" file="f310" line="92"/>
+  </Method>
+  <Method id="_16003" name="modjulian_day_number" returns="_1553" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE20modjulian_day_numberERKS7_" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::modjul [...]
+    <Argument name="ymd" type="_16453" location="f310:104" file="f310" line="104"/>
+  </Method>
+  <Method id="_16004" name="from_day_number" returns="_10759" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE15from_day_numberEm" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::from_day_number(uns [...]
+    <Argument name="dayNumber" type="_643" location="f310:113" file="f310" line="113"/>
+  </Method>
+  <Method id="_16005" name="from_julian_day_number" returns="_10759" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE22from_julian_day_numberEm" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::from_ [...]
+    <Argument name="dayNumber" type="_643" location="f310:133" file="f310" line="133"/>
+  </Method>
+  <Method id="_16006" name="from_modjulian_day_number" returns="_10759" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE25from_modjulian_day_numberEl" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>: [...]
+    <Argument name="dayNumber" type="_1553" location="f310:152" file="f310" line="152"/>
+  </Method>
+  <Method id="_16007" name="is_leap_year" returns="_3949" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE12is_leap_yearES4_" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::is_leap_year(boost::greg [...]
+    <Argument name="year" type="_10768" location="f310:165" file="f310" line="165"/>
+  </Method>
+  <Method id="_16008" name="end_of_month_day" returns="_1199" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE16end_of_month_dayES4_S5_" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::end_of_month_ [...]
+    <Argument name="year" type="_10768" location="f310:179" file="f310" line="179"/>
+    <Argument name="month" type="_10760" location="f310:179" file="f310" line="179"/>
+  </Method>
+  <Method id="_16009" name="epoch" returns="_10759" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE5epochEv" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::epoch()" location="f310:203" file="f310" [...]
+  <Method id="_16010" name="days_in_week" returns="_1199" static="1" context="_11272" access="public" mangled="_ZN5boost9date_time23gregorian_calendar_baseINS0_19year_month_day_baseINS_9gregorian9greg_yearENS3_10greg_monthENS3_8greg_dayEEEmE12days_in_weekEv" demangled="boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned long>::days_in_week()" location=" [...]
+  <Field id="_16011" name="days_" type="_643" offset="0" context="_11274" access="protected" mangled="_ZN5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE5days_E" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::days_" location="f207:185" file="f207" line="185"/>
+  <Typedef id="_16012" name="date_type" type="_9061" context="_11274" access="public" location="f207:59" file="f207" line="59"/>
+  <Typedef id="_16013" name="calendar_type" type="_10755" context="_11274" access="public" location="f207:60" file="f207" line="60"/>
+  <Typedef id="_16014" name="traits_type" type="_10757" context="_11274" access="public" location="f207:61" file="f207" line="61"/>
+  <Typedef id="_16015" name="duration_type" type="_10752" context="_11274" access="public" location="f207:62" file="f207" line="62"/>
+  <Typedef id="_16016" name="year_type" type="_10768" context="_11274" access="public" location="f207:63" file="f207" line="63"/>
+  <Typedef id="_16017" name="month_type" type="_10760" context="_11274" access="public" location="f207:64" file="f207" line="64"/>
+  <Typedef id="_16018" name="day_type" type="_9063" context="_11274" access="public" location="f207:65" file="f207" line="65"/>
+  <Typedef id="_16019" name="ymd_type" type="_10759" context="_11274" access="public" location="f207:66" file="f207" line="66"/>
+  <Typedef id="_16020" name="date_rep_type" type="_10757" context="_11274" access="public" location="f207:67" file="f207" line="67"/>
+  <Typedef id="_16021" name="date_int_type" type="_643" context="_11274" access="public" location="f207:68" file="f207" line="68"/>
+  <Typedef id="_16022" name="day_of_week_type" type="_10784" context="_11274" access="public" location="f207:69" file="f207" line="69"/>
+  <Constructor id="_16023" name="date" artificial="1" throw="" context="_11274" access="public" mangled="_ZN5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEC1ERKS8_ *INTERNAL* " demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::date(boost::date_time::date<boost::gregorian::date, bo [...]
+    <Argument name="_ctor_arg" type="_17826" location="f207:57" file="f207" line="57"/>
+  </Constructor>
+  <Constructor id="_16024" name="date" explicit="1" context="_11274" access="public" mangled="_ZN5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEC1ENS2_9greg_yearENS2_10greg_monthENS2_8greg_dayE *INTERNAL* " demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::date(boost::gregorian::greg [...]
+    <Argument name="y" type="_10768" location="f207:71" file="f207" line="71"/>
+    <Argument name="m" type="_10760" location="f207:71" file="f207" line="71"/>
+    <Argument name="d" type="_9063" location="f207:71" file="f207" line="71"/>
+  </Constructor>
+  <Constructor id="_16025" name="date" context="_11274" access="public" mangled="_ZN5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEC1ERKNS0_19year_month_day_baseINS2_9greg_yearENS2_10greg_monthENS2_8greg_dayEEE *INTERNAL* " demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::date(boost [...]
+    <Argument name="ymd" type="_16453" location="f207:74" file="f207" line="74"/>
+  </Constructor>
+  <Method id="_16026" name="year" returns="_10768" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE4yearEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::year() const" location="f207:78" file="f207" line="78" endline="80" inl [...]
+  <Method id="_16027" name="month" returns="_10760" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE5monthEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::month() const" location="f207:83" file="f207" line="83" extern="1" in [...]
+  <Method id="_16028" name="day" returns="_9063" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE3dayEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::day() const" location="f207:88" file="f207" line="88" extern="1" inline="1"/>
+  <Method id="_16029" name="day_of_week" returns="_10784" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE11day_of_weekEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::day_of_week() const" location="f207:93" file="f207" line [...]
+  <Method id="_16030" name="year_month_day" returns="_10759" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE14year_month_dayEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::year_month_day() const" location="f207:98" file="f [...]
+  <OperatorMethod id="_16031" name="<" returns="_3949" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEltERKS3_" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::operator<(boost::gregorian::date const&) const" location [...]
+    <Argument name="rhs" type="_10010" location="f207:102" file="f207" line="102"/>
+  </OperatorMethod>
+  <OperatorMethod id="_16032" name="==" returns="_3949" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEeqERKS3_" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::operator==(boost::gregorian::date const&) const" location="f2 [...]
+    <Argument name="rhs" type="_10010" location="f207:106" file="f207" line="106"/>
+  </OperatorMethod>
+  <Method id="_16033" name="is_special" returns="_3949" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE10is_specialEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_special() const" location="f207:111" file="f207" line="1 [...]
+  <Method id="_16034" name="is_not_a_date" returns="_3949" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE13is_not_a_dateEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_not_a_date() const" location="f207:116" file="f207 [...]
+  <Method id="_16035" name="is_infinity" returns="_3949" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE11is_infinityEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_infinity() const" location="f207:121" file="f207" line [...]
+  <Method id="_16036" name="is_pos_infinity" returns="_3949" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE15is_pos_infinityEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_pos_infinity() const" location="f207:126" file [...]
+  <Method id="_16037" name="is_neg_infinity" returns="_3949" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE15is_neg_infinityEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::is_neg_infinity() const" location="f207:131" file [...]
+  <Method id="_16038" name="as_special" returns="_11275" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE10as_specialEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::as_special() const" location="f207:136" file="f207" line=" [...]
+  <OperatorMethod id="_16039" name="-" returns="_10752" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEmiERKS3_" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::operator-(boost::gregorian::date const&) const" location="f20 [...]
+    <Argument name="d" type="_10010" location="f207:140" file="f207" line="140"/>
+  </OperatorMethod>
+  <OperatorMethod id="_16040" name="-" returns="_9061" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEmiERKS7_" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::operator-(boost::date_time::date_duration<boost::date_time::dur [...]
+    <Argument name="dd" type="_16391" location="f207:146" file="f207" line="146"/>
+  </OperatorMethod>
+  <OperatorMethod id="_16041" name="-=" returns="_9061" context="_11274" access="public" mangled="_ZN5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEmIERKS7_" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::operator-=(boost::date_time::date_duration<boost::date_time::duration_tra [...]
+    <Argument name="dd" type="_16391" location="f207:154" file="f207" line="154"/>
+  </OperatorMethod>
+  <Method id="_16042" name="day_count" returns="_10757" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEE9day_countEv" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::day_count() const" location="f207:159" file="f207" line="159" [...]
+  <OperatorMethod id="_16043" name="+" returns="_9061" const="1" context="_11274" access="public" mangled="_ZNK5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEplERKS7_" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::operator+(boost::date_time::date_duration<boost::date_time::dur [...]
+    <Argument name="dd" type="_16391" location="f207:164" file="f207" line="164"/>
+  </OperatorMethod>
+  <OperatorMethod id="_16044" name="+=" returns="_9061" context="_11274" access="public" mangled="_ZN5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEpLERKS7_" demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::operator+=(boost::date_time::date_duration<boost::date_time::duration_tra [...]
+    <Argument name="dd" type="_16391" location="f207:172" file="f207" line="172"/>
+  </OperatorMethod>
+  <Constructor id="_16045" name="date" explicit="1" context="_11274" access="protected" mangled="_ZN5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEC1Em *INTERNAL* " demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::date(unsigned long)" location="f207:183" file="f207" line="183" endli [...]
+    <Argument name="days" type="_643" location="f207:183" file="f207" line="183"/>
+  </Constructor>
+  <Constructor id="_16046" name="date" explicit="1" context="_11274" access="protected" mangled="_ZN5boost9date_time4dateINS_9gregorian4dateENS2_18gregorian_calendarENS0_13date_durationINS0_23duration_traits_adaptedEEEEC1ENS0_11int_adapterImEE *INTERNAL* " demangled="boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::date_time::date_duration<boost::date_time::duration_traits_adapted> >::date(boost::date_time::int_adapter<unsigned lo [...]
+    <Argument name="days" type="_10757" location="f207:184" file="f207" line="184"/>
+  </Constructor>
+  <ReferenceType id="_16060" type="_4133c" size="32" align="32"/>
+  <ReferenceType id="_16062" type="_4146c" size="32" align="32"/>
+  <ReferenceType id="_16065" type="_4236c" size="32" align="32"/>
+  <ReferenceType id="_16067" type="_4282c" size="32" align="32"/>
+  <CvQualifiedType id="_3286c" type="_3286" const="1"/>
+  <ReferenceType id="_16094" type="_2534" size="32" align="32"/>
+  <ReferenceType id="_16095" type="_4725c" size="32" align="32"/>
+  <ReferenceType id="_16096" type="_4725" size="32" align="32"/>
+  <ReferenceType id="_16135" type="_5786c" size="32" align="32"/>
+  <ReferenceType id="_16152" type="_6222c" size="32" align="32"/>
+  <PointerType id="_16153" type="_16172" size="32" align="32"/>
+  <ArrayType id="_16154" min="0" max="" type="_16171" align="32"/>
+  <CvQualifiedType id="_16154c" type="_16154" const="1"/>
+  <ArrayType id="_16156" min="0" max="" type="_16171" align="32"/>
+  <CvQualifiedType id="_16156c" type="_16156" const="1"/>
+  <ArrayType id="_16158" min="0" max="" type="_16171" align="32"/>
+  <CvQualifiedType id="_16158c" type="_16158" const="1"/>
+  <ArrayType id="_16160" min="0" max="" type="_16171" align="32"/>
+  <CvQualifiedType id="_16160c" type="_16160" const="1"/>
+  <ArrayType id="_16162" min="0" max="" type="_16171" align="32"/>
+  <CvQualifiedType id="_16162c" type="_16162" const="1"/>
+  <ArrayType id="_16164" min="0" max="" type="_16171" align="32"/>
+  <CvQualifiedType id="_16164c" type="_16164" const="1"/>
+  <ArrayType id="_16166" min="0" max="" type="_16170" align="32"/>
+  <CvQualifiedType id="_16166c" type="_16166" const="1"/>
+  <ReferenceType id="_16168" type="_6223c" size="32" align="32"/>
+  <PointerType id="_16169" type="_6223c" size="32" align="32"/>
+  <PointerType id="_16170" type="_16171c" size="32" align="32"/>
+  <PointerType id="_16171" type="_6222c" size="32" align="32"/>
+  <PointerType id="_16172" type="_4725c" size="32" align="32"/>
+  <ReferenceType id="_16199" type="_6498c" size="32" align="32"/>
+  <ReferenceType id="_16204" type="_6537c" size="32" align="32"/>
+  <ReferenceType id="_16218" type="_6880c" size="32" align="32"/>
+  <ReferenceType id="_16222" type="_6919c" size="32" align="32"/>
+  <ReferenceType id="_16227" type="_7100c" size="32" align="32"/>
+  <ReferenceType id="_16228" type="_7113c" size="32" align="32"/>
+  <ReferenceType id="_16229" type="_7114c" size="32" align="32"/>
+  <ReferenceType id="_16232" type="_7188c" size="32" align="32"/>
+  <CvQualifiedType id="_2786c" type="_2786" const="1"/>
+  <ArrayType id="_16233" min="0" max="3" type="_1698" size="128" align="32"/>
+  <ReferenceType id="_16234" type="_7189c" size="32" align="32"/>
+  <ReferenceType id="_16235" type="_7190c" size="32" align="32"/>
+  <ReferenceType id="_16236" type="_7335c" size="32" align="32"/>
+  <CvQualifiedType id="_2961c" type="_2961" const="1"/>
+  <ReferenceType id="_16237" type="_7336c" size="32" align="32"/>
+  <ReferenceType id="_16238" type="_7337c" size="32" align="32"/>
+  <Struct id="_16380" name="__base_class_type_info_pseudo" context="_1" mangled="29__base_class_type_info_pseudo" demangled="__base_class_type_info_pseudo" location="f115:0" file="f115" line="0" size="64" align="32" members="" bases=""/>
+  <ReferenceType id="_16389" type="_8348c" size="32" align="32"/>
+  <CvQualifiedType id="_11275c" type="_11275" const="1"/>
+  <ReferenceType id="_16391" type="_10752c" size="32" align="32"/>
+  <ReferenceType id="_16453" type="_10759c" size="32" align="32"/>
+  <ReferenceType id="_16454" type="_643c" size="32" align="32"/>
+  <ReferenceType id="_16455" type="_9063c" size="32" align="32"/>
+  <Field id="_16457" name="obj_ptr" type="_1042" offset="0" context="_12097" access="public" mangled="_ZN5boost6detail8function15function_buffer7obj_ptrE" demangled="boost::detail::function::function_buffer::obj_ptr" location="f17:119" file="f17" line="119"/>
+  <Field id="_16458" name="const_obj_ptr" type="_2807" offset="0" context="_12097" access="public" mangled="_ZN5boost6detail8function15function_buffer13const_obj_ptrE" demangled="boost::detail::function::function_buffer::const_obj_ptr" location="f17:123" file="f17" line="123"/>
+  <Field id="_16459" name="func_ptr" type="_2254" offset="0" context="_12097" access="public" mangled="_ZN5boost6detail8function15function_buffer8func_ptrE" demangled="boost::detail::function::function_buffer::func_ptr" mutable="1" location="f17:126" file="f17" line="126"/>
+  <Field id="_16460" name="bound_memfunc_ptr" type="_16462" offset="0" context="_12097" access="public" mangled="_ZN5boost6detail8function15function_buffer17bound_memfunc_ptrE" demangled="boost::detail::function::function_buffer::bound_memfunc_ptr" location="f17:132" file="f17" line="132"/>
+  <Field id="_16461" name="data" type="_2961" offset="0" context="_12097" access="public" mangled="_ZN5boost6detail8function15function_buffer4dataE" demangled="boost::detail::function::function_buffer::data" mutable="1" location="f17:135" file="f17" line="135"/>
+  <Struct id="_16462" name="bound_memfunc_ptr_t" context="_12097" access="public" mangled="N5boost6detail8function15function_buffer19bound_memfunc_ptr_tE" demangled="boost::detail::function::function_buffer::bound_memfunc_ptr_t" location="f17:129" file="f17" line="129" artificial="1" size="96" align="32" members="_17852 _17853 _17854 _17855 " bases=""/>
+  <Constructor id="_16463" name="function_buffer" artificial="1" throw="" context="_12097" access="public" mangled="_ZN5boost6detail8function15function_bufferC1ERKS2_ *INTERNAL* " demangled="boost::detail::function::function_buffer::function_buffer(boost::detail::function::function_buffer const&)" location="f17:117" file="f17" line="117" inline="1">
+    <Argument name="_ctor_arg" type="_17856" location="f17:117" file="f17" line="117"/>
+  </Constructor>
+  <Constructor id="_16464" name="function_buffer" explicit="1" artificial="1" throw="" context="_12097" access="public" mangled="_ZN5boost6detail8function15function_bufferC1Ev *INTERNAL* " demangled="boost::detail::function::function_buffer::function_buffer()" location="f17:117" file="f17" line="117" inline="1"/>
+  <ReferenceType id="_16471" type="_9096c" size="32" align="32"/>
+  <CvQualifiedType id="_3886c" type="_3886" const="1"/>
+  <ReferenceType id="_16474" type="_9099c" size="32" align="32"/>
+  <CvQualifiedType id="_3887c" type="_3887" const="1"/>
+  <ReferenceType id="_16477" type="_9102c" size="32" align="32"/>
+  <CvQualifiedType id="_643c" type="_643" const="1"/>
+  <ReferenceType id="_16480" type="_9105c" size="32" align="32"/>
+  <CvQualifiedType id="_1553c" type="_1553" const="1"/>
+  <ReferenceType id="_16483" type="_9108c" size="32" align="32"/>
+  <CvQualifiedType id="_837c" type="_837" const="1"/>
+  <ReferenceType id="_16486" type="_9111c" size="32" align="32"/>
+  <ReferenceType id="_16488" type="_9114c" size="32" align="32"/>
+  <CvQualifiedType id="_1202c" type="_1202" const="1"/>
+  <ReferenceType id="_16491" type="_9117c" size="32" align="32"/>
+  <ReferenceType id="_16493" type="_9120c" size="32" align="32"/>
+  <CvQualifiedType id="_1296c" type="_1296" const="1"/>
+  <ReferenceType id="_16495" type="_9123c" size="32" align="32"/>
+  <CvQualifiedType id="_1301c" type="_1301" const="1"/>
+  <ReferenceType id="_16497" type="_9126c" size="32" align="32"/>
+  <ReferenceType id="_16499" type="_9129c" size="32" align="32"/>
+  <ReferenceType id="_16501" type="_9132c" size="32" align="32"/>
+  <ReferenceType id="_16522" type="_9210c" size="32" align="32"/>
+  <ReferenceType id="_16524" type="_9265c" size="32" align="32"/>
+  <ReferenceType id="_16526" type="_9268c" size="32" align="32"/>
+  <ReferenceType id="_16528" type="_9283c" size="32" align="32"/>
+  <ReferenceType id="_16529" type="_9323c" size="32" align="32"/>
+  <ReferenceType id="_16580" type="_9454c" size="32" align="32"/>
+  <Constructor id="_16581" name="or_impl" artificial="1" throw="" context="_12280" access="public" mangled="_ZN5boost3mpl3aux7or_implILb1ENS_14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EEN4mpl_5bool_ILb0EEESF_SF_EC1ERKSG_ *INTERNAL* " demangled="boost::mpl::aux::or_impl<true, boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string> [...]
+    <Argument name="_ctor_arg" type="_17876" location="f200:19" file="f200" line="19"/>
+  </Constructor>
+  <Constructor id="_16582" name="or_impl" explicit="1" artificial="1" throw="" context="_12280" access="public" mangled="_ZN5boost3mpl3aux7or_implILb1ENS_14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EEN4mpl_5bool_ILb0EEESF_SF_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::or_impl<true, boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::s [...]
+  <ReferenceType id="_16584" type="_9457c" size="32" align="32"/>
+  <Constructor id="_16585" name="or_impl" artificial="1" throw="" context="_12284" access="public" mangled="_ZN5boost3mpl3aux7or_implILb1ENS_14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EEN4mpl_5bool_ILb0EEESI_SI_EC1ERKSJ_ *INTERNAL* " demangled="boost::mpl::aux::or_impl<true, boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__norm [...]
+    <Argument name="_ctor_arg" type="_17878" location="f200:19" file="f200" line="19"/>
+  </Constructor>
+  <Constructor id="_16586" name="or_impl" explicit="1" artificial="1" throw="" context="_12284" access="public" mangled="_ZN5boost3mpl3aux7or_implILb1ENS_14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EEN4mpl_5bool_ILb0EEESI_SI_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::or_impl<true, boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cx [...]
+  <ReferenceType id="_16590" type="_9464c" size="32" align="32"/>
+  <ReferenceType id="_16592" type="_9467c" size="32" align="32"/>
+  <ReferenceType id="_16835" type="_10014c" size="32" align="32"/>
+  <ReferenceType id="_16839" type="_10065c" size="32" align="32"/>
+  <ReferenceType id="_16858" type="_10127c" size="32" align="32"/>
+  <ReferenceType id="_16860" type="_10131c" size="32" align="32"/>
+  <ReferenceType id="_16877" type="_10179c" size="32" align="32"/>
+  <ReferenceType id="_16894" type="_10211c" size="32" align="32"/>
+  <PointerType id="_16895" type="_10249" size="32" align="32"/>
+  <ReferenceType id="_16896" type="_10221c" size="32" align="32"/>
+  <ReferenceType id="_16897" type="_10223c" size="32" align="32"/>
+  <ReferenceType id="_16898" type="_10224c" size="32" align="32"/>
+  <ReferenceType id="_16899" type="_10227c" size="32" align="32"/>
+  <ReferenceType id="_16900" type="_10234c" size="32" align="32"/>
+  <ReferenceType id="_16901" type="_10236c" size="32" align="32"/>
+  <ReferenceType id="_16902" type="_10242c" size="32" align="32"/>
+  <ReferenceType id="_16903" type="_10245c" size="32" align="32"/>
+  <ReferenceType id="_16904" type="_10247c" size="32" align="32"/>
+  <ReferenceType id="_16905" type="_10250c" size="32" align="32"/>
+  <ReferenceType id="_16906" type="_10251c" size="32" align="32"/>
+  <ReferenceType id="_16907" type="_10253c" size="32" align="32"/>
+  <ReferenceType id="_16908" type="_10254c" size="32" align="32"/>
+  <ReferenceType id="_16909" type="_10256c" size="32" align="32"/>
+  <ReferenceType id="_16910" type="_10257c" size="32" align="32"/>
+  <ReferenceType id="_16911" type="_10259c" size="32" align="32"/>
+  <ReferenceType id="_16912" type="_10260c" size="32" align="32"/>
+  <ReferenceType id="_16913" type="_10262c" size="32" align="32"/>
+  <ReferenceType id="_16916" type="_10272c" size="32" align="32"/>
+  <ReferenceType id="_16917" type="_10273c" size="32" align="32"/>
+  <ReferenceType id="_16918" type="_10274c" size="32" align="32"/>
+  <ReferenceType id="_16919" type="_10312c" size="32" align="32"/>
+  <ReferenceType id="_16920" type="_10314c" size="32" align="32"/>
+  <ReferenceType id="_16921" type="_10316c" size="32" align="32"/>
+  <ReferenceType id="_16922" type="_10318c" size="32" align="32"/>
+  <ReferenceType id="_16923" type="_10324c" size="32" align="32"/>
+  <ReferenceType id="_16924" type="_10327c" size="32" align="32"/>
+  <ReferenceType id="_16925" type="_10330c" size="32" align="32"/>
+  <ReferenceType id="_16926" type="_10331c" size="32" align="32"/>
+  <ReferenceType id="_16927" type="_10332c" size="32" align="32"/>
+  <ReferenceType id="_16928" type="_10345c" size="32" align="32"/>
+  <ReferenceType id="_16929" type="_10342c" size="32" align="32"/>
+  <ReferenceType id="_16930" type="_10344c" size="32" align="32"/>
+  <ReferenceType id="_16931" type="_10346c" size="32" align="32"/>
+  <ReferenceType id="_16932" type="_10348c" size="32" align="32"/>
+  <ReferenceType id="_16933" type="_10350c" size="32" align="32"/>
+  <ReferenceType id="_16934" type="_10351c" size="32" align="32"/>
+  <ReferenceType id="_16935" type="_10352c" size="32" align="32"/>
+  <ReferenceType id="_16936" type="_10353c" size="32" align="32"/>
+  <ReferenceType id="_16937" type="_10356c" size="32" align="32"/>
+  <ReferenceType id="_16938" type="_10357c" size="32" align="32"/>
+  <CvQualifiedType id="_1042c" type="_1042" const="1"/>
+  <ReferenceType id="_16940" type="_10358c" size="32" align="32"/>
+  <ReferenceType id="_16941" type="_10359c" size="32" align="32"/>
+  <ReferenceType id="_16942" type="_1042c" size="32" align="32"/>
+  <ReferenceType id="_16943" type="_10360c" size="32" align="32"/>
+  <ReferenceType id="_16944" type="_1553c" size="32" align="32"/>
+  <CvQualifiedType id="_2499c" type="_2499" const="1"/>
+  <ReferenceType id="_16946" type="_10389c" size="32" align="32"/>
+  <ReferenceType id="_16947" type="_10390c" size="32" align="32"/>
+  <ReferenceType id="_16948" type="_2499c" size="32" align="32"/>
+  <ReferenceType id="_16949" type="_10391c" size="32" align="32"/>
+  <ReferenceType id="_16950" type="_10392c" size="32" align="32"/>
+  <ReferenceType id="_16951" type="_2145c" size="32" align="32"/>
+  <Field id="_16952" name="m_Format" type="_3458" offset="0" context="_13155" access="private" mangled="_ZN5boost9algorithm6detail13const_formatFISsE8m_FormatE" demangled="boost::algorithm::detail::const_formatF<std::string>::m_Format" location="f299:59" file="f299" line="59"/>
+  <Typedef id="_16953" name="format_iterator" type="_3328" context="_13155" access="private" location="f299:35" file="f299" line="35"/>
+  <Typedef id="_16954" name="result_type" type="_3458" context="_13155" access="private" location="f299:36" file="f299" line="36"/>
+  <Constructor id="_16955" name="const_formatF" artificial="1" throw="" context="_13155" access="public" mangled="_ZN5boost9algorithm6detail13const_formatFISsEC1ERKS3_ *INTERNAL* " demangled="boost::algorithm::detail::const_formatF<std::string>::const_formatF(boost::algorithm::detail::const_formatF<std::string> const&)" location="f299:32" file="f299" line="32" inline="1">
+    <Argument name="_ctor_arg" type="_17935" location="f299:32" file="f299" line="32"/>
+  </Constructor>
+  <Constructor id="_16956" name="const_formatF" context="_13155" access="public" mangled="_ZN5boost9algorithm6detail13const_formatFISsEC1ERKSs *INTERNAL* " demangled="boost::algorithm::detail::const_formatF<std::string>::const_formatF(std::string const&)" location="f299:40" file="f299" line="40" endline="41" inline="1">
+    <Argument name="Format" type="_4948" location="f299:40" file="f299" line="40"/>
+  </Constructor>
+  <Field id="_16957" name="m_N" type="_503" offset="0" context="_13156" access="private" mangled="_ZN5boost9algorithm6detail12tail_finderF3m_NE" demangled="boost::algorithm::detail::tail_finderF::m_N" location="f300:535" file="f300" line="535"/>
+  <Constructor id="_16958" name="tail_finderF" artificial="1" throw="" context="_13156" access="public" mangled="_ZN5boost9algorithm6detail12tail_finderFC1ERKS2_ *INTERNAL* " demangled="boost::algorithm::detail::tail_finderF::tail_finderF(boost::algorithm::detail::tail_finderF const&)" location="f300:510" file="f300" line="510" inline="1">
+    <Argument name="_ctor_arg" type="_17936" location="f300:510" file="f300" line="510"/>
+  </Constructor>
+  <Constructor id="_16959" name="tail_finderF" context="_13156" access="public" mangled="_ZN5boost9algorithm6detail12tail_finderFC1Ei *INTERNAL* " demangled="boost::algorithm::detail::tail_finderF::tail_finderF(int)" location="f300:512" file="f300" line="512" endline="512" inline="1">
+    <Argument name="N" type="_503" location="f300:512" file="f300" line="512"/>
+  </Constructor>
+  <Field id="_16960" name="m_N" type="_503" offset="0" context="_13157" access="private" mangled="_ZN5boost9algorithm6detail12head_finderF3m_NE" demangled="boost::algorithm::detail::head_finderF::m_N" location="f300:497" file="f300" line="497"/>
+  <Constructor id="_16961" name="head_finderF" artificial="1" throw="" context="_13157" access="public" mangled="_ZN5boost9algorithm6detail12head_finderFC1ERKS2_ *INTERNAL* " demangled="boost::algorithm::detail::head_finderF::head_finderF(boost::algorithm::detail::head_finderF const&)" location="f300:472" file="f300" line="472" inline="1">
+    <Argument name="_ctor_arg" type="_17937" location="f300:472" file="f300" line="472"/>
+  </Constructor>
+  <Constructor id="_16962" name="head_finderF" context="_13157" access="public" mangled="_ZN5boost9algorithm6detail12head_finderFC1Ei *INTERNAL* " demangled="boost::algorithm::detail::head_finderF::head_finderF(int)" location="f300:474" file="f300" line="474" endline="474" inline="1">
+    <Argument name="N" type="_503" location="f300:474" file="f300" line="474"/>
+  </Constructor>
+  <Field id="_16963" name="m_Search" type="_3460" offset="0" context="_13158" access="private" mangled="_ZN5boost9algorithm6detail13first_finderFIPKcNS0_8is_equalEE8m_SearchE" demangled="boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>::m_Search" location="f300:87" file="f300" line="87"/>
+  <Field id="_16964" name="m_Comp" type="_10403" offset="96" context="_13158" access="private" mangled="_ZN5boost9algorithm6detail13first_finderFIPKcNS0_8is_equalEE6m_CompE" demangled="boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>::m_Comp" location="f300:88" file="f300" line="88"/>
+  <Typedef id="_16965" name="search_iterator_type" type="_2749" context="_13158" access="public" location="f300:37" file="f300" line="37"/>
+  <Constructor id="_16966" name="first_finderF" artificial="1" throw="" context="_13158" access="public" mangled="_ZN5boost9algorithm6detail13first_finderFIPKcNS0_8is_equalEEC1ERKS6_ *INTERNAL* " demangled="boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>::first_finderF(boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal> const&)" location="f300:36" file="f300" line="36" inline="1">
+    <Argument name="_ctor_arg" type="_17938" location="f300:36" file="f300" line="36"/>
+  </Constructor>
+  <Constructor id="_16967" name="first_finderF" explicit="1" context="_13158" access="public" mangled="_ZN5boost9algorithm6detail13first_finderFIPKcNS0_8is_equalEEC1ES4_S4_S5_ *INTERNAL* " demangled="boost::algorithm::detail::first_finderF<char const*, boost::algorithm::is_equal>::first_finderF(char const*, char const*, boost::algorithm::is_equal)" location="f300:46" file="f300" line="46" extern="1" inline="1">
+    <Argument name="SearchBegin" type="_2749" location="f300:46" file="f300" line="46"/>
+    <Argument name="SearchEnd" type="_2749" location="f300:46" file="f300" line="46"/>
+    <Argument name="Comp" type="_10403" location="f300:46" file="f300" line="46"/>
+  </Constructor>
+  <ReferenceType id="_16968" type="_10398c" size="32" align="32"/>
+  <ReferenceType id="_16969" type="_10399c" size="32" align="32"/>
+  <ReferenceType id="_16970" type="_10400c" size="32" align="32"/>
+  <ReferenceType id="_16971" type="_10401c" size="32" align="32"/>
+  <ReferenceType id="_16972" type="_10402c" size="32" align="32"/>
+  <ReferenceType id="_16973" type="_10403c" size="32" align="32"/>
+  <ReferenceType id="_16974" type="_10406c" size="32" align="32"/>
+  <ReferenceType id="_16975" type="_10409c" size="32" align="32"/>
+  <ReferenceType id="_16976" type="_10410c" size="32" align="32"/>
+  <PointerType id="_16977" type="_13158" size="32" align="32"/>
+  <PointerType id="_16978" type="_13155" size="32" align="32"/>
+  <ReferenceType id="_16979" type="_10411c" size="32" align="32"/>
+  <ReferenceType id="_16980" type="_10412c" size="32" align="32"/>
+  <Constructor id="_16981" name="process_segment_helper" artificial="1" throw="" context="_13204" access="public" mangled="_ZN5boost9algorithm6detail22process_segment_helperILb0EEC1ERKS3_ *INTERNAL* " demangled="boost::algorithm::detail::process_segment_helper<false>::process_segment_helper(boost::algorithm::detail::process_segment_helper<false> const&)" location="f302:56" file="f302" line="56" inline="1">
+    <Argument name="_ctor_arg" type="_17950" location="f302:56" file="f302" line="56"/>
+  </Constructor>
+  <Constructor id="_16982" name="process_segment_helper" explicit="1" artificial="1" throw="" context="_13204" access="public" mangled="_ZN5boost9algorithm6detail22process_segment_helperILb0EEC1Ev *INTERNAL* " demangled="boost::algorithm::detail::process_segment_helper<false>::process_segment_helper()" location="f302:56" file="f302" line="56" inline="1"/>
+  <Constructor id="_16983" name="process_segment_helper" artificial="1" throw="" context="_13205" access="public" mangled="_ZN5boost9algorithm6detail22process_segment_helperILb1EEC1ERKS3_ *INTERNAL* " demangled="boost::algorithm::detail::process_segment_helper<true>::process_segment_helper(boost::algorithm::detail::process_segment_helper<true> const&)" location="f302:112" file="f302" line="112" inline="1">
+    <Argument name="_ctor_arg" type="_17951" location="f302:112" file="f302" line="112"/>
+  </Constructor>
+  <Constructor id="_16984" name="process_segment_helper" explicit="1" artificial="1" throw="" context="_13205" access="public" mangled="_ZN5boost9algorithm6detail22process_segment_helperILb1EEC1Ev *INTERNAL* " demangled="boost::algorithm::detail::process_segment_helper<true>::process_segment_helper()" location="f302:112" file="f302" line="112" inline="1"/>
+  <Constructor id="_16985" name="replace_native_helper" artificial="1" throw="" context="_13208" access="public" mangled="_ZN5boost9algorithm6detail21replace_native_helperILb1EEC1ERKS3_ *INTERNAL* " demangled="boost::algorithm::detail::replace_native_helper<true>::replace_native_helper(boost::algorithm::detail::replace_native_helper<true> const&)" location="f303:150" file="f303" line="150" inline="1">
+    <Argument name="_ctor_arg" type="_17952" location="f303:150" file="f303" line="150"/>
+  </Constructor>
+  <Constructor id="_16986" name="replace_native_helper" explicit="1" artificial="1" throw="" context="_13208" access="public" mangled="_ZN5boost9algorithm6detail21replace_native_helperILb1EEC1Ev *INTERNAL* " demangled="boost::algorithm::detail::replace_native_helper<true>::replace_native_helper()" location="f303:150" file="f303" line="150" inline="1"/>
+  <Constructor id="_16987" name="replace_const_time_helper" artificial="1" throw="" context="_13209" access="public" mangled="_ZN5boost9algorithm6detail25replace_const_time_helperILb1EEC1ERKS3_ *INTERNAL* " demangled="boost::algorithm::detail::replace_const_time_helper<true>::replace_const_time_helper(boost::algorithm::detail::replace_const_time_helper<true> const&)" location="f303:102" file="f303" line="102" inline="1">
+    <Argument name="_ctor_arg" type="_17953" location="f303:102" file="f303" line="102"/>
+  </Constructor>
+  <Constructor id="_16988" name="replace_const_time_helper" explicit="1" artificial="1" throw="" context="_13209" access="public" mangled="_ZN5boost9algorithm6detail25replace_const_time_helperILb1EEC1Ev *INTERNAL* " demangled="boost::algorithm::detail::replace_const_time_helper<true>::replace_const_time_helper()" location="f303:102" file="f303" line="102" inline="1"/>
+  <Field id="_16989" name="m_FormatResult" type="_3458" offset="96" context="_13212" access="private" mangled="_ZN5boost9algorithm6detail17find_format_storeIN9__gnu_cxx17__normal_iteratorIPcSsEENS1_13const_formatFISsEENS_14iterator_rangeINS4_IPKcSsEEEEE14m_FormatResultE" demangled="boost::algorithm::detail::find_format_store<__gnu_cxx::__normal_iterator<char*, std::string>, boost::algorithm::detail::const_formatF<std::string>, boost::iterator_range<__gnu_cxx::__normal_i [...]
+  <Field id="_16990" name="m_Formatter" type="_17935" offset="192" context="_13212" access="private" mangled="_ZN5boost9algorithm6detail17find_format_storeIN9__gnu_cxx17__normal_iteratorIPcSsEENS1_13const_formatFISsEENS_14iterator_rangeINS4_IPKcSsEEEEE11m_FormatterE" demangled="boost::algorithm::detail::find_format_store<__gnu_cxx::__normal_iterator<char*, std::string>, boost::algorithm::detail::const_formatF<std::string>, boost::iterator_range<__gnu_cxx::__normal_itera [...]
+  <Typedef id="_16991" name="base_type" type="_3459" context="_13212" access="public" location="f304:31" file="f304" line="31"/>
+  <Typedef id="_16992" name="formatter_type" type="_13155" context="_13212" access="public" location="f304:32" file="f304" line="32"/>
+  <Typedef id="_16993" name="format_result_type" type="_3458" context="_13212" access="public" location="f304:33" file="f304" line="33"/>
+  <Constructor id="_16994" name="find_format_store" artificial="1" throw="" context="_13212" access="public" mangled="_ZN5boost9algorithm6detail17find_format_storeIN9__gnu_cxx17__normal_iteratorIPcSsEENS1_13const_formatFISsEENS_14iterator_rangeINS4_IPKcSsEEEEEC1ERKSE_ *INTERNAL* " demangled="boost::algorithm::detail::find_format_store<__gnu_cxx::__normal_iterator<char*, std::string>, boost::algorithm::detail::const_formatF<std::string>, boost::iterator_range<__gnu_cxx:: [...]
+    <Argument name="_ctor_arg" type="_17954" location="f304:28" file="f304" line="28"/>
+  </Constructor>
+  <Constructor id="_16995" name="find_format_store" explicit="1" context="_13212" access="public" mangled="_ZN5boost9algorithm6detail17find_format_storeIN9__gnu_cxx17__normal_iteratorIPcSsEENS1_13const_formatFISsEENS_14iterator_rangeINS4_IPKcSsEEEEEC1ERKNS9_IS6_EERKSD_RKS8_ *INTERNAL* " demangled="boost::algorithm::detail::find_format_store<__gnu_cxx::__normal_iterator<char*, std::string>, boost::algorithm::detail::const_formatF<std::string>, boost::iterator_range<__gnu [...]
+    <Argument name="FindResult" type="_9792" location="f304:40" file="f304" line="40"/>
+    <Argument name="FormatResult" type="_9793" location="f304:40" file="f304" line="40"/>
+    <Argument name="Formatter" type="_17935" location="f304:40" file="f304" line="40"/>
+  </Constructor>
+  <Method id="_16996" name="format_result" returns="_9793" context="_13212" access="public" mangled="_ZN5boost9algorithm6detail17find_format_storeIN9__gnu_cxx17__normal_iteratorIPcSsEENS1_13const_formatFISsEENS_14iterator_rangeINS4_IPKcSsEEEEE13format_resultEv" demangled="boost::algorithm::detail::find_format_store<__gnu_cxx::__normal_iterator<char*, std::string>, boost::algorithm::detail::const_formatF<std::string>, boost::iterator_range<__gnu_cxx::__normal_iterator&lt [...]
+  <ReferenceType id="_16997" type="_10414c" size="32" align="32"/>
+  <ReferenceType id="_16998" type="_10415c" size="32" align="32"/>
+  <ReferenceType id="_16999" type="_10418c" size="32" align="32"/>
+  <ReferenceType id="_17000" type="_10419c" size="32" align="32"/>
+  <ReferenceType id="_17001" type="_10420c" size="32" align="32"/>
+  <ReferenceType id="_17002" type="_10421c" size="32" align="32"/>
+  <PointerType id="_17003" type="_17961" size="32" align="32"/>
+  <PointerType id="_17004" type="_17962" size="32" align="32"/>
+  <ReferenceType id="_17005" type="_10423c" size="32" align="32"/>
+  <ReferenceType id="_17006" type="_10424c" size="32" align="32"/>
+  <ReferenceType id="_17007" type="_10425c" size="32" align="32"/>
+  <ReferenceType id="_17008" type="_10426c" size="32" align="32"/>
+  <ReferenceType id="_17009" type="_10427c" size="32" align="32"/>
+  <ReferenceType id="_17010" type="_10428c" size="32" align="32"/>
+  <ReferenceType id="_17011" type="_10429c" size="32" align="32"/>
+  <ReferenceType id="_17012" type="_10430c" size="32" align="32"/>
+  <ReferenceType id="_17013" type="_10431c" size="32" align="32"/>
+  <ReferenceType id="_17014" type="_10432c" size="32" align="32"/>
+  <ReferenceType id="_17015" type="_10433c" size="32" align="32"/>
+  <ReferenceType id="_17016" type="_10434c" size="32" align="32"/>
+  <ReferenceType id="_17017" type="_10435c" size="32" align="32"/>
+  <ReferenceType id="_17018" type="_10436c" size="32" align="32"/>
+  <ReferenceType id="_17019" type="_10437c" size="32" align="32"/>
+  <ReferenceType id="_17020" type="_10438c" size="32" align="32"/>
+  <ReferenceType id="_17021" type="_10439c" size="32" align="32"/>
+  <ReferenceType id="_17022" type="_10440c" size="32" align="32"/>
+  <ReferenceType id="_17023" type="_10441c" size="32" align="32"/>
+  <ReferenceType id="_17024" type="_10442c" size="32" align="32"/>
+  <ReferenceType id="_17025" type="_10443c" size="32" align="32"/>
+  <ReferenceType id="_17026" type="_10444c" size="32" align="32"/>
+  <ReferenceType id="_17027" type="_10445c" size="32" align="32"/>
+  <ReferenceType id="_17028" type="_10446c" size="32" align="32"/>
+  <ReferenceType id="_17029" type="_10447c" size="32" align="32"/>
+  <ReferenceType id="_17030" type="_10448c" size="32" align="32"/>
+  <ReferenceType id="_17031" type="_10449c" size="32" align="32"/>
+  <ReferenceType id="_17032" type="_10475c" size="32" align="32"/>
+  <ReferenceType id="_17033" type="_10499c" size="32" align="32"/>
+  <ReferenceType id="_17034" type="_10500c" size="32" align="32"/>
+  <ReferenceType id="_17035" type="_10501c" size="32" align="32"/>
+  <ReferenceType id="_17036" type="_10502c" size="32" align="32"/>
+  <ReferenceType id="_17037" type="_10503c" size="32" align="32"/>
+  <ReferenceType id="_17038" type="_10504c" size="32" align="32"/>
+  <ReferenceType id="_17039" type="_10505c" size="32" align="32"/>
+  <ReferenceType id="_17040" type="_10506c" size="32" align="32"/>
+  <Typedef id="_17041" name="type" type="_3949" context="_13385" access="public" location="f140:55" file="f140" line="55"/>
+  <Constructor id="_17042" name="apply" artificial="1" throw="" context="_13385" access="public" mangled="_ZN5boost6detail12always_bool25applyINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESA_EC1ERKSB_ *INTERNAL* " demangled="boost::detail::always_bool2::apply<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separator, __gnu_cxx:: [...]
+    <Argument name="_ctor_arg" type="_17999" location="f140:54" file="f140" line="54"/>
+  </Constructor>
+  <Constructor id="_17043" name="apply" explicit="1" artificial="1" throw="" context="_13385" access="public" mangled="_ZN5boost6detail12always_bool25applyINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESA_EC1Ev *INTERNAL* " demangled="boost::detail::always_bool2::apply<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost::token_iterator<boost::offset_separator, __ [...]
+  <ReferenceType id="_17044" type="_10507c" size="32" align="32"/>
+  <Typedef id="_17045" name="type" type="_3949" context="_13388" access="public" location="f140:55" file="f140" line="55"/>
+  <Constructor id="_17046" name="apply" artificial="1" throw="" context="_13388" access="public" mangled="_ZN5boost6detail12always_bool25applyINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESD_EC1ERKSE_ *INTERNAL* " demangled="boost::detail::always_bool2::apply<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, b [...]
+    <Argument name="_ctor_arg" type="_18001" location="f140:54" file="f140" line="54"/>
+  </Constructor>
+  <Constructor id="_17047" name="apply" explicit="1" artificial="1" throw="" context="_13388" access="public" mangled="_ZN5boost6detail12always_bool25applyINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESD_EC1Ev *INTERNAL* " demangled="boost::detail::always_bool2::apply<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iterator<char const*, std::string>, std::stri [...]
+  <ReferenceType id="_17048" type="_10508c" size="32" align="32"/>
+  <ReferenceType id="_17049" type="_10509c" size="32" align="32"/>
+  <ReferenceType id="_17050" type="_10510c" size="32" align="32"/>
+  <Constructor id="_17051" name="and_impl" artificial="1" throw="" context="_13395" access="public" mangled="_ZN5boost3mpl3aux8and_implILb0ENS_6detail29iterator_writability_disabledISbIwSt11char_traitsIwESaIwEERKS8_EEN4mpl_5bool_ILb1EEESE_SE_EC1ERKSF_ *INTERNAL* " demangled="boost::mpl::aux::and_impl<false, boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wchar_t, std [...]
+    <Argument name="_ctor_arg" type="_18005" location="f259:19" file="f259" line="19"/>
+  </Constructor>
+  <Constructor id="_17052" name="and_impl" explicit="1" artificial="1" throw="" context="_13395" access="public" mangled="_ZN5boost3mpl3aux8and_implILb0ENS_6detail29iterator_writability_disabledISbIwSt11char_traitsIwESaIwEERKS8_EEN4mpl_5bool_ILb1EEESE_SE_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::and_impl<false, boost::detail::iterator_writability_disabled<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::basic_string<wch [...]
+  <ReferenceType id="_17053" type="_10511c" size="32" align="32"/>
+  <Constructor id="_17054" name="and_impl" artificial="1" throw="" context="_13398" access="public" mangled="_ZN5boost3mpl3aux8and_implILb1ENS_14is_convertibleINS_21forward_traversal_tagES4_EEN4mpl_5bool_ILb1EEES8_S8_EC1ERKS9_ *INTERNAL* " demangled="boost::mpl::aux::and_impl<true, boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_impl(boost::mpl::aux::and_impl&lt [...]
+    <Argument name="_ctor_arg" type="_18007" location="f259:19" file="f259" line="19"/>
+  </Constructor>
+  <Constructor id="_17055" name="and_impl" explicit="1" artificial="1" throw="" context="_13398" access="public" mangled="_ZN5boost3mpl3aux8and_implILb1ENS_14is_convertibleINS_21forward_traversal_tagES4_EEN4mpl_5bool_ILb1EEES8_S8_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::and_impl<true, boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_impl()" location="f259:1 [...]
+  <ReferenceType id="_17056" type="_10513c" size="32" align="32"/>
+  <Constructor id="_17057" name="and_impl" artificial="1" throw="" context="_13401" access="public" mangled="_ZN5boost3mpl3aux8and_implILb0ENS_6detail29iterator_writability_disabledISsRKSsEEN4mpl_5bool_ILb1EEESA_SA_EC1ERKSB_ *INTERNAL* " demangled="boost::mpl::aux::and_impl<false, boost::detail::iterator_writability_disabled<std::string, std::string const&>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_impl(mpl_::bool_<true> const [...]
+    <Argument name="_ctor_arg" type="_18009" location="f259:19" file="f259" line="19"/>
+  </Constructor>
+  <Constructor id="_17058" name="and_impl" explicit="1" artificial="1" throw="" context="_13401" access="public" mangled="_ZN5boost3mpl3aux8and_implILb0ENS_6detail29iterator_writability_disabledISsRKSsEEN4mpl_5bool_ILb1EEESA_SA_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::and_impl<false, boost::detail::iterator_writability_disabled<std::string, std::string const&>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_impl()" location="f259:19 [...]
+  <ReferenceType id="_17059" type="_10514c" size="32" align="32"/>
+  <ReferenceType id="_17060" type="_10516c" size="32" align="32"/>
+  <ReferenceType id="_17061" type="_10517c" size="32" align="32"/>
+  <Constructor id="_17062" name="or_impl" artificial="1" throw="" context="_13408" access="public" mangled="_ZN5boost3mpl3aux7or_implILb0ENS_6detail15indirect_traits21is_reference_to_constIRKSbIwSt11char_traitsIwESaIwEEEENS_8is_constIS9_EEN4mpl_5bool_ILb0EEESH_EC1ERKSI_ *INTERNAL* " demangled="boost::mpl::aux::or_impl<false, boost::detail::indirect_traits::is_reference_to_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&a [...]
+    <Argument name="_ctor_arg" type="_18013" location="f200:19" file="f200" line="19"/>
+  </Constructor>
+  <Constructor id="_17063" name="or_impl" explicit="1" artificial="1" throw="" context="_13408" access="public" mangled="_ZN5boost3mpl3aux7or_implILb0ENS_6detail15indirect_traits21is_reference_to_constIRKSbIwSt11char_traitsIwESaIwEEEENS_8is_constIS9_EEN4mpl_5bool_ILb0EEESH_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::or_impl<false, boost::detail::indirect_traits::is_reference_to_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> &gt [...]
+  <ReferenceType id="_17064" type="_10518c" size="32" align="32"/>
+  <Constructor id="_17065" name="or_impl" artificial="1" throw="" context="_13411" access="public" mangled="_ZN5boost3mpl3aux7or_implILb0ENS_6detail15indirect_traits21is_reference_to_constIRKSsEENS_8is_constISsEEN4mpl_5bool_ILb0EEESD_EC1ERKSE_ *INTERNAL* " demangled="boost::mpl::aux::or_impl<false, boost::detail::indirect_traits::is_reference_to_const<std::string const&>, boost::is_const<std::string>, mpl_::bool_<false>, mpl_::bool_<false> >::or_impl(mpl [...]
+    <Argument name="_ctor_arg" type="_18015" location="f200:19" file="f200" line="19"/>
+  </Constructor>
+  <Constructor id="_17066" name="or_impl" explicit="1" artificial="1" throw="" context="_13411" access="public" mangled="_ZN5boost3mpl3aux7or_implILb0ENS_6detail15indirect_traits21is_reference_to_constIRKSsEENS_8is_constISsEEN4mpl_5bool_ILb0EEESD_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::or_impl<false, boost::detail::indirect_traits::is_reference_to_const<std::string const&>, boost::is_const<std::string>, mpl_::bool_<false>, mpl_::bool_<false> >::or [...]
+  <ReferenceType id="_17067" type="_10519c" size="32" align="32"/>
+  <Constructor id="_17068" name="or_impl" artificial="1" throw="" context="_13414" access="public" mangled="_ZN5boost3mpl3aux7or_implILb0ENS_14is_convertibleINS_21forward_traversal_tagESt19output_iterator_tagEEN4mpl_5bool_ILb0EEES9_S9_EC1ERKSA_ *INTERNAL* " demangled="boost::mpl::aux::or_impl<false, boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_impl(boost::mpl:: [...]
+    <Argument name="_ctor_arg" type="_18017" location="f200:19" file="f200" line="19"/>
+  </Constructor>
+  <Constructor id="_17069" name="or_impl" explicit="1" artificial="1" throw="" context="_13414" access="public" mangled="_ZN5boost3mpl3aux7or_implILb0ENS_14is_convertibleINS_21forward_traversal_tagESt19output_iterator_tagEEN4mpl_5bool_ILb0EEES9_S9_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::or_impl<false, boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_impl()"  [...]
+  <ReferenceType id="_17070" type="_10520c" size="32" align="32"/>
+  <ReferenceType id="_17071" type="_10521c" size="32" align="32"/>
+  <Constructor id="_17072" name="not_impl" artificial="1" throw="" context="_13419" access="public" mangled="_ZN5boost3mpl3aux8not_implILl0EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::not_impl<0l>::not_impl(boost::mpl::aux::not_impl<0l> const&)" location="f260:30" file="f260" line="30" inline="1">
+    <Argument name="_ctor_arg" type="_18020" location="f260:30" file="f260" line="30"/>
+  </Constructor>
+  <Constructor id="_17073" name="not_impl" explicit="1" artificial="1" throw="" context="_13419" access="public" mangled="_ZN5boost3mpl3aux8not_implILl0EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::not_impl<0l>::not_impl()" location="f260:30" file="f260" line="30" inline="1"/>
+  <ReferenceType id="_17074" type="_10523c" size="32" align="32"/>
+  <ReferenceType id="_17075" type="_10524c" size="32" align="32"/>
+  <ReferenceType id="_17076" type="_10525c" size="32" align="32"/>
+  <ReferenceType id="_17077" type="_10526c" size="32" align="32"/>
+  <ReferenceType id="_17078" type="_10527c" size="32" align="32"/>
+  <ReferenceType id="_17079" type="_10533c" size="32" align="32"/>
+  <ReferenceType id="_17080" type="_10535c" size="32" align="32"/>
+  <ReferenceType id="_17081" type="_10536c" size="32" align="32"/>
+  <ReferenceType id="_17082" type="_10537c" size="32" align="32"/>
+  <ReferenceType id="_17083" type="_10538c" size="32" align="32"/>
+  <ReferenceType id="_17084" type="_10539c" size="32" align="32"/>
+  <ReferenceType id="_17085" type="_10540c" size="32" align="32"/>
+  <ReferenceType id="_17086" type="_10541c" size="32" align="32"/>
+  <ReferenceType id="_17087" type="_10542c" size="32" align="32"/>
+  <ReferenceType id="_17088" type="_10543c" size="32" align="32"/>
+  <ReferenceType id="_17089" type="_10544c" size="32" align="32"/>
+  <ReferenceType id="_17090" type="_10545c" size="32" align="32"/>
+  <ReferenceType id="_17091" type="_10547c" size="32" align="32"/>
+  <ReferenceType id="_17092" type="_10548c" size="32" align="32"/>
+  <ReferenceType id="_17093" type="_10549c" size="32" align="32"/>
+  <ReferenceType id="_17094" type="_10550c" size="32" align="32"/>
+  <ReferenceType id="_17095" type="_10551c" size="32" align="32"/>
+  <ReferenceType id="_17096" type="_10552c" size="32" align="32"/>
+  <ReferenceType id="_17097" type="_10555c" size="32" align="32"/>
+  <ReferenceType id="_17098" type="_10557c" size="32" align="32"/>
+  <ReferenceType id="_17099" type="_10562c" size="32" align="32"/>
+  <ReferenceType id="_17100" type="_10563c" size="32" align="32"/>
+  <ReferenceType id="_17101" type="_10564c" size="32" align="32"/>
+  <ReferenceType id="_17102" type="_10565c" size="32" align="32"/>
+  <ReferenceType id="_17103" type="_10566c" size="32" align="32"/>
+  <ReferenceType id="_17104" type="_10567c" size="32" align="32"/>
+  <ReferenceType id="_17105" type="_10568c" size="32" align="32"/>
+  <ReferenceType id="_17106" type="_10569c" size="32" align="32"/>
+  <ReferenceType id="_17107" type="_10570c" size="32" align="32"/>
+  <ReferenceType id="_17108" type="_10571c" size="32" align="32"/>
+  <ReferenceType id="_17109" type="_10572c" size="32" align="32"/>
+  <ReferenceType id="_17110" type="_10573c" size="32" align="32"/>
+  <ReferenceType id="_17111" type="_10574c" size="32" align="32"/>
+  <ReferenceType id="_17112" type="_10575c" size="32" align="32"/>
+  <ReferenceType id="_17113" type="_10576c" size="32" align="32"/>
+  <ReferenceType id="_17114" type="_10577c" size="32" align="32"/>
+  <ReferenceType id="_17115" type="_10578c" size="32" align="32"/>
+  <ReferenceType id="_17116" type="_10579c" size="32" align="32"/>
+  <ReferenceType id="_17117" type="_10580c" size="32" align="32"/>
+  <ReferenceType id="_17118" type="_10581c" size="32" align="32"/>
+  <ReferenceType id="_17119" type="_10582c" size="32" align="32"/>
+  <ReferenceType id="_17120" type="_10583c" size="32" align="32"/>
+  <ReferenceType id="_17121" type="_10584c" size="32" align="32"/>
+  <ReferenceType id="_17122" type="_10585c" size="32" align="32"/>
+  <ReferenceType id="_17123" type="_10586c" size="32" align="32"/>
+  <ReferenceType id="_17124" type="_10587c" size="32" align="32"/>
+  <ReferenceType id="_17125" type="_10588c" size="32" align="32"/>
+  <ReferenceType id="_17126" type="_10589c" size="32" align="32"/>
+  <ReferenceType id="_17127" type="_10590c" size="32" align="32"/>
+  <ReferenceType id="_17128" type="_10591c" size="32" align="32"/>
+  <ReferenceType id="_17129" type="_10592c" size="32" align="32"/>
+  <ReferenceType id="_17130" type="_10593c" size="32" align="32"/>
+  <ReferenceType id="_17131" type="_10594c" size="32" align="32"/>
+  <ReferenceType id="_17132" type="_10595c" size="32" align="32"/>
+  <ReferenceType id="_17133" type="_10596c" size="32" align="32"/>
+  <ReferenceType id="_17134" type="_10597c" size="32" align="32"/>
+  <ReferenceType id="_17135" type="_10598c" size="32" align="32"/>
+  <ReferenceType id="_17136" type="_10599c" size="32" align="32"/>
+  <ReferenceType id="_17137" type="_10600c" size="32" align="32"/>
+  <ReferenceType id="_17138" type="_10601c" size="32" align="32"/>
+  <ReferenceType id="_17139" type="_10602c" size="32" align="32"/>
+  <ReferenceType id="_17140" type="_10603c" size="32" align="32"/>
+  <ReferenceType id="_17141" type="_10604c" size="32" align="32"/>
+  <ReferenceType id="_17142" type="_10605c" size="32" align="32"/>
+  <ReferenceType id="_17143" type="_10606c" size="32" align="32"/>
+  <ReferenceType id="_17144" type="_10607c" size="32" align="32"/>
+  <ReferenceType id="_17145" type="_10608c" size="32" align="32"/>
+  <ReferenceType id="_17146" type="_10609c" size="32" align="32"/>
+  <ReferenceType id="_17147" type="_10610c" size="32" align="32"/>
+  <ReferenceType id="_17148" type="_10611c" size="32" align="32"/>
+  <ReferenceType id="_17149" type="_10612c" size="32" align="32"/>
+  <ReferenceType id="_17150" type="_10613c" size="32" align="32"/>
+  <ReferenceType id="_17151" type="_10614c" size="32" align="32"/>
+  <ReferenceType id="_17152" type="_10615c" size="32" align="32"/>
+  <ReferenceType id="_17153" type="_10616c" size="32" align="32"/>
+  <ReferenceType id="_17154" type="_10617c" size="32" align="32"/>
+  <ReferenceType id="_17155" type="_10618c" size="32" align="32"/>
+  <ReferenceType id="_17156" type="_10619c" size="32" align="32"/>
+  <ReferenceType id="_17157" type="_10620c" size="32" align="32"/>
+  <ReferenceType id="_17158" type="_10621c" size="32" align="32"/>
+  <ReferenceType id="_17159" type="_10622c" size="32" align="32"/>
+  <ReferenceType id="_17160" type="_10623c" size="32" align="32"/>
+  <ReferenceType id="_17161" type="_10624c" size="32" align="32"/>
+  <ReferenceType id="_17162" type="_10625c" size="32" align="32"/>
+  <ReferenceType id="_17163" type="_10626c" size="32" align="32"/>
+  <ReferenceType id="_17164" type="_10627c" size="32" align="32"/>
+  <Constructor id="_17165" name="lambda_or" artificial="1" throw="" context="_13728" access="public" mangled="_ZN5boost3mpl3aux9lambda_orILb0ELb0ELb0ELb0ELb0EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::lambda_or<false, false, false, false, false>::lambda_or(boost::mpl::aux::lambda_or<false, false, false, false, false> const&)" location="f263:28" file="f263" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_18112" location="f263:28" file="f263" line="28"/>
+  </Constructor>
+  <Constructor id="_17166" name="lambda_or" explicit="1" artificial="1" throw="" context="_13728" access="public" mangled="_ZN5boost3mpl3aux9lambda_orILb0ELb0ELb0ELb0ELb0EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::lambda_or<false, false, false, false, false>::lambda_or()" location="f263:28" file="f263" line="28" inline="1"/>
+  <Variable id="_17167" name="value" type="_503c" init="0" context="_13729" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi6EE5valueE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 6>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17168" name="template_arity_impl" artificial="1" throw="" context="_13729" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi6EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 6>::template_arity_impl(boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 6> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18113" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17169" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13729" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi6EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 6>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17170" name="value" type="_503c" init="0" context="_13730" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi5EE5valueE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 5>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17171" name="template_arity_impl" artificial="1" throw="" context="_13730" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi5EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 5>::template_arity_impl(boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 5> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18114" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17172" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13730" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi5EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 5>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17173" name="value" type="_503c" init="0" context="_13731" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi4EE5valueE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 4>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17174" name="template_arity_impl" artificial="1" throw="" context="_13731" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi4EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 4>::template_arity_impl(boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 4> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18115" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17175" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13731" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi4EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 4>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17176" name="value" type="_503c" init="0" context="_13732" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi3EE5valueE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 3>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17177" name="template_arity_impl" artificial="1" throw="" context="_13732" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi3EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 3>::template_arity_impl(boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 3> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18116" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17178" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13732" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi3EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 3>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17179" name="value" type="_503c" init="0" context="_13733" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi2EE5valueE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 2>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17180" name="template_arity_impl" artificial="1" throw="" context="_13733" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi2EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 2>::template_arity_impl(boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 2> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18117" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17181" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13733" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi2EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 2>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17182" name="value" type="_503c" init="0" context="_13734" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi1EE5valueE" demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 1>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17183" name="template_arity_impl" artificial="1" throw="" context="_13734" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi1EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 1>::template_arity_impl(boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 1> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18118" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17184" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13734" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implINS_6detail12always_bool2ELi1EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<boost::detail::always_bool2, 1>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17185" name="value" type="_503c" init="0" context="_13735" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi6EE5valueE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 6>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17186" name="template_arity_impl" artificial="1" throw="" context="_13735" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi6EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 6>::template_arity_impl(boost::mpl::aux::template_arity_impl<mpl_::na, 6> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18119" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17187" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13735" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi6EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 6>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17188" name="value" type="_503c" init="0" context="_13736" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi5EE5valueE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 5>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17189" name="template_arity_impl" artificial="1" throw="" context="_13736" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi5EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 5>::template_arity_impl(boost::mpl::aux::template_arity_impl<mpl_::na, 5> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18120" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17190" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13736" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi5EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 5>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17191" name="value" type="_503c" init="0" context="_13737" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi4EE5valueE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 4>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17192" name="template_arity_impl" artificial="1" throw="" context="_13737" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi4EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 4>::template_arity_impl(boost::mpl::aux::template_arity_impl<mpl_::na, 4> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18121" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17193" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13737" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi4EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 4>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17194" name="value" type="_503c" init="0" context="_13738" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi3EE5valueE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 3>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17195" name="template_arity_impl" artificial="1" throw="" context="_13738" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi3EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 3>::template_arity_impl(boost::mpl::aux::template_arity_impl<mpl_::na, 3> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18122" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17196" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13738" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi3EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 3>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17197" name="value" type="_503c" init="0" context="_13739" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi2EE5valueE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 2>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17198" name="template_arity_impl" artificial="1" throw="" context="_13739" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi2EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 2>::template_arity_impl(boost::mpl::aux::template_arity_impl<mpl_::na, 2> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18123" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17199" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13739" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi2EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 2>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17200" name="value" type="_503c" init="0" context="_13740" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi1EE5valueE" demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 1>::value" location="f305:85" file="f305" line="85" extern="1"/>
+  <Constructor id="_17201" name="template_arity_impl" artificial="1" throw="" context="_13740" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi1EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 1>::template_arity_impl(boost::mpl::aux::template_arity_impl<mpl_::na, 1> const&)" location="f305:84" file="f305" line="84" inline="1">
+    <Argument name="_ctor_arg" type="_18124" location="f305:84" file="f305" line="84"/>
+  </Constructor>
+  <Constructor id="_17202" name="template_arity_impl" explicit="1" artificial="1" throw="" context="_13740" access="public" mangled="_ZN5boost3mpl3aux19template_arity_implIN4mpl_2naELi1EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity_impl<mpl_::na, 1>::template_arity_impl()" location="f305:84" file="f305" line="84" inline="1"/>
+  <Variable id="_17203" name="value" type="_503c" init="-1" context="_13742" access="public" mangled="_ZN5boost3mpl3aux9max_arityILi0ELi0ELi0ELi0ELi0ELi0EE5valueE" demangled="boost::mpl::aux::max_arity<0, 0, 0, 0, 0, 0>::value" location="f305:24" file="f305" line="24" extern="1"/>
+  <Constructor id="_17204" name="max_arity" artificial="1" throw="" context="_13742" access="public" mangled="_ZN5boost3mpl3aux9max_arityILi0ELi0ELi0ELi0ELi0ELi0EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::max_arity<0, 0, 0, 0, 0, 0>::max_arity(boost::mpl::aux::max_arity<0, 0, 0, 0, 0, 0> const&)" location="f305:23" file="f305" line="23" inline="1">
+    <Argument name="_ctor_arg" type="_18125" location="f305:23" file="f305" line="23"/>
+  </Constructor>
+  <Constructor id="_17205" name="max_arity" explicit="1" artificial="1" throw="" context="_13742" access="public" mangled="_ZN5boost3mpl3aux9max_arityILi0ELi0ELi0ELi0ELi0ELi0EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::max_arity<0, 0, 0, 0, 0, 0>::max_arity()" location="f305:23" file="f305" line="23" inline="1"/>
+  <ReferenceType id="_17206" type="_17341" size="32" align="32"/>
+  <Typedef id="_17207" name="type" type="_17206" context="_13743" access="public" location="f305:16" file="f305" line="16"/>
+  <Constructor id="_17208" name="arity_tag" artificial="1" throw="" context="_13743" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi6EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::arity_tag<6>::arity_tag(boost::mpl::aux::arity_tag<6> const&)" location="f305:15" file="f305" line="15" inline="1">
+    <Argument name="_ctor_arg" type="_18126" location="f305:15" file="f305" line="15"/>
+  </Constructor>
+  <Constructor id="_17209" name="arity_tag" explicit="1" artificial="1" throw="" context="_13743" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi6EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::arity_tag<6>::arity_tag()" location="f305:15" file="f305" line="15" inline="1"/>
+  <Typedef id="_17210" name="type" type="_8390" context="_13744" access="public" location="f305:16" file="f305" line="16"/>
+  <Constructor id="_17211" name="arity_tag" artificial="1" throw="" context="_13744" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi5EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::arity_tag<5>::arity_tag(boost::mpl::aux::arity_tag<5> const&)" location="f305:15" file="f305" line="15" inline="1">
+    <Argument name="_ctor_arg" type="_18127" location="f305:15" file="f305" line="15"/>
+  </Constructor>
+  <Constructor id="_17212" name="arity_tag" explicit="1" artificial="1" throw="" context="_13744" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi5EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::arity_tag<5>::arity_tag()" location="f305:15" file="f305" line="15" inline="1"/>
+  <Typedef id="_17213" name="type" type="_8391" context="_13745" access="public" location="f305:16" file="f305" line="16"/>
+  <Constructor id="_17214" name="arity_tag" artificial="1" throw="" context="_13745" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi4EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::arity_tag<4>::arity_tag(boost::mpl::aux::arity_tag<4> const&)" location="f305:15" file="f305" line="15" inline="1">
+    <Argument name="_ctor_arg" type="_18128" location="f305:15" file="f305" line="15"/>
+  </Constructor>
+  <Constructor id="_17215" name="arity_tag" explicit="1" artificial="1" throw="" context="_13745" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi4EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::arity_tag<4>::arity_tag()" location="f305:15" file="f305" line="15" inline="1"/>
+  <Typedef id="_17216" name="type" type="_8392" context="_13746" access="public" location="f305:16" file="f305" line="16"/>
+  <Constructor id="_17217" name="arity_tag" artificial="1" throw="" context="_13746" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi3EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::arity_tag<3>::arity_tag(boost::mpl::aux::arity_tag<3> const&)" location="f305:15" file="f305" line="15" inline="1">
+    <Argument name="_ctor_arg" type="_18129" location="f305:15" file="f305" line="15"/>
+  </Constructor>
+  <Constructor id="_17218" name="arity_tag" explicit="1" artificial="1" throw="" context="_13746" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi3EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::arity_tag<3>::arity_tag()" location="f305:15" file="f305" line="15" inline="1"/>
+  <Typedef id="_17219" name="type" type="_8393" context="_13747" access="public" location="f305:16" file="f305" line="16"/>
+  <Constructor id="_17220" name="arity_tag" artificial="1" throw="" context="_13747" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi2EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::arity_tag<2>::arity_tag(boost::mpl::aux::arity_tag<2> const&)" location="f305:15" file="f305" line="15" inline="1">
+    <Argument name="_ctor_arg" type="_18130" location="f305:15" file="f305" line="15"/>
+  </Constructor>
+  <Constructor id="_17221" name="arity_tag" explicit="1" artificial="1" throw="" context="_13747" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi2EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::arity_tag<2>::arity_tag()" location="f305:15" file="f305" line="15" inline="1"/>
+  <Typedef id="_17222" name="type" type="_8394" context="_13748" access="public" location="f305:16" file="f305" line="16"/>
+  <Constructor id="_17223" name="arity_tag" artificial="1" throw="" context="_13748" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi1EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::arity_tag<1>::arity_tag(boost::mpl::aux::arity_tag<1> const&)" location="f305:15" file="f305" line="15" inline="1">
+    <Argument name="_ctor_arg" type="_18131" location="f305:15" file="f305" line="15"/>
+  </Constructor>
+  <Constructor id="_17224" name="arity_tag" explicit="1" artificial="1" throw="" context="_13748" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi1EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::arity_tag<1>::arity_tag()" location="f305:15" file="f305" line="15" inline="1"/>
+  <Typedef id="_17225" name="type" type="_8395" context="_13749" access="public" location="f305:16" file="f305" line="16"/>
+  <Constructor id="_17226" name="arity_tag" artificial="1" throw="" context="_13749" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi0EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::arity_tag<0>::arity_tag(boost::mpl::aux::arity_tag<0> const&)" location="f305:15" file="f305" line="15" inline="1">
+    <Argument name="_ctor_arg" type="_18132" location="f305:15" file="f305" line="15"/>
+  </Constructor>
+  <Constructor id="_17227" name="arity_tag" explicit="1" artificial="1" throw="" context="_13749" access="public" mangled="_ZN5boost3mpl3aux9arity_tagILi0EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::arity_tag<0>::arity_tag()" location="f305:15" file="f305" line="15" inline="1"/>
+  <Typedef id="_17228" name="type" type="_10915" context="_13750" access="public" location="f306:24" file="f306" line="24"/>
+  <Constructor id="_17229" name="type_wrapper" artificial="1" throw="" context="_13750" access="public" mangled="_ZN5boost3mpl3aux12type_wrapperINS_6detail12always_bool2EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::type_wrapper<boost::detail::always_bool2>::type_wrapper(boost::mpl::aux::type_wrapper<boost::detail::always_bool2> const&)" location="f306:23" file="f306" line="23" inline="1">
+    <Argument name="_ctor_arg" type="_18133" location="f306:23" file="f306" line="23"/>
+  </Constructor>
+  <Constructor id="_17230" name="type_wrapper" explicit="1" artificial="1" throw="" context="_13750" access="public" mangled="_ZN5boost3mpl3aux12type_wrapperINS_6detail12always_bool2EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::type_wrapper<boost::detail::always_bool2>::type_wrapper()" location="f306:23" file="f306" line="23" inline="1"/>
+  <Typedef id="_17231" name="type" type="_3251" context="_13751" access="public" location="f306:24" file="f306" line="24"/>
+  <Constructor id="_17232" name="type_wrapper" artificial="1" throw="" context="_13751" access="public" mangled="_ZN5boost3mpl3aux12type_wrapperIN4mpl_2naEEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::type_wrapper<mpl_::na>::type_wrapper(boost::mpl::aux::type_wrapper<mpl_::na> const&)" location="f306:23" file="f306" line="23" inline="1">
+    <Argument name="_ctor_arg" type="_18134" location="f306:23" file="f306" line="23"/>
+  </Constructor>
+  <Constructor id="_17233" name="type_wrapper" explicit="1" artificial="1" throw="" context="_13751" access="public" mangled="_ZN5boost3mpl3aux12type_wrapperIN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::type_wrapper<mpl_::na>::type_wrapper()" location="f306:23" file="f306" line="23" inline="1"/>
+  <Constructor id="_17234" name="and_impl" artificial="1" throw="" context="_13752" access="public" mangled="_ZN5boost3mpl3aux8and_implILb1EN4mpl_5bool_ILb1EEES5_S5_S5_EC1ERKS6_ *INTERNAL* " demangled="boost::mpl::aux::and_impl<true, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_impl(boost::mpl::aux::and_impl<true, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> > co [...]
+    <Argument name="_ctor_arg" type="_18135" location="f259:38" file="f259" line="38"/>
+  </Constructor>
+  <Constructor id="_17235" name="and_impl" explicit="1" artificial="1" throw="" context="_13752" access="public" mangled="_ZN5boost3mpl3aux8and_implILb1EN4mpl_5bool_ILb1EEES5_S5_S5_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::and_impl<true, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >::and_impl()" location="f259:38" file="f259" line="38" inline="1"/>
+  <Constructor id="_17236" name="or_impl" artificial="1" throw="" context="_13753" access="public" mangled="_ZN5boost3mpl3aux7or_implILb1ENS_8is_constISbIwSt11char_traitsIwESaIwEEEEN4mpl_5bool_ILb0EEESB_SB_EC1ERKSC_ *INTERNAL* " demangled="boost::mpl::aux::or_impl<true, boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_impl(mpl_ [...]
+    <Argument name="_ctor_arg" type="_18136" location="f200:19" file="f200" line="19"/>
+  </Constructor>
+  <Constructor id="_17237" name="or_impl" explicit="1" artificial="1" throw="" context="_13753" access="public" mangled="_ZN5boost3mpl3aux7or_implILb1ENS_8is_constISbIwSt11char_traitsIwESaIwEEEEN4mpl_5bool_ILb0EEESB_SB_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::or_impl<true, boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_ [...]
+  <Constructor id="_17238" name="or_impl" artificial="1" throw="" context="_13754" access="public" mangled="_ZN5boost3mpl3aux7or_implILb1ENS_8is_constISsEEN4mpl_5bool_ILb0EEES7_S7_EC1ERKS8_ *INTERNAL* " demangled="boost::mpl::aux::or_impl<true, boost::is_const<std::string>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_impl(boost::mpl::aux::or_impl<true, boost::is_const<std::string>, mpl_::bool_<false>, mpl_::bool_<false& [...]
+    <Argument name="_ctor_arg" type="_18137" location="f200:19" file="f200" line="19"/>
+  </Constructor>
+  <Constructor id="_17239" name="or_impl" explicit="1" artificial="1" throw="" context="_13754" access="public" mangled="_ZN5boost3mpl3aux7or_implILb1ENS_8is_constISsEEN4mpl_5bool_ILb0EEES7_S7_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::or_impl<true, boost::is_const<std::string>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_impl()" location="f200:19" file="f200" line="19" inline="1"/>
+  <Constructor id="_17240" name="or_impl" artificial="1" throw="" context="_13755" access="public" mangled="_ZN5boost3mpl3aux7or_implILb0EN4mpl_5bool_ILb0EEES5_S5_S5_EC1ERKS6_ *INTERNAL* " demangled="boost::mpl::aux::or_impl<false, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_impl(boost::mpl::aux::or_impl<false, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> &g [...]
+    <Argument name="_ctor_arg" type="_18138" location="f200:38" file="f200" line="38"/>
+  </Constructor>
+  <Constructor id="_17241" name="or_impl" explicit="1" artificial="1" throw="" context="_13755" access="public" mangled="_ZN5boost3mpl3aux7or_implILb0EN4mpl_5bool_ILb0EEES5_S5_S5_EC1Ev *INTERNAL* " demangled="boost::mpl::aux::or_impl<false, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >::or_impl()" location="f200:38" file="f200" line="38" inline="1"/>
+  <Typedef id="_17242" name="type" type="_8390" context="_13756" access="public" location="f307:42" file="f307" line="42"/>
+  <Constructor id="_17243" name="weighted_tag" artificial="1" throw="" context="_13756" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl6EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<6l>::weighted_tag(boost::mpl::aux::weighted_tag<6l> const&)" location="f307:40" file="f307" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_18139" location="f307:40" file="f307" line="40"/>
+  </Constructor>
+  <Constructor id="_17244" name="weighted_tag" explicit="1" artificial="1" throw="" context="_13756" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl6EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<6l>::weighted_tag()" location="f307:40" file="f307" line="40" inline="1"/>
+  <Typedef id="_17245" name="type" type="_8391" context="_13757" access="public" location="f307:42" file="f307" line="42"/>
+  <Constructor id="_17246" name="weighted_tag" artificial="1" throw="" context="_13757" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl5EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<5l>::weighted_tag(boost::mpl::aux::weighted_tag<5l> const&)" location="f307:40" file="f307" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_18140" location="f307:40" file="f307" line="40"/>
+  </Constructor>
+  <Constructor id="_17247" name="weighted_tag" explicit="1" artificial="1" throw="" context="_13757" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl5EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<5l>::weighted_tag()" location="f307:40" file="f307" line="40" inline="1"/>
+  <Typedef id="_17248" name="type" type="_8392" context="_13758" access="public" location="f307:42" file="f307" line="42"/>
+  <Constructor id="_17249" name="weighted_tag" artificial="1" throw="" context="_13758" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl4EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<4l>::weighted_tag(boost::mpl::aux::weighted_tag<4l> const&)" location="f307:40" file="f307" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_18141" location="f307:40" file="f307" line="40"/>
+  </Constructor>
+  <Constructor id="_17250" name="weighted_tag" explicit="1" artificial="1" throw="" context="_13758" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl4EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<4l>::weighted_tag()" location="f307:40" file="f307" line="40" inline="1"/>
+  <Typedef id="_17251" name="type" type="_8393" context="_13759" access="public" location="f307:42" file="f307" line="42"/>
+  <Constructor id="_17252" name="weighted_tag" artificial="1" throw="" context="_13759" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl3EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<3l>::weighted_tag(boost::mpl::aux::weighted_tag<3l> const&)" location="f307:40" file="f307" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_18142" location="f307:40" file="f307" line="40"/>
+  </Constructor>
+  <Constructor id="_17253" name="weighted_tag" explicit="1" artificial="1" throw="" context="_13759" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl3EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<3l>::weighted_tag()" location="f307:40" file="f307" line="40" inline="1"/>
+  <Typedef id="_17254" name="type" type="_8394" context="_13760" access="public" location="f307:42" file="f307" line="42"/>
+  <Constructor id="_17255" name="weighted_tag" artificial="1" throw="" context="_13760" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl2EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<2l>::weighted_tag(boost::mpl::aux::weighted_tag<2l> const&)" location="f307:40" file="f307" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_18143" location="f307:40" file="f307" line="40"/>
+  </Constructor>
+  <Constructor id="_17256" name="weighted_tag" explicit="1" artificial="1" throw="" context="_13760" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl2EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<2l>::weighted_tag()" location="f307:40" file="f307" line="40" inline="1"/>
+  <Typedef id="_17257" name="type" type="_8395" context="_13761" access="public" location="f307:42" file="f307" line="42"/>
+  <Constructor id="_17258" name="weighted_tag" artificial="1" throw="" context="_13761" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl1EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<1l>::weighted_tag(boost::mpl::aux::weighted_tag<1l> const&)" location="f307:40" file="f307" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_18144" location="f307:40" file="f307" line="40"/>
+  </Constructor>
+  <Constructor id="_17259" name="weighted_tag" explicit="1" artificial="1" throw="" context="_13761" access="public" mangled="_ZN5boost3mpl3aux12weighted_tagILl1EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::weighted_tag<1l>::weighted_tag()" location="f307:40" file="f307" line="40" inline="1"/>
+  <Typedef id="_17260" name="type" type="_13763" context="_13762" access="public" location="f307:35" file="f307" line="35"/>
+  <Constructor id="_17261" name="yes_no_tag" artificial="1" throw="" context="_13762" access="public" mangled="_ZN5boost3mpl3aux10yes_no_tagILb1EEC1ERKS3_ *INTERNAL* " demangled="boost::mpl::aux::yes_no_tag<true>::yes_no_tag(boost::mpl::aux::yes_no_tag<true> const&)" location="f307:34" file="f307" line="34" inline="1">
+    <Argument name="_ctor_arg" type="_18145" location="f307:34" file="f307" line="34"/>
+  </Constructor>
+  <Constructor id="_17262" name="yes_no_tag" explicit="1" artificial="1" throw="" context="_13762" access="public" mangled="_ZN5boost3mpl3aux10yes_no_tagILb1EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::yes_no_tag<true>::yes_no_tag()" location="f307:34" file="f307" line="34" inline="1"/>
+  <Constructor id="_17263" name="nested_type_wknd" artificial="1" throw="" context="_13765" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS0_4and_INS_6is_PODISbIwSt11char_traitsIwESaIwEEEENS_6detail29iterator_writability_disabledIS8_RKS8_EEN4mpl_5bool_ILb1EEESH_SH_EEEC1ERKSJ_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::mpl::and_<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > &gt [...]
+    <Argument name="_ctor_arg" type="_18146" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17264" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13765" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS0_4and_INS_6is_PODISbIwSt11char_traitsIwESaIwEEEENS_6detail29iterator_writability_disabledIS8_RKS8_EEN4mpl_5bool_ILb1EEESH_SH_EEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::mpl::and_<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> [...]
+  <Constructor id="_17265" name="nested_type_wknd" artificial="1" throw="" context="_13766" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_6is_PODISbIwSt11char_traitsIwESaIwEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::is_POD<std::basic_string<wchar_t,  [...]
+    <Argument name="_ctor_arg" type="_18147" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17266" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13766" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_6is_PODISbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_POD<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Constructor id="_17267" name="nested_type_wknd" artificial="1" throw="" context="_13767" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_6detail15indirect_traits21is_reference_to_constIRKSbIwSt11char_traitsIwESaIwEEEEEC1ERKSD_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::detail::indirect_traits::is_reference_to_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> >::nested_ty [...]
+    <Argument name="_ctor_arg" type="_18148" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17268" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13767" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_6detail15indirect_traits21is_reference_to_constIRKSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::detail::indirect_traits::is_reference_to_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> >:: [...]
+  <Constructor id="_17269" name="nested_type_wknd" artificial="1" throw="" context="_13768" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_8is_constIRKSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::is_const<std::basic_s [...]
+    <Argument name="_ctor_arg" type="_18149" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17270" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13768" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_8is_constIRKSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Constructor id="_17271" name="nested_type_wknd" artificial="1" throw="" context="_13769" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEEEC1ERKSB_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::is_reference&lt [...]
+    <Argument name="_ctor_arg" type="_18150" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17272" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13769" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_12is_referenceIRKSbIwSt11char_traitsIwESaIwEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_reference<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Constructor id="_17273" name="nested_type_wknd" artificial="1" throw="" context="_13770" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EEEC1ERKSD_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string>, boost [...]
+    <Argument name="_ctor_arg" type="_18151" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17274" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13770" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_14token_iteratorINS_16offset_separatorEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESB_EEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::token_iterator<boost::offset_separator, __gnu_cxx::__normal_iterator<char const*, std::string>, std::string&g [...]
+  <Constructor id="_17275" name="nested_type_wknd" artificial="1" throw="" context="_13771" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EEEC1ERKSG_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__normal_iter [...]
+    <Argument name="_ctor_arg" type="_18152" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17276" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13771" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_14token_iteratorINS_14char_separatorIcSt11char_traitsIcEEEN9__gnu_cxx17__normal_iteratorIPKcSsEESsEESE_EEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::token_iterator<boost::char_separator<char, std::char_traits<char> >, __gnu_cxx::__no [...]
+  <Constructor id="_17277" name="nested_type_wknd" artificial="1" throw="" context="_13772" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS0_4and_INS_6is_PODISsEENS_6detail29iterator_writability_disabledISsRKSsEEN4mpl_5bool_ILb1EEESD_SD_EEEC1ERKSF_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::mpl::and_<boost::is_POD<std::string>, boost::detail::iterator_writability_disabled<std::string, std::string const&>, mpl_::bool_<true> [...]
+    <Argument name="_ctor_arg" type="_18153" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17278" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13772" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS0_4and_INS_6is_PODISsEENS_6detail29iterator_writability_disabledISsRKSsEEN4mpl_5bool_ILb1EEESD_SD_EEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::mpl::and_<boost::is_POD<std::string>, boost::detail::iterator_writability_disabled<std::string, std::string const&>, mpl_::bool_&lt [...]
+  <Constructor id="_17279" name="nested_type_wknd" artificial="1" throw="" context="_13773" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_6is_PODISsEEEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_POD<std::string> >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::is_POD<std::string> > const&)" location="f308:28" file="f308" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_18154" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17280" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13773" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_6is_PODISsEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_POD<std::string> >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Constructor id="_17281" name="nested_type_wknd" artificial="1" throw="" context="_13774" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_6detail15indirect_traits21is_reference_to_constIRKSsEEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::detail::indirect_traits::is_reference_to_const<std::string const&> >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::detail::indirect_traits::is_reference_to_const<std::strin [...]
+    <Argument name="_ctor_arg" type="_18155" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17282" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13774" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_6detail15indirect_traits21is_reference_to_constIRKSsEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::detail::indirect_traits::is_reference_to_const<std::string const&> >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Constructor id="_17283" name="nested_type_wknd" artificial="1" throw="" context="_13775" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_8is_constIRKSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_const<std::string const&> >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::is_const<std::string const&> > const&)" location="f308:28" file="f308" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_18156" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17284" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13775" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_8is_constIRKSsEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_const<std::string const&> >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Constructor id="_17285" name="nested_type_wknd" artificial="1" throw="" context="_13776" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_21forward_traversal_tagES4_EEEC1ERKS6_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag> >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, boost::forwar [...]
+    <Argument name="_ctor_arg" type="_18157" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17286" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13776" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_21forward_traversal_tagES4_EEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, boost::forward_traversal_tag> >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Constructor id="_17287" name="nested_type_wknd" artificial="1" throw="" context="_13777" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_12is_referenceIRKSsEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_reference<std::string const&> >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::is_reference<std::string const&> > const&)" location="f308:28" file="f308" line="28" inline="1">
+    <Argument name="_ctor_arg" type="_18158" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17288" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13777" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_12is_referenceIRKSsEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_reference<std::string const&> >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Constructor id="_17289" name="nested_type_wknd" artificial="1" throw="" context="_13778" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_21forward_traversal_tagESt19output_iterator_tagEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag> >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_ta [...]
+    <Argument name="_ctor_arg" type="_18159" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17290" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13778" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_21forward_traversal_tagESt19output_iterator_tagEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, std::output_iterator_tag> >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Constructor id="_17291" name="nested_type_wknd" artificial="1" throw="" context="_13779" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_21forward_traversal_tagESt18input_iterator_tagEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag> >::nested_type_wknd(boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, [...]
+    <Argument name="_ctor_arg" type="_18160" location="f308:28" file="f308" line="28"/>
+  </Constructor>
+  <Constructor id="_17292" name="nested_type_wknd" explicit="1" artificial="1" throw="" context="_13779" access="public" mangled="_ZN5boost3mpl3aux16nested_type_wkndINS_14is_convertibleINS_21forward_traversal_tagESt18input_iterator_tagEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::forward_traversal_tag, std::input_iterator_tag> >::nested_type_wknd()" location="f308:28" file="f308" line="28" inline="1"/>
+  <Variable id="_17293" name="value" type="_503c" init="-1" context="_13780" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS_6detail12always_bool2EE5valueE" demangled="boost::mpl::aux::template_arity<boost::detail::always_bool2>::value" location="f305:93" file="f305" line="93" extern="1"/>
+  <Typedef id="_17294" name="type" type="_3265" context="_13780" access="public" location="f305:98" file="f305" line="98"/>
+  <Constructor id="_17295" name="template_arity" artificial="1" throw="" context="_13780" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS_6detail12always_bool2EEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::detail::always_bool2>::template_arity(boost::mpl::aux::template_arity<boost::detail::always_bool2> const&)" location="f305:92" file="f305" line="92" inline="1">
+    <Argument name="_ctor_arg" type="_18161" location="f305:92" file="f305" line="92"/>
+  </Constructor>
+  <Constructor id="_17296" name="template_arity" explicit="1" artificial="1" throw="" context="_13780" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS_6detail12always_bool2EEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::detail::always_bool2>::template_arity()" location="f305:92" file="f305" line="92" inline="1"/>
+  <Constructor id="_17297" name="template_arity" artificial="1" throw="" context="_13781" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_6lambdaIN4mpl_2naES5_NS4_4int_ILin1EEEEEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::lambda<mpl_::na, mpl_::na, mpl_::int_<-1> > >::template_arity(boost::mpl::aux::template_arity<boost::mpl::lambda<mpl_::na, mpl_::na, mpl_::int_<-1> > > const&)" location="f263:555"  [...]
+    <Argument name="_ctor_arg" type="_18162" location="f263:555" file="f263" line="555"/>
+  </Constructor>
+  <Constructor id="_17298" name="template_arity" explicit="1" artificial="1" throw="" context="_13781" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_6lambdaIN4mpl_2naES5_NS4_4int_ILin1EEEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::lambda<mpl_::na, mpl_::na, mpl_::int_<-1> > >::template_arity()" location="f263:555" file="f263" line="555" inline="1"/>
+  <Variable id="_17299" name="value" type="_503c" init="-1" context="_13782" access="public" mangled="_ZN5boost3mpl3aux14template_arityIN4mpl_2naEE5valueE" demangled="boost::mpl::aux::template_arity<mpl_::na>::value" location="f305:93" file="f305" line="93" extern="1"/>
+  <Typedef id="_17300" name="type" type="_3265" context="_13782" access="public" location="f305:98" file="f305" line="98"/>
+  <Constructor id="_17301" name="template_arity" artificial="1" throw="" context="_13782" access="public" mangled="_ZN5boost3mpl3aux14template_arityIN4mpl_2naEEC1ERKS5_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<mpl_::na>::template_arity(boost::mpl::aux::template_arity<mpl_::na> const&)" location="f305:92" file="f305" line="92" inline="1">
+    <Argument name="_ctor_arg" type="_18163" location="f305:92" file="f305" line="92"/>
+  </Constructor>
+  <Constructor id="_17302" name="template_arity" explicit="1" artificial="1" throw="" context="_13782" access="public" mangled="_ZN5boost3mpl3aux14template_arityIN4mpl_2naEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<mpl_::na>::template_arity()" location="f305:92" file="f305" line="92" inline="1"/>
+  <Constructor id="_17303" name="template_arity" artificial="1" throw="" context="_13783" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_12is_not_void_IN4mpl_2naEEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::is_not_void_<mpl_::na> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::is_not_void_<mpl_::na> > const&)" location="f124:72" file="f124" line="72" inline="1">
+    <Argument name="_ctor_arg" type="_18164" location="f124:72" file="f124" line="72"/>
+  </Constructor>
+  <Constructor id="_17304" name="template_arity" explicit="1" artificial="1" throw="" context="_13783" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_12is_not_void_IN4mpl_2naEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::is_not_void_<mpl_::na> >::template_arity()" location="f124:72" file="f124" line="72" inline="1"/>
+  <Constructor id="_17305" name="template_arity" artificial="1" throw="" context="_13784" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_8is_void_IN4mpl_2naEEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::is_void_<mpl_::na> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::is_void_<mpl_::na> > const&)" location="f124:71" file="f124" line="71" inline="1">
+    <Argument name="_ctor_arg" type="_18165" location="f124:71" file="f124" line="71"/>
+  </Constructor>
+  <Constructor id="_17306" name="template_arity" explicit="1" artificial="1" throw="" context="_13784" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_8is_void_IN4mpl_2naEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::is_void_<mpl_::na> >::template_arity()" location="f124:71" file="f124" line="71" inline="1"/>
+  <Constructor id="_17307" name="template_arity" artificial="1" throw="" context="_13785" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_7protectIN4mpl_2naELi0EEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::protect<mpl_::na, 0> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::protect<mpl_::na, 0> > const&)" location="f255:50" file="f255" line="50" inline="1">
+    <Argument name="_ctor_arg" type="_18166" location="f255:50" file="f255" line="50"/>
+  </Constructor>
+  <Constructor id="_17308" name="template_arity" explicit="1" artificial="1" throw="" context="_13785" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_7protectIN4mpl_2naELi0EEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::protect<mpl_::na, 0> >::template_arity()" location="f255:50" file="f255" line="50" inline="1"/>
+  <Constructor id="_17309" name="template_arity" artificial="1" throw="" context="_13786" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_5priorIN4mpl_2naEEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::prior<mpl_::na> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::prior<mpl_::na> > const&)" location="f256:45" file="f256" line="45" inline="1">
+    <Argument name="_ctor_arg" type="_18167" location="f256:45" file="f256" line="45"/>
+  </Constructor>
+  <Constructor id="_17310" name="template_arity" explicit="1" artificial="1" throw="" context="_13786" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_5priorIN4mpl_2naEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::prior<mpl_::na> >::template_arity()" location="f256:45" file="f256" line="45" inline="1"/>
+  <Constructor id="_17311" name="template_arity" artificial="1" throw="" context="_13787" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_4nextIN4mpl_2naEEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::next<mpl_::na> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::next<mpl_::na> > const&)" location="f256:44" file="f256" line="44" inline="1">
+    <Argument name="_ctor_arg" type="_18168" location="f256:44" file="f256" line="44"/>
+  </Constructor>
+  <Constructor id="_17312" name="template_arity" explicit="1" artificial="1" throw="" context="_13787" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_4nextIN4mpl_2naEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::next<mpl_::na> >::template_arity()" location="f256:44" file="f256" line="44" inline="1"/>
+  <Constructor id="_17313" name="template_arity" artificial="1" throw="" context="_13788" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_4and_IN4mpl_2naES5_NS4_5bool_ILb1EEES7_S7_EEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::and_<mpl_::na, mpl_::na, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> > >::template_arity(boost::mpl::aux::template_arity<boost::mpl::and_<mpl_::na, mpl_::na, mpl_::bool_ [...]
+    <Argument name="_ctor_arg" type="_18169" location="f259:63" file="f259" line="63"/>
+  </Constructor>
+  <Constructor id="_17314" name="template_arity" explicit="1" artificial="1" throw="" context="_13788" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_4and_IN4mpl_2naES5_NS4_5bool_ILb1EEES7_S7_EEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::and_<mpl_::na, mpl_::na, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> > >::template_arity()" location="f259:63" file="f259" line="63" inline="1"/>
+  <Constructor id="_17315" name="template_arity" artificial="1" throw="" context="_13789" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_3or_IN4mpl_2naES5_NS4_5bool_ILb0EEES7_S7_EEEC1ERKS9_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::or_<mpl_::na, mpl_::na, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> > >::template_arity(boost::mpl::aux::template_arity<boost::mpl::or_<mpl_::na, mpl_::na, mpl_::bool_ [...]
+    <Argument name="_ctor_arg" type="_18170" location="f200:63" file="f200" line="63"/>
+  </Constructor>
+  <Constructor id="_17316" name="template_arity" explicit="1" artificial="1" throw="" context="_13789" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_3or_IN4mpl_2naES5_NS4_5bool_ILb0EEES7_S7_EEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::or_<mpl_::na, mpl_::na, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> > >::template_arity()" location="f200:63" file="f200" line="63" inline="1"/>
+  <Constructor id="_17317" name="template_arity" artificial="1" throw="" context="_13790" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_4not_IN4mpl_2naEEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::not_<mpl_::na> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::not_<mpl_::na> > const&)" location="f260:47" file="f260" line="47" inline="1">
+    <Argument name="_ctor_arg" type="_18171" location="f260:47" file="f260" line="47"/>
+  </Constructor>
+  <Constructor id="_17318" name="template_arity" explicit="1" artificial="1" throw="" context="_13790" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_4not_IN4mpl_2naEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::not_<mpl_::na> >::template_arity()" location="f260:47" file="f260" line="47" inline="1"/>
+  <Constructor id="_17319" name="template_arity" artificial="1" throw="" context="_13791" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_13make_identityIN4mpl_2naEEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::make_identity<mpl_::na> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::make_identity<mpl_::na> > const&)" location="f261:41" file="f261" line="41" inline="1">
+    <Argument name="_ctor_arg" type="_18172" location="f261:41" file="f261" line="41"/>
+  </Constructor>
+  <Constructor id="_17320" name="template_arity" explicit="1" artificial="1" throw="" context="_13791" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_13make_identityIN4mpl_2naEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::make_identity<mpl_::na> >::template_arity()" location="f261:41" file="f261" line="41" inline="1"/>
+  <Constructor id="_17321" name="template_arity" artificial="1" throw="" context="_13792" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_8identityIN4mpl_2naEEEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::identity<mpl_::na> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::identity<mpl_::na> > const&)" location="f261:40" file="f261" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_18173" location="f261:40" file="f261" line="40"/>
+  </Constructor>
+  <Constructor id="_17322" name="template_arity" explicit="1" artificial="1" throw="" context="_13792" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_8identityIN4mpl_2naEEEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::identity<mpl_::na> >::template_arity()" location="f261:40" file="f261" line="40" inline="1"/>
+  <Constructor id="_17323" name="template_arity" artificial="1" throw="" context="_13793" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_7eval_ifIN4mpl_2naES5_S5_EEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::eval_if<mpl_::na, mpl_::na, mpl_::na> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::eval_if<mpl_::na, mpl_::na, mpl_::na> > const&)" location="f201:67" file="f201" line="67" inline="1">
+    <Argument name="_ctor_arg" type="_18174" location="f201:67" file="f201" line="67"/>
+  </Constructor>
+  <Constructor id="_17324" name="template_arity" explicit="1" artificial="1" throw="" context="_13793" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_7eval_ifIN4mpl_2naES5_S5_EEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::eval_if<mpl_::na, mpl_::na, mpl_::na> >::template_arity()" location="f201:67" file="f201" line="67" inline="1"/>
+  <Constructor id="_17325" name="template_arity" artificial="1" throw="" context="_13794" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_3if_IN4mpl_2naES5_S5_EEEC1ERKS7_ *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::if_<mpl_::na, mpl_::na, mpl_::na> >::template_arity(boost::mpl::aux::template_arity<boost::mpl::if_<mpl_::na, mpl_::na, mpl_::na> > const&)" location="f262:131" file="f262" line="131" inline="1">
+    <Argument name="_ctor_arg" type="_18175" location="f262:131" file="f262" line="131"/>
+  </Constructor>
+  <Constructor id="_17326" name="template_arity" explicit="1" artificial="1" throw="" context="_13794" access="public" mangled="_ZN5boost3mpl3aux14template_arityINS0_3if_IN4mpl_2naES5_S5_EEEC1Ev *INTERNAL* " demangled="boost::mpl::aux::template_arity<boost::mpl::if_<mpl_::na, mpl_::na, mpl_::na> >::template_arity()" location="f262:131" file="f262" line="131" inline="1"/>
+  <ArrayType id="_17336" min="0" max="2" type="_8055" size="408" align="8"/>
+  <CvQualifiedType id="_17336c" type="_17336" const="1"/>
+  <ReferenceType id="_17338" type="_10697c" size="32" align="32"/>
+  <ReferenceType id="_17339" type="_11275c" size="32" align="32"/>
+  <CvQualifiedType id="_9946c" type="_9946" const="1"/>
+  <CvQualifiedType id="_8285c" type="_8285" const="1"/>
+  <ArrayType id="_17341" min="0" max="6" type="_2961" size="56" align="8"/>
+  <CvQualifiedType id="_17341c" type="_17341" const="1"/>
+  <ArrayType id="_17343" min="0" max="8" type="_2961" size="72" align="8"/>
+  <CvQualifiedType id="_17343c" type="_17343" const="1"/>
+  <ReferenceType id="_17345" type="_1011" size="32" align="32"/>
+  <ReferenceType id="_17346" type="_10707c" size="32" align="32"/>
+  <ReferenceType id="_17347" type="_10721c" size="32" align="32"/>
+  <ReferenceType id="_17348" type="_10740c" size="32" align="32"/>
+  <ReferenceType id="_17349" type="_10744c" size="32" align="32"/>
+  <ReferenceType id="_17350" type="_10746" size="32" align="32"/>
+  <ReferenceType id="_17351" type="_10748" size="32" align="32"/>
+  <ReferenceType id="_17352" type="_10750c" size="32" align="32"/>
+  <ReferenceType id="_17353" type="_10753c" size="32" align="32"/>
+  <ReferenceType id="_17354" type="_10755c" size="32" align="32"/>
+  <ReferenceType id="_17355" type="_10756c" size="32" align="32"/>
+  <CvQualifiedType id="_10756c" type="_10756" const="1"/>
+  <ReferenceType id="_17357" type="_10758c" size="32" align="32"/>
+  <ReferenceType id="_17358" type="_10761c" size="32" align="32"/>
+  <ReferenceType id="_17359" type="_10761" size="32" align="32"/>
+  <ReferenceType id="_17360" type="_10763c" size="32" align="32"/>
+  <ReferenceType id="_17361" type="_10765c" size="32" align="32"/>
+  <ReferenceType id="_17362" type="_10768c" size="32" align="32"/>
+  <ReferenceType id="_17363" type="_10769c" size="32" align="32"/>
+  <ReferenceType id="_17364" type="_10769" size="32" align="32"/>
+  <ReferenceType id="_17365" type="_10771c" size="32" align="32"/>
+  <ReferenceType id="_17366" type="_10773c" size="32" align="32"/>
+  <ReferenceType id="_17367" type="_10774c" size="32" align="32"/>
+  <ReferenceType id="_17368" type="_10774" size="32" align="32"/>
+  <ReferenceType id="_17369" type="_10776c" size="32" align="32"/>
+  <ReferenceType id="_17370" type="_10778c" size="32" align="32"/>
+  <ReferenceType id="_17371" type="_10779c" size="32" align="32"/>
+  <ReferenceType id="_17372" type="_10779" size="32" align="32"/>
+  <ReferenceType id="_17373" type="_10781c" size="32" align="32"/>
+  <ReferenceType id="_17374" type="_10783c" size="32" align="32"/>
+  <ReferenceType id="_17375" type="_10785c" size="32" align="32"/>
+  <ReferenceType id="_17376" type="_10785" size="32" align="32"/>
+  <ReferenceType id="_17377" type="_10787c" size="32" align="32"/>
+  <ReferenceType id="_17378" type="_10789c" size="32" align="32"/>
+  <Typedef id="_17379" name="type" type="_3529" context="_14271" access="public" location="f284:53" file="f284" line="53"/>
+  <Constructor id="_17380" name="apply" artificial="1" throw="" context="_14271" access="public" mangled="_ZN5boost6detail21minimum_category_implILb0ELb1EE5applyINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1ERKS6_ *INTERNAL* " demangled="boost::detail::minimum_category_impl<false, true>::apply<boost::forward_traversal_tag, boost::random_access_traversal_tag>::apply(boost::detail::minimum_category_impl<false, true>::apply<boost::forward_traversal_tag [...]
+    <Argument name="_ctor_arg" type="_18201" location="f284:52" file="f284" line="52"/>
+  </Constructor>
+  <Constructor id="_17381" name="apply" explicit="1" artificial="1" throw="" context="_14271" access="public" mangled="_ZN5boost6detail21minimum_category_implILb0ELb1EE5applyINS_21forward_traversal_tagENS_27random_access_traversal_tagEEC1Ev *INTERNAL* " demangled="boost::detail::minimum_category_impl<false, true>::apply<boost::forward_traversal_tag, boost::random_access_traversal_tag>::apply()" location="f284:52" file="f284" line="52" inline="1"/>
+  <ReferenceType id="_17382" type="_10791c" size="32" align="32"/>
+  <ReferenceType id="_17383" type="_10792c" size="32" align="32"/>
+  <ReferenceType id="_17384" type="_10793c" size="32" align="32"/>
+  <ReferenceType id="_17385" type="_10794c" size="32" align="32"/>
+  <ReferenceType id="_17386" type="_10795c" size="32" align="32"/>
+  <ReferenceType id="_17387" type="_10796c" size="32" align="32"/>
+  <ReferenceType id="_17388" type="_10797c" size="32" align="32"/>
+  <ReferenceType id="_17389" type="_10798c" size="32" align="32"/>
+  <ReferenceType id="_17390" type="_10800c" size="32" align="32"/>
+  <ReferenceType id="_17391" type="_10805c" size="32" align="32"/>
+  <ReferenceType id="_17392" type="_10806c" size="32" align="32"/>
+  <ReferenceType id="_17393" type="_10807c" size="32" align="32"/>
+  <ReferenceType id="_17394" type="_10808c" size="32" align="32"/>
+  <ReferenceType id="_17395" type="_10809c" size="32" align="32"/>
+  <ReferenceType id="_17396" type="_10810c" size="32" align="32"/>
+  <ReferenceType id="_17397" type="_10811c" size="32" align="32"/>
+  <ReferenceType id="_17398" type="_10812c" size="32" align="32"/>
+  <ReferenceType id="_17399" type="_10813c" size="32" align="32"/>
+  <ReferenceType id="_17400" type="_10814c" size="32" align="32"/>
+  <ReferenceType id="_17401" type="_10815c" size="32" align="32"/>
+  <ReferenceType id="_17402" type="_10816c" size="32" align="32"/>
+  <ReferenceType id="_17403" type="_10825c" size="32" align="32"/>
+  <ReferenceType id="_17404" type="_10826c" size="32" align="32"/>
+  <ReferenceType id="_17405" type="_10827c" size="32" align="32"/>
+  <ReferenceType id="_17406" type="_10828c" size="32" align="32"/>
+  <ReferenceType id="_17407" type="_10829c" size="32" align="32"/>
+  <ReferenceType id="_17408" type="_10830c" size="32" align="32"/>
+  <ReferenceType id="_17409" type="_10831c" size="32" align="32"/>
+  <ReferenceType id="_17410" type="_10832c" size="32" align="32"/>
+  <ReferenceType id="_17411" type="_10833c" size="32" align="32"/>
+  <ReferenceType id="_17412" type="_10834c" size="32" align="32"/>
+  <ReferenceType id="_17413" type="_10835c" size="32" align="32"/>
+  <ReferenceType id="_17414" type="_10836c" size="32" align="32"/>
+  <ReferenceType id="_17415" type="_10837c" size="32" align="32"/>
+  <ReferenceType id="_17416" type="_10838c" size="32" align="32"/>
+  <ReferenceType id="_17417" type="_10839c" size="32" align="32"/>
+  <ReferenceType id="_17418" type="_10840c" size="32" align="32"/>
+  <ReferenceType id="_17419" type="_10841c" size="32" align="32"/>
+  <ReferenceType id="_17420" type="_10842c" size="32" align="32"/>
+  <ReferenceType id="_17421" type="_10843c" size="32" align="32"/>
+  <ReferenceType id="_17422" type="_10844c" size="32" align="32"/>
+  <ReferenceType id="_17423" type="_10845c" size="32" align="32"/>
+  <ReferenceType id="_17424" type="_10846c" size="32" align="32"/>
+  <ReferenceType id="_17425" type="_10847c" size="32" align="32"/>
+  <ReferenceType id="_17426" type="_10848c" size="32" align="32"/>
+  <ReferenceType id="_17427" type="_10849c" size="32" align="32"/>
+  <ReferenceType id="_17428" type="_10850c" size="32" align="32"/>
+  <ReferenceType id="_17429" type="_10851c" size="32" align="32"/>
+  <ReferenceType id="_17430" type="_10852c" size="32" align="32"/>
+  <ReferenceType id="_17431" type="_10853c" size="32" align="32"/>
+  <ReferenceType id="_17432" type="_10854c" size="32" align="32"/>
+  <ReferenceType id="_17433" type="_10855c" size="32" align="32"/>
+  <ReferenceType id="_17434" type="_10856c" size="32" align="32"/>
+  <ReferenceType id="_17435" type="_10857c" size="32" align="32"/>
+  <ReferenceType id="_17436" type="_10858c" size="32" align="32"/>
+  <ReferenceType id="_17437" type="_10859c" size="32" align="32"/>
+  <ReferenceType id="_17438" type="_10860c" size="32" align="32"/>
+  <ReferenceType id="_17439" type="_10861c" size="32" align="32"/>
+  <ReferenceType id="_17440" type="_10862c" size="32" align="32"/>
+  <ReferenceType id="_17441" type="_10863c" size="32" align="32"/>
+  <ReferenceType id="_17442" type="_10864c" size="32" align="32"/>
+  <ReferenceType id="_17443" type="_10865c" size="32" align="32"/>
+  <ReferenceType id="_17444" type="_10866c" size="32" align="32"/>
+  <ReferenceType id="_17445" type="_10867c" size="32" align="32"/>
+  <ReferenceType id="_17446" type="_10868c" size="32" align="32"/>
+  <ReferenceType id="_17447" type="_10869c" size="32" align="32"/>
+  <ReferenceType id="_17448" type="_10870c" size="32" align="32"/>
+  <ReferenceType id="_17449" type="_10871c" size="32" align="32"/>
+  <ReferenceType id="_17450" type="_10872c" size="32" align="32"/>
+  <ReferenceType id="_17451" type="_10873c" size="32" align="32"/>
+  <ReferenceType id="_17452" type="_10874c" size="32" align="32"/>
+  <ReferenceType id="_17453" type="_10875c" size="32" align="32"/>
+  <ReferenceType id="_17454" type="_10876c" size="32" align="32"/>
+  <ReferenceType id="_17455" type="_10877c" size="32" align="32"/>
+  <ReferenceType id="_17456" type="_10878c" size="32" align="32"/>
+  <ReferenceType id="_17457" type="_10879c" size="32" align="32"/>
+  <ReferenceType id="_17458" type="_10880c" size="32" align="32"/>
+  <ReferenceType id="_17459" type="_10881c" size="32" align="32"/>
+  <ReferenceType id="_17460" type="_10890c" size="32" align="32"/>
+  <ReferenceType id="_17461" type="_10891c" size="32" align="32"/>
+  <ReferenceType id="_17462" type="_10892c" size="32" align="32"/>
+  <ReferenceType id="_17463" type="_10893c" size="32" align="32"/>
+  <ReferenceType id="_17464" type="_10894c" size="32" align="32"/>
+  <ReferenceType id="_17465" type="_10895c" size="32" align="32"/>
+  <ReferenceType id="_17466" type="_10896c" size="32" align="32"/>
+  <ReferenceType id="_17467" type="_10897c" size="32" align="32"/>
+  <ReferenceType id="_17468" type="_10898c" size="32" align="32"/>
+  <ReferenceType id="_17469" type="_10900c" size="32" align="32"/>
+  <ReferenceType id="_17470" type="_10901c" size="32" align="32"/>
+  <ReferenceType id="_17471" type="_10902c" size="32" align="32"/>
+  <ReferenceType id="_17472" type="_10903c" size="32" align="32"/>
+  <ReferenceType id="_17473" type="_10904c" size="32" align="32"/>
+  <ReferenceType id="_17474" type="_10905c" size="32" align="32"/>
+  <ReferenceType id="_17475" type="_10909c" size="32" align="32"/>
+  <ReferenceType id="_17476" type="_10910c" size="32" align="32"/>
+  <ReferenceType id="_17477" type="_10913c" size="32" align="32"/>
+  <ReferenceType id="_17478" type="_10914c" size="32" align="32"/>
+  <ReferenceType id="_17479" type="_10915c" size="32" align="32"/>
+  <ReferenceType id="_17480" type="_10916c" size="32" align="32"/>
+  <ReferenceType id="_17481" type="_10917c" size="32" align="32"/>
+  <ReferenceType id="_17482" type="_10918c" size="32" align="32"/>
+  <ReferenceType id="_17483" type="_10919c" size="32" align="32"/>
+  <ReferenceType id="_17484" type="_10920c" size="32" align="32"/>
+  <ReferenceType id="_17485" type="_10921c" size="32" align="32"/>
+  <ReferenceType id="_17486" type="_10922c" size="32" align="32"/>
+  <ReferenceType id="_17487" type="_10923c" size="32" align="32"/>
+  <ReferenceType id="_17488" type="_10924c" size="32" align="32"/>
+  <ReferenceType id="_17489" type="_10925c" size="32" align="32"/>
+  <ReferenceType id="_17490" type="_10926c" size="32" align="32"/>
+  <ReferenceType id="_17491" type="_10927c" size="32" align="32"/>
+  <ReferenceType id="_17492" type="_10928c" size="32" align="32"/>
+  <ReferenceType id="_17493" type="_10929c" size="32" align="32"/>
+  <ReferenceType id="_17494" type="_10930c" size="32" align="32"/>
+  <ReferenceType id="_17495" type="_10931c" size="32" align="32"/>
+  <ReferenceType id="_17496" type="_10932c" size="32" align="32"/>
+  <ReferenceType id="_17497" type="_10933c" size="32" align="32"/>
+  <ReferenceType id="_17498" type="_10934c" size="32" align="32"/>
+  <ReferenceType id="_17499" type="_10935c" size="32" align="32"/>
+  <ReferenceType id="_17500" type="_10936c" size="32" align="32"/>
+  <ReferenceType id="_17501" type="_10937c" size="32" align="32"/>
+  <ReferenceType id="_17502" type="_10938c" size="32" align="32"/>
+  <ReferenceType id="_17503" type="_10939c" size="32" align="32"/>
+  <ReferenceType id="_17504" type="_10940c" size="32" align="32"/>
+  <ReferenceType id="_17505" type="_10941c" size="32" align="32"/>
+  <ReferenceType id="_17506" type="_10942c" size="32" align="32"/>
+  <ReferenceType id="_17507" type="_10943c" size="32" align="32"/>
+  <ReferenceType id="_17508" type="_10944c" size="32" align="32"/>
+  <ReferenceType id="_17509" type="_10945c" size="32" align="32"/>
+  <ReferenceType id="_17510" type="_10946c" size="32" align="32"/>
+  <ReferenceType id="_17511" type="_10948c" size="32" align="32"/>
+  <ReferenceType id="_17512" type="_10949c" size="32" align="32"/>
+  <ReferenceType id="_17513" type="_10950c" size="32" align="32"/>
+  <ReferenceType id="_17514" type="_10951c" size="32" align="32"/>
+  <ReferenceType id="_17515" type="_10952c" size="32" align="32"/>
+  <ReferenceType id="_17516" type="_10953c" size="32" align="32"/>
+  <ReferenceType id="_17517" type="_10954c" size="32" align="32"/>
+  <ReferenceType id="_17518" type="_10955c" size="32" align="32"/>
+  <ReferenceType id="_17521" type="_10960c" size="32" align="32"/>
+  <ReferenceType id="_17522" type="_10961c" size="32" align="32"/>
+  <ReferenceType id="_17523" type="_10962c" size="32" align="32"/>
+  <ReferenceType id="_17524" type="_10963c" size="32" align="32"/>
+  <ReferenceType id="_17525" type="_10964c" size="32" align="32"/>
+  <ReferenceType id="_17526" type="_10965c" size="32" align="32"/>
+  <ReferenceType id="_17527" type="_10966c" size="32" align="32"/>
+  <ReferenceType id="_17528" type="_10967c" size="32" align="32"/>
+  <ReferenceType id="_17529" type="_10968c" size="32" align="32"/>
+  <ReferenceType id="_17530" type="_10969c" size="32" align="32"/>
+  <ReferenceType id="_17531" type="_10970c" size="32" align="32"/>
+  <ReferenceType id="_17532" type="_10971c" size="32" align="32"/>
+  <ReferenceType id="_17533" type="_10972c" size="32" align="32"/>
+  <ReferenceType id="_17534" type="_10973c" size="32" align="32"/>
+  <ReferenceType id="_17535" type="_10974c" size="32" align="32"/>
+  <ReferenceType id="_17536" type="_10975c" size="32" align="32"/>
+  <ReferenceType id="_17537" type="_10976c" size="32" align="32"/>
+  <ReferenceType id="_17538" type="_10977c" size="32" align="32"/>
+  <ReferenceType id="_17539" type="_10978c" size="32" align="32"/>
+  <Constructor id="_17540" name="result_" artificial="1" throw="" context="_14839" access="public" mangled="_ZN5boost6detail19is_function_chooserILb0EE7result_ISbIwSt11char_traitsIwESaIwEEEC1ERKS8_ *INTERNAL* " demangled="boost::detail::is_function_chooser<false>::result_<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::result_(boost::detail::is_function_chooser<false>::result_<std::basic_string<wchar_t, std::cha [...]
+    <Argument name="_ctor_arg" type="_18358" location="f154:49" file="f154" line="49"/>
+  </Constructor>
+  <Constructor id="_17541" name="result_" explicit="1" artificial="1" throw="" context="_14839" access="public" mangled="_ZN5boost6detail19is_function_chooserILb0EE7result_ISbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::is_function_chooser<false>::result_<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::result_()" location="f154:49" file="f154" line="49" inline="1"/>
+  <ReferenceType id="_17542" type="_10979c" size="32" align="32"/>
+  <Constructor id="_17543" name="result_" artificial="1" throw="" context="_14842" access="public" mangled="_ZN5boost6detail19is_function_chooserILb0EE7result_ISsEC1ERKS4_ *INTERNAL* " demangled="boost::detail::is_function_chooser<false>::result_<std::string>::result_(boost::detail::is_function_chooser<false>::result_<std::string> const&)" location="f154:49" file="f154" line="49" inline="1">
+    <Argument name="_ctor_arg" type="_18360" location="f154:49" file="f154" line="49"/>
+  </Constructor>
+  <Constructor id="_17544" name="result_" explicit="1" artificial="1" throw="" context="_14842" access="public" mangled="_ZN5boost6detail19is_function_chooserILb0EE7result_ISsEC1Ev *INTERNAL* " demangled="boost::detail::is_function_chooser<false>::result_<std::string>::result_()" location="f154:49" file="f154" line="49" inline="1"/>
+  <ReferenceType id="_17545" type="_10980c" size="32" align="32"/>
+  <ReferenceType id="_17546" type="_10981c" size="32" align="32"/>
+  <ReferenceType id="_17547" type="_10982c" size="32" align="32"/>
+  <ReferenceType id="_17548" type="_10983c" size="32" align="32"/>
+  <ReferenceType id="_17549" type="_10984c" size="32" align="32"/>
+  <ReferenceType id="_17550" type="_10985c" size="32" align="32"/>
+  <ReferenceType id="_17551" type="_10986c" size="32" align="32"/>
+  <ReferenceType id="_17552" type="_10987c" size="32" align="32"/>
+  <ReferenceType id="_17553" type="_10988c" size="32" align="32"/>
+  <ReferenceType id="_17554" type="_10989c" size="32" align="32"/>
+  <ReferenceType id="_17555" type="_10990c" size="32" align="32"/>
+  <ReferenceType id="_17556" type="_10991c" size="32" align="32"/>
+  <ReferenceType id="_17557" type="_10992c" size="32" align="32"/>
+  <ReferenceType id="_17558" type="_10993c" size="32" align="32"/>
+  <ReferenceType id="_17559" type="_10994c" size="32" align="32"/>
+  <ReferenceType id="_17560" type="_10995c" size="32" align="32"/>
+  <ReferenceType id="_17561" type="_10996c" size="32" align="32"/>
+  <ReferenceType id="_17562" type="_10997c" size="32" align="32"/>
+  <ReferenceType id="_17563" type="_10998c" size="32" align="32"/>
+  <ReferenceType id="_17564" type="_10999c" size="32" align="32"/>
+  <ReferenceType id="_17565" type="_11000c" size="32" align="32"/>
+  <ReferenceType id="_17566" type="_11001c" size="32" align="32"/>
+  <ReferenceType id="_17567" type="_11002c" size="32" align="32"/>
+  <ReferenceType id="_17568" type="_11003c" size="32" align="32"/>
+  <ReferenceType id="_17569" type="_11004c" size="32" align="32"/>
+  <ReferenceType id="_17570" type="_11005c" size="32" align="32"/>
+  <ReferenceType id="_17571" type="_11006c" size="32" align="32"/>
+  <ReferenceType id="_17572" type="_11007c" size="32" align="32"/>
+  <ReferenceType id="_17573" type="_11008c" size="32" align="32"/>
+  <ReferenceType id="_17574" type="_11009c" size="32" align="32"/>
+  <ReferenceType id="_17575" type="_11010c" size="32" align="32"/>
+  <ReferenceType id="_17576" type="_11011c" size="32" align="32"/>
+  <ReferenceType id="_17577" type="_11012c" size="32" align="32"/>
+  <ReferenceType id="_17578" type="_11013c" size="32" align="32"/>
+  <ReferenceType id="_17579" type="_11014c" size="32" align="32"/>
+  <ReferenceType id="_17580" type="_11015c" size="32" align="32"/>
+  <ReferenceType id="_17581" type="_11016c" size="32" align="32"/>
+  <ReferenceType id="_17582" type="_11017c" size="32" align="32"/>
+  <ReferenceType id="_17583" type="_11018c" size="32" align="32"/>
+  <ReferenceType id="_17584" type="_11019c" size="32" align="32"/>
+  <ReferenceType id="_17585" type="_11020c" size="32" align="32"/>
+  <ReferenceType id="_17586" type="_11021c" size="32" align="32"/>
+  <ReferenceType id="_17587" type="_11022c" size="32" align="32"/>
+  <ReferenceType id="_17588" type="_11023c" size="32" align="32"/>
+  <ReferenceType id="_17589" type="_11024c" size="32" align="32"/>
+  <ReferenceType id="_17590" type="_11025c" size="32" align="32"/>
+  <ReferenceType id="_17591" type="_11026c" size="32" align="32"/>
+  <ReferenceType id="_17592" type="_11027c" size="32" align="32"/>
+  <ReferenceType id="_17593" type="_11028c" size="32" align="32"/>
+  <ReferenceType id="_17594" type="_11029c" size="32" align="32"/>
+  <ReferenceType id="_17595" type="_11030c" size="32" align="32"/>
+  <ReferenceType id="_17596" type="_11031c" size="32" align="32"/>
+  <ReferenceType id="_17597" type="_11032c" size="32" align="32"/>
+  <ReferenceType id="_17598" type="_11033c" size="32" align="32"/>
+  <ReferenceType id="_17599" type="_11034c" size="32" align="32"/>
+  <ReferenceType id="_17600" type="_11035c" size="32" align="32"/>
+  <ReferenceType id="_17601" type="_11036c" size="32" align="32"/>
+  <ReferenceType id="_17602" type="_11037c" size="32" align="32"/>
+  <ReferenceType id="_17603" type="_11038c" size="32" align="32"/>
+  <ReferenceType id="_17604" type="_11039c" size="32" align="32"/>
+  <ReferenceType id="_17605" type="_11040c" size="32" align="32"/>
+  <ReferenceType id="_17606" type="_11041c" size="32" align="32"/>
+  <ReferenceType id="_17607" type="_11042c" size="32" align="32"/>
+  <ReferenceType id="_17608" type="_11043c" size="32" align="32"/>
+  <ReferenceType id="_17609" type="_11044c" size="32" align="32"/>
+  <ReferenceType id="_17610" type="_11045c" size="32" align="32"/>
+  <ReferenceType id="_17611" type="_11046c" size="32" align="32"/>
+  <ReferenceType id="_17612" type="_11047c" size="32" align="32"/>
+  <ReferenceType id="_17613" type="_11048c" size="32" align="32"/>
+  <ReferenceType id="_17614" type="_11049c" size="32" align="32"/>
+  <ReferenceType id="_17615" type="_11050c" size="32" align="32"/>
+  <ReferenceType id="_17616" type="_11051c" size="32" align="32"/>
+  <ReferenceType id="_17617" type="_11052c" size="32" align="32"/>
+  <ReferenceType id="_17618" type="_11053c" size="32" align="32"/>
+  <ReferenceType id="_17619" type="_11054c" size="32" align="32"/>
+  <ReferenceType id="_17620" type="_11055c" size="32" align="32"/>
+  <ReferenceType id="_17621" type="_11056c" size="32" align="32"/>
+  <ReferenceType id="_17622" type="_11057c" size="32" align="32"/>
+  <ReferenceType id="_17623" type="_11058c" size="32" align="32"/>
+  <ReferenceType id="_17624" type="_11059c" size="32" align="32"/>
+  <ReferenceType id="_17625" type="_11060c" size="32" align="32"/>
+  <ReferenceType id="_17626" type="_11061c" size="32" align="32"/>
+  <ReferenceType id="_17627" type="_11062c" size="32" align="32"/>
+  <ReferenceType id="_17628" type="_11063c" size="32" align="32"/>
+  <ReferenceType id="_17629" type="_11064c" size="32" align="32"/>
+  <ReferenceType id="_17630" type="_11065c" size="32" align="32"/>
+  <ReferenceType id="_17631" type="_11066c" size="32" align="32"/>
+  <ReferenceType id="_17632" type="_11067c" size="32" align="32"/>
+  <ReferenceType id="_17633" type="_11068c" size="32" align="32"/>
+  <ReferenceType id="_17634" type="_11069c" size="32" align="32"/>
+  <ReferenceType id="_17635" type="_11070c" size="32" align="32"/>
+  <ReferenceType id="_17636" type="_11071c" size="32" align="32"/>
+  <ReferenceType id="_17637" type="_11072c" size="32" align="32"/>
+  <ReferenceType id="_17638" type="_11073c" size="32" align="32"/>
+  <ReferenceType id="_17639" type="_11074c" size="32" align="32"/>
+  <ReferenceType id="_17640" type="_11075c" size="32" align="32"/>
+  <ReferenceType id="_17641" type="_11076c" size="32" align="32"/>
+  <ReferenceType id="_17642" type="_11077c" size="32" align="32"/>
+  <ReferenceType id="_17643" type="_11078c" size="32" align="32"/>
+  <ReferenceType id="_17644" type="_11079c" size="32" align="32"/>
+  <ReferenceType id="_17645" type="_11080c" size="32" align="32"/>
+  <ReferenceType id="_17646" type="_11081c" size="32" align="32"/>
+  <ReferenceType id="_17647" type="_11082c" size="32" align="32"/>
+  <ReferenceType id="_17648" type="_11083c" size="32" align="32"/>
+  <ReferenceType id="_17649" type="_11084c" size="32" align="32"/>
+  <ReferenceType id="_17650" type="_11085c" size="32" align="32"/>
+  <ReferenceType id="_17651" type="_11086c" size="32" align="32"/>
+  <ReferenceType id="_17652" type="_11087c" size="32" align="32"/>
+  <ReferenceType id="_17653" type="_11088c" size="32" align="32"/>
+  <ReferenceType id="_17654" type="_11089c" size="32" align="32"/>
+  <ReferenceType id="_17655" type="_11090c" size="32" align="32"/>
+  <ReferenceType id="_17656" type="_11091c" size="32" align="32"/>
+  <ReferenceType id="_17657" type="_11092c" size="32" align="32"/>
+  <ReferenceType id="_17658" type="_11093c" size="32" align="32"/>
+  <ReferenceType id="_17659" type="_11094c" size="32" align="32"/>
+  <ReferenceType id="_17660" type="_11095c" size="32" align="32"/>
+  <ReferenceType id="_17661" type="_11096c" size="32" align="32"/>
+  <ReferenceType id="_17662" type="_3331cv" size="32" align="32"/>
+  <ReferenceType id="_17663" type="_3362cv" size="32" align="32"/>
+  <ReferenceType id="_17664" type="_3363cv" size="32" align="32"/>
+  <ReferenceType id="_17665" type="_3328cv" size="32" align="32"/>
+  <ReferenceType id="_17666" type="_2702cv" size="32" align="32"/>
+  <ReferenceType id="_17667" type="_3527cv" size="32" align="32"/>
+  <ReferenceType id="_17668" type="_3529cv" size="32" align="32"/>
+  <ReferenceType id="_17669" type="_11096cv" size="32" align="32"/>
+  <ReferenceType id="_17670" type="_2700cv" size="32" align="32"/>
+  <ReferenceType id="_17671" type="_11096" size="32" align="32"/>
+  <ReferenceType id="_17672" type="_11097c" size="32" align="32"/>
+  <ReferenceType id="_17673" type="_11098c" size="32" align="32"/>
+  <ReferenceType id="_17674" type="_11099c" size="32" align="32"/>
+  <ReferenceType id="_17675" type="_11100c" size="32" align="32"/>
+  <ReferenceType id="_17676" type="_11101c" size="32" align="32"/>
+  <ReferenceType id="_17677" type="_11102c" size="32" align="32"/>
+  <ReferenceType id="_17678" type="_11103c" size="32" align="32"/>
+  <ReferenceType id="_17679" type="_11104c" size="32" align="32"/>
+  <ReferenceType id="_17680" type="_11105c" size="32" align="32"/>
+  <ReferenceType id="_17681" type="_11106c" size="32" align="32"/>
+  <ReferenceType id="_17682" type="_11107c" size="32" align="32"/>
+  <ReferenceType id="_17683" type="_11108c" size="32" align="32"/>
+  <ReferenceType id="_17684" type="_11109c" size="32" align="32"/>
+  <ReferenceType id="_17685" type="_11110c" size="32" align="32"/>
+  <ReferenceType id="_17686" type="_11111c" size="32" align="32"/>
+  <ReferenceType id="_17687" type="_11112c" size="32" align="32"/>
+  <ReferenceType id="_17688" type="_11113c" size="32" align="32"/>
+  <ReferenceType id="_17689" type="_11114c" size="32" align="32"/>
+  <ReferenceType id="_17690" type="_11115c" size="32" align="32"/>
+  <ReferenceType id="_17691" type="_11116c" size="32" align="32"/>
+  <ReferenceType id="_17692" type="_11117c" size="32" align="32"/>
+  <ReferenceType id="_17693" type="_11118c" size="32" align="32"/>
+  <ReferenceType id="_17694" type="_11119c" size="32" align="32"/>
+  <CvQualifiedType id="_1194cv" type="_1194" const="1" volatile="1"/>
+  <ReferenceType id="_17696" type="_11120c" size="32" align="32"/>
+  <CvQualifiedType id="_1194v" type="_1194" volatile="1"/>
+  <ReferenceType id="_17698" type="_11121c" size="32" align="32"/>
+  <CvQualifiedType id="_1194c" type="_1194" const="1"/>
+  <ReferenceType id="_17699" type="_11122c" size="32" align="32"/>
+  <ReferenceType id="_17700" type="_11123c" size="32" align="32"/>
+  <ReferenceType id="_17701" type="_11124c" size="32" align="32"/>
+  <ReferenceType id="_17702" type="_11125c" size="32" align="32"/>
+  <ReferenceType id="_17703" type="_11126c" size="32" align="32"/>
+  <ReferenceType id="_17704" type="_11127c" size="32" align="32"/>
+  <ReferenceType id="_17705" type="_11128c" size="32" align="32"/>
+  <ReferenceType id="_17706" type="_11129c" size="32" align="32"/>
+  <ReferenceType id="_17707" type="_11130c" size="32" align="32"/>
+  <ReferenceType id="_17708" type="_11131c" size="32" align="32"/>
+  <ReferenceType id="_17709" type="_11132c" size="32" align="32"/>
+  <ReferenceType id="_17710" type="_11133c" size="32" align="32"/>
+  <ReferenceType id="_17711" type="_11134c" size="32" align="32"/>
+  <ReferenceType id="_17712" type="_11135c" size="32" align="32"/>
+  <ReferenceType id="_17713" type="_11136c" size="32" align="32"/>
+  <ReferenceType id="_17714" type="_11137c" size="32" align="32"/>
+  <ReferenceType id="_17715" type="_11138c" size="32" align="32"/>
+  <ReferenceType id="_17716" type="_11139c" size="32" align="32"/>
+  <ReferenceType id="_17717" type="_11140c" size="32" align="32"/>
+  <ReferenceType id="_17718" type="_11141c" size="32" align="32"/>
+  <ReferenceType id="_17719" type="_11142c" size="32" align="32"/>
+  <ReferenceType id="_17720" type="_11143c" size="32" align="32"/>
+  <ReferenceType id="_17721" type="_11144c" size="32" align="32"/>
+  <ReferenceType id="_17722" type="_11145c" size="32" align="32"/>
+  <ReferenceType id="_17723" type="_11146c" size="32" align="32"/>
+  <ReferenceType id="_17724" type="_11147c" size="32" align="32"/>
+  <ReferenceType id="_17725" type="_11148c" size="32" align="32"/>
+  <ReferenceType id="_17726" type="_11149c" size="32" align="32"/>
+  <ReferenceType id="_17727" type="_11150c" size="32" align="32"/>
+  <ReferenceType id="_17728" type="_11151c" size="32" align="32"/>
+  <ReferenceType id="_17729" type="_11152c" size="32" align="32"/>
+  <ReferenceType id="_17730" type="_11153c" size="32" align="32"/>
+  <ReferenceType id="_17731" type="_11154c" size="32" align="32"/>
+  <ReferenceType id="_17732" type="_11155c" size="32" align="32"/>
+  <ReferenceType id="_17734" type="_11157c" size="32" align="32"/>
+  <ReferenceType id="_17735" type="_11158c" size="32" align="32"/>
+  <ReferenceType id="_17736" type="_11159c" size="32" align="32"/>
+  <ReferenceType id="_17737" type="_11160c" size="32" align="32"/>
+  <ReferenceType id="_17738" type="_11161c" size="32" align="32"/>
+  <ReferenceType id="_17739" type="_11162c" size="32" align="32"/>
+  <ReferenceType id="_17740" type="_11163c" size="32" align="32"/>
+  <ReferenceType id="_17741" type="_11164c" size="32" align="32"/>
+  <ReferenceType id="_17742" type="_11165c" size="32" align="32"/>
+  <ReferenceType id="_17743" type="_11166c" size="32" align="32"/>
+  <ReferenceType id="_17744" type="_11167c" size="32" align="32"/>
+  <ReferenceType id="_17746" type="_11172" size="32" align="32"/>
+  <ReferenceType id="_17747" type="_11173" size="32" align="32"/>
+  <ReferenceType id="_17748" type="_11174c" size="32" align="32"/>
+  <ReferenceType id="_17749" type="_11174" size="32" align="32"/>
+  <PointerType id="_17750" type="_3412c" size="32" align="32"/>
+  <Field id="_17751" name="manager" type="_18558" offset="0" context="_15530" access="public" mangled="_ZN5boost6detail8function11vtable_base7managerE" demangled="boost::detail::function::vtable_base::manager" location="f17:462" file="f17" line="462"/>
+  <Constructor id="_17752" name="vtable_base" artificial="1" throw="" context="_15530" access="public" mangled="_ZN5boost6detail8function11vtable_baseC1ERKS2_ *INTERNAL* " demangled="boost::detail::function::vtable_base::vtable_base(boost::detail::function::vtable_base const&)" location="f17:458" file="f17" line="458" inline="1">
+    <Argument name="_ctor_arg" type="_18559" location="f17:458" file="f17" line="458"/>
+  </Constructor>
+  <Constructor id="_17753" name="vtable_base" explicit="1" context="_15530" access="public" mangled="_ZN5boost6detail8function11vtable_baseC1Ev *INTERNAL* " demangled="boost::detail::function::vtable_base::vtable_base()" location="f17:459" file="f17" line="459" endline="459" inline="1"/>
+  <Constructor id="_17754" name="useless_clear_type" artificial="1" throw="" context="_12094" access="public" mangled="_ZN5boost6detail8function18useless_clear_typeC1ERKS2_ *INTERNAL* " demangled="boost::detail::function::useless_clear_type::useless_clear_type(boost::detail::function::useless_clear_type const&)" location="f17:392" file="f17" line="392" inline="1">
+    <Argument name="_ctor_arg" type="_18560" location="f17:392" file="f17" line="392"/>
+  </Constructor>
+  <Constructor id="_17755" name="useless_clear_type" explicit="1" artificial="1" throw="" context="_12094" access="public" mangled="_ZN5boost6detail8function18useless_clear_typeC1Ev *INTERNAL* " demangled="boost::detail::function::useless_clear_type::useless_clear_type()" location="f17:392" file="f17" line="392" inline="1"/>
+  <Constructor id="_17756" name="function_obj_ref_tag" artificial="1" throw="" context="_15531" access="public" mangled="_ZN5boost6detail8function20function_obj_ref_tagC1ERKS2_ *INTERNAL* " demangled="boost::detail::function::function_obj_ref_tag::function_obj_ref_tag(boost::detail::function::function_obj_ref_tag const&)" location="f17:174" file="f17" line="174" inline="1">
+    <Argument name="_ctor_arg" type="_18561" location="f17:174" file="f17" line="174"/>
+  </Constructor>
+  <Constructor id="_17757" name="function_obj_ref_tag" explicit="1" artificial="1" throw="" context="_15531" access="public" mangled="_ZN5boost6detail8function20function_obj_ref_tagC1Ev *INTERNAL* " demangled="boost::detail::function::function_obj_ref_tag::function_obj_ref_tag()" location="f17:174" file="f17" line="174" inline="1"/>
+  <Constructor id="_17758" name="member_ptr_tag" artificial="1" throw="" context="_15532" access="public" mangled="_ZN5boost6detail8function14member_ptr_tagC1ERKS2_ *INTERNAL* " demangled="boost::detail::function::member_ptr_tag::member_ptr_tag(boost::detail::function::member_ptr_tag const&)" location="f17:173" file="f17" line="173" inline="1">
+    <Argument name="_ctor_arg" type="_18562" location="f17:173" file="f17" line="173"/>
+  </Constructor>
+  <Constructor id="_17759" name="member_ptr_tag" explicit="1" artificial="1" throw="" context="_15532" access="public" mangled="_ZN5boost6detail8function14member_ptr_tagC1Ev *INTERNAL* " demangled="boost::detail::function::member_ptr_tag::member_ptr_tag()" location="f17:173" file="f17" line="173" inline="1"/>
+  <Constructor id="_17760" name="function_obj_tag" artificial="1" throw="" context="_15533" access="public" mangled="_ZN5boost6detail8function16function_obj_tagC1ERKS2_ *INTERNAL* " demangled="boost::detail::function::function_obj_tag::function_obj_tag(boost::detail::function::function_obj_tag const&)" location="f17:172" file="f17" line="172" inline="1">
+    <Argument name="_ctor_arg" type="_18563" location="f17:172" file="f17" line="172"/>
+  </Constructor>
+  <Constructor id="_17761" name="function_obj_tag" explicit="1" artificial="1" throw="" context="_15533" access="public" mangled="_ZN5boost6detail8function16function_obj_tagC1Ev *INTERNAL* " demangled="boost::detail::function::function_obj_tag::function_obj_tag()" location="f17:172" file="f17" line="172" inline="1"/>
+  <Constructor id="_17762" name="function_ptr_tag" artificial="1" throw="" context="_15534" access="public" mangled="_ZN5boost6detail8function16function_ptr_tagC1ERKS2_ *INTERNAL* " demangled="boost::detail::function::function_ptr_tag::function_ptr_tag(boost::detail::function::function_ptr_tag const&)" location="f17:171" file="f17" line="171" inline="1">
+    <Argument name="_ctor_arg" type="_18564" location="f17:171" file="f17" line="171"/>
+  </Constructor>
+  <Constructor id="_17763" name="function_ptr_tag" explicit="1" artificial="1" throw="" context="_15534" access="public" mangled="_ZN5boost6detail8function16function_ptr_tagC1Ev *INTERNAL* " demangled="boost::detail::function::function_ptr_tag::function_ptr_tag()" location="f17:171" file="f17" line="171" inline="1"/>
+  <Typedef id="_17764" name="type" type="_15537" context="_15536" access="public" location="f17:159" file="f17" line="159"/>
+  <Constructor id="_17765" name="function_return_type" artificial="1" throw="" context="_15536" access="public" mangled="_ZN5boost6detail8function20function_return_typeIvEC1ERKS3_ *INTERNAL* " demangled="boost::detail::function::function_return_type<void>::function_return_type(boost::detail::function::function_return_type<void> const&)" location="f17:158" file="f17" line="158" inline="1">
+    <Argument name="_ctor_arg" type="_18565" location="f17:158" file="f17" line="158"/>
+  </Constructor>
+  <Constructor id="_17766" name="function_return_type" explicit="1" artificial="1" throw="" context="_15536" access="public" mangled="_ZN5boost6detail8function20function_return_typeIvEC1Ev *INTERNAL* " demangled="boost::detail::function::function_return_type<void>::function_return_type()" location="f17:158" file="f17" line="158" inline="1"/>
+  <Constructor id="_17767" name="unusable" artificial="1" throw="" context="_15537" access="public" mangled="_ZN5boost6detail8function8unusableC1ERKS2_ *INTERNAL* " demangled="boost::detail::function::unusable::unusable(boost::detail::function::unusable const&)" location="f17:145" file="f17" line="145" inline="1">
+    <Argument name="_ctor_arg" type="_18566" location="f17:145" file="f17" line="145"/>
+  </Constructor>
+  <Constructor id="_17768" name="unusable" explicit="1" context="_15537" access="public" mangled="_ZN5boost6detail8function8unusableC1Ev *INTERNAL* " demangled="boost::detail::function::unusable::unusable()" location="f17:146" file="f17" line="146" endline="146" inline="1"/>
+  <Constructor id="_17769" name="is_reference_to_const" artificial="1" throw="" context="_15539" access="public" mangled="_ZN5boost6detail15indirect_traits21is_reference_to_constIRKSbIwSt11char_traitsIwESaIwEEEC1ERKS9_ *INTERNAL* " demangled="boost::detail::indirect_traits::is_reference_to_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>::is_reference_to_const(boost::detail::indirect_traits::is_reference_to_const&lt [...]
+    <Argument name="_ctor_arg" type="_18567" location="f309:40" file="f309" line="40"/>
+  </Constructor>
+  <Constructor id="_17770" name="is_reference_to_const" explicit="1" artificial="1" throw="" context="_15539" access="public" mangled="_ZN5boost6detail15indirect_traits21is_reference_to_constIRKSbIwSt11char_traitsIwESaIwEEEC1Ev *INTERNAL* " demangled="boost::detail::indirect_traits::is_reference_to_const<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>::is_reference_to_const()" location="f309:40" file="f309" line="40" inl [...]
+  <Constructor id="_17771" name="is_reference_to_const" artificial="1" throw="" context="_15540" access="public" mangled="_ZN5boost6detail15indirect_traits21is_reference_to_constIRKSsEC1ERKS5_ *INTERNAL* " demangled="boost::detail::indirect_traits::is_reference_to_const<std::string const&>::is_reference_to_const(boost::detail::indirect_traits::is_reference_to_const<std::string const&> const&)" location="f309:40" file="f309" line="40" inline="1">
+    <Argument name="_ctor_arg" type="_18568" location="f309:40" file="f309" line="40"/>
+  </Constructor>
+  <Constructor id="_17772" name="is_reference_to_const" explicit="1" artificial="1" throw="" context="_15540" access="public" mangled="_ZN5boost6detail15indirect_traits21is_reference_to_constIRKSsEC1Ev *INTERNAL* " demangled="boost::detail::indirect_traits::is_reference_to_const<std::string const&>::is_reference_to_const()" location="f309:40" file="f309" line="40" inline="1"/>
+  <ReferenceType id="_17773" type="_11180c" size="32" align="32"/>
+  <ReferenceType id="_17774" type="_11181c" size="32" align="32"/>
+  <ReferenceType id="_17775" type="_11189c" size="32" align="32"/>
+  <ReferenceType id="_17778" type="_11199c" size="32" align="32"/>
+  <ReferenceType id="_17779" type="_11205c" size="32" align="32"/>
+  <ReferenceType id="_17780" type="_11206c" size="32" align="32"/>
+  <ReferenceType id="_17781" type="_11207c" size="32" align="32"/>
+  <ReferenceType id="_17782" type="_11208c" size="32" align="32"/>
+  <ReferenceType id="_17783" type="_11211c" size="32" align="32"/>
+  <ReferenceType id="_17784" type="_11228c" size="32" align="32"/>
+  <ReferenceType id="_17785" type="_11229c" size="32" align="32"/>
+  <ReferenceType id="_17786" type="_11230c" size="32" align="32"/>
+  <ReferenceType id="_17787" type="_11231c" size="32" align="32"/>
+  <ReferenceType id="_17788" type="_11232c" size="32" align="32"/>
+  <ReferenceType id="_17789" type="_11233c" size="32" align="32"/>
+  <ReferenceType id="_17790" type="_11234c" size="32" align="32"/>
+  <ReferenceType id="_17791" type="_11235c" size="32" align="32"/>
+  <ReferenceType id="_17792" type="_11236c" size="32" align="32"/>
+  <ReferenceType id="_17793" type="_11237c" size="32" align="32"/>
+  <ReferenceType id="_17794" type="_11238c" size="32" align="32"/>
+  <ReferenceType id="_17795" type="_11239c" size="32" align="32"/>
+  <ReferenceType id="_17796" type="_11240c" size="32" align="32"/>
+  <ReferenceType id="_17797" type="_11241c" size="32" align="32"/>
+  <ReferenceType id="_17798" type="_11242c" size="32" align="32"/>
+  <ReferenceType id="_17799" type="_11243c" size="32" align="32"/>
+  <ReferenceType id="_17800" type="_11244c" size="32" align="32"/>
+  <ReferenceType id="_17801" type="_11245c" size="32" align="32"/>
+  <ReferenceType id="_17802" type="_11246c" size="32" align="32"/>
+  <ReferenceType id="_17803" type="_11247c" size="32" align="32"/>
+  <ReferenceType id="_17804" type="_11248c" size="32" align="32"/>
+  <ReferenceType id="_17805" type="_11249c" size="32" align="32"/>
+  <ReferenceType id="_17806" type="_11250c" size="32" align="32"/>
+  <ReferenceType id="_17807" type="_11251c" size="32" align="32"/>
+  <ReferenceType id="_17808" type="_11252c" size="32" align="32"/>
+  <ReferenceType id="_17809" type="_11253c" size="32" align="32"/>
+  <ArrayType id="_11988" min="0" max="5" type="_2961" size="48" align="8"/>
+  <CvQualifiedType id="_11988c" type="_11988" const="1"/>
+  <ArrayType id="_11989" min="0" max="4" type="_2961" size="40" align="8"/>
+  <CvQualifiedType id="_11989c" type="_11989" const="1"/>
+  <CvQualifiedType id="_8289c" type="_8289" const="1"/>
+  <ReferenceType id="_17813" type="_11255c" size="32" align="32"/>
+  <ReferenceType id="_17814" type="_11257c" size="32" align="32"/>
+  <ReferenceType id="_17815" type="_11265c" size="32" align="32"/>
+  <ReferenceType id="_17816" type="_11267c" size="32" align="32"/>
+  <ReferenceType id="_17817" type="_11268c" size="32" align="32"/>
+  <ReferenceType id="_17818" type="_11269c" size="32" align="32"/>
+  <CvQualifiedType id="_11269c" type="_11269" const="1"/>
+  <CvQualifiedType id="_1574c" type="_1574" const="1"/>
+  <ReferenceType id="_17821" type="_11270c" size="32" align="32"/>
+  <CvQualifiedType id="_11270c" type="_11270" const="1"/>
+  <ReferenceType id="_17823" type="_11271c" size="32" align="32"/>
+  <CvQualifiedType id="_11271c" type="_11271" const="1"/>
+  <ReferenceType id="_17825" type="_11272c" size="32" align="32"/>
+  <ReferenceType id="_17826" type="_11274c" size="32" align="32"/>
+  <Field id="_17852" name="memfunc_ptr" type="_18611" offset="0" context="_16462" access="public" mangled="_ZN5boost6detail8function15function_buffer19bound_memfunc_ptr_t11memfunc_ptrE" demangled="boost::detail::function::function_buffer::bound_memfunc_ptr_t::memfunc_ptr" location="f17:130" file="f17" line="130"/>
+  <Field id="_17853" name="obj_ptr" type="_1042" offset="64" context="_16462" access="public" mangled="_ZN5boost6detail8function15function_buffer19bound_memfunc_ptr_t7obj_ptrE" demangled="boost::detail::function::function_buffer::bound_memfunc_ptr_t::obj_ptr" location="f17:131" file="f17" line="131"/>
+  <Constructor id="_17854" name="bound_memfunc_ptr_t" artificial="1" throw="" context="_16462" access="public" mangled="_ZN5boost6detail8function15function_buffer19bound_memfunc_ptr_tC1ERKS3_ *INTERNAL* " demangled="boost::detail::function::function_buffer::bound_memfunc_ptr_t::bound_memfunc_ptr_t(boost::detail::function::function_buffer::bound_memfunc_ptr_t const&)" location="f17:129" file="f17" line="129" inline="1">
+    <Argument name="_ctor_arg" type="_18612" location="f17:129" file="f17" line="129"/>
+  </Constructor>
+  <Constructor id="_17855" name="bound_memfunc_ptr_t" explicit="1" artificial="1" throw="" context="_16462" access="public" mangled="_ZN5boost6detail8function15function_buffer19bound_memfunc_ptr_tC1Ev *INTERNAL* " demangled="boost::detail::function::function_buffer::bound_memfunc_ptr_t::bound_memfunc_ptr_t()" location="f17:129" file="f17" line="129" inline="1"/>
+  <ReferenceType id="_17856" type="_12097c" size="32" align="32"/>
+  <ReferenceType id="_17876" type="_12280c" size="32" align="32"/>
+  <ReferenceType id="_17878" type="_12284c" size="32" align="32"/>
+  <ReferenceType id="_17935" type="_13155c" size="32" align="32"/>
+  <ReferenceType id="_17936" type="_13156c" size="32" align="32"/>
+  <ReferenceType id="_17937" type="_13157c" size="32" align="32"/>
+  <ReferenceType id="_17938" type="_13158c" size="32" align="32"/>
+  <ReferenceType id="_17950" type="_13204c" size="32" align="32"/>
+  <ReferenceType id="_17951" type="_13205c" size="32" align="32"/>
+  <ReferenceType id="_17952" type="_13208c" size="32" align="32"/>
+  <ReferenceType id="_17953" type="_13209c" size="32" align="32"/>
+  <ReferenceType id="_17954" type="_13212c" size="32" align="32"/>
+  <ReferenceType id="_17999" type="_13385c" size="32" align="32"/>
+  <ReferenceType id="_18001" type="_13388c" size="32" align="32"/>
+  <ReferenceType id="_18005" type="_13395c" size="32" align="32"/>
+  <ReferenceType id="_18007" type="_13398c" size="32" align="32"/>
+  <ReferenceType id="_18009" type="_13401c" size="32" align="32"/>
+  <ReferenceType id="_18013" type="_13408c" size="32" align="32"/>
+  <ReferenceType id="_18015" type="_13411c" size="32" align="32"/>
+  <ReferenceType id="_18017" type="_13414c" size="32" align="32"/>
+  <ReferenceType id="_18020" type="_13419c" size="32" align="32"/>
+  <ReferenceType id="_18112" type="_13728c" size="32" align="32"/>
+  <ReferenceType id="_18113" type="_13729c" size="32" align="32"/>
+  <ReferenceType id="_18114" type="_13730c" size="32" align="32"/>
+  <ReferenceType id="_18115" type="_13731c" size="32" align="32"/>
+  <ReferenceType id="_18116" type="_13732c" size="32" align="32"/>
+  <ReferenceType id="_18117" type="_13733c" size="32" align="32"/>
+  <ReferenceType id="_18118" type="_13734c" size="32" align="32"/>
+  <ReferenceType id="_18119" type="_13735c" size="32" align="32"/>
+  <ReferenceType id="_18120" type="_13736c" size="32" align="32"/>
+  <ReferenceType id="_18121" type="_13737c" size="32" align="32"/>
+  <ReferenceType id="_18122" type="_13738c" size="32" align="32"/>
+  <ReferenceType id="_18123" type="_13739c" size="32" align="32"/>
+  <ReferenceType id="_18124" type="_13740c" size="32" align="32"/>
+  <ReferenceType id="_18125" type="_13742c" size="32" align="32"/>
+  <ReferenceType id="_18126" type="_13743c" size="32" align="32"/>
+  <ReferenceType id="_18127" type="_13744c" size="32" align="32"/>
+  <ReferenceType id="_18128" type="_13745c" size="32" align="32"/>
+  <ReferenceType id="_18129" type="_13746c" size="32" align="32"/>
+  <ReferenceType id="_18130" type="_13747c" size="32" align="32"/>
+  <ReferenceType id="_18131" type="_13748c" size="32" align="32"/>
+  <ReferenceType id="_18132" type="_13749c" size="32" align="32"/>
+  <ReferenceType id="_18133" type="_13750c" size="32" align="32"/>
+  <ReferenceType id="_18134" type="_13751c" size="32" align="32"/>
+  <ReferenceType id="_18135" type="_13752c" size="32" align="32"/>
+  <ReferenceType id="_18136" type="_13753c" size="32" align="32"/>
+  <ReferenceType id="_18137" type="_13754c" size="32" align="32"/>
+  <ReferenceType id="_18138" type="_13755c" size="32" align="32"/>
+  <ReferenceType id="_18139" type="_13756c" size="32" align="32"/>
+  <ReferenceType id="_18140" type="_13757c" size="32" align="32"/>
+  <ReferenceType id="_18141" type="_13758c" size="32" align="32"/>
+  <ReferenceType id="_18142" type="_13759c" size="32" align="32"/>
+  <ReferenceType id="_18143" type="_13760c" size="32" align="32"/>
+  <ReferenceType id="_18144" type="_13761c" size="32" align="32"/>
+  <ReferenceType id="_18145" type="_13762c" size="32" align="32"/>
+  <ReferenceType id="_18146" type="_13765c" size="32" align="32"/>
+  <ReferenceType id="_18147" type="_13766c" size="32" align="32"/>
+  <ReferenceType id="_18148" type="_13767c" size="32" align="32"/>
+  <ReferenceType id="_18149" type="_13768c" size="32" align="32"/>
+  <ReferenceType id="_18150" type="_13769c" size="32" align="32"/>
+  <ReferenceType id="_18151" type="_13770c" size="32" align="32"/>
+  <ReferenceType id="_18152" type="_13771c" size="32" align="32"/>
+  <ReferenceType id="_18153" type="_13772c" size="32" align="32"/>
+  <ReferenceType id="_18154" type="_13773c" size="32" align="32"/>
+  <ReferenceType id="_18155" type="_13774c" size="32" align="32"/>
+  <ReferenceType id="_18156" type="_13775c" size="32" align="32"/>
+  <ReferenceType id="_18157" type="_13776c" size="32" align="32"/>
+  <ReferenceType id="_18158" type="_13777c" size="32" align="32"/>
+  <ReferenceType id="_18159" type="_13778c" size="32" align="32"/>
+  <ReferenceType id="_18160" type="_13779c" size="32" align="32"/>
+  <ReferenceType id="_18161" type="_13780c" size="32" align="32"/>
+  <ReferenceType id="_18162" type="_13781c" size="32" align="32"/>
+  <ReferenceType id="_18163" type="_13782c" size="32" align="32"/>
+  <ReferenceType id="_18164" type="_13783c" size="32" align="32"/>
+  <ReferenceType id="_18165" type="_13784c" size="32" align="32"/>
+  <ReferenceType id="_18166" type="_13785c" size="32" align="32"/>
+  <ReferenceType id="_18167" type="_13786c" size="32" align="32"/>
+  <ReferenceType id="_18168" type="_13787c" size="32" align="32"/>
+  <ReferenceType id="_18169" type="_13788c" size="32" align="32"/>
+  <ReferenceType id="_18170" type="_13789c" size="32" align="32"/>
+  <ReferenceType id="_18171" type="_13790c" size="32" align="32"/>
+  <ReferenceType id="_18172" type="_13791c" size="32" align="32"/>
+  <ReferenceType id="_18173" type="_13792c" size="32" align="32"/>
+  <ReferenceType id="_18174" type="_13793c" size="32" align="32"/>
+  <ReferenceType id="_18175" type="_13794c" size="32" align="32"/>
+  <ReferenceType id="_18201" type="_14271c" size="32" align="32"/>
+  <ReferenceType id="_18358" type="_14839c" size="32" align="32"/>
+  <ReferenceType id="_18360" type="_14842c" size="32" align="32"/>
+  <PointerType id="_18558" type="_18701" size="32" align="32"/>
+  <ReferenceType id="_18559" type="_15530c" size="32" align="32"/>
+  <ReferenceType id="_18560" type="_12094c" size="32" align="32"/>
+  <ReferenceType id="_18561" type="_15531c" size="32" align="32"/>
+  <ReferenceType id="_18562" type="_15532c" size="32" align="32"/>
+  <ReferenceType id="_18563" type="_15533c" size="32" align="32"/>
+  <ReferenceType id="_18564" type="_15534c" size="32" align="32"/>
+  <ReferenceType id="_18565" type="_15536c" size="32" align="32"/>
+  <ReferenceType id="_18566" type="_15537c" size="32" align="32"/>
+  <ReferenceType id="_18567" type="_15539c" size="32" align="32"/>
+  <ReferenceType id="_18568" type="_15540c" size="32" align="32"/>
+  <PointerType id="_18611" type="_18712" size="32" align="32"/>
+  <ReferenceType id="_18612" type="_16462c" size="32" align="32"/>
+  <FunctionType id="_5512" returns="_1194">
+  </FunctionType>
+  <FunctionType id="_2987" returns="_1194">
+    <Argument type="_1042"/>
+  </FunctionType>
+  <FunctionType id="_8210" returns="_1042">
+    <Argument type="_1042"/>
+  </FunctionType>
+  <FunctionType id="_8281" returns="_1194">
+    <Argument type="_503"/>
+    <Argument type="_1042"/>
+  </FunctionType>
+  <CvQualifiedType id="_2715c" type="_2715" const="1"/>
+  <CvQualifiedType id="_3208c" type="_3208" const="1"/>
+  <CvQualifiedType id="_3209c" type="_3209" const="1"/>
+  <CvQualifiedType id="_1697c" type="_1697" const="1"/>
+  <CvQualifiedType id="_1696c" type="_1696" const="1"/>
+  <CvQualifiedType id="_1695c" type="_1695" const="1"/>
+  <CvQualifiedType id="_1694c" type="_1694" const="1"/>
+  <CvQualifiedType id="_1679c" type="_1679" const="1"/>
+  <CvQualifiedType id="_1603c" type="_1603" const="1"/>
+  <CvQualifiedType id="_1566c" type="_1566" const="1"/>
+  <CvQualifiedType id="_1565c" type="_1565" const="1"/>
+  <CvQualifiedType id="_1564c" type="_1564" const="1"/>
+  <CvQualifiedType id="_1562c" type="_1562" const="1"/>
+  <CvQualifiedType id="_1546c" type="_1546" const="1"/>
+  <CvQualifiedType id="_1544c" type="_1544" const="1"/>
+  <CvQualifiedType id="_2821c" type="_2821" const="1"/>
+  <CvQualifiedType id="_833c" type="_833" const="1"/>
+  <CvQualifiedType id="_1543c" type="_1543" const="1"/>
+  <CvQualifiedType id="_3151c" type="_3151" const="1"/>
+  <CvQualifiedType id="_1542c" type="_1542" const="1"/>
+  <CvQualifiedType id="_1541c" type="_1541" const="1"/>
+  <CvQualifiedType id="_3141c" type="_3141" const="1"/>
+  <CvQualifiedType id="_1538c" type="_1538" const="1"/>
+  <CvQualifiedType id="_1537c" type="_1537" const="1"/>
+  <CvQualifiedType id="_1535c" type="_1535" const="1"/>
+  <CvQualifiedType id="_1534c" type="_1534" const="1"/>
+  <CvQualifiedType id="_1529c" type="_1529" const="1"/>
+  <CvQualifiedType id="_1512c" type="_1512" const="1"/>
+  <FunctionType id="_3097" returns="_503">
+    <Argument type="_2807"/>
+    <Argument type="_2807"/>
+  </FunctionType>
+  <CvQualifiedType id="_2704c" type="_2704" const="1"/>
+  <CvQualifiedType id="_2703c" type="_2703" const="1"/>
+  <CvQualifiedType id="_2702c" type="_2702" const="1"/>
+  <CvQualifiedType id="_2701c" type="_2701" const="1"/>
+  <CvQualifiedType id="_2700c" type="_2700" const="1"/>
+  <CvQualifiedType id="_1287c" type="_1287" const="1"/>
+  <CvQualifiedType id="_1286c" type="_1286" const="1"/>
+  <CvQualifiedType id="_2654c" type="_2654" const="1"/>
+  <CvQualifiedType id="_2621c" type="_2621" const="1"/>
+  <CvQualifiedType id="_2620c" type="_2620" const="1"/>
+  <CvQualifiedType id="_2607c" type="_2607" const="1"/>
+  <CvQualifiedType id="_2619c" type="_2619" const="1"/>
+  <CvQualifiedType id="_2618c" type="_2618" const="1"/>
+  <CvQualifiedType id="_2617c" type="_2617" const="1"/>
+  <CvQualifiedType id="_2616c" type="_2616" const="1"/>
+  <CvQualifiedType id="_2615c" type="_2615" const="1"/>
+  <CvQualifiedType id="_2608c" type="_2608" const="1"/>
+  <CvQualifiedType id="_2614c" type="_2614" const="1"/>
+  <CvQualifiedType id="_2613c" type="_2613" const="1"/>
+  <CvQualifiedType id="_2612c" type="_2612" const="1"/>
+  <CvQualifiedType id="_2611c" type="_2611" const="1"/>
+  <CvQualifiedType id="_2610c" type="_2610" const="1"/>
+  <CvQualifiedType id="_2600c" type="_2600" const="1"/>
+  <CvQualifiedType id="_2599c" type="_2599" const="1"/>
+  <CvQualifiedType id="_2598c" type="_2598" const="1"/>
+  <CvQualifiedType id="_2698c" type="_2698" const="1"/>
+  <CvQualifiedType id="_1284c" type="_1284" const="1"/>
+  <CvQualifiedType id="_2800c" type="_2800" const="1"/>
+  <CvQualifiedType id="_766c" type="_766" const="1"/>
+  <CvQualifiedType id="_1147c" type="_1147" const="1"/>
+  <CvQualifiedType id="_1145c" type="_1145" const="1"/>
+  <FunctionType id="_2995" returns="_503">
+    <Argument type="_8264"/>
+    <Argument type="_18714"/>
+    <Argument type="_18715"/>
+    <Argument type="_4700"/>
+    <Argument type="_18716"/>
+    <Argument type="_2880"/>
+    <Argument type="_503"/>
+    <Argument type="_503"/>
+  </FunctionType>
+  <FunctionType id="_2994" returns="_1232">
+    <Argument type="_8264"/>
+    <Argument type="_1296"/>
+  </FunctionType>
+  <FunctionType id="_2993" returns="_503">
+    <Argument type="_8264"/>
+  </FunctionType>
+  <FunctionType id="_2992" returns="_1194">
+    <Argument type="_8264"/>
+  </FunctionType>
+  <FunctionType id="_2991" returns="_503">
+    <Argument type="_8264"/>
+    <Argument type="_18714"/>
+    <Argument type="_1042"/>
+    <Argument type="_4700"/>
+    <Argument type="_18715"/>
+    <Argument type="_4700"/>
+    <Argument type="_18716"/>
+    <Argument type="_2880"/>
+  </FunctionType>
+  <FunctionType id="_2990" returns="_503">
+    <Argument type="_1042"/>
+    <Argument type="_4700"/>
+    <Argument type="_4700"/>
+    <Argument type="_4685"/>
+    <Argument type="_4685"/>
+  </FunctionType>
+  <FunctionType id="_2989" returns="_503">
+    <Argument type="_2749"/>
+    <Argument type="_18717"/>
+    <Argument type="_2880"/>
+  </FunctionType>
+  <FunctionType id="_2988" returns="_503">
+    <Argument type="_2878"/>
+    <Argument type="_2749"/>
+  </FunctionType>
+  <CvQualifiedType id="_1226c" type="_1226" const="1"/>
+  <CvQualifiedType id="_1229c" type="_1229" const="1"/>
+  <CvQualifiedType id="_1228c" type="_1228" const="1"/>
+  <CvQualifiedType id="_1207c" type="_1207" const="1"/>
+  <CvQualifiedType id="_2979c" type="_2979" const="1"/>
+  <CvQualifiedType id="_1204c" type="_1204" const="1"/>
+  <CvQualifiedType id="_1193c" type="_1193" const="1"/>
+  <CvQualifiedType id="_1233c" type="_1233" const="1"/>
+  <CvQualifiedType id="_1174c" type="_1174" const="1"/>
+  <CvQualifiedType id="_1148c" type="_1148" const="1"/>
+  <CvQualifiedType id="_1146c" type="_1146" const="1"/>
+  <CvQualifiedType id="_2534c" type="_2534" const="1"/>
+  <CvQualifiedType id="_1027c" type="_1027" const="1"/>
+  <CvQualifiedType id="_1024c" type="_1024" const="1"/>
+  <CvQualifiedType id="_1022c" type="_1022" const="1"/>
+  <CvQualifiedType id="_1011c" type="_1011" const="1"/>
+  <CvQualifiedType id="_1010c" type="_1010" const="1"/>
+  <CvQualifiedType id="_1585c" type="_1585" const="1"/>
+  <CvQualifiedType id="_957c" type="_957" const="1"/>
+  <CvQualifiedType id="_2868c" type="_2868" const="1"/>
+  <CvQualifiedType id="_909c" type="_909" const="1"/>
+  <CvQualifiedType id="_908c" type="_908" const="1"/>
+  <CvQualifiedType id="_907c" type="_907" const="1"/>
+  <CvQualifiedType id="_1652c" type="_1652" const="1"/>
+  <CvQualifiedType id="_767c" type="_767" const="1"/>
+  <CvQualifiedType id="_2424c" type="_2424" const="1"/>
+  <CvQualifiedType id="_2423c" type="_2423" const="1"/>
+  <CvQualifiedType id="_2415c" type="_2415" const="1"/>
+  <CvQualifiedType id="_2411c" type="_2411" const="1"/>
+  <CvQualifiedType id="_2399c" type="_2399" const="1"/>
+  <CvQualifiedType id="_2401c" type="_2401" const="1"/>
+  <CvQualifiedType id="_2400c" type="_2400" const="1"/>
+  <CvQualifiedType id="_2389c" type="_2389" const="1"/>
+  <CvQualifiedType id="_1699c" type="_1699" const="1"/>
+  <CvQualifiedType id="_2384c" type="_2384" const="1"/>
+  <CvQualifiedType id="_2383c" type="_2383" const="1"/>
+  <CvQualifiedType id="_2382c" type="_2382" const="1"/>
+  <CvQualifiedType id="_2377c" type="_2377" const="1"/>
+  <CvQualifiedType id="_2373c" type="_2373" const="1"/>
+  <CvQualifiedType id="_2510c" type="_2510" const="1"/>
+  <CvQualifiedType id="_1232c" type="_1232" const="1"/>
+  <CvQualifiedType id="_2511c" type="_2511" const="1"/>
+  <CvQualifiedType id="_2365c" type="_2365" const="1"/>
+  <CvQualifiedType id="_661v" type="_661" volatile="1"/>
+  <CvQualifiedType id="_2716c" type="_2716" const="1"/>
+  <CvQualifiedType id="_2522c" type="_2522" const="1"/>
+  <CvQualifiedType id="_3292c" type="_3292" const="1"/>
+  <CvQualifiedType id="_2512c" type="_2512" const="1"/>
+  <CvQualifiedType id="_3294c" type="_3294" const="1"/>
+  <CvQualifiedType id="_2515c" type="_2515" const="1"/>
+  <CvQualifiedType id="_2192c" type="_2192" const="1"/>
+  <CvQualifiedType id="_2191c" type="_2191" const="1"/>
+  <CvQualifiedType id="_2190c" type="_2190" const="1"/>
+  <CvQualifiedType id="_2189c" type="_2189" const="1"/>
+  <CvQualifiedType id="_2188c" type="_2188" const="1"/>
+  <CvQualifiedType id="_2187c" type="_2187" const="1"/>
+  <CvQualifiedType id="_2176c" type="_2176" const="1"/>
+  <CvQualifiedType id="_2179c" type="_2179" const="1"/>
+  <CvQualifiedType id="_2178c" type="_2178" const="1"/>
+  <CvQualifiedType id="_2186c" type="_2186" const="1"/>
+  <CvQualifiedType id="_2180c" type="_2180" const="1"/>
+  <CvQualifiedType id="_2185c" type="_2185" const="1"/>
+  <CvQualifiedType id="_2177c" type="_2177" const="1"/>
+  <CvQualifiedType id="_2184c" type="_2184" const="1"/>
+  <CvQualifiedType id="_2183c" type="_2183" const="1"/>
+  <CvQualifiedType id="_2182c" type="_2182" const="1"/>
+  <CvQualifiedType id="_2181c" type="_2181" const="1"/>
+  <CvQualifiedType id="_8055c" type="_8055" const="1"/>
+  <CvQualifiedType id="_7337c" type="_7337" const="1"/>
+  <MethodType id="_17520" basetype="_2508" returns="_1194">
+  </MethodType>
+  <CvQualifiedType id="_7335c" type="_7335" const="1"/>
+  <CvQualifiedType id="_2523c" type="_2523" const="1"/>
+  <CvQualifiedType id="_7336c" type="_7336" const="1"/>
+  <CvQualifiedType id="_7190c" type="_7190" const="1"/>
+  <MethodType id="_17519" basetype="_2506" returns="_1194">
+  </MethodType>
+  <CvQualifiedType id="_7188c" type="_7188" const="1"/>
+  <CvQualifiedType id="_2531c" type="_2531" const="1"/>
+  <CvQualifiedType id="_7189c" type="_7189" const="1"/>
+  <CvQualifiedType id="_2507c" type="_2507" const="1"/>
+  <CvQualifiedType id="_4725c" type="_4725" const="1"/>
+  <CvQualifiedType id="_6222c" type="_6222" const="1"/>
+  <CvQualifiedType id="_16171c" type="_16171" const="1"/>
+  <CvQualifiedType id="_6223c" type="_6223" const="1"/>
+  <CvQualifiedType id="_7100c" type="_7100" const="1"/>
+  <FunctionType id="_11664" returns="_1194">
+    <Argument type="_7110"/>
+    <Argument type="_4942"/>
+    <Argument type="_503"/>
+  </FunctionType>
+  <CvQualifiedType id="_7113c" type="_7113" const="1"/>
+  <CvQualifiedType id="_7114c" type="_7114" const="1"/>
+  <CvQualifiedType id="_4282c" type="_4282" const="1"/>
+  <CvQualifiedType id="_2477c" type="_2477" const="1"/>
+  <FunctionType id="_16203" returns="_4942">
+    <Argument type="_4942"/>
+  </FunctionType>
+  <CvQualifiedType id="_2473c" type="_2473" const="1"/>
+  <CvQualifiedType id="_2447c" type="_2447" const="1"/>
+  <CvQualifiedType id="_2363c" type="_2363" const="1"/>
+  <CvQualifiedType id="_2362c" type="_2362" const="1"/>
+  <CvQualifiedType id="_2093c" type="_2093" const="1"/>
+  <CvQualifiedType id="_2361c" type="_2361" const="1"/>
+  <CvQualifiedType id="_2360c" type="_2360" const="1"/>
+  <CvQualifiedType id="_2359c" type="_2359" const="1"/>
+  <CvQualifiedType id="_2358c" type="_2358" const="1"/>
+  <CvQualifiedType id="_2092c" type="_2092" const="1"/>
+  <CvQualifiedType id="_2356c" type="_2356" const="1"/>
+  <CvQualifiedType id="_2091c" type="_2091" const="1"/>
+  <CvQualifiedType id="_2355c" type="_2355" const="1"/>
+  <CvQualifiedType id="_2090c" type="_2090" const="1"/>
+  <CvQualifiedType id="_2348c" type="_2348" const="1"/>
+  <CvQualifiedType id="_2347c" type="_2347" const="1"/>
+  <CvQualifiedType id="_2344c" type="_2344" const="1"/>
+  <CvQualifiedType id="_2343c" type="_2343" const="1"/>
+  <CvQualifiedType id="_2340c" type="_2340" const="1"/>
+  <CvQualifiedType id="_2087c" type="_2087" const="1"/>
+  <CvQualifiedType id="_2086c" type="_2086" const="1"/>
+  <CvQualifiedType id="_2085c" type="_2085" const="1"/>
+  <CvQualifiedType id="_2084c" type="_2084" const="1"/>
+  <CvQualifiedType id="_2331c" type="_2331" const="1"/>
+  <CvQualifiedType id="_2326c" type="_2326" const="1"/>
+  <CvQualifiedType id="_2325c" type="_2325" const="1"/>
+  <CvQualifiedType id="_2324c" type="_2324" const="1"/>
+  <CvQualifiedType id="_2323c" type="_2323" const="1"/>
+  <CvQualifiedType id="_2318c" type="_2318" const="1"/>
+  <CvQualifiedType id="_2317c" type="_2317" const="1"/>
+  <CvQualifiedType id="_2316c" type="_2316" const="1"/>
+  <CvQualifiedType id="_2350c" type="_2350" const="1"/>
+  <CvQualifiedType id="_2352c" type="_2352" const="1"/>
+  <CvQualifiedType id="_2475c" type="_2475" const="1"/>
+  <CvQualifiedType id="_2349c" type="_2349" const="1"/>
+  <CvQualifiedType id="_2351c" type="_2351" const="1"/>
+  <CvQualifiedType id="_2449c" type="_2449" const="1"/>
+  <Struct id="_16377" name="__class_type_info" context="_18718" incomplete="1" mangled="N10__cxxabiv117__class_type_infoE" demangled="__cxxabiv1::__class_type_info" location="f31:46" file="f31" line="46" artificial="1" align="8"/>
+  <CvQualifiedType id="_16377c" type="_16377" const="1"/>
+  <CvQualifiedType id="_2059c" type="_2059" const="1"/>
+  <CvQualifiedType id="_2058c" type="_2058" const="1"/>
+  <CvQualifiedType id="_2056c" type="_2056" const="1"/>
+  <CvQualifiedType id="_2055c" type="_2055" const="1"/>
+  <CvQualifiedType id="_2322c" type="_2322" const="1"/>
+  <CvQualifiedType id="_2321c" type="_2321" const="1"/>
+  <CvQualifiedType id="_2330c" type="_2330" const="1"/>
+  <CvQualifiedType id="_2328c" type="_2328" const="1"/>
+  <CvQualifiedType id="_2346c" type="_2346" const="1"/>
+  <CvQualifiedType id="_2334c" type="_2334" const="1"/>
+  <CvQualifiedType id="_2333c" type="_2333" const="1"/>
+  <CvQualifiedType id="_2339c" type="_2339" const="1"/>
+  <CvQualifiedType id="_2337c" type="_2337" const="1"/>
+  <CvQualifiedType id="_2315c" type="_2315" const="1"/>
+  <CvQualifiedType id="_2354c" type="_2354" const="1"/>
+  <CvQualifiedType id="_2342c" type="_2342" const="1"/>
+  <CvQualifiedType id="_2320c" type="_2320" const="1"/>
+  <CvQualifiedType id="_2319c" type="_2319" const="1"/>
+  <CvQualifiedType id="_2329c" type="_2329" const="1"/>
+  <CvQualifiedType id="_2327c" type="_2327" const="1"/>
+  <CvQualifiedType id="_2345c" type="_2345" const="1"/>
+  <CvQualifiedType id="_2335c" type="_2335" const="1"/>
+  <CvQualifiedType id="_2332c" type="_2332" const="1"/>
+  <CvQualifiedType id="_2338c" type="_2338" const="1"/>
+  <CvQualifiedType id="_2336c" type="_2336" const="1"/>
+  <CvQualifiedType id="_2314c" type="_2314" const="1"/>
+  <CvQualifiedType id="_2353c" type="_2353" const="1"/>
+  <CvQualifiedType id="_2341c" type="_2341" const="1"/>
+  <FunctionType id="_16220" returns="_3924">
+    <Argument type="_3924"/>
+  </FunctionType>
+  <FunctionType id="_16221" returns="_11651">
+    <Argument type="_11651"/>
+  </FunctionType>
+  <CvQualifiedType id="_2469c" type="_2469" const="1"/>
+  <CvQualifiedType id="_6880c" type="_6880" const="1"/>
+  <FunctionType id="_16201" returns="_3923">
+    <Argument type="_3923"/>
+  </FunctionType>
+  <FunctionType id="_16202" returns="_11611">
+    <Argument type="_11611"/>
+  </FunctionType>
+  <CvQualifiedType id="_2443c" type="_2443" const="1"/>
+  <CvQualifiedType id="_6498c" type="_6498" const="1"/>
+  <FunctionType id="_16224" returns="_3926">
+    <Argument type="_3926"/>
+  </FunctionType>
+  <CvQualifiedType id="_2471c" type="_2471" const="1"/>
+  <FunctionType id="_16206" returns="_3925">
+    <Argument type="_3925"/>
+  </FunctionType>
+  <CvQualifiedType id="_2445c" type="_2445" const="1"/>
+  <CvQualifiedType id="_6919c" type="_6919" const="1"/>
+  <CvQualifiedType id="_2467c" type="_2467" const="1"/>
+  <CvQualifiedType id="_6537c" type="_6537" const="1"/>
+  <CvQualifiedType id="_2441c" type="_2441" const="1"/>
+  <CvQualifiedType id="_10179c" type="_10179" const="1"/>
+  <CvQualifiedType id="_10127c" type="_10127" const="1"/>
+  <CvQualifiedType id="_10131c" type="_10131" const="1"/>
+  <CvQualifiedType id="_2048c" type="_2048" const="1"/>
+  <CvQualifiedType id="_2047c" type="_2047" const="1"/>
+  <CvQualifiedType id="_2046c" type="_2046" const="1"/>
+  <CvQualifiedType id="_2045c" type="_2045" const="1"/>
+  <CvQualifiedType id="_2044c" type="_2044" const="1"/>
+  <CvQualifiedType id="_2043c" type="_2043" const="1"/>
+  <CvQualifiedType id="_2042c" type="_2042" const="1"/>
+  <CvQualifiedType id="_2041c" type="_2041" const="1"/>
+  <CvQualifiedType id="_2040c" type="_2040" const="1"/>
+  <CvQualifiedType id="_10789c" type="_10789" const="1"/>
+  <CvQualifiedType id="_10787c" type="_10787" const="1"/>
+  <CvQualifiedType id="_10785c" type="_10785" const="1"/>
+  <CvQualifiedType id="_10784c" type="_10784" const="1"/>
+  <CvQualifiedType id="_10783c" type="_10783" const="1"/>
+  <CvQualifiedType id="_10778c" type="_10778" const="1"/>
+  <CvQualifiedType id="_10776c" type="_10776" const="1"/>
+  <CvQualifiedType id="_10774c" type="_10774" const="1"/>
+  <CvQualifiedType id="_9063c" type="_9063" const="1"/>
+  <CvQualifiedType id="_10773c" type="_10773" const="1"/>
+  <CvQualifiedType id="_10771c" type="_10771" const="1"/>
+  <CvQualifiedType id="_10769c" type="_10769" const="1"/>
+  <CvQualifiedType id="_10768c" type="_10768" const="1"/>
+  <CvQualifiedType id="_3834c" type="_3834" const="1"/>
+  <CvQualifiedType id="_11174c" type="_11174" const="1"/>
+  <CvQualifiedType id="_4964c" type="_4964" const="1"/>
+  <CvQualifiedType id="_11172c" type="_11172" const="1"/>
+  <CvQualifiedType id="_11173c" type="_11173" const="1"/>
+  <CvQualifiedType id="_2174c" type="_2174" const="1"/>
+  <CvQualifiedType id="_2172c" type="_2172" const="1"/>
+  <CvQualifiedType id="_11167c" type="_11167" const="1"/>
+  <CvQualifiedType id="_11166c" type="_11166" const="1"/>
+  <CvQualifiedType id="_11165c" type="_11165" const="1"/>
+  <CvQualifiedType id="_11164c" type="_11164" const="1"/>
+  <CvQualifiedType id="_11163c" type="_11163" const="1"/>
+  <CvQualifiedType id="_11162c" type="_11162" const="1"/>
+  <CvQualifiedType id="_11161c" type="_11161" const="1"/>
+  <CvQualifiedType id="_11160c" type="_11160" const="1"/>
+  <CvQualifiedType id="_2038c" type="_2038" const="1"/>
+  <CvQualifiedType id="_10765c" type="_10765" const="1"/>
+  <CvQualifiedType id="_10763c" type="_10763" const="1"/>
+  <CvQualifiedType id="_10761c" type="_10761" const="1"/>
+  <CvQualifiedType id="_10760c" type="_10760" const="1"/>
+  <CvQualifiedType id="_10758c" type="_10758" const="1"/>
+  <CvQualifiedType id="_10759c" type="_10759" const="1"/>
+  <CvQualifiedType id="_11272c" type="_11272" const="1"/>
+  <CvQualifiedType id="_10755c" type="_10755" const="1"/>
+  <CvQualifiedType id="_11268c" type="_11268" const="1"/>
+  <CvQualifiedType id="_10753c" type="_10753" const="1"/>
+  <CvQualifiedType id="_3868c" type="_3868" const="1"/>
+  <CvQualifiedType id="_3867c" type="_3867" const="1"/>
+  <CvQualifiedType id="_9061c" type="_9061" const="1"/>
+  <CvQualifiedType id="_3877c" type="_3877" const="1"/>
+  <CvQualifiedType id="_3845c" type="_3845" const="1"/>
+  <CvQualifiedType id="_3884c" type="_3884" const="1"/>
+  <CvQualifiedType id="_3852c" type="_3852" const="1"/>
+  <CvQualifiedType id="_11274c" type="_11274" const="1"/>
+  <CvQualifiedType id="_10752c" type="_10752" const="1"/>
+  <CvQualifiedType id="_10781c" type="_10781" const="1"/>
+  <CvQualifiedType id="_10779c" type="_10779" const="1"/>
+  <CvQualifiedType id="_3866c" type="_3866" const="1"/>
+  <CvQualifiedType id="_3865c" type="_3865" const="1"/>
+  <CvQualifiedType id="_3864c" type="_3864" const="1"/>
+  <CvQualifiedType id="_3863c" type="_3863" const="1"/>
+  <CvQualifiedType id="_10009c" type="_10009" const="1"/>
+  <CvQualifiedType id="_3869c" type="_3869" const="1"/>
+  <CvQualifiedType id="_3837c" type="_3837" const="1"/>
+  <CvQualifiedType id="_3870c" type="_3870" const="1"/>
+  <CvQualifiedType id="_3838c" type="_3838" const="1"/>
+  <CvQualifiedType id="_3876c" type="_3876" const="1"/>
+  <CvQualifiedType id="_3844c" type="_3844" const="1"/>
+  <CvQualifiedType id="_3883c" type="_3883" const="1"/>
+  <CvQualifiedType id="_3851c" type="_3851" const="1"/>
+  <CvQualifiedType id="_11267c" type="_11267" const="1"/>
+  <CvQualifiedType id="_10750c" type="_10750" const="1"/>
+  <CvQualifiedType id="_2465c" type="_2465" const="1"/>
+  <CvQualifiedType id="_2463c" type="_2463" const="1"/>
+  <CvQualifiedType id="_2461c" type="_2461" const="1"/>
+  <CvQualifiedType id="_2459c" type="_2459" const="1"/>
+  <CvQualifiedType id="_2439c" type="_2439" const="1"/>
+  <CvQualifiedType id="_2437c" type="_2437" const="1"/>
+  <CvQualifiedType id="_2435c" type="_2435" const="1"/>
+  <CvQualifiedType id="_2433c" type="_2433" const="1"/>
+  <CvQualifiedType id="_512c" type="_512" const="1"/>
+  <CvQualifiedType id="_505c" type="_505" const="1"/>
+  <CvQualifiedType id="_11257c" type="_11257" const="1"/>
+  <CvQualifiedType id="_3264c" type="_3264" const="1"/>
+  <CvQualifiedType id="_3261c" type="_3261" const="1"/>
+  <CvQualifiedType id="_3799c" type="_3799" const="1"/>
+  <CvQualifiedType id="_3259c" type="_3259" const="1"/>
+  <CvQualifiedType id="_3797c" type="_3797" const="1"/>
+  <CvQualifiedType id="_3251c" type="_3251" const="1"/>
+  <CvQualifiedType id="_10627c" type="_10627" const="1"/>
+  <CvQualifiedType id="_10626c" type="_10626" const="1"/>
+  <CvQualifiedType id="_10587c" type="_10587" const="1"/>
+  <CvQualifiedType id="_3266c" type="_3266" const="1"/>
+  <CvQualifiedType id="_3265c" type="_3265" const="1"/>
+  <CvQualifiedType id="_13794c" type="_13794" const="1"/>
+  <CvQualifiedType id="_10562c" type="_10562" const="1"/>
+  <CvQualifiedType id="_13793c" type="_13793" const="1"/>
+  <CvQualifiedType id="_10449c" type="_10449" const="1"/>
+  <CvQualifiedType id="_10475c" type="_10475" const="1"/>
+  <CvQualifiedType id="_3729c" type="_3729" const="1"/>
+  <CvQualifiedType id="_3728c" type="_3728" const="1"/>
+  <CvQualifiedType id="_3727c" type="_3727" const="1"/>
+  <CvQualifiedType id="_3726c" type="_3726" const="1"/>
+  <CvQualifiedType id="_10447c" type="_10447" const="1"/>
+  <CvQualifiedType id="_3268c" type="_3268" const="1"/>
+  <CvQualifiedType id="_3271c" type="_3271" const="1"/>
+  <CvQualifiedType id="_3270c" type="_3270" const="1"/>
+  <CvQualifiedType id="_3269c" type="_3269" const="1"/>
+  <CvQualifiedType id="_3267c" type="_3267" const="1"/>
+  <CvQualifiedType id="_3278c" type="_3278" const="1"/>
+  <CvQualifiedType id="_3277c" type="_3277" const="1"/>
+  <CvQualifiedType id="_3276c" type="_3276" const="1"/>
+  <CvQualifiedType id="_3275c" type="_3275" const="1"/>
+  <CvQualifiedType id="_3273c" type="_3273" const="1"/>
+  <CvQualifiedType id="_3272c" type="_3272" const="1"/>
+  <CvQualifiedType id="_3694c" type="_3694" const="1"/>
+  <CvQualifiedType id="_3693c" type="_3693" const="1"/>
+  <CvQualifiedType id="_10535c" type="_10535" const="1"/>
+  <CvQualifiedType id="_13792c" type="_13792" const="1"/>
+  <CvQualifiedType id="_10525c" type="_10525" const="1"/>
+  <CvQualifiedType id="_13791c" type="_13791" const="1"/>
+  <CvQualifiedType id="_10524c" type="_10524" const="1"/>
+  <CvQualifiedType id="_13790c" type="_13790" const="1"/>
+  <CvQualifiedType id="_13762c" type="_13762" const="1"/>
+  <CvQualifiedType id="_3250c" type="_3250" const="1"/>
+  <CvQualifiedType id="_3249c" type="_3249" const="1"/>
+  <CvQualifiedType id="_3247c" type="_3247" const="1"/>
+  <CvQualifiedType id="_13761c" type="_13761" const="1"/>
+  <CvQualifiedType id="_13760c" type="_13760" const="1"/>
+  <CvQualifiedType id="_13759c" type="_13759" const="1"/>
+  <CvQualifiedType id="_13758c" type="_13758" const="1"/>
+  <CvQualifiedType id="_13757c" type="_13757" const="1"/>
+  <CvQualifiedType id="_13756c" type="_13756" const="1"/>
+  <CvQualifiedType id="_3238c" type="_3238" const="1"/>
+  <CvQualifiedType id="_3232c" type="_3232" const="1"/>
+  <CvQualifiedType id="_3230c" type="_3230" const="1"/>
+  <CvQualifiedType id="_3228c" type="_3228" const="1"/>
+  <CvQualifiedType id="_3226c" type="_3226" const="1"/>
+  <CvQualifiedType id="_3224c" type="_3224" const="1"/>
+  <CvQualifiedType id="_3222c" type="_3222" const="1"/>
+  <CvQualifiedType id="_11123c" type="_11123" const="1"/>
+  <CvQualifiedType id="_11122c" type="_11122" const="1"/>
+  <CvQualifiedType id="_11121c" type="_11121" const="1"/>
+  <CvQualifiedType id="_11120c" type="_11120" const="1"/>
+  <CvQualifiedType id="_10445c" type="_10445" const="1"/>
+  <CvQualifiedType id="_10443c" type="_10443" const="1"/>
+  <CvQualifiedType id="_3675c" type="_3675" const="1"/>
+  <CvQualifiedType id="_3674c" type="_3674" const="1"/>
+  <CvQualifiedType id="_3673c" type="_3673" const="1"/>
+  <CvQualifiedType id="_3672c" type="_3672" const="1"/>
+  <CvQualifiedType id="_3671c" type="_3671" const="1"/>
+  <CvQualifiedType id="_3670c" type="_3670" const="1"/>
+  <CvQualifiedType id="_3669c" type="_3669" const="1"/>
+  <CvQualifiedType id="_3668c" type="_3668" const="1"/>
+  <CvQualifiedType id="_3667c" type="_3667" const="1"/>
+  <CvQualifiedType id="_3666c" type="_3666" const="1"/>
+  <CvQualifiedType id="_3665c" type="_3665" const="1"/>
+  <CvQualifiedType id="_3664c" type="_3664" const="1"/>
+  <CvQualifiedType id="_3663c" type="_3663" const="1"/>
+  <CvQualifiedType id="_3662c" type="_3662" const="1"/>
+  <CvQualifiedType id="_3661c" type="_3661" const="1"/>
+  <CvQualifiedType id="_3660c" type="_3660" const="1"/>
+  <CvQualifiedType id="_3659c" type="_3659" const="1"/>
+  <CvQualifiedType id="_3658c" type="_3658" const="1"/>
+  <CvQualifiedType id="_3657c" type="_3657" const="1"/>
+  <CvQualifiedType id="_3656c" type="_3656" const="1"/>
+  <CvQualifiedType id="_3655c" type="_3655" const="1"/>
+  <CvQualifiedType id="_3654c" type="_3654" const="1"/>
+  <CvQualifiedType id="_3653c" type="_3653" const="1"/>
+  <CvQualifiedType id="_3652c" type="_3652" const="1"/>
+  <CvQualifiedType id="_3624c" type="_3624" const="1"/>
+  <CvQualifiedType id="_3651c" type="_3651" const="1"/>
+  <CvQualifiedType id="_3650c" type="_3650" const="1"/>
+  <CvQualifiedType id="_10518c" type="_10518" const="1"/>
+  <CvQualifiedType id="_10952c" type="_10952" const="1"/>
+  <CvQualifiedType id="_10612c" type="_10612" const="1"/>
+  <CvQualifiedType id="_10577c" type="_10577" const="1"/>
+  <CvQualifiedType id="_3482c" type="_3482" const="1"/>
+  <CvQualifiedType id="_10942c" type="_10942" const="1"/>
+  <CvQualifiedType id="_3477c" type="_3477" const="1"/>
+  <CvQualifiedType id="_10548c" type="_10548" const="1"/>
+  <CvQualifiedType id="_9283c" type="_9283" const="1"/>
+  <CvQualifiedType id="_3649c" type="_3649" const="1"/>
+  <CvQualifiedType id="_3648c" type="_3648" const="1"/>
+  <CvQualifiedType id="_3647c" type="_3647" const="1"/>
+  <CvQualifiedType id="_3646c" type="_3646" const="1"/>
+  <CvQualifiedType id="_3645c" type="_3645" const="1"/>
+  <CvQualifiedType id="_3644c" type="_3644" const="1"/>
+  <CvQualifiedType id="_3643c" type="_3643" const="1"/>
+  <CvQualifiedType id="_3642c" type="_3642" const="1"/>
+  <CvQualifiedType id="_3641c" type="_3641" const="1"/>
+  <CvQualifiedType id="_3640c" type="_3640" const="1"/>
+  <CvQualifiedType id="_3639c" type="_3639" const="1"/>
+  <CvQualifiedType id="_3638c" type="_3638" const="1"/>
+  <CvQualifiedType id="_3637c" type="_3637" const="1"/>
+  <CvQualifiedType id="_3636c" type="_3636" const="1"/>
+  <CvQualifiedType id="_3635c" type="_3635" const="1"/>
+  <CvQualifiedType id="_3634c" type="_3634" const="1"/>
+  <CvQualifiedType id="_3633c" type="_3633" const="1"/>
+  <CvQualifiedType id="_3632c" type="_3632" const="1"/>
+  <CvQualifiedType id="_3631c" type="_3631" const="1"/>
+  <CvQualifiedType id="_3630c" type="_3630" const="1"/>
+  <CvQualifiedType id="_3629c" type="_3629" const="1"/>
+  <CvQualifiedType id="_3628c" type="_3628" const="1"/>
+  <CvQualifiedType id="_3627c" type="_3627" const="1"/>
+  <CvQualifiedType id="_3626c" type="_3626" const="1"/>
+  <CvQualifiedType id="_3625c" type="_3625" const="1"/>
+  <CvQualifiedType id="_3599c" type="_3599" const="1"/>
+  <CvQualifiedType id="_3598c" type="_3598" const="1"/>
+  <CvQualifiedType id="_3597c" type="_3597" const="1"/>
+  <CvQualifiedType id="_3596c" type="_3596" const="1"/>
+  <CvQualifiedType id="_3595c" type="_3595" const="1"/>
+  <CvQualifiedType id="_3594c" type="_3594" const="1"/>
+  <CvQualifiedType id="_3593c" type="_3593" const="1"/>
+  <CvQualifiedType id="_3592c" type="_3592" const="1"/>
+  <CvQualifiedType id="_3591c" type="_3591" const="1"/>
+  <CvQualifiedType id="_3590c" type="_3590" const="1"/>
+  <CvQualifiedType id="_3589c" type="_3589" const="1"/>
+  <CvQualifiedType id="_3588c" type="_3588" const="1"/>
+  <CvQualifiedType id="_11096c" type="_11096" const="1"/>
+  <CvQualifiedType id="_11018c" type="_11018" const="1"/>
+  <CvQualifiedType id="_11017c" type="_11017" const="1"/>
+  <CvQualifiedType id="_11016c" type="_11016" const="1"/>
+  <CvQualifiedType id="_11066c" type="_11066" const="1"/>
+  <CvQualifiedType id="_11065c" type="_11065" const="1"/>
+  <CvQualifiedType id="_11064c" type="_11064" const="1"/>
+  <CvQualifiedType id="_11063c" type="_11063" const="1"/>
+  <CvQualifiedType id="_11062c" type="_11062" const="1"/>
+  <CvQualifiedType id="_11061c" type="_11061" const="1"/>
+  <CvQualifiedType id="_11060c" type="_11060" const="1"/>
+  <CvQualifiedType id="_11059c" type="_11059" const="1"/>
+  <CvQualifiedType id="_11058c" type="_11058" const="1"/>
+  <CvQualifiedType id="_11057c" type="_11057" const="1"/>
+  <CvQualifiedType id="_11056c" type="_11056" const="1"/>
+  <CvQualifiedType id="_11055c" type="_11055" const="1"/>
+  <CvQualifiedType id="_11054c" type="_11054" const="1"/>
+  <CvQualifiedType id="_11053c" type="_11053" const="1"/>
+  <CvQualifiedType id="_11052c" type="_11052" const="1"/>
+  <CvQualifiedType id="_11051c" type="_11051" const="1"/>
+  <CvQualifiedType id="_3532c" type="_3532" const="1"/>
+  <CvQualifiedType id="_3531c" type="_3531" const="1"/>
+  <CvQualifiedType id="_3530c" type="_3530" const="1"/>
+  <CvQualifiedType id="_3529c" type="_3529" const="1"/>
+  <CvQualifiedType id="_3528c" type="_3528" const="1"/>
+  <CvQualifiedType id="_3527c" type="_3527" const="1"/>
+  <CvQualifiedType id="_13755c" type="_13755" const="1"/>
+  <CvQualifiedType id="_10520c" type="_10520" const="1"/>
+  <CvQualifiedType id="_13789c" type="_13789" const="1"/>
+  <CvQualifiedType id="_13752c" type="_13752" const="1"/>
+  <CvQualifiedType id="_10516c" type="_10516" const="1"/>
+  <CvQualifiedType id="_13788c" type="_13788" const="1"/>
+  <CvQualifiedType id="_10441c" type="_10441" const="1"/>
+  <CvQualifiedType id="_10980c" type="_10980" const="1"/>
+  <CvQualifiedType id="_10953c" type="_10953" const="1"/>
+  <CvQualifiedType id="_10428c" type="_10428" const="1"/>
+  <CvQualifiedType id="_10938c" type="_10938" const="1"/>
+  <CvQualifiedType id="_10935c" type="_10935" const="1"/>
+  <CvQualifiedType id="_10933c" type="_10933" const="1"/>
+  <CvQualifiedType id="_10932c" type="_10932" const="1"/>
+  <CvQualifiedType id="_10931c" type="_10931" const="1"/>
+  <CvQualifiedType id="_10930c" type="_10930" const="1"/>
+  <CvQualifiedType id="_10927c" type="_10927" const="1"/>
+  <CvQualifiedType id="_10926c" type="_10926" const="1"/>
+  <CvQualifiedType id="_10925c" type="_10925" const="1"/>
+  <CvQualifiedType id="_10924c" type="_10924" const="1"/>
+  <CvQualifiedType id="_10921c" type="_10921" const="1"/>
+  <CvQualifiedType id="_10920c" type="_10920" const="1"/>
+  <CvQualifiedType id="_10919c" type="_10919" const="1"/>
+  <CvQualifiedType id="_10918c" type="_10918" const="1"/>
+  <CvQualifiedType id="_10505c" type="_10505" const="1"/>
+  <CvQualifiedType id="_13787c" type="_13787" const="1"/>
+  <CvQualifiedType id="_10504c" type="_10504" const="1"/>
+  <CvQualifiedType id="_13786c" type="_13786" const="1"/>
+  <CvQualifiedType id="_10503c" type="_10503" const="1"/>
+  <CvQualifiedType id="_13785c" type="_13785" const="1"/>
+  <CvQualifiedType id="_3252c" type="_3252" const="1"/>
+  <CvQualifiedType id="_10502c" type="_10502" const="1"/>
+  <CvQualifiedType id="_10500c" type="_10500" const="1"/>
+  <CvQualifiedType id="_10501c" type="_10501" const="1"/>
+  <CvQualifiedType id="_13784c" type="_13784" const="1"/>
+  <CvQualifiedType id="_10499c" type="_10499" const="1"/>
+  <CvQualifiedType id="_13783c" type="_13783" const="1"/>
+  <CvQualifiedType id="_13749c" type="_13749" const="1"/>
+  <CvQualifiedType id="_13748c" type="_13748" const="1"/>
+  <CvQualifiedType id="_13747c" type="_13747" const="1"/>
+  <CvQualifiedType id="_13746c" type="_13746" const="1"/>
+  <CvQualifiedType id="_13745c" type="_13745" const="1"/>
+  <CvQualifiedType id="_13744c" type="_13744" const="1"/>
+  <CvQualifiedType id="_13743c" type="_13743" const="1"/>
+  <CvQualifiedType id="_13728c" type="_13728" const="1"/>
+  <CvQualifiedType id="_13751c" type="_13751" const="1"/>
+  <CvQualifiedType id="_13740c" type="_13740" const="1"/>
+  <CvQualifiedType id="_13739c" type="_13739" const="1"/>
+  <CvQualifiedType id="_13738c" type="_13738" const="1"/>
+  <CvQualifiedType id="_13737c" type="_13737" const="1"/>
+  <CvQualifiedType id="_13736c" type="_13736" const="1"/>
+  <CvQualifiedType id="_13735c" type="_13735" const="1"/>
+  <CvQualifiedType id="_13742c" type="_13742" const="1"/>
+  <CvQualifiedType id="_13782c" type="_13782" const="1"/>
+  <CvQualifiedType id="_10625c" type="_10625" const="1"/>
+  <CvQualifiedType id="_13781c" type="_13781" const="1"/>
+  <CvQualifiedType id="_10915c" type="_10915" const="1"/>
+  <CvQualifiedType id="_10900c" type="_10900" const="1"/>
+  <CvQualifiedType id="_3465c" type="_3465" const="1"/>
+  <CvQualifiedType id="_10424c" type="_10424" const="1"/>
+  <CvQualifiedType id="_10423c" type="_10423" const="1"/>
+  <CvQualifiedType id="_3455c" type="_3455" const="1"/>
+  <CvQualifiedType id="_3454c" type="_3454" const="1"/>
+  <CvQualifiedType id="_3453c" type="_3453" const="1"/>
+  <CvQualifiedType id="_3452c" type="_3452" const="1"/>
+  <CvQualifiedType id="_3451c" type="_3451" const="1"/>
+  <CvQualifiedType id="_3450c" type="_3450" const="1"/>
+  <CvQualifiedType id="_3449c" type="_3449" const="1"/>
+  <CvQualifiedType id="_3448c" type="_3448" const="1"/>
+  <CvQualifiedType id="_3447c" type="_3447" const="1"/>
+  <CvQualifiedType id="_3446c" type="_3446" const="1"/>
+  <CvQualifiedType id="_3445c" type="_3445" const="1"/>
+  <CvQualifiedType id="_3444c" type="_3444" const="1"/>
+  <CvQualifiedType id="_3443c" type="_3443" const="1"/>
+  <CvQualifiedType id="_3442c" type="_3442" const="1"/>
+  <CvQualifiedType id="_3441c" type="_3441" const="1"/>
+  <CvQualifiedType id="_3440c" type="_3440" const="1"/>
+  <CvQualifiedType id="_3439c" type="_3439" const="1"/>
+  <CvQualifiedType id="_3438c" type="_3438" const="1"/>
+  <CvQualifiedType id="_10410c" type="_10410" const="1"/>
+  <CvQualifiedType id="_10409c" type="_10409" const="1"/>
+  <CvQualifiedType id="_13209c" type="_13209" const="1"/>
+  <CvQualifiedType id="_13208c" type="_13208" const="1"/>
+  <CvQualifiedType id="_13205c" type="_13205" const="1"/>
+  <CvQualifiedType id="_13157c" type="_13157" const="1"/>
+  <CvQualifiedType id="_13156c" type="_13156" const="1"/>
+  <CvQualifiedType id="_10403c" type="_10403" const="1"/>
+  <CvQualifiedType id="_10402c" type="_10402" const="1"/>
+  <CvQualifiedType id="_10401c" type="_10401" const="1"/>
+  <CvQualifiedType id="_10400c" type="_10400" const="1"/>
+  <CvQualifiedType id="_10399c" type="_10399" const="1"/>
+  <CvQualifiedType id="_10398c" type="_10398" const="1"/>
+  <CvQualifiedType id="_1991c" type="_1991" const="1"/>
+  <CvQualifiedType id="_2699c" type="_2699" const="1"/>
+  <CvQualifiedType id="_1990c" type="_1990" const="1"/>
+  <CvQualifiedType id="_1988c" type="_1988" const="1"/>
+  <CvQualifiedType id="_1986c" type="_1986" const="1"/>
+  <CvQualifiedType id="_9132c" type="_9132" const="1"/>
+  <CvQualifiedType id="_3435c" type="_3435" const="1"/>
+  <CvQualifiedType id="_9129c" type="_9129" const="1"/>
+  <CvQualifiedType id="_3434c" type="_3434" const="1"/>
+  <CvQualifiedType id="_9126c" type="_9126" const="1"/>
+  <CvQualifiedType id="_3433c" type="_3433" const="1"/>
+  <CvQualifiedType id="_9123c" type="_9123" const="1"/>
+  <CvQualifiedType id="_3432c" type="_3432" const="1"/>
+  <CvQualifiedType id="_9120c" type="_9120" const="1"/>
+  <CvQualifiedType id="_3431c" type="_3431" const="1"/>
+  <CvQualifiedType id="_9117c" type="_9117" const="1"/>
+  <CvQualifiedType id="_3430c" type="_3430" const="1"/>
+  <CvQualifiedType id="_9114c" type="_9114" const="1"/>
+  <CvQualifiedType id="_3429c" type="_3429" const="1"/>
+  <CvQualifiedType id="_9096c" type="_9096" const="1"/>
+  <CvQualifiedType id="_3423c" type="_3423" const="1"/>
+  <CvQualifiedType id="_9111c" type="_9111" const="1"/>
+  <CvQualifiedType id="_3428c" type="_3428" const="1"/>
+  <CvQualifiedType id="_9108c" type="_9108" const="1"/>
+  <CvQualifiedType id="_3427c" type="_3427" const="1"/>
+  <CvQualifiedType id="_9105c" type="_9105" const="1"/>
+  <CvQualifiedType id="_3426c" type="_3426" const="1"/>
+  <CvQualifiedType id="_9102c" type="_9102" const="1"/>
+  <CvQualifiedType id="_3425c" type="_3425" const="1"/>
+  <CvQualifiedType id="_9099c" type="_9099" const="1"/>
+  <CvQualifiedType id="_3424c" type="_3424" const="1"/>
+  <CvQualifiedType id="_10897c" type="_10897" const="1"/>
+  <CvQualifiedType id="_3422c" type="_3422" const="1"/>
+  <CvQualifiedType id="_10881c" type="_10881" const="1"/>
+  <CvQualifiedType id="_10880c" type="_10880" const="1"/>
+  <CvQualifiedType id="_10879c" type="_10879" const="1"/>
+  <CvQualifiedType id="_10878c" type="_10878" const="1"/>
+  <CvQualifiedType id="_10872c" type="_10872" const="1"/>
+  <CvQualifiedType id="_10870c" type="_10870" const="1"/>
+  <CvQualifiedType id="_10869c" type="_10869" const="1"/>
+  <CvQualifiedType id="_10868c" type="_10868" const="1"/>
+  <CvQualifiedType id="_10867c" type="_10867" const="1"/>
+  <CvQualifiedType id="_10866c" type="_10866" const="1"/>
+  <CvQualifiedType id="_10865c" type="_10865" const="1"/>
+  <CvQualifiedType id="_10864c" type="_10864" const="1"/>
+  <CvQualifiedType id="_10863c" type="_10863" const="1"/>
+  <CvQualifiedType id="_10862c" type="_10862" const="1"/>
+  <CvQualifiedType id="_10838c" type="_10838" const="1"/>
+  <CvQualifiedType id="_10861c" type="_10861" const="1"/>
+  <CvQualifiedType id="_10860c" type="_10860" const="1"/>
+  <CvQualifiedType id="_10837c" type="_10837" const="1"/>
+  <CvQualifiedType id="_10859c" type="_10859" const="1"/>
+  <CvQualifiedType id="_10858c" type="_10858" const="1"/>
+  <CvQualifiedType id="_10836c" type="_10836" const="1"/>
+  <CvQualifiedType id="_10857c" type="_10857" const="1"/>
+  <CvQualifiedType id="_10856c" type="_10856" const="1"/>
+  <CvQualifiedType id="_10835c" type="_10835" const="1"/>
+  <CvQualifiedType id="_10855c" type="_10855" const="1"/>
+  <CvQualifiedType id="_10854c" type="_10854" const="1"/>
+  <CvQualifiedType id="_10834c" type="_10834" const="1"/>
+  <CvQualifiedType id="_10853c" type="_10853" const="1"/>
+  <CvQualifiedType id="_10852c" type="_10852" const="1"/>
+  <CvQualifiedType id="_10833c" type="_10833" const="1"/>
+  <CvQualifiedType id="_10851c" type="_10851" const="1"/>
+  <CvQualifiedType id="_10850c" type="_10850" const="1"/>
+  <CvQualifiedType id="_10832c" type="_10832" const="1"/>
+  <CvQualifiedType id="_10849c" type="_10849" const="1"/>
+  <CvQualifiedType id="_10848c" type="_10848" const="1"/>
+  <CvQualifiedType id="_10831c" type="_10831" const="1"/>
+  <CvQualifiedType id="_10847c" type="_10847" const="1"/>
+  <CvQualifiedType id="_10846c" type="_10846" const="1"/>
+  <CvQualifiedType id="_10896c" type="_10896" const="1"/>
+  <CvQualifiedType id="_10830c" type="_10830" const="1"/>
+  <CvQualifiedType id="_10845c" type="_10845" const="1"/>
+  <CvQualifiedType id="_10895c" type="_10895" const="1"/>
+  <CvQualifiedType id="_10829c" type="_10829" const="1"/>
+  <CvQualifiedType id="_10844c" type="_10844" const="1"/>
+  <CvQualifiedType id="_10894c" type="_10894" const="1"/>
+  <CvQualifiedType id="_10828c" type="_10828" const="1"/>
+  <CvQualifiedType id="_10843c" type="_10843" const="1"/>
+  <CvQualifiedType id="_10842c" type="_10842" const="1"/>
+  <CvQualifiedType id="_10841c" type="_10841" const="1"/>
+  <CvQualifiedType id="_10840c" type="_10840" const="1"/>
+  <CvQualifiedType id="_10827c" type="_10827" const="1"/>
+  <CvQualifiedType id="_10826c" type="_10826" const="1"/>
+  <CvQualifiedType id="_10815c" type="_10815" const="1"/>
+  <CvQualifiedType id="_10814c" type="_10814" const="1"/>
+  <CvQualifiedType id="_10813c" type="_10813" const="1"/>
+  <CvQualifiedType id="_10811c" type="_10811" const="1"/>
+  <CvQualifiedType id="_10810c" type="_10810" const="1"/>
+  <CvQualifiedType id="_3256c" type="_3256" const="1"/>
+  <CvQualifiedType id="_3802c" type="_3802" const="1"/>
+  <CvQualifiedType id="_3417c" type="_3417" const="1"/>
+  <CvQualifiedType id="_3416c" type="_3416" const="1"/>
+  <CvQualifiedType id="_3415c" type="_3415" const="1"/>
+  <CvQualifiedType id="_3414c" type="_3414" const="1"/>
+  <MethodType id="_18712" basetype="_15538" returns="_1194">
+    <Argument type="_503"/>
+  </MethodType>
+  <CvQualifiedType id="_16462c" type="_16462" const="1"/>
+  <CvQualifiedType id="_12097c" type="_12097" const="1"/>
+  <CvQualifiedType id="_15537c" type="_15537" const="1"/>
+  <CvQualifiedType id="_15536c" type="_15536" const="1"/>
+  <CvQualifiedType id="_15534c" type="_15534" const="1"/>
+  <CvQualifiedType id="_15533c" type="_15533" const="1"/>
+  <CvQualifiedType id="_15532c" type="_15532" const="1"/>
+  <CvQualifiedType id="_15531c" type="_15531" const="1"/>
+  <FunctionType id="_18701" returns="_1194">
+    <Argument type="_17856"/>
+    <Argument type="_18719"/>
+    <Argument type="_15535"/>
+  </FunctionType>
+  <CvQualifiedType id="_10800c" type="_10800" const="1"/>
+  <CvQualifiedType id="_10798c" type="_10798" const="1"/>
+  <CvQualifiedType id="_10797c" type="_10797" const="1"/>
+  <CvQualifiedType id="_3253c" type="_3253" const="1"/>
+  <CvQualifiedType id="_3801c" type="_3801" const="1"/>
+  <CvQualifiedType id="_3413c" type="_3413" const="1"/>
+  <CvQualifiedType id="_12094c" type="_12094" const="1"/>
+  <CvQualifiedType id="_15530c" type="_15530" const="1"/>
+  <CvQualifiedType id="_3412c" type="_3412" const="1"/>
+  <CvQualifiedType id="_3411c" type="_3411" const="1"/>
+  <CvQualifiedType id="_10392c" type="_10392" const="1"/>
+  <CvQualifiedType id="_10391c" type="_10391" const="1"/>
+  <CvQualifiedType id="_10390c" type="_10390" const="1"/>
+  <CvQualifiedType id="_10360c" type="_10360" const="1"/>
+  <CvQualifiedType id="_10359c" type="_10359" const="1"/>
+  <CvQualifiedType id="_10389c" type="_10389" const="1"/>
+  <CvQualifiedType id="_10358c" type="_10358" const="1"/>
+  <CvQualifiedType id="_10743c" type="_10743" const="1"/>
+  <CvQualifiedType id="_10723c" type="_10723" const="1"/>
+  <CvQualifiedType id="_10726c" type="_10726" const="1"/>
+  <CvQualifiedType id="_10729c" type="_10729" const="1"/>
+  <CvQualifiedType id="_10740c" type="_10740" const="1"/>
+  <CvQualifiedType id="_10732c" type="_10732" const="1"/>
+  <CvQualifiedType id="_10735c" type="_10735" const="1"/>
+  <CvQualifiedType id="_10738c" type="_10738" const="1"/>
+  <CvQualifiedType id="_10742c" type="_10742" const="1"/>
+  <CvQualifiedType id="_3862c" type="_3862" const="1"/>
+  <CvQualifiedType id="_3861c" type="_3861" const="1"/>
+  <CvQualifiedType id="_3875c" type="_3875" const="1"/>
+  <CvQualifiedType id="_3843c" type="_3843" const="1"/>
+  <CvQualifiedType id="_3882c" type="_3882" const="1"/>
+  <CvQualifiedType id="_3850c" type="_3850" const="1"/>
+  <CvQualifiedType id="_11253c" type="_11253" const="1"/>
+  <CvQualifiedType id="_1984c" type="_1984" const="1"/>
+  <CvQualifiedType id="_1978c" type="_1978" const="1"/>
+  <CvQualifiedType id="_1972c" type="_1972" const="1"/>
+  <CvQualifiedType id="_1958c" type="_1958" const="1"/>
+  <CvQualifiedType id="_1952c" type="_1952" const="1"/>
+  <CvQualifiedType id="_11229c" type="_11229" const="1"/>
+  <CvQualifiedType id="_11235c" type="_11235" const="1"/>
+  <CvQualifiedType id="_11228c" type="_11228" const="1"/>
+  <CvQualifiedType id="_11241c" type="_11241" const="1"/>
+  <CvQualifiedType id="_11233c" type="_11233" const="1"/>
+  <CvQualifiedType id="_11252c" type="_11252" const="1"/>
+  <CvQualifiedType id="_11251c" type="_11251" const="1"/>
+  <CvQualifiedType id="_11240c" type="_11240" const="1"/>
+  <CvQualifiedType id="_11234c" type="_11234" const="1"/>
+  <CvQualifiedType id="_11249c" type="_11249" const="1"/>
+  <CvQualifiedType id="_11239c" type="_11239" const="1"/>
+  <CvQualifiedType id="_1966c" type="_1966" const="1"/>
+  <CvQualifiedType id="_11232c" type="_11232" const="1"/>
+  <CvQualifiedType id="_11238c" type="_11238" const="1"/>
+  <CvQualifiedType id="_11230c" type="_11230" const="1"/>
+  <CvQualifiedType id="_11250c" type="_11250" const="1"/>
+  <CvQualifiedType id="_11237c" type="_11237" const="1"/>
+  <CvQualifiedType id="_11231c" type="_11231" const="1"/>
+  <CvQualifiedType id="_11248c" type="_11248" const="1"/>
+  <CvQualifiedType id="_11236c" type="_11236" const="1"/>
+  <CvQualifiedType id="_1965c" type="_1965" const="1"/>
+  <CvQualifiedType id="_10796c" type="_10796" const="1"/>
+  <CvQualifiedType id="_10793c" type="_10793" const="1"/>
+  <CvQualifiedType id="_10795c" type="_10795" const="1"/>
+  <CvQualifiedType id="_10794c" type="_10794" const="1"/>
+  <CvQualifiedType id="_10792c" type="_10792" const="1"/>
+  <CvQualifiedType id="_3371c" type="_3371" const="1"/>
+  <CvQualifiedType id="_10357c" type="_10357" const="1"/>
+  <CvQualifiedType id="_3295c" type="_3295" const="1"/>
+  <CvQualifiedType id="_2516c" type="_2516" const="1"/>
+  <CvQualifiedType id="_2527c" type="_2527" const="1"/>
+  <CvQualifiedType id="_1997c" type="_1997" const="1"/>
+  <CvQualifiedType id="_4146c" type="_4146" const="1"/>
+  <CvQualifiedType id="_1995c" type="_1995" const="1"/>
+  <CvQualifiedType id="_3369c" type="_3369" const="1"/>
+  <Function id="_16441" name="parse_date" returns="_18720" context="_3904" mangled="_ZN5boost9date_time10parse_dateERKSsi" demangled="boost::date_time::parse_date(std::string const&, int)" location="f14:103" file="f14" line="103" endline="153">
+    <Argument name="s" type="_4020" location="f14:103" file="f14" line="103"/>
+    <Argument name="order_spec" type="_503" location="f14:103" file="f14" line="103" default="ymd_order_iso"/>
+  </Function>
+  <CvQualifiedType id="_3359c" type="_3359" const="1"/>
+  <CvQualifiedType id="_12055c" type="_12055" const="1"/>
+  <CvQualifiedType id="_3356c" type="_3356" const="1"/>
+  <CvQualifiedType id="_2681c" type="_2681" const="1"/>
+  <CvQualifiedType id="_3328c" type="_3328" const="1"/>
+  <CvQualifiedType id="_3367c" type="_3367" const="1"/>
+  <CvQualifiedType id="_3358c" type="_3358" const="1"/>
+  <CvQualifiedType id="_3354c" type="_3354" const="1"/>
+  <CvQualifiedType id="_3697c" type="_3697" const="1"/>
+  <CvQualifiedType id="_3623c" type="_3623" const="1"/>
+  <CvQualifiedType id="_10442c" type="_10442" const="1"/>
+  <CvQualifiedType id="_3696c" type="_3696" const="1"/>
+  <CvQualifiedType id="_2682c" type="_2682" const="1"/>
+  <CvQualifiedType id="_11151c" type="_11151" const="1"/>
+  <CvQualifiedType id="_3622c" type="_3622" const="1"/>
+  <CvQualifiedType id="_3587c" type="_3587" const="1"/>
+  <CvQualifiedType id="_11111c" type="_11111" const="1"/>
+  <CvQualifiedType id="_3566c" type="_3566" const="1"/>
+  <CvQualifiedType id="_3621c" type="_3621" const="1"/>
+  <CvQualifiedType id="_3586c" type="_3586" const="1"/>
+  <CvQualifiedType id="_11110c" type="_11110" const="1"/>
+  <CvQualifiedType id="_3567c" type="_3567" const="1"/>
+  <CvQualifiedType id="_11015c" type="_11015" const="1"/>
+  <CvQualifiedType id="_11034c" type="_11034" const="1"/>
+  <CvQualifiedType id="_11014c" type="_11014" const="1"/>
+  <CvQualifiedType id="_11119c" type="_11119" const="1"/>
+  <CvQualifiedType id="_3683c" type="_3683" const="1"/>
+  <CvQualifiedType id="_11090c" type="_11090" const="1"/>
+  <CvQualifiedType id="_2700cv" type="_2700" const="1" volatile="1"/>
+  <CvQualifiedType id="_11096cv" type="_11096" const="1" volatile="1"/>
+  <CvQualifiedType id="_11082c" type="_11082" const="1"/>
+  <CvQualifiedType id="_3720c" type="_3720" const="1"/>
+  <CvQualifiedType id="_3739c" type="_3739" const="1"/>
+  <CvQualifiedType id="_10444c" type="_10444" const="1"/>
+  <CvQualifiedType id="_11050c" type="_11050" const="1"/>
+  <CvQualifiedType id="_10998c" type="_10998" const="1"/>
+  <CvQualifiedType id="_3557c" type="_3557" const="1"/>
+  <CvQualifiedType id="_10623c" type="_10623" const="1"/>
+  <CvQualifiedType id="_10586c" type="_10586" const="1"/>
+  <CvQualifiedType id="_11033c" type="_11033" const="1"/>
+  <CvQualifiedType id="_11013c" type="_11013" const="1"/>
+  <CvQualifiedType id="_11089c" type="_11089" const="1"/>
+  <CvQualifiedType id="_11081c" type="_11081" const="1"/>
+  <CvQualifiedType id="_3719c" type="_3719" const="1"/>
+  <CvQualifiedType id="_10446c" type="_10446" const="1"/>
+  <CvQualifiedType id="_3738c" type="_3738" const="1"/>
+  <CvQualifiedType id="_11049c" type="_11049" const="1"/>
+  <CvQualifiedType id="_10997c" type="_10997" const="1"/>
+  <CvQualifiedType id="_3552c" type="_3552" const="1"/>
+  <CvQualifiedType id="_10622c" type="_10622" const="1"/>
+  <CvQualifiedType id="_10585c" type="_10585" const="1"/>
+  <CvQualifiedType id="_10533c" type="_10533" const="1"/>
+  <CvQualifiedType id="_10557c" type="_10557" const="1"/>
+  <CvQualifiedType id="_10982c" type="_10982" const="1"/>
+  <CvQualifiedType id="_9467c" type="_9467" const="1"/>
+  <CvQualifiedType id="_3526c" type="_3526" const="1"/>
+  <CvQualifiedType id="_3524c" type="_3524" const="1"/>
+  <CvQualifiedType id="_3620c" type="_3620" const="1"/>
+  <CvQualifiedType id="_3585c" type="_3585" const="1"/>
+  <CvQualifiedType id="_11109c" type="_11109" const="1"/>
+  <CvQualifiedType id="_3569c" type="_3569" const="1"/>
+  <CvQualifiedType id="_3619c" type="_3619" const="1"/>
+  <CvQualifiedType id="_3584c" type="_3584" const="1"/>
+  <CvQualifiedType id="_11108c" type="_11108" const="1"/>
+  <CvQualifiedType id="_3572c" type="_3572" const="1"/>
+  <CvQualifiedType id="_11032c" type="_11032" const="1"/>
+  <CvQualifiedType id="_11012c" type="_11012" const="1"/>
+  <CvQualifiedType id="_11118c" type="_11118" const="1"/>
+  <CvQualifiedType id="_3681c" type="_3681" const="1"/>
+  <CvQualifiedType id="_11095c" type="_11095" const="1"/>
+  <CvQualifiedType id="_3529cv" type="_3529" const="1" volatile="1"/>
+  <CvQualifiedType id="_11080c" type="_11080" const="1"/>
+  <CvQualifiedType id="_3725c" type="_3725" const="1"/>
+  <CvQualifiedType id="_3744c" type="_3744" const="1"/>
+  <CvQualifiedType id="_11048c" type="_11048" const="1"/>
+  <CvQualifiedType id="_10996c" type="_10996" const="1"/>
+  <CvQualifiedType id="_3539c" type="_3539" const="1"/>
+  <CvQualifiedType id="_11031c" type="_11031" const="1"/>
+  <CvQualifiedType id="_11011c" type="_11011" const="1"/>
+  <CvQualifiedType id="_11117c" type="_11117" const="1"/>
+  <CvQualifiedType id="_3682c" type="_3682" const="1"/>
+  <CvQualifiedType id="_11092c" type="_11092" const="1"/>
+  <CvQualifiedType id="_3527cv" type="_3527" const="1" volatile="1"/>
+  <CvQualifiedType id="_11079c" type="_11079" const="1"/>
+  <CvQualifiedType id="_3722c" type="_3722" const="1"/>
+  <CvQualifiedType id="_3741c" type="_3741" const="1"/>
+  <CvQualifiedType id="_11047c" type="_11047" const="1"/>
+  <CvQualifiedType id="_10995c" type="_10995" const="1"/>
+  <CvQualifiedType id="_3551c" type="_3551" const="1"/>
+  <CvQualifiedType id="_14271c" type="_14271" const="1"/>
+  <CvQualifiedType id="_10791c" type="_10791" const="1"/>
+  <CvQualifiedType id="_3363c" type="_3363" const="1"/>
+  <CvQualifiedType id="_3467c" type="_3467" const="1"/>
+  <CvQualifiedType id="_3618c" type="_3618" const="1"/>
+  <CvQualifiedType id="_3583c" type="_3583" const="1"/>
+  <CvQualifiedType id="_11107c" type="_11107" const="1"/>
+  <CvQualifiedType id="_3571c" type="_3571" const="1"/>
+  <CvQualifiedType id="_11030c" type="_11030" const="1"/>
+  <CvQualifiedType id="_11010c" type="_11010" const="1"/>
+  <CvQualifiedType id="_11094c" type="_11094" const="1"/>
+  <CvQualifiedType id="_11078c" type="_11078" const="1"/>
+  <CvQualifiedType id="_3724c" type="_3724" const="1"/>
+  <CvQualifiedType id="_3743c" type="_3743" const="1"/>
+  <CvQualifiedType id="_11046c" type="_11046" const="1"/>
+  <CvQualifiedType id="_10994c" type="_10994" const="1"/>
+  <CvQualifiedType id="_3550c" type="_3550" const="1"/>
+  <CvQualifiedType id="_13779c" type="_13779" const="1"/>
+  <CvQualifiedType id="_3617c" type="_3617" const="1"/>
+  <CvQualifiedType id="_3582c" type="_3582" const="1"/>
+  <CvQualifiedType id="_11106c" type="_11106" const="1"/>
+  <CvQualifiedType id="_3570c" type="_3570" const="1"/>
+  <CvQualifiedType id="_11029c" type="_11029" const="1"/>
+  <CvQualifiedType id="_11009c" type="_11009" const="1"/>
+  <CvQualifiedType id="_11093c" type="_11093" const="1"/>
+  <CvQualifiedType id="_11077c" type="_11077" const="1"/>
+  <CvQualifiedType id="_3723c" type="_3723" const="1"/>
+  <CvQualifiedType id="_3742c" type="_3742" const="1"/>
+  <CvQualifiedType id="_11045c" type="_11045" const="1"/>
+  <CvQualifiedType id="_10993c" type="_10993" const="1"/>
+  <CvQualifiedType id="_3549c" type="_3549" const="1"/>
+  <CvQualifiedType id="_13778c" type="_13778" const="1"/>
+  <CvQualifiedType id="_13414c" type="_13414" const="1"/>
+  <CvQualifiedType id="_10519c" type="_10519" const="1"/>
+  <CvQualifiedType id="_10948c" type="_10948" const="1"/>
+  <CvQualifiedType id="_10621c" type="_10621" const="1"/>
+  <CvQualifiedType id="_10584c" type="_10584" const="1"/>
+  <FunctionType id="_11982" returns="_1194">
+    <Argument type="_10948"/>
+  </FunctionType>
+  <CvQualifiedType id="_3239c" type="_3239" const="1"/>
+  <CvQualifiedType id="_3237c" type="_3237" const="1"/>
+  <PointerType id="_11983" type="_18721" size="32" align="32"/>
+  <CvQualifiedType id="_3236c" type="_3236" const="1"/>
+  <CvQualifiedType id="_3773c" type="_3773" const="1"/>
+  <CvQualifiedType id="_13777c" type="_13777" const="1"/>
+  <CvQualifiedType id="_11028c" type="_11028" const="1"/>
+  <CvQualifiedType id="_11008c" type="_11008" const="1"/>
+  <CvQualifiedType id="_11076c" type="_11076" const="1"/>
+  <CvQualifiedType id="_11044c" type="_11044" const="1"/>
+  <CvQualifiedType id="_10992c" type="_10992" const="1"/>
+  <CvQualifiedType id="_3540c" type="_3540" const="1"/>
+  <CvQualifiedType id="_13776c" type="_13776" const="1"/>
+  <CvQualifiedType id="_13398c" type="_13398" const="1"/>
+  <CvQualifiedType id="_10514c" type="_10514" const="1"/>
+  <CvQualifiedType id="_10620c" type="_10620" const="1"/>
+  <CvQualifiedType id="_10583c" type="_10583" const="1"/>
+  <CvQualifiedType id="_10619c" type="_10619" const="1"/>
+  <CvQualifiedType id="_10582c" type="_10582" const="1"/>
+  <CvQualifiedType id="_3616c" type="_3616" const="1"/>
+  <CvQualifiedType id="_3581c" type="_3581" const="1"/>
+  <CvQualifiedType id="_11105c" type="_11105" const="1"/>
+  <CvQualifiedType id="_3568c" type="_3568" const="1"/>
+  <CvQualifiedType id="_11027c" type="_11027" const="1"/>
+  <CvQualifiedType id="_11007c" type="_11007" const="1"/>
+  <CvQualifiedType id="_11091c" type="_11091" const="1"/>
+  <CvQualifiedType id="_11075c" type="_11075" const="1"/>
+  <CvQualifiedType id="_3721c" type="_3721" const="1"/>
+  <CvQualifiedType id="_3740c" type="_3740" const="1"/>
+  <CvQualifiedType id="_11043c" type="_11043" const="1"/>
+  <CvQualifiedType id="_10991c" type="_10991" const="1"/>
+  <CvQualifiedType id="_3538c" type="_3538" const="1"/>
+  <CvQualifiedType id="_10618c" type="_10618" const="1"/>
+  <CvQualifiedType id="_10573c" type="_10573" const="1"/>
+  <CvQualifiedType id="_10547c" type="_10547" const="1"/>
+  <CvQualifiedType id="_10555c" type="_10555" const="1"/>
+  <CvQualifiedType id="_10950c" type="_10950" const="1"/>
+  <CvQualifiedType id="_3615c" type="_3615" const="1"/>
+  <CvQualifiedType id="_3580c" type="_3580" const="1"/>
+  <CvQualifiedType id="_11104c" type="_11104" const="1"/>
+  <CvQualifiedType id="_3564c" type="_3564" const="1"/>
+  <CvQualifiedType id="_11026c" type="_11026" const="1"/>
+  <CvQualifiedType id="_11006c" type="_11006" const="1"/>
+  <CvQualifiedType id="_11116c" type="_11116" const="1"/>
+  <CvQualifiedType id="_3680c" type="_3680" const="1"/>
+  <CvQualifiedType id="_2702cv" type="_2702" const="1" volatile="1"/>
+  <CvQualifiedType id="_11074c" type="_11074" const="1"/>
+  <CvQualifiedType id="_11042c" type="_11042" const="1"/>
+  <CvQualifiedType id="_10990c" type="_10990" const="1"/>
+  <CvQualifiedType id="_3547c" type="_3547" const="1"/>
+  <CvQualifiedType id="_10617c" type="_10617" const="1"/>
+  <CvQualifiedType id="_10581c" type="_10581" const="1"/>
+  <CvQualifiedType id="_11025c" type="_11025" const="1"/>
+  <CvQualifiedType id="_11005c" type="_11005" const="1"/>
+  <CvQualifiedType id="_11073c" type="_11073" const="1"/>
+  <CvQualifiedType id="_11041c" type="_11041" const="1"/>
+  <CvQualifiedType id="_10989c" type="_10989" const="1"/>
+  <CvQualifiedType id="_3544c" type="_3544" const="1"/>
+  <CvQualifiedType id="_10616c" type="_10616" const="1"/>
+  <CvQualifiedType id="_10580c" type="_10580" const="1"/>
+  <CvQualifiedType id="_3614c" type="_3614" const="1"/>
+  <CvQualifiedType id="_3579c" type="_3579" const="1"/>
+  <CvQualifiedType id="_11103c" type="_11103" const="1"/>
+  <CvQualifiedType id="_3565c" type="_3565" const="1"/>
+  <CvQualifiedType id="_11024c" type="_11024" const="1"/>
+  <CvQualifiedType id="_11004c" type="_11004" const="1"/>
+  <CvQualifiedType id="_11088c" type="_11088" const="1"/>
+  <CvQualifiedType id="_11072c" type="_11072" const="1"/>
+  <CvQualifiedType id="_3718c" type="_3718" const="1"/>
+  <CvQualifiedType id="_3737c" type="_3737" const="1"/>
+  <CvQualifiedType id="_11040c" type="_11040" const="1"/>
+  <CvQualifiedType id="_10988c" type="_10988" const="1"/>
+  <CvQualifiedType id="_3543c" type="_3543" const="1"/>
+  <CvQualifiedType id="_10615c" type="_10615" const="1"/>
+  <CvQualifiedType id="_10579c" type="_10579" const="1"/>
+  <CvQualifiedType id="_11023c" type="_11023" const="1"/>
+  <CvQualifiedType id="_11003c" type="_11003" const="1"/>
+  <CvQualifiedType id="_11087c" type="_11087" const="1"/>
+  <CvQualifiedType id="_11071c" type="_11071" const="1"/>
+  <CvQualifiedType id="_3717c" type="_3717" const="1"/>
+  <CvQualifiedType id="_3736c" type="_3736" const="1"/>
+  <CvQualifiedType id="_11039c" type="_11039" const="1"/>
+  <CvQualifiedType id="_10987c" type="_10987" const="1"/>
+  <CvQualifiedType id="_3542c" type="_3542" const="1"/>
+  <CvQualifiedType id="_10614c" type="_10614" const="1"/>
+  <CvQualifiedType id="_10578c" type="_10578" const="1"/>
+  <CvQualifiedType id="_10527c" type="_10527" const="1"/>
+  <CvQualifiedType id="_10552c" type="_10552" const="1"/>
+  <CvQualifiedType id="_10551c" type="_10551" const="1"/>
+  <CvQualifiedType id="_10550c" type="_10550" const="1"/>
+  <CvQualifiedType id="_10981c" type="_10981" const="1"/>
+  <CvQualifiedType id="_9464c" type="_9464" const="1"/>
+  <CvQualifiedType id="_3525c" type="_3525" const="1"/>
+  <CvQualifiedType id="_3710c" type="_3710" const="1"/>
+  <CvQualifiedType id="_10613c" type="_10613" const="1"/>
+  <CvQualifiedType id="_10571c" type="_10571" const="1"/>
+  <CvQualifiedType id="_10946c" type="_10946" const="1"/>
+  <CvQualifiedType id="_10549c" type="_10549" const="1"/>
+  <CvQualifiedType id="_10944c" type="_10944" const="1"/>
+  <CvQualifiedType id="_11139c" type="_11139" const="1"/>
+  <CvQualifiedType id="_3796c" type="_3796" const="1"/>
+  <CvQualifiedType id="_11134c" type="_11134" const="1"/>
+  <CvQualifiedType id="_11130c" type="_11130" const="1"/>
+  <CvQualifiedType id="_3784c" type="_3784" const="1"/>
+  <CvQualifiedType id="_3772c" type="_3772" const="1"/>
+  <CvQualifiedType id="_13775c" type="_13775" const="1"/>
+  <CvQualifiedType id="_15540c" type="_15540" const="1"/>
+  <CvQualifiedType id="_13774c" type="_13774" const="1"/>
+  <CvQualifiedType id="_13754c" type="_13754" const="1"/>
+  <CvQualifiedType id="_13411c" type="_13411" const="1"/>
+  <CvQualifiedType id="_10611c" type="_10611" const="1"/>
+  <CvQualifiedType id="_10565c" type="_10565" const="1"/>
+  <CvQualifiedType id="_10909c" type="_10909" const="1"/>
+  <CvQualifiedType id="_3613c" type="_3613" const="1"/>
+  <CvQualifiedType id="_3578c" type="_3578" const="1"/>
+  <CvQualifiedType id="_11102c" type="_11102" const="1"/>
+  <CvQualifiedType id="_3558c" type="_3558" const="1"/>
+  <CvQualifiedType id="_3776c" type="_3776" const="1"/>
+  <CvQualifiedType id="_10440c" type="_10440" const="1"/>
+  <CvQualifiedType id="_14842c" type="_14842" const="1"/>
+  <CvQualifiedType id="_10979c" type="_10979" const="1"/>
+  <CvQualifiedType id="_3520c" type="_3520" const="1"/>
+  <CvQualifiedType id="_10961c" type="_10961" const="1"/>
+  <CvQualifiedType id="_3486c" type="_3486" const="1"/>
+  <CvQualifiedType id="_10955c" type="_10955" const="1"/>
+  <CvQualifiedType id="_3484c" type="_3484" const="1"/>
+  <CvQualifiedType id="_10940c" type="_10940" const="1"/>
+  <CvQualifiedType id="_3735c" type="_3735" const="1"/>
+  <CvQualifiedType id="_10448c" type="_10448" const="1"/>
+  <CvQualifiedType id="_10934c" type="_10934" const="1"/>
+  <CvQualifiedType id="_10937c" type="_10937" const="1"/>
+  <CvQualifiedType id="_10929c" type="_10929" const="1"/>
+  <CvQualifiedType id="_3474c" type="_3474" const="1"/>
+  <CvQualifiedType id="_3518c" type="_3518" const="1"/>
+  <CvQualifiedType id="_10977c" type="_10977" const="1"/>
+  <CvQualifiedType id="_10438c" type="_10438" const="1"/>
+  <CvQualifiedType id="_3510c" type="_3510" const="1"/>
+  <CvQualifiedType id="_3502c" type="_3502" const="1"/>
+  <CvQualifiedType id="_10969c" type="_10969" const="1"/>
+  <CvQualifiedType id="_3492c" type="_3492" const="1"/>
+  <CvQualifiedType id="_10923c" type="_10923" const="1"/>
+  <CvQualifiedType id="_3472c" type="_3472" const="1"/>
+  <CvQualifiedType id="_3716c" type="_3716" const="1"/>
+  <CvQualifiedType id="_10917c" type="_10917" const="1"/>
+  <CvQualifiedType id="_3470c" type="_3470" const="1"/>
+  <CvQualifiedType id="_13773c" type="_13773" const="1"/>
+  <CvQualifiedType id="_13401c" type="_13401" const="1"/>
+  <CvQualifiedType id="_10513c" type="_10513" const="1"/>
+  <CvQualifiedType id="_13772c" type="_13772" const="1"/>
+  <CvQualifiedType id="_13419c" type="_13419" const="1"/>
+  <CvQualifiedType id="_10523c" type="_10523" const="1"/>
+  <CvQualifiedType id="_10905c" type="_10905" const="1"/>
+  <CvQualifiedType id="_10610c" type="_10610" const="1"/>
+  <CvQualifiedType id="_10576c" type="_10576" const="1"/>
+  <CvQualifiedType id="_10903c" type="_10903" const="1"/>
+  <CvQualifiedType id="_3603c" type="_3603" const="1"/>
+  <CvQualifiedType id="_3577c" type="_3577" const="1"/>
+  <CvQualifiedType id="_11101c" type="_11101" const="1"/>
+  <CvQualifiedType id="_3563c" type="_3563" const="1"/>
+  <CvQualifiedType id="_11022c" type="_11022" const="1"/>
+  <CvQualifiedType id="_11002c" type="_11002" const="1"/>
+  <CvQualifiedType id="_11115c" type="_11115" const="1"/>
+  <CvQualifiedType id="_3679c" type="_3679" const="1"/>
+  <CvQualifiedType id="_11086c" type="_11086" const="1"/>
+  <CvQualifiedType id="_3328cv" type="_3328" const="1" volatile="1"/>
+  <CvQualifiedType id="_2631c" type="_2631" const="1"/>
+  <CvQualifiedType id="_2622c" type="_2622" const="1"/>
+  <CvQualifiedType id="_11070c" type="_11070" const="1"/>
+  <CvQualifiedType id="_3715c" type="_3715" const="1"/>
+  <CvQualifiedType id="_3734c" type="_3734" const="1"/>
+  <CvQualifiedType id="_11038c" type="_11038" const="1"/>
+  <CvQualifiedType id="_10986c" type="_10986" const="1"/>
+  <CvQualifiedType id="_3541c" type="_3541" const="1"/>
+  <CvQualifiedType id="_10427c" type="_10427" const="1"/>
+  <CvQualifiedType id="_10429c" type="_10429" const="1"/>
+  <CvQualifiedType id="_9265c" type="_9265" const="1"/>
+  <CvQualifiedType id="_3461c" type="_3461" const="1"/>
+  <CvQualifiedType id="_3611c" type="_3611" const="1"/>
+  <CvQualifiedType id="_13750c" type="_13750" const="1"/>
+  <CvQualifiedType id="_13734c" type="_13734" const="1"/>
+  <CvQualifiedType id="_13733c" type="_13733" const="1"/>
+  <CvQualifiedType id="_13732c" type="_13732" const="1"/>
+  <CvQualifiedType id="_13731c" type="_13731" const="1"/>
+  <CvQualifiedType id="_13730c" type="_13730" const="1"/>
+  <CvQualifiedType id="_13729c" type="_13729" const="1"/>
+  <CvQualifiedType id="_13780c" type="_13780" const="1"/>
+  <CvQualifiedType id="_10624c" type="_10624" const="1"/>
+  <CvQualifiedType id="_13388c" type="_13388" const="1"/>
+  <CvQualifiedType id="_10507c" type="_10507" const="1"/>
+  <CvQualifiedType id="_10509c" type="_10509" const="1"/>
+  <CvQualifiedType id="_3576c" type="_3576" const="1"/>
+  <CvQualifiedType id="_11100c" type="_11100" const="1"/>
+  <CvQualifiedType id="_3562c" type="_3562" const="1"/>
+  <CvQualifiedType id="_11021c" type="_11021" const="1"/>
+  <CvQualifiedType id="_11001c" type="_11001" const="1"/>
+  <CvQualifiedType id="_11114c" type="_11114" const="1"/>
+  <CvQualifiedType id="_3678c" type="_3678" const="1"/>
+  <CvQualifiedType id="_11085c" type="_11085" const="1"/>
+  <CvQualifiedType id="_3363cv" type="_3363" const="1" volatile="1"/>
+  <CvQualifiedType id="_11069c" type="_11069" const="1"/>
+  <CvQualifiedType id="_3714c" type="_3714" const="1"/>
+  <CvQualifiedType id="_3733c" type="_3733" const="1"/>
+  <CvQualifiedType id="_11037c" type="_11037" const="1"/>
+  <CvQualifiedType id="_10985c" type="_10985" const="1"/>
+  <CvQualifiedType id="_3534c" type="_3534" const="1"/>
+  <CvQualifiedType id="_13771c" type="_13771" const="1"/>
+  <CvQualifiedType id="_12284c" type="_12284" const="1"/>
+  <CvQualifiedType id="_9457c" type="_9457" const="1"/>
+  <CvQualifiedType id="_10430c" type="_10430" const="1"/>
+  <CvQualifiedType id="_10426c" type="_10426" const="1"/>
+  <CvQualifiedType id="_10914c" type="_10914" const="1"/>
+  <CvQualifiedType id="_2609c" type="_2609" const="1"/>
+  <CvQualifiedType id="_3362c" type="_3362" const="1"/>
+  <CvQualifiedType id="_3466c" type="_3466" const="1"/>
+  <CvQualifiedType id="_10609c" type="_10609" const="1"/>
+  <CvQualifiedType id="_10575c" type="_10575" const="1"/>
+  <CvQualifiedType id="_10902c" type="_10902" const="1"/>
+  <CvQualifiedType id="_2695c" type="_2695" const="1"/>
+  <CvQualifiedType id="_4076c" type="_4076" const="1"/>
+  <CvQualifiedType id="_3335c" type="_3335" const="1"/>
+  <CvQualifiedType id="_2748c" type="_2748" const="1"/>
+  <CvQualifiedType id="_2643c" type="_2643" const="1"/>
+  <CvQualifiedType id="_2629c" type="_2629" const="1"/>
+  <CvQualifiedType id="_3606c" type="_3606" const="1"/>
+  <CvQualifiedType id="_13385c" type="_13385" const="1"/>
+  <CvQualifiedType id="_10506c" type="_10506" const="1"/>
+  <CvQualifiedType id="_10508c" type="_10508" const="1"/>
+  <CvQualifiedType id="_3575c" type="_3575" const="1"/>
+  <CvQualifiedType id="_11099c" type="_11099" const="1"/>
+  <CvQualifiedType id="_3561c" type="_3561" const="1"/>
+  <CvQualifiedType id="_11020c" type="_11020" const="1"/>
+  <CvQualifiedType id="_11000c" type="_11000" const="1"/>
+  <CvQualifiedType id="_11113c" type="_11113" const="1"/>
+  <CvQualifiedType id="_3677c" type="_3677" const="1"/>
+  <CvQualifiedType id="_11084c" type="_11084" const="1"/>
+  <CvQualifiedType id="_3362cv" type="_3362" const="1" volatile="1"/>
+  <CvQualifiedType id="_11068c" type="_11068" const="1"/>
+  <CvQualifiedType id="_3713c" type="_3713" const="1"/>
+  <CvQualifiedType id="_3732c" type="_3732" const="1"/>
+  <CvQualifiedType id="_11036c" type="_11036" const="1"/>
+  <CvQualifiedType id="_10984c" type="_10984" const="1"/>
+  <CvQualifiedType id="_3533c" type="_3533" const="1"/>
+  <CvQualifiedType id="_13770c" type="_13770" const="1"/>
+  <CvQualifiedType id="_12280c" type="_12280" const="1"/>
+  <CvQualifiedType id="_9454c" type="_9454" const="1"/>
+  <CvQualifiedType id="_10425c" type="_10425" const="1"/>
+  <CvQualifiedType id="_10913c" type="_10913" const="1"/>
+  <CvQualifiedType id="_2685c" type="_2685" const="1"/>
+  <CvQualifiedType id="_3330c" type="_3330" const="1"/>
+  <CvQualifiedType id="_2635c" type="_2635" const="1"/>
+  <CvQualifiedType id="_2624c" type="_2624" const="1"/>
+  <CvQualifiedType id="_2690c" type="_2690" const="1"/>
+  <CvQualifiedType id="_3366c" type="_3366" const="1"/>
+  <CvQualifiedType id="_3357c" type="_3357" const="1"/>
+  <CvQualifiedType id="_3355c" type="_3355" const="1"/>
+  <CvQualifiedType id="_2694c" type="_2694" const="1"/>
+  <CvQualifiedType id="_3331c" type="_3331" const="1"/>
+  <CvQualifiedType id="_2697c" type="_2697" const="1"/>
+  <CvQualifiedType id="_11153c" type="_11153" const="1"/>
+  <CvQualifiedType id="_3523c" type="_3523" const="1"/>
+  <CvQualifiedType id="_3361c" type="_3361" const="1"/>
+  <CvQualifiedType id="_3468c" type="_3468" const="1"/>
+  <CvQualifiedType id="_10608c" type="_10608" const="1"/>
+  <CvQualifiedType id="_10574c" type="_10574" const="1"/>
+  <CvQualifiedType id="_3775c" type="_3775" const="1"/>
+  <CvQualifiedType id="_13769c" type="_13769" const="1"/>
+  <CvQualifiedType id="_10511c" type="_10511" const="1"/>
+  <CvQualifiedType id="_10607c" type="_10607" const="1"/>
+  <CvQualifiedType id="_10572c" type="_10572" const="1"/>
+  <CvQualifiedType id="_10545c" type="_10545" const="1"/>
+  <CvQualifiedType id="_10949c" type="_10949" const="1"/>
+  <CvQualifiedType id="_10945c" type="_10945" const="1"/>
+  <CvQualifiedType id="_10544c" type="_10544" const="1"/>
+  <CvQualifiedType id="_10943c" type="_10943" const="1"/>
+  <CvQualifiedType id="_11149c" type="_11149" const="1"/>
+  <CvQualifiedType id="_3795c" type="_3795" const="1"/>
+  <CvQualifiedType id="_11135c" type="_11135" const="1"/>
+  <CvQualifiedType id="_11129c" type="_11129" const="1"/>
+  <CvQualifiedType id="_3789c" type="_3789" const="1"/>
+  <CvQualifiedType id="_3770c" type="_3770" const="1"/>
+  <CvQualifiedType id="_13768c" type="_13768" const="1"/>
+  <CvQualifiedType id="_15539c" type="_15539" const="1"/>
+  <CvQualifiedType id="_13767c" type="_13767" const="1"/>
+  <CvQualifiedType id="_13753c" type="_13753" const="1"/>
+  <CvQualifiedType id="_13408c" type="_13408" const="1"/>
+  <CvQualifiedType id="_10517c" type="_10517" const="1"/>
+  <CvQualifiedType id="_10951c" type="_10951" const="1"/>
+  <CvQualifiedType id="_10606c" type="_10606" const="1"/>
+  <CvQualifiedType id="_10570c" type="_10570" const="1"/>
+  <CvQualifiedType id="_3481c" type="_3481" const="1"/>
+  <CvQualifiedType id="_10941c" type="_10941" const="1"/>
+  <CvQualifiedType id="_3475c" type="_3475" const="1"/>
+  <CvQualifiedType id="_10543c" type="_10543" const="1"/>
+  <CvQualifiedType id="_9323c" type="_9323" const="1"/>
+  <CvQualifiedType id="_10605c" type="_10605" const="1"/>
+  <CvQualifiedType id="_10569c" type="_10569" const="1"/>
+  <CvQualifiedType id="_10910c" type="_10910" const="1"/>
+  <CvQualifiedType id="_3612c" type="_3612" const="1"/>
+  <CvQualifiedType id="_3574c" type="_3574" const="1"/>
+  <CvQualifiedType id="_11098c" type="_11098" const="1"/>
+  <CvQualifiedType id="_3560c" type="_3560" const="1"/>
+  <CvQualifiedType id="_3774c" type="_3774" const="1"/>
+  <CvQualifiedType id="_10439c" type="_10439" const="1"/>
+  <CvQualifiedType id="_14839c" type="_14839" const="1"/>
+  <CvQualifiedType id="_10978c" type="_10978" const="1"/>
+  <CvQualifiedType id="_3519c" type="_3519" const="1"/>
+  <CvQualifiedType id="_10960c" type="_10960" const="1"/>
+  <CvQualifiedType id="_3485c" type="_3485" const="1"/>
+  <CvQualifiedType id="_10954c" type="_10954" const="1"/>
+  <CvQualifiedType id="_3483c" type="_3483" const="1"/>
+  <CvQualifiedType id="_10939c" type="_10939" const="1"/>
+  <CvQualifiedType id="_3731c" type="_3731" const="1"/>
+  <CvQualifiedType id="_10936c" type="_10936" const="1"/>
+  <CvQualifiedType id="_10928c" type="_10928" const="1"/>
+  <CvQualifiedType id="_3473c" type="_3473" const="1"/>
+  <CvQualifiedType id="_3517c" type="_3517" const="1"/>
+  <CvQualifiedType id="_10976c" type="_10976" const="1"/>
+  <CvQualifiedType id="_10437c" type="_10437" const="1"/>
+  <CvQualifiedType id="_3509c" type="_3509" const="1"/>
+  <CvQualifiedType id="_3501c" type="_3501" const="1"/>
+  <CvQualifiedType id="_10968c" type="_10968" const="1"/>
+  <CvQualifiedType id="_3494c" type="_3494" const="1"/>
+  <CvQualifiedType id="_10922c" type="_10922" const="1"/>
+  <CvQualifiedType id="_3471c" type="_3471" const="1"/>
+  <CvQualifiedType id="_3712c" type="_3712" const="1"/>
+  <CvQualifiedType id="_10916c" type="_10916" const="1"/>
+  <CvQualifiedType id="_3469c" type="_3469" const="1"/>
+  <CvQualifiedType id="_13766c" type="_13766" const="1"/>
+  <CvQualifiedType id="_13395c" type="_13395" const="1"/>
+  <CvQualifiedType id="_10510c" type="_10510" const="1"/>
+  <CvQualifiedType id="_13765c" type="_13765" const="1"/>
+  <CvQualifiedType id="_10521c" type="_10521" const="1"/>
+  <CvQualifiedType id="_10904c" type="_10904" const="1"/>
+  <CvQualifiedType id="_10604c" type="_10604" const="1"/>
+  <CvQualifiedType id="_10568c" type="_10568" const="1"/>
+  <CvQualifiedType id="_10901c" type="_10901" const="1"/>
+  <CvQualifiedType id="_3602c" type="_3602" const="1"/>
+  <CvQualifiedType id="_3573c" type="_3573" const="1"/>
+  <CvQualifiedType id="_11097c" type="_11097" const="1"/>
+  <CvQualifiedType id="_3559c" type="_3559" const="1"/>
+  <CvQualifiedType id="_11019c" type="_11019" const="1"/>
+  <CvQualifiedType id="_10999c" type="_10999" const="1"/>
+  <CvQualifiedType id="_11112c" type="_11112" const="1"/>
+  <CvQualifiedType id="_3676c" type="_3676" const="1"/>
+  <CvQualifiedType id="_11083c" type="_11083" const="1"/>
+  <CvQualifiedType id="_3331cv" type="_3331" const="1" volatile="1"/>
+  <CvQualifiedType id="_2637c" type="_2637" const="1"/>
+  <CvQualifiedType id="_2625c" type="_2625" const="1"/>
+  <CvQualifiedType id="_11067c" type="_11067" const="1"/>
+  <CvQualifiedType id="_3711c" type="_3711" const="1"/>
+  <CvQualifiedType id="_3730c" type="_3730" const="1"/>
+  <CvQualifiedType id="_11035c" type="_11035" const="1"/>
+  <CvQualifiedType id="_10983c" type="_10983" const="1"/>
+  <CvQualifiedType id="_3535c" type="_3535" const="1"/>
+  <CvQualifiedType id="_9268c" type="_9268" const="1"/>
+  <CvQualifiedType id="_3462c" type="_3462" const="1"/>
+  <CvQualifiedType id="_2689c" type="_2689" const="1"/>
+  <CvQualifiedType id="_3332c" type="_3332" const="1"/>
+  <CvQualifiedType id="_2638c" type="_2638" const="1"/>
+  <CvQualifiedType id="_2626c" type="_2626" const="1"/>
+  <CvQualifiedType id="_2696c" type="_2696" const="1"/>
+  <CvQualifiedType id="_11208c" type="_11208" const="1"/>
+  <CvQualifiedType id="_11207c" type="_11207" const="1"/>
+  <CvQualifiedType id="_11206c" type="_11206" const="1"/>
+  <CvQualifiedType id="_11205c" type="_11205" const="1"/>
+  <CvQualifiedType id="_49c" type="_49" const="1"/>
+  <CvQualifiedType id="_3860c" type="_3860" const="1"/>
+  <CvQualifiedType id="_3859c" type="_3859" const="1"/>
+  <CvQualifiedType id="_10347c" type="_10347" const="1"/>
+  <CvQualifiedType id="_3874c" type="_3874" const="1"/>
+  <CvQualifiedType id="_3842c" type="_3842" const="1"/>
+  <CvQualifiedType id="_3881c" type="_3881" const="1"/>
+  <CvQualifiedType id="_3849c" type="_3849" const="1"/>
+  <CvQualifiedType id="_10348c" type="_10348" const="1"/>
+  <CvQualifiedType id="_11211c" type="_11211" const="1"/>
+  <CvQualifiedType id="_10346c" type="_10346" const="1"/>
+  <CvQualifiedType id="_3858c" type="_3858" const="1"/>
+  <CvQualifiedType id="_3857c" type="_3857" const="1"/>
+  <CvQualifiedType id="_10341c" type="_10341" const="1"/>
+  <CvQualifiedType id="_3873c" type="_3873" const="1"/>
+  <CvQualifiedType id="_3841c" type="_3841" const="1"/>
+  <CvQualifiedType id="_3880c" type="_3880" const="1"/>
+  <CvQualifiedType id="_3848c" type="_3848" const="1"/>
+  <CvQualifiedType id="_10344c" type="_10344" const="1"/>
+  <CvQualifiedType id="_10345c" type="_10345" const="1"/>
+  <CvQualifiedType id="_10342c" type="_10342" const="1"/>
+  <CvQualifiedType id="_11199c" type="_11199" const="1"/>
+  <CvQualifiedType id="_10749c" type="_10749" const="1"/>
+  <CvQualifiedType id="_10748c" type="_10748" const="1"/>
+  <CvQualifiedType id="_10746c" type="_10746" const="1"/>
+  <CvQualifiedType id="_10747c" type="_10747" const="1"/>
+  <CvQualifiedType id="_10332c" type="_10332" const="1"/>
+  <CvQualifiedType id="_10331c" type="_10331" const="1"/>
+  <CvQualifiedType id="_10330c" type="_10330" const="1"/>
+  <CvQualifiedType id="_3856c" type="_3856" const="1"/>
+  <CvQualifiedType id="_3855c" type="_3855" const="1"/>
+  <CvQualifiedType id="_10322c" type="_10322" const="1"/>
+  <CvQualifiedType id="_3872c" type="_3872" const="1"/>
+  <CvQualifiedType id="_3840c" type="_3840" const="1"/>
+  <CvQualifiedType id="_3879c" type="_3879" const="1"/>
+  <CvQualifiedType id="_3847c" type="_3847" const="1"/>
+  <CvQualifiedType id="_10274c" type="_10274" const="1"/>
+  <CvQualifiedType id="_10273c" type="_10273" const="1"/>
+  <CvQualifiedType id="_10272c" type="_10272" const="1"/>
+  <CvQualifiedType id="_8349c" type="_8349" const="1"/>
+  <CvQualifiedType id="_8348c" type="_8348" const="1"/>
+  <CvQualifiedType id="_11159c" type="_11159" const="1"/>
+  <CvQualifiedType id="_3830c" type="_3830" const="1"/>
+  <PointerType id="_16836" type="_18722" size="32" align="32"/>
+  <FunctionType id="_12582" returns="_1194">
+    <Argument type="_12583"/>
+  </FunctionType>
+  <CvQualifiedType id="_10262c" type="_10262" const="1"/>
+  <CvQualifiedType id="_10259c" type="_10259" const="1"/>
+  <CvQualifiedType id="_10256c" type="_10256" const="1"/>
+  <CvQualifiedType id="_10253c" type="_10253" const="1"/>
+  <CvQualifiedType id="_10250c" type="_10250" const="1"/>
+  <CvQualifiedType id="_10224c" type="_10224" const="1"/>
+  <CvQualifiedType id="_10223c" type="_10223" const="1"/>
+  <CvQualifiedType id="_10065c" type="_10065" const="1"/>
+  <CvQualifiedType id="_10251c" type="_10251" const="1"/>
+  <CvQualifiedType id="_10260c" type="_10260" const="1"/>
+  <CvQualifiedType id="_1896c" type="_1896" const="1"/>
+  <CvQualifiedType id="_2457c" type="_2457" const="1"/>
+  <CvQualifiedType id="_2455c" type="_2455" const="1"/>
+  <CvQualifiedType id="_2453c" type="_2453" const="1"/>
+  <CvQualifiedType id="_2451c" type="_2451" const="1"/>
+  <CvQualifiedType id="_2431c" type="_2431" const="1"/>
+  <CvQualifiedType id="_2429c" type="_2429" const="1"/>
+  <CvQualifiedType id="_2427c" type="_2427" const="1"/>
+  <CvQualifiedType id="_2425c" type="_2425" const="1"/>
+  <CvQualifiedType id="_11181c" type="_11181" const="1"/>
+  <CvQualifiedType id="_11180c" type="_11180" const="1"/>
+  <CvQualifiedType id="_3360c" type="_3360" const="1"/>
+  <CvQualifiedType id="_3605c" type="_3605" const="1"/>
+  <CvQualifiedType id="_10014c" type="_10014" const="1"/>
+  <CvQualifiedType id="_10234c" type="_10234" const="1"/>
+  <CvQualifiedType id="_11154c" type="_11154" const="1"/>
+  <CvQualifiedType id="_10236c" type="_10236" const="1"/>
+  <CvQualifiedType id="_10744c" type="_10744" const="1"/>
+  <CvQualifiedType id="_10327c" type="_10327" const="1"/>
+  <CvQualifiedType id="_10324c" type="_10324" const="1"/>
+  <CvQualifiedType id="_10721c" type="_10721" const="1"/>
+  <CvQualifiedType id="_10227c" type="_10227" const="1"/>
+  <CvQualifiedType id="_10257c" type="_10257" const="1"/>
+  <CvQualifiedType id="_10254c" type="_10254" const="1"/>
+  <CvQualifiedType id="_10247c" type="_10247" const="1"/>
+  <CvQualifiedType id="_10221c" type="_10221" const="1"/>
+  <CvQualifiedType id="_10245c" type="_10245" const="1"/>
+  <CvQualifiedType id="_11158c" type="_11158" const="1"/>
+  <CvQualifiedType id="_3832c" type="_3832" const="1"/>
+  <PointerType id="_16841" type="_18723" size="32" align="32"/>
+  <FunctionType id="_12596" returns="_1194">
+    <Argument type="_12599"/>
+  </FunctionType>
+  <CvQualifiedType id="_10242c" type="_10242" const="1"/>
+  <CvQualifiedType id="_10211c" type="_10211" const="1"/>
+  <CvQualifiedType id="_2712c" type="_2712" const="1"/>
+  <CvQualifiedType id="_3299c" type="_3299" const="1"/>
+  <CvQualifiedType id="_2520c" type="_2520" const="1"/>
+  <CvQualifiedType id="_2529c" type="_2529" const="1"/>
+  <CvQualifiedType id="_2530c" type="_2530" const="1"/>
+  <CvQualifiedType id="_2037c" type="_2037" const="1"/>
+  <CvQualifiedType id="_2021c" type="_2021" const="1"/>
+  <OffsetType id="_12015" basetype="_2171" type="_503" size="32" align="32"/>
+  <CvQualifiedType id="_2558c" type="_2558" const="1"/>
+  <CvQualifiedType id="_3298c" type="_3298" const="1"/>
+  <CvQualifiedType id="_2519c" type="_2519" const="1"/>
+  <CvQualifiedType id="_2173c" type="_2173" const="1"/>
+  <CvQualifiedType id="_2171c" type="_2171" const="1"/>
+  <CvQualifiedType id="_2023c" type="_2023" const="1"/>
+  <CvQualifiedType id="_2018c" type="_2018" const="1"/>
+  <CvQualifiedType id="_3854c" type="_3854" const="1"/>
+  <CvQualifiedType id="_3853c" type="_3853" const="1"/>
+  <CvQualifiedType id="_10240c" type="_10240" const="1"/>
+  <CvQualifiedType id="_3871c" type="_3871" const="1"/>
+  <CvQualifiedType id="_3839c" type="_3839" const="1"/>
+  <CvQualifiedType id="_3878c" type="_3878" const="1"/>
+  <CvQualifiedType id="_3846c" type="_3846" const="1"/>
+  <CvQualifiedType id="_10318c" type="_10318" const="1"/>
+  <CvQualifiedType id="_10316c" type="_10316" const="1"/>
+  <CvQualifiedType id="_10314c" type="_10314" const="1"/>
+  <CvQualifiedType id="_10312c" type="_10312" const="1"/>
+  <CvQualifiedType id="_2478c" type="_2478" const="1"/>
+  <CvQualifiedType id="_10703c" type="_10703" const="1"/>
+  <CvQualifiedType id="_1994c" type="_1994" const="1"/>
+  <CvQualifiedType id="_10697c" type="_10697" const="1"/>
+  <CvQualifiedType id="_11255c" type="_11255" const="1"/>
+  <CvQualifiedType id="_3291c" type="_3291" const="1"/>
+  <CvQualifiedType id="_2513c" type="_2513" const="1"/>
+  <CvQualifiedType id="_2525c" type="_2525" const="1"/>
+  <CvQualifiedType id="_1996c" type="_1996" const="1"/>
+  <CvQualifiedType id="_4133c" type="_4133" const="1"/>
+  <CvQualifiedType id="_10707c" type="_10707" const="1"/>
+  <CvQualifiedType id="_11247c" type="_11247" const="1"/>
+  <CvQualifiedType id="_11246c" type="_11246" const="1"/>
+  <CvQualifiedType id="_11245c" type="_11245" const="1"/>
+  <CvQualifiedType id="_11244c" type="_11244" const="1"/>
+  <CvQualifiedType id="_11243c" type="_11243" const="1"/>
+  <CvQualifiedType id="_11242c" type="_11242" const="1"/>
+  <CvQualifiedType id="_3522c" type="_3522" const="1"/>
+  <CvQualifiedType id="_11148c" type="_11148" const="1"/>
+  <CvQualifiedType id="_3516c" type="_3516" const="1"/>
+  <CvQualifiedType id="_10975c" type="_10975" const="1"/>
+  <CvQualifiedType id="_10436c" type="_10436" const="1"/>
+  <CvQualifiedType id="_3508c" type="_3508" const="1"/>
+  <CvQualifiedType id="_3500c" type="_3500" const="1"/>
+  <CvQualifiedType id="_10967c" type="_10967" const="1"/>
+  <CvQualifiedType id="_3493c" type="_3493" const="1"/>
+  <CvQualifiedType id="_10603c" type="_10603" const="1"/>
+  <CvQualifiedType id="_10567c" type="_10567" const="1"/>
+  <CvQualifiedType id="_10353c" type="_10353" const="1"/>
+  <CvQualifiedType id="_10351c" type="_10351" const="1"/>
+  <CvQualifiedType id="_10356c" type="_10356" const="1"/>
+  <CvQualifiedType id="_3608c" type="_3608" const="1"/>
+  <CvQualifiedType id="_10805c" type="_10805" const="1"/>
+  <CvQualifiedType id="_10877c" type="_10877" const="1"/>
+  <CvQualifiedType id="_10873c" type="_10873" const="1"/>
+  <CvQualifiedType id="_10871c" type="_10871" const="1"/>
+  <CvQualifiedType id="_10839c" type="_10839" const="1"/>
+  <CvQualifiedType id="_10898c" type="_10898" const="1"/>
+  <CvQualifiedType id="_3436c" type="_3436" const="1"/>
+  <CvQualifiedType id="_10812c" type="_10812" const="1"/>
+  <CvQualifiedType id="_10809c" type="_10809" const="1"/>
+  <CvQualifiedType id="_10598c" type="_10598" const="1"/>
+  <CvQualifiedType id="_10602c" type="_10602" const="1"/>
+  <CvQualifiedType id="_10825c" type="_10825" const="1"/>
+  <CvQualifiedType id="_10816c" type="_10816" const="1"/>
+  <CvQualifiedType id="_11157c" type="_11157" const="1"/>
+  <CvQualifiedType id="_3831c" type="_3831" const="1"/>
+  <PointerType id="_16838" type="_18724" size="32" align="32"/>
+  <FunctionType id="_12584" returns="_1194">
+    <Argument type="_12587"/>
+  </FunctionType>
+  <CvQualifiedType id="_11155c" type="_11155" const="1"/>
+  <CvQualifiedType id="_2707c" type="_2707" const="1"/>
+  <CvQualifiedType id="_3297c" type="_3297" const="1"/>
+  <CvQualifiedType id="_2518c" type="_2518" const="1"/>
+  <CvQualifiedType id="_2526c" type="_2526" const="1"/>
+  <CvQualifiedType id="_2528c" type="_2528" const="1"/>
+  <CvQualifiedType id="_2036c" type="_2036" const="1"/>
+  <CvQualifiedType id="_2020c" type="_2020" const="1"/>
+  <CvQualifiedType id="_3296c" type="_3296" const="1"/>
+  <CvQualifiedType id="_2517c" type="_2517" const="1"/>
+  <CvQualifiedType id="_2022c" type="_2022" const="1"/>
+  <CvQualifiedType id="_2017c" type="_2017" const="1"/>
+  <CvQualifiedType id="_2030c" type="_2030" const="1"/>
+  <CvQualifiedType id="_3610c" type="_3610" const="1"/>
+  <CvQualifiedType id="_2691c" type="_2691" const="1"/>
+  <CvQualifiedType id="_2592c" type="_2592" const="1"/>
+  <CvQualifiedType id="_2597c" type="_2597" const="1"/>
+  <CvQualifiedType id="_2653c" type="_2653" const="1"/>
+  <CvQualifiedType id="_2568c" type="_2568" const="1"/>
+  <CvQualifiedType id="_2652c" type="_2652" const="1"/>
+  <CvQualifiedType id="_2563c" type="_2563" const="1"/>
+  <CvQualifiedType id="_2578c" type="_2578" const="1"/>
+  <CvQualifiedType id="_2576c" type="_2576" const="1"/>
+  <CvQualifiedType id="_2639c" type="_2639" const="1"/>
+  <CvQualifiedType id="_2588c" type="_2588" const="1"/>
+  <CvQualifiedType id="_2591c" type="_2591" const="1"/>
+  <CvQualifiedType id="_3521c" type="_3521" const="1"/>
+  <CvQualifiedType id="_3334c" type="_3334" const="1"/>
+  <CvQualifiedType id="_2642c" type="_2642" const="1"/>
+  <CvQualifiedType id="_2628c" type="_2628" const="1"/>
+  <CvQualifiedType id="_3600c" type="_3600" const="1"/>
+  <CvQualifiedType id="_3609c" type="_3609" const="1"/>
+  <CvQualifiedType id="_11147c" type="_11147" const="1"/>
+  <CvQualifiedType id="_3515c" type="_3515" const="1"/>
+  <CvQualifiedType id="_10974c" type="_10974" const="1"/>
+  <CvQualifiedType id="_10435c" type="_10435" const="1"/>
+  <CvQualifiedType id="_3507c" type="_3507" const="1"/>
+  <CvQualifiedType id="_3499c" type="_3499" const="1"/>
+  <CvQualifiedType id="_10966c" type="_10966" const="1"/>
+  <CvQualifiedType id="_3491c" type="_3491" const="1"/>
+  <CvQualifiedType id="_10601c" type="_10601" const="1"/>
+  <CvQualifiedType id="_10566c" type="_10566" const="1"/>
+  <CvQualifiedType id="_10352c" type="_10352" const="1"/>
+  <CvQualifiedType id="_10350c" type="_10350" const="1"/>
+  <CvQualifiedType id="_11265c" type="_11265" const="1"/>
+  <CvQualifiedType id="_3607c" type="_3607" const="1"/>
+  <CvQualifiedType id="_10876c" type="_10876" const="1"/>
+  <CvQualifiedType id="_10808c" type="_10808" const="1"/>
+  <CvQualifiedType id="_10600c" type="_10600" const="1"/>
+  <CvQualifiedType id="_10526c" type="_10526" const="1"/>
+  <CvQualifiedType id="_10875c" type="_10875" const="1"/>
+  <CvQualifiedType id="_10807c" type="_10807" const="1"/>
+  <CvQualifiedType id="_10599c" type="_10599" const="1"/>
+  <CvQualifiedType id="_2693c" type="_2693" const="1"/>
+  <CvQualifiedType id="_4016c" type="_4016" const="1"/>
+  <CvQualifiedType id="_3333c" type="_3333" const="1"/>
+  <CvQualifiedType id="_4014c" type="_4014" const="1"/>
+  <CvQualifiedType id="_2641c" type="_2641" const="1"/>
+  <CvQualifiedType id="_2627c" type="_2627" const="1"/>
+  <CvQualifiedType id="_2571c" type="_2571" const="1"/>
+  <CvQualifiedType id="_2577c" type="_2577" const="1"/>
+  <CvQualifiedType id="_2692c" type="_2692" const="1"/>
+  <CvQualifiedType id="_2640c" type="_2640" const="1"/>
+  <CvQualifiedType id="_2590c" type="_2590" const="1"/>
+  <CvQualifiedType id="_2581c" type="_2581" const="1"/>
+  <CvQualifiedType id="_2589c" type="_2589" const="1"/>
+  <CvQualifiedType id="_2596c" type="_2596" const="1"/>
+  <CvQualifiedType id="_2651c" type="_2651" const="1"/>
+  <CvQualifiedType id="_2567c" type="_2567" const="1"/>
+  <CvQualifiedType id="_2650c" type="_2650" const="1"/>
+  <CvQualifiedType id="_2559c" type="_2559" const="1"/>
+  <CvQualifiedType id="_2410c" type="_2410" const="1"/>
+  <CvQualifiedType id="_2602c" type="_2602" const="1"/>
+  <CvQualifiedType id="_2606c" type="_2606" const="1"/>
+  <CvQualifiedType id="_11146c" type="_11146" const="1"/>
+  <CvQualifiedType id="_3514c" type="_3514" const="1"/>
+  <CvQualifiedType id="_10973c" type="_10973" const="1"/>
+  <CvQualifiedType id="_10434c" type="_10434" const="1"/>
+  <CvQualifiedType id="_3506c" type="_3506" const="1"/>
+  <CvQualifiedType id="_3498c" type="_3498" const="1"/>
+  <CvQualifiedType id="_10965c" type="_10965" const="1"/>
+  <CvQualifiedType id="_3490c" type="_3490" const="1"/>
+  <CvQualifiedType id="_2175c" type="_2175" const="1"/>
+  <CvQualifiedType id="_2169c" type="_2169" const="1"/>
+  <CvQualifiedType id="_2398c" type="_2398" const="1"/>
+  <CvQualifiedType id="_11145c" type="_11145" const="1"/>
+  <CvQualifiedType id="_3513c" type="_3513" const="1"/>
+  <CvQualifiedType id="_10972c" type="_10972" const="1"/>
+  <CvQualifiedType id="_10433c" type="_10433" const="1"/>
+  <CvQualifiedType id="_3505c" type="_3505" const="1"/>
+  <CvQualifiedType id="_3497c" type="_3497" const="1"/>
+  <CvQualifiedType id="_10964c" type="_10964" const="1"/>
+  <CvQualifiedType id="_3489c" type="_3489" const="1"/>
+  <CvQualifiedType id="_11144c" type="_11144" const="1"/>
+  <CvQualifiedType id="_3512c" type="_3512" const="1"/>
+  <CvQualifiedType id="_10971c" type="_10971" const="1"/>
+  <CvQualifiedType id="_10432c" type="_10432" const="1"/>
+  <CvQualifiedType id="_3504c" type="_3504" const="1"/>
+  <CvQualifiedType id="_3496c" type="_3496" const="1"/>
+  <CvQualifiedType id="_10963c" type="_10963" const="1"/>
+  <CvQualifiedType id="_3488c" type="_3488" const="1"/>
+  <CvQualifiedType id="_10874c" type="_10874" const="1"/>
+  <CvQualifiedType id="_10806c" type="_10806" const="1"/>
+  <CvQualifiedType id="_10597c" type="_10597" const="1"/>
+  <CvQualifiedType id="_11189c" type="_11189" const="1"/>
+  <CvQualifiedType id="_3604c" type="_3604" const="1"/>
+  <CvQualifiedType id="_3781c" type="_3781" const="1"/>
+  <CvQualifiedType id="_13158c" type="_13158" const="1"/>
+  <CvQualifiedType id="_11152c" type="_11152" const="1"/>
+  <CvQualifiedType id="_3818c" type="_3818" const="1"/>
+  <CvQualifiedType id="_3812c" type="_3812" const="1"/>
+  <CvQualifiedType id="_3815c" type="_3815" const="1"/>
+  <CvQualifiedType id="_3460c" type="_3460" const="1"/>
+  <MethodType id="_12206" basetype="_3460" returns="_2749" const="1">
+  </MethodType>
+  <CvQualifiedType id="_11143c" type="_11143" const="1"/>
+  <CvQualifiedType id="_3769c" type="_3769" const="1"/>
+  <CvQualifiedType id="_3788c" type="_3788" const="1"/>
+  <CvQualifiedType id="_10596c" type="_10596" const="1"/>
+  <CvQualifiedType id="_10542c" type="_10542" const="1"/>
+  <CvQualifiedType id="_3762c" type="_3762" const="1"/>
+  <CvQualifiedType id="_3778c" type="_3778" const="1"/>
+  <CvQualifiedType id="_3458c" type="_3458" const="1"/>
+  <CvQualifiedType id="_13155c" type="_13155" const="1"/>
+  <CvQualifiedType id="_3817c" type="_3817" const="1"/>
+  <CvQualifiedType id="_3811c" type="_3811" const="1"/>
+  <CvQualifiedType id="_3814c" type="_3814" const="1"/>
+  <MethodType id="_12201" basetype="_3458" returns="_3328" const="1">
+  </MethodType>
+  <CvQualifiedType id="_11142c" type="_11142" const="1"/>
+  <CvQualifiedType id="_3768c" type="_3768" const="1"/>
+  <CvQualifiedType id="_3794c" type="_3794" const="1"/>
+  <CvQualifiedType id="_11128c" type="_11128" const="1"/>
+  <CvQualifiedType id="_3787c" type="_3787" const="1"/>
+  <CvQualifiedType id="_10595c" type="_10595" const="1"/>
+  <CvQualifiedType id="_10541c" type="_10541" const="1"/>
+  <CvQualifiedType id="_3758c" type="_3758" const="1"/>
+  <CvQualifiedType id="_10412c" type="_10412" const="1"/>
+  <Struct id="_17962" name="wrap_constraints<boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,&boost::algorithm::FinderConcept<boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std: [...]
+  <CvQualifiedType id="_10421c" type="_10421" const="1"/>
+  <CvQualifiedType id="_10594c" type="_10594" const="1"/>
+  <CvQualifiedType id="_10564c" type="_10564" const="1"/>
+  <CvQualifiedType id="_10415c" type="_10415" const="1"/>
+  <CvQualifiedType id="_10419c" type="_10419" const="1"/>
+  <CvQualifiedType id="_11141c" type="_11141" const="1"/>
+  <CvQualifiedType id="_3767c" type="_3767" const="1"/>
+  <CvQualifiedType id="_3793c" type="_3793" const="1"/>
+  <CvQualifiedType id="_11133c" type="_11133" const="1"/>
+  <CvQualifiedType id="_11127c" type="_11127" const="1"/>
+  <CvQualifiedType id="_3786c" type="_3786" const="1"/>
+  <CvQualifiedType id="_10593c" type="_10593" const="1"/>
+  <CvQualifiedType id="_3780c" type="_3780" const="1"/>
+  <CvQualifiedType id="_10540c" type="_10540" const="1"/>
+  <CvQualifiedType id="_3761c" type="_3761" const="1"/>
+  <CvQualifiedType id="_10411c" type="_10411" const="1"/>
+  <Struct id="_17961" name="wrap_constraints<boost::algorithm::FormatterConcept<boost::algorithm::detail::const_formatF<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::algorithm::detail::first_finderF<const char*, boost::algorithm::is_equal>, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,&boost::algorithm::FormatterConc [...]
+  <CvQualifiedType id="_10420c" type="_10420" const="1"/>
+  <CvQualifiedType id="_10592c" type="_10592" const="1"/>
+  <CvQualifiedType id="_10563c" type="_10563" const="1"/>
+  <CvQualifiedType id="_10414c" type="_10414" const="1"/>
+  <CvQualifiedType id="_10418c" type="_10418" const="1"/>
+  <CvQualifiedType id="_11140c" type="_11140" const="1"/>
+  <CvQualifiedType id="_3766c" type="_3766" const="1"/>
+  <CvQualifiedType id="_3792c" type="_3792" const="1"/>
+  <CvQualifiedType id="_11132c" type="_11132" const="1"/>
+  <CvQualifiedType id="_11126c" type="_11126" const="1"/>
+  <CvQualifiedType id="_3785c" type="_3785" const="1"/>
+  <CvQualifiedType id="_10591c" type="_10591" const="1"/>
+  <CvQualifiedType id="_3779c" type="_3779" const="1"/>
+  <CvQualifiedType id="_10539c" type="_10539" const="1"/>
+  <CvQualifiedType id="_3756c" type="_3756" const="1"/>
+  <CvQualifiedType id="_3765c" type="_3765" const="1"/>
+  <CvQualifiedType id="_10590c" type="_10590" const="1"/>
+  <CvQualifiedType id="_3805c" type="_3805" const="1"/>
+  <CvQualifiedType id="_10538c" type="_10538" const="1"/>
+  <CvQualifiedType id="_3757c" type="_3757" const="1"/>
+  <CvQualifiedType id="_11150c" type="_11150" const="1"/>
+  <CvQualifiedType id="_3816c" type="_3816" const="1"/>
+  <CvQualifiedType id="_3810c" type="_3810" const="1"/>
+  <CvQualifiedType id="_3813c" type="_3813" const="1"/>
+  <CvQualifiedType id="_3459c" type="_3459" const="1"/>
+  <MethodType id="_12205" basetype="_3459" returns="_3330" const="1">
+  </MethodType>
+  <CvQualifiedType id="_2684c" type="_2684" const="1"/>
+  <CvQualifiedType id="_2587c" type="_2587" const="1"/>
+  <CvQualifiedType id="_2595c" type="_2595" const="1"/>
+  <CvQualifiedType id="_2605c" type="_2605" const="1"/>
+  <CvQualifiedType id="_2655c" type="_2655" const="1"/>
+  <CvQualifiedType id="_2649c" type="_2649" const="1"/>
+  <CvQualifiedType id="_2566c" type="_2566" const="1"/>
+  <CvQualifiedType id="_2648c" type="_2648" const="1"/>
+  <CvQualifiedType id="_2560c" type="_2560" const="1"/>
+  <CvQualifiedType id="_2541c" type="_2541" const="1"/>
+  <CvQualifiedType id="_10893c" type="_10893" const="1"/>
+  <CvQualifiedType id="_10892c" type="_10892" const="1"/>
+  <CvQualifiedType id="_10891c" type="_10891" const="1"/>
+  <CvQualifiedType id="_11138c" type="_11138" const="1"/>
+  <CvQualifiedType id="_3511c" type="_3511" const="1"/>
+  <CvQualifiedType id="_10970c" type="_10970" const="1"/>
+  <CvQualifiedType id="_10431c" type="_10431" const="1"/>
+  <CvQualifiedType id="_3503c" type="_3503" const="1"/>
+  <CvQualifiedType id="_3495c" type="_3495" const="1"/>
+  <CvQualifiedType id="_10962c" type="_10962" const="1"/>
+  <CvQualifiedType id="_3487c" type="_3487" const="1"/>
+  <CvQualifiedType id="_3601c" type="_3601" const="1"/>
+  <CvQualifiedType id="_9210c" type="_9210" const="1"/>
+  <CvQualifiedType id="_11137c" type="_11137" const="1"/>
+  <CvQualifiedType id="_3764c" type="_3764" const="1"/>
+  <CvQualifiedType id="_3791c" type="_3791" const="1"/>
+  <CvQualifiedType id="_11131c" type="_11131" const="1"/>
+  <CvQualifiedType id="_11125c" type="_11125" const="1"/>
+  <CvQualifiedType id="_3783c" type="_3783" const="1"/>
+  <CvQualifiedType id="_10589c" type="_10589" const="1"/>
+  <CvQualifiedType id="_3777c" type="_3777" const="1"/>
+  <CvQualifiedType id="_10537c" type="_10537" const="1"/>
+  <CvQualifiedType id="_3760c" type="_3760" const="1"/>
+  <CvQualifiedType id="_11136c" type="_11136" const="1"/>
+  <CvQualifiedType id="_3763c" type="_3763" const="1"/>
+  <CvQualifiedType id="_3790c" type="_3790" const="1"/>
+  <CvQualifiedType id="_11124c" type="_11124" const="1"/>
+  <CvQualifiedType id="_3782c" type="_3782" const="1"/>
+  <CvQualifiedType id="_10588c" type="_10588" const="1"/>
+  <CvQualifiedType id="_3803c" type="_3803" const="1"/>
+  <CvQualifiedType id="_10536c" type="_10536" const="1"/>
+  <CvQualifiedType id="_3759c" type="_3759" const="1"/>
+  <CvQualifiedType id="_13212c" type="_13212" const="1"/>
+  <CvQualifiedType id="_3437c" type="_3437" const="1"/>
+  <CvQualifiedType id="_1999c" type="_1999" const="1"/>
+  <CvQualifiedType id="_2524c" type="_2524" const="1"/>
+  <CvQualifiedType id="_2005c" type="_2005" const="1"/>
+  <CvQualifiedType id="_4236c" type="_4236" const="1"/>
+  <CvQualifiedType id="_1998c" type="_1998" const="1"/>
+  <CvQualifiedType id="_3293c" type="_3293" const="1"/>
+  <CvQualifiedType id="_2514c" type="_2514" const="1"/>
+  <CvQualifiedType id="_3329c" type="_3329" const="1"/>
+  <CvQualifiedType id="_2633c" type="_2633" const="1"/>
+  <CvQualifiedType id="_2623c" type="_2623" const="1"/>
+  <CvQualifiedType id="_2575c" type="_2575" const="1"/>
+  <CvQualifiedType id="_2574c" type="_2574" const="1"/>
+  <CvQualifiedType id="_2687c" type="_2687" const="1"/>
+  <CvQualifiedType id="_2688c" type="_2688" const="1"/>
+  <CvQualifiedType id="_2636c" type="_2636" const="1"/>
+  <CvQualifiedType id="_2586c" type="_2586" const="1"/>
+  <CvQualifiedType id="_2585c" type="_2585" const="1"/>
+  <CvQualifiedType id="_2584c" type="_2584" const="1"/>
+  <CvQualifiedType id="_2594c" type="_2594" const="1"/>
+  <CvQualifiedType id="_2604c" type="_2604" const="1"/>
+  <CvQualifiedType id="_2647c" type="_2647" const="1"/>
+  <CvQualifiedType id="_2565c" type="_2565" const="1"/>
+  <CvQualifiedType id="_2646c" type="_2646" const="1"/>
+  <CvQualifiedType id="_2562c" type="_2562" const="1"/>
+  <CvQualifiedType id="_10890c" type="_10890" const="1"/>
+  <CvQualifiedType id="_10406c" type="_10406" const="1"/>
+  <CvQualifiedType id="_13204c" type="_13204" const="1"/>
+  <CvQualifiedType id="_2603c" type="_2603" const="1"/>
+  <CvQualifiedType id="_2573c" type="_2573" const="1"/>
+  <CvQualifiedType id="_2686c" type="_2686" const="1"/>
+  <CvQualifiedType id="_2583c" type="_2583" const="1"/>
+  <CvQualifiedType id="_2582c" type="_2582" const="1"/>
+  <CvQualifiedType id="_2593c" type="_2593" const="1"/>
+  <CvQualifiedType id="_2645c" type="_2645" const="1"/>
+  <CvQualifiedType id="_2564c" type="_2564" const="1"/>
+  <CvQualifiedType id="_2644c" type="_2644" const="1"/>
+  <CvQualifiedType id="_2561c" type="_2561" const="1"/>
+  <CvQualifiedType id="_2381c" type="_2381" const="1"/>
+  <CvQualifiedType id="_2601c" type="_2601" const="1"/>
+  <CvQualifiedType id="_2680c" type="_2680" const="1"/>
+  <CvQualifiedType id="_2572c" type="_2572" const="1"/>
+  <CvQualifiedType id="_2632c" type="_2632" const="1"/>
+  <CvQualifiedType id="_2569c" type="_2569" const="1"/>
+  <CvQualifiedType id="_2579c" type="_2579" const="1"/>
+  <CvQualifiedType id="_2570c" type="_2570" const="1"/>
+  <CvQualifiedType id="_2634c" type="_2634" const="1"/>
+  <CvQualifiedType id="_2580c" type="_2580" const="1"/>
+  <CvQualifiedType id="_2388c" type="_2388" const="1"/>
+  <CvQualifiedType id="_2683c" type="_2683" const="1"/>
+  <CvQualifiedType id="_2496c" type="_2496" const="1"/>
+  <PointerType id="_18714" type="_1228" size="32" align="32"/>
+  <PointerType id="_18715" type="_4700" size="32" align="32"/>
+  <PointerType id="_18716" type="_4685" size="32" align="32"/>
+  <PointerType id="_18717" type="_2794" size="32" align="32"/>
+  <Namespace id="_18718" name="__cxxabiv1" context="_1" mangled="_Z10__cxxabiv1" demangled="__cxxabiv1"/>
+  <ReferenceType id="_18719" type="_12097" size="32" align="32"/>
+  <Unimplemented id="_18720" tree_code="188" tree_code_name="template_type_parm" node="0xcd2d070"/>
+  <PointerType id="_18721" type="_18725" size="32" align="32"/>
+  <PointerType id="_18722" type="_3830" size="32" align="32"/>
+  <PointerType id="_18723" type="_3832" size="32" align="32"/>
+  <PointerType id="_18724" type="_3831" size="32" align="32"/>
+  <PointerType id="_18725" type="_18726" size="32" align="32"/>
+  <PointerType id="_18726" type="_18727" size="32" align="32"/>
+  <PointerType id="_18727" type="_18728" size="32" align="32"/>
+  <PointerType id="_18728" type="_18729" size="32" align="32"/>
+  <PointerType id="_18729" type="_18730" size="32" align="32"/>
+  <PointerType id="_18730" type="_18731" size="32" align="32"/>
+  <PointerType id="_18731" type="_18732" size="32" align="32"/>
+  <PointerType id="_18732" type="_18733" size="32" align="32"/>
+  <PointerType id="_18733" type="_18734" size="32" align="32"/>
+  <OffsetType id="_18734" basetype="_10522" type="_18735" size="32" align="32"/>
+  <PointerType id="_18735" type="_18736" size="32" align="32"/>
+  <PointerType id="_18736" type="_18737" size="32" align="32"/>
+  <PointerType id="_18737" type="_18738" size="32" align="32"/>
+  <PointerType id="_18738" type="_18739" size="32" align="32"/>
+  <PointerType id="_18739" type="_18740" size="32" align="32"/>
+  <PointerType id="_18740" type="_18741" size="32" align="32"/>
+  <PointerType id="_18741" type="_18742" size="32" align="32"/>
+  <PointerType id="_18742" type="_18743" size="32" align="32"/>
+  <PointerType id="_18743" type="_18744" size="32" align="32"/>
+  <PointerType id="_18744" type="_18745" size="32" align="32"/>
+  <PointerType id="_18745" type="_18746" size="32" align="32"/>
+  <PointerType id="_18746" type="_3250" size="32" align="32"/>
+  <File id="f0" name="/home/roman/boost_cvs/boost/algorithm/string/sequence_traits.hpp"/>
+  <File id="f1" name="/home/roman/boost_cvs/boost/date_time/date_facet.hpp"/>
+  <File id="f2" name="/home/roman/boost_cvs/boost/lexical_cast.hpp"/>
+  <File id="f3" name="/usr/include/c++/4.1.2/bits/locale_classes.h"/>
+  <File id="f4" name="/home/roman/boost_cvs/boost/date_time/local_time/custom_time_zone.hpp"/>
+  <File id="f5" name="/home/roman/boost_cvs/boost/date_time/local_time/posix_time_zone.hpp"/>
+  <File id="f6" name="/home/roman/boost_cvs/boost/date_time/dst_transition_generators.hpp"/>
+  <File id="f7" name="/home/roman/boost_cvs/boost/date_time/time_zone_base.hpp"/>
+  <File id="f8" name="/home/roman/boost_cvs/boost/date_time/tz_db_base.hpp"/>
+  <File id="f9" name="/usr/include/c++/4.1.2/iosfwd"/>
+  <File id="f10" name="/home/roman/boost_cvs/boost/date_time/local_time/local_date_time.hpp"/>
+  <File id="f11" name="/usr/include/math.h"/>
+  <File id="f12" name="/usr/include/bits/mathcalls.h"/>
+  <File id="f13" name="/usr/include/bits/mathdef.h"/>
+  <File id="f14" name="/home/roman/boost_cvs/boost/date_time/date_parsing.hpp"/>
+  <File id="f15" name="/home/roman/boost_cvs/boost/token_functions.hpp"/>
+  <File id="f16" name="/home/roman/boost_cvs/boost/date_time/date_generators.hpp"/>
+  <File id="f17" name="/home/roman/boost_cvs/boost/function/function_base.hpp"/>
+  <File id="f18" name="/usr/include/sys/time.h"/>
+  <File id="f19" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_month.hpp"/>
+  <File id="f20" name="/home/roman/boost_cvs/boost/detail/sp_counted_base_gcc_x86.hpp"/>
+  <File id="f21" name="/home/roman/boost_cvs/boost/detail/bad_weak_ptr.hpp"/>
+  <File id="f22" name="/usr/include/assert.h"/>
+  <File id="f23" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_year.hpp"/>
+  <File id="f24" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_day.hpp"/>
+  <File id="f25" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_day_of_year.hpp"/>
+  <File id="f26" name="/home/roman/boost_cvs/boost/date_time/constrained_value.hpp"/>
+  <File id="f27" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_weekday.hpp"/>
+  <File id="f28" name="/usr/include/c++/4.1.2/stdexcept"/>
+  <File id="f29" name="/usr/include/c++/4.1.2/bits/locale_facets.h"/>
+  <File id="f30" name="/usr/include/c++/4.1.2/bits/codecvt.h"/>
+  <File id="f31" name="/usr/include/c++/4.1.2/typeinfo"/>
+  <File id="f32" name="/usr/include/wctype.h"/>
+  <File id="f33" name="/usr/include/c++/4.1.2/bits/ios_base.h"/>
+  <File id="f34" name="/usr/include/c++/4.1.2/new"/>
+  <File id="f35" name="/usr/include/c++/4.1.2/i486-linux-gnu/bits/atomic_word.h"/>
+  <File id="f36" name="/usr/include/c++/4.1.2/exception"/>
+  <File id="f37" name="/usr/include/wchar.h"/>
+  <File id="f38" name="/usr/include/ctype.h"/>
+  <File id="f39" name="/usr/include/c++/4.1.2/i486-linux-gnu/bits/gthr-default.h"/>
+  <File id="f40" name="/usr/include/bits/pthreadtypes.h"/>
+  <File id="f41" name="/usr/include/pthread.h"/>
+  <File id="f42" name="/usr/include/bits/setjmp.h"/>
+  <File id="f43" name="/usr/include/time.h"/>
+  <File id="f44" name="/usr/include/sched.h"/>
+  <File id="f45" name="/usr/include/bits/sched.h"/>
+  <File id="f46" name="/usr/include/libintl.h"/>
+  <File id="f47" name="/usr/include/iconv.h"/>
+  <File id="f48" name="/usr/include/langinfo.h"/>
+  <File id="f49" name="/usr/include/nl_types.h"/>
+  <File id="f50" name="/usr/include/stdio.h"/>
+  <File id="f51" name="/usr/include/bits/sys_errlist.h"/>
+  <File id="f52" name="/usr/include/_G_config.h"/>
+  <File id="f53" name="/usr/include/libio.h"/>
+  <File id="f54" name="/usr/lib/gcc/i486-linux-gnu/4.1.2/include/stdarg.h"/>
+  <File id="f55" name="/usr/include/gconv.h"/>
+  <File id="f56" name="/usr/lib/gcc/i486-linux-gnu/4.1.2/include/stddef.h"/>
+  <File id="f57" name="/usr/include/string.h"/>
+  <File id="f58" name="/usr/include/locale.h"/>
+  <File id="f59" name="/usr/include/bits/locale.h"/>
+  <File id="f60" name="/usr/include/c++/4.1.2/bits/cpp_type_traits.h"/>
+  <File id="f61" name="/usr/include/stdint.h"/>
+  <File id="f62" name="/usr/include/unistd.h"/>
+  <File id="f63" name="/usr/include/getopt.h"/>
+  <File id="f64" name="/usr/include/bits/confname.h"/>
+  <File id="f65" name="/usr/include/stdlib.h"/>
+  <File id="f66" name="/usr/include/sys/types.h"/>
+  <File id="f67" name="/usr/include/sys/sysmacros.h"/>
+  <File id="f68" name="/usr/include/sys/select.h"/>
+  <File id="f69" name="/usr/include/bits/time.h"/>
+  <File id="f70" name="/usr/include/bits/sigset.h"/>
+  <File id="f71" name="/usr/include/bits/types.h"/>
+  <File id="f72" name="/usr/include/xlocale.h"/>
+  <File id="f73" name="/usr/include/bits/waitstatus.h"/>
+  <File id="f74" name="/home/roman/gccxml/share/gccxml-0.7/GCC/4.1/gccxml_builtins.h"/>
+  <File id="f75" name="/usr/include/alloca.h"/>
+  <File id="f76" name="/usr/include/c++/4.1.2/i486-linux-gnu/bits/basic_file.h"/>
+  <File id="f77" name="/usr/include/c++/4.1.2/cmath"/>
+  <File id="f78" name="/usr/include/c++/4.1.2/iomanip"/>
+  <File id="f79" name="/usr/include/c++/4.1.2/bits/stl_bvector.h"/>
+  <File id="f80" name="/usr/include/c++/4.1.2/bits/stl_vector.h"/>
+  <File id="f81" name="/usr/include/c++/4.1.2/bits/stl_deque.h"/>
+  <File id="f82" name="/usr/include/c++/4.1.2/iostream"/>
+  <File id="f83" name="/usr/include/c++/4.1.2/bits/stl_map.h"/>
+  <File id="f84" name="/usr/include/c++/4.1.2/bits/stl_tree.h"/>
+  <File id="f85" name="/usr/include/c++/4.1.2/bits/istream.tcc"/>
+  <File id="f86" name="/usr/include/c++/4.1.2/istream"/>
+  <File id="f87" name="/usr/include/c++/4.1.2/bits/locale_facets.tcc"/>
+  <File id="f88" name="/usr/include/c++/4.1.2/ostream"/>
+  <File id="f89" name="/usr/include/c++/4.1.2/bits/ostream.tcc"/>
+  <File id="f90" name="/usr/include/c++/4.1.2/streambuf"/>
+  <File id="f91" name="/usr/include/c++/4.1.2/bits/basic_string.tcc"/>
+  <File id="f92" name="/usr/include/c++/4.1.2/bits/stl_algo.h"/>
+  <File id="f93" name="/home/roman/gccxml/share/gccxml-0.7/GCC/4.1/bits/basic_string.h"/>
+  <File id="f94" name="/usr/include/c++/4.1.2/bits/stl_function.h"/>
+  <File id="f95" name="/usr/include/c++/4.1.2/limits"/>
+  <File id="f96" name="/usr/include/c++/4.1.2/bits/stl_uninitialized.h"/>
+  <File id="f97" name="/usr/include/c++/4.1.2/bits/stl_construct.h"/>
+  <File id="f98" name="/usr/include/c++/4.1.2/bits/allocator.h"/>
+  <File id="f99" name="/usr/include/c++/4.1.2/bits/localefwd.h"/>
+  <File id="f100" name="/usr/include/c++/4.1.2/i486-linux-gnu/bits/ctype_base.h"/>
+  <File id="f101" name="/usr/include/c++/4.1.2/bits/stl_algobase.h"/>
+  <File id="f102" name="/usr/include/c++/4.1.2/bits/functexcept.h"/>
+  <File id="f103" name="/usr/include/c++/4.1.2/bits/postypes.h"/>
+  <File id="f104" name="/usr/include/c++/4.1.2/cwchar"/>
+  <File id="f105" name="/usr/include/c++/4.1.2/bits/stringfwd.h"/>
+  <File id="f106" name="/usr/include/c++/4.1.2/bits/char_traits.h"/>
+  <File id="f107" name="/usr/include/c++/4.1.2/i486-linux-gnu/bits/c++io.h"/>
+  <File id="f108" name="/usr/include/c++/4.1.2/i486-linux-gnu/bits/c++locale.h"/>
+  <File id="f109" name="/usr/include/c++/4.1.2/cstring"/>
+  <File id="f110" name="/usr/include/c++/4.1.2/bits/stl_iterator.h"/>
+  <File id="f111" name="/usr/include/c++/4.1.2/bits/stl_iterator_base_funcs.h"/>
+  <File id="f112" name="/usr/include/c++/4.1.2/bits/stl_iterator_base_types.h"/>
+  <File id="f113" name="/usr/include/c++/4.1.2/cstdlib"/>
+  <File id="f114" name="/usr/include/c++/4.1.2/bits/stl_pair.h"/>
+  <File id="f115" name="<internal>"/>
+  <File id="f116" name="/home/roman/language-binding/sources/pyplusplus_dev/examples/pyboost_dev/dev/date_time/include/date_time.pypp.hpp"/>
+  <File id="f117" name="/home/roman/language-binding/sources/pyplusplus_dev/examples/pyboost_dev/dev/date_time/include/date_time_wrapper.hpp"/>
+  <File id="f118" name="/home/roman/boost_cvs/boost/mpl/aux_/integral_wrapper.hpp"/>
+  <File id="f119" name="/home/roman/boost_cvs/boost/mpl/arg_fwd.hpp"/>
+  <File id="f120" name="/home/roman/boost_cvs/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp"/>
+  <File id="f121" name="/home/roman/boost_cvs/boost/mpl/aux_/preprocessed/gcc/arg.hpp"/>
+  <File id="f122" name="/home/roman/boost_cvs/boost/mpl/assert.hpp"/>
+  <File id="f123" name="/home/roman/boost_cvs/boost/mpl/aux_/na_fwd.hpp"/>
+  <File id="f124" name="/home/roman/boost_cvs/boost/mpl/void.hpp"/>
+  <File id="f125" name="/home/roman/boost_cvs/boost/mpl/bool_fwd.hpp"/>
+  <File id="f126" name="/home/roman/boost_cvs/boost/mpl/bool.hpp"/>
+  <File id="f127" name="/home/roman/boost_cvs/boost/mpl/integral_c_tag.hpp"/>
+  <File id="f128" name="/usr/include/c++/4.1.2/ext/new_allocator.h"/>
+  <File id="f129" name="/usr/include/c++/4.1.2/bits/atomicity.h"/>
+  <File id="f130" name="/home/roman/boost_cvs/boost/operators.hpp"/>
+  <File id="f131" name="/home/roman/boost_cvs/boost/tokenizer.hpp"/>
+  <File id="f132" name="/home/roman/boost_cvs/boost/token_iterator.hpp"/>
+  <File id="f133" name="/home/roman/boost_cvs/boost/type_traits/alignment_of.hpp"/>
+  <File id="f134" name="/home/roman/boost_cvs/boost/integer_traits.hpp"/>
+  <File id="f135" name="/home/roman/boost_cvs/boost/detail/call_traits.hpp"/>
+  <File id="f136" name="/home/roman/boost_cvs/boost/range/value_type.hpp"/>
+  <File id="f137" name="/home/roman/boost_cvs/boost/concept_check.hpp"/>
+  <File id="f138" name="/home/roman/boost_cvs/boost/range/iterator_range.hpp"/>
+  <File id="f139" name="/home/roman/boost_cvs/boost/iterator/iterator_adaptor.hpp"/>
+  <File id="f140" name="/home/roman/boost_cvs/boost/iterator/iterator_facade.hpp"/>
+  <File id="f141" name="/home/roman/boost_cvs/boost/type_traits/is_pod.hpp"/>
+  <File id="f142" name="/home/roman/boost_cvs/boost/type_traits/is_scalar.hpp"/>
+  <File id="f143" name="/home/roman/boost_cvs/boost/type_traits/is_enum.hpp"/>
+  <File id="f144" name="/home/roman/boost_cvs/boost/type_traits/add_pointer.hpp"/>
+  <File id="f145" name="/home/roman/boost_cvs/boost/implicit_cast.hpp"/>
+  <File id="f146" name="/home/roman/boost_cvs/boost/iterator/detail/facade_iterator_category.hpp"/>
+  <File id="f147" name="/home/roman/boost_cvs/boost/type_traits/remove_reference.hpp"/>
+  <File id="f148" name="/home/roman/boost_cvs/boost/type_traits/is_class.hpp"/>
+  <File id="f149" name="/home/roman/boost_cvs/boost/type_traits/is_union.hpp"/>
+  <File id="f150" name="/home/roman/boost_cvs/boost/type_traits/is_pointer.hpp"/>
+  <File id="f151" name="/home/roman/boost_cvs/boost/type_traits/is_member_pointer.hpp"/>
+  <File id="f152" name="/home/roman/boost_cvs/boost/type_traits/is_member_function_pointer.hpp"/>
+  <File id="f153" name="/home/roman/boost_cvs/boost/type_traits/remove_cv.hpp"/>
+  <File id="f154" name="/home/roman/boost_cvs/boost/type_traits/is_function.hpp"/>
+  <File id="f155" name="/home/roman/boost_cvs/boost/iterator/interoperable.hpp"/>
+  <File id="f156" name="/home/roman/boost_cvs/boost/iterator/iterator_categories.hpp"/>
+  <File id="f157" name="/home/roman/boost_cvs/boost/type_traits/is_convertible.hpp"/>
+  <File id="f158" name="/home/roman/boost_cvs/boost/type_traits/is_arithmetic.hpp"/>
+  <File id="f159" name="/home/roman/boost_cvs/boost/type_traits/is_float.hpp"/>
+  <File id="f160" name="/home/roman/boost_cvs/boost/type_traits/is_integral.hpp"/>
+  <File id="f161" name="/home/roman/boost_cvs/boost/type_traits/add_reference.hpp"/>
+  <File id="f162" name="/home/roman/boost_cvs/boost/static_assert.hpp"/>
+  <File id="f163" name="/home/roman/boost_cvs/boost/noncopyable.hpp"/>
+  <File id="f164" name="/home/roman/boost_cvs/boost/utility/enable_if.hpp"/>
+  <File id="f165" name="/home/roman/boost_cvs/boost/range/empty.hpp"/>
+  <File id="f166" name="/home/roman/boost_cvs/boost/range/end.hpp"/>
+  <File id="f167" name="/home/roman/boost_cvs/boost/type_traits/is_same.hpp"/>
+  <File id="f168" name="/home/roman/boost_cvs/boost/type_traits/is_void.hpp"/>
+  <File id="f169" name="/home/roman/boost_cvs/boost/type_traits/is_array.hpp"/>
+  <File id="f170" name="/home/roman/boost_cvs/boost/range/begin.hpp"/>
+  <File id="f171" name="/home/roman/boost_cvs/boost/range/iterator.hpp"/>
+  <File id="f172" name="/home/roman/boost_cvs/boost/type_traits/is_const.hpp"/>
+  <File id="f173" name="/home/roman/boost_cvs/boost/type_traits/is_reference.hpp"/>
+  <File id="f174" name="/home/roman/boost_cvs/boost/range/const_iterator.hpp"/>
+  <File id="f175" name="/home/roman/boost_cvs/boost/type_traits/remove_const.hpp"/>
+  <File id="f176" name="/home/roman/boost_cvs/boost/type_traits/is_volatile.hpp"/>
+  <File id="f177" name="/home/roman/boost_cvs/boost/type_traits/integral_constant.hpp"/>
+  <File id="f178" name="/home/roman/boost_cvs/boost/range/mutable_iterator.hpp"/>
+  <File id="f179" name="/home/roman/boost_cvs/boost/iterator/iterator_traits.hpp"/>
+  <File id="f180" name="/home/roman/boost_cvs/boost/shared_ptr.hpp"/>
+  <File id="f181" name="/home/roman/boost_cvs/boost/throw_exception.hpp"/>
+  <File id="f182" name="/home/roman/boost_cvs/boost/iterator.hpp"/>
+  <File id="f183" name="/home/roman/boost_cvs/boost/config/suffix.hpp"/>
+  <File id="f184" name="/usr/include/c++/4.1.2/bits/vector.tcc"/>
+  <File id="f185" name="/usr/include/c++/4.1.2/bits/deque.tcc"/>
+  <File id="f186" name="/usr/include/c++/4.1.2/i486-linux-gnu/bits/messages_members.h"/>
+  <File id="f187" name="/usr/include/c++/4.1.2/i486-linux-gnu/bits/ctype_inline.h"/>
+  <File id="f188" name="/usr/include/c++/4.1.2/fstream"/>
+  <File id="f189" name="/usr/include/c++/4.1.2/bits/fstream.tcc"/>
+  <File id="f190" name="/usr/include/c++/4.1.2/sstream"/>
+  <File id="f191" name="/usr/include/c++/4.1.2/bits/sstream.tcc"/>
+  <File id="f192" name="/usr/include/c++/4.1.2/bits/streambuf.tcc"/>
+  <File id="f193" name="/usr/include/c++/4.1.2/bits/basic_ios.h"/>
+  <File id="f194" name="/usr/include/c++/4.1.2/bits/basic_ios.tcc"/>
+  <File id="f195" name="/usr/include/c++/4.1.2/bits/streambuf_iterator.h"/>
+  <File id="f196" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_date.hpp"/>
+  <File id="f197" name="/home/roman/boost_cvs/boost/date_time/microsec_time_clock.hpp"/>
+  <File id="f198" name="/home/roman/boost_cvs/boost/date_time/parse_format_base.hpp"/>
+  <File id="f199" name="/home/roman/boost_cvs/boost/iterator/detail/enable_if.hpp"/>
+  <File id="f200" name="/home/roman/boost_cvs/boost/mpl/aux_/preprocessed/gcc/or.hpp"/>
+  <File id="f201" name="/home/roman/boost_cvs/boost/mpl/eval_if.hpp"/>
+  <File id="f202" name="/home/roman/boost_cvs/boost/date_time/date_duration.hpp"/>
+  <File id="f203" name="/home/roman/boost_cvs/boost/detail/shared_count.hpp"/>
+  <File id="f204" name="/home/roman/boost_cvs/boost/date_time/time.hpp"/>
+  <File id="f205" name="/home/roman/boost_cvs/boost/date_time/time_duration.hpp"/>
+  <File id="f206" name="/home/roman/boost_cvs/boost/date_time/period.hpp"/>
+  <File id="f207" name="/home/roman/boost_cvs/boost/date_time/date.hpp"/>
+  <File id="f208" name="/home/roman/boost_cvs/boost/date_time/local_time/conversion.hpp"/>
+  <File id="f209" name="/home/roman/boost_cvs/boost/date_time/local_time/tz_database.hpp"/>
+  <File id="f210" name="/home/roman/boost_cvs/boost/date_time/time_facet.hpp"/>
+  <File id="f211" name="/home/roman/boost_cvs/boost/date_time/local_time/local_time_io.hpp"/>
+  <File id="f212" name="/home/roman/boost_cvs/boost/date_time/time_zone_names.hpp"/>
+  <File id="f213" name="/home/roman/boost_cvs/boost/date_time/local_time/local_time_types.hpp"/>
+  <File id="f214" name="/home/roman/boost_cvs/boost/date_time/time_clock.hpp"/>
+  <File id="f215" name="/home/roman/boost_cvs/boost/date_time/time_iterator.hpp"/>
+  <File id="f216" name="/home/roman/boost_cvs/boost/date_time/local_time/dst_transition_day_rules.hpp"/>
+  <File id="f217" name="/home/roman/boost_cvs/boost/date_time/local_time/date_duration_operators.hpp"/>
+  <File id="f218" name="/home/roman/boost_cvs/boost/date_time/posix_time/conversion.hpp"/>
+  <File id="f219" name="/home/roman/boost_cvs/boost/date_time/posix_time/time_parsers.hpp"/>
+  <File id="f220" name="/home/roman/boost_cvs/boost/date_time/posix_time/posix_time_io.hpp"/>
+  <File id="f221" name="/home/roman/boost_cvs/boost/date_time/posix_time/time_formatters.hpp"/>
+  <File id="f222" name="/home/roman/boost_cvs/boost/date_time/dst_rules.hpp"/>
+  <File id="f223" name="/home/roman/boost_cvs/boost/date_time/posix_time/posix_time_types.hpp"/>
+  <File id="f224" name="/home/roman/boost_cvs/boost/date_time/posix_time/time_period.hpp"/>
+  <File id="f225" name="/home/roman/boost_cvs/boost/date_time/posix_time/posix_time_duration.hpp"/>
+  <File id="f226" name="/home/roman/boost_cvs/boost/date_time/posix_time/date_duration_operators.hpp"/>
+  <File id="f227" name="/home/roman/boost_cvs/boost/date_time/posix_time/ptime.hpp"/>
+  <File id="f228" name="/home/roman/boost_cvs/boost/date_time/time_system_counted.hpp"/>
+  <File id="f229" name="/home/roman/boost_cvs/boost/date_time/posix_time/posix_time_system.hpp"/>
+  <File id="f230" name="/home/roman/boost_cvs/boost/date_time/posix_time/posix_time_config.hpp"/>
+  <File id="f231" name="/home/roman/boost_cvs/boost/date_time/time_resolution_traits.hpp"/>
+  <File id="f232" name="/home/roman/boost_cvs/boost/io/ios_state.hpp"/>
+  <File id="f233" name="/home/roman/boost_cvs/boost/io_fwd.hpp"/>
+  <File id="f234" name="/home/roman/boost_cvs/boost/algorithm/string/replace.hpp"/>
+  <File id="f235" name="/home/roman/boost_cvs/boost/algorithm/string/formatter.hpp"/>
+  <File id="f236" name="/home/roman/boost_cvs/boost/algorithm/string/finder.hpp"/>
+  <File id="f237" name="/home/roman/boost_cvs/boost/algorithm/string/compare.hpp"/>
+  <File id="f238" name="/home/roman/boost_cvs/boost/algorithm/string/constants.hpp"/>
+  <File id="f239" name="/home/roman/boost_cvs/boost/algorithm/string/find_format.hpp"/>
+  <File id="f240" name="/home/roman/boost_cvs/boost/algorithm/string/yes_no_type.hpp"/>
+  <File id="f241" name="/home/roman/boost_cvs/boost/algorithm/string/concept.hpp"/>
+  <File id="f242" name="/home/roman/boost_cvs/boost/concept/detail/general.hpp"/>
+  <File id="f243" name="/home/roman/boost_cvs/boost/concept/detail/has_constraints.hpp"/>
+  <File id="f244" name="/home/roman/boost_cvs/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp"/>
+  <File id="f245" name="/home/roman/boost_cvs/boost/type_traits/detail/is_function_ptr_helper.hpp"/>
+  <File id="f246" name="/home/roman/boost_cvs/boost/type_traits/detail/false_result.hpp"/>
+  <File id="f247" name="/home/roman/boost_cvs/boost/type_traits/detail/ice_not.hpp"/>
+  <File id="f248" name="/home/roman/boost_cvs/boost/type_traits/detail/ice_and.hpp"/>
+  <File id="f249" name="/home/roman/boost_cvs/boost/type_traits/detail/ice_or.hpp"/>
+  <File id="f250" name="/home/roman/boost_cvs/boost/type_traits/detail/yes_no_type.hpp"/>
+  <File id="f251" name="/home/roman/boost_cvs/boost/range/detail/implementation_help.hpp"/>
+  <File id="f252" name="/home/roman/boost_cvs/boost/range/detail/common.hpp"/>
+  <File id="f253" name="/home/roman/boost_cvs/boost/range/detail/sfinae.hpp"/>
+  <File id="f254" name="/home/roman/boost_cvs/boost/mpl/aux_/preprocessed/gcc/quote.hpp"/>
+  <File id="f255" name="/home/roman/boost_cvs/boost/mpl/protect.hpp"/>
+  <File id="f256" name="/home/roman/boost_cvs/boost/mpl/next_prior.hpp"/>
+  <File id="f257" name="/home/roman/boost_cvs/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp"/>
+  <File id="f258" name="/home/roman/boost_cvs/boost/mpl/aux_/preprocessed/gcc/apply.hpp"/>
+  <File id="f259" name="/home/roman/boost_cvs/boost/mpl/aux_/preprocessed/gcc/and.hpp"/>
+  <File id="f260" name="/home/roman/boost_cvs/boost/mpl/not.hpp"/>
+  <File id="f261" name="/home/roman/boost_cvs/boost/mpl/identity.hpp"/>
+  <File id="f262" name="/home/roman/boost_cvs/boost/mpl/if.hpp"/>
+  <File id="f263" name="/home/roman/boost_cvs/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp"/>
+  <File id="f264" name="/home/roman/boost_cvs/boost/mpl/aux_/na.hpp"/>
+  <File id="f265" name="/home/roman/boost_cvs/boost/date_time/gregorian/parsers.hpp"/>
+  <File id="f266" name="/home/roman/boost_cvs/boost/date_time/gregorian/formatters.hpp"/>
+  <File id="f267" name="/home/roman/boost_cvs/boost/date_time/gregorian/conversion.hpp"/>
+  <File id="f268" name="/home/roman/boost_cvs/boost/date_time/gregorian/gregorian_io.hpp"/>
+  <File id="f269" name="/home/roman/boost_cvs/boost/date_time/special_values_parser.hpp"/>
+  <File id="f270" name="/home/roman/boost_cvs/boost/date_time/special_values_formatter.hpp"/>
+  <File id="f271" name="/home/roman/boost_cvs/boost/date_time/period_parser.hpp"/>
+  <File id="f272" name="/home/roman/boost_cvs/boost/date_time/period_formatter.hpp"/>
+  <File id="f273" name="/home/roman/boost_cvs/boost/date_time/date_iterator.hpp"/>
+  <File id="f274" name="/home/roman/boost_cvs/boost/date_time/gregorian/gregorian_types.hpp"/>
+  <File id="f275" name="/home/roman/boost_cvs/boost/date_time/date_clock_device.hpp"/>
+  <File id="f276" name="/home/roman/boost_cvs/boost/date_time/date_duration_types.hpp"/>
+  <File id="f277" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_duration_types.hpp"/>
+  <File id="f278" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_duration.hpp"/>
+  <File id="f279" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_calendar.hpp"/>
+  <File id="f280" name="/home/roman/boost_cvs/boost/date_time/int_adapter.hpp"/>
+  <File id="f281" name="/home/roman/boost_cvs/boost/date_time/year_month_day.hpp"/>
+  <File id="f282" name="/home/roman/boost_cvs/boost/date_time/gregorian/greg_ymd.hpp"/>
+  <File id="f283" name="/home/roman/boost_cvs/boost/date_time/date_defs.hpp"/>
+  <File id="f284" name="/home/roman/boost_cvs/boost/iterator/detail/minimum_category.hpp"/>
+  <File id="f285" name="/home/roman/boost_cvs/boost/detail/lcast_precision.hpp"/>
+  <File id="f286" name="/home/roman/boost_cvs/boost/type_traits/detail/cv_traits_impl.hpp"/>
+  <File id="f287" name="/home/roman/boost_cvs/boost/detail/iterator.hpp"/>
+  <File id="f288" name="/home/roman/boost_cvs/boost/date_time/time_parsing.hpp"/>
+  <File id="f289" name="/home/roman/boost_cvs/boost/date_time/time_defs.hpp"/>
+  <File id="f290" name="/home/roman/boost_cvs/boost/date_time/date_format_simple.hpp"/>
+  <File id="f291" name="/home/roman/boost_cvs/boost/date_time/date_formatting.hpp"/>
+  <File id="f292" name="/home/roman/boost_cvs/boost/date_time/iso_format.hpp"/>
+  <File id="f293" name="/home/roman/boost_cvs/boost/date_time/date_generator_formatter.hpp"/>
+  <File id="f294" name="/home/roman/boost_cvs/boost/date_time/c_time.hpp"/>
+  <File id="f295" name="/home/roman/boost_cvs/boost/date_time/adjust_functors.hpp"/>
+  <File id="f296" name="/home/roman/boost_cvs/boost/date_time/wrapping_int.hpp"/>
+  <File id="f297" name="/home/roman/boost_cvs/boost/date_time/gregorian_calendar.hpp"/>
+  <File id="f298" name="/home/roman/boost_cvs/boost/date_time/special_defs.hpp"/>
+  <File id="f299" name="/home/roman/boost_cvs/boost/algorithm/string/detail/formatter.hpp"/>
+  <File id="f300" name="/home/roman/boost_cvs/boost/algorithm/string/detail/finder.hpp"/>
+  <File id="f301" name="/home/roman/boost_cvs/boost/algorithm/string/detail/find_format_all.hpp"/>
+  <File id="f302" name="/home/roman/boost_cvs/boost/algorithm/string/detail/replace_storage.hpp"/>
+  <File id="f303" name="/home/roman/boost_cvs/boost/algorithm/string/detail/sequence.hpp"/>
+  <File id="f304" name="/home/roman/boost_cvs/boost/algorithm/string/detail/find_format_store.hpp"/>
+  <File id="f305" name="/home/roman/boost_cvs/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp"/>
+  <File id="f306" name="/home/roman/boost_cvs/boost/mpl/aux_/type_wrapper.hpp"/>
+  <File id="f307" name="/home/roman/boost_cvs/boost/mpl/aux_/yes_no.hpp"/>
+  <File id="f308" name="/home/roman/boost_cvs/boost/mpl/aux_/nested_type_wknd.hpp"/>
+  <File id="f309" name="/home/roman/boost_cvs/boost/detail/indirect_traits.hpp"/>
+  <File id="f310" name="/home/roman/boost_cvs/boost/date_time/gregorian_calendar.ipp"/>
+</GCC_XML>
diff --git a/examples/pyboost_dev/dev/date_time/include/date_time_wrapper.hpp b/examples/pyboost_dev/dev/date_time/include/date_time_wrapper.hpp
new file mode 100644
index 0000000..e421c87
--- /dev/null
+++ b/examples/pyboost_dev/dev/date_time/include/date_time_wrapper.hpp
@@ -0,0 +1,19 @@
+#ifndef __date_time_wrappers_hpp__
+#define __date_time_wrappers_hpp__
+#include "boost/date_time/local_time/local_time.hpp"
+
+namespace pyplusplus{
+
+inline boost::local_time::local_date_time
+local_microsec_clock__local_time( boost::shared_ptr< boost::local_time::time_zone > tz ){
+    return boost::local_time::local_microsec_clock::local_time(tz);
+}
+
+inline boost::local_time::local_date_time
+local_sec_clock__local_time( boost::shared_ptr< boost::local_time::time_zone > tz ){
+    return boost::local_time::local_sec_clock::local_time(tz);
+}
+
+}
+
+#endif//__date_time_wrappers_hpp__
diff --git a/examples/pyboost_dev/dev/date_time/sconscript b/examples/pyboost_dev/dev/date_time/sconscript
new file mode 100644
index 0000000..f63c0e4
--- /dev/null
+++ b/examples/pyboost_dev/dev/date_time/sconscript
@@ -0,0 +1,49 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import date_time_settings
+
+Import( 'env' )
+
+def get_ccflags():
+    if sys.platform == 'win32':
+        return date_time_settings.scons.ccflags \
+               + map( lambda ds: '/D%s' % ds, date_time_settings.defined_symbols )
+    else:
+        return map( lambda ds: '-D' + ds, date_time_settings.defined_symbols )
+
+def get_source_files():
+    source_files = filter( lambda s: s.endswith( '.cpp' ), os.listdir(date_time_settings.generated_files_dir) )
+    return map( lambda fname: os.path.join( date_time_settings.generated_files_dir, fname ), source_files )
+
+
+def get_libs():
+    libs = []
+    if sys.platform == 'linux2':
+        libs.append('libboost_date_time-gcc-1_35')
+    return libs
+
+def get_target():
+    return os.path.join( date_time_settings.generated_files_dir
+                         , date_time_settings.module_name + date_time_settings.scons.suffix )
+
+local_env = env.Copy()
+local_env.Append( LIBS=get_libs() )
+local_env.Append( CPPPATH=[ date_time_settings.generated_files_dir ] )
+local_env.Append( CCFLAGS=get_ccflags() )
+
+_date_time_ = local_env.SharedLibrary( target=date_time_settings.module_name 
+                                       , source=get_source_files() )
+
+if sys.platform == 'win32':
+    boost_date_time_so_dll = os.path.join( date_time_settings.boost.libs[0], 'boost_date_time-vc71-mt-1_35.dll' )
+else:
+    boost_date_time_so_dll = os.path.join( date_time_settings.boost.libs[0], 'libboost_date_time-gcc-1_35.so' )
+
+
+local_env.Install( '#pyboost/date_time', [_date_time_, boost_date_time_so_dll ] )
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/rational/generate_code.py b/examples/pyboost_dev/dev/rational/generate_code.py
new file mode 100644
index 0000000..d163616
--- /dev/null
+++ b/examples/pyboost_dev/dev/rational/generate_code.py
@@ -0,0 +1,109 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+
+import os
+import time
+import logging
+import rational_settings
+from pygccxml import parser
+from pyplusplus import module_builder
+from pyplusplus.module_builder import call_policies
+
+LICENSE = """// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the 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: for some reason unary - was not exported
+
+class code_generator_t(object):    
+    def __init__(self):      
+        self.__file = os.path.join( rational_settings.working_dir, 'rational_export.hpp' )
+        
+        self.__mb = module_builder.module_builder_t( 
+                        [ parser.create_cached_source_fc( 
+                            self.__file
+                            , os.path.join( rational_settings.generated_files_dir, 'rational.xml' ) ) ]
+                        , gccxml_path=rational_settings.gccxml.executable
+                        , include_paths=[rational_settings.boost.include]
+                        , define_symbols=rational_settings.defined_symbols
+                        , undefine_symbols=rational_settings.undefined_symbols
+                        , optimize_queries=False
+                        , indexing_suite_version=2 )
+        
+        for f_decl in self.__mb.free_functions():
+            f_decl.alias = f_decl.name
+            f_decl.name = f_decl.demangled_name
+
+        self.__mb.run_query_optimizer()
+
+        
+    def filter_declarations(self ):
+        self.__mb.global_ns.exclude()
+        rational = self.__mb.class_('rational<long>')
+        rational.include()
+        rational.casting_operator( lambda decl: 'long int[2]' in str(decl) ).exclude()
+        
+        r_assign = rational.calldef( 'assign', recursive=False )
+        r_assign.call_policies = call_policies.return_self()
+
+        foperators = self.__mb.free_operators( lambda decl: 'rational<long>' in decl.decl_string )
+        foperators.include()
+            
+        bad_rational = self.__mb.class_('bad_rational' )
+        bad_rational.include()
+        
+        self.__mb.namespace( 'boost' ).free_function( 'lcm<long>', recursive=False ).include()
+        self.__mb.namespace( 'boost' ).free_function( 'gcd<long>', recursive=False ).include()
+        self.__mb.free_function( 'rational_cast<double, long>' ).include()
+        self.__mb.free_function( 'rational_cast<double, long>' ).alias = 'to_double'
+        self.__mb.free_function( 'rational_cast<long, long>' ).include()
+        self.__mb.free_function( 'rational_cast<long, long>' ).alias = 'to_long'
+        self.__mb.free_function( 'abs<long>' ).include()
+
+        self.__mb.global_ns.operators( '++' ).exclude()
+        self.__mb.global_ns.operators( '--' ).exclude()
+        self.__mb.global_ns.operators( '=' ).exclude()
+
+    def prepare_decls( self ):
+        self.__mb.class_('rational<long>').alias = 'rational'
+
+    def customize_extmodule( self ):
+        global LICENSE
+        extmodule = self.__mb.code_creator
+        #beautifying include code generation
+        extmodule.license = LICENSE
+        extmodule.user_defined_directories.append( rational_settings.boost.include )
+        extmodule.user_defined_directories.append( rational_settings.working_dir )
+        extmodule.user_defined_directories.append( rational_settings.generated_files_dir )
+        extmodule.replace_included_headers( ['boost/rational.hpp'] )
+
+    def write_files( self ):
+        self.__mb.write_module( os.path.join( rational_settings.generated_files_dir, 'rational.pypp.cpp' ) )
+
+    def create(self):
+        start_time = time.clock()      
+        self.filter_declarations()
+
+        self.prepare_decls()
+        
+        self.__mb.build_code_creator( rational_settings.module_name )
+        
+        self.customize_extmodule()
+        self.write_files( )
+        print 'time taken : ', time.clock() - start_time, ' seconds'
+
+def export():
+    cg = code_generator_t()
+    cg.create()
+
+if __name__ == '__main__':
+    export()
+    print 'done'
+    
+    
diff --git a/examples/pyboost_dev/dev/rational/rational_export.hpp b/examples/pyboost_dev/dev/rational/rational_export.hpp
new file mode 100644
index 0000000..5159a1c
--- /dev/null
+++ b/examples/pyboost_dev/dev/rational/rational_export.hpp
@@ -0,0 +1,27 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __rational_export_hpp__
+#define __rational_export_hpp__
+
+#include "boost/rational.hpp"
+
+namespace boost{ namespace detail{
+
+typedef boost::rational< long int > pyrational;
+
+inline void instantiate(){
+    sizeof( pyrational );
+    boost::gcd<long int>( 1, 1);
+    boost::lcm<long int>( 1, 1);
+    boost::abs( pyrational(1) );
+    boost::rational_cast<double>( pyrational(1) );
+    boost::rational_cast<long int>( pyrational(1) );
+}
+
+} }
+
+
+#endif//__rational_export_hpp__
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/rational/rational_settings.py b/examples/pyboost_dev/dev/rational/rational_settings.py
new file mode 100644
index 0000000..7f79921
--- /dev/null
+++ b/examples/pyboost_dev/dev/rational/rational_settings.py
@@ -0,0 +1,24 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+
+_script_dir = os.path.abspath( os.getcwd() )
+environment_path = os.path.realpath( os.path.join( _script_dir, '..', '..', '..', '..' ) )
+sys.path.append( environment_path )
+
+from environment import boost, scons, gccxml, python
+
+module_name = '_rational_'
+working_dir = _script_dir
+generated_files_dir = os.path.join( _script_dir, '..', '..', 'pyboost', 'rational', 'generated' )
+
+
+defined_symbols = ['BOOST_NO_INCLASS_MEMBER_INITIALIZATION']
+undefined_symbols = [ '__MINGW32__' ]
+    
+    
\ No newline at end of file
diff --git a/examples/pyboost_dev/dev/rational/sconscript b/examples/pyboost_dev/dev/rational/sconscript
new file mode 100644
index 0000000..037f79d
--- /dev/null
+++ b/examples/pyboost_dev/dev/rational/sconscript
@@ -0,0 +1,35 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import rational_settings
+
+Import( 'env' )
+
+def get_ccflags():
+    if sys.platform == 'win32':
+        return rational_settings.scons.ccflags \
+               + map( lambda ds: '/D%s' % ds, rational_settings.defined_symbols )
+    else:
+        return map( lambda ds: '-D' + ds, rational_settings.defined_symbols )
+
+def get_source_files():
+    source_files = filter( lambda s: s.endswith( '.cpp' ), os.listdir(rational_settings.generated_files_dir) )
+    return map( lambda fname: os.path.join( rational_settings.generated_files_dir, fname ), source_files )
+
+def get_target():
+    return os.path.join( rational_settings.generated_files_dir
+                         , rational_settings.module_name + rational_settings.scons.suffix )
+
+local_env = env.Copy()
+local_env.Append( CPPPATH=[ rational_settings.generated_files_dir ] )
+local_env.Append( CCFLAGS=get_ccflags() )
+
+_rational_ = local_env.SharedLibrary( target=rational_settings.module_name 
+                                 , source=get_source_files() )
+
+local_env.Install( '#pyboost/rational', _rational_ )
diff --git a/examples/pyboost_dev/pyboost/__init__.py b/examples/pyboost_dev/pyboost/__init__.py
new file mode 100644
index 0000000..2de5c2e
--- /dev/null
+++ b/examples/pyboost_dev/pyboost/__init__.py
@@ -0,0 +1,10 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import crc
+import rational
+import date_time
+import boost_random
\ No newline at end of file
diff --git a/examples/pyboost_dev/pyboost/boost_random/__init__.py b/examples/pyboost_dev/pyboost/boost_random/__init__.py
new file mode 100644
index 0000000..c26dde7
--- /dev/null
+++ b/examples/pyboost_dev/pyboost/boost_random/__init__.py
@@ -0,0 +1,511 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+import _random_
+
+#TODO: 
+#  normal_distribution, cauchy_distribution
+# are missed default argument
+
+#generators:
+from _random_ import ecuyer1988 
+from _random_ import hellekalek1995
+from _random_ import kreutzer1986
+from _random_ import lagged_fibonacci1279
+from _random_ import lagged_fibonacci19937
+from _random_ import lagged_fibonacci2281
+from _random_ import lagged_fibonacci23209
+from _random_ import lagged_fibonacci3217
+from _random_ import lagged_fibonacci4423
+if sys.platform != 'win32':
+    from _random_ import lagged_fibonacci44497
+from _random_ import lagged_fibonacci607
+from _random_ import lagged_fibonacci9689
+from _random_ import minstd_rand
+from _random_ import minstd_rand0
+from _random_ import mt11213b
+from _random_ import mt19937
+from _random_ import ranlux3
+from _random_ import ranlux3_01
+from _random_ import ranlux4
+from _random_ import ranlux4_01
+from _random_ import ranlux64_3_01
+from _random_ import ranlux64_4_01
+from _random_ import taus88
+
+generators = [ 
+      ecuyer1988 
+    , hellekalek1995
+    , kreutzer1986
+    , lagged_fibonacci1279
+    , lagged_fibonacci19937
+    , lagged_fibonacci2281
+    , lagged_fibonacci23209
+    , lagged_fibonacci3217
+    , lagged_fibonacci4423    
+    , lagged_fibonacci607
+    , lagged_fibonacci9689
+    , minstd_rand
+    , minstd_rand0
+    , mt11213b
+    , mt19937
+    , ranlux3
+    , ranlux3_01
+    , ranlux4
+    , ranlux4_01
+    , ranlux64_3_01
+    , ranlux64_4_01
+    , taus88
+]
+
+if sys.platform != 'win32':
+    generators.append( lagged_fibonacci44497 )
+#distribution
+from _random_ import bernoulli_distribution
+bernoulli_distribution.__call__ = _random_.py_bernoulli_distribution.call
+
+from _random_ import binomial_distribution
+binomial_distribution.__call__ = _random_.py_binomial_distribution.call
+
+from _random_ import cauchy_distribution
+cauchy_distribution.__call__ = _random_.py_cauchy_distribution.call
+
+from _random_ import exponential_distribution
+exponential_distribution.__call__ = _random_.py_exponential_distribution.call
+
+from _random_ import gamma_distribution
+gamma_distribution.__call__ = _random_.py_gamma_distribution.call
+
+from _random_ import geometric_distribution
+geometric_distribution.__call__ = _random_.py_geometric_distribution.call
+
+from _random_ import lognormal_distribution
+lognormal_distribution.__call__ = _random_.py_lognormal_distribution.call
+
+from _random_ import normal_distribution
+normal_distribution.__call__ = _random_.py_normal_distribution.call
+
+from _random_ import poisson_distribution
+poisson_distribution.__call__ = _random_.py_poisson_distribution.call
+
+from _random_ import triangle_distribution
+triangle_distribution.__call__ = _random_.py_triangle_distribution.call
+
+from _random_ import uniform_int
+uniform_int.__call__ = _random_.py_uniform_int.call
+
+from _random_ import uniform_on_sphere
+uniform_on_sphere.__call__ = _random_.py_uniform_on_sphere.call
+
+from _random_ import uniform_real
+uniform_real.__call__ = _random_.py_uniform_real.call
+
+from _random_ import uniform_smallint
+uniform_smallint.__call__ = _random_.py_uniform_smallint.call
+
+distributions =  [ 
+      bernoulli_distribution  
+    , binomial_distribution    
+    , cauchy_distribution      
+    , exponential_distribution 
+    , gamma_distribution       
+    , geometric_distribution   
+    , lognormal_distribution   
+    , normal_distribution      
+    , poisson_distribution     
+    , triangle_distribution    
+    , uniform_int              
+    , uniform_on_sphere        
+    , uniform_real             
+    , uniform_smallint         
+] 
+
+
+
+__vg = {}
+for g in generators:
+    __vg[g] = {}
+
+__vg[ ecuyer1988 ][ bernoulli_distribution   ] = _random_.variate_generator_ecuyer1988__bernoulli_distribution
+__vg[ ecuyer1988 ][ binomial_distribution    ] = _random_.variate_generator_ecuyer1988__binomial_distribution
+__vg[ ecuyer1988 ][ cauchy_distribution      ] = _random_.variate_generator_ecuyer1988__cauchy_distribution
+__vg[ ecuyer1988 ][ exponential_distribution ] = _random_.variate_generator_ecuyer1988__exponential_distribution
+__vg[ ecuyer1988 ][ gamma_distribution       ] = _random_.variate_generator_ecuyer1988__gamma_distribution
+__vg[ ecuyer1988 ][ geometric_distribution   ] = _random_.variate_generator_ecuyer1988__geometric_distribution
+__vg[ ecuyer1988 ][ lognormal_distribution   ] = _random_.variate_generator_ecuyer1988__lognormal_distribution
+__vg[ ecuyer1988 ][ normal_distribution      ] = _random_.variate_generator_ecuyer1988__normal_distribution
+__vg[ ecuyer1988 ][ poisson_distribution     ] = _random_.variate_generator_ecuyer1988__poisson_distribution
+__vg[ ecuyer1988 ][ triangle_distribution    ] = _random_.variate_generator_ecuyer1988__triangle_distribution
+__vg[ ecuyer1988 ][ uniform_int              ] = _random_.variate_generator_ecuyer1988__uniform_int
+__vg[ ecuyer1988 ][ uniform_on_sphere        ] = _random_.variate_generator_ecuyer1988__uniform_on_sphere
+__vg[ ecuyer1988 ][ uniform_real             ] = _random_.variate_generator_ecuyer1988__uniform_real
+__vg[ ecuyer1988 ][ uniform_smallint         ] = _random_.variate_generator_ecuyer1988__uniform_smallint
+
+__vg[ hellekalek1995 ][ bernoulli_distribution   ] = _random_.variate_generator_hellekalek1995__bernoulli_distribution  
+__vg[ hellekalek1995 ][ binomial_distribution    ] = _random_.variate_generator_hellekalek1995__binomial_distribution   
+__vg[ hellekalek1995 ][ cauchy_distribution      ] = _random_.variate_generator_hellekalek1995__cauchy_distribution     
+__vg[ hellekalek1995 ][ exponential_distribution ] = _random_.variate_generator_hellekalek1995__exponential_distribution
+__vg[ hellekalek1995 ][ gamma_distribution       ] = _random_.variate_generator_hellekalek1995__gamma_distribution      
+__vg[ hellekalek1995 ][ geometric_distribution   ] = _random_.variate_generator_hellekalek1995__geometric_distribution  
+__vg[ hellekalek1995 ][ lognormal_distribution   ] = _random_.variate_generator_hellekalek1995__lognormal_distribution  
+__vg[ hellekalek1995 ][ normal_distribution      ] = _random_.variate_generator_hellekalek1995__normal_distribution     
+__vg[ hellekalek1995 ][ poisson_distribution     ] = _random_.variate_generator_hellekalek1995__poisson_distribution    
+__vg[ hellekalek1995 ][ triangle_distribution    ] = _random_.variate_generator_hellekalek1995__triangle_distribution   
+__vg[ hellekalek1995 ][ uniform_int              ] = _random_.variate_generator_hellekalek1995__uniform_int             
+__vg[ hellekalek1995 ][ uniform_on_sphere        ] = _random_.variate_generator_hellekalek1995__uniform_on_sphere       
+__vg[ hellekalek1995 ][ uniform_real             ] = _random_.variate_generator_hellekalek1995__uniform_real            
+__vg[ hellekalek1995 ][ uniform_smallint         ] = _random_.variate_generator_hellekalek1995__uniform_smallint        
+
+__vg[ kreutzer1986 ][ bernoulli_distribution   ] = _random_.variate_generator_kreutzer1986__bernoulli_distribution  
+__vg[ kreutzer1986 ][ binomial_distribution    ] = _random_.variate_generator_kreutzer1986__binomial_distribution   
+__vg[ kreutzer1986 ][ cauchy_distribution      ] = _random_.variate_generator_kreutzer1986__cauchy_distribution     
+__vg[ kreutzer1986 ][ exponential_distribution ] = _random_.variate_generator_kreutzer1986__exponential_distribution
+__vg[ kreutzer1986 ][ gamma_distribution       ] = _random_.variate_generator_kreutzer1986__gamma_distribution      
+__vg[ kreutzer1986 ][ geometric_distribution   ] = _random_.variate_generator_kreutzer1986__geometric_distribution  
+__vg[ kreutzer1986 ][ lognormal_distribution   ] = _random_.variate_generator_kreutzer1986__lognormal_distribution  
+__vg[ kreutzer1986 ][ normal_distribution      ] = _random_.variate_generator_kreutzer1986__normal_distribution     
+__vg[ kreutzer1986 ][ poisson_distribution     ] = _random_.variate_generator_kreutzer1986__poisson_distribution    
+__vg[ kreutzer1986 ][ triangle_distribution    ] = _random_.variate_generator_kreutzer1986__triangle_distribution   
+__vg[ kreutzer1986 ][ uniform_int              ] = _random_.variate_generator_kreutzer1986__uniform_int             
+__vg[ kreutzer1986 ][ uniform_on_sphere        ] = _random_.variate_generator_kreutzer1986__uniform_on_sphere       
+__vg[ kreutzer1986 ][ uniform_real             ] = _random_.variate_generator_kreutzer1986__uniform_real            
+__vg[ kreutzer1986 ][ uniform_smallint         ] = _random_.variate_generator_kreutzer1986__uniform_smallint        
+
+__vg[ lagged_fibonacci1279 ][ bernoulli_distribution   ] = _random_.variate_generator_lagged_fibonacci1279__bernoulli_distribution  
+__vg[ lagged_fibonacci1279 ][ binomial_distribution    ] = _random_.variate_generator_lagged_fibonacci1279__binomial_distribution   
+__vg[ lagged_fibonacci1279 ][ cauchy_distribution      ] = _random_.variate_generator_lagged_fibonacci1279__cauchy_distribution     
+__vg[ lagged_fibonacci1279 ][ exponential_distribution ] = _random_.variate_generator_lagged_fibonacci1279__exponential_distribution
+__vg[ lagged_fibonacci1279 ][ gamma_distribution       ] = _random_.variate_generator_lagged_fibonacci1279__gamma_distribution      
+__vg[ lagged_fibonacci1279 ][ geometric_distribution   ] = _random_.variate_generator_lagged_fibonacci1279__geometric_distribution  
+__vg[ lagged_fibonacci1279 ][ lognormal_distribution   ] = _random_.variate_generator_lagged_fibonacci1279__lognormal_distribution  
+__vg[ lagged_fibonacci1279 ][ normal_distribution      ] = _random_.variate_generator_lagged_fibonacci1279__normal_distribution     
+__vg[ lagged_fibonacci1279 ][ poisson_distribution     ] = _random_.variate_generator_lagged_fibonacci1279__poisson_distribution    
+__vg[ lagged_fibonacci1279 ][ triangle_distribution    ] = _random_.variate_generator_lagged_fibonacci1279__triangle_distribution   
+__vg[ lagged_fibonacci1279 ][ uniform_on_sphere        ] = _random_.variate_generator_lagged_fibonacci1279__uniform_on_sphere       
+__vg[ lagged_fibonacci1279 ][ uniform_real             ] = _random_.variate_generator_lagged_fibonacci1279__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+                            
+__vg[ lagged_fibonacci19937 ][ bernoulli_distribution   ] = _random_.variate_generator_lagged_fibonacci19937__bernoulli_distribution  
+__vg[ lagged_fibonacci19937 ][ binomial_distribution    ] = _random_.variate_generator_lagged_fibonacci19937__binomial_distribution   
+__vg[ lagged_fibonacci19937 ][ cauchy_distribution      ] = _random_.variate_generator_lagged_fibonacci19937__cauchy_distribution     
+__vg[ lagged_fibonacci19937 ][ exponential_distribution ] = _random_.variate_generator_lagged_fibonacci19937__exponential_distribution
+__vg[ lagged_fibonacci19937 ][ gamma_distribution       ] = _random_.variate_generator_lagged_fibonacci19937__gamma_distribution      
+__vg[ lagged_fibonacci19937 ][ geometric_distribution   ] = _random_.variate_generator_lagged_fibonacci19937__geometric_distribution  
+__vg[ lagged_fibonacci19937 ][ lognormal_distribution   ] = _random_.variate_generator_lagged_fibonacci19937__lognormal_distribution  
+__vg[ lagged_fibonacci19937 ][ normal_distribution      ] = _random_.variate_generator_lagged_fibonacci19937__normal_distribution     
+__vg[ lagged_fibonacci19937 ][ poisson_distribution     ] = _random_.variate_generator_lagged_fibonacci19937__poisson_distribution    
+__vg[ lagged_fibonacci19937 ][ triangle_distribution    ] = _random_.variate_generator_lagged_fibonacci19937__triangle_distribution   
+__vg[ lagged_fibonacci19937 ][ uniform_on_sphere        ] = _random_.variate_generator_lagged_fibonacci19937__uniform_on_sphere       
+__vg[ lagged_fibonacci19937 ][ uniform_real             ] = _random_.variate_generator_lagged_fibonacci19937__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+__vg[ lagged_fibonacci2281 ][ bernoulli_distribution   ] = _random_.variate_generator_lagged_fibonacci2281__bernoulli_distribution  
+__vg[ lagged_fibonacci2281 ][ binomial_distribution    ] = _random_.variate_generator_lagged_fibonacci2281__binomial_distribution   
+__vg[ lagged_fibonacci2281 ][ cauchy_distribution      ] = _random_.variate_generator_lagged_fibonacci2281__cauchy_distribution     
+__vg[ lagged_fibonacci2281 ][ exponential_distribution ] = _random_.variate_generator_lagged_fibonacci2281__exponential_distribution
+__vg[ lagged_fibonacci2281 ][ gamma_distribution       ] = _random_.variate_generator_lagged_fibonacci2281__gamma_distribution      
+__vg[ lagged_fibonacci2281 ][ geometric_distribution   ] = _random_.variate_generator_lagged_fibonacci2281__geometric_distribution  
+__vg[ lagged_fibonacci2281 ][ lognormal_distribution   ] = _random_.variate_generator_lagged_fibonacci2281__lognormal_distribution  
+__vg[ lagged_fibonacci2281 ][ normal_distribution      ] = _random_.variate_generator_lagged_fibonacci2281__normal_distribution     
+__vg[ lagged_fibonacci2281 ][ poisson_distribution     ] = _random_.variate_generator_lagged_fibonacci2281__poisson_distribution    
+__vg[ lagged_fibonacci2281 ][ triangle_distribution    ] = _random_.variate_generator_lagged_fibonacci2281__triangle_distribution   
+__vg[ lagged_fibonacci2281 ][ uniform_on_sphere        ] = _random_.variate_generator_lagged_fibonacci2281__uniform_on_sphere       
+__vg[ lagged_fibonacci2281 ][ uniform_real             ] = _random_.variate_generator_lagged_fibonacci2281__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+__vg[ lagged_fibonacci23209 ][ bernoulli_distribution   ] = _random_.variate_generator_lagged_fibonacci23209__bernoulli_distribution  
+__vg[ lagged_fibonacci23209 ][ binomial_distribution    ] = _random_.variate_generator_lagged_fibonacci23209__binomial_distribution   
+__vg[ lagged_fibonacci23209 ][ cauchy_distribution      ] = _random_.variate_generator_lagged_fibonacci23209__cauchy_distribution     
+__vg[ lagged_fibonacci23209 ][ exponential_distribution ] = _random_.variate_generator_lagged_fibonacci23209__exponential_distribution
+__vg[ lagged_fibonacci23209 ][ gamma_distribution       ] = _random_.variate_generator_lagged_fibonacci23209__gamma_distribution      
+__vg[ lagged_fibonacci23209 ][ geometric_distribution   ] = _random_.variate_generator_lagged_fibonacci23209__geometric_distribution  
+__vg[ lagged_fibonacci23209 ][ lognormal_distribution   ] = _random_.variate_generator_lagged_fibonacci23209__lognormal_distribution  
+__vg[ lagged_fibonacci23209 ][ normal_distribution      ] = _random_.variate_generator_lagged_fibonacci23209__normal_distribution     
+__vg[ lagged_fibonacci23209 ][ poisson_distribution     ] = _random_.variate_generator_lagged_fibonacci23209__poisson_distribution    
+__vg[ lagged_fibonacci23209 ][ triangle_distribution    ] = _random_.variate_generator_lagged_fibonacci23209__triangle_distribution   
+__vg[ lagged_fibonacci23209 ][ uniform_on_sphere        ] = _random_.variate_generator_lagged_fibonacci23209__uniform_on_sphere       
+__vg[ lagged_fibonacci23209 ][ uniform_real             ] = _random_.variate_generator_lagged_fibonacci23209__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+
+__vg[ lagged_fibonacci3217 ][ bernoulli_distribution   ] = _random_.variate_generator_lagged_fibonacci3217__bernoulli_distribution  
+__vg[ lagged_fibonacci3217 ][ binomial_distribution    ] = _random_.variate_generator_lagged_fibonacci3217__binomial_distribution   
+__vg[ lagged_fibonacci3217 ][ cauchy_distribution      ] = _random_.variate_generator_lagged_fibonacci3217__cauchy_distribution     
+__vg[ lagged_fibonacci3217 ][ exponential_distribution ] = _random_.variate_generator_lagged_fibonacci3217__exponential_distribution
+__vg[ lagged_fibonacci3217 ][ gamma_distribution       ] = _random_.variate_generator_lagged_fibonacci3217__gamma_distribution      
+__vg[ lagged_fibonacci3217 ][ geometric_distribution   ] = _random_.variate_generator_lagged_fibonacci3217__geometric_distribution  
+__vg[ lagged_fibonacci3217 ][ lognormal_distribution   ] = _random_.variate_generator_lagged_fibonacci3217__lognormal_distribution  
+__vg[ lagged_fibonacci3217 ][ normal_distribution      ] = _random_.variate_generator_lagged_fibonacci3217__normal_distribution     
+__vg[ lagged_fibonacci3217 ][ poisson_distribution     ] = _random_.variate_generator_lagged_fibonacci3217__poisson_distribution    
+__vg[ lagged_fibonacci3217 ][ triangle_distribution    ] = _random_.variate_generator_lagged_fibonacci3217__triangle_distribution   
+__vg[ lagged_fibonacci3217 ][ uniform_int              ] = _random_.variate_generator_lagged_fibonacci3217__uniform_on_sphere       
+__vg[ lagged_fibonacci3217 ][ uniform_on_sphere        ] = _random_.variate_generator_lagged_fibonacci3217__uniform_real            
+#__vg[  ][ uniform_real             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+
+__vg[ lagged_fibonacci4423 ][ bernoulli_distribution   ] = _random_.variate_generator_lagged_fibonacci4423__bernoulli_distribution  
+__vg[ lagged_fibonacci4423 ][ binomial_distribution    ] = _random_.variate_generator_lagged_fibonacci4423__binomial_distribution   
+__vg[ lagged_fibonacci4423 ][ cauchy_distribution      ] = _random_.variate_generator_lagged_fibonacci4423__cauchy_distribution     
+__vg[ lagged_fibonacci4423 ][ exponential_distribution ] = _random_.variate_generator_lagged_fibonacci4423__exponential_distribution
+__vg[ lagged_fibonacci4423 ][ gamma_distribution       ] = _random_.variate_generator_lagged_fibonacci4423__gamma_distribution      
+__vg[ lagged_fibonacci4423 ][ geometric_distribution   ] = _random_.variate_generator_lagged_fibonacci4423__geometric_distribution  
+__vg[ lagged_fibonacci4423 ][ lognormal_distribution   ] = _random_.variate_generator_lagged_fibonacci4423__lognormal_distribution  
+__vg[ lagged_fibonacci4423 ][ normal_distribution      ] = _random_.variate_generator_lagged_fibonacci4423__normal_distribution     
+__vg[ lagged_fibonacci4423 ][ poisson_distribution     ] = _random_.variate_generator_lagged_fibonacci4423__poisson_distribution    
+__vg[ lagged_fibonacci4423 ][ triangle_distribution    ] = _random_.variate_generator_lagged_fibonacci4423__triangle_distribution   
+__vg[ lagged_fibonacci4423 ][ uniform_on_sphere        ] = _random_.variate_generator_lagged_fibonacci4423__uniform_on_sphere       
+__vg[ lagged_fibonacci4423 ][ uniform_real             ] = _random_.variate_generator_lagged_fibonacci4423__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+if sys.platform != 'win32':
+    __vg[ lagged_fibonacci44497 ][ bernoulli_distribution   ] = _random_.variate_generator_lagged_fibonacci44497__bernoulli_distribution  
+    __vg[ lagged_fibonacci44497 ][ binomial_distribution    ] = _random_.variate_generator_lagged_fibonacci44497__binomial_distribution   
+    __vg[ lagged_fibonacci44497 ][ cauchy_distribution      ] = _random_.variate_generator_lagged_fibonacci44497__cauchy_distribution     
+    __vg[ lagged_fibonacci44497 ][ exponential_distribution ] = _random_.variate_generator_lagged_fibonacci44497__exponential_distribution
+    __vg[ lagged_fibonacci44497 ][ gamma_distribution       ] = _random_.variate_generator_lagged_fibonacci44497__gamma_distribution      
+    __vg[ lagged_fibonacci44497 ][ geometric_distribution   ] = _random_.variate_generator_lagged_fibonacci44497__geometric_distribution  
+    __vg[ lagged_fibonacci44497 ][ lognormal_distribution   ] = _random_.variate_generator_lagged_fibonacci44497__lognormal_distribution  
+    __vg[ lagged_fibonacci44497 ][ normal_distribution      ] = _random_.variate_generator_lagged_fibonacci44497__normal_distribution     
+    __vg[ lagged_fibonacci44497 ][ poisson_distribution     ] = _random_.variate_generator_lagged_fibonacci44497__poisson_distribution    
+    __vg[ lagged_fibonacci44497 ][ triangle_distribution    ] = _random_.variate_generator_lagged_fibonacci44497__triangle_distribution   
+    __vg[ lagged_fibonacci44497 ][ uniform_on_sphere        ] = _random_.variate_generator_lagged_fibonacci44497__uniform_on_sphere       
+    __vg[ lagged_fibonacci44497 ][ uniform_real             ] = _random_.variate_generator_lagged_fibonacci44497__uniform_real            
+    #__vg[  ][ uniform_int             ] = _random_.does not exist
+    #__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+__vg[ lagged_fibonacci607 ][ bernoulli_distribution   ] = _random_.variate_generator_lagged_fibonacci607__bernoulli_distribution  
+__vg[ lagged_fibonacci607 ][ binomial_distribution    ] = _random_.variate_generator_lagged_fibonacci607__binomial_distribution   
+__vg[ lagged_fibonacci607 ][ cauchy_distribution      ] = _random_.variate_generator_lagged_fibonacci607__cauchy_distribution     
+__vg[ lagged_fibonacci607 ][ exponential_distribution ] = _random_.variate_generator_lagged_fibonacci607__exponential_distribution
+__vg[ lagged_fibonacci607 ][ gamma_distribution       ] = _random_.variate_generator_lagged_fibonacci607__gamma_distribution      
+__vg[ lagged_fibonacci607 ][ geometric_distribution   ] = _random_.variate_generator_lagged_fibonacci607__geometric_distribution  
+__vg[ lagged_fibonacci607 ][ lognormal_distribution   ] = _random_.variate_generator_lagged_fibonacci607__lognormal_distribution  
+__vg[ lagged_fibonacci607 ][ normal_distribution      ] = _random_.variate_generator_lagged_fibonacci607__normal_distribution     
+__vg[ lagged_fibonacci607 ][ poisson_distribution     ] = _random_.variate_generator_lagged_fibonacci607__poisson_distribution    
+__vg[ lagged_fibonacci607 ][ triangle_distribution    ] = _random_.variate_generator_lagged_fibonacci607__triangle_distribution   
+__vg[ lagged_fibonacci607 ][ uniform_on_sphere        ] = _random_.variate_generator_lagged_fibonacci607__uniform_on_sphere       
+__vg[ lagged_fibonacci607 ][ uniform_real             ] = _random_.variate_generator_lagged_fibonacci607__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+
+__vg[ lagged_fibonacci9689 ][ bernoulli_distribution   ] = _random_.variate_generator_lagged_fibonacci9689__bernoulli_distribution  
+__vg[ lagged_fibonacci9689 ][ binomial_distribution    ] = _random_.variate_generator_lagged_fibonacci9689__binomial_distribution   
+__vg[ lagged_fibonacci9689 ][ cauchy_distribution      ] = _random_.variate_generator_lagged_fibonacci9689__cauchy_distribution     
+__vg[ lagged_fibonacci9689 ][ exponential_distribution ] = _random_.variate_generator_lagged_fibonacci9689__exponential_distribution
+__vg[ lagged_fibonacci9689 ][ gamma_distribution       ] = _random_.variate_generator_lagged_fibonacci9689__gamma_distribution      
+__vg[ lagged_fibonacci9689 ][ geometric_distribution   ] = _random_.variate_generator_lagged_fibonacci9689__geometric_distribution  
+__vg[ lagged_fibonacci9689 ][ lognormal_distribution   ] = _random_.variate_generator_lagged_fibonacci9689__lognormal_distribution  
+__vg[ lagged_fibonacci9689 ][ normal_distribution      ] = _random_.variate_generator_lagged_fibonacci9689__normal_distribution     
+__vg[ lagged_fibonacci9689 ][ poisson_distribution     ] = _random_.variate_generator_lagged_fibonacci9689__poisson_distribution    
+__vg[ lagged_fibonacci9689 ][ triangle_distribution    ] = _random_.variate_generator_lagged_fibonacci9689__triangle_distribution   
+__vg[ lagged_fibonacci9689 ][ uniform_on_sphere        ] = _random_.variate_generator_lagged_fibonacci9689__uniform_on_sphere       
+__vg[ lagged_fibonacci9689 ][ uniform_real             ] = _random_.variate_generator_lagged_fibonacci9689__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+__vg[ minstd_rand0 ][ bernoulli_distribution   ] = _random_.variate_generator_minstd_rand0__bernoulli_distribution  
+__vg[ minstd_rand0 ][ binomial_distribution    ] = _random_.variate_generator_minstd_rand0__binomial_distribution   
+__vg[ minstd_rand0 ][ cauchy_distribution      ] = _random_.variate_generator_minstd_rand0__cauchy_distribution     
+__vg[ minstd_rand0 ][ exponential_distribution ] = _random_.variate_generator_minstd_rand0__exponential_distribution
+__vg[ minstd_rand0 ][ gamma_distribution       ] = _random_.variate_generator_minstd_rand0__gamma_distribution      
+__vg[ minstd_rand0 ][ geometric_distribution   ] = _random_.variate_generator_minstd_rand0__geometric_distribution  
+__vg[ minstd_rand0 ][ lognormal_distribution   ] = _random_.variate_generator_minstd_rand0__lognormal_distribution  
+__vg[ minstd_rand0 ][ normal_distribution      ] = _random_.variate_generator_minstd_rand0__normal_distribution     
+__vg[ minstd_rand0 ][ poisson_distribution     ] = _random_.variate_generator_minstd_rand0__poisson_distribution    
+__vg[ minstd_rand0 ][ triangle_distribution    ] = _random_.variate_generator_minstd_rand0__triangle_distribution   
+__vg[ minstd_rand0 ][ uniform_int              ] = _random_.variate_generator_minstd_rand0__uniform_int             
+__vg[ minstd_rand0 ][ uniform_on_sphere        ] = _random_.variate_generator_minstd_rand0__uniform_on_sphere       
+__vg[ minstd_rand0 ][ uniform_real             ] = _random_.variate_generator_minstd_rand0__uniform_real            
+__vg[ minstd_rand0 ][ uniform_smallint         ] = _random_.variate_generator_minstd_rand0__uniform_smallint        
+
+__vg[ minstd_rand ][ bernoulli_distribution   ] = _random_.variate_generator_minstd_rand__bernoulli_distribution  
+__vg[ minstd_rand ][ binomial_distribution    ] = _random_.variate_generator_minstd_rand__binomial_distribution   
+__vg[ minstd_rand ][ cauchy_distribution      ] = _random_.variate_generator_minstd_rand__cauchy_distribution     
+__vg[ minstd_rand ][ exponential_distribution ] = _random_.variate_generator_minstd_rand__exponential_distribution
+__vg[ minstd_rand ][ gamma_distribution       ] = _random_.variate_generator_minstd_rand__gamma_distribution      
+__vg[ minstd_rand ][ geometric_distribution   ] = _random_.variate_generator_minstd_rand__geometric_distribution  
+__vg[ minstd_rand ][ lognormal_distribution   ] = _random_.variate_generator_minstd_rand__lognormal_distribution  
+__vg[ minstd_rand ][ normal_distribution      ] = _random_.variate_generator_minstd_rand__normal_distribution     
+__vg[ minstd_rand ][ poisson_distribution     ] = _random_.variate_generator_minstd_rand__poisson_distribution    
+__vg[ minstd_rand ][ triangle_distribution    ] = _random_.variate_generator_minstd_rand__triangle_distribution   
+__vg[ minstd_rand ][ uniform_int              ] = _random_.variate_generator_minstd_rand__uniform_int             
+__vg[ minstd_rand ][ uniform_on_sphere        ] = _random_.variate_generator_minstd_rand__uniform_on_sphere       
+__vg[ minstd_rand ][ uniform_real             ] = _random_.variate_generator_minstd_rand__uniform_real            
+__vg[ minstd_rand ][ uniform_smallint         ] = _random_.variate_generator_minstd_rand__uniform_smallint        
+
+__vg[ mt11213b ][ bernoulli_distribution   ] = _random_.variate_generator_mt11213b__bernoulli_distribution  
+__vg[ mt11213b ][ binomial_distribution    ] = _random_.variate_generator_mt11213b__binomial_distribution   
+__vg[ mt11213b ][ cauchy_distribution      ] = _random_.variate_generator_mt11213b__cauchy_distribution     
+__vg[ mt11213b ][ exponential_distribution ] = _random_.variate_generator_mt11213b__exponential_distribution
+__vg[ mt11213b ][ gamma_distribution       ] = _random_.variate_generator_mt11213b__gamma_distribution      
+__vg[ mt11213b ][ geometric_distribution   ] = _random_.variate_generator_mt11213b__geometric_distribution  
+__vg[ mt11213b ][ lognormal_distribution   ] = _random_.variate_generator_mt11213b__lognormal_distribution  
+__vg[ mt11213b ][ normal_distribution      ] = _random_.variate_generator_mt11213b__normal_distribution     
+__vg[ mt11213b ][ poisson_distribution     ] = _random_.variate_generator_mt11213b__poisson_distribution    
+__vg[ mt11213b ][ triangle_distribution    ] = _random_.variate_generator_mt11213b__triangle_distribution   
+__vg[ mt11213b ][ uniform_int              ] = _random_.variate_generator_mt11213b__uniform_int             
+__vg[ mt11213b ][ uniform_on_sphere        ] = _random_.variate_generator_mt11213b__uniform_on_sphere       
+__vg[ mt11213b ][ uniform_real             ] = _random_.variate_generator_mt11213b__uniform_real            
+__vg[ mt11213b ][ uniform_smallint         ] = _random_.variate_generator_mt11213b__uniform_smallint        
+
+__vg[ mt19937 ][ bernoulli_distribution   ] = _random_.variate_generator_mt19937__bernoulli_distribution  
+__vg[ mt19937 ][ binomial_distribution    ] = _random_.variate_generator_mt19937__binomial_distribution   
+__vg[ mt19937 ][ cauchy_distribution      ] = _random_.variate_generator_mt19937__cauchy_distribution     
+__vg[ mt19937 ][ exponential_distribution ] = _random_.variate_generator_mt19937__exponential_distribution
+__vg[ mt19937 ][ gamma_distribution       ] = _random_.variate_generator_mt19937__gamma_distribution      
+__vg[ mt19937 ][ geometric_distribution   ] = _random_.variate_generator_mt19937__geometric_distribution  
+__vg[ mt19937 ][ lognormal_distribution   ] = _random_.variate_generator_mt19937__lognormal_distribution  
+__vg[ mt19937 ][ normal_distribution      ] = _random_.variate_generator_mt19937__normal_distribution     
+__vg[ mt19937 ][ poisson_distribution     ] = _random_.variate_generator_mt19937__poisson_distribution    
+__vg[ mt19937 ][ triangle_distribution    ] = _random_.variate_generator_mt19937__triangle_distribution   
+__vg[ mt19937 ][ uniform_int              ] = _random_.variate_generator_mt19937__uniform_int             
+__vg[ mt19937 ][ uniform_on_sphere        ] = _random_.variate_generator_mt19937__uniform_on_sphere       
+__vg[ mt19937 ][ uniform_real             ] = _random_.variate_generator_mt19937__uniform_real            
+__vg[ mt19937 ][ uniform_smallint         ] = _random_.variate_generator_mt19937__uniform_smallint        
+
+__vg[ ranlux3_01 ][ bernoulli_distribution   ] = _random_.variate_generator_ranlux3_01__bernoulli_distribution  
+__vg[ ranlux3_01 ][ binomial_distribution    ] = _random_.variate_generator_ranlux3_01__binomial_distribution   
+__vg[ ranlux3_01 ][ cauchy_distribution      ] = _random_.variate_generator_ranlux3_01__cauchy_distribution     
+__vg[ ranlux3_01 ][ exponential_distribution ] = _random_.variate_generator_ranlux3_01__exponential_distribution
+__vg[ ranlux3_01 ][ gamma_distribution       ] = _random_.variate_generator_ranlux3_01__gamma_distribution      
+__vg[ ranlux3_01 ][ geometric_distribution   ] = _random_.variate_generator_ranlux3_01__geometric_distribution  
+__vg[ ranlux3_01 ][ lognormal_distribution   ] = _random_.variate_generator_ranlux3_01__lognormal_distribution  
+__vg[ ranlux3_01 ][ normal_distribution      ] = _random_.variate_generator_ranlux3_01__normal_distribution     
+__vg[ ranlux3_01 ][ poisson_distribution     ] = _random_.variate_generator_ranlux3_01__poisson_distribution    
+__vg[ ranlux3_01 ][ triangle_distribution    ] = _random_.variate_generator_ranlux3_01__triangle_distribution   
+__vg[ ranlux3_01 ][ uniform_on_sphere        ] = _random_.variate_generator_ranlux3_01__uniform_on_sphere       
+__vg[ ranlux3_01 ][ uniform_real             ] = _random_.variate_generator_ranlux3_01__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+__vg[ ranlux3 ][ bernoulli_distribution   ] = _random_.variate_generator_ranlux3__bernoulli_distribution  
+__vg[ ranlux3 ][ binomial_distribution    ] = _random_.variate_generator_ranlux3__binomial_distribution   
+__vg[ ranlux3 ][ cauchy_distribution      ] = _random_.variate_generator_ranlux3__cauchy_distribution     
+__vg[ ranlux3 ][ exponential_distribution ] = _random_.variate_generator_ranlux3__exponential_distribution
+__vg[ ranlux3 ][ gamma_distribution       ] = _random_.variate_generator_ranlux3__gamma_distribution      
+__vg[ ranlux3 ][ geometric_distribution   ] = _random_.variate_generator_ranlux3__geometric_distribution  
+__vg[ ranlux3 ][ lognormal_distribution   ] = _random_.variate_generator_ranlux3__lognormal_distribution  
+__vg[ ranlux3 ][ normal_distribution      ] = _random_.variate_generator_ranlux3__normal_distribution     
+__vg[ ranlux3 ][ poisson_distribution     ] = _random_.variate_generator_ranlux3__poisson_distribution    
+__vg[ ranlux3 ][ triangle_distribution    ] = _random_.variate_generator_ranlux3__triangle_distribution   
+__vg[ ranlux3 ][ uniform_int              ] = _random_.variate_generator_ranlux3__uniform_int             
+__vg[ ranlux3 ][ uniform_on_sphere        ] = _random_.variate_generator_ranlux3__uniform_on_sphere       
+__vg[ ranlux3 ][ uniform_real             ] = _random_.variate_generator_ranlux3__uniform_real            
+__vg[ ranlux3 ][ uniform_smallint         ] = _random_.variate_generator_ranlux3__uniform_smallint        
+
+__vg[ ranlux4_01 ][ bernoulli_distribution   ] = _random_.variate_generator_ranlux4_01__bernoulli_distribution  
+__vg[ ranlux4_01 ][ binomial_distribution    ] = _random_.variate_generator_ranlux4_01__binomial_distribution   
+__vg[ ranlux4_01 ][ cauchy_distribution      ] = _random_.variate_generator_ranlux4_01__cauchy_distribution     
+__vg[ ranlux4_01 ][ exponential_distribution ] = _random_.variate_generator_ranlux4_01__exponential_distribution
+__vg[ ranlux4_01 ][ gamma_distribution       ] = _random_.variate_generator_ranlux4_01__gamma_distribution      
+__vg[ ranlux4_01 ][ geometric_distribution   ] = _random_.variate_generator_ranlux4_01__geometric_distribution  
+__vg[ ranlux4_01 ][ lognormal_distribution   ] = _random_.variate_generator_ranlux4_01__lognormal_distribution  
+__vg[ ranlux4_01 ][ normal_distribution      ] = _random_.variate_generator_ranlux4_01__normal_distribution     
+__vg[ ranlux4_01 ][ poisson_distribution     ] = _random_.variate_generator_ranlux4_01__poisson_distribution    
+__vg[ ranlux4_01 ][ triangle_distribution    ] = _random_.variate_generator_ranlux4_01__triangle_distribution   
+__vg[ ranlux4_01 ][ uniform_on_sphere        ] = _random_.variate_generator_ranlux4_01__uniform_on_sphere       
+__vg[ ranlux4_01 ][ uniform_real             ] = _random_.variate_generator_ranlux4_01__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+__vg[ ranlux4 ][ bernoulli_distribution   ] = _random_.variate_generator_ranlux4__bernoulli_distribution  
+__vg[ ranlux4 ][ binomial_distribution    ] = _random_.variate_generator_ranlux4__binomial_distribution   
+__vg[ ranlux4 ][ cauchy_distribution      ] = _random_.variate_generator_ranlux4__cauchy_distribution     
+__vg[ ranlux4 ][ exponential_distribution ] = _random_.variate_generator_ranlux4__exponential_distribution
+__vg[ ranlux4 ][ gamma_distribution       ] = _random_.variate_generator_ranlux4__gamma_distribution      
+__vg[ ranlux4 ][ geometric_distribution   ] = _random_.variate_generator_ranlux4__geometric_distribution  
+__vg[ ranlux4 ][ lognormal_distribution   ] = _random_.variate_generator_ranlux4__lognormal_distribution  
+__vg[ ranlux4 ][ normal_distribution      ] = _random_.variate_generator_ranlux4__normal_distribution     
+__vg[ ranlux4 ][ poisson_distribution     ] = _random_.variate_generator_ranlux4__poisson_distribution    
+__vg[ ranlux4 ][ triangle_distribution    ] = _random_.variate_generator_ranlux4__triangle_distribution   
+__vg[ ranlux4 ][ uniform_int              ] = _random_.variate_generator_ranlux4__uniform_int             
+__vg[ ranlux4 ][ uniform_on_sphere        ] = _random_.variate_generator_ranlux4__uniform_on_sphere       
+__vg[ ranlux4 ][ uniform_real             ] = _random_.variate_generator_ranlux4__uniform_real            
+__vg[ ranlux4 ][ uniform_smallint         ] = _random_.variate_generator_ranlux4__uniform_smallint        
+
+__vg[ ranlux64_3_01 ][ bernoulli_distribution   ] = _random_.variate_generator_ranlux64_3_01__bernoulli_distribution  
+__vg[ ranlux64_3_01 ][ binomial_distribution    ] = _random_.variate_generator_ranlux64_3_01__binomial_distribution   
+__vg[ ranlux64_3_01 ][ cauchy_distribution      ] = _random_.variate_generator_ranlux64_3_01__cauchy_distribution     
+__vg[ ranlux64_3_01 ][ exponential_distribution ] = _random_.variate_generator_ranlux64_3_01__exponential_distribution
+__vg[ ranlux64_3_01 ][ gamma_distribution       ] = _random_.variate_generator_ranlux64_3_01__gamma_distribution      
+__vg[ ranlux64_3_01 ][ geometric_distribution   ] = _random_.variate_generator_ranlux64_3_01__geometric_distribution  
+__vg[ ranlux64_3_01 ][ lognormal_distribution   ] = _random_.variate_generator_ranlux64_3_01__lognormal_distribution  
+__vg[ ranlux64_3_01 ][ normal_distribution      ] = _random_.variate_generator_ranlux64_3_01__normal_distribution     
+__vg[ ranlux64_3_01 ][ poisson_distribution     ] = _random_.variate_generator_ranlux64_3_01__poisson_distribution    
+__vg[ ranlux64_3_01 ][ triangle_distribution    ] = _random_.variate_generator_ranlux64_3_01__triangle_distribution   
+__vg[ ranlux64_3_01 ][ uniform_on_sphere        ] = _random_.variate_generator_ranlux64_3_01__uniform_on_sphere       
+__vg[ ranlux64_3_01 ][ uniform_real             ] = _random_.variate_generator_ranlux64_3_01__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+__vg[ ranlux64_4_01 ][ bernoulli_distribution   ] = _random_.variate_generator_ranlux64_4_01__bernoulli_distribution  
+__vg[ ranlux64_4_01 ][ binomial_distribution    ] = _random_.variate_generator_ranlux64_4_01__binomial_distribution   
+__vg[ ranlux64_4_01 ][ cauchy_distribution      ] = _random_.variate_generator_ranlux64_4_01__cauchy_distribution     
+__vg[ ranlux64_4_01 ][ exponential_distribution ] = _random_.variate_generator_ranlux64_4_01__exponential_distribution
+__vg[ ranlux64_4_01 ][ gamma_distribution       ] = _random_.variate_generator_ranlux64_4_01__gamma_distribution      
+__vg[ ranlux64_4_01 ][ geometric_distribution   ] = _random_.variate_generator_ranlux64_4_01__geometric_distribution  
+__vg[ ranlux64_4_01 ][ lognormal_distribution   ] = _random_.variate_generator_ranlux64_4_01__lognormal_distribution  
+__vg[ ranlux64_4_01 ][ normal_distribution      ] = _random_.variate_generator_ranlux64_4_01__normal_distribution     
+__vg[ ranlux64_4_01 ][ poisson_distribution     ] = _random_.variate_generator_ranlux64_4_01__poisson_distribution    
+__vg[ ranlux64_4_01 ][ triangle_distribution    ] = _random_.variate_generator_ranlux64_4_01__triangle_distribution   
+__vg[ ranlux64_4_01 ][ uniform_on_sphere        ] = _random_.variate_generator_ranlux64_4_01__uniform_on_sphere       
+__vg[ ranlux64_4_01 ][ uniform_real             ] = _random_.variate_generator_ranlux64_4_01__uniform_real            
+#__vg[  ][ uniform_int             ] = _random_.does not exist
+#__vg[  ][ uniform_smallint         ] = _random_.does not exist
+
+
+__vg[ taus88 ][ bernoulli_distribution   ] = _random_.variate_generator_taus88__bernoulli_distribution  
+__vg[ taus88 ][ binomial_distribution    ] = _random_.variate_generator_taus88__binomial_distribution   
+__vg[ taus88 ][ cauchy_distribution      ] = _random_.variate_generator_taus88__cauchy_distribution     
+__vg[ taus88 ][ exponential_distribution ] = _random_.variate_generator_taus88__exponential_distribution
+__vg[ taus88 ][ gamma_distribution       ] = _random_.variate_generator_taus88__gamma_distribution      
+__vg[ taus88 ][ geometric_distribution   ] = _random_.variate_generator_taus88__geometric_distribution  
+__vg[ taus88 ][ lognormal_distribution   ] = _random_.variate_generator_taus88__lognormal_distribution  
+__vg[ taus88 ][ normal_distribution      ] = _random_.variate_generator_taus88__normal_distribution     
+__vg[ taus88 ][ poisson_distribution     ] = _random_.variate_generator_taus88__poisson_distribution    
+__vg[ taus88 ][ triangle_distribution    ] = _random_.variate_generator_taus88__triangle_distribution   
+__vg[ taus88 ][ uniform_int              ] = _random_.variate_generator_taus88__uniform_int             
+__vg[ taus88 ][ uniform_on_sphere        ] = _random_.variate_generator_taus88__uniform_on_sphere       
+__vg[ taus88 ][ uniform_real             ] = _random_.variate_generator_taus88__uniform_real            
+__vg[ taus88 ][ uniform_smallint         ] = _random_.variate_generator_taus88__uniform_smallint        
+
+
+def variate_generator( generator, distribution ):
+    global __vg
+    global distributions
+    gcls = generator.__class__
+    if not __vg.has_key( gcls ):
+        raise RuntimeError( 'Unable to create variate_generator - unknown generator type!' )
+    dcls = distribution.__class__
+    if dcls not in distributions:
+        raise RuntimeError( 'Unable to create variate_generator - unknown distribution type!' )
+    
+    valid_distrs = __vg[ gcls ]
+    if not valid_distrs.has_key( dcls ):
+        raise RuntimeError( 'Unable to create variate_generator(%s, %s) - takoe sochetanie does not exist!'
+                            % ( gcls.__name__, dcls.__name__ ) )
+    return valid_distrs[dcls]( generator, distribution )
+
+def variate_generator_exists( generator, distribution ):
+    global __vg
+    global distributions
+    gcls = generator.__class__
+    if not __vg.has_key( gcls ):
+        return False
+    dcls = distribution.__class__
+    if dcls not in distributions:
+        return False
+    
+    valid_distrs = __vg[ gcls ]
+    return valid_distrs.has_key( dcls )
\ No newline at end of file
diff --git a/examples/pyboost_dev/pyboost/crc/__init__.py b/examples/pyboost_dev/pyboost/crc/__init__.py
new file mode 100644
index 0000000..e235d1d
--- /dev/null
+++ b/examples/pyboost_dev/pyboost/crc/__init__.py
@@ -0,0 +1,48 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import _crc_
+
+from _crc_ import crc_16_type
+from _crc_ import crc_32_type
+from _crc_ import crc_ccitt_type
+from _crc_ import crc_xmodem_type
+
+
+__optimal__ = [ crc_16_type, crc_32_type, crc_ccitt_type, crc_xmodem_type ]
+
+from _crc_ import crc_basic_1
+from _crc_ import crc_basic_16
+from _crc_ import crc_basic_3
+from _crc_ import crc_basic_32
+from _crc_ import crc_basic_7
+
+basic = { 
+      1 : crc_basic_1
+    , 3 : crc_basic_3
+    , 7 : crc_basic_7
+    , 16 : crc_basic_16
+    , 32 : crc_basic_32
+}
+
+__basic__ = basic.values()
+
+__all__ = __optimal__ + __basic__
+
+for cls in __all__:
+    cls.__call__ = cls.process_byte
+
+def process_bytes( self, data ):
+    if isinstance( data, str ):
+        for byte in data:
+            self.process_byte( ord( byte ) )
+    else:
+        for byte in data:
+            self.process_byte( byte )
+
+for cls in __all__:
+    cls.process_bytes = process_bytes
+    cls.process_block = process_bytes
\ No newline at end of file
diff --git a/examples/pyboost_dev/pyboost/date_time/__init__.py b/examples/pyboost_dev/pyboost/date_time/__init__.py
new file mode 100644
index 0000000..4de73dc
--- /dev/null
+++ b/examples/pyboost_dev/pyboost/date_time/__init__.py
@@ -0,0 +1,257 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import _date_time_
+
+#import pprint
+#pprint.pprint( dir( _date_time_ ) )
+
+#implementation details
+#int_adapter_int = _date_time_.int_adapter_int
+#int_adapter_long = _date_time_.int_adapter_long
+#int_adapter_ulong = _date_time_.int_adapter_ulong
+
+next_weekday = _date_time_.next_weekday
+to_simple_string_type = _date_time_.to_simple_string_type
+from_simple_string = _date_time_.from_simple_string
+from_undelimited_string = _date_time_.from_undelimited_string
+date_period_from_wstring = _date_time_.date_period_from_wstring
+#to_sql_string_type_w = _date_time_.to_sql_string_type_w
+parse_undelimited_time_duration = _date_time_.parse_undelimited_time_duration
+#to_iso_extended_string_type_w = _date_time_.to_iso_extended_string_type_w
+previous_weekday = _date_time_.previous_weekday
+to_sql_wstring = _date_time_.to_sql_wstring
+date_from_tm = _date_time_.date_from_tm
+parse_undelimited_date = _date_time_.parse_undelimited_date
+nth_as_str = _date_time_.nth_as_str
+date_period_from_string = _date_time_.date_period_from_string
+to_sql_string_type = _date_time_.to_sql_string_type
+to_simple_wstring = _date_time_.to_simple_wstring
+split = _date_time_.split
+from_uk_string = _date_time_.from_uk_string
+duration_from_string = _date_time_.duration_from_string
+from_string = _date_time_.from_string
+to_iso_extended_wstring = _date_time_.to_iso_extended_wstring
+days_until_weekday = _date_time_.days_until_weekday
+to_iso_string = _date_time_.to_iso_string
+parse_iso_time = _date_time_.parse_iso_time
+power = _date_time_.power
+special_value_from_string = _date_time_.special_value_from_string
+#to_iso_string_type_w = _date_time_.to_iso_string_type_w
+time_from_string = _date_time_.time_from_string
+date_from_iso_string = _date_time_.date_from_iso_string
+parse_delimited_time_duration = _date_time_.parse_delimited_time_duration
+to_iso_extended_string = _date_time_.to_iso_extended_string
+from_iso_string = _date_time_.from_iso_string
+from_simple_string_type = _date_time_.from_simple_string_type
+to_tm = _date_time_.to_tm
+absolute_value = _date_time_.absolute_value
+to_simple_string = _date_time_.to_simple_string
+convert_to_lower = _date_time_.convert_to_lower
+days_before_weekday = _date_time_.days_before_weekday
+to_iso_wstring = _date_time_.to_iso_wstring
+#to_simple_string_type_w = _date_time_.to_simple_string_type_w
+to_iso_string_type = _date_time_.to_iso_string_type
+to_iso_extended_string_type = _date_time_.to_iso_extended_string_type
+parse_delimited_time = _date_time_.parse_delimited_time
+to_sql_string = _date_time_.to_sql_string
+from_us_string = _date_time_.from_us_string
+
+
+
+
+
+
+
+
+
+
+
+
+# ##############################################################################
+#
+# Creating shortcuts for enums. I using this approach because is allows to use
+# "code complition" futures on most editors
+#
+# ##############################################################################
+
+months_of_year = _date_time_.months_of_year
+Mar = months_of_year.Mar
+Feb = months_of_year.Feb
+Aug = months_of_year.Aug
+Sep = months_of_year.Sep
+Apr = months_of_year.Apr
+Jun = months_of_year.Jun
+Jul = months_of_year.Jul
+Jan = months_of_year.Jan
+May = months_of_year.May
+Nov = _date_time_.months_of_year.Nov
+Dec = _date_time_.months_of_year.Dec
+Oct = _date_time_.months_of_year.Oct
+NotAMonth = months_of_year.NotAMonth
+NumMonths = months_of_year.NumMonths
+
+time_is_dst_result = _date_time_.time_is_dst_result
+ambiguous = time_is_dst_result.ambiguous
+is_not_in_dst = time_is_dst_result.is_not_in_dst
+invalid_time_label = time_is_dst_result.invalid_time_label
+is_in_dst = time_is_dst_result.is_in_dst
+
+date_resolutions = _date_time_.date_resolutions
+week = date_resolutions.week
+century = date_resolutions.century
+months = date_resolutions.months
+year = date_resolutions.year
+day = date_resolutions.day
+decade = date_resolutions.decade
+NumDateResolutions = date_resolutions.NumDateResolutions
+
+weekdays = _date_time_.weekdays
+Monday = weekdays.Monday
+Tuesday = weekdays.Tuesday
+Friday = weekdays.Friday
+Wednesday = weekdays.Wednesday
+Thursday = weekdays.Thursday
+Sunday = weekdays.Sunday
+Saturday = weekdays.Saturday
+
+special_values = _date_time_.special_values 
+not_special = special_values.not_special
+neg_infin = special_values.neg_infin
+pos_infin = special_values.pos_infin
+min_date_time = special_values.min_date_time
+not_a_date_time = special_values.not_a_date_time
+max_date_time = special_values.max_date_time
+NumSpecialValues = special_values.NumSpecialValues
+
+dst_flags = _date_time_.dst_flags
+not_dst = dst_flags.not_dst
+is_dst = dst_flags.is_dst
+calculate = dst_flags.calculate
+
+time_resolutions = _date_time_.time_resolutions
+ten_thousandth = time_resolutions.ten_thousandth
+hundreth = time_resolutions.hundreth
+nano = time_resolutions.nano
+NumResolutions = time_resolutions.NumResolutions
+micro = time_resolutions.micro
+sec = time_resolutions.sec
+milli = time_resolutions.milli
+tenth = time_resolutions.tenth
+
+ymd_order_spec = _date_time_.ymd_order_spec
+ymd_order_dmy = ymd_order_spec.ymd_order_dmy
+ymd_order_us = ymd_order_spec.ymd_order_us
+ymd_order_iso = ymd_order_spec.ymd_order_iso
+
+month_format_spec = _date_time_.month_format_spec
+month_as_short_string = month_format_spec.month_as_short_string
+month_as_long_string = month_format_spec.month_as_long_string
+month_as_integer = month_format_spec.month_as_integer
+
+
+class gregorian:
+    date_period = _date_time_.date_period
+    year_based_generator = _date_time_.gregorian_year_based_generator
+    partial_date = _date_time_.partial_date
+    nth_kday_of_month = _date_time_.nth_kday_of_month    
+    nth_day_of_the_week_in_month = _date_time_.nth_kday_of_month
+    first_kday_of_month = _date_time_.first_kday_of_month
+    first_day_of_the_week_in_month = _date_time_.first_kday_of_month
+    last_kday_of_month = _date_time_.last_kday_of_month
+    last_day_of_the_week_in_month = _date_time_.last_kday_of_month
+    first_kday_after = _date_time_.first_kday_after
+    first_day_of_the_week_after = _date_time_.first_kday_after 
+    first_kday_before = _date_time_.first_kday_before
+    first_day_of_the_week_before = _date_time_.first_kday_before
+    day_clock = _date_time_.day_clock
+    date = _date_time_.date
+    date_duration = _date_time_.date_duration
+    days = _date_time_.date_duration
+    greg_day = _date_time_.greg_day
+    greg_month = _date_time_.greg_month
+    greg_weekday = _date_time_.greg_weekday
+    greg_year = _date_time_.greg_year
+    gregorian_calendar = _date_time_.gregorian_calendar
+    calendar = _date_time_.gregorian_calendar
+    year_month_day = _date_time_.year_month_day
+    ymd_type = _date_time_.year_month_day
+    months = _date_time_.months
+    years = _date_time_.years
+    weeks = _date_time_.weeks
+    days_until_weekday = staticmethod( _date_time_.days_until_weekday )
+    days_before_weekday = staticmethod( _date_time_.days_before_weekday )
+    next_weekday = staticmethod( _date_time_.next_weekday )
+    previous_weekday = staticmethod( _date_time_.previous_weekday )
+    day_of_year_type = _date_time_.day_of_year_type
+    greg_day_of_year_rep = _date_time_.day_of_year_type
+    greg_weekday_rep = _date_time_.greg_weekday_rep
+    greg_day_rep = _date_time_.greg_day_rep
+    greg_month_rep = _date_time_.greg_month_rep
+    greg_year_rep = _date_time_.greg_year_rep
+    
+class posix_time:
+    ptime = _date_time_.ptime
+    time_duration = _date_time_.time_duration
+    time_duration_impl = _date_time_.time_duration_impl
+    time_period = _date_time_.time_period
+    hours = _date_time_.hours
+    minutes = _date_time_.minutes
+    seconds = _date_time_.seconds
+    millisec = _date_time_.milliseconds
+    milliseconds = _date_time_.milliseconds
+    microsec = _date_time_.microseconds
+    microseconds = _date_time_.microseconds
+    if hasattr( _date_time_, 'nanoseconds' ):
+        nanosec = _date_time_.nanoseconds
+        nanoseconds = _date_time_.nanoseconds
+    second_clock = _date_time_.second_clock
+    microsec_clock = _date_time_.microsec_clock
+    us_dst = _date_time_.us_dst
+    no_dst = _date_time_.us_dst
+
+class local_time:
+    dst_calc_rule = _date_time_.dst_calc_rule
+    #local_date_time = _date_time_.local_date_time
+    custom_time_zone = _date_time_.custom_time_zone
+    posix_time_zone = _date_time_.posix_time_zone
+    time_zone_base = _date_time_.time_zone_base
+    time_zone = _date_time_.custom_time_zone
+    tz_database = _date_time_.tz_database
+    time_zone_names = _date_time_.time_zone_names
+    time_zone_database = _date_time_.tz_database
+    partial_date_dst_rule = _date_time_.partial_date_dst_rule
+    partial_date_dst_rule.date_type = gregorian.date
+    partial_date_dst_rule.start_rule = gregorian.partial_date
+    partial_date_dst_rule.end_rule = gregorian.partial_date
+    dst_calc_rule = _date_time_.dst_calc_rule
+    first_last_dst_rule = _date_time_.first_last_dst_rule
+    first_last_dst_rule.date_type = gregorian.date
+    first_last_dst_rule.start_rule = gregorian.first_kday_of_month
+    first_last_dst_rule.end_rule = gregorian.last_kday_of_month    
+    last_last_dst_rule = _date_time_.last_last_dst_rule
+    last_last_dst_rule.date_type = gregorian.date
+    last_last_dst_rule.start_rule = gregorian.last_kday_of_month
+    last_last_dst_rule.end_rule = gregorian.last_kday_of_month
+    nth_last_dst_rule = _date_time_.nth_last_dst_rule
+    nth_last_dst_rule.date_type = gregorian.date
+    nth_last_dst_rule.start_rule = gregorian.nth_kday_of_month
+    nth_last_dst_rule.end_rule = gregorian.last_kday_of_month
+    nth_kday_dst_rule = _date_time_.nth_kday_dst_rule
+    nth_kday_dst_rule.date_type = gregorian.date
+    nth_kday_dst_rule.start_rule = gregorian.nth_kday_of_month
+    nth_kday_dst_rule.end_rule = gregorian.nth_kday_of_month
+    nth_day_of_the_week_in_month_dst_rule = nth_kday_dst_rule
+    local_time_period = _date_time_.local_time_period
+    class local_sec_clock:
+        pass
+    #local_sec_clock = _date_time_.local_sec_clock
+    local_sec_clock.local_time = staticmethod( _date_time_.local_sec_clock__local_time )
+    class local_microsec_clock:
+        pass    
+    #local_microsec_clock = _date_time_.local_microsec_clock
+    local_microsec_clock.local_time = staticmethod( _date_time_.local_microsec_clock__local_time )
+    dst_adjustment_offsets = _date_time_.dst_adjustment_offsets
\ No newline at end of file
diff --git a/examples/pyboost_dev/pyboost/date_time/date_time_zonespec.csv b/examples/pyboost_dev/pyboost/date_time/date_time_zonespec.csv
new file mode 100644
index 0000000..d1c708f
--- /dev/null
+++ b/examples/pyboost_dev/pyboost/date_time/date_time_zonespec.csv
@@ -0,0 +1,379 @@
+"ID","STD ABBR","STD NAME","DST ABBR","DST NAME","GMT offset","DST adjustment","DST Start Date rule","Start time","DST End date rule","End time"
+"Africa/Abidjan","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Accra","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Addis_Ababa","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Algiers","CET","CET","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Asmera","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Bamako","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Bangui","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Banjul","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Bissau","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Blantyre","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Brazzaville","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Bujumbura","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Cairo","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;5;4","+00:00:00","-1;5;9","+00:00:00"
+"Africa/Casablanca","WET","WET","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Ceuta","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Africa/Conakry","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Dakar","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Dar_es_Salaam","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Djibouti","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Douala","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/El_Aaiun","WET","WET","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Freetown","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Gaborone","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Harare","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Johannesburg","SAST","SAST","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Kampala","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Khartoum","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Kigali","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Kinshasa","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Lagos","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Libreville","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Lome","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Luanda","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Lubumbashi","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Lusaka","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Malabo","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Maputo","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Maseru","SAST","SAST","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Mbabane","SAST","SAST","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Mogadishu","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Monrovia","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Nairobi","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Ndjamena","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Niamey","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Nouakchott","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Ouagadougou","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Porto-Novo","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Sao_Tome","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Timbuktu","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Tripoli","EET","EET","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Tunis","CET","CET","","","+01:00:00","+00:00:00","","","","+00:00:00"
+"Africa/Windhoek","WAT","WAT","WAST","WAST","+01:00:00","+01:00:00","1;0;9","+02:00:00","1;0;4","+02:00:00"
+"America/Adak","HAST","HAST","HADT","HADT","-10:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Anchorage","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Anguilla","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Antigua","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Araguaina","BRT","BRT","BRST","BRST","-03:00:00","+01:00:00","2;0;10","+00:00:00","3;0;2","+00:00:00"
+"America/Aruba","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Asuncion","PYT","PYT","PYST","PYST","-04:00:00","+01:00:00","1;0;10","+00:00:00","1;0;3","+00:00:00"
+"America/Barbados","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Belem","BRT","BRT","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Belize","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"America/Boa_Vista","AMT","AMT","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Bogota","COT","COT","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Boise","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Buenos_Aires","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Cambridge_Bay","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Cancun","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;5","+02:00:00","-1;0;9","+02:00:00"
+"America/Caracas","VET","VET","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Catamarca","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Cayenne","GFT","GFT","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Cayman","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Chicago","CST","Central Standard Time","CDT","Central Daylight Time","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Chihuahua","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;5","+02:00:00","-1;0;9","+02:00:00"
+"America/Cordoba","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Costa_Rica","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"America/Cuiaba","AMT","AMT","AMST","AMST","-04:00:00","+01:00:00","2;0;10","+00:00:00","3;0;2","+00:00:00"
+"America/Curacao","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Danmarkshavn","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"America/Dawson","PST","PST","PDT","PDT","-08:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Dawson_Creek","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00"
+"America/Denver","MST","Mountain Standard Time","MDT","Mountain Daylight Time","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Detroit","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Dominica","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Edmonton","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Eirunepe","ACT","ACT","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/El_Salvador","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"America/Fortaleza","BRT","BRT","BRST","BRST","-03:00:00","+01:00:00","2;0;10","+00:00:00","3;0;2","+00:00:00"
+"America/Glace_Bay","AST","AST","ADT","ADT","-04:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Godthab","WGT","WGT","WGST","WGST","-03:00:00","+01:00:00","-1;6;3","+22:00:00","-1;6;10","+23:00:00"
+"America/Goose_Bay","AST","AST","ADT","ADT","-04:00:00","+01:00:00","1;0;4","+00:01:00","-1;0;10","+00:01:00"
+"America/Grand_Turk","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+00:00:00","-1;0;10","+00:00:00"
+"America/Grenada","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Guadeloupe","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Guatemala","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"America/Guayaquil","ECT","ECT","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Guyana","GYT","GYT","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Halifax","AST","AST","ADT","ADT","-04:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Havana","CST","CST","CDT","CDT","-05:00:00","+01:00:00","1;0;4","+00:00:00","-1;0;10","+01:00:00"
+"America/Hermosillo","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00"
+"America/Indiana/Indianapolis","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Indiana/Knox","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Indiana/Marengo","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Indiana/Vevay","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Indianapolis","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Inuvik","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Iqaluit","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Jamaica","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Jujuy","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Juneau","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Kentucky/Louisville","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Kentucky/Monticello","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/La_Paz","BOT","BOT","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Lima","PET","PET","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Los_Angeles","PST","Pacific Standard Time","PDT","Pacific Daylight Time","-08:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Louisville","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Maceio","BRT","BRT","BRST","BRST","-03:00:00","+01:00:00","2;0;10","+00:00:00","3;0;2","+00:00:00"
+"America/Managua","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"America/Manaus","AMT","AMT","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Martinique","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Mazatlan","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;5","+02:00:00","-1;0;9","+02:00:00"
+"America/Mendoza","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Menominee","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Merida","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;5","+02:00:00","-1;0;9","+02:00:00"
+"America/Mexico_City","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"America/Miquelon","PMST","PMST","PMDT","PMDT","-03:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Monterrey","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;5","+02:00:00","-1;0;9","+02:00:00"
+"America/Montevideo","UYT","UYT","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Montreal","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Montserrat","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Nassau","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/New_York","EST","Eastern Standard Time","EDT","Eastern Daylight Time","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Nipigon","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Nome","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Noronha","FNT","FNT","","","-02:00:00","+00:00:00","","","","+00:00:00"
+"America/North_Dakota/Center","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Panama","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Pangnirtung","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Paramaribo","SRT","SRT","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Phoenix","MST","Mountain Standard Time","","","-07:00:00","+00:00:00","","","","+00:00:00"
+"America/Port-au-Prince","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Port_of_Spain","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Porto_Velho","AMT","AMT","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Puerto_Rico","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Rainy_River","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Rankin_Inlet","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Recife","BRT","BRT","BRST","BRST","-03:00:00","+01:00:00","2;0;10","+00:00:00","3;0;2","+00:00:00"
+"America/Regina","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"America/Rio_Branco","ACT","ACT","","","-05:00:00","+00:00:00","","","","+00:00:00"
+"America/Rosario","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00"
+"America/Santiago","CLT","CLT","CLST","CLST","-04:00:00","+01:00:00","2;0;10","+00:00:00","2;0;3","+00:00:00"
+"America/Santo_Domingo","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Sao_Paulo","BRT","BRT","BRST","BRST","-03:00:00","+01:00:00","2;0;10","+00:00:00","3;0;2","+00:00:00"
+"America/Scoresbysund","EGT","EGT","EGST","EGST","-01:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+01:00:00"
+"America/Shiprock","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/St_Johns","NST","NST","NDT","NDT","-03:30:00","+01:00:00","1;0;4","+00:01:00","-1;0;10","+00:01:00"
+"America/St_Kitts","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/St_Lucia","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/St_Louis","CST","Central Standard Time","CDT","Central Daylight Time","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/St_Thomas","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/St_Vincent","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Swift_Current","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"America/Tegucigalpa","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"America/Thule","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Thunder_Bay","EST","EST","EDT","EDT","-05:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Tijuana","PST","PST","PDT","PDT","-08:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Tortola","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00"
+"America/Vancouver","PST","PST","PDT","PDT","-08:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Whitehorse","PST","PST","PDT","PDT","-08:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Winnipeg","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+03:00:00"
+"America/Yakutat","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"America/Yellowknife","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"Antarctica/Casey","WST","WST","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Antarctica/Davis","DAVT","DAVT","","","+07:00:00","+00:00:00","","","","+00:00:00"
+"Antarctica/DumontDUrville","DDUT","DDUT","","","+10:00:00","+00:00:00","","","","+00:00:00"
+"Antarctica/Mawson","MAWT","MAWT","","","+06:00:00","+00:00:00","","","","+00:00:00"
+"Antarctica/McMurdo","NZST","NZST","NZDT","NZDT","+12:00:00","+01:00:00","1;0;10","+02:00:00","3;0;3","+03:00:00"
+"Antarctica/Palmer","CLT","CLT","CLST","CLST","-04:00:00","+01:00:00","2;0;10","+00:00:00","2;0;3","+00:00:00"
+"Antarctica/South_Pole","NZST","NZST","NZDT","NZDT","+12:00:00","+01:00:00","1;0;10","+02:00:00","3;0;3","+03:00:00"
+"Antarctica/Syowa","SYOT","SYOT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Antarctica/Vostok","VOST","VOST","","","+06:00:00","+00:00:00","","","","+00:00:00"
+"Arctic/Longyearbyen","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Aden","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Almaty","ALMT","ALMT","ALMST","ALMST","+06:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+00:00:00"
+"Asia/Amman","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;4;3","+00:00:00","-1;4;9","+01:00:00"
+"Asia/Anadyr","ANAT","ANAT","ANAST","ANAST","+12:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Aqtau","AQTT","AQTT","AQTST","AQTST","+04:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+00:00:00"
+"Asia/Aqtobe","AQTT","AQTT","AQTST","AQTST","+05:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+00:00:00"
+"Asia/Ashgabat","TMT","TMT","","","+05:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Baghdad","AST","AST","ADT","ADT","+03:00:00","+01:00:00","1;0;4","+03:00:00","1;0;10","+04:00:00"
+"Asia/Bahrain","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Baku","AZT","AZT","AZST","AZST","+04:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+01:00:00"
+"Asia/Bangkok","ICT","ICT","","","+07:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Beirut","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+00:00:00"
+"Asia/Bishkek","KGT","KGT","KGST","KGST","+05:00:00","+01:00:00","-1;0;3","+02:30:00","-1;0;10","+02:30:00"
+"Asia/Brunei","BNT","BNT","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Calcutta","IST","IST","","","+05:30:00","+00:00:00","","","","+00:00:00"
+"Asia/Choibalsan","CHOT","CHOT","","","+09:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Chongqing","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Colombo","LKT","LKT","","","+06:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Damascus","EET","EET","EEST","EEST","+02:00:00","+01:00:00","1;0;4","+00:00:00","1;0;10","+00:00:00"
+"Asia/Dhaka","BDT","BDT","","","+06:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Dili","TPT","TPT","","","+09:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Dubai","GST","GST","","","+04:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Dushanbe","TJT","TJT","","","+05:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Gaza","EET","EET","EEST","EEST","+02:00:00","+01:00:00","3;5;4","+00:00:00","3;5;10","+00:00:00"
+"Asia/Harbin","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Hong_Kong","HKT","HKT","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Hovd","HOVT","HOVT","","","+07:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Irkutsk","IRKT","IRKT","IRKST","IRKST","+08:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Istanbul","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Asia/Jakarta","WIT","WIT","","","+07:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Jayapura","EIT","EIT","","","+09:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Jerusalem","IST","IST","IDT","IDT","+02:00:00","+01:00:00","1;0;4","+01:00:00","1;0;10","+01:00:00"
+"Asia/Kabul","AFT","AFT","","","+04:30:00","+00:00:00","","","","+00:00:00"
+"Asia/Kamchatka","PETT","PETT","PETST","PETST","+12:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Karachi","PKT","PKT","","","+05:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Kashgar","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Katmandu","NPT","NPT","","","+05:45:00","+00:00:00","","","","+00:00:00"
+"Asia/Krasnoyarsk","KRAT","KRAT","KRAST","KRAST","+07:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Kuala_Lumpur","MYT","MYT","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Kuching","MYT","MYT","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Kuwait","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Macao","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Magadan","MAGT","MAGT","MAGST","MAGST","+11:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Manila","PHT","PHT","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Muscat","GST","GST","","","+04:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Nicosia","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Asia/Novosibirsk","NOVT","NOVT","NOVST","NOVST","+06:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Omsk","OMST","OMST","OMSST","OMSST","+06:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Phnom_Penh","ICT","ICT","","","+07:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Pontianak","WIT","WIT","","","+07:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Pyongyang","KST","KST","","","+09:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Qatar","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Rangoon","MMT","MMT","","","+06:30:00","+00:00:00","","","","+00:00:00"
+"Asia/Riyadh","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Saigon","ICT","ICT","","","+07:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Sakhalin","SAKT","SAKT","SAKST","SAKST","+10:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Samarkand","UZT","UZT","","","+05:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Seoul","KST","KST","","","+09:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Shanghai","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Singapore","SGT","SGT","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Taipei","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Tashkent","UZT","UZT","","","+05:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Tbilisi","GET","GET","GEST","GEST","+04:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+00:00:00"
+"Asia/Tehran","IRT","IRT","","","+03:30:00","+00:00:00","","","","+00:00:00"
+"Asia/Thimphu","BTT","BTT","","","+06:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Tokyo","JST","JST","","","+09:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Ujung_Pandang","CIT","CIT","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Ulaanbaatar","ULAT","ULAT","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Urumqi","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Vientiane","ICT","ICT","","","+07:00:00","+00:00:00","","","","+00:00:00"
+"Asia/Vladivostok","VLAT","VLAT","VLAST","VLAST","+10:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Yakutsk","YAKT","YAKT","YAKST","YAKST","+09:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Yekaterinburg","YEKT","YEKT","YEKST","YEKST","+05:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Asia/Yerevan","AMT","AMT","AMST","AMST","+04:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Atlantic/Azores","AZOT","AZOT","AZOST","AZOST","-01:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+01:00:00"
+"Atlantic/Bermuda","AST","AST","ADT","ADT","-04:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00"
+"Atlantic/Canary","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00"
+"Atlantic/Cape_Verde","CVT","CVT","","","-01:00:00","+00:00:00","","","","+00:00:00"
+"Atlantic/Faeroe","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00"
+"Atlantic/Jan_Mayen","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Atlantic/Madeira","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00"
+"Atlantic/Reykjavik","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Atlantic/South_Georgia","GST","GST","","","-02:00:00","+00:00:00","","","","+00:00:00"
+"Atlantic/St_Helena","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00"
+"Atlantic/Stanley","FKT","FKT","FKST","FKST","-04:00:00","+01:00:00","1;0;9","+02:00:00","3;0;4","+02:00:00"
+"Australia/Adelaide","CST","CST","CST","CST","+09:30:00","+01:00:00","-1;0;10","+02:00:00","-1;0;3","+03:00:00"
+"Australia/Brisbane","EST","EST","","","+10:00:00","+00:00:00","","","","+00:00:00"
+"Australia/Broken_Hill","CST","CST","CST","CST","+09:30:00","+01:00:00","-1;0;10","+02:00:00","-1;0;3","+03:00:00"
+"Australia/Darwin","CST","CST","","","+09:30:00","+00:00:00","","","","+00:00:00"
+"Australia/Hobart","EST","EST","EST","EST","+10:00:00","+01:00:00","1;0;10","+02:00:00","-1;0;3","+03:00:00"
+"Australia/Lindeman","EST","EST","","","+10:00:00","+00:00:00","","","","+00:00:00"
+"Australia/Lord_Howe","LHST","LHST","LHST","LHST","+10:30:00","+00:30:00","-1;0;10","+02:00:00","-1;0;3","+02:00:00"
+"Australia/Melbourne","EST","EST","EST","EST","+10:00:00","+01:00:00","-1;0;10","+02:00:00","-1;0;3","+03:00:00"
+"Australia/Perth","WST","WST","","","+08:00:00","+00:00:00","","","","+00:00:00"
+"Australia/Sydney","EST","EST","EST","EST","+10:00:00","+01:00:00","-1;0;10","+02:00:00","-1;0;3","+03:00:00"
+"Europe/Amsterdam","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Andorra","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Athens","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Belfast","GMT","GMT","BST","BST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00"
+"Europe/Belgrade","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Berlin","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Bratislava","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Brussels","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Bucharest","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Budapest","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Chisinau","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Copenhagen","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Dublin","GMT","GMT","IST","IST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00"
+"Europe/Gibraltar","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Helsinki","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Istanbul","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Kaliningrad","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Kiev","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Lisbon","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00"
+"Europe/Ljubljana","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/London","GMT","GMT","BST","BST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00"
+"Europe/Luxembourg","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Madrid","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Malta","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Minsk","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Monaco","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Moscow","MSK","MSK","MSD","MSD","+03:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Nicosia","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Oslo","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Paris","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Prague","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Riga","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Rome","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Samara","SAMT","SAMT","SAMST","SAMST","+04:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/San_Marino","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Sarajevo","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Simferopol","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Skopje","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Sofia","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Stockholm","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Tallinn","EET","EET","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Europe/Tirane","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Uzhgorod","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Vaduz","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Vatican","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Vienna","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Vilnius","EET","EET","","","+02:00:00","+00:00:00","","","","+00:00:00"
+"Europe/Warsaw","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Zagreb","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Europe/Zaporozhye","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00"
+"Europe/Zurich","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00"
+"Indian/Antananarivo","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Indian/Chagos","IOT","IOT","","","+06:00:00","+00:00:00","","","","+00:00:00"
+"Indian/Christmas","CXT","CXT","","","+07:00:00","+00:00:00","","","","+00:00:00"
+"Indian/Cocos","CCT","CCT","","","+06:30:00","+00:00:00","","","","+00:00:00"
+"Indian/Comoro","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Indian/Kerguelen","TFT","TFT","","","+05:00:00","+00:00:00","","","","+00:00:00"
+"Indian/Mahe","SCT","SCT","","","+04:00:00","+00:00:00","","","","+00:00:00"
+"Indian/Maldives","MVT","MVT","","","+05:00:00","+00:00:00","","","","+00:00:00"
+"Indian/Mauritius","MUT","MUT","","","+04:00:00","+00:00:00","","","","+00:00:00"
+"Indian/Mayotte","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00"
+"Indian/Reunion","RET","RET","","","+04:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Apia","WST","WST","","","-11:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Auckland","NZST","NZST","NZDT","NZDT","+12:00:00","+01:00:00","1;0;10","+02:00:00","3;0;3","+03:00:00"
+"Pacific/Chatham","CHAST","CHAST","CHADT","CHADT","+12:45:00","+01:00:00","1;0;10","+02:45:00","3;0;3","+03:45:00"
+"Pacific/Easter","EAST","EAST","EASST","EASST","-06:00:00","+01:00:00","2;6;10","+22:00:00","2;6;3","+22:00:00"
+"Pacific/Efate","VUT","VUT","","","+11:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Enderbury","PHOT","PHOT","","","+13:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Fakaofo","TKT","TKT","","","-10:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Fiji","FJT","FJT","","","+12:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Funafuti","TVT","TVT","","","+12:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Galapagos","GALT","GALT","","","-06:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Gambier","GAMT","GAMT","","","-09:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Guadalcanal","SBT","SBT","","","+11:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Guam","ChST","ChST","","","+10:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Honolulu","HST","HST","","","-10:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Johnston","HST","HST","","","-10:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Kiritimati","LINT","LINT","","","+14:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Kosrae","KOST","KOST","","","+11:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Kwajalein","MHT","MHT","","","+12:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Majuro","MHT","MHT","","","+12:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Marquesas","MART","MART","","","-09:30:00","+00:00:00","","","","+00:00:00"
+"Pacific/Midway","SST","SST","","","-11:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Nauru","NRT","NRT","","","+12:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Niue","NUT","NUT","","","-11:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Norfolk","NFT","NFT","","","+11:30:00","+00:00:00","","","","+00:00:00"
+"Pacific/Noumea","NCT","NCT","","","+11:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Pago_Pago","SST","SST","","","-11:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Palau","PWT","PWT","","","+09:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Pitcairn","PST","PST","","","-08:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Ponape","PONT","PONT","","","+11:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Port_Moresby","PGT","PGT","","","+10:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Rarotonga","CKT","CKT","","","-10:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Saipan","ChST","ChST","","","+10:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Tahiti","TAHT","TAHT","","","-10:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Tarawa","GILT","GILT","","","+12:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Tongatapu","TOT","TOT","","","+13:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Truk","TRUT","TRUT","","","+10:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Wake","WAKT","WAKT","","","+12:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Wallis","WFT","WFT","","","+12:00:00","+00:00:00","","","","+00:00:00"
+"Pacific/Yap","YAPT","YAPT","","","+10:00:00","+00:00:00","","","","+00:00:00"
diff --git a/examples/pyboost_dev/pyboost/rational/__init__.py b/examples/pyboost_dev/pyboost/rational/__init__.py
new file mode 100644
index 0000000..c3204b5
--- /dev/null
+++ b/examples/pyboost_dev/pyboost/rational/__init__.py
@@ -0,0 +1,17 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import _rational_
+
+from _rational_ import rational
+from _rational_ import lcm
+from _rational_ import gcd
+from _rational_ import bad_rational
+
+rational.__abs__ = _rational_.abs
+rational.__float__ = _rational_.to_double
+rational.__long__ = _rational_.to_long
+rational.__int__ = _rational_.to_long
\ No newline at end of file
diff --git a/examples/pyboost_dev/random_example.py b/examples/pyboost_dev/random_example.py
new file mode 100644
index 0000000..2c3ac24
--- /dev/null
+++ b/examples/pyboost_dev/random_example.py
@@ -0,0 +1,8 @@
+import time
+from pyboost import boost_random
+
+rng = boost_random.mt19937( int( time.time() ) ) #setting initial seed
+six = boost_random.uniform_int(1,6)
+die = boost_random.variate_generator( rng, six )
+
+print die()
\ No newline at end of file
diff --git a/examples/pyboost_dev/rational_example.py b/examples/pyboost_dev/rational_example.py
new file mode 100644
index 0000000..b725f0f
--- /dev/null
+++ b/examples/pyboost_dev/rational_example.py
@@ -0,0 +1,15 @@
+from pyboost import rational
+
+half = rational.rational( 1, 2 )
+one = rational.rational( 1 )
+two = rational.rational( 2 )
+
+#Some basic checks
+assert half.numerator() == 1
+assert half.denominator() == 2
+assert float(half) == 0.5
+#Arithmetic
+assert half + half == one == 1
+assert one - half == half
+assert two * half == one == 1
+assert one / half == two == 2
\ No newline at end of file
diff --git a/examples/pyboost_dev/sconstruct b/examples/pyboost_dev/sconstruct
new file mode 100644
index 0000000..a55c658
--- /dev/null
+++ b/examples/pyboost_dev/sconstruct
@@ -0,0 +1,29 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+sys.path.append( './../..' )
+import environment
+
+env = Environment(
+      LIBS=['boost_python']
+    , LIBPATH=[ environment.boost.libs, environment.python.libs ]
+    , CPPPATH=[ environment.boost.include, environment.python.include ]
+    , SHLIBPREFIX=''
+    , SHLIBSUFFIX=environment.scons.suffix  
+)
+
+if sys.platform == 'win32':
+    env.Replace( no_import_lib=1 )
+    env.Append( CCFLAGS='/EHsc' )
+else:
+    env.Append( CCFLAGS=' -Os -fPIC -fvisibility=hidden' )
+
+Export( 'env' )
+env.SConscript( ['dev/date_time/sconscript'] )
+#env.SConscript( ['dev/crc/sconscript'] )
+#env.SConscript( ['dev/boost_random/sconscript'] )
+#env.SConscript( ['dev/rational/sconscript'] )
\ No newline at end of file
diff --git a/examples/pyboost_dev/setup.py b/examples/pyboost_dev/setup.py
new file mode 100644
index 0000000..f10ad0a
--- /dev/null
+++ b/examples/pyboost_dev/setup.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys, os, os.path
+from distutils import sysconfig
+from distutils.core import setup
+
+__version__ = "0.2"
+
+setup( 
+    name = "pyboost"
+    , version = __version__
+    , description = ""
+    , author = "Roman Yakovenko"
+    , author_email = "roman.yakovenko at gmail.com"
+    , packages = [ 'pyboost'
+                   , 'pyboost.boost_random'
+                   , 'pyboost.crc'
+                   , 'pyboost.date_time'
+                   , 'pyboost.rational' ]
+    , package_data = {
+       'pyboost.boost_random' : [ '_random_.dll', 'boost_python.dll' ]
+       , 'pyboost.crc' : [ '_crc_.dll', 'boost_python.dll' ]
+       , 'pyboost.date_time' : [ '_date_time_.dll'
+                                 , 'boost_python.dll'
+                                 , 'boost_date_time-vc71-mt-1_34.dll'
+                                 , 'date_time_zonespec.csv' ]
+       , 'pyboost.rational' : [ '_rational_.dll', 'boost_python.dll' ]
+      }
+)
diff --git a/examples/pyboost_dev/unittestst/boost_random/test_all.py b/examples/pyboost_dev/unittestst/boost_random/test_all.py
new file mode 100644
index 0000000..13b34a2
--- /dev/null
+++ b/examples/pyboost_dev/unittestst/boost_random/test_all.py
@@ -0,0 +1,76 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+sys.path.append( '../..' )
+
+from pyboost import boost_random
+import unittest
+
+class tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+    
+    def randomness_tester( self, generator, count=1000 ):
+        generated = set()
+        for i in range( count ):
+            value = generator()
+            generated.add( value )
+        self.failUnless( len( generated ) >= count * 0.9 )
+
+    def generator_tester( self, gclass, *args ):
+        gen = gclass()
+        self.randomness_tester( gen )
+        print '\nname : ', gen.__class__.__name__
+        print '  max: ', gen.max()
+        print '  min: ', gen.min()
+        gen = gclass( *args )
+        self.randomness_tester( gen )
+        gen.seed()
+        self.randomness_tester( gen )
+    
+    def test_generators(self):
+        for gclass in boost_random.generators:
+            self.generator_tester(gclass)
+        
+    def instantiate_dist( self, urng, dist ):
+        if not boost_random.variate_generator_exists( urng, dist ):
+            return
+        gen1 = boost_random.variate_generator( urng, dist)
+        gen2 = boost_random.variate_generator( urng, dist)
+        self.randomness_tester( gen1 )
+        self.randomness_tester( gen2 )
+        self.failUnless( abs( gen1() - gen2() ) < 1e-6 )
+        gen1.engine()
+        gen1.distribution().reset()
+        gen2.engine()
+        gen2.distribution().reset()
+
+    def instantiate_real_dist( self, urng ):
+        self.instantiate_dist(urng, boost_random.uniform_real(0, 2.1) )
+        self.instantiate_dist(urng, boost_random.triangle_distribution(1, 1.5, 7) )
+        self.instantiate_dist(urng, boost_random.exponential_distribution(5) )
+        self.instantiate_dist(urng, boost_random.normal_distribution(0,1) )
+        #self.instantiate_dist(urng, boost_random.normal_distribution() )
+        self.instantiate_dist(urng, boost_random.lognormal_distribution(1, 1) )
+        self.instantiate_dist(urng, boost_random.cauchy_distribution(1, 1) )
+        self.instantiate_dist(urng, boost_random.gamma_distribution(1) )
+
+    def test_distributions( self ):
+        for gclass in boost_random.generators:
+            self.instantiate_real_dist( gclass() )
+
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t) )
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/examples/pyboost_dev/unittestst/crc/test_all.py b/examples/pyboost_dev/unittestst/crc/test_all.py
new file mode 100644
index 0000000..088ff22
--- /dev/null
+++ b/examples/pyboost_dev/unittestst/crc/test_all.py
@@ -0,0 +1,233 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+sys.path.append( '../..' )
+
+from pyboost import crc
+import random
+import unittest
+
+class consts:
+    data = [ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39 ]
+    crc_ccitt_result = 0x29B1
+    crc_16_result = 0xBB3D
+    crc_32_result = 0xCBF43926
+
+class tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+    
+    def fundamental_test( self, cls, data, expected ):
+        inst = cls()
+        inst.process_bytes( data )
+        #self.failUnless( inst.checksum() == expected )
+        
+    def compute_test( self, fast_crc, slow_crc, expected ):
+        fast_crc.process_bytes( consts.data, len(consts.data) )
+        slow_crc.process_bytes( consts.data, len(consts.data) )
+    
+    def test( self ):
+        self.fundamental_test( crc.crc_ccitt_type, consts.data, consts.crc_ccitt_result )
+        self.fundamental_test( crc.crc_16_type, consts.data, consts.crc_16_result )
+        self.fundamental_test( crc.crc_32_type, consts.data, consts.crc_32_result )
+
+    def test_crc_basic_1( self ):
+        crc1 = crc.crc_basic_1( 1 )
+        crc1.process_bytes( consts.data )
+        self.failUnless( crc1.checksum() == 1 )
+        
+    def test_crc_basic_3( self ):
+        #The CRC standard is a SDH/SONET Low Order LCAS control word with CRC-3
+        #taken from ITU-T G.707 (12/03) XIII.2.
+
+        #Four samples, each four bytes should all have a CRC of zero
+        samples = \
+        [
+            [ 0x3A, 0xC4, 0x08, 0x06 ],
+            [ 0x42, 0xC5, 0x0A, 0x41 ],
+            [ 0x4A, 0xC5, 0x08, 0x22 ],
+            [ 0x52, 0xC4, 0x08, 0x05 ]
+        ]
+
+        # Basic computer
+        tester1 = crc.basic[3]( 0x03 ) #same as crc.crc_basic_3
+    
+        tester1.process_bytes( samples[0] )
+        self.failUnless( tester1.checksum() == 0 )
+    
+        tester1.reset()
+        tester1.process_bytes( samples[1] )
+        self.failUnless( tester1.checksum() == 0 )
+    
+        tester1.reset()
+        tester1.process_bytes( samples[2] )
+        self.failUnless( tester1.checksum() == 0 )
+    
+        tester1.reset()
+        tester1.process_bytes( samples[3] )
+        self.failUnless( tester1.checksum() == 0 )
+    
+        # Optimal computer
+        #define PRIVATE_CRC_FUNC   boost::crc<3, 0x03, 0, 0, false, false>
+        #define PRIVATE_ACRC_FUNC  boost::augmented_crc<3, 0x03>
+    
+        #self.failUnless( 0 == PRIVATE_CRC_FUNC(samples[0], 4) )
+        #self.failUnless( 0 == PRIVATE_CRC_FUNC(samples[1], 4) )
+        #self.failUnless( 0 == PRIVATE_CRC_FUNC(samples[2], 4) )
+        #self.failUnless( 0 == PRIVATE_CRC_FUNC(samples[3], 4) )
+    
+        # maybe the fix to CRC functions needs to be applied to augmented CRCs?
+    
+        #undef PRIVATE_ACRC_FUNC
+        #undef PRIVATE_CRC_FUNC
+        
+    def test_crc_basic_7( self ):
+        #"Doing short-CRC (7-bit augmented) message tests."
+    
+        # The CRC standard is a SDH/SONET J0/J1/J2/N1/N2/TR TTI (trace message)
+        # with CRC-7, o.a. ITU-T G.707 Annex B, G.832 Annex A.
+    
+        # Two samples, each sixteen bytes
+        # Sample 1 is '\x80' + ASCII("123456789ABCDEF")
+        # Sample 2 is '\x80' + ASCII("TTI UNAVAILABLE")
+        samples = [ [ 0x80, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
+                      0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46 ]
+                  , [ 0x80, 0x54, 0x54, 0x49, 0x20, 0x55, 0x4E, 0x41, 
+                      0x56, 0x41, 0x49, 0x4C, 0x41, 0x42, 0x4C, 0x45 ] ]
+        results = [ 0x62, 0x23 ]
+    
+        # Basic computer
+        tester1 = crc.crc_basic_7( 0x09 )
+    
+        tester1.process_bytes( samples[0] )
+        self.failUnless( tester1.checksum() == results[0] )
+    
+        tester1.reset()
+        tester1.process_bytes( samples[1] )
+        self.failUnless( tester1.checksum() == results[1] )
+    
+        # Optimal computer
+        #define PRIVATE_CRC_FUNC   boost::crc<7, 0x09, 0, 0, false, false>
+        #define PRIVATE_ACRC_FUNC  boost::augmented_crc<7, 0x09>
+    
+        #self.failUnless( results[0] == PRIVATE_CRC_FUNC(samples[0], 16) )
+        #self.failUnless( results[1] == PRIVATE_CRC_FUNC(samples[1], 16) )
+    
+        # maybe the fix to CRC functions needs to be applied to augmented CRCs?
+    
+        #undef PRIVATE_ACRC_FUNC
+        #undef PRIVATE_CRC_FUNC
+    
+    def compute_test( self, optimal_cls, basic_cls, data, expected ):   
+        fast_crc = optimal_cls()
+        slow_crc = basic_cls( fast_crc.truncated_polynominal
+                              , fast_crc.initial_remainder
+                              , fast_crc.final_xor_value
+                              , fast_crc.reflect_input
+                              , fast_crc.reflect_remainder )
+
+        fast_crc.process_bytes( data )
+        slow_crc.process_bytes( data )
+        self.failUnless( fast_crc.checksum() == expected )
+        self.failUnless( slow_crc.checksum() == expected )
+        #self.failUnless( func_result == expected );
+
+    def interrupt_test( self, optimal_cls, basic_cls, data, expected ):   
+        fast_crc1 = optimal_cls()
+        slow_crc1 = basic_cls( fast_crc1.truncated_polynominal
+                               , fast_crc1.initial_remainder
+                               , fast_crc1.final_xor_value
+                               , fast_crc1.reflect_input
+                               , fast_crc1.reflect_remainder )
+        self.failUnless( fast_crc1.get_interim_remainder() == slow_crc1.get_initial_remainder() )
+        first_half = data[:len( data )/2]
+        second_half = data[len( data )/2:]
+        
+        fast_crc1.process_bytes( first_half );
+        slow_crc1.process_bytes( first_half );
+        self.failUnless( fast_crc1.checksum() == slow_crc1.checksum() )
+        
+        #Process the second half of the data (also test accessors)
+        fast_crc2 = optimal_cls( fast_crc1.get_interim_remainder() )
+        slow_crc2 = basic_cls( slow_crc1.get_truncated_polynominal()
+                               , slow_crc1.get_interim_remainder()
+                               , slow_crc1.get_final_xor_value()
+                               , slow_crc1.get_reflect_input()
+                               , slow_crc1.get_reflect_remainder() )        
+        
+        fast_crc2.process_block( second_half )
+        slow_crc2.process_block( second_half )
+        
+        self.failUnless( fast_crc2.checksum() == slow_crc2.checksum() )
+        self.failUnless( fast_crc2.checksum() == expected )
+        self.failUnless( slow_crc2.checksum() == expected )
+
+    def error_test( self, optimal_cls, basic_cls ):   
+        # Create a random block of data
+        ran_data = map( lambda unused: random.randint(0, 255), [0] * 256 )
+
+        # Create computers and compute the checksum of the data
+        fast_tester = optimal_cls()
+        slow_tester = basic_cls( fast_tester.truncated_polynominal
+                                 , fast_tester.initial_remainder
+                                 , fast_tester.final_xor_value
+                                 , fast_tester.reflect_input
+                                 , fast_tester.reflect_remainder )
+
+        fast_tester.process_bytes( ran_data )
+        slow_tester.process_bytes( ran_data )
+    
+        fast_checksum = fast_tester.checksum()
+        slow_checksum = slow_tester.checksum()
+    
+        self.failUnless( fast_checksum == slow_checksum )
+    
+        # Do the checksum again (and test resetting ability)
+        fast_tester.reset();
+        slow_tester.reset( fast_tester.initial_remainder );
+        fast_tester.process_bytes( ran_data )
+        slow_tester.process_bytes( ran_data )
+        self.failUnless( fast_tester.checksum() == slow_tester.checksum() )
+        self.failUnless( fast_tester.checksum() == fast_checksum )
+        self.failUnless( slow_tester.checksum() == slow_checksum )
+    
+        # Produce a single-bit error
+        ran_data[ ran_data[0] % 255 ] = ( ran_data[ ran_data[0] % 255 ] ^ ( 1 << (ran_data[1] % 32) ) ) % 255
+    
+        # Compute the checksum of the errorenous data
+        # (and continue testing resetting ability)
+        fast_tester.reset( fast_tester.initial_remainder )
+        slow_tester.reset()
+        fast_tester.process_bytes( ran_data )
+        slow_tester.process_bytes( ran_data )
+        self.failUnless( fast_tester.checksum() == slow_tester.checksum() )
+        self.failUnless( fast_tester.checksum() != fast_checksum )
+        self.failUnless( slow_tester.checksum() != slow_checksum )
+
+    def test_crc_ccitt( self ):
+        self.compute_test( crc.crc_ccitt_type, crc.crc_basic_16, consts.data, consts.crc_ccitt_result )
+        self.interrupt_test( crc.crc_ccitt_type, crc.crc_basic_16, consts.data, consts.crc_ccitt_result )
+        self.error_test( crc.crc_ccitt_type, crc.crc_basic_16 )
+        
+    def test_crc_16( self ):
+        self.compute_test( crc.crc_16_type, crc.crc_basic_16, consts.data, consts.crc_16_result)
+        self.interrupt_test( crc.crc_16_type, crc.crc_basic_16, consts.data, consts.crc_16_result)
+
+    def test_crc_32( self ):
+        self.compute_test( crc.crc_32_type, crc.crc_basic_32, consts.data, consts.crc_32_result)
+        self.interrupt_test( crc.crc_32_type, crc.crc_basic_32, consts.data, consts.crc_32_result)
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t) )
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/examples/pyboost_dev/unittestst/date_time/examples.py b/examples/pyboost_dev/unittestst/date_time/examples.py
new file mode 100644
index 0000000..c3619fb
--- /dev/null
+++ b/examples/pyboost_dev/unittestst/date_time/examples.py
@@ -0,0 +1,33 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import unittest
+import date_time
+from date_time import gregorian
+from date_time import posix_time
+from date_time import local_time
+from date_time import to_iso_string
+
+class examples_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+    
+    def test_days_alive(self):
+        birthday = gregorian.date( 1900, date_time.Mar, 18 )
+        today = gregorian.day_clock.local_day()
+        alive = today - birthday
+        print str(alive)
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(examples_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/examples/pyboost_dev/unittestst/date_time/gregorian_tester.py b/examples/pyboost_dev/unittestst/date_time/gregorian_tester.py
new file mode 100644
index 0000000..e4158a2
--- /dev/null
+++ b/examples/pyboost_dev/unittestst/date_time/gregorian_tester.py
@@ -0,0 +1,559 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+sys.path.append( '../..' )
+
+from pyboost import date_time
+from pyboost.date_time import gregorian
+from pyboost.date_time import posix_time
+from pyboost.date_time import to_iso_string
+from pyboost.date_time import to_simple_string
+import unittest
+
+class tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+    
+    def test_current_day(self):
+        d1 = gregorian.day_clock.local_day()
+        print to_iso_string( d1 )
+        
+        ymd = gregorian.day_clock.local_day_ymd()
+        
+        print '%i-%s-%i' % ( ymd.year.as_number()
+                             , ymd.month.as_long_string()
+                             , ymd.day.as_number() )
+
+        d2 = gregorian.day_clock.universal_day()
+        print to_iso_string( d2 )
+
+        ymd2 = gregorian.day_clock.universal_day_ymd()
+        print '%i-%s-%i' % ( ymd2.year.as_number()
+                             , ymd2.month.as_long_string()
+                             , ymd2.day.as_number() )
+
+    def test_date(self):
+        self.failUnless( gregorian.date() == gregorian.date( date_time.not_a_date_time ) )
+        d1 = gregorian.date( 1900, 1, 1 )
+        d2 = gregorian.date( 2000, 1, 1 )
+        d3 = gregorian.date( 1900, 1, 1 )
+        d4 = gregorian.date( 2000, 12, 31 ) 
+        d4a = gregorian.date( 2000, date_time.Dec, 31 ) 
+        self.failUnless( d4 == d4a )
+        self.failUnless( d1.day().as_number() == 1 )
+        self.failUnless( d1.month().as_number() == 1 )
+        self.failUnless( d1.year().as_number() == 1900 )
+        self.failUnless( d4a.month().as_number() == 12 )
+        self.failUnless( d1 < d2 )
+        self.failUnless( not ( d1 < d1 ) )
+        self.failUnless( d1 <= d1 )
+        self.failUnless( d2 > d1 )
+        self.failUnless( not ( d1 > d1 ) )
+        self.failUnless( d1 >= d1 )
+        self.failUnless( d2 != d1 )
+        self.failUnless( d1 == d3 )
+        ymd = d1.year_month_day()
+        self.failUnless( ymd.year.as_number() == 1900 )
+        self.failUnless( ymd.month.as_number() == 1 )
+        self.failUnless( ymd.day.as_number() == 1 )
+  
+        answers = [ gregorian.date( 1900, date_time.Jan, 1 )
+                    , gregorian.date( 1900, date_time.Jan, 4 )
+                    , gregorian.date( 1900, date_time.Jan, 7 )
+                    , gregorian.date( 1900, date_time.Jan, 10 )
+                    , gregorian.date( 1900, date_time.Jan, 13 )
+        ]
+        off = gregorian.date_duration( 3 )
+        d5 = gregorian.date( 1900, 1, 1 )
+        for i in range(5):
+            self.failUnless( d5 == answers[i] )
+            d5 = d5 + off
+  
+        answers1 = [ gregorian.date(2000, 2 ,26)
+                     , gregorian.date(2000, 2 ,28)
+                     , gregorian.date(2000, date_time.Mar ,1 )]
+        d8 = gregorian.date(2000, date_time.Feb, 26)
+        for i in range(3):
+            self.failUnless( d8 == answers1[i] )
+            d8 += gregorian.days(2)
+
+        d6 = gregorian.date(2000,2,28)
+        d7 = gregorian.date(2000,3,1)
+        twoDays = gregorian.date_duration(2)
+        negtwoDays = gregorian.date_duration(-2)
+        zeroDays = gregorian.date_duration(0)
+        self.failUnless( twoDays    == d7 - d6 )
+        self.failUnless( negtwoDays == d6 - d7 )
+        self.failUnless( zeroDays   == d6 - d6 )
+        self.failUnless( d6 + twoDays == d7 )
+        self.failUnless( d7 - twoDays == d6 )
+        self.failUnless( gregorian.date(1999,1,1) + gregorian.date_duration(365) 
+                         == gregorian.date(2000,1,1) )
+        self.failUnless( gregorian.date(1999,1,1) + zeroDays == gregorian.date(1999,1,1) )        
+
+        d = gregorian.date(2003, date_time.Oct, 31)
+        dd = gregorian.date_duration(55)
+        d += dd
+        self.failUnless( d == gregorian.date(2003, date_time.Dec,25) )
+        d -= dd;
+        self.failUnless( d == gregorian.date(2003, date_time.Oct,31) )
+
+        d = gregorian.date(2003,date_time.Oct, 31)
+        dd1 = gregorian.date_duration( date_time.pos_infin)
+        dd2 = gregorian.date_duration( date_time.neg_infin)
+        dd3 = gregorian.date_duration( date_time.not_a_date_time)
+
+        self.failUnless( d + dd1 == gregorian.date(date_time.pos_infin))
+        self.failUnless( d + dd2 == gregorian.date(date_time.neg_infin))
+        self.failUnless( d + dd3 == gregorian.date(date_time.not_a_date_time))
+        self.failUnless( d - dd1 == gregorian.date(date_time.neg_infin))
+        self.failUnless( d - dd2 == gregorian.date(date_time.pos_infin))
+        self.failUnless( d - dd3 == gregorian.date(date_time.not_a_date_time))
+        self.failUnless( gregorian.date(date_time.pos_infin) + dd1 
+                         == gregorian.date(date_time.pos_infin))
+        self.failUnless( gregorian.date(date_time.pos_infin) - dd1 
+                         == gregorian.date(date_time.not_a_date_time))
+        self.failUnless( gregorian.date(date_time.neg_infin) + dd1 
+                         == gregorian.date(date_time.not_a_date_time))
+        self.failUnless( gregorian.date(date_time.neg_infin) - dd1 
+                         == gregorian.date(date_time.neg_infin))
+              
+        self.failUnlessRaises( Exception, lambda: gregorian.date( 2000, 1, 32 ) ) 
+        self.failUnlessRaises( Exception, lambda: gregorian.date( 2000, 1, 0 ) ) 
+        self.failUnlessRaises( Exception, lambda: gregorian.date( 2000, 2, 31 ) ) 
+     
+        d15 = gregorian.date(1400,1,1)
+        self.failUnless( d15.julian_day() == 2232400)
+        self.failUnless( d15.modjulian_day() == -167601)
+
+        d16 = gregorian.date(2004,2,29)
+        self.failUnless( d16.julian_day() == 2453065)
+        self.failUnless( d16.modjulian_day() == 53064)
+
+        d31 = gregorian.date(2000, date_time.Jun, 1)
+        self.failUnless( d31.week_number() == 22)
+        
+        d38 = gregorian.date(2001, 1, 1)
+        self.failUnless( d38.day_of_year().as_number() == 1)
+
+    def test_date_duration(self):
+        threeDays = gregorian.date_duration(3)
+        twoDays = gregorian.date_duration(2)
+        self.failUnless( threeDays == threeDays )
+        self.failUnless( threeDays == gregorian.date_duration(3) )
+        self.failUnless( threeDays != twoDays )
+        self.failUnless( twoDays < threeDays )
+        self.failUnless( not ( threeDays < twoDays ) )
+        self.failUnless( not ( threeDays < threeDays ) )
+        self.failUnless( not ( threeDays > threeDays ) )
+        self.failUnless( threeDays >= threeDays )
+        self.failUnless( not ( twoDays >= threeDays ) )
+        self.failUnless( twoDays + threeDays == gregorian.date_duration(5) )
+        fiveDays = gregorian.date_duration(3)
+        fiveDays += twoDays
+        self.failUnless( fiveDays == gregorian.date_duration(5) )
+        derivedOneDay = threeDays - twoDays
+        self.failUnless( twoDays - threeDays == gregorian.date_duration(-1) )
+        oneDay = gregorian.date_duration(1)
+        self.failUnless( oneDay == derivedOneDay )
+        fiveDaysDerived = gregorian.date_duration( 10 )
+        fiveDaysDerived -= fiveDays
+        self.failUnless( fiveDaysDerived == fiveDays)
+
+        oneDay = twoDays / 2
+        self.failUnless( oneDay.days() == 1 )
+        hundred = gregorian.date_duration(100)
+        hundred /= -10
+        self.failUnless( hundred.days() == -10 and hundred.is_negative())
+        self.failUnless( gregorian.date_duration( -gregorian.date_duration( 123 ).days() ).days() == -123 )
+        pos_dur = gregorian.date_duration(123)
+        neg_dur = -pos_dur
+        self.failUnless( neg_dur.days() == -123)
+        
+        pi_dur = gregorian.date_duration(date_time.pos_infin)
+        ni_dur = gregorian.date_duration(date_time.neg_infin)
+        nd_dur = gregorian.date_duration(date_time.not_a_date_time)
+        self.failUnless( pi_dur + ni_dur == nd_dur)
+        self.failUnless( ni_dur / 3 == ni_dur)
+        self.failUnless( pi_dur + hundred == pi_dur)
+        self.failUnless( -pi_dur == ni_dur)
+       
+
+    def test_generators(self):
+        pd1 =gregorian.partial_date(1, date_time.Jan)
+        d = pd1.get_date(2000)
+        self.failUnless( pd1.to_string() == "0" )
+        self.failUnless( gregorian.date(2000,1,1) == d)
+  
+        pd2 = gregorian.partial_date(1, date_time.Feb)
+
+        self.failUnless( pd1 == pd1)
+        self.failUnless( not(pd1 == pd2) )
+        self.failUnless( not(pd2 == pd1) )
+        self.failUnless( not(pd1 < pd1) )
+        self.failUnless( pd1 < pd2)
+        self.failUnless( not(pd2 < pd1) )
+        
+        lastkday = gregorian.last_day_of_the_week_in_month
+        lsif = lastkday( date_time.Sunday, date_time.Feb)
+        self.failUnless( gregorian.date(2002,  date_time.Feb,24) 
+                         == lsif.get_date(2002))
+        self.failUnless( lsif.to_string() == "M2.5.0" )
+  
+        firstkday = gregorian.first_day_of_the_week_in_month
+        fsif = firstkday(date_time.Sunday, date_time.Feb)
+        self.failUnless( gregorian.date(2002, date_time.Feb,3) 
+                         == fsif.get_date(2002))
+        self.failUnless( fsif.to_string() == "M2.1.0" )
+        
+        firstkdayafter = gregorian.first_day_of_the_week_after
+        fkaf = firstkdayafter(date_time.Monday)
+        self.failUnless( gregorian.date(2002, date_time.Feb,4) 
+                         == fkaf.get_date( gregorian.date(2002,date_time.Feb,1)))
+        self.failUnless( '2002-Feb-04' == to_simple_string( fkaf.get_date( gregorian.date(2002,date_time.Feb,1))))
+
+        firstkdaybefore = gregorian.first_day_of_the_week_before
+        fkbf = firstkdaybefore(date_time.Monday)
+        self.failUnless( '2002-Feb-11' == to_simple_string(fkaf.get_date(gregorian.date(2002,date_time.Feb,10))))
+        self.failUnless( gregorian.date(2002,date_time.Feb,4) 
+                         == fkbf.get_date(gregorian.date(2002,date_time.Feb,10)))
+        
+        nthkdayofmonth = gregorian.nth_day_of_the_week_in_month;
+        nkd1 = nthkdayofmonth(nthkdayofmonth.third, date_time.Sunday, date_time.Jul)
+
+        self.failUnless( gregorian.date(1969, date_time.Jul, 20) == nkd1.get_date(1969))
+        self.failUnless( nkd1.to_string() == "M7.3.0" )
+
+        saturday = gregorian.date(2003,date_time.Feb,8)
+        sund = gregorian.greg_weekday(date_time.Sunday)
+        self.failUnless( gregorian.days_until_weekday(saturday, sund) == gregorian.days(1))
+        self.failUnless( gregorian.days_before_weekday(saturday, sund) == gregorian.days(6))
+        self.failUnless( gregorian.next_weekday(saturday, sund)== gregorian.date(2003,date_time.Feb,9))
+        self.failUnless( gregorian.previous_weekday(saturday, sund)== gregorian.date(2003,date_time.Feb,2))
+
+    def test_greg_day(self):
+        self.failUnless( gregorian.greg_day(1).as_number() == 1 )
+        self.failUnlessRaises( Exception, lambda: gregorian.greg_day(0) )
+        self.failUnless( gregorian.greg_day.min() == 1 )
+        self.failUnless( gregorian.greg_day.max() == 31 )
+        sunday = gregorian.greg_weekday(0)
+        monday = gregorian.greg_weekday(1)
+        self.failUnless( sunday.as_short_string() == "Sun" )
+        self.failUnlessRaises( Exception, lambda: gregorian.greg_day_of_year_rep(367) )
+
+    def test_greg_year(self):
+        self.failUnless( gregorian.greg_year(1400).as_number() == 1400 )
+        self.failUnlessRaises( Exception, lambda: gregorian.greg_year(0) )
+        self.failUnless( gregorian.greg_year.min() == 1400 )
+        self.failUnless( gregorian.greg_year.max() == 10000 )
+    
+    def test_greg_month(self):
+        m1 = gregorian.greg_month(date_time.Jan)
+        self.failUnless( m1.as_number() == 1)
+        self.failUnless( m1.as_short_string() == "Jan")
+        self.failUnless( m1.as_long_string() == "January")
+        sm1 = gregorian.greg_month(1)
+        self.failUnless( sm1.as_number() == 1)
+        self.failUnless( gregorian.greg_month.min() == 1 )
+        self.failUnless( gregorian.greg_month.max() == 12 )
+
+    def test_greg_cal(self):
+        self.failUnless( gregorian.calendar.day_of_week(gregorian.ymd_type(2000,9,24))==0 )
+        self.failUnless( gregorian.calendar.is_leap_year(1404) )
+        jday1 = gregorian.calendar.day_number( gregorian.ymd_type(2000,1,1))
+        jday2 = gregorian.calendar.day_number( gregorian.ymd_type(2001,1,1))
+        self.failUnless( jday1 == 2451545 )
+        self.failUnless( jday2 == 2451911 )
+        ymd = gregorian.calendar.from_day_number(jday1)
+        self.failUnless( ymd.year.as_number() == 2000 
+                         and ymd.month.as_number() == 1 
+                         and ymd.day.as_number() == 1 )
+        self.failUnless( gregorian.calendar.end_of_month_day(2000,1) == 31)
+
+    def test_greg_durations(self):
+        m1 = gregorian.months(5)
+        m2 = gregorian.months(3)
+        m3 = gregorian.months(1)
+        self.failUnless( gregorian.months(8) == m1 + m2)
+        m1 += m2
+        self.failUnless( gregorian.months(8) == m1)
+        self.failUnless( gregorian.months(-5) == m2 - m1)
+        m2 -= m1;
+        self.failUnless( gregorian.months(-5) == m2)
+      
+        d1 = gregorian.date(2005, date_time.Jan, 1)
+
+        self.failUnless( d1 + gregorian.months(-1) 
+                         == gregorian.date(2004, date_time.Dec, 1) )
+        d3 = gregorian.date(2005, date_time.Dec, 1);
+        self.failUnless( d3 - gregorian.months(-1) 
+                         == gregorian.date(2006,date_time.Jan,1))
+        m1 = gregorian.months(5)
+        m2 = gregorian.months(3)
+        m3 = gregorian.months(10)
+        self.failUnless( gregorian.months(15) == m1 * 3)
+        m1 *= 3
+        self.failUnless( gregorian.months(15) == m1)
+        self.failUnless( gregorian.months(12) == m2 * 4)
+        self.failUnless( gregorian.months(3) == m3 / 3)
+        m3 /= 3
+        self.failUnless( gregorian.months(3) == m3)
+
+        m = gregorian.months(-5)
+        m_pos = gregorian.months(date_time.pos_infin)
+        m_neg = gregorian.months(date_time.neg_infin)
+        m_nadt = gregorian.months(date_time.not_a_date_time)
+        self.failUnless( m + m_pos == m_pos)
+        self.failUnless( m + m_neg == m_neg)
+        self.failUnless( m_pos + m_neg == m_nadt)
+        self.failUnless( m_neg + m_neg == m_neg)
+        self.failUnless( m - m_pos == m_neg)
+        self.failUnless( m - m_neg == m_pos)
+        self.failUnless( m_pos - m_neg == m_pos)
+        self.failUnless( m_pos * -1 == m_neg)
+        self.failUnless( m_pos * 0 == m_nadt)
+        self.failUnless( m_neg / 3 == m_neg)
+       
+        y1 = gregorian.years(2)
+        y2 = gregorian.years(4)
+        self.failUnless( gregorian.months(27) == m3 + y1)
+        m3 += y1
+        self.failUnless( gregorian.months(27) == m3)
+        self.failUnless( gregorian.months(-21) == m3 - y2)
+        m3 -= y2
+        self.failUnless( gregorian.months(-21) == m3)
+
+        d = gregorian.date(2001, date_time.Oct, 31);
+        self.failUnless( gregorian.date(2002, date_time.Feb, 28) 
+                         == d + gregorian.months(4))
+        d += gregorian.months(4)
+        self.failUnless( gregorian.date(2002, date_time.Feb, 28) == d);
+        d = gregorian.date(2001, date_time.Oct, 31);
+        self.failUnless( gregorian.date(2001, date_time.Apr, 30) 
+                         == d - gregorian.months(6));
+        d -= gregorian.months(6);
+        self.failUnless( gregorian.date(2001, date_time.Apr, 30) == d);
+
+        y1 = gregorian.years(2)
+        y2 = gregorian.years(4)
+        y3 = gregorian.years(1)
+        self.failUnless( gregorian.years(3) == y3 + y1)
+        y3 += y1
+        self.failUnless( gregorian.years(3) == y3)
+        self.failUnless( gregorian.years(-1) == y3 - y2)
+        y3 -= y2
+        self.failUnless( gregorian.years(-1) == y3)
+       
+        y1 = gregorian.years(5)
+        y2 = gregorian.years(3)
+        y3 = gregorian.years(10)
+        
+        self.failUnless( gregorian.years(15) == y1 * 3)
+        y1 *= 3
+        self.failUnless( gregorian.years(15) == y1)
+
+        self.failUnless( gregorian.years(3) == y3 / 3)
+        y3 /= 3
+        self.failUnless( gregorian.years(3) == y3)
+
+        m = gregorian.years(15)
+        y_pos = gregorian.years(date_time.pos_infin)
+        y_neg = gregorian.years(date_time.neg_infin)
+        y_nadt = gregorian.years(date_time.not_a_date_time)
+        self.failUnless( m + y_pos == y_pos)
+        self.failUnless( m + y_neg == y_neg)
+        self.failUnless( y_pos + y_neg == y_nadt)
+        self.failUnless( y_neg + y_neg == y_neg)
+        self.failUnless( m - y_pos == y_neg)
+        self.failUnless( m - y_neg == y_pos)
+        self.failUnless( y_pos - y_neg == y_pos)
+        self.failUnless( y_pos * -1 == y_neg)
+        self.failUnless( y_pos * 0 == y_nadt)
+        self.failUnless( y_neg / 3 == y_neg)
+
+        m1 = gregorian.months(5)
+        m2 = gregorian.months(3)
+        self.failUnless( gregorian.months(39) == y2 + m2)
+        self.failUnless( gregorian.months(31) == y2 - m1)
+   
+        d = gregorian.date(2001, date_time.Feb, 28)
+        self.failUnless( gregorian.date(2004, date_time.Feb, 29) == d + gregorian.years(3))
+        d += gregorian.years(3)
+        self.failUnless( gregorian.date(2004, date_time.Feb, 29) == d)
+         
+        d = gregorian.date(2000, date_time.Feb, 29)
+        self.failUnless( gregorian.date(1994, date_time.Feb, 28) == d - gregorian.years(6))
+        d -= gregorian.years(6)
+        self.failUnless( gregorian.date(1994, date_time.Feb, 28) == d)
+
+        w1 = gregorian.weeks(2)
+        w2 = gregorian.weeks(4)
+        w3 = gregorian.weeks(1)
+        pi = gregorian.weeks(date_time.pos_infin)
+        self.failUnless( gregorian.weeks(date_time.pos_infin) == w1 + pi)
+        self.failUnless( gregorian.weeks(3) == w3 + w1)
+        w3 += w1
+        self.failUnless( gregorian.weeks(3) == w3)
+        self.failUnless( gregorian.weeks(-1) == w3 - w2)
+        w3 -= w2
+        self.failUnless( gregorian.weeks(-1) == w3)
+
+        d = gregorian.days(10)
+        self.failUnless( gregorian.days(31) == d + gregorian.weeks(3))
+        d += gregorian.weeks(3);
+        self.failUnless( gregorian.days(31) == d)
+
+        d = gregorian.days(10)
+        self.failUnless( gregorian.days(-32) == d - gregorian.weeks(6))
+        d -= gregorian.weeks(6)
+        self.failUnless( gregorian.days(-32) == d)
+        
+        d = gregorian.date(2001, date_time.Feb, 28)
+        self.failUnless( gregorian.date(2001, date_time.Mar, 21) == d + gregorian.weeks(3))
+        d += gregorian.weeks(3)
+        self.failUnless( gregorian.date(2001, date_time.Mar, 21) == d)
+        
+        d = gregorian.date(2001, date_time.Feb, 28);
+        self.failUnless( gregorian.date(2001, date_time.Jan, 17) == d - gregorian.weeks(6))
+        d -= gregorian.weeks(6)
+        self.failUnless( gregorian.date(2001, date_time.Jan, 17) == d)
+
+        d = gregorian.date(2000, date_time.Oct, 31)
+        d2 = d + gregorian.months(4) + gregorian.years(2)
+        d3 = d + gregorian.years(2) + gregorian.months(4)
+        self.failUnless( gregorian.date(2003, date_time.Feb,28) == d2)
+        self.failUnless( gregorian.date(2003,date_time.Feb,28) == d3)
+        m = gregorian.years(2) + gregorian.months(4) - gregorian.months(4) - gregorian.years(2)
+        self.failUnless( m.number_of_months() == 0)
+
+    def test_period(self):
+        d1 = gregorian.date(2000,date_time.Jan,1)
+        d2 = gregorian.date(2000,date_time.Jan,4)
+        p1 = gregorian.date_period(d1,d2)
+        p2 = gregorian.date_period(d1,gregorian.date_duration(3) )
+        self.failUnless( p1 == p2)
+        self.failUnless( p1.begin() == d1)
+        self.failUnless( p1.last() == d2-gregorian.date_duration(1) )
+        self.failUnless( p1.end() == d2)
+        self.failUnless( p2.length() == gregorian.date_duration(3) )
+        self.failUnless( p1.contains(d1) )
+        self.failUnless( not p1.contains(d2) )
+        p3 = gregorian.date_period( gregorian.date(2000,date_time.Jan,4)
+                                    , gregorian.date(2000,date_time.Feb,1) )
+        self.failUnless( not (p1 == p3) )
+        self.failUnless( p1 < p3)
+        self.failUnless( p3 > p1)
+        self.failUnless( p3 != p1)
+        self.failUnless( p1.intersects(p1) )
+        self.failUnless( not p1.intersects(p3) )
+        self.failUnless( not p3.intersects(p1) )
+        p4 = gregorian.date_period(gregorian.date(1999,date_time.Dec,1), d2)
+        self.failUnless( p1.intersects(p4) )
+        self.failUnless( p4.intersects(p1) )
+        p5 = gregorian.date_period(gregorian.date(1999,date_time.Dec,1)
+                                   , gregorian.date(2000,date_time.Dec,31) )
+        self.failUnless( p1.intersects(p5) )
+        self.failUnless( p5.intersects(p1) )
+        p6 = gregorian.date_period(gregorian.date(2000,date_time.Jan,1)
+                                   ,gregorian.date(2000,date_time.Dec,31) )
+        self.failUnless( p5.contains(p6) )
+        self.failUnless( p6.contains(p6) )
+        self.failUnless( not p6.contains(p5) )
+        
+        fourDays = gregorian.date_duration(4)
+        p1.shift(fourDays) 
+        shifted = gregorian.date_period(gregorian.date(2000,date_time.Jan,5)
+                                        , gregorian.date(2000,date_time.Jan,8) )
+        self.failUnless( p1 == shifted)
+        
+        i1 = gregorian.date_period(gregorian.date(2000,date_time.Jan,5)
+                                   , gregorian.date(2000,date_time.Jan,10) )
+        i2 = gregorian.date_period(gregorian.date(2000,date_time.Jan,1)
+                                   , gregorian.date(2000,date_time.Jan,7) )
+        r1 = gregorian.date_period(gregorian.date(2000,date_time.Jan,5)
+                                   , gregorian.date(2000,date_time.Jan,7) )
+        self.failUnless( i1.intersection(i2) == r1)
+        self.failUnless( i2.intersection(i1) == r1)
+        
+        i3 = gregorian.date_period(gregorian.date(2000,date_time.Jan,1)
+                                   , gregorian.date(2000,date_time.Jan,15) )
+        self.failUnless( i1.intersection(i3) == i1)
+        self.failUnless( i3.intersection(i1) == i1)
+        
+        i4 = gregorian.date_period(gregorian.date(2000,date_time.Jan,7), gregorian.date(2000,date_time.Jan,10) )
+        i5 = gregorian.date_period(gregorian.date(2000,date_time.Jan,6)
+                                   , gregorian.date(2000,date_time.Jan,9) )
+        self.failUnless( i1.intersection(i5) == i5)
+        self.failUnless( i5.intersection(i1) == i5)
+        self.failUnless( i2.intersection(i4).is_null() )
+        
+        r3 = gregorian.date_period(gregorian.date(2000,date_time.Jan,1), gregorian.date(2000,date_time.Jan,10) )
+        
+        self.failUnless( i1.merge(i2) == r3)
+        self.failUnless( i2.merge(i4).is_null() )
+        r4 = gregorian.date_period(gregorian.date(2000,date_time.Jan,5), gregorian.date(2000,date_time.Jan,10) )
+        self.failUnless( i1.merge(i5) == r4)
+        
+        self.failUnless( i1.span(i2) == r3)
+        self.failUnless( i2.span(i4) == r3)
+        self.failUnless( i4.span(i2) == r3)
+        self.failUnless( i3.span(i2) == i3)
+        
+        i6 = gregorian.date_period(gregorian.date(2000,date_time.Jan,1), gregorian.date(2000,date_time.Jan,2) )
+        self.failUnless( i6.span(i4) == r3)
+        self.failUnless( i4.span(i6) == r3)
+        
+        bf_start = gregorian.date(2000,date_time.Jan,5)
+        bf_end = gregorian.date(2000,date_time.Jan,10)
+        bf_before = gregorian.date(2000,date_time.Jan,4) 
+        bf_after = gregorian.date(2000,date_time.Jan,11) 
+        bf_during = gregorian.date(2000, date_time.Jan, 7)
+        bfp1 = gregorian.date_period(bf_start, bf_end) 
+        
+        self.failUnless( not bfp1.is_before(bf_start) )
+        self.failUnless( bfp1.is_before(bf_end) )
+        self.failUnless( not bfp1.is_before(bfp1.last() ))
+        self.failUnless( not bfp1.is_before(bf_before) )
+        self.failUnless( not bfp1.is_before(bf_during) )
+        self.failUnless( bfp1.is_before(bf_after) )
+        
+        self.failUnless( not bfp1.is_after(bf_start) )
+        self.failUnless( not bfp1.is_after(bf_end) )
+        self.failUnless( not bfp1.is_after(bfp1.last() ))
+        self.failUnless( bfp1.is_after(bf_before) )
+        self.failUnless( not bfp1.is_after(bf_during) )
+        self.failUnless( not bfp1.is_after(bf_after) )
+        
+        adj1 = gregorian.date_period( gregorian.date(2000,date_time.Jan,5)
+                                      , gregorian.date(2000,date_time.Jan,10) )
+        adj2 = gregorian.date_period (gregorian.date(2000,date_time.Jan,1), gregorian.date(2000,date_time.Jan,5) )
+        adj3 = gregorian.date_period(gregorian.date(2000,date_time.Jan,7), gregorian.date(2000,date_time.Jan,12) )
+        adj4 = gregorian.date_period(gregorian.date(2000,date_time.Jan,12), gregorian.date(2000,date_time.Jan,15) )
+        adj5 = gregorian.date_period(gregorian.date(2000,date_time.Jan,1), gregorian.date(2000,date_time.Jan,3) )
+        adj6 = gregorian.date_period(gregorian.date(2000,date_time.Jan,7), gregorian.date(2000,date_time.Jan,9) )
+        
+        self.failUnless( adj1.is_adjacent(adj2) )
+        self.failUnless( adj2.is_adjacent(adj1) )
+        self.failUnless( not adj1.is_adjacent(adj3) )
+        self.failUnless( not adj3.is_adjacent(adj1) )
+        self.failUnless( not adj1.is_adjacent(adj4) )
+        self.failUnless( not adj4.is_adjacent(adj1) )
+        self.failUnless( not adj1.is_adjacent(adj5) )
+        self.failUnless( not adj5.is_adjacent(adj1) )
+        self.failUnless( not adj1.is_adjacent(adj6) )
+        self.failUnless( not adj6.is_adjacent(adj1) )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/examples/pyboost_dev/unittestst/date_time/local_time_tester.py b/examples/pyboost_dev/unittestst/date_time/local_time_tester.py
new file mode 100644
index 0000000..96e52e8
--- /dev/null
+++ b/examples/pyboost_dev/unittestst/date_time/local_time_tester.py
@@ -0,0 +1,608 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+sys.path.append( '../..' )
+
+from pyboost import date_time
+from pyboost.date_time import gregorian
+from pyboost.date_time import posix_time
+from pyboost.date_time import local_time
+from pyboost.date_time import to_iso_string
+from pyboost.date_time import to_simple_string
+import unittest
+
+class tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+
+    def test_clocks( self ):
+        az_tz = local_time.posix_time_zone("MST-07")
+        ny_tz = local_time.posix_time_zone("EST-05EDT,M4.1.0,M10.5.0")
+        print to_simple_string( posix_time.second_clock.local_time() )
+        print local_time.local_sec_clock.local_time(az_tz).to_string()
+        print local_time.local_sec_clock.local_time(ny_tz).to_string()
+
+        print to_simple_string( posix_time.microsec_clock.local_time() )
+        print local_time.local_microsec_clock.local_time(az_tz).to_string()
+        print local_time.local_microsec_clock.local_time(ny_tz).to_string()
+
+    def test_dst_transition_day_rule(self):
+        rule1 = local_time.partial_date_dst_rule( 
+                    gregorian.partial_date(30, date_time.Apr)
+                    , gregorian.partial_date(30, date_time.Oct))
+        self.failUnless( rule1.start_day(2001) == gregorian.date(2001, date_time.Apr, 30))
+        self.failUnless( rule1.end_day(2001) == gregorian.date(2001, date_time.Oct, 30))
+    
+        rule2 = local_time.first_last_dst_rule(
+                    local_time.first_last_dst_rule.start_rule(date_time.Sunday, date_time.Apr)
+                    , local_time.first_last_dst_rule.end_rule(date_time.Sunday, date_time.Oct))
+
+        self.failUnless( rule2.start_day(2001) == gregorian.date(2001, date_time.Apr, 1))
+        self.failUnless( rule2.end_day(2001) == gregorian.date(2001, date_time.Oct, 28))
+
+        rule3 = local_time.last_last_dst_rule(
+                    local_time.last_last_dst_rule.start_rule(date_time.Sunday, date_time.Mar)
+                    , local_time.last_last_dst_rule.end_rule(date_time.Sunday, date_time.Oct))
+
+        self.failUnless( rule3.start_day(2001) == gregorian.date(2001, date_time.Mar, 25))
+        self.failUnless( rule3.end_day(2001) == gregorian.date(2001, date_time.Oct, 28) )
+  
+        nkday = gregorian.nth_kday_of_month
+        rule4 = local_time.nth_last_dst_rule(
+                    local_time.nth_last_dst_rule.start_rule(nkday.first, date_time.Sunday, date_time.Mar)
+                    , local_time.nth_last_dst_rule.end_rule(date_time.Sunday, date_time.Oct))
+  
+        self.failUnless( rule4.start_day(2001) == gregorian.date(2001, date_time.Mar, 4))
+        self.failUnless( rule4.end_day(2001) == gregorian.date(2001, date_time.Oct, 28))
+
+        rule5 = local_time.nth_kday_dst_rule(
+                    local_time.nth_kday_dst_rule.start_rule(nkday.first, date_time.Sunday, date_time.Mar)
+                    , local_time.nth_kday_dst_rule.end_rule(nkday.fourth, date_time.Sunday, date_time.Oct))
+  
+        self.failUnless( rule5.start_day(2001) == gregorian.date(2001, date_time.Mar, 4))
+        self.failUnless( rule5.end_day(2001) == gregorian.date(2001, date_time.Oct, 28))
+  
+    def test_custom_time_zone( self ):
+        rule1 = local_time.partial_date_dst_rule(
+                    gregorian.partial_date(30, date_time.Apr)
+                    , gregorian.partial_date(30, date_time.Oct))
+  
+        rule2 = local_time.first_last_dst_rule(
+                    local_time.first_last_dst_rule.start_rule( date_time.Sunday, date_time.Apr)
+                    , local_time.first_last_dst_rule.end_rule( date_time.Sunday, date_time.Oct))
+        
+        rule3 = local_time.last_last_dst_rule(
+                    local_time.last_last_dst_rule.start_rule(date_time.Sunday, date_time.Mar)
+                    , local_time.last_last_dst_rule.end_rule(date_time.Sunday, date_time.Oct))
+        
+        rule4 = None
+
+        pst = local_time.time_zone_names( "Pacific Standard Time"
+                                          , "PST"
+                                          , "Pacific Daylight Time" 
+                                          , "PDT" )
+        
+        mst = local_time.time_zone_names( "Mountain Standard Time"
+                                          , "MST"
+                                          , "" 
+                                          , "" )
+  
+        of = local_time.dst_adjustment_offsets( posix_time.hours(1)
+                                                , posix_time.hours(2)
+                                                , posix_time.hours(2))
+        of2 = local_time.dst_adjustment_offsets( posix_time.hours(0)
+                                                 , posix_time.hours(0)
+                                                 , posix_time.hours(0))
+
+        tz1 = local_time.custom_time_zone(pst, posix_time.hours(-8), of, rule1)
+        tz2 = local_time.custom_time_zone(pst, posix_time.hours(-8), of, rule2)
+        tz3 = local_time.custom_time_zone(pst, posix_time.hours(-8), of, rule3)
+        tz4 = local_time.custom_time_zone(mst, posix_time.hours(-7), of2, rule4)
+
+
+        self.failUnless( tz1.dst_zone_abbrev() == "PDT" )
+        self.failUnless( tz1.std_zone_abbrev() == "PST" )
+        self.failUnless( tz1.std_zone_name() == "Pacific Standard Time" )
+        self.failUnless( tz1.dst_zone_name() == "Pacific Daylight Time" )
+        
+        self.failUnless( tz1.dst_offset() == posix_time.hours(1) )
+        self.failUnless( tz1.base_utc_offset() == posix_time.hours(-8) )
+        self.failUnless( tz1.has_dst() )
+        
+        self.failUnless( tz1.dst_local_start_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003, date_time.Apr,30)
+                                              , posix_time.hours(2) ) )
+        
+        self.failUnless( tz1.dst_local_end_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003, date_time.Oct,30)
+                                              , posix_time.hours(2) ) )
+        
+        
+        self.failUnless( tz1.to_posix_string() == "PST-08PDT+01,120/02:00,303/02:00")
+        self.failUnless( tz2.to_posix_string() == "PST-08PDT+01,M4.1.0/02:00,M10.5.0/02:00")
+        self.failUnless( tz3.to_posix_string() == "PST-08PDT+01,M3.5.0/02:00,M10.5.0/02:00")
+        self.failUnless( tz4.to_posix_string() == "MST-07")
+        
+        self.failUnless( not tz4.has_dst() )
+        
+        self.failUnless( tz4.dst_local_start_time(2005) 
+                         == posix_time.ptime( date_time.not_a_date_time ) )
+        
+        self.failUnless( tz4.dst_local_end_time(2005) 
+                         == posix_time.ptime( date_time.not_a_date_time ) )
+    
+    def test_local_time_period( self ):
+        d1 = gregorian.date(2001, date_time.Jan, 1)        
+        az_tz = local_time.posix_time_zone("MST-07")
+        
+        t1 = local_time.local_date_time( d1, posix_time.hours(2), az_tz, False)
+        t2  = local_time.local_date_time( d1, posix_time.hours(3), az_tz, False)
+        p1 = local_time.local_time_period( t1, t2 ) 
+        p2 = local_time.local_time_period( t1, t2 )
+        self.failUnless( p1 == p2 )
+
+        p4 = local_time.local_time_period( t1, posix_time.hours(1) )
+        self.failUnless( p4.length() == posix_time.hours(1) )        
+        self.failUnless( p1 == p4 )
+        self.failUnless( p1.begin() == t1 )
+        self.failUnless( p1.end() == t2 )
+        self.failUnless( p1.last() == t2 - posix_time.time_duration.unit() )
+        self.failUnless( p1.contains( t1 ) )
+        self.failUnless( not p1.contains( t2 ) )
+        self.failUnless( p1.contains( t2 - posix_time.seconds(1) ) )
+        
+        t3 = local_time.local_date_time( gregorian.date(2001, date_time.Jan,1)
+                                         , posix_time.hours(4)
+                                         , az_tz
+                                         , False )
+        p5 = local_time.local_time_period( t2, t3 )
+        self.failUnless( not p1.contains( p5.begin() ) )
+        self.failUnless( not p5.contains( p1.begin() ) )
+        self.failUnless( not( p1 == p5 ) )
+        self.failUnless( p1 < p5 )
+        self.failUnless( p5 > p1 )
+        self.failUnless( p5 != p1 )
+        self.failUnless( p1.intersects(p1) )
+        self.failUnless( not p1.intersects(p5) )
+        self.failUnless( not p5.intersects(p1) )
+        
+        p6 = local_time.local_time_period( t2, t3 )
+        p6.shift( posix_time.minutes(30) )
+        self.failUnless( p5.intersects(p6) )
+        self.failUnless( p6.intersects(p5) )
+        self.failUnless( p5.contains( p6.begin() ) )
+        p6.shift( posix_time.minutes(30) )
+        self.failUnless( not p5.intersects(p6) )
+        self.failUnless( not p6.intersects(p5) )
+        p6.shift( posix_time.minutes(-30) )
+        
+        p7 = p5.intersection(p6)
+        
+        self.failUnless( p7 == local_time.local_time_period(
+                                   local_time.local_date_time( d1
+                                                               , posix_time.time_duration(3,30,0)
+                                                               , az_tz, False)
+                                   , local_time.local_date_time( d1
+                                                                 , posix_time.time_duration(4,0,0)
+                                                                 , az_tz
+                                                                 , False) ) )
+     
+    def test_time_zone(self):
+        rule1 = local_time.partial_date_dst_rule(
+                    gregorian.partial_date(30, date_time.Apr)
+                    , gregorian.partial_date(30, date_time.Oct) )
+        
+        rule2 = local_time.first_last_dst_rule(
+                    local_time.first_last_dst_rule.start_rule( date_time.Sunday, date_time.Apr)
+                    , local_time.first_last_dst_rule.end_rule( date_time.Sunday, date_time.Oct))
+        
+        rule3 = local_time.last_last_dst_rule( 
+                    local_time.last_last_dst_rule.start_rule( date_time.Sunday, date_time.Mar)
+                    , local_time.last_last_dst_rule.end_rule( date_time.Sunday, date_time.Oct))
+        rule4 = None
+        
+        pst = local_time.time_zone_names( "Pacific Standard Time"
+                                          , "PST"
+                                          , "Pacific Daylight Time" 
+                                          , "PDT")
+        mst = local_time.time_zone_names("Mountain Standard Time", "MST", "" , "")
+        
+        of = local_time.dst_adjustment_offsets(
+                 posix_time.hours(1)
+                 , posix_time.hours(2)
+                 , posix_time.hours(2) )
+        
+        of2 = local_time.dst_adjustment_offsets(
+                  posix_time.hours(0)
+                  , posix_time.hours(0)
+                  , posix_time.hours(0) )
+        
+        tz1 = local_time.time_zone(pst, posix_time.hours(-8), of, rule1)
+        tz2 = local_time.time_zone(pst, posix_time.hours(-8), of, rule2)
+        tz3 = local_time.time_zone(pst, posix_time.hours(-8), of, rule3)
+        tz4 = local_time.time_zone(mst, posix_time.hours(-7), of2, rule4)
+        
+        self.failUnless( tz1.dst_zone_abbrev() == "PDT")
+        self.failUnless( tz1.std_zone_abbrev() == "PST")
+        self.failUnless( tz1.std_zone_name() == "Pacific Standard Time")
+        self.failUnless( tz1.dst_zone_name() == "Pacific Daylight Time")
+        
+        self.failUnless( tz1.dst_offset() == posix_time.hours(1) )
+        self.failUnless( tz1.base_utc_offset() == posix_time.hours(-8) )
+        self.failUnless( tz1.has_dst() )
+        
+        self.failUnless( tz1.dst_local_start_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003, date_time.Apr,30)
+                                              , posix_time.hours(2) ) )
+        
+        self.failUnless( tz1.dst_local_end_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003, date_time.Oct,30)
+                                              ,posix_time.hours(2) ) )
+        
+        self.failUnless( tz1.to_posix_string() == "PST-08PDT+01,120/02:00,303/02:00" )
+        self.failUnless( tz2.to_posix_string() == "PST-08PDT+01,M4.1.0/02:00,M10.5.0/02:00")
+        self.failUnless( tz3.to_posix_string() == "PST-08PDT+01,M3.5.0/02:00,M10.5.0/02:00")
+        self.failUnless( tz4.to_posix_string() == "MST-07")
+        
+        self.failUnless( not tz4.has_dst() )
+        self.failUnless( tz4.dst_local_start_time(2005) 
+                         == posix_time.ptime( date_time.not_a_date_time ) )
+        self.failUnless( tz4.dst_local_end_time(2005) 
+                         == posix_time.ptime( date_time.not_a_date_time ) )
+
+    def test_tz_database(self):
+        tz_db = local_time.time_zone_database()
+        tz_db.load_from_file( os.path.join( os.path.split( date_time.__file__ )[0]
+                                            , 'date_time_zonespec.csv' ) )
+                
+        
+        self.failUnless( not tz_db.time_zone_from_region("Invalid/name") ) 
+        
+        nyc_test = tz_db.time_zone_from_region("America/New_York")
+        self.failUnless( nyc_test ) 
+        self.failUnless( nyc_test.std_zone_abbrev() == "EST" )
+        self.failUnless( nyc_test.std_zone_name() == "Eastern Standard Time" )
+        self.failUnless( nyc_test.dst_zone_abbrev() == "EDT" ) 
+        self.failUnless( nyc_test.dst_zone_name() == "Eastern Daylight Time" )
+        self.failUnless( nyc_test.base_utc_offset() == posix_time.hours(-5) )
+        self.failUnless( nyc_test.dst_offset() == posix_time.hours(1) )
+        self.failUnless( nyc_test.dst_local_start_time(2004) 
+                         == posix_time.ptime( gregorian.date(2004, date_time.Apr, 4)
+                                              , posix_time.hours(2) ) )
+        self.failUnless( nyc_test.dst_local_end_time(2004) 
+                         == posix_time.ptime( gregorian.date(2004, date_time.Oct, 31)
+                                              , posix_time.hours(2) ) )
+        self.failUnless( nyc_test.has_dst() )
+        
+        phx_test = tz_db.time_zone_from_region("America/Phoenix")
+        self.failUnless( phx_test ) 
+        self.failUnless( phx_test.std_zone_abbrev() == "MST" )
+        self.failUnless( phx_test.std_zone_name() == "Mountain Standard Time" )
+        self.failUnless( phx_test.dst_zone_abbrev() == "" )
+        self.failUnless( phx_test.dst_zone_name() == "" )  
+        self.failUnless( phx_test.base_utc_offset() == posix_time.hours(-7) )
+        self.failUnless( phx_test.dst_offset() == posix_time.hours(0) )
+        self.failUnless( phx_test.has_dst() == False)
+        
+        
+        eastern = local_time.posix_time_zone("EST-05:00:00EDT+01:00:00,M4.1.0/02:00:00,M10.5.0/02:00:00")
+        tz_db.add_record("United States/Eastern", eastern)
+        eastern_test = tz_db.time_zone_from_region("United States/Eastern" )
+        self.failUnless( eastern_test )
+        self.failUnless( eastern_test.std_zone_abbrev() == "EST" )
+        self.failUnless( eastern_test.std_zone_name() == "EST" )
+        self.failUnless( eastern_test.dst_zone_abbrev() == "EDT" )
+        self.failUnless( eastern_test.dst_zone_name() == "EDT" )  
+        self.failUnless( eastern_test.base_utc_offset() == posix_time.hours(-5) )
+        self.failUnless( eastern_test.dst_local_start_time(2004) 
+                         == posix_time.ptime( gregorian.date(2004, date_time.Apr, 4)
+                                              , posix_time.hours(2) ) )
+        self.failUnless( eastern_test.dst_local_end_time(2004) 
+                         == posix_time.ptime( gregorian.date(2004, date_time.Oct, 31)
+                                              , posix_time.hours(2) ) )
+        self.failUnless( eastern_test.has_dst() )
+
+    def test_posix_time_zone(self):
+        specs = [ "MST-07"
+                  , "MST-07:00:00"
+                  , "EST-05EDT,M4.1.0,M10.5.0"
+                  , "EST-05:00:00EDT+01:00:00,M4.1.0/02:00:00,M10.5.0/02:00:00"
+                  , "PST-08PDT,J46/1:30,J310"
+                  , "PST-08PDT,45,310/0:30:00" ]
+        
+        nyc1 = local_time.posix_time_zone( specs[2] )
+        nyc2 = local_time.posix_time_zone( specs[3] )
+        
+        td = posix_time.hours(-5)        
+        self.failUnless( nyc1.has_dst() and nyc2.has_dst() )
+        self.failUnless( nyc1.base_utc_offset() == td )
+        self.failUnless( nyc1.base_utc_offset() == nyc2.base_utc_offset() )
+        self.failUnless( nyc1.std_zone_abbrev() == "EST" )
+        self.failUnless( nyc2.std_zone_abbrev() == "EST" )
+        self.failUnless( nyc1.dst_zone_abbrev() == "EDT" )
+        self.failUnless( nyc2.dst_zone_abbrev() == "EDT" )
+        self.failUnless( nyc1.std_zone_name() == "EST" ) 
+        self.failUnless( nyc2.std_zone_name() == "EST" )
+        self.failUnless( nyc1.dst_zone_name() == "EDT" )
+        self.failUnless( nyc2.dst_zone_name() == "EDT" )
+        
+        td = posix_time.hours(1)
+        self.failUnless( nyc1.dst_offset() == td )
+        self.failUnless( nyc1.dst_offset() == nyc2.dst_offset() )
+        self.failUnless( nyc1.dst_local_start_time(2003) 
+                         ==  posix_time.ptime( gregorian.date(2003, date_time.Apr,6)
+                                               , posix_time.time_duration(2,0,0) ) )
+        self.failUnless( nyc1.dst_local_start_time(2003) == nyc2.dst_local_start_time(2003) ) 
+        self.failUnless( nyc1.dst_local_end_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003, date_time.Oct, 26)
+                                              , posix_time.time_duration(2,0,0)))
+        self.failUnless( nyc1.dst_local_end_time(2003) == nyc2.dst_local_end_time(2003) ) 
+        self.failUnless( nyc1.to_posix_string() == "EST-05EDT+01,M4.1.0/02:00,M10.5.0/02:00" )
+        self.failUnless( nyc2.to_posix_string() == "EST-05EDT+01,M4.1.0/02:00,M10.5.0/02:00")
+        
+        az1 = local_time.posix_time_zone( specs[0] )
+        az2 = local_time.posix_time_zone( specs[1] )
+        td = posix_time.hours(-7)
+        
+        self.failUnless( not az1.has_dst() and not az2.has_dst() )
+        self.failUnless( az1.base_utc_offset() == td )
+        self.failUnless( az1.base_utc_offset() == az2.base_utc_offset() )
+        self.failUnless( az1.dst_local_start_time(2005) 
+                         == posix_time.ptime( date_time.not_a_date_time) )
+        self.failUnless( az2.dst_local_end_time(2005) 
+                         == posix_time.ptime( date_time.not_a_date_time ) )
+        self.failUnless( az1.std_zone_abbrev() == "MST" )
+        self.failUnless( az2.std_zone_abbrev() == "MST" )
+        self.failUnless( az1.dst_zone_abbrev() == "" )
+        self.failUnless( az2.dst_zone_abbrev() == "" )
+        self.failUnless( az1.std_zone_name() == "MST" )
+        self.failUnless( az2.std_zone_name() == "MST" )
+        self.failUnless( az1.dst_zone_name() == "" )
+        self.failUnless( az2.dst_zone_name() == "" )
+        self.failUnless( az1.to_posix_string() == "MST-07")
+        self.failUnless( az2.to_posix_string() == "MST-07")
+        
+        bz = local_time.posix_time_zone("BST+11:21:15BDT-00:28,M2.2.4/03:15:42,M11.5.2/01:08:53")
+        self.failUnless( bz.has_dst() )
+        self.failUnless( bz.base_utc_offset() == posix_time.time_duration(11,21,15) )
+        self.failUnless( bz.std_zone_abbrev() == "BST" )
+        self.failUnless( bz.dst_zone_abbrev() == "BDT" )
+        self.failUnless( bz.dst_offset() == posix_time.time_duration(0,-28,0) )
+        self.failUnless( bz.dst_local_start_time(1962) 
+                         == posix_time.ptime( gregorian.date(1962, date_time.Feb,8)
+                                              , posix_time.time_duration(3,15,42) ) )
+        self.failUnless( bz.dst_local_end_time(1962) 
+                         == posix_time.ptime( gregorian.date( 1962, date_time.Nov,27)
+                                              , posix_time.time_duration(1,8,53) ) )
+        
+        la1 = local_time.posix_time_zone( specs[4] )         
+        self.failUnless( la1.dst_local_start_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003, date_time.Feb,15)
+                                              , posix_time.time_duration(1,30,0) ) )
+        self.failUnless( la1.dst_local_end_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003, date_time.Nov,6)
+                                              , posix_time.time_duration(2,0,0) ) )
+        self.failUnless( la1.to_posix_string() == "PST-08PDT+01,45/01:30,310/02:00")
+        
+        la2 = local_time.posix_time_zone( specs[5] ) 
+        self.failUnless( la2.dst_local_start_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003, date_time.Feb,15)
+                                              ,posix_time.time_duration(2,0,0) ) )
+        self.failUnless( la2.dst_local_end_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003, date_time.Nov,6)
+                                              , posix_time.time_duration(0,30,0) ) )
+        self.failUnless( la2.to_posix_string() == "PST-08PDT+01,45/02:00,310/00:30" )
+        
+        self.failUnlessRaises( Exception, local_time.posix_time_zone, "EST-13" )
+        self.failUnlessRaises( Exception, local_time.posix_time_zone, "EST-5EDT24:00:01,J124/1:30,J310" )
+        self.failUnlessRaises( Exception, local_time.posix_time_zone, "EST-5EDT01:00:00,J124/-1:30,J310" )
+        self.failUnlessRaises( Exception, local_time.posix_time_zone, "EST-5EDT01:00:00,J124/1:30,J370" )
+             
+        cet_tz = local_time.posix_time_zone("CET+01:00:00EDT+01:00:00,M4.1.0/02:00:00,M10.5.0/02:00:00")
+        self.failUnless( cet_tz.has_dst() )
+        self.failUnless( cet_tz.base_utc_offset() == posix_time.hours(1) )
+        self.failUnless( cet_tz.std_zone_abbrev() == "CET") 
+        
+        caus_tz = local_time.posix_time_zone("CAS+08:30:00CDT+01:00:00,M4.1.0/02:00:00,M10.5.0/02:00:00")
+        self.failUnless( caus_tz.has_dst() )
+        self.failUnless( caus_tz.base_utc_offset() == posix_time.hours(8)+posix_time.minutes(30) )
+        self.failUnless( caus_tz.std_zone_abbrev() == "CAS")
+        
+        spec = "FST+3FDT,J60,J304"
+        fl_1 = local_time.posix_time_zone(spec)
+        self.failUnless( fl_1.dst_local_start_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003,date_time.Mar,1)
+                                              ,posix_time.hours(2) ) )
+        self.failUnless( fl_1.dst_local_end_time(2003) 
+                         == posix_time.ptime( gregorian.date(2003,date_time.Oct,31)
+                                              , posix_time.hours(2) ) )
+        self.failUnless( fl_1.dst_local_start_time(2004) 
+                         == posix_time.ptime( gregorian.date(2004, date_time.Mar, 1)
+                                              , posix_time.hours(2) ) )
+        self.failUnless( fl_1.dst_local_end_time(2004) 
+                         == posix_time.ptime( gregorian.date(2004,date_time.Oct,31)
+                                              , posix_time.hours(2) ) )
+        
+    def test_local_time( self ):
+        az_tz = local_time.posix_time_zone("MST-07")
+        ny_tz = local_time.posix_time_zone("EST-05EDT,M4.1.0,M10.5.0")
+        sydney = local_time.posix_time_zone("EST+10EST,M10.5.0,M3.5.0/03:00")
+        null_tz = None
+        d = gregorian.date(2003, 12, 20)
+        h = posix_time.hours(12)
+        t = posix_time.ptime(d,h)
+        az_time = local_time.local_date_time(t, az_tz ) 
+        
+        self.failUnless( az_time.zone().std_zone_abbrev() == "MST") 
+        self.failUnless( az_time.zone().base_utc_offset() == posix_time.hours(-7) )
+        self.failUnless( az_time.zone().has_dst() == False )
+        self.failUnless( az_time.is_dst() == False )
+        self.failUnless( az_time.to_string() == "2003-Dec-20 05:00:00 MST" )
+        
+        az_time2 = local_time.local_date_time(t, az_tz ) 
+        
+        self.failUnless( az_time2.is_dst() == False )
+        self.failUnless( az_time2.to_string() == "2003-Dec-20 05:00:00 MST" )
+        self.failUnless( az_time2.zone().has_dst() == False )
+        self.failUnless( az_time2.zone().base_utc_offset() == posix_time.hours(-7) )
+                
+        svpt = posix_time.ptime(date_time.not_a_date_time)
+        sv_time = local_time.local_date_time(svpt, ny_tz)
+        self.failUnless( sv_time.is_not_a_date_time() )
+        self.failUnless( sv_time.to_string() == "not-a-date-time" )
+        self.failUnless( sv_time.is_dst() == False )
+        sv_time2 = local_time.local_date_time( date_time.pos_infin, None )
+        self.failUnless( sv_time2.is_pos_infinity() )
+        self.failUnless( sv_time2.to_string() == "+infinity" )
+        self.failUnless( sv_time2.is_dst() == False )
+        sv_time2 += gregorian.days(12) 
+        self.failUnless( sv_time2.is_pos_infinity() )
+
+        sv_time3 = local_time.local_date_time( date_time.max_date_time, ny_tz )
+        self.failUnless( sv_time3.to_string() == "9999-Dec-31 18:59:59.999999999 EST" 
+                         or sv_time3.to_string() == "9999-Dec-31 18:59:59.999999 EST" )
+        
+        sv_time4 = local_time.local_date_time(date_time.min_date_time, None)
+        self.failUnless( sv_time4.to_string() == "1400-Jan-01 00:00:00 UTC" )
+        
+        d = gregorian.date(2004, date_time.Apr, 4)
+        td = posix_time.time_duration(2,30,0) 
+        calcop = local_time.local_date_time(d, td, ny_tz, local_time.local_date_time.NOT_DATE_TIME_ON_ERROR)
+        self.failUnless( calcop.is_not_a_date_time() )
+
+        d = gregorian.date(2004, date_time.Apr, 4)
+        td = posix_time.time_duration(2,30,0) 
+        self.failUnlessRaises( Exception, local_time.local_date_time, d, td, ny_tz, local_time.local_date_time.EXCEPTION_ON_ERROR)
+        
+        az_time3 = local_time.local_date_time(d, h, az_tz, False)
+        self.failUnless( az_time3.zone().std_zone_abbrev() == "MST") 
+        self.failUnless( az_time3.zone().base_utc_offset() == posix_time.hours(-7) )
+        self.failUnless( az_time3.zone().has_dst() == False )
+        self.failUnless( az_time3.is_dst() == False )
+        self.failUnless( az_time3.to_string() == "2004-Apr-04 12:00:00 MST" )
+        
+        null_tz_time = local_time.local_date_time(d, h, null_tz, True)
+        
+        self.failUnless( null_tz_time.is_dst() == False )
+        self.failUnless( null_tz_time.to_string() == "2004-Apr-04 12:00:00 UTC" )
+        
+        self.failUnlessRaises( Exception
+                               , local_time.local_date_time
+                               , gregorian.date(2004,date_time.Apr,4)
+                               , posix_time.time_duration(2,30,0)
+                               , ny_tz
+                               , True )
+          
+        d = gregorian.date(2004, date_time.Apr,4)
+        td = posix_time.time_duration(1,15,0) 
+        lt1 = local_time.local_date_time(d,td,ny_tz,False)
+        lt2 = local_time.local_date_time( posix_time.ptime(d
+                                                           , posix_time.time_duration(6,15,0) )
+                                          , ny_tz)
+        self.failUnless( lt1.utc_time() == lt2.utc_time( ))
+        self.failUnless( lt1.is_dst() == False )
+        self.failUnless( lt2.is_dst() == False )
+        lt1 += posix_time.hours(1)
+        lt2 += posix_time.hours(1)
+        self.failUnless( lt1.is_dst() == True)
+        self.failUnless( lt2.is_dst() == True)
+    
+        d = gregorian.date(2004,date_time.Oct,31)
+        td = posix_time.time_duration(1,15,0) 
+        lt1 = local_time.local_date_time(d,td,ny_tz,True)
+        lt2 = local_time.local_date_time(posix_time.ptime(d
+                                                          , posix_time.time_duration(5,15,0))
+                                         , ny_tz)
+        self.failUnless( lt1.utc_time() == lt2.utc_time() )
+        self.failUnless( lt1.is_dst() == True )
+        self.failUnless( lt2.is_dst() == True )
+        lt1 += posix_time.hours(1)
+        lt2 += posix_time.hours(1)
+        self.failUnless( lt1.is_dst() == False )
+        self.failUnless( lt2.is_dst() == False )
+        
+        ny_time = az_time.local_time_in(ny_tz, posix_time.time_duration(0,0,0))
+        self.failUnless( ny_time.zone().std_zone_abbrev() == "EST" )
+        self.failUnless( ny_time.zone().base_utc_offset() == posix_time.hours(-5) )
+        self.failUnless( ny_time.zone().has_dst() == True )
+        self.failUnless( ny_time.to_string() == "2003-Dec-20 07:00:00 EST" )
+        ny_time += posix_time.hours(3)
+        self.failUnless( ny_time.to_string() == "2003-Dec-20 10:00:00 EST" )
+        ny_time += gregorian.days(3)
+        self.failUnless( ny_time.to_string() == "2003-Dec-23 10:00:00 EST" )
+
+        d = gregorian.date(2003, date_time.Aug, 28)
+        sv_pt = posix_time.ptime(date_time.pos_infin)
+        sv_lt = local_time.local_date_time(sv_pt, ny_tz)
+        utc_pt = posix_time.ptime(d, posix_time.hours(12))
+        
+        utc_lt = local_time.local_date_time(utc_pt, null_tz)           
+        az_lt = local_time.local_date_time(d, posix_time.hours(5), az_tz, False)  
+        ny_lt = local_time.local_date_time(d, posix_time.hours(8), ny_tz, True)   
+        au_lt = local_time.local_date_time(d, posix_time.hours(22), sydney, False)
+        
+        self.failUnless( az_lt == utc_lt ) 
+        self.failUnless( ny_lt == utc_lt ) 
+        self.failUnless( au_lt == utc_lt ) 
+        self.failUnless( au_lt <= utc_lt ) 
+        self.failUnless( au_lt >= utc_lt ) 
+        self.failUnless( az_lt == ny_lt )  
+        self.failUnless( az_lt < ny_lt + posix_time.seconds(1) ) 
+        self.failUnless( az_lt + posix_time.seconds(1) >  ny_lt ) 
+        self.failUnless( az_lt <= ny_lt ) 
+        self.failUnless( az_lt >=  ny_lt ) 
+        self.failUnless( az_lt + posix_time.seconds(1) !=  ny_lt ) 
+        
+        au_lt += posix_time.hours(1)
+        self.failUnless( au_lt != utc_lt ) 
+        self.failUnless( utc_lt <= au_lt )  
+        self.failUnless( au_lt >= utc_lt ) 
+        self.failUnless( utc_lt < au_lt ) 
+        self.failUnless( au_lt > utc_lt )
+        au_lt -= posix_time.hours(1)
+        self.failUnless( au_lt == utc_lt ) 
+        
+        self.failUnless( (az_lt + gregorian.days(2)).to_string() == "2003-Aug-30 05:00:00 MST")
+        self.failUnless( (az_lt - gregorian.days(2)).to_string() == "2003-Aug-26 05:00:00 MST")
+        
+        az_lt += gregorian.days(2)
+        self.failUnless( az_lt.to_string() == "2003-Aug-30 05:00:00 MST")
+        az_lt -= gregorian.days(2)
+        self.failUnless( az_lt.to_string() == "2003-Aug-28 05:00:00 MST")
+        self.failUnless( (az_lt + posix_time.hours(2)).to_string() == "2003-Aug-28 07:00:00 MST")
+        self.failUnless( (az_lt - posix_time.hours(2)).to_string() == "2003-Aug-28 03:00:00 MST")
+        
+        self.failUnless( sv_lt > au_lt) 
+        sv_lt2 = sv_lt + gregorian.days(2)
+        self.failUnless( sv_lt2 == sv_lt)
+
+        m = gregorian.months(2)
+        y = gregorian.years(2)
+        self.failUnless( (az_lt + m).to_string() == "2003-Oct-28 05:00:00 MST")
+        az_lt += m
+        self.failUnless( az_lt.to_string() == "2003-Oct-28 05:00:00 MST")
+        self.failUnless( (az_lt - m).to_string() == "2003-Aug-28 05:00:00 MST")
+        az_lt -= m
+        self.failUnless( az_lt.to_string() == "2003-Aug-28 05:00:00 MST")
+        self.failUnless( (az_lt + y).to_string() == "2005-Aug-28 05:00:00 MST")
+        az_lt += y
+        self.failUnless( az_lt.to_string() == "2005-Aug-28 05:00:00 MST")
+        self.failUnless( (az_lt - y).to_string() == "2003-Aug-28 05:00:00 MST")
+        az_lt -= y
+        self.failUnless( az_lt.to_string() == "2003-Aug-28 05:00:00 MST")
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/examples/pyboost_dev/unittestst/date_time/posix_time_tester.py b/examples/pyboost_dev/unittestst/date_time/posix_time_tester.py
new file mode 100644
index 0000000..03526e2
--- /dev/null
+++ b/examples/pyboost_dev/unittestst/date_time/posix_time_tester.py
@@ -0,0 +1,529 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import time
+import sys
+sys.path.append( '../..' )
+
+from pyboost import date_time
+from pyboost.date_time import gregorian
+from pyboost.date_time import posix_time
+from pyboost.date_time import to_iso_string
+from pyboost.date_time import to_simple_string
+import unittest
+
+class tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+        
+    def test_clock(self):
+        tl = posix_time.second_clock.local_time()
+        print to_simple_string(tl)
+
+        tu = posix_time.second_clock.universal_time()
+        print to_simple_string(tu)
+
+        tl = posix_time.microsec_clock.local_time()
+        print to_simple_string(tl)
+
+        tu = posix_time.microsec_clock.universal_time()
+        print to_simple_string(tu)
+
+    def test_time_period(self):
+        d1 = gregorian.date(2001,date_time.Jan, 1)
+        t1 = posix_time.ptime(d1,posix_time.hours(2))
+        t2 = posix_time.ptime(d1,posix_time.hours(3))
+        p1 = posix_time.time_period(t1,t2) 
+        p2 = posix_time.time_period(t1,t2) 
+        p4 = posix_time.time_period(t1, posix_time.hours(1))
+        self.failUnless( p4.length() == posix_time.hours(1))
+        
+        self.failUnless( p1 == p4)
+        self.failUnless( p1.begin() == t1)
+        self.failUnless( p1.end() == t2)
+        self.failUnless( p1.last() == t2-posix_time.time_duration.unit())
+        
+        self.failUnless( p1.contains(t1))
+        self.failUnless( not p1.contains(t2))
+        self.failUnless( p1.contains(t2-posix_time.seconds(1)))
+        t3 = posix_time.ptime(gregorian.date(2001,date_time.Jan,1),posix_time.hours(4))
+        p5 = posix_time.time_period(t2,t3)
+        self.failUnless( not p1.contains(p5.begin()))
+        self.failUnless( not p5.contains(p1.begin()))
+        self.failUnless( not (p1 == p5))
+        self.failUnless( p1 < p5)
+        self.failUnless( p5 > p1)
+        self.failUnless( p5 != p1)
+        self.failUnless( p1.intersects(p1))
+        self.failUnless( not p1.intersects(p5))
+        self.failUnless( not p5.intersects(p1))
+        
+        p6 = posix_time.time_period(t2,t3)
+        p6.shift(posix_time.minutes(30))        
+        
+        self.failUnless( p5.intersects(p6))
+        self.failUnless( p6.intersects(p5))
+        self.failUnless( p5.contains(p6.begin()))
+        p6.shift(posix_time.minutes(30))
+        
+        
+        self.failUnless( not p5.intersects(p6))
+        self.failUnless( not p6.intersects(p5))
+        p6.shift(posix_time.minutes(-30))
+        
+        p7 = p5.intersection(p6)
+        
+        self.failUnless(  
+        p7 == posix_time.time_period( posix_time.ptime(d1,posix_time.time_duration(3,30,0))
+                                     , posix_time.ptime(d1,posix_time.time_duration(4,0,0))))
+    
+    def test_duration( self ):
+        td0 = posix_time.time_duration()
+        self.failUnless( posix_time.time_duration().ticks() == 0)
+        td1 = posix_time.time_duration(1,25,0)
+        td3 = posix_time.time_duration(td1.hours(),td1.minutes(),td1.seconds())
+        self.failUnless( td1 == td3)
+        td1 = -td1 
+        td3 = posix_time.time_duration(td1.hours(),td1.minutes(),td1.seconds())
+        self.failUnless( td1 == td3)
+        t_1 = posix_time.time_duration(0,1,40)
+        t_2 = posix_time.time_duration(0,1,41)
+        self.failUnless( not ( t_2 < t_2 ) )
+        self.failUnless( t_1 == t_1)
+        self.failUnless( t_1 >= t_1)
+        self.failUnless( t_2 >= t_1)
+        self.failUnless( t_2 <= t_2)
+        self.failUnless( t_2 > t_1)
+        self.failUnless( not (t_1 > t_2))
+        t_3 = posix_time.time_duration(0,1,41)
+        self.failUnless( t_2 == t_3)
+        t_4 = posix_time.time_duration(0,1,41)
+        self.failUnless( t_2 == t_4)
+        
+        t_5 = posix_time.time_duration(1,30,20,10) 
+        t_5 /= 2
+        self.failUnless( t_5.hours() == 0 
+                         and t_5.minutes() == 45 
+                         and t_5.seconds() == 10 
+                         and  t_5.fractional_seconds() == 5)
+        t_5 = posix_time.time_duration(3,15,8,0) / 2        
+        self.failUnless( t_5 == posix_time.time_duration(1,37,34,0) )
+        td = posix_time.hours( 5 )
+        td *= 5
+        self.failUnless( td == posix_time.time_duration( 25, 0,0,0 ) )
+        t_5 = t_2 + t_1
+        self.failUnless( t_5 == posix_time.time_duration(0,3,21) )
+
+        td_a = posix_time.time_duration(5,5,5,5)
+        td_b = posix_time.time_duration(4,4,4,4)
+        td_c = posix_time.time_duration(2,2,2,2)
+        td_a += td_b
+        self.failUnless( td_a == posix_time.time_duration(9,9,9,9) )
+        td_d = td_b - td_c 
+        self.failUnless( td_d == posix_time.time_duration(2,2,2,2) )
+        td_d -= td_b 
+        self.failUnless( td_d == td_c - td_b)
+        
+        utd = posix_time.time_duration(1,2,3,4)
+        utd2 = -utd
+        
+        self.failUnless( utd2.hours() == -1
+                         and  utd2.minutes() == -2
+                         and  utd2.seconds() == -3
+                         and  utd2.fractional_seconds() == -4 )
+        utd2 = -posix_time.hours(5)
+        self.failUnless( utd2.hours() == -5)
+        utd2 = -utd2
+        self.failUnless( utd2.hours() == 5)
+
+        t_6 = posix_time.time_duration(5,4,3)  
+        self.failUnless( t_6.hours() == 5)
+        self.failUnless( t_6.minutes() == 4)
+        self.failUnless( t_6.seconds() == 3)
+        
+        self.failUnless( t_6.total_seconds() == 18243)
+        
+        tenhours = posix_time.hours(10)
+        fivemin = posix_time.minutes(5)
+        t7 = posix_time.time_duration(1,2,3) + tenhours + fivemin
+        self.failUnless( t7 == posix_time.time_duration(11,7,3))
+        t8 = tenhours + posix_time.time_duration(1,2,3) +  fivemin
+        self.failUnless(t8 == posix_time.time_duration(11,7,3))
+        if posix_time.time_duration.resolution() >= date_time.micro:
+            t_9 = posix_time.time_duration(5,4,3,9876) 
+            self.failUnless(  t_9.hours() == 5)
+            self.failUnless(  t_9.minutes() == 4)
+            self.failUnless(  t_9.seconds() == 3)
+            self.failUnless(  t_9.fractional_seconds() == 9876)
+            self.failUnless( t_9.total_seconds() == 18243)
+        
+        if posix_time.time_duration.resolution() >= date_time.tenth:
+            t_10 = posix_time.time_duration(5,4,3,9) 
+            self.failUnless(  t_10.hours() == 5)
+            self.failUnless(  t_10.minutes() == 4)
+            self.failUnless(  t_10.seconds() == 3)
+            self.failUnless(  t_10.fractional_seconds() == 9)
+            self.failUnless( t_10.total_seconds() == 18243)
+
+        if posix_time.time_duration.resolution() >= date_time.milli:
+            ms = posix_time.millisec(9)        
+            if posix_time.time_duration.resolution() == date_time.nano:
+                self.failUnless(  ms.fractional_seconds() == 9000000)
+                self.failUnless( ms.total_seconds() == 0)
+                self.failUnless( ms.total_milliseconds() == 9)
+                self.failUnless( posix_time.time_duration.ticks_per_second() == 1000000000)
+            else:
+                self.failUnless(  ms.fractional_seconds() == 9000)
+                self.failUnless( ms.total_seconds() == 0)
+                self.failUnless( ms.total_milliseconds() == 9)
+
+        if hasattr( posix_time, 'nanoseconds' ):
+            if posix_time.time_duration.resolution() >= date_time.nano:
+                ns = posix_time.nanosec(9)
+                
+                self.failUnless(  ns.fractional_seconds() == 9)
+                self.failUnless(  ns.total_nanoseconds() == 9)
+                self.failUnless(  ns.total_microseconds() == 0)
+                
+                ns18 = ns + ns
+                self.failUnless(  ns18.fractional_seconds() == 18)
+                
+                ns2 = posix_time.nanosec(1000000000) 
+                self.failUnless(  ns2 == seconds(1))
+                self.failUnless(  ns2.total_seconds() == 1)
+                
+                self.failUnless( (nanosec(3)/2) == nanosec(1))
+                self.failUnless( nanosec(3)*1000 == microsec(3))
+        
+        t_11 = posix_time.time_duration(3600,0,0) 
+        self.failUnless(  t_11.hours() == 3600)
+        self.failUnless(  t_11.total_seconds() == 12960000)
+        
+        td_12 = posix_time.time_duration(1,2,3,10) 
+        
+        self.failUnless(  td_12.total_seconds() == 3723)
+        
+        self.failUnless( posix_time.hours(2)/2 == posix_time.hours(1))
+        self.failUnless( posix_time.hours(3)/2 == posix_time.minutes(90))
+        
+        self.failUnless( posix_time.time_duration(3,0,0)*2 == posix_time.hours(6))
+        self.failUnless( posix_time.hours(3600)*1000 == posix_time.hours(3600000))
+        
+        pi_dur = posix_time.time_duration(date_time.pos_infin)
+        ni_dur = posix_time.time_duration(date_time.neg_infin)
+        ndt_dur = posix_time.time_duration(date_time.not_a_date_time)
+        self.failUnless( pi_dur + ni_dur == ndt_dur)
+        self.failUnless( pi_dur / 3 == pi_dur)
+        self.failUnless( pi_dur + td_12 == pi_dur)
+        self.failUnless( pi_dur - td_12 == pi_dur)
+        self.failUnless( -pi_dur == ni_dur)
+        self.failUnless( ni_dur < pi_dur)
+        self.failUnless( ni_dur < td_12)
+        self.failUnless( pi_dur > td_12)
+         
+        self.failUnless( to_simple_string(pi_dur)=="+infinity")
+        self.failUnless( to_simple_string(ni_dur)=="-infinity")
+        self.failUnless( to_simple_string(ndt_dur)=="not-a-date-time")
+        
+        t1 = posix_time.ptime( gregorian.date(2001,7,14))
+        t2 = posix_time.ptime( gregorian.date(2002,7,14))
+        self.failUnless(  365*24 == (t2-t1).hours())
+        self.failUnless(  365*24*3600 == (t2-t1).total_seconds())
+                
+        self.failUnless( posix_time.seconds(1).total_milliseconds() == 1000)
+        self.failUnless( posix_time.seconds(1).total_microseconds() == 1000000)
+        self.failUnless( posix_time.seconds(1).total_nanoseconds() == 1000000000)
+        self.failUnless( posix_time.hours(1).total_milliseconds() == 3600*1000)
+        
+        tms = 3600*1000000*1001
+        self.failUnless( posix_time.hours(1001).total_microseconds() == tms)
+        tms = 3600*365*24*1000
+        self.failUnless( (t2-t1).total_milliseconds() == tms)
+        tms = 3600*365*24*1000000000
+        self.failUnless( (t2-t1).total_nanoseconds() == tms)
+        print posix_time.microseconds(25).ticks()/posix_time.time_duration.ticks_per_second()        
+
+    def test_greg_duration_operators(self):
+        p = posix_time.ptime( gregorian.date(2001, date_time.Oct, 31), posix_time.hours(5))
+        self.failUnless( posix_time.ptime( gregorian.date(2002, date_time.Feb, 28)
+                                           , posix_time.hours(5)) 
+                         == p + gregorian.months(4) )
+        p += gregorian.months(4)
+        self.failUnless( posix_time.ptime(gregorian.date(2002, date_time.Feb, 28), posix_time.hours(5)) == p)
+
+        p = posix_time.ptime( gregorian.date(2001, date_time.Oct, 31), posix_time.hours(5))
+        self.failUnless( posix_time.ptime(gregorian.date(2001, date_time.Apr, 30), posix_time.hours(5)) 
+                         == p - gregorian.months(6))
+        p -= gregorian.months(6)
+        self.failUnless( posix_time.ptime(gregorian.date(2001, date_time.Apr, 30)
+                                          , posix_time.hours(5)) == p)
+        
+        p = posix_time.ptime(gregorian.date(2001, date_time.Feb, 28), posix_time.hours(5))
+        self.failUnless( posix_time.ptime( gregorian.date(2004, date_time.Feb, 29)
+                                           , posix_time.hours(5)) 
+                         == p + gregorian.years(3))
+        p += gregorian.years(3)
+        self.failUnless( posix_time.ptime( gregorian.date(2004, date_time.Feb, 29)
+                                           , posix_time.hours(5)) 
+                         == p )
+        
+        p = posix_time.ptime(gregorian.date(2000, date_time.Feb, 29), posix_time.hours(5))
+        self.failUnless( posix_time.ptime(gregorian.date(1998, date_time.Feb, 28), posix_time.hours(5)) 
+                         == p - gregorian.years(2))
+        p -= gregorian.years(2)
+        self.failUnless( posix_time.ptime(gregorian.date(1998, date_time.Feb, 28), posix_time.hours(5)) 
+                         == p)
+
+    def test_time(self):
+        td_pi = posix_time.time_duration(date_time.pos_infin)
+        td_ni = posix_time.time_duration(date_time.neg_infin)
+        td_ndt = posix_time.time_duration(date_time.not_a_date_time)
+        dd_pi = gregorian.date_duration(date_time.pos_infin)
+        dd_ni = gregorian.date_duration(date_time.neg_infin)
+        dd_ndt = gregorian.date_duration(date_time.not_a_date_time)
+        d_pi = gregorian.date(date_time.pos_infin)
+        d_ni = gregorian.date(date_time.neg_infin)
+        d_ndt = gregorian.date(date_time.not_a_date_time)
+        td = posix_time.time_duration(1,2,3,4)
+        dd = gregorian.date_duration(1234);
+        d = gregorian.date(2003, date_time.Oct,31)
+
+        self.failUnless(  posix_time.ptime() == posix_time.ptime(date_time.not_a_date_time) )
+        
+        s = "+infinity"
+        p_sv1 = posix_time.ptime(date_time.pos_infin);
+        self.failUnless(  to_simple_string(p_sv1) == s )
+        result = p_sv1 + dd
+        self.failUnless( to_iso_string(result) == s )
+        self.failUnless( result.is_special() )
+        result = p_sv1 - dd
+        self.failUnless( to_iso_string(result) == s)
+        result = p_sv1 - dd_ni
+        self.failUnless( to_iso_string(result) == s)
+        p_sv2 = posix_time.ptime(date_time.neg_infin)
+
+        s = "-infinity"
+        self.failUnless( to_iso_string(p_sv2) == s)
+        result = p_sv2 - td_pi
+        self.failUnless( to_iso_string(result) == s )
+        p_sv3 = posix_time.ptime(date_time.not_a_date_time)
+        self.failUnless(  p_sv3.is_special() )
+        s = "not-a-date-time";
+        self.failUnless(  to_iso_string(p_sv3) == s)
+        result = p_sv3 + td
+        self.failUnless(  to_iso_string(result) == s)
+        result = p_sv3 - td
+        self.failUnless(  to_iso_string(result) == s)
+        result = p_sv2 + td_pi
+        self.failUnless(  to_iso_string(result) == s)
+        result = p_sv1 + dd_ni
+        self.failUnless(  to_iso_string(result) == s)
+        result = p_sv1 + dd_ndt
+        self.failUnless(  to_iso_string(result) == s)
+
+        p_sv1 = posix_time.ptime(d_pi, td)
+        s = "+infinity"
+        self.failUnless( to_simple_string(p_sv1) == s)
+        p_sv2 = posix_time.ptime(d_ni, td)
+        s = "-infinity";
+        self.failUnless( to_iso_string(p_sv2) == s)
+        p_sv3 = posix_time.ptime(d_ndt, td)
+        s = "not-a-date-time";
+        self.failUnless( to_iso_string(p_sv3) == s)
+
+        p_sv1 = posix_time.ptime(d_ndt, td)
+        s = "not-a-date-time"
+        self.failUnless( to_simple_string(p_sv1) == s)
+        p_sv2 = posix_time.ptime(d, td_ndt)
+        self.failUnless( to_iso_string(p_sv2) == s)
+        p_sv3 = posix_time.ptime(d_pi, td_ni)
+        self.failUnless( to_iso_string(p_sv3) == s)
+
+        p_sv1 = posix_time.ptime(d, td_pi)
+        pt = posix_time.ptime(d,td)
+        s = "+infinity"
+        self.failUnless( to_simple_string(p_sv1) == s)
+        self.failUnless( to_simple_string(p_sv1.date()) == s)
+        p_sv2 = posix_time.ptime(d, td_ni)
+        
+        s = "-infinity"
+        self.failUnless( to_iso_string(p_sv2) == s)
+        self.failUnless( to_simple_string(p_sv2.time_of_day()) == s)
+        p_sv3 = posix_time.ptime(d, td_ndt)
+        s = "not-a-date-time"
+        self.failUnless( to_iso_string(p_sv3) == s)
+        self.failUnless( to_simple_string(p_sv3.date()) == s)
+        self.failUnless( to_simple_string(p_sv3.time_of_day()) == s)
+        self.failUnless( p_sv2 < p_sv1)
+        self.failUnless( p_sv2 < pt)
+        self.failUnless( pt < p_sv1)
+        self.failUnless( p_sv2 <= p_sv2)
+        self.failUnless( p_sv2 <= pt)
+        self.failUnless( p_sv1 >= pt)
+        self.failUnless( p_sv1 != p_sv2)
+        self.failUnless( p_sv3 != p_sv2)
+        self.failUnless( pt != p_sv1)
+        
+        self.failUnless( p_sv1.is_infinity() and p_sv1.is_pos_infinity())
+        self.failUnless( p_sv2.is_infinity() and p_sv2.is_neg_infinity())
+        self.failUnless( not p_sv3.is_infinity() and p_sv3.is_not_a_date_time())
+        
+        self.failUnless( p_sv1 + dd == p_sv1)
+        self.failUnless( pt - dd_pi == p_sv2)
+        self.failUnless( pt - dd_ndt == p_sv3)
+        
+        self.failUnless( p_sv2 + td == p_sv2)
+        self.failUnless( pt - td_ni == p_sv1)
+        self.failUnless( pt + td_ndt == p_sv3)
+        self.failUnless( pt - p_sv1 == td_ni)
+        self.failUnless( pt - p_sv2 == td_pi)
+        self.failUnless( pt - p_sv3 == td_ndt)
+        self.failUnless( p_sv2 - p_sv2 == td_ndt)
+
+        d = gregorian.date(2001, date_time.Dec,1)
+        td = posix_time.time_duration(5,4,3)
+        t1 = posix_time.ptime(d, td)
+        self.failUnless( t1.date() == d)
+        self.failUnless( t1.time_of_day() == td)
+        self.failUnless( posix_time.ptime( gregorian.date(2005,10,30), posix_time.hours(25)) 
+                         == posix_time.ptime(gregorian.date(2005,10,31), posix_time.hours(1)))
+        t2 = posix_time.ptime(d, td)
+        t3 = posix_time.ptime(d, td)
+        self.failUnless( t3.date() == d)
+        self.failUnless( t3.time_of_day() == td)
+        self.failUnless( t1 == t3)
+        d2 = gregorian.date(2001,date_time.Jan,1)
+        t4 = posix_time.ptime(d2, td)
+        self.failUnless( not (t1 == t4))
+        td1 = posix_time.time_duration(5,4,0)
+        t5 = posix_time.ptime(d, td1)
+        self.failUnless( not (t1 == t5))
+        self.failUnless( t1 != t5);
+        
+        self.failUnless( not (t1 < t1) )
+        self.failUnless( t4 < t1)
+        self.failUnless( t5 < t1)
+        self.failUnless( t1 <= t1)
+        self.failUnless( t1 >= t1)
+        
+        twodays = gregorian.date_duration(2)
+        t6 = t1 + twodays
+        d3 = gregorian.date(2001,date_time.Dec,3)
+        self.failUnless( t6 == posix_time.ptime(d3,td) )
+        t7 = t1 - twodays
+        self.failUnless( t7 == posix_time.ptime(gregorian.date(2001,date_time.Nov,29),td) )
+        
+        t6b = posix_time.ptime( gregorian.date(2003, date_time.Oct,31)
+                                , posix_time.time_duration(10,0,0,0))
+        t6b += gregorian.date_duration(55)
+        self.failUnless( t6b == posix_time.ptime(gregorian.date(2003,date_time.Dec,25)
+                                                 , posix_time.time_duration(10,0,0,0)))
+        t6b += posix_time.hours(6)
+        self.failUnless( t6b == posix_time.ptime(gregorian.date(2003,date_time.Dec,25)
+                                                 , posix_time.time_duration(16,0,0,0)))
+        t6b -= gregorian.date_duration(55)
+        self.failUnless( t6b == posix_time.ptime(gregorian.date(2003,date_time.Oct,31)
+                                                 , posix_time.time_duration(16,0,0,0)))
+        t6b -= posix_time.hours(6)
+        self.failUnless( t6b == posix_time.ptime(gregorian.date(2003,date_time.Oct,31)
+                                                 , posix_time.time_duration(10,0,0,0)));
+        t6b += posix_time.hours(25);
+        self.failUnless( t6b ==
+              posix_time.ptime(gregorian.date(2003,date_time.Nov,1), posix_time.time_duration(11,0,0,0)));
+        t6b -= posix_time.hours(49);
+        self.failUnless( t6b == posix_time.ptime(gregorian.date(2003,date_time.Oct,30)
+                                                 , posix_time.time_duration(10,0,0,0)));
+
+        td2 = posix_time.time_duration(1,2,3)
+        t8 = posix_time.ptime(gregorian.date(2001,date_time.Dec,1))
+        t9 = t8 + td2 
+        t10 = posix_time.ptime(gregorian.date(2001,date_time.Dec,1)
+                               ,posix_time.time_duration(1,2,3))
+        
+        self.failUnless( t9 == t10)
+        t9 = posix_time.ptime(gregorian.date(2001,date_time.Dec,1)
+                              , posix_time.time_duration(12,0,0)); 
+        td3 = posix_time.time_duration(-4,0,0)
+        self.failUnless( t9 + td3 
+                         == posix_time.ptime(gregorian.date(2001,date_time.Dec,1)
+                                             , posix_time.time_duration(8,0,0)) )
+        td3 = posix_time.time_duration(24,0,0)
+        self.failUnless( t8+td3 == posix_time.ptime(gregorian.date(2001,date_time.Dec,2) ) )
+        td4 = posix_time.time_duration(24,0,1)
+        self.failUnless( t8+td4 == posix_time.ptime(gregorian.date(2001,date_time.Dec,2)
+                                                    , posix_time.time_duration(0,0,1)));
+
+        td5 = posix_time.time_duration(168,0,1)
+        self.failUnless( t8+td5 == posix_time.ptime(gregorian.date(2001,date_time.Dec,8)
+                                                    , posix_time.time_duration(0,0,1)))
+        
+        t11 = posix_time.ptime(gregorian.date(2001,date_time.Dec,1)
+                               , posix_time.time_duration(12,0,0))
+        td6 = posix_time.time_duration(12,0,1)
+        t12 = t11-td6
+        self.failUnless( t12 == posix_time.ptime(gregorian.date(2001,date_time.Nov,30)
+                                                 , posix_time.time_duration(23,59,59)))
+        self.failUnless( t11-posix_time.time_duration(13,0,0)
+                         == posix_time.ptime(gregorian.date(2001,date_time.Nov,30)
+                                             , posix_time.time_duration(23,0,0)))
+        self.failUnless( t11-posix_time.time_duration(-13,0,0)
+                         == posix_time.ptime(gregorian.date(2001,date_time.Dec,2)
+                                             , posix_time.time_duration(1,0,0)))
+        
+        t13 = posix_time.ptime(d, posix_time.hours(3))
+        t14 = posix_time.ptime(d, posix_time.hours(4))
+        t14a = posix_time.ptime(d+gregorian.date_duration(1), posix_time.hours(4))
+        
+        self.failUnless( t14-t13 == posix_time.hours(1))
+        
+        self.failUnless( t13 - t14 == posix_time.hours(-1))
+        self.failUnless( t14a-t14 == posix_time.hours(24))
+        
+        t15 = posix_time.ptime(d, posix_time.time_duration(0,0,0,1))
+        t16 = posix_time.ptime(d, posix_time.time_duration(0,0,0,2))
+        self.failUnless( t15 + posix_time.time_duration.unit() == t16)
+        self.failUnless( t16 - posix_time.time_duration.unit() == t15)
+                
+        self.failUnless( posix_time.ptime(date_time.min_date_time)
+                         == posix_time.ptime(gregorian.date(1400,1,1)
+                                             , posix_time.time_duration(0,0,0,0)) )
+        
+        self.failUnless( posix_time.ptime(date_time.max_date_time)
+                         == posix_time.ptime(gregorian.date(9999,12,31)
+                                             , posix_time.hours(24)- posix_time.time_duration.unit()))
+
+    def test_microsec_time_clock(self):
+        last = posix_time.microsec_clock.local_time()
+        time.sleep(0.025)
+        t1 = posix_time.second_clock.local_time()
+        t2 = posix_time.microsec_clock.local_time()
+        self.failUnless( t1.time_of_day().hours() == t2.time_of_day().hours() )
+        self.failUnless( t1.time_of_day().minutes() == t2.time_of_day().minutes())
+        self.failUnless( t1.time_of_day().minutes() == t2.time_of_day().minutes())
+        self.failUnless( t1.date() == t2.date() )
+        self.failUnless( last < t2 )
+
+        last = posix_time.microsec_clock.universal_time()
+        time.sleep(0.025)
+        t1 = posix_time.second_clock.universal_time()
+        t2 = posix_time.microsec_clock.universal_time()
+        self.failUnless( t1.time_of_day().hours() == t2.time_of_day().hours() )
+        self.failUnless( t1.time_of_day().minutes() == t2.time_of_day().minutes())
+        self.failUnless( t1.time_of_day().minutes() == t2.time_of_day().minutes())
+        self.failUnless( t1.date() == t2.date() )
+        self.failUnless( last < t2 )
+
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/examples/pyboost_dev/unittestst/date_time/test_all.py b/examples/pyboost_dev/unittestst/date_time/test_all.py
new file mode 100644
index 0000000..8da550f
--- /dev/null
+++ b/examples/pyboost_dev/unittestst/date_time/test_all.py
@@ -0,0 +1,30 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+sys.path.append( '../..' )
+
+import unittest
+import gregorian_tester
+import posix_time_tester
+import local_time_tester
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    testers = [ gregorian_tester
+                , posix_time_tester 
+                , local_time_tester
+    ]
+    for i in range(10):
+        for tester in testers:
+            suite.addTest( tester.create_suite() )
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/examples/pyboost_dev/unittestst/rational/test_all.py b/examples/pyboost_dev/unittestst/rational/test_all.py
new file mode 100644
index 0000000..81997ef
--- /dev/null
+++ b/examples/pyboost_dev/unittestst/rational/test_all.py
@@ -0,0 +1,97 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+sys.path.append( '../..' )
+
+from pyboost import rational
+import unittest
+
+class tester_t( unittest.TestCase ):
+    def __init__( self, *args ):
+        unittest.TestCase.__init__( self, *args )
+    
+    def test_rational(self):      
+        pyrational = rational.rational
+        
+        self.failUnless( pyrational( 28, 7) == 4 )
+        self.failUnless( pyrational( 28, 7) == pyrational( 4 ) )
+        
+        r1 = pyrational( 5, 7 )
+        
+        r1 += pyrational( 4, 11 )
+        r2 = pyrational( 5*11 + 7*4, 7*11 )
+        self.failUnless( r1 == r2 )
+        
+        r1 -= pyrational( 5, 7)
+        self.failUnless( r1 == pyrational( 4, 11) )
+        
+        r1 *= 2
+        self.failUnless( r1 == pyrational( 8, 11) )
+        
+        r1 /= 3
+        self.failUnless( r1 == pyrational( 8, 33) )
+    
+        r2 = not r1 
+        self.failUnless( r2 == False )
+        
+        self.failUnless( 0 < r1 )
+    
+    def test_gcd( self ):
+        gcd = rational.gcd
+        self.failUnless( gcd(  1,  -1) == 1 )
+        self.failUnless( gcd( -1,   1) == 1 )
+        self.failUnless( gcd(  1,   1) == 1 )
+        self.failUnless( gcd( -1,  -1) == 1 )
+        self.failUnless( gcd(  0,   0) == 0 )
+        self.failUnless( gcd(  7,   0) == 7 )
+        self.failUnless( gcd(  0,   9) == 9 )
+        self.failUnless( gcd( -7,   0) == 7 )
+        self.failUnless( gcd(  0,  -9) == 9 )
+        self.failUnless( gcd( 42,  30) == 6 )
+        self.failUnless( gcd(  6,  -9) == 3 )
+        self.failUnless( gcd(-10, -10) ==10 )
+        self.failUnless( gcd(-25, -10) == 5 )
+    
+    def test_lcm( self ):
+        lcm = rational.lcm
+        self.failUnless( lcm(  1,  -1) == 1 )
+        self.failUnless( lcm( -1,   1) == 1 )
+        self.failUnless( lcm(  1,   1) == 1 )
+        self.failUnless( lcm( -1,  -1) == 1 )
+        self.failUnless( lcm(  0,   0) == 0 )
+        self.failUnless( lcm(  6,   0) == 0 )
+        self.failUnless( lcm(  0,   7) == 0 )
+        self.failUnless( lcm( -5,   0) == 0 )
+        self.failUnless( lcm(  0,  -4) == 0 )
+        self.failUnless( lcm( 18,  30) ==90 )
+        self.failUnless( lcm( -6,   9) ==18 )
+        self.failUnless( lcm(-10, -10) ==10 )
+        self.failUnless( lcm( 25, -10) ==50 )
+
+    def test_abs( self ):
+        pyrational = rational.rational
+        
+        self.failUnless( abs( pyrational( 28, 7) ) == pyrational( 28, 7) )
+        self.failUnless( abs( pyrational( -28, 7) ) == pyrational( 28, 7) )
+        self.failUnless( abs( pyrational( 28, -7) ) == pyrational( 28, 7) )
+
+    def test_conversion( self ):
+        pyrational = rational.rational
+        
+        half = pyrational( 1, 2 )
+        self.failUnless( float(half) == 0.5 )
+        self.failUnless( int(half) == 0 )
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t) )
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/examples/pyboost_dev/unittestst/test_all.py b/examples/pyboost_dev/unittestst/test_all.py
new file mode 100644
index 0000000..59be9fd
--- /dev/null
+++ b/examples/pyboost_dev/unittestst/test_all.py
@@ -0,0 +1,31 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+
+sys.path.append( '..' )
+
+def run_it( dir_name ):
+    pwd = os.getcwd()
+    os.chdir( dir_name )
+    command_line = sys.executable + ' ' + 'test_all.py'
+    input_, output = os.popen4( command_line )
+    input_.close()
+    while True:
+        data = output.readline()
+        print data,
+        if not data:
+            break
+    exit_status = output.close()
+    if exit_status:
+        print 'Error! %s did not passed the tests.' % dir_name
+    os.chdir( pwd )
+    
+run_it( 'crc' )
+run_it( 'rational' )
+run_it( 'date_time' )
+run_it( 'boost_random' )
\ No newline at end of file
diff --git a/examples/pyeasybmp_dev/boost.python/pyeasybmp/build_setup.py b/examples/pyeasybmp_dev/boost.python/pyeasybmp/build_setup.py
new file mode 100644
index 0000000..83ad97d
--- /dev/null
+++ b/examples/pyeasybmp_dev/boost.python/pyeasybmp/build_setup.py
@@ -0,0 +1,30 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import shutil
+
+def create( source_dir, target_dir ):
+    sys.path.append( source_dir )
+    environment = __import__( 'environment' )
+    files_dir = os.path.join( source_dir, 'unittests' )
+    files = ['grayscale.py', 'source.bmp', 'target.bmp', 'LICENSE_1_0.txt' ]
+    if 'win32' == sys.platform:
+        files.append( 'pyeasybmp.pyd' )
+    else:
+        files.append( 'pyeasybmp.so' )
+
+
+    files = map( lambda fname: os.path.join( files_dir, fname ), files )
+    if 'win32' == sys.platform:
+        files.append( os.path.join( environment.settings.boost_libs_path, 'boost_python.dll' ) )
+    else:
+        files.append( os.path.join( environment.settings.boost_libs_path, 'libboost_python.so' ) )
+        files.append( os.path.join( environment.settings.boost_libs_path, 'libboost_python.so.1.33.1' ) )
+
+    for f in files:
+        shutil.copy( f, target_dir )
\ No newline at end of file
diff --git a/examples/pyeasybmp_dev/boost.python/pyeasybmp/environment.py b/examples/pyeasybmp_dev/boost.python/pyeasybmp/environment.py
new file mode 100644
index 0000000..0dcdb18
--- /dev/null
+++ b/examples/pyeasybmp_dev/boost.python/pyeasybmp/environment.py
@@ -0,0 +1,54 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+
+class settings:  
+    module_name = 'pyeasybmp'
+    boost_path = ''
+    boost_libs_path = ''
+    gccxml_path = ''    
+    pygccxml_path = ''
+    pyplusplus_path = ''
+    easybmp_path = ''
+    python_libs_path = ''
+    python_include_path = ''
+    working_dir = ''
+    generated_files_dir = ''
+    unittests_dir = ''
+    
+    @staticmethod
+    def setup_environment():
+        sys.path.append( settings.pygccxml_path )
+        sys.path.append( settings.pyplusplus_path )
+   
+if sys.platform == 'linux2':
+    settings.boost_path = '/home/roman/boost_cvs'
+    settings.boost_libs_path = '/home/roman/boost_cvs/bin'
+    settings.gccxml_path = '/home/roman/gccxml/bin/gccxml'    
+    settings.pygccxml_path = '/home/roman/pygccxml_sources/source'
+    settings.pyplusplus_path = '/home/roman/pygccxml_sources/source'
+    settings.easybmp_path = '/home/roman/pygccxml_sources/source/pyplusplus/examples/py_easybmp/EasyBMP'
+    settings.python_include_path = '/usr/include/python2.3'
+    settings.working_dir = '/home/roman/pygccxml_sources/source/pyplusplus/examples/py_easybmp'
+    settings.generated_files_dir = '/home/roman/pygccxml_sources/source/pyplusplus/examples/py_easybmp/generated'
+    settings.unittests_dir = '/home/roman/pygccxml_sources/source/pyplusplus/examples/py_easybmp/unittests'
+elif sys.platform == 'win32':
+    settings.boost_path = 'd:/boost_cvs'
+    settings.boost_libs_path = 'd:/boost_cvs/bin'
+    settings.gccxml_path = 'c:/tools/gcc_xml/bin'    
+    settings.pygccxml_path = 'd:/pygccxml_sources/source'
+    settings.pyplusplus_path = 'd:/pygccxml_sources/source'
+    settings.easybmp_path = 'd:/pygccxml_sources/source/pyplusplus/examples/py_easybmp/EasyBMP'
+    settings.python_libs_path = 'c:/python/libs'
+    settings.python_include_path = 'c:/python/include'
+    settings.working_dir = 'd:/pygccxml_sources/source/pyplusplus/examples/py_easybmp'
+    settings.generated_files_dir = 'd:/pygccxml_sources/source/pyplusplus/examples/py_easybmp/generated'
+    settings.unittests_dir = 'd:/pygccxml_sources/source/pyplusplus/examples/py_easybmp/unittests'
+else:
+    raise RuntimeError( 'There is no configuration for "%s" platform.' % sys.platform )
+
+settings.setup_environment()
\ No newline at end of file
diff --git a/examples/pyeasybmp_dev/boost.python/pyeasybmp/generate_code.py b/examples/pyeasybmp_dev/boost.python/pyeasybmp/generate_code.py
new file mode 100644
index 0000000..5a6a90f
--- /dev/null
+++ b/examples/pyeasybmp_dev/boost.python/pyeasybmp/generate_code.py
@@ -0,0 +1,44 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from environment import settings
+from pyplusplus import module_builder
+
+
+license = \
+"""
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+"""
+
+def export():
+    global license
+    header_file = os.path.join( settings.easybmp_path, 'EasyBMP.h' )
+    #create configuration for GCC-XML parser
+    #initialize module builder
+    mb = module_builder.module_builder_t( [ header_file ]
+                                          , gccxml_path=settings.gccxml_path
+                                          , working_directory=settings.easybmp_path  )
+    
+    bmp_class = mb.class_( 'BMP' )
+    call_operator = bmp_class.operator( symbol='()', recursive=False )
+    call_operator.alias = 'GetRGBAPixel'
+    call_operator.call_policies = module_builder.call_policies.return_internal_reference()
+    #customizing code, before generation
+    mb.build_code_creator( settings.module_name )
+    mb.code_creator.license = license
+    mb.code_creator.user_defined_directories.append( settings.easybmp_path )
+    mb.code_creator.precompiled_header = 'boost/python.hpp'
+    mb.code_creator.replace_included_headers( [header_file] )
+    
+    mb.write_module( os.path.join( settings.generated_files_dir, settings.module_name + '.cpp') )
+
+if __name__ == '__main__':
+    export()
+    print 'done'
\ No newline at end of file
diff --git a/examples/pyeasybmp_dev/boost.python/pyeasybmp/sconstruct b/examples/pyeasybmp_dev/boost.python/pyeasybmp/sconstruct
new file mode 100644
index 0000000..fa4f8bf
--- /dev/null
+++ b/examples/pyeasybmp_dev/boost.python/pyeasybmp/sconstruct
@@ -0,0 +1,41 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+from environment import settings
+
+def get_shlibsuffix():
+    if sys.platform == 'win32':
+        return '.pyd'
+    else:
+        return '.so'
+
+def get_ccflags():
+    if sys.platform == 'win32':
+        return ['/MD', '/EHsc' , '/GR' ] 
+    else:
+        return []
+
+def get_py_easybmp_files():
+    source_files = filter( lambda s: s.endswith( '.cpp' ), os.listdir(settings.generated_files_dir) )
+    return map( lambda fname: os.path.join( settings.generated_files_dir, fname ), source_files )
+
+def get_target():
+    return os.path.join( settings.unittests_dir, settings.module_name + get_shlibsuffix() )
+
+SharedLibrary( target=get_target()
+    , source=[ get_py_easybmp_files() ]
+    , LIBS=[ 'boost_python', ]
+    , LIBPATH=[ settings.boost_libs_path, settings.python_libs_path ]
+    , CPPPATH=[ settings.boost_path
+                , settings.working_dir
+                , settings.easybmp_path
+                , settings.python_include_path ]
+    , CCFLAGS=get_ccflags()
+    , SHLIBPREFIX=''
+    , SHLIBSUFFIX=get_shlibsuffix()
+)
diff --git a/examples/pyeasybmp_dev/boost.python/unittests/grayscale.py b/examples/pyeasybmp_dev/boost.python/unittests/grayscale.py
new file mode 100644
index 0000000..53aa949
--- /dev/null
+++ b/examples/pyeasybmp_dev/boost.python/unittests/grayscale.py
@@ -0,0 +1,43 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+import math
+import pyeasybmp
+
+def grayscale_example(source, target):
+    bmp = pyeasybmp.BMP()
+    bmp.ReadFromFile( source )
+    
+    print 'width    : ', bmp.TellWidth()
+    print 'height   : ', bmp.TellHeight()
+    print 'bit depth: ', bmp.TellBitDepth()
+    print 'number of colors: ', bmp.TellNumberOfColors()
+    
+    byte = lambda x: 255 & x
+    
+    for j in range( bmp.TellHeight() ):
+        for i in range( bmp.TellWidth() ):
+            temp = pyeasybmp.IntSquare( bmp.GetRGBAPixel(i,j).Red ) \
+                   + pyeasybmp.IntSquare( bmp.GetRGBAPixel(i,j).Green ) \
+                   + pyeasybmp.IntSquare( bmp.GetRGBAPixel(i,j).Blue )
+            temp = int( math.floor( math.sqrt( temp / 3.0 ) ) )
+            bmp.GetRGBAPixel(i,j).Red = byte( temp )
+            bmp.GetRGBAPixel(i,j).Green = byte( temp )
+            bmp.GetRGBAPixel(i,j).Blue = byte( temp )
+            
+    if bmp.TellBitDepth() < 24:
+        pyeasybmp.CreateGrayscaleColorTable( bmp )
+        
+    bmp.WriteToFile( target )
+    
+if __name__ == "__main__":
+    if 1 == len( sys.argv ):
+        print 'not enough arguments. first arg is source bmp, second is target bmp'
+        print 'entering demo mode'
+        sys.argv.append( './source.bmp' )
+        sys.argv.append( './target.bmp' )
+    grayscale_example( sys.argv[1], sys.argv[2] )
\ No newline at end of file
diff --git a/examples/pyeasybmp_dev/boost.python/unittests/source.bmp b/examples/pyeasybmp_dev/boost.python/unittests/source.bmp
new file mode 100644
index 0000000..8729c7f
Binary files /dev/null and b/examples/pyeasybmp_dev/boost.python/unittests/source.bmp differ
diff --git a/examples/pyeasybmp_dev/boost.python/unittests/target.bmp b/examples/pyeasybmp_dev/boost.python/unittests/target.bmp
new file mode 100644
index 0000000..e5bfed3
Binary files /dev/null and b/examples/pyeasybmp_dev/boost.python/unittests/target.bmp differ
diff --git a/examples/pyeasybmp_dev/easybmp/BSD_(revised)_license.txt b/examples/pyeasybmp_dev/easybmp/BSD_(revised)_license.txt
new file mode 100644
index 0000000..6785262
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/BSD_(revised)_license.txt
@@ -0,0 +1,10 @@
+Copyright (c) 2005, The EasyBMP Project (http://easybmp.sourceforge.net)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+   1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+   2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+   3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFI [...]
\ No newline at end of file
diff --git a/examples/pyeasybmp_dev/easybmp/EasyBMP.cpp b/examples/pyeasybmp_dev/easybmp/EasyBMP.cpp
new file mode 100644
index 0000000..fb71629
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/EasyBMP.cpp
@@ -0,0 +1,1906 @@
+/*************************************************
+*                                                *
+*  EasyBMP Cross-Platform Windows Bitmap Library * 
+*                                                *
+*  Author: Paul Macklin                          *
+*   email: macklin01 at users.sourceforge.net       *
+* support: http://easybmp.sourceforge.net        *
+*                                                *
+*          file: EasyBMP.cpp                     * 
+*    date added: 03-31-2006                      *
+* date modified: 12-01-2006                      *
+*       version: 1.06                            *
+*                                                *
+*   License: BSD (revised/modified)              *
+* Copyright: 2005-6 by the EasyBMP Project       * 
+*                                                *
+* description: Actual source file                *
+*                                                *
+*************************************************/
+
+#include "EasyBMP.h"
+
+/* These functions are defined in EasyBMP.h */
+
+bool EasyBMPwarnings = true;
+
+void SetEasyBMPwarningsOff( void )
+{ EasyBMPwarnings = false; }
+void SetEasyBMPwarningsOn( void )
+{ EasyBMPwarnings = true; }
+bool GetEasyBMPwarningState( void )
+{ return EasyBMPwarnings; }
+
+/* These functions are defined in EasyBMP_DataStructures.h */
+
+int IntPow( int base, int exponent )
+{
+ int i;
+ int output = 1;
+ for( i=0 ; i < exponent ; i++ )
+ { output *= base; }
+ return output;
+}
+
+BMFH::BMFH()
+{
+ bfType = 19778;
+ bfReserved1 = 0;
+ bfReserved2 = 0;
+}
+
+void BMFH::SwitchEndianess( void )
+{
+ bfType = FlipWORD( bfType );
+ bfSize = FlipDWORD( bfSize );
+ bfReserved1 = FlipWORD( bfReserved1 );
+ bfReserved2 = FlipWORD( bfReserved2 );
+ bfOffBits = FlipDWORD( bfOffBits );
+ return;
+}
+
+BMIH::BMIH()
+{
+ biPlanes = 1;
+ biCompression = 0;
+ biXPelsPerMeter = DefaultXPelsPerMeter;  
+ biYPelsPerMeter = DefaultYPelsPerMeter;
+ biClrUsed = 0;
+ biClrImportant = 0;
+}
+
+void BMIH::SwitchEndianess( void )
+{
+ biSize = FlipDWORD( biSize );
+ biWidth = FlipDWORD( biWidth );
+ biHeight = FlipDWORD( biHeight );
+ biPlanes = FlipWORD( biPlanes );
+ biBitCount = FlipWORD( biBitCount );
+ biCompression = FlipDWORD( biCompression );
+ biSizeImage = FlipDWORD( biSizeImage );
+ biXPelsPerMeter = FlipDWORD( biXPelsPerMeter );
+ biYPelsPerMeter = FlipDWORD( biYPelsPerMeter );
+ biClrUsed = FlipDWORD( biClrUsed );
+ biClrImportant = FlipDWORD( biClrImportant );
+ return;
+}
+
+void BMIH::display( void )
+{
+ using namespace std;
+ cout << "biSize: " << (int) biSize << endl
+      << "biWidth: " << (int) biWidth << endl
+      << "biHeight: " << (int) biHeight << endl
+      << "biPlanes: " << (int) biPlanes << endl
+      << "biBitCount: " << (int) biBitCount << endl
+      << "biCompression: " << (int) biCompression << endl
+      << "biSizeImage: " << (int) biSizeImage << endl
+      << "biXPelsPerMeter: " << (int) biXPelsPerMeter << endl
+      << "biYPelsPerMeter: " << (int) biYPelsPerMeter << endl
+      << "biClrUsed: " << (int) biClrUsed << endl
+      << "biClrImportant: " << (int) biClrImportant << endl << endl;
+}
+
+void BMFH::display( void )
+{
+ using namespace std;
+ cout << "bfType: " << (int) bfType << endl
+      << "bfSize: " << (int) bfSize << endl
+      << "bfReserved1: " << (int) bfReserved1 << endl
+      << "bfReserved2: " << (int) bfReserved2 << endl
+      << "bfOffBits: " << (int) bfOffBits << endl << endl;
+}
+
+/* These functions are defined in EasyBMP_BMP.h */
+
+RGBApixel BMP::GetPixel( int i, int j ) const
+{
+ using namespace std;
+ std::cout << "\nGetPixel(" << i << "," << j << ")\n";
+ bool Warn = false;
+ if( i >= Width )
+ { i = Width-1; Warn = true; }
+ if( i < 0 )
+ { i = 0; Warn = true; }
+ if( j >= Height )
+ { j = Height-1; Warn = true; }
+ if( j < 0 )
+ { j = 0; Warn = true; }
+ if( Warn && EasyBMPwarnings )
+ {
+  cout << "EasyBMP Warning: Attempted to access non-existent pixel;" << endl
+       << "                 Truncating request to fit in the range [0,"
+       << Width-1 << "] x [0," << Height-1 << "]." << endl;
+ }	
+ return Pixels[i][j];
+}
+
+bool BMP::SetPixel( int i, int j, RGBApixel NewPixel )
+{
+ Pixels[i][j] = NewPixel;
+ return true;
+}
+
+
+bool BMP::SetColor( int ColorNumber , RGBApixel NewColor )
+{
+ using namespace std;
+ if( BitDepth != 1 && BitDepth != 4 && BitDepth != 8 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: Attempted to change color table for a BMP object" << endl
+        << "                 that lacks a color table. Ignoring request." << endl;
+  }
+  return false;
+ }
+ if( !Colors )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: Attempted to set a color, but the color table" << endl
+        << "                 is not defined. Ignoring request." << endl; 
+  }
+  return false; 
+ }
+ if( ColorNumber >= TellNumberOfColors() )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: Requested color number " 
+        << ColorNumber << " is outside the allowed" << endl
+        << "                 range [0," << TellNumberOfColors()-1 
+	    << "]. Ignoring request to set this color." << endl;
+  }
+  return false;
+ }
+ Colors[ColorNumber] = NewColor;
+ return true;
+}
+
+// RGBApixel BMP::GetColor( int ColorNumber ) const
+RGBApixel BMP::GetColor( int ColorNumber )
+{ 
+ RGBApixel Output;
+ Output.Red   = 255;
+ Output.Green = 255;
+ Output.Blue  = 255;
+ Output.Alpha = 0;
+ 
+ using namespace std;
+ if( BitDepth != 1 && BitDepth != 4 && BitDepth != 8 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: Attempted to access color table for a BMP object" << endl
+        << "                 that lacks a color table. Ignoring request." << endl;
+  }
+  return Output;
+ }
+ if( !Colors )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: Requested a color, but the color table" << endl
+        << "                 is not defined. Ignoring request." << endl;
+  }
+  return Output; 
+ }
+ if( ColorNumber >= TellNumberOfColors() )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: Requested color number " 
+        << ColorNumber << " is outside the allowed" << endl
+        << "                 range [0," << TellNumberOfColors()-1 
+	    << "]. Ignoring request to get this color." << endl;
+  }
+  return Output;
+ }
+ Output = Colors[ColorNumber];
+ return Output;
+}
+
+BMP::BMP()
+{
+ Width = 1;
+ Height = 1;
+ BitDepth = 24;
+ Pixels = new RGBApixel* [Width];
+ Pixels[0] = new RGBApixel [Height];
+ Colors = NULL;
+ 
+ XPelsPerMeter = 0;
+ YPelsPerMeter = 0;
+ 
+ MetaData1 = NULL;
+ SizeOfMetaData1 = 0;
+ MetaData2 = NULL;
+ SizeOfMetaData2 = 0;
+}
+
+// BMP::BMP( const BMP& Input )
+BMP::BMP( BMP& Input )
+{
+ // first, make the image empty.
+
+ Width = 1;
+ Height = 1;
+ BitDepth = 24;
+ Pixels = new RGBApixel* [Width];
+ Pixels[0] = new RGBApixel [Height];
+ Colors = NULL; 
+ XPelsPerMeter = 0;
+ YPelsPerMeter = 0;
+ 
+ MetaData1 = NULL;
+ SizeOfMetaData1 = 0;
+ MetaData2 = NULL;
+ SizeOfMetaData2 = 0;
+
+ // now, set the correct bit depth
+ 
+ SetBitDepth( Input.TellBitDepth() );
+ 
+ // set the correct pixel size 
+ 
+ SetSize( Input.TellWidth() , Input.TellHeight() );
+
+ // set the DPI information from Input
+ 
+ SetDPI( Input.TellHorizontalDPI() , Input.TellVerticalDPI() );
+ 
+ // if there is a color table, get all the colors
+
+ if( BitDepth == 1 || BitDepth == 4 ||  
+     BitDepth == 8 )
+ {
+  for( int k=0 ; k < TellNumberOfColors() ; k++ )
+  {
+   SetColor( k, Input.GetColor( k )); 
+  }
+ }
+ 
+ // get all the pixels 
+ 
+ for( int j=0; j < Height ; j++ )
+ {
+  for( int i=0; i < Width ; i++ )
+  {
+   Pixels[i][j] = *Input(i,j);
+//   Pixels[i][j] = Input.GetPixel(i,j); // *Input(i,j);
+  }
+ }
+}
+
+BMP::~BMP()
+{
+ int i;
+ for(i=0;i<Width;i++)
+ { delete [] Pixels[i]; }
+ delete [] Pixels;
+ if( Colors )
+ { delete [] Colors; }
+ 
+ if( MetaData1 )
+ { delete [] MetaData1; }
+ if( MetaData2 )
+ { delete [] MetaData2; }
+} 
+
+RGBApixel* BMP::operator()(int i, int j)
+{
+ using namespace std;
+ bool Warn = false;
+ if( i >= Width )
+ { i = Width-1; Warn = true; }
+ if( i < 0 )
+ { i = 0; Warn = true; }
+ if( j >= Height )
+ { j = Height-1; Warn = true; }
+ if( j < 0 )
+ { j = 0; Warn = true; }
+ if( Warn && EasyBMPwarnings )
+ {
+  cout << "EasyBMP Warning: Attempted to access non-existent pixel;" << endl
+       << "                 Truncating request to fit in the range [0,"
+       << Width-1 << "] x [0," << Height-1 << "]." << endl;
+ }	
+ return &(Pixels[i][j]);
+}
+
+// int BMP::TellBitDepth( void ) const
+int BMP::TellBitDepth( void )
+{ return BitDepth; }
+
+// int BMP::TellHeight( void ) const
+int BMP::TellHeight( void )
+{ return Height; }
+
+// int BMP::TellWidth( void ) const
+int BMP::TellWidth( void )
+{ return Width; }
+
+// int BMP::TellNumberOfColors( void ) const
+int BMP::TellNumberOfColors( void )
+{
+ int output = IntPow( 2, BitDepth );
+ if( BitDepth == 32 )
+ { output = IntPow( 2, 24 ); }
+ return output;
+}
+
+bool BMP::SetBitDepth( int NewDepth )
+{
+ using namespace std;
+ if( NewDepth != 1 && NewDepth != 4 && 
+     NewDepth != 8 && NewDepth != 16 && 
+     NewDepth != 24 && NewDepth != 32 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: User attempted to set unsupported bit depth " 
+        << NewDepth << "." << endl
+        << "                 Bit depth remains unchanged at " 
+	    << BitDepth << "." << endl;
+  }
+  return false;
+ }
+ 
+ BitDepth = NewDepth;
+ if( Colors )
+ { delete [] Colors; }
+ int NumberOfColors = IntPow( 2, BitDepth );
+ if( BitDepth == 1 || BitDepth == 4 || BitDepth == 8 )
+ { Colors = new RGBApixel [NumberOfColors]; }
+ else
+ { Colors = NULL; } 
+ if( BitDepth == 1 || BitDepth == 4 || BitDepth == 8 )
+ { CreateStandardColorTable(); }
+ 
+ return true;
+}
+
+bool BMP::SetSize(int NewWidth , int NewHeight )
+{
+ using namespace std;
+ if( NewWidth <= 0 || NewHeight <= 0 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: User attempted to set a non-positive width or height." << endl
+        << "                 Size remains unchanged at " 
+        << Width << " x " << Height << "." << endl;
+  }
+  return false;
+ }
+
+ int i,j; 
+
+ for(i=0;i<Width;i++)
+ { delete [] Pixels[i]; }
+ delete [] Pixels;
+
+ Width = NewWidth;
+ Height = NewHeight;
+ Pixels = new RGBApixel* [ Width ]; 
+ 
+ for(i=0; i<Width; i++)
+ { Pixels[i] = new RGBApixel [ Height ]; }
+ 
+ for( i=0 ; i < Width ; i++)
+ {
+  for( j=0 ; j < Height ; j++ )
+  {
+   Pixels[i][j].Red = 255; 
+   Pixels[i][j].Green = 255; 
+   Pixels[i][j].Blue = 255; 
+   Pixels[i][j].Alpha = 0;    
+  }
+ }
+
+ return true; 
+}
+
+bool BMP::WriteToFile( const char* FileName )
+{
+ using namespace std;
+ if( !EasyBMPcheckDataSize() )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: Data types are wrong size!" << endl
+        << "               You may need to mess with EasyBMP_DataTypes.h" << endl
+	    << "               to fix these errors, and then recompile." << endl
+	    << "               All 32-bit and 64-bit machines should be" << endl
+	    << "               supported, however." << endl << endl;
+  }
+  return false; 
+ }
+ 
+ FILE* fp = fopen( FileName, "wb" );
+ if( fp == NULL )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: Cannot open file " 
+        << FileName << " for output." << endl;
+  }
+  fclose( fp );
+  return false;
+ }
+  
+ // some preliminaries
+ 
+ double dBytesPerPixel = ( (double) BitDepth ) / 8.0;
+ double dBytesPerRow = dBytesPerPixel * (Width+0.0);
+ dBytesPerRow = ceil(dBytesPerRow);
+  
+ int BytePaddingPerRow = 4 - ( (int) (dBytesPerRow) )% 4;
+ if( BytePaddingPerRow == 4 )
+ { BytePaddingPerRow = 0; } 
+ 
+ double dActualBytesPerRow = dBytesPerRow + BytePaddingPerRow;
+ 
+ double dTotalPixelBytes = Height * dActualBytesPerRow;
+ 
+ double dPaletteSize = 0;
+ if( BitDepth == 1 || BitDepth == 4 || BitDepth == 8 )
+ { dPaletteSize = IntPow(2,BitDepth)*4.0; }
+
+ // leave some room for 16-bit masks 
+ if( BitDepth == 16 )
+ { dPaletteSize = 3*4; }
+ 
+ double dTotalFileSize = 14 + 40 + dPaletteSize + dTotalPixelBytes;
+ 
+ // write the file header 
+ 
+ BMFH bmfh;
+ bmfh.bfSize = (ebmpDWORD) dTotalFileSize; 
+ bmfh.bfReserved1 = 0; 
+ bmfh.bfReserved2 = 0; 
+ bmfh.bfOffBits = (ebmpDWORD) (14+40+dPaletteSize);  
+ 
+ if( IsBigEndian() )
+ { bmfh.SwitchEndianess(); }
+ 
+ fwrite( (char*) &(bmfh.bfType) , sizeof(ebmpWORD) , 1 , fp );
+ fwrite( (char*) &(bmfh.bfSize) , sizeof(ebmpDWORD) , 1 , fp );
+ fwrite( (char*) &(bmfh.bfReserved1) , sizeof(ebmpWORD) , 1 , fp );
+ fwrite( (char*) &(bmfh.bfReserved2) , sizeof(ebmpWORD) , 1 , fp );
+ fwrite( (char*) &(bmfh.bfOffBits) , sizeof(ebmpDWORD) , 1 , fp );
+ 
+ // write the info header 
+ 
+ BMIH bmih;
+ bmih.biSize = 40;
+ bmih.biWidth = Width;
+ bmih.biHeight = Height;
+ bmih.biPlanes = 1;
+ bmih.biBitCount = BitDepth;
+ bmih.biCompression = 0;
+ bmih.biSizeImage = (ebmpDWORD) dTotalPixelBytes;
+ if( XPelsPerMeter )
+ { bmih.biXPelsPerMeter = XPelsPerMeter; }
+ else
+ { bmih.biXPelsPerMeter = DefaultXPelsPerMeter; }
+ if( YPelsPerMeter )
+ { bmih.biYPelsPerMeter = YPelsPerMeter; }
+ else
+ { bmih.biYPelsPerMeter = DefaultYPelsPerMeter; }
+
+ bmih.biClrUsed = 0;
+ bmih.biClrImportant = 0;
+
+ // indicates that we'll be using bit fields for 16-bit files
+ if( BitDepth == 16 )
+ { bmih.biCompression = 3; }
+ 
+ if( IsBigEndian() )
+ { bmih.SwitchEndianess(); }
+ 
+ fwrite( (char*) &(bmih.biSize) , sizeof(ebmpDWORD) , 1 , fp );
+ fwrite( (char*) &(bmih.biWidth) , sizeof(ebmpDWORD) , 1 , fp );
+ fwrite( (char*) &(bmih.biHeight) , sizeof(ebmpDWORD) , 1 , fp );
+ fwrite( (char*) &(bmih.biPlanes) , sizeof(ebmpWORD) , 1 , fp );
+ fwrite( (char*) &(bmih.biBitCount) , sizeof(ebmpWORD) , 1 , fp );
+ fwrite( (char*) &(bmih.biCompression) , sizeof(ebmpDWORD) , 1 , fp );
+ fwrite( (char*) &(bmih.biSizeImage) , sizeof(ebmpDWORD) , 1 , fp );
+ fwrite( (char*) &(bmih.biXPelsPerMeter) , sizeof(ebmpDWORD) , 1 , fp );
+ fwrite( (char*) &(bmih.biYPelsPerMeter) , sizeof(ebmpDWORD) , 1 , fp ); 
+ fwrite( (char*) &(bmih.biClrUsed) , sizeof(ebmpDWORD) , 1 , fp);
+ fwrite( (char*) &(bmih.biClrImportant) , sizeof(ebmpDWORD) , 1 , fp);
+ 
+ // write the palette 
+ if( BitDepth == 1 || BitDepth == 4 || BitDepth == 8 )
+ {
+  int NumberOfColors = IntPow(2,BitDepth);
+  
+  // if there is no palette, create one 
+  if( !Colors )
+  {
+   if( !Colors )
+   { Colors = new RGBApixel [NumberOfColors]; }
+   CreateStandardColorTable(); 
+  }
+   
+  int n;
+  for( n=0 ; n < NumberOfColors ; n++ )
+  { fwrite( (char*) &(Colors[n]) , 4 , 1 , fp ); }
+ }
+ 
+ // write the pixels 
+ int i,j;
+ if( BitDepth != 16 )
+ {  
+  ebmpBYTE* Buffer;
+  int BufferSize = (int) ( (Width*BitDepth)/8.0 );
+  while( 8*BufferSize < Width*BitDepth )
+  { BufferSize++; }
+  while( BufferSize % 4 )
+  { BufferSize++; }
+  
+  Buffer = new ebmpBYTE [BufferSize];
+  for( j=0 ; j < BufferSize; j++ )
+  { Buffer[j] = 0; }
+    
+  j=Height-1;
+  
+  while( j > -1 )
+  {
+   bool Success = false;
+   if( BitDepth == 32 )
+   { Success = Write32bitRow( Buffer, BufferSize, j ); }
+   if( BitDepth == 24 )
+   { Success = Write24bitRow( Buffer, BufferSize, j ); }
+   if( BitDepth == 8  )
+   { Success = Write8bitRow( Buffer, BufferSize, j ); }
+   if( BitDepth == 4  )
+   { Success = Write4bitRow( Buffer, BufferSize, j ); }
+   if( BitDepth == 1  )
+   { Success = Write1bitRow( Buffer, BufferSize, j ); }
+   if( Success )
+   {
+    int BytesWritten = (int) fwrite( (char*) Buffer, 1, BufferSize, fp );
+    if( BytesWritten != BufferSize )
+    { Success = false; }
+   }
+   if( !Success )
+   {
+    if( EasyBMPwarnings )
+    {
+     cout << "EasyBMP Error: Could not write proper amount of data." << endl;
+	}
+    j = -1; 
+   }
+   j--; 
+  }
+  
+  delete [] Buffer;
+ }
+ 
+ if( BitDepth == 16 )
+ {
+  // write the bit masks
+
+  ebmpWORD BlueMask = 31;    // bits 12-16
+  ebmpWORD GreenMask = 2016; // bits 6-11
+  ebmpWORD RedMask = 63488;  // bits 1-5
+  ebmpWORD ZeroWORD;
+  
+  if( IsBigEndian() )
+  { RedMask = FlipWORD( RedMask ); }
+  fwrite( (char*) &RedMask , 2 , 1 , fp );
+  fwrite( (char*) &ZeroWORD , 2 , 1 , fp );
+
+  if( IsBigEndian() )
+  { GreenMask = FlipWORD( GreenMask ); }
+  fwrite( (char*) &GreenMask , 2 , 1 , fp );
+  fwrite( (char*) &ZeroWORD , 2 , 1 , fp );
+
+  if( IsBigEndian() )
+  { BlueMask = FlipWORD( BlueMask ); }
+  fwrite( (char*) &BlueMask , 2 , 1 , fp );
+  fwrite( (char*) &ZeroWORD , 2 , 1 , fp );
+
+  int DataBytes = Width*2;
+  int PaddingBytes = ( 4 - DataBytes % 4 ) % 4;
+  
+  // write the actual pixels
+  
+  for( j=Height-1 ; j >= 0 ; j-- )
+  {
+   // write all row pixel data
+   i=0;
+   int WriteNumber = 0;
+   while( WriteNumber < DataBytes )
+   {
+    ebmpWORD TempWORD;
+	
+	ebmpWORD RedWORD = (ebmpWORD) ((Pixels[i][j]).Red / 8);
+	ebmpWORD GreenWORD = (ebmpWORD) ((Pixels[i][j]).Green / 4);
+	ebmpWORD BlueWORD = (ebmpWORD) ((Pixels[i][j]).Blue / 8);
+	
+    TempWORD = (RedWORD<<11) + (GreenWORD<<5) + BlueWORD;
+	if( IsBigEndian() )
+	{ TempWORD = FlipWORD( TempWORD ); }
+	
+    fwrite( (char*) &TempWORD , 2, 1, fp);
+    WriteNumber += 2;
+	i++;
+   }
+   // write any necessary row padding
+   WriteNumber = 0;
+   while( WriteNumber < PaddingBytes )
+   {
+    ebmpBYTE TempBYTE;
+    fwrite( (char*) &TempBYTE , 1, 1, fp);
+    WriteNumber++;
+   }
+  }
+  
+ }
+
+ fclose(fp);
+ return true;
+}
+
+bool BMP::ReadFromFile( const char* FileName )
+{ 
+ using namespace std;
+ if( !EasyBMPcheckDataSize() )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: Data types are wrong size!" << endl
+        << "               You may need to mess with EasyBMP_DataTypes.h" << endl
+	    << "               to fix these errors, and then recompile." << endl
+	    << "               All 32-bit and 64-bit machines should be" << endl
+	    << "               supported, however." << endl << endl;
+  }
+  return false; 
+ }
+
+ FILE* fp = fopen( FileName, "rb" );
+ if( fp == NULL )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: Cannot open file " 
+        << FileName << " for input." << endl;
+  }
+  SetBitDepth(1);
+  SetSize(1,1);
+  return false;
+ }
+ 
+ // read the file header 
+ 
+ BMFH bmfh;
+ bool NotCorrupted = true;
+ 
+ NotCorrupted &= SafeFread( (char*) &(bmfh.bfType) , sizeof(ebmpWORD), 1, fp);
+ 
+ bool IsBitmap = false;
+ 
+ if( IsBigEndian() && bmfh.bfType == 16973 )
+ { IsBitmap = true; }
+ if( !IsBigEndian() && bmfh.bfType == 19778 )
+ { IsBitmap = true; }
+ 
+ if( !IsBitmap ) 
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: " << FileName 
+        << " is not a Windows BMP file!" << endl; 
+  }
+  fclose( fp ); 
+  return false;
+ }
+
+ NotCorrupted &= SafeFread( (char*) &(bmfh.bfSize) , sizeof(ebmpDWORD) , 1, fp); 
+ NotCorrupted &= SafeFread( (char*) &(bmfh.bfReserved1) , sizeof(ebmpWORD) , 1, fp);
+ NotCorrupted &= SafeFread( (char*) &(bmfh.bfReserved2) , sizeof(ebmpWORD) , 1, fp);
+ NotCorrupted &= SafeFread( (char*) &(bmfh.bfOffBits) , sizeof(ebmpDWORD) , 1 , fp);
+ 
+ if( IsBigEndian() ) 
+ { bmfh.SwitchEndianess(); }
+  
+ // read the info header
+
+ BMIH bmih; 
+ 
+ NotCorrupted &= SafeFread( (char*) &(bmih.biSize) , sizeof(ebmpDWORD) , 1 , fp);
+ NotCorrupted &= SafeFread( (char*) &(bmih.biWidth) , sizeof(ebmpDWORD) , 1 , fp); 
+ NotCorrupted &= SafeFread( (char*) &(bmih.biHeight) , sizeof(ebmpDWORD) , 1 , fp);
+ NotCorrupted &= SafeFread( (char*) &(bmih.biPlanes) , sizeof(ebmpWORD) , 1, fp); 
+ NotCorrupted &= SafeFread( (char*) &(bmih.biBitCount) , sizeof(ebmpWORD) , 1, fp);
+
+ NotCorrupted &= SafeFread( (char*) &(bmih.biCompression) , sizeof(ebmpDWORD) , 1 , fp);
+ NotCorrupted &= SafeFread( (char*) &(bmih.biSizeImage) , sizeof(ebmpDWORD) , 1 , fp);
+ NotCorrupted &= SafeFread( (char*) &(bmih.biXPelsPerMeter) , sizeof(ebmpDWORD) , 1 , fp);
+ NotCorrupted &= SafeFread( (char*) &(bmih.biYPelsPerMeter) , sizeof(ebmpDWORD) , 1 , fp);
+ NotCorrupted &= SafeFread( (char*) &(bmih.biClrUsed) , sizeof(ebmpDWORD) , 1 , fp);
+ NotCorrupted &= SafeFread( (char*) &(bmih.biClrImportant) , sizeof(ebmpDWORD) , 1 , fp);
+ 
+ if( IsBigEndian() ) 
+ { bmih.SwitchEndianess(); }
+
+ // a safety catch: if any of the header information didn't read properly, abort
+ // future idea: check to see if at least most is self-consistent
+  
+ if( !NotCorrupted )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: " << FileName 
+        << " is obviously corrupted." << endl;
+  }
+  SetSize(1,1);
+  SetBitDepth(1);
+  fclose(fp);
+  return false;
+ } 
+ 
+ XPelsPerMeter = bmih.biXPelsPerMeter;
+ YPelsPerMeter = bmih.biYPelsPerMeter;
+ 
+ // if bmih.biCompression 1 or 2, then the file is RLE compressed
+ 
+ if( bmih.biCompression == 1 || bmih.biCompression == 2 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: " << FileName << " is (RLE) compressed." << endl
+        << "               EasyBMP does not support compression." << endl;
+  }
+  SetSize(1,1);
+  SetBitDepth(1);
+  fclose(fp);
+  return false; 
+ }
+ 
+ // if bmih.biCompression > 3, then something strange is going on 
+ // it's probably an OS2 bitmap file.
+ 
+ if( bmih.biCompression > 3 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: " << FileName << " is in an unsupported format." 
+        << endl
+        << "               (bmih.biCompression = " 
+	    << bmih.biCompression << ")" << endl
+	    << "               The file is probably an old OS2 bitmap or corrupted." 
+	    << endl;
+  }		
+  SetSize(1,1);
+  SetBitDepth(1);
+  fclose(fp);
+  return false; 
+ }
+ 
+ if( bmih.biCompression == 3 && bmih.biBitCount != 16 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: " << FileName 
+        << " uses bit fields and is not a" << endl
+        << "               16-bit file. This is not supported." << endl;
+  }
+  SetSize(1,1);
+  SetBitDepth(1);
+  fclose(fp);
+  return false; 
+ }
+
+ // set the bit depth
+ 
+ int TempBitDepth = (int) bmih.biBitCount;
+ if(    TempBitDepth != 1  && TempBitDepth != 4 
+     && TempBitDepth != 8  && TempBitDepth != 16
+     && TempBitDepth != 24 && TempBitDepth != 32 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: " << FileName << " has unrecognized bit depth." << endl;
+  }
+  SetSize(1,1);
+  SetBitDepth(1);
+  fclose(fp);
+  return false;
+ }
+ SetBitDepth( (int) bmih.biBitCount ); 
+ 
+ // set the size
+
+ if( (int) bmih.biWidth <= 0 || (int) bmih.biHeight <= 0 ) 
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: " << FileName 
+        << " has a non-positive width or height." << endl;
+  }
+  SetSize(1,1);
+  SetBitDepth(1);
+  fclose(fp);
+  return false;
+ } 
+ SetSize( (int) bmih.biWidth , (int) bmih.biHeight );
+  
+ // some preliminaries
+ 
+ double dBytesPerPixel = ( (double) BitDepth ) / 8.0;
+ double dBytesPerRow = dBytesPerPixel * (Width+0.0);
+ dBytesPerRow = ceil(dBytesPerRow);
+  
+ int BytePaddingPerRow = 4 - ( (int) (dBytesPerRow) )% 4;
+ if( BytePaddingPerRow == 4 )
+ { BytePaddingPerRow = 0; }  
+ 
+ // if < 16 bits, read the palette
+ 
+ if( BitDepth < 16 )
+ {
+  // determine the number of colors specified in the 
+  // color table
+  
+  int NumberOfColorsToRead = ((int) bmfh.bfOffBits - 54 )/4;  
+  if( NumberOfColorsToRead > IntPow(2,BitDepth) )
+  { NumberOfColorsToRead = IntPow(2,BitDepth); }
+ 
+  if( NumberOfColorsToRead < TellNumberOfColors() )
+  {
+   if( EasyBMPwarnings )
+   {
+    cout << "EasyBMP Warning: file " << FileName << " has an underspecified" << endl
+         << "                 color table. The table will be padded with extra" << endl
+	 	 << "                 white (255,255,255,0) entries." << endl;
+   }
+  }
+ 
+  int n;
+  for( n=0; n < NumberOfColorsToRead ; n++ )
+  {
+   SafeFread( (char*) &(Colors[n]) , 4 , 1 , fp);     
+  }
+  for( n=NumberOfColorsToRead ; n < TellNumberOfColors() ; n++ )
+  {
+   RGBApixel WHITE; 
+   WHITE.Red = 255;
+   WHITE.Green = 255;
+   WHITE.Blue = 255;
+   WHITE.Alpha = 0;
+   SetColor( n , WHITE );
+  }
+  
+  
+ }
+ 
+ // skip blank data if bfOffBits so indicates
+ 
+ int BytesToSkip = bmfh.bfOffBits - 54;;
+ if( BitDepth < 16 )
+ { BytesToSkip -= 4*IntPow(2,BitDepth); }
+ if( BitDepth == 16 && bmih.biCompression == 3 )
+ { BytesToSkip -= 3*4; }
+ if( BytesToSkip < 0 )
+ { BytesToSkip = 0; }
+ if( BytesToSkip > 0 && BitDepth != 16 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: Extra meta data detected in file " << FileName << endl
+        << "                 Data will be skipped." << endl;
+  }
+  ebmpBYTE* TempSkipBYTE;
+  TempSkipBYTE = new ebmpBYTE [BytesToSkip];
+  SafeFread( (char*) TempSkipBYTE , BytesToSkip , 1 , fp);   
+  delete [] TempSkipBYTE;
+ } 
+  
+ // This code reads 1, 4, 8, 24, and 32-bpp files 
+ // with a more-efficient buffered technique.
+
+ int i,j;
+ if( BitDepth != 16 )
+ {
+  int BufferSize = (int) ( (Width*BitDepth) / 8.0 );
+  while( 8*BufferSize < Width*BitDepth )
+  { BufferSize++; }
+  while( BufferSize % 4 )
+  { BufferSize++; }
+  ebmpBYTE* Buffer;
+  Buffer = new ebmpBYTE [BufferSize];
+  j= Height-1;
+  while( j > -1 )
+  {
+   int BytesRead = (int) fread( (char*) Buffer, 1, BufferSize, fp );
+   if( BytesRead < BufferSize )
+   {
+    j = -1; 
+    if( EasyBMPwarnings )
+    {
+     cout << "EasyBMP Error: Could not read proper amount of data." << endl;
+	}
+   }
+   else
+   {
+    bool Success = false;
+    if( BitDepth == 1  )
+	{ Success = Read1bitRow(  Buffer, BufferSize, j ); }
+    if( BitDepth == 4  )
+	{ Success = Read4bitRow(  Buffer, BufferSize, j ); }
+    if( BitDepth == 8  )
+	{ Success = Read8bitRow(  Buffer, BufferSize, j ); }
+    if( BitDepth == 24 )
+	{ Success = Read24bitRow( Buffer, BufferSize, j ); }
+	if( BitDepth == 32 )
+	{ Success = Read32bitRow( Buffer, BufferSize, j ); }
+    if( !Success )
+    {
+     if( EasyBMPwarnings )
+     {
+      cout << "EasyBMP Error: Could not read enough pixel data!" << endl;
+	 }
+	 j = -1;
+    }
+   }   
+   j--;
+  }
+  delete [] Buffer; 
+ }
+
+ if( BitDepth == 16 )
+ {
+  int DataBytes = Width*2;
+  int PaddingBytes = ( 4 - DataBytes % 4 ) % 4;
+
+  // set the default mask
+  
+  ebmpWORD BlueMask = 31; // bits 12-16
+  ebmpWORD GreenMask = 992; // bits 7-11
+  ebmpWORD RedMask = 31744; // bits 2-6
+
+  // read the bit fields, if necessary, to 
+  // override the default 5-5-5 mask
+  
+  if( bmih.biCompression != 0 )
+  {
+   // read the three bit masks
+
+   ebmpWORD TempMaskWORD;
+   ebmpWORD ZeroWORD;
+  
+   SafeFread( (char*) &RedMask , 2 , 1 , fp );
+   if( IsBigEndian() )
+   { RedMask = FlipWORD(RedMask); }
+   SafeFread( (char*) &TempMaskWORD , 2, 1, fp );
+  
+   SafeFread( (char*) &GreenMask , 2 , 1 , fp );
+   if( IsBigEndian() )
+   { GreenMask = FlipWORD(GreenMask); }
+   SafeFread( (char*) &TempMaskWORD , 2, 1, fp );
+
+   SafeFread( (char*) &BlueMask , 2 , 1 , fp );
+   if( IsBigEndian() )
+   { BlueMask = FlipWORD(BlueMask); }
+   SafeFread( (char*) &TempMaskWORD , 2, 1, fp );
+  }
+  
+  // read and skip any meta data
+
+  if( BytesToSkip > 0 )
+  {
+   if( EasyBMPwarnings )
+   {
+    cout << "EasyBMP Warning: Extra meta data detected in file " 
+         << FileName << endl
+         << "                 Data will be skipped." << endl;
+   }
+   ebmpBYTE* TempSkipBYTE;
+   TempSkipBYTE = new ebmpBYTE [BytesToSkip];
+   SafeFread( (char*) TempSkipBYTE , BytesToSkip , 1 , fp);
+   delete [] TempSkipBYTE;   
+  } 
+  
+  // determine the red, green and blue shifts
+  
+  int GreenShift = 0; 
+  ebmpWORD TempShiftWORD = GreenMask;
+  while( TempShiftWORD > 31 )
+  { TempShiftWORD = TempShiftWORD>>1; GreenShift++; }  
+  int BlueShift = 0;
+  TempShiftWORD = BlueMask;
+  while( TempShiftWORD > 31 )
+  { TempShiftWORD = TempShiftWORD>>1; BlueShift++; }  
+  int RedShift = 0;  
+  TempShiftWORD = RedMask;
+  while( TempShiftWORD > 31 )
+  { TempShiftWORD = TempShiftWORD>>1; RedShift++; }  
+  
+  // read the actual pixels
+  
+  for( j=Height-1 ; j >= 0 ; j-- )
+  {
+   i=0;
+   int ReadNumber = 0;
+   while( ReadNumber < DataBytes )
+   {
+	ebmpWORD TempWORD;
+	SafeFread( (char*) &TempWORD , 2 , 1 , fp );
+	if( IsBigEndian() )
+	{ TempWORD = FlipWORD(TempWORD); }
+    ReadNumber += 2;
+  
+    ebmpWORD Red = RedMask & TempWORD;
+    ebmpWORD Green = GreenMask & TempWORD;
+    ebmpWORD Blue = BlueMask & TempWORD;
+				
+	ebmpBYTE BlueBYTE = (ebmpBYTE) 8*(Blue>>BlueShift);
+    ebmpBYTE GreenBYTE = (ebmpBYTE) 8*(Green>>GreenShift);
+    ebmpBYTE RedBYTE = (ebmpBYTE) 8*(Red>>RedShift);
+		
+	(Pixels[i][j]).Red = RedBYTE;
+	(Pixels[i][j]).Green = GreenBYTE;
+	(Pixels[i][j]).Blue = BlueBYTE;
+	
+	i++;
+   }
+   ReadNumber = 0;
+   while( ReadNumber < PaddingBytes )
+   {
+    ebmpBYTE TempBYTE;
+    SafeFread( (char*) &TempBYTE , 1, 1, fp);
+    ReadNumber++;
+   }
+  }
+
+ }
+ 
+ fclose(fp);
+ return true;
+}
+
+bool BMP::CreateStandardColorTable( void )
+{
+ using namespace std;
+ if( BitDepth != 1 && BitDepth != 4 && BitDepth != 8 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: Attempted to create color table at a bit" << endl
+        << "                 depth that does not require a color table." << endl
+    	<< "                 Ignoring request." << endl;
+  }
+  return false;
+ }
+
+ if( BitDepth == 1 )
+ {
+  int i;
+  for( i=0 ; i < 2 ; i++ )
+  {
+   Colors[i].Red = i*255;
+   Colors[i].Green = i*255;
+   Colors[i].Blue = i*255;
+   Colors[i].Alpha = 0;
+  } 
+  return true;
+ } 
+
+ if( BitDepth == 4 )
+ {
+  int i = 0;
+  int j,k,ell;
+  
+  // simplify the code for the first 8 colors
+  for( ell=0 ; ell < 2 ; ell++ )
+  {
+   for( k=0 ; k < 2 ; k++ )
+   {
+    for( j=0 ; j < 2 ; j++ )
+    {
+     Colors[i].Red = j*128; 
+	 Colors[i].Green = k*128;
+ 	 Colors[i].Blue = ell*128;
+   	 i++;
+    }
+   }
+  }
+ 
+  // simplify the code for the last 8 colors
+  for( ell=0 ; ell < 2 ; ell++ )
+  {
+   for( k=0 ; k < 2 ; k++ )
+   {
+    for( j=0 ; j < 2 ; j++ )
+    {
+     Colors[i].Red = j*255;
+     Colors[i].Green = k*255; 
+     Colors[i].Blue = ell*255;
+	 i++;
+    }
+   }
+  }
+ 
+  // overwrite the duplicate color
+  i=8; 
+  Colors[i].Red = 192;
+  Colors[i].Green = 192;
+  Colors[i].Blue = 192;
+   
+  for( i=0 ; i < 16 ; i++ )
+  { Colors[i].Alpha = 0; }
+  return true;
+ }
+
+ if( BitDepth == 8 )
+ {
+  int i=0;
+  int j,k,ell;
+    
+  // do an easy loop, which works for all but colors 
+  // 0 to 9 and 246 to 255
+  for( ell=0 ; ell < 4 ; ell++ ) 
+  {
+   for( k=0 ; k < 8 ; k++ )
+   {
+    for( j=0; j < 8 ; j++ )
+    {
+     Colors[i].Red = j*32; 
+     Colors[i].Green = k*32;
+     Colors[i].Blue = ell*64;
+     Colors[i].Alpha = 0;
+     i++;
+    }
+   }
+  } 
+   
+  // now redo the first 8 colors  
+  i=0;
+  for( ell=0 ; ell < 2 ; ell++ ) 
+  {
+   for( k=0 ; k < 2 ; k++ )
+   {
+    for( j=0; j < 2 ; j++ )
+    {
+     Colors[i].Red = j*128;
+     Colors[i].Green = k*128;
+     Colors[i].Blue = ell*128;
+     i++;
+    }
+   }
+  } 
+ 
+  // overwrite colors 7, 8, 9
+  i=7;
+  Colors[i].Red = 192;
+  Colors[i].Green = 192;
+  Colors[i].Blue = 192;
+  i++; // 8
+  Colors[i].Red = 192;
+  Colors[i].Green = 220;
+  Colors[i].Blue = 192;
+  i++; // 9
+  Colors[i].Red = 166;
+  Colors[i].Green = 202;
+  Colors[i].Blue = 240;
+   
+  // overwrite colors 246 to 255 
+  i=246;
+  Colors[i].Red = 255;
+  Colors[i].Green = 251;
+  Colors[i].Blue = 240;
+  i++; // 247
+  Colors[i].Red = 160;
+  Colors[i].Green = 160;
+  Colors[i].Blue = 164;
+  i++; // 248
+  Colors[i].Red = 128;
+  Colors[i].Green = 128;
+  Colors[i].Blue = 128;
+  i++; // 249
+  Colors[i].Red = 255;
+  Colors[i].Green = 0;
+  Colors[i].Blue = 0;
+  i++; // 250
+  Colors[i].Red = 0;
+  Colors[i].Green = 255;
+  Colors[i].Blue = 0;
+  i++; // 251
+  Colors[i].Red = 255;
+  Colors[i].Green = 255;
+  Colors[i].Blue = 0;
+  i++; // 252
+  Colors[i].Red = 0;
+  Colors[i].Green = 0;
+  Colors[i].Blue = 255;
+  i++; // 253
+  Colors[i].Red = 255;
+  Colors[i].Green = 0;
+  Colors[i].Blue = 255;
+  i++; // 254
+  Colors[i].Red = 0;
+  Colors[i].Green = 255;
+  Colors[i].Blue = 255;
+  i++; // 255
+  Colors[i].Red = 255;
+  Colors[i].Green = 255;
+  Colors[i].Blue = 255;
+  
+  return true;
+ }
+ return true;
+}
+
+bool SafeFread( char* buffer, int size, int number, FILE* fp )
+{
+ using namespace std;
+ int ItemsRead;
+ if( feof(fp) )
+ { return false; }
+ ItemsRead = (int) fread( buffer , size , number , fp );
+ if( ItemsRead < number )
+ { return false; }
+ return true;
+}
+
+void BMP::SetDPI( int HorizontalDPI, int VerticalDPI )
+{
+ XPelsPerMeter = (int) ( HorizontalDPI * 39.37007874015748 );
+ YPelsPerMeter = (int) (   VerticalDPI * 39.37007874015748 );
+}
+
+// int BMP::TellVerticalDPI( void ) const
+int BMP::TellVerticalDPI( void )
+{
+ if( !YPelsPerMeter )
+ { YPelsPerMeter = DefaultYPelsPerMeter; }
+ return (int) ( YPelsPerMeter / (double) 39.37007874015748 ); 
+}
+
+// int BMP::TellHorizontalDPI( void ) const
+int BMP::TellHorizontalDPI( void )
+{
+ if( !XPelsPerMeter )
+ { XPelsPerMeter = DefaultXPelsPerMeter; }
+ return (int) ( XPelsPerMeter / (double) 39.37007874015748 );
+}
+
+/* These functions are defined in EasyBMP_VariousBMPutilities.h */
+
+BMFH GetBMFH( const char* szFileNameIn )
+{
+ using namespace std;
+ BMFH bmfh;
+
+ FILE* fp;
+ fp = fopen( szFileNameIn,"rb");
+ 
+ if( !fp  )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: Cannot initialize from file " 
+        << szFileNameIn << "." << endl
+        << "               File cannot be opened or does not exist." 
+	    << endl;
+  }
+  bmfh.bfType = 0;
+  return bmfh;
+ } 
+ 
+ SafeFread( (char*) &(bmfh.bfType) , sizeof(ebmpWORD) , 1 , fp );
+ SafeFread( (char*) &(bmfh.bfSize) , sizeof(ebmpDWORD) , 1 , fp ); 
+ SafeFread( (char*) &(bmfh.bfReserved1) , sizeof(ebmpWORD) , 1 , fp ); 
+ SafeFread( (char*) &(bmfh.bfReserved2) , sizeof(ebmpWORD) , 1 , fp ); 
+ SafeFread( (char*) &(bmfh.bfOffBits) , sizeof(ebmpDWORD) , 1 , fp ); 
+ 
+ fclose( fp );
+ 
+ if( IsBigEndian() )
+ { bmfh.SwitchEndianess(); }
+
+ return bmfh;
+}
+
+BMIH GetBMIH( const char* szFileNameIn )
+{
+ using namespace std;
+ BMFH bmfh;
+ BMIH bmih;
+
+ FILE* fp;
+ fp = fopen( szFileNameIn,"rb");
+
+ if( !fp  )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: Cannot initialize from file " 
+        << szFileNameIn << "." << endl
+        << "               File cannot be opened or does not exist." 
+	    << endl;
+  }
+  return bmih;
+ } 
+ 
+ // read the bmfh, i.e., first 14 bytes (just to get it out of the way);
+ 
+ ebmpBYTE TempBYTE;
+ int i;
+ for( i = 14 ; i > 0 ; i-- )
+ { SafeFread( (char*) &TempBYTE , sizeof(ebmpBYTE) , 1, fp ); }
+
+ // read the bmih 
+
+ SafeFread( (char*) &(bmih.biSize) , sizeof(ebmpDWORD) , 1 , fp );
+ SafeFread( (char*) &(bmih.biWidth) , sizeof(ebmpDWORD) , 1 , fp ); 
+ SafeFread( (char*) &(bmih.biHeight) , sizeof(ebmpDWORD) , 1 , fp ); 
+ SafeFread( (char*) &(bmih.biPlanes) , sizeof(ebmpWORD) , 1 , fp ); 
+ 
+ SafeFread( (char*) &(bmih.biBitCount) , sizeof(ebmpWORD) , 1 , fp );
+ SafeFread( (char*) &(bmih.biCompression) , sizeof(ebmpDWORD) , 1 , fp ); 
+ SafeFread( (char*) &(bmih.biSizeImage) , sizeof(ebmpDWORD) , 1 , fp ); 
+ SafeFread( (char*) &(bmih.biXPelsPerMeter) , sizeof(ebmpDWORD) , 1 , fp ); 
+ 
+ SafeFread( (char*) &(bmih.biYPelsPerMeter) , sizeof(ebmpDWORD) , 1 , fp ); 
+ SafeFread( (char*) &(bmih.biClrUsed) , sizeof(ebmpDWORD) , 1 , fp ); 
+ SafeFread( (char*) &(bmih.biClrImportant) , sizeof(ebmpDWORD) , 1 , fp ); 
+ 
+ fclose( fp );
+ 
+ if( IsBigEndian() )
+ { bmih.SwitchEndianess(); }
+
+ return bmih;
+}
+
+void DisplayBitmapInfo( const char* szFileNameIn )
+{
+ using namespace std;
+ FILE* fp;
+ fp = fopen( szFileNameIn,"rb");
+ 
+ if( !fp  )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: Cannot initialize from file " 
+        << szFileNameIn << "." << endl
+        << "               File cannot be opened or does not exist." 
+	    << endl;
+  }
+  return;
+ } 
+ fclose( fp );
+
+ // don't duplicate work! Just use the functions from above!
+ 
+ BMFH bmfh = GetBMFH(szFileNameIn);
+ BMIH bmih = GetBMIH(szFileNameIn);
+
+ cout << "File information for file " << szFileNameIn 
+      << ":" << endl << endl;
+
+ cout << "BITMAPFILEHEADER:" << endl
+      << "bfType: " << bmfh.bfType << endl
+      << "bfSize: " << bmfh.bfSize << endl
+      << "bfReserved1: " << bmfh.bfReserved1 << endl
+      << "bfReserved2: " << bmfh.bfReserved2 << endl    
+      << "bfOffBits: " << bmfh.bfOffBits << endl << endl;
+
+ cout << "BITMAPINFOHEADER:" << endl
+      << "biSize: " << bmih.biSize << endl
+      << "biWidth: " << bmih.biWidth << endl
+      << "biHeight: " << bmih.biHeight << endl
+      << "biPlanes: " << bmih.biPlanes << endl
+      << "biBitCount: " << bmih.biBitCount << endl
+      << "biCompression: " << bmih.biCompression << endl
+      << "biSizeImage: " << bmih.biSizeImage << endl
+      << "biXPelsPerMeter: " << bmih.biXPelsPerMeter << endl
+      << "biYPelsPerMeter: " << bmih.biYPelsPerMeter << endl
+      << "biClrUsed: " << bmih.biClrUsed << endl
+      << "biClrImportant: " << bmih.biClrImportant << endl << endl;  
+ return;
+}
+
+int GetBitmapColorDepth( const char* szFileNameIn )
+{
+ BMIH bmih = GetBMIH( szFileNameIn );
+ return (int) bmih.biBitCount;
+}
+
+void PixelToPixelCopy( BMP& From, int FromX, int FromY,  
+                       BMP& To, int ToX, int ToY)
+{
+ *To(ToX,ToY) = *From(FromX,FromY);
+ return;
+}
+
+void PixelToPixelCopyTransparent( BMP& From, int FromX, int FromY,  
+                                  BMP& To, int ToX, int ToY,
+                                  RGBApixel& Transparent )
+{
+ if( From(FromX,FromY)->Red != Transparent.Red ||
+     From(FromX,FromY)->Green != Transparent.Green ||
+     From(FromX,FromY)->Blue != Transparent.Blue )	 
+ { *To(ToX,ToY) = *From(FromX,FromY); }
+ return;
+}
+
+void RangedPixelToPixelCopy( BMP& From, int FromL , int FromR, int FromB, int FromT, 
+                             BMP& To, int ToX, int ToY )
+{
+ // make sure the conventions are followed
+ if( FromB < FromT )
+ { int Temp = FromT; FromT = FromB; FromB = Temp; }
+
+ // make sure that the copied regions exist in both bitmaps
+ if( FromR >= From.TellWidth() )
+ { FromR = From.TellWidth()-1; }
+ if( FromL < 0 ){ FromL = 0; }
+
+ if( FromB >= From.TellHeight() )
+ { FromB = From.TellHeight()-1; }
+ if( FromT < 0 ){ FromT = 0; }
+ 
+ if( ToX+(FromR-FromL) >= To.TellWidth() )
+ { FromR = To.TellWidth()-1+FromL-ToX; }
+ if( ToY+(FromB-FromT) >= To.TellHeight() )
+ { FromB = To.TellHeight()-1+FromT-ToY; } 
+ 
+ int i,j;
+ for( j=FromT ; j <= FromB ; j++ )
+ { 
+  for( i=FromL ; i <= FromR ; i++ )
+  {
+   PixelToPixelCopy( From, i,j,  
+                     To, ToX+(i-FromL), ToY+(j-FromT) );
+  }
+ }
+
+ return;
+}
+
+void RangedPixelToPixelCopyTransparent( 
+     BMP& From, int FromL , int FromR, int FromB, int FromT, 
+     BMP& To, int ToX, int ToY ,
+     RGBApixel& Transparent )
+{
+ // make sure the conventions are followed
+ if( FromB < FromT )
+ { int Temp = FromT; FromT = FromB; FromB = Temp; }
+
+ // make sure that the copied regions exist in both bitmaps
+ if( FromR >= From.TellWidth() )
+ { FromR = From.TellWidth()-1; }
+ if( FromL < 0 ){ FromL = 0; }
+
+ if( FromB >= From.TellHeight() )
+ { FromB = From.TellHeight()-1; }
+ if( FromT < 0 ){ FromT = 0; }
+ 
+ if( ToX+(FromR-FromL) >= To.TellWidth() )
+ { FromR = To.TellWidth()-1+FromL-ToX; }
+ if( ToY+(FromB-FromT) >= To.TellHeight() )
+ { FromB = To.TellHeight()-1+FromT-ToY; } 
+ 
+ int i,j;
+ for( j=FromT ; j <= FromB ; j++ )
+ { 
+  for( i=FromL ; i <= FromR ; i++ )
+  {
+   PixelToPixelCopyTransparent( From, i,j,  
+                     To, ToX+(i-FromL), ToY+(j-FromT) , 
+                     Transparent);
+  }
+ }
+
+ return;
+}
+
+bool CreateGrayscaleColorTable( BMP& InputImage )
+{
+ using namespace std;
+ int BitDepth = InputImage.TellBitDepth();
+ if( BitDepth != 1 && BitDepth != 4 && BitDepth != 8 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Warning: Attempted to create color table at a bit" << endl
+        << "                 depth that does not require a color table." << endl
+   	    << "                 Ignoring request." << endl;
+  }
+  return false;
+ }
+ int i;
+ int NumberOfColors = InputImage.TellNumberOfColors();
+ 
+ ebmpBYTE StepSize;
+ if( BitDepth != 1 )
+ { StepSize = 255/(NumberOfColors-1); }
+ else
+ { StepSize = 255; }
+  
+ for( i=0 ; i < NumberOfColors ; i++ )
+ {
+  ebmpBYTE TempBYTE = i*StepSize;
+  RGBApixel TempColor;
+  TempColor.Red = TempBYTE;
+  TempColor.Green = TempBYTE;
+  TempColor.Blue = TempBYTE;
+  TempColor.Alpha = 0;
+  InputImage.SetColor( i , TempColor );  
+ }
+ return true;
+}
+
+bool BMP::Read32bitRow( ebmpBYTE* Buffer, int BufferSize, int Row )
+{ 
+ int i;
+ if( Width*4 > BufferSize )
+ { return false; }
+ for( i=0 ; i < Width ; i++ )
+ { memcpy( (char*) &(Pixels[i][Row]), (char*) Buffer+4*i, 4 ); }
+ return true;
+}
+
+bool BMP::Read24bitRow( ebmpBYTE* Buffer, int BufferSize, int Row )
+{ 
+ int i;
+ if( Width*3 > BufferSize )
+ { return false; }
+ for( i=0 ; i < Width ; i++ )
+ { memcpy( (char*) &(Pixels[i][Row]), Buffer+3*i, 3 ); }
+ return true;
+}
+
+bool BMP::Read8bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row )
+{
+ int i;
+ if( Width > BufferSize )
+ { return false; }
+ for( i=0 ; i < Width ; i++ )
+ {
+  int Index = Buffer[i];
+  *( this->operator()(i,Row) )= GetColor(Index); 
+ }
+ return true;
+}
+
+bool BMP::Read4bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row )
+{
+ int Shifts[2] = {4  ,0 };
+ int Masks[2]  = {240,15};
+ 
+ int i=0;
+ int j;
+ int k=0;
+ if( Width > 2*BufferSize )
+ { return false; }
+ while( i < Width )
+ {
+  j=0;
+  while( j < 2 && i < Width )
+  {
+   int Index = (int) ( (Buffer[k]&Masks[j]) >> Shifts[j]);
+   *( this->operator()(i,Row) )= GetColor(Index); 
+   i++; j++;   
+  }
+  k++;
+ }
+ return true;
+}
+bool BMP::Read1bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row )
+{
+ int Shifts[8] = {7  ,6 ,5 ,4 ,3,2,1,0};
+ int Masks[8]  = {128,64,32,16,8,4,2,1};
+ 
+ int i=0;
+ int j;
+ int k=0;
+ 
+ if( Width > 8*BufferSize )
+ { return false; }
+ while( i < Width )
+ {
+  j=0;
+  while( j < 8 && i < Width )
+  {
+   int Index = (int) ( (Buffer[k]&Masks[j]) >> Shifts[j]);
+   *( this->operator()(i,Row) )= GetColor(Index); 
+   i++; j++;   
+  }
+  k++;
+ }
+ return true;
+}
+
+bool BMP::Write32bitRow( ebmpBYTE* Buffer, int BufferSize, int Row )
+{ 
+ int i;
+ if( Width*4 > BufferSize )
+ { return false; }
+ for( i=0 ; i < Width ; i++ )
+ { memcpy( (char*) Buffer+4*i, (char*) &(Pixels[i][Row]), 4 ); }
+ return true;
+}
+
+bool BMP::Write24bitRow( ebmpBYTE* Buffer, int BufferSize, int Row )
+{ 
+ int i;
+ if( Width*3 > BufferSize )
+ { return false; }
+ for( i=0 ; i < Width ; i++ )
+ { memcpy( (char*) Buffer+3*i,  (char*) &(Pixels[i][Row]), 3 ); }
+ return true;
+}
+
+bool BMP::Write8bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row )
+{
+ int i;
+ if( Width > BufferSize )
+ { return false; }
+ for( i=0 ; i < Width ; i++ )
+ { Buffer[i] = FindClosestColor( Pixels[i][Row] ); }
+ return true;
+}
+
+bool BMP::Write4bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row )
+{ 
+ int PositionWeights[2]  = {16,1};
+ 
+ int i=0;
+ int j;
+ int k=0;
+ if( Width > 2*BufferSize )
+ { return false; }
+ while( i < Width )
+ {
+  j=0;
+  int Index = 0;
+  while( j < 2 && i < Width )
+  {
+   Index += ( PositionWeights[j]* (int) FindClosestColor( Pixels[i][Row] ) ); 
+   i++; j++;   
+  }
+  Buffer[k] = (ebmpBYTE) Index;
+  k++;
+ }
+ return true;
+}
+
+bool BMP::Write1bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row )
+{ 
+ int PositionWeights[8]  = {128,64,32,16,8,4,2,1};
+ 
+ int i=0;
+ int j;
+ int k=0;
+ if( Width > 8*BufferSize )
+ { return false; }
+ while( i < Width )
+ {
+  j=0;
+  int Index = 0;
+  while( j < 8 && i < Width )
+  {
+   Index += ( PositionWeights[j]* (int) FindClosestColor( Pixels[i][Row] ) ); 
+   i++; j++;   
+  }
+  Buffer[k] = (ebmpBYTE) Index;
+  k++;
+ }
+ return true;
+}
+
+ebmpBYTE BMP::FindClosestColor( RGBApixel& input )
+{
+ using namespace std;
+ 
+ int i=0;
+ int NumberOfColors = TellNumberOfColors();
+ ebmpBYTE BestI = 0;
+ int BestMatch = 999999;
+  
+ while( i < NumberOfColors )
+ {
+  RGBApixel Attempt = GetColor( i );
+  int TempMatch = IntSquare( (int) Attempt.Red - (int) input.Red )
+                + IntSquare( (int) Attempt.Green - (int) input.Green )
+                + IntSquare( (int) Attempt.Blue - (int) input.Blue );
+  if( TempMatch < BestMatch )
+  { BestI = (ebmpBYTE) i; BestMatch = TempMatch; }
+  if( BestMatch < 1 )
+  { i = NumberOfColors; }
+  i++;
+ }
+ return BestI;
+}
+
+bool EasyBMPcheckDataSize( void )
+{
+ using namespace std;
+ bool ReturnValue = true;
+ if( sizeof( ebmpBYTE ) != 1 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: ebmpBYTE has the wrong size (" 
+        << sizeof( ebmpBYTE ) << " bytes)," << endl
+	    << "               Compared to the expected 1 byte value" << endl;
+  }
+  ReturnValue = false;
+ }
+ if( sizeof( ebmpWORD ) != 2 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: ebmpWORD has the wrong size (" 
+        << sizeof( ebmpWORD ) << " bytes)," << endl
+	    << "               Compared to the expected 2 byte value" << endl;
+  }
+  ReturnValue = false;
+ }
+ if( sizeof( ebmpDWORD ) != 4 )
+ {
+  if( EasyBMPwarnings )
+  {
+   cout << "EasyBMP Error: ebmpDWORD has the wrong size (" 
+        << sizeof( ebmpDWORD ) << " bytes)," << endl
+	    << "               Compared to the expected 4 byte value" << endl;
+  }
+  ReturnValue = false;
+ }
+ return ReturnValue;
+}
+
+bool Rescale( BMP& InputImage , char mode, int NewDimension )
+{
+ using namespace std;
+ int CapMode = toupper( mode );
+
+ BMP OldImage( InputImage );
+ 
+ if( CapMode != 'P' &&
+     CapMode != 'W' &&
+     CapMode != 'H' && 
+     CapMode != 'F' )
+ {
+  if( EasyBMPwarnings )
+  {
+   char ErrorMessage [1024];
+   sprintf( ErrorMessage, "EasyBMP Error: Unknown rescale mode %c requested\n" , mode );
+   cout << ErrorMessage; 
+  }
+  return false;
+ }
+
+ int NewWidth  =0;
+ int NewHeight =0;
+ 
+ int OldWidth = OldImage.TellWidth();
+ int OldHeight= OldImage.TellHeight();
+ 
+ if( CapMode == 'P' )
+ {
+  NewWidth = (int) floor( OldWidth * NewDimension / 100.0 );
+  NewHeight = (int) floor( OldHeight * NewDimension / 100.0 );
+ }
+ if( CapMode == 'F' )
+ {
+  if( OldWidth > OldHeight )
+  { CapMode = 'W'; }
+  else
+  { CapMode = 'H'; }
+ }
+
+ if( CapMode == 'W' )
+ {
+  double percent = (double) NewDimension / (double) OldWidth;
+  NewWidth = NewDimension;
+  NewHeight = (int) floor( OldHeight * percent );
+ }
+ if( CapMode == 'H' )
+ {
+  double percent = (double) NewDimension / (double) OldHeight;
+  NewHeight = NewDimension;
+  NewWidth = (int) floor( OldWidth * percent );
+ }
+ 
+ if( NewWidth < 1 )
+ { NewWidth = 1; }
+ if( NewHeight < 1 )
+ { NewHeight = 1; }
+ 
+ InputImage.SetSize( NewWidth, NewHeight );
+ InputImage.SetBitDepth( 24 );
+
+ int I,J;
+ double ThetaI,ThetaJ;
+ 
+ for( int j=0; j < NewHeight-1 ; j++ )
+ {
+  ThetaJ = (double)(j*(OldHeight-1.0))
+          /(double)(NewHeight-1.0);
+  J	= (int) floor( ThetaJ );
+  ThetaJ -= J;  
+  
+  for( int i=0; i < NewWidth-1 ; i++ )
+  {
+   ThetaI = (double)(i*(OldWidth-1.0))
+           /(double)(NewWidth-1.0);
+   I = (int) floor( ThetaI );
+   ThetaI -= I;  
+   
+   InputImage(i,j)->Red = (ebmpBYTE) 
+                          ( (1.0-ThetaI-ThetaJ+ThetaI*ThetaJ)*(OldImage(I,J)->Red)
+                           +(ThetaI-ThetaI*ThetaJ)*(OldImage(I+1,J)->Red)   
+                           +(ThetaJ-ThetaI*ThetaJ)*(OldImage(I,J+1)->Red)   
+                           +(ThetaI*ThetaJ)*(OldImage(I+1,J+1)->Red) );
+   InputImage(i,j)->Green = (ebmpBYTE) 
+                          ( (1.0-ThetaI-ThetaJ+ThetaI*ThetaJ)*OldImage(I,J)->Green
+                           +(ThetaI-ThetaI*ThetaJ)*OldImage(I+1,J)->Green   
+                           +(ThetaJ-ThetaI*ThetaJ)*OldImage(I,J+1)->Green   
+                           +(ThetaI*ThetaJ)*OldImage(I+1,J+1)->Green );  
+   InputImage(i,j)->Blue = (ebmpBYTE) 
+                          ( (1.0-ThetaI-ThetaJ+ThetaI*ThetaJ)*OldImage(I,J)->Blue
+                           +(ThetaI-ThetaI*ThetaJ)*OldImage(I+1,J)->Blue   
+                           +(ThetaJ-ThetaI*ThetaJ)*OldImage(I,J+1)->Blue   
+                           +(ThetaI*ThetaJ)*OldImage(I+1,J+1)->Blue ); 
+  }
+   InputImage(NewWidth-1,j)->Red = (ebmpBYTE) 
+                            ( (1.0-ThetaJ)*(OldImage(OldWidth-1,J)->Red)
+                          + ThetaJ*(OldImage(OldWidth-1,J+1)->Red) ); 
+   InputImage(NewWidth-1,j)->Green = (ebmpBYTE) 
+                            ( (1.0-ThetaJ)*(OldImage(OldWidth-1,J)->Green)
+                          + ThetaJ*(OldImage(OldWidth-1,J+1)->Green) ); 
+   InputImage(NewWidth-1,j)->Blue = (ebmpBYTE) 
+                            ( (1.0-ThetaJ)*(OldImage(OldWidth-1,J)->Blue)
+                          + ThetaJ*(OldImage(OldWidth-1,J+1)->Blue) ); 
+ } 
+
+ for( int i=0 ; i < NewWidth-1 ; i++ )
+ {
+  ThetaI = (double)(i*(OldWidth-1.0))
+          /(double)(NewWidth-1.0);
+  I = (int) floor( ThetaI );
+  ThetaI -= I;  
+  InputImage(i,NewHeight-1)->Red = (ebmpBYTE) 
+                            ( (1.0-ThetaI)*(OldImage(I,OldHeight-1)->Red)
+                          + ThetaI*(OldImage(I,OldHeight-1)->Red) ); 
+  InputImage(i,NewHeight-1)->Green = (ebmpBYTE) 
+                            ( (1.0-ThetaI)*(OldImage(I,OldHeight-1)->Green)
+                          + ThetaI*(OldImage(I,OldHeight-1)->Green) ); 
+  InputImage(i,NewHeight-1)->Blue = (ebmpBYTE) 
+                            ( (1.0-ThetaI)*(OldImage(I,OldHeight-1)->Blue)
+                          + ThetaI*(OldImage(I,OldHeight-1)->Blue) ); 
+ }
+ 
+ *InputImage(NewWidth-1,NewHeight-1) = *OldImage(OldWidth-1,OldHeight-1);
+ return true;
+}
diff --git a/examples/pyeasybmp_dev/easybmp/EasyBMP.h b/examples/pyeasybmp_dev/easybmp/EasyBMP.h
new file mode 100644
index 0000000..ead98c1
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/EasyBMP.h
@@ -0,0 +1,86 @@
+/*************************************************
+*                                                *
+*  EasyBMP Cross-Platform Windows Bitmap Library * 
+*                                                *
+*  Author: Paul Macklin                          *
+*   email: macklin01 at users.sourceforge.net       *
+* support: http://easybmp.sourceforge.net        *
+*                                                *
+*          file: EasyBMP.h                       * 
+*    date added: 01-31-2005                      *
+* date modified: 12-01-2006                      *
+*       version: 1.06                            *
+*                                                *
+*   License: BSD (revised/modified)              *
+* Copyright: 2005-6 by the EasyBMP Project       * 
+*                                                *
+* description: Main include file                 *
+*                                                *
+*************************************************/
+
+#ifdef _MSC_VER 
+// MS Visual Studio gives warnings when using 
+// fopen. But fopen_s is not going to work well 
+// with most compilers, and fopen_s uses different 
+// syntax than fopen. (i.e., a macro won't work) 
+// So, we'lll use this:
+#define _CRT_SECURE_NO_DEPRECATE
+#endif
+
+#include <iostream>
+#include <cmath>
+#include <cctype>
+#include <cstring>
+
+#ifndef EasyBMP
+#define EasyBMP
+
+#ifdef __BCPLUSPLUS__ 
+// The Borland compiler must use this because something
+// is wrong with their cstdio file. 
+#include <stdio.h>
+#else 
+#include <cstdio>
+#endif
+
+#ifdef __GNUC__
+// If g++ specific code is ever required, this is 
+// where it goes. 
+#endif
+
+#ifdef __INTEL_COMPILER
+// If Intel specific code is ever required, this is 
+// where it goes. 
+#endif
+
+#ifndef _DefaultXPelsPerMeter_
+#define _DefaultXPelsPerMeter_
+#define DefaultXPelsPerMeter 3780
+// set to a default of 96 dpi 
+#endif
+
+#ifndef _DefaultYPelsPerMeter_
+#define _DefaultYPelsPerMeter_
+#define DefaultYPelsPerMeter 3780
+// set to a default of 96 dpi
+#endif
+
+#include "EasyBMP_DataStructures.h"
+#include "EasyBMP_BMP.h"
+#include "EasyBMP_VariousBMPutilities.h"
+
+#ifndef _EasyBMP_Version_
+#define _EasyBMP_Version_ 1.06
+#define _EasyBMP_Version_Integer_ 106
+#define _EasyBMP_Version_String_ "1.06"
+#endif
+
+#ifndef _EasyBMPwarnings_
+#define _EasyBMPwarnings_
+#endif
+
+void SetEasyBMPwarningsOff( void );
+void SetEasyBMPwarningsOn( void );
+bool GetEasyBMPwarningState( void );
+
+#endif
diff --git a/examples/pyeasybmp_dev/easybmp/EasyBMP_BMP.h b/examples/pyeasybmp_dev/easybmp/EasyBMP_BMP.h
new file mode 100644
index 0000000..8d9120a
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/EasyBMP_BMP.h
@@ -0,0 +1,86 @@
+/*************************************************
+*                                                *
+*  EasyBMP Cross-Platform Windows Bitmap Library *
+*                                                *
+*  Author: Paul Macklin                          *
+*   email: macklin01 at users.sourceforge.net       *
+* support: http://easybmp.sourceforge.net        *
+*                                                *
+*          file: EasyBMP_VariousBMPutilities.h   *
+*    date added: 05-02-2005                      *
+* date modified: 12-01-2006                      *
+*       version: 1.06                            *
+*                                                *
+*   License: BSD (revised/modified)              *
+* Copyright: 2005-6 by the EasyBMP Project       *
+*                                                *
+* description: Defines BMP class                 *
+*                                                *
+*************************************************/
+
+#ifndef _EasyBMP_BMP_h_
+#define _EasyBMP_BMP_h_
+
+bool SafeFread( char* buffer, int size, int number, FILE* fp );
+bool EasyBMPcheckDataSize( void );
+
+class __declspec(dllexport) BMP{
+private:
+
+    int BitDepth;
+    int Width;
+    int Height;
+    RGBApixel** Pixels;
+    RGBApixel* Colors;
+    int XPelsPerMeter;
+    int YPelsPerMeter;
+
+    ebmpBYTE* MetaData1;
+    int SizeOfMetaData1;
+    ebmpBYTE* MetaData2;
+    int SizeOfMetaData2;
+
+    bool Read32bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
+    bool Read24bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
+    bool Read8bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row );
+    bool Read4bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row );
+    bool Read1bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row );
+
+    bool Write32bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
+    bool Write24bitRow( ebmpBYTE* Buffer, int BufferSize, int Row );
+    bool Write8bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row );
+    bool Write4bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row );
+    bool Write1bitRow(  ebmpBYTE* Buffer, int BufferSize, int Row );
+
+    ebmpBYTE FindClosestColor( RGBApixel& input );
+
+public:
+
+    int TellBitDepth( void );
+    int TellWidth( void );
+    int TellHeight( void );
+    int TellNumberOfColors( void );
+    void SetDPI( int HorizontalDPI, int VerticalDPI );
+    int TellVerticalDPI( void );
+    int TellHorizontalDPI( void );
+
+    BMP();
+    BMP( BMP& Input );
+    ~BMP();
+    RGBApixel* operator()(int i,int j);
+
+    RGBApixel GetPixel( int i, int j ) const;
+    bool SetPixel( int i, int j, RGBApixel NewPixel );
+
+    bool CreateStandardColorTable( void );
+
+    bool SetSize( int NewWidth, int NewHeight );
+    bool SetBitDepth( int NewDepth );
+    bool WriteToFile( const char* FileName );
+    bool ReadFromFile( const char* FileName );
+
+    RGBApixel GetColor( int ColorNumber );
+    bool SetColor( int ColorNumber, RGBApixel NewColor );
+};
+
+#endif
diff --git a/examples/pyeasybmp_dev/easybmp/EasyBMP_ChangeLog.txt b/examples/pyeasybmp_dev/easybmp/EasyBMP_ChangeLog.txt
new file mode 100644
index 0000000..b0a2c14
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/EasyBMP_ChangeLog.txt
@@ -0,0 +1,821 @@
+EasyBMP Cross-Platform Windows Bitmap Library: Change Log 
+
+Library Author(s): Paul Macklin 
+  Library License: BSD (revised). See the BSD_(revised)_license.txt 
+                   file for further information.
+        Copyright: 2005-6 by the EasyBMP Project 
+            Email: macklin01 at users.sourceforge.net
+          Support: http://easybmp.sourceforge.net
+
+All changes by Paul Macklin unless otherwise noted.
+
+*--------------------------------------------------------------------*
+
+Version: 0.50
+   Date: 1-31-2005
+
+    None! (first release)
+
+*--------------------------------------------------------------------*
+
+Version: 0.51
+   Date: 2-14-2005    
+
+    Added full 32-bit BMP file support  
+
+    Took out annoying "colors: " message from BMP8 initialization 
+    from scratch  
+
+    Added more license and copyright info to each file  
+
+    Added change log to library  
+    
+    To do next:
+    Should update the error messages for the initializations  
+    Should simplify the reading and writing code  
+
+*--------------------------------------------------------------------*
+    
+Version: 0.52
+   Date: 2-19-2005
+
+    Fixed a minor bug in the MakeGreyscalePalette function where the 
+    0 color turned out to be (255,255,255), rather than (0,0,0)  
+
+    Updated standard colors for 4-bit, 8-bit, and 24-bit      
+    
+*--------------------------------------------------------------------*
+
+Version: 0.53
+   Date: 2-27-2005
+
+   Fixed unsigned / signed problem that VS.net shows          
+                                                 
+                                                              
+   Tried fix of line 186 in EasyBMP_BMP4.h file. If it works, 
+   I'll apply it consistently. I think that VS.net wants us   
+   to clear char* blah, then char = new blah [size], just     
+   like the old days for g++.                    
+                                                              
+   Removed EasyBMP_StandardColors.h from standard package     
+                                                              
+*--------------------------------------------------------------------*
+
+Version: 0.54
+   Date: 2-27-2005
+
+   The fix of line 186 in EasyBMP_BMP4.h file appears to have 
+   worked. I applied it through the remainder of the code.    
+   Hopefully, this should ensure Visual Studio.Net compati-   
+   bility.                                       
+                                                              
+   Fixed some typos in the comment lines         
+                                                              
+*--------------------------------------------------------------------*
+
+Version: 0.55
+   Date: 5-2-2005
+
+   Introduced RGBApixel struct.  
+   
+   Introduced BMFH, BMIH, and BMP classes.  
+   
+   Deprecated all old code to *_legacy.h.  
+   
+   Rewrote EasyBMP_VariousBMPutilities.h to use the new 
+   BMP class.  
+   
+*--------------------------------------------------------------------*
+
+Version: 0.56
+   Date: 5-4-2005
+
+   Made Width, Height, and BitDepth private members and added 
+   functions for accessing them.                 
+                                                              
+   Made a new function, SetBitDepth, as the only means to     
+   change the bit depth. It will create/resize a palette as   
+   necessary. This simplifies the WriteToFile code, as well as
+   any palette altering algorithms. (All algorithms can now   
+   assume that a properly-sized palette exists.) This will    
+   help improve code stability greatly.          
+                                                              
+   Made a new function, SetSize, as the only way to change the
+   width and height of the image.                 
+                                                              
+   Eliminated useless HasPalette and NumberOfColors members,  
+   and added TellNumberOfColors() function.      
+                                                              
+   Updated EasyBMP_VariousBMPutilities.h to respect privacy   
+   of data members.                              
+
+*--------------------------------------------------------------------*
+
+Version: 0.57
+   Date: 5-8-2005
+
+   Removed fclose(fp) lines from EasyBMP_BMP.h and 
+   EasyBMP_VariousBMPutilities.h whenever ( !fp ) occurs, 
+   to avoid a crash when trying to close a non-existant file. 
+    
+   
+   Added a line to set bmfh.bfType = 0; to getBMFH() routine 
+   in the case where ( !fp ) occurs, so that a nonexistant file
+   doesn't falsely show up as a bitmap file.  
+   
+   Made error messages in BMP::ReadFromFile(char*) more meaningful, 
+   since Argh! doesn't help much. :-)  
+   
+   Made ReadFromFile operations safer: can deal more effectively 
+   with corrupted and/or truncated files by adding the new 
+   SafeFread() wrapper function.  
+   
+   Moved all change-log entries to the change log to make the source
+   file tidier.  
+   
+   Removed all references to Palettes; renamed them to ColorTables. 
+   
+*--------------------------------------------------------------------*
+
+Version: 0.58
+   Date: 5-13-2005
+
+   Rewrote ReadFromFile() to fix program crashes on reading 4-bit 
+   files. (*grumble* I can't believe there was such a bug in such 
+   a late version! */grumble*)  
+
+   Added support to ReadFromFile() for reading 1-bit files. 
+
+   Rewrote ReadFromFile() to avoid trying to read bitmap files of 
+   depths other than 1, 4, 8, 24, and 32 bits.     
+   
+   Tested reading 4-bit files of width 0,1,2, and 3 (modulo 4),  
+   and 1-bit files of width 0,1,2,3,4,5,6, and 7 (modulo 8)   
+
+*--------------------------------------------------------------------*
+
+Version: 0.59
+   Date: 5-15-2005
+
+   Made ReadFromFile() more robust. Evidently, reading to the 
+   same temp variable all the time made it unstable when reading 
+   many files. I would never have guessed. I instead declare BMIH 
+   and BMFH objects and read directly to their members. This appears 
+   to be more stable when dealing with many ReadFromFile() calls.
+
+   On a related note, made sure to not call SetSize( Width,Height), 
+   which is a bit recursive, as well as SetBitDepth( BitDepth ). 
+   This appears to help stability, since these two functions were 
+   create precisely for the purpose of setting those variables 
+   values safely.  
+
+   Made use of the boolean return value in SafeFread() to detect 
+   when files are obviously corrupted. Used this to have an early 
+   catch in ReadFromFile() and set it to a 1x1 1-bit image and 
+   exit.  
+   
+   Made ReadFromFile() stricter, in that it only reads recognized 
+   bit depths (1,4,8,24,32). Any other bit depth will prompt the 
+   routine to terminate and set it to a 1x1 1-bit file.  
+
+   Added write support for 1-bit files.  
+   
+   Rewrote WriteToFile() for 4,8-bit files to match methods used 
+   for reading them.  
+   
+   Revised CreateStandardColorTable() and 
+   CreateGreyscaleColorTable() to add support for 1-bit files.  
+   
+   Rewrote WriteToFile() to be stricter in only writing known bit 
+   depths (1,4,8,24,32) and ignoring all others.  
+
+*--------------------------------------------------------------------*
+
+Version: 0.60
+   Date: 5-21-2005
+
+   Deprecated *_legacy.h files.  
+
+   Tested library extensivey in linux with good results.  
+
+   Made CreateGreyscaleColorTable() stricter, in that it exits 
+   if supplied a bit depth other than 1, 4, or 8.  
+
+   Made cosmetic changes in EasyBMP_DataStructures.h to 
+   improve readability.  
+
+   Made SetBitDepth() stricter, in that it will never allow a bitmap 
+   to be set to an unsupported bit depth. Only bit depths of 1, 4, 
+   8, 24, or 32 are accepted.  
+
+   Made SetSize() stricter, in that it will not allow negative 
+   widths or heights.  
+
+   Made cosmetic changes in EasyBMP_BMP.h to improve readability. 
+
+   Added a check in ReadFromFile() to see if the requested width or 
+   height is negative, a good sign of file corruption. In such a 
+   case, the file is set to a blank 1x1 1-bit file.  
+   
+   Added code to ReadFromFile() to set size to 1x1 and bit depth to 
+   1-bit if the file was not found.  
+   
+*--------------------------------------------------------------------*
+
+Version: 0.61
+   Date: 5-22-2005
+
+   Fixed awIndex typo in WriteToFile().  
+   
+   Replaced double BestDistance comparisons in WriteToFile() 
+   with int BestDistances (so as to do integer operations, 
+   rather than double operations). This gave a roughly 100% 
+   speedup in 8-bit, 4-bit, and 1-bit write operations on 
+   unoptimized (no compiler flags) code and a 30% speedup 
+   on optimized code.     
+
+   Removed checks like if( BestDistance < 1 ){ k=256; } .. from 
+   WriteToFile(), as they give more overhead than savings in my 
+   testing. For 8-bit files, there was a slight gain by putting 
+   it back in with another method: 
+   while( k < 256 && BestDistance > 0 ). 
+
+   Redefined StepSize in CreateGreyscaleColorTable() to give a 
+   better range of greys in 4-bit mode. As it was, white was not 
+   in the color table. (Colors were spaced by 256/16 = 16). Now, 
+   colors are spaced by (255-1)/(16-1) = 17, which gives the full 
+   range.  
+
+*--------------------------------------------------------------------*
+
+Version: 0.62
+   Date: 5-25-2005
+
+   Added endianess check function IsBigEndian() to 
+   EasyBMP_DataStructures.h file.  
+   
+   Added functions to swap bytes in WORD and DWORD multibyte 
+   variables to EasyBMP_DataStructures.h file for future big-endian 
+   support.  
+   
+   Added functions to switch endianess to BMFH and BMIH objects 
+   to EasyBMP_DataStructures.h file.  
+   
+   Added endianess checks to ReadFromFile() and WriteToFile() 
+   functions in EasyBMP_BMP.h file, along with endianess conversions 
+   where necessary.   
+   
+   Added endianess checks and conversions to GetBMFH() and GetBMIH() 
+   functions in EasyBMP_VariousBMPutilities.h file.  
+   
+   Rewrote GetBitmapInfo() function to use GetBMFH() and GetBMIH() 
+   functions instead. (In EasyBMP_VariousBMPutilities.h.) This 
+   cuts down on the redundancy in the code.  
+
+   Renamed GetBitmapInfo() to DisplayBitmapInfo() in the 
+   EasyBMP_VariousBMPutilities.h file.  
+   
+   With these changes, big-endian architectures should be supported, 
+   including IBM PowerPC, Sun Sparc, Motorola 86k, etc., and 
+   including Mac OSX.  
+   
+*--------------------------------------------------------------------*
+
+Version: 0.63
+   Date: 7-20-2005
+
+   Added IntPow(int,int) function to help compiling with std
+   namespace. Besides, integer operations are faster and more 
+   accurate. 
+   
+   Moved Square(double), IntSquare(int), and IntPow(int,int) to 
+   EasyBMP_DataStructures.h  
+   
+   Simplified and cleaned up code in 
+   Create4bitColorTable( RGBApixel**).
+   
+   Changed safety check in BMP.ReadFromFile(char*) to set size to 
+   1 x 1 if width or height is non-positive, rather than simply 
+   negative. 
+   
+   Added bounds checking to BMP.operator()(int,int) to automatically 
+   truncate requested pixel if out of bounds. Also added a warning
+   to cue the user in. :-)
+
+   Made error messages more consistent in format.  
+   
+   Simplified and cleaned up code in 
+   Create4bitColorTable( RGBApixel**).
+   
+   Added #include <iostream.h> to EasyBMP.h, since EasyBMP uses 
+   cout, etc.  
+
+   Simplified and cleaned up code in 
+   Create1bitColorTable( RGBApixel**).
+     
+   Changed BMP.SetSize(int,int) to disallow non-positive widths and 
+   heights, rather than simply negative widths and heights. Such 
+   function calls are now ignored.  
+
+*--------------------------------------------------------------------*
+
+Version: 0.64
+   Date: 8-2-2005
+
+   Changed "include <iostream.h>" to "include <iostream>" for
+   ANSI-C++ compliance, as well as for better compatibility with the
+   std namespace and VC++. (Thanks, Tommy Li!)  
+
+   Added some #ifndef pragmas to each header so that it should be
+   fine to incluce EasyBMP.h in multiple files in larger projects. 
+
+   Added "using namespace std" inside any function that used C++ 
+   math or I/O operations. I avoided putting "using namespace std"
+   anywhere with global scope for maximum compatibility with C++
+   software in the wild.  
+
+   Added includes for <cmath> and <cstdio> to EasyBMP.h  
+
+   Removed unused temporary variables (TempWORD and TempDWORD) from 
+   EasyBMP_BMP.h for cleaner compiling. If I see any more such 
+   unused variables, I'll remove them, too.  
+
+*--------------------------------------------------------------------*
+
+Version: 0.65
+   Date: 8-13-2005
+
+   Moved implementations of BMP::BMP(), BMP::~BMP(), and 
+   BMP::operator()(int,int) outside of the class. This should help 
+   for eventually moving everything into a separate cpp file. 
+   
+   Made RGBApixel** Pixels a private data member of the class 
+   BMP.  
+   
+   Added function void BMP::SetColor(int,RGBApixel) to BMP class 
+   to allow safe method of changing a color in the color table. 
+   
+   Added function RGBApixel BMP::GetColor(int) to BMP class 
+   to allow safe method of retrieving a color in the color 
+   table.  
+   
+   Cleaned up error messages in EasyBMP_BMP.h  
+   
+   Cleaned up error messages in EasyBMP_VariousBMPutilities.h 
+
+*--------------------------------------------------------------------*
+
+Version: 0.66
+   Date: 8-18-2005
+
+   EasyBMP_StandardColorTables.h was removed from the library. 
+   
+   CreateStandardColorTable(RGBApixel**,int) was changed to 
+   CreateStandardColorTable() and made a member function of BMP.
+   All other CreateStandardColorTable functions are now unnecessary 
+   and have been removed.  
+   
+   CreateGreyscaleColorTable(RGBApixel**,int) was changed to 
+   CreateStandardColorTable( BMP& ) and moved to 
+   EasyBMP_VariousBMPutilities.h.  
+   
+   RGBApixel* Colors was made a private data member of the BMP 
+   class.  
+
+   CreateGreyscaleColorTable( BMP& ) was renamed to 
+   CreateGrayscaleColorTable( BMP& ).  
+   
+*--------------------------------------------------------------------*
+
+Version: 0.67
+   Date: 9-14-2005
+
+   Made the EasyBMP custom math functions in 
+   EasyBMP_DataStructures.h inline. (Square,IntSquare,IntPow). 
+   This should make those function calls faster while improving 
+   compatibility with compiling DLL's. 
+   
+   Separated the code from SafeFread() in EasyBMP_BMP.h to 
+   improve compatibility with compiling DLL's.  
+
+   Removed #define _WINGDI_H from EasyBMP_DataStructures.h to 
+   improve compatibility with win32 applications. Instead, 
+   there's an extra #ifndef _SELF_DEFINED_BMP_DATA_TYPES 
+   conditional added.  
+   
+   _SELF_DEFINED_BMP_DATA_TYPES renamed to _SELF_DEFINED_WINGDI  
+   in EasyBMP_DataStructures.h.  
+   
+   All bit-flipping functions (IsBigEndian, FlipWORD, 
+   FlipDWORD) in EasyBMP_DataStructures.h were made inline 
+   to improve execution speed and improve compatibility with 
+   compiling DLL's.  
+   
+   All code was separated from function declarations in 
+   EasyBMP_VariousBMPutilities.h to improve compatibility 
+   with compiling DLL's.  
+
+   Updated and cleaned up layout of EasyBMP_ChangeLog.txt.
+
+   Updated contact and support information in library files. 
+
+   Corrected the LGPL license version. 
+
+*--------------------------------------------------------------------*
+
+Version: 0.68
+   Date: 10-9-2005
+
+   Changed references to FILE to std::FILE in the SafeFread function 
+   in EasyBMP_BMP.h to improve compatibility with Borland's compiler. 
+   
+   Removed a few assignments in EasyBMP_BMP.h that weren't used to 
+   improve efficiency and reduce Borland warnings. 
+   
+   Changed calls like NotCorrupted = SafeFread() to 
+   NotCorrupted &= SafeFread() in BMP::ReadFromFile() in EasyBMP_BMP.h
+   to improve robustness. Now, if the NotCorrupted bit is ever set 
+   to false, it stays false, meaning that the function won't "forget" 
+   that it encountered file corruption.
+   
+*--------------------------------------------------------------------*
+
+Version: 0.69
+   Date: 10-19-2005
+
+   Changed BMP::WriteToFile( char* ) to BMP::WriteToFile(const char*)
+   in EasyBMP_BMP.h to respond to a feature request. 
+
+   Changed BMP::ReadFromFile( char* ) to BMP::ReadToFile(const char*)
+   in EasyBMP_BMP.h to respond to a feature request. 
+
+   Made BMP::ReadFromFile() and BMP::WriteToFile() in EasyBMP_BMP.h 
+   return true/false to indicate success/failure in the operations. 
+   These functions previously returned void.
+
+   Made BMP::SetSize() and BMP::SetBitDepth() in EasyBMP_BMP.h 
+   return true/false to indicate success/failure in the operations.    
+   These functions previously returned void.
+
+   Made BMP::SetColor() and BMP::CreateStandardColorTable() in 
+   EasyBMP_BMP.h return true/false to indicate success/failure in the 
+   operations. These functions previously returned void.  
+
+   Made CreateGrayscaleColorTable() in EasyBMP_VariousBMPutilities.h 
+   return true/false to indicate success/failure in the operations. 
+   This function previously returned void.
+  
+   Changed the char* argument GetBMFH( char* ), GetBMIH( char* ), 
+   DisplayBitmapInfo( char* ), and GetBitmapColorDepth( char* ) in 
+   EasyBMP_VariousBMPutilities.h to const char* for cleaner, safer 
+   programming. 
+
+*--------------------------------------------------------------------*
+
+Version: 0.70
+   Date: 10-19-2005
+
+   Found and fixed error in BMP::ReadFromFile() in the check for only 
+   reading support bit depths.
+
+   Changed license from LGPL to BSD (revised/modified) to simplify 
+   licensing issues and resolve any lingering licensing questions.
+
+   Fixed compiler error when using MSVC++. 
+ 
+   Improved fix to allow compiling with Borland without breaking 
+   Borland support. 
+
+   Added a few lines to EasyBMP.h to make it easier to tailor code 
+   to specific compilers. (For future use as needed.)
+
+   Added a few lines to EasyBMP_BMP.h (in BMP::ReadFromFile(), 
+   BMP::WriteToFile(), and BMP::SetBitDepth()) to eventually add 
+   support for 16-bit files.
+
+*--------------------------------------------------------------------*
+
+Version: 0.71
+   Date: 11-01-2005
+
+   Cleaned up comments in BMP::ReadFromFile() in EasyBMP_BMP.h
+
+   Added endian-safe read support for 16-bit files that are in the 
+   standard 5-5-5 format (not specified in bit fields)
+
+   Added endian-safe read support for 16-bit files that use bit 
+   fields, including 5-6-5 files.
+
+   Added endian-safe write support for 16-bit files. Uses the 5-6-5 
+   encoding scheme to maximize the utility of the bits used. 
+
+   Added a check for compression in BMP::ReadFromFile(). Because 
+   file compression is beyond the scope of EasyBMP, such files are 
+   not supported, and EasyBMP now properly detects these situations 
+   and exits with an error. 
+
+   Added a check for files that attempt to use bit fields but are not 
+   16-bit files to BMP::ReadFromFile(). Such files are not supported. 
+
+   Added a check to BMP::ReadFromFile() for files that use unknown 
+   values of bmih.biCompression, such as old OS2 bitmaps. Such files 
+   are not supported. 
+
+   Removed "switching endianness" messages from EasyBMP_BMP.h 
+
+   Added support for indexed (1, 4, and 8-bit) files that don't 
+   specify all the colors. 
+
+   Added support for reading files that include extra meta data before
+   the pixels. This data is skipped. 
+ 
+   Added enclosing #ifndef EasyBMP ... lines to EasyBMP.h as a 
+   further safeguard when EasyBMP is included in multiple cpp 
+   files. 
+
+*--------------------------------------------------------------------*
+
+Version: 1.00
+   Date: 02-06-2006
+
+   First Production/Stable release.
+
+   Corrected typographical errors in the comment sections of all 
+   files.
+
+   Updated copyright on all files.
+
+   Removed extraneous comment in BMIH::BMIH() function in 
+   EasyBMP_DataStructures.h file.
+
+   Replaced instances of \n with the more modern endl in 
+   EasyBMP_DataStructures.h, EasyBMP_BMP.h, and 
+   EasyBMP_VariousBMPutilities.h.
+
+   Added placeholder MetaData1 and MetaData2 data members to the 
+   BMP class for potential future use.
+
+   Removed extraneous comments from EasyBMP_BMP.h.
+   
+   Removed warning messages for switching endianness from 
+   EasyBMP_VariousBMPutilities.h.
+
+   Updated copyright in EasyBMP_ChangeLog.txt file.
+
+   Fixed formatting issues in EasyBMP_ChangeLog.txt file.
+
+   Added DefaultXpelsPerMeter and DefaultYpelsPerMeter in 
+   EasyBMP.h. These will default to 96 dpi.
+
+   Changed BMP::WriteToFile() to use DefaultXpelsPerMeter and 
+   DefaultYpelsPerMeter when writing the BMIH structure.
+
+   Added XpelsPerMeter and YpelsPerMeter data members to BMP 
+   class so that horizontal and vertical resolution are handled
+   properly. Currently, upon reading a file, the stated resolutions 
+   are preserved, and upon writing, if no resolutions are given, 
+   the defaults (of 96 DPI) are used. 
+
+   Added function void BMP::SetDPI(int,int) to set the horizontal 
+   and vertical resolutions. 
+
+   Removed some unnecessary code from GetBitmapColorDepth() in 
+   EasyBMP_VariousBMPutilities.h.
+
+   Fixed a bug in RangedPixelToPixelCopyTransparent() and 
+   RangedPixelToPixelCopy() in EasyBMP_VariousBMPutilities.h which 
+   caused copies to be truncated by an extra row or column in 
+   certain circumstances.
+
+   Fixed a bug in RangedPixelToPixelCopyTransparent() and 
+   RangedPixelToPixelCopy() in EasyBMP_VariousBMPutilities.h which 
+   checked the wrong variable (FromT instead of FromB) to see if 
+   it was out of range. 
+
+   Added extra checks to RangedPixelToPixelCopyTransparent() and 
+   RangedPixelToPixelCopy() in EasyBMP_VariousBMPutilities.h to 
+   prevent attempted access of out-of-range pixels.
+
+*--------------------------------------------------------------------*
+
+Version: 1.01
+   Date: 03-31-2006
+
+   Made only the short functions Square, IntSquare, IsBigEndian, 
+   FlipWORD, and FlipDWORD inline functions in 
+   EasyBMP_DataStructures.h.
+   
+   Moved all code (other than inline functions) to EasyBMP.cpp.
+
+   Changed DefaultXPelsPerMeter and DefaultYPelsPerMeter to #define 
+   lines in EasyBMP.h to make the library compatible with 
+   with the header-code split. 
+   
+   Removed memory hole in ~BMP() where "delete Colors;" was used 
+   instead of "delete [] Colors;". Likewise with MetaData1 and 
+   MetaData2.
+   
+   Fixed memory leak in BMP::SetBitDepth() by changing to 
+   delete [] Colors;
+   
+   Removed potential memory leak in BMP::WriteToFile() in 24- and 
+   32-bit writing where szTemp wasn't delete at the end of a row.
+   
+   Fixed bug where XPelsPerMeter and YPelsPerMeter weren't 
+   properly initialized in the BMP::BMP() constructor, leading 
+   to strange horizontal and vertical resolutions. 
+   
+   Fixed memory leak in BMP::ReadFromFile() where TempSkipBYTE 
+   wasn't deleted.
+      
+   Fixed memory leak in BMP::ReadFromFile() where szTemp wasn't 
+   deleted.
+   
+   Added BMP::TellVerticalDPI() and BMP::TellHorizontalDPI() 
+   functions to give this information. If those values have 
+   not yet been set, then they are first set to the EasyBMP 
+   defaults of 96 dpi. 
+   
+   Set uninitialized RGBApixel values to white (255,255,255,0) 
+   in a few functions for the BMP class.
+
+   Added a sample cpp application and makefile.
+   
+*--------------------------------------------------------------------*
+
+Version: 1.02
+   Date: 05-29-2006
+
+   Inserted a line into EasyBMP.h to suppress the Visual Studio 
+   warnings. We'll keep using the C++ standard fopen for now 
+   until fopen_s becomes a real standard. 
+   
+   Moved the code sample and makefile to a subdirectory, so that 
+   unzipping EasyBMP#_##.zip into a project directory doesn't 
+   overwrite any crucial makefiles. 
+   
+   Improved SafeFread() to check if the proper amount of data 
+   could be read. 
+   
+   Dramatically cleaned up ReadFromFile() code for 1 and 4 
+   bpp files.
+   
+   Fixed a typo (draw.o) in the sample makefile.
+   
+   Modified ReadFromFile() to use buffering when reading the pixel 
+   data. This should substantially improve disk access performance.
+   Only 16 bpp files are read in the old, slower way. 
+   
+   Changed DWORD from unsigned long to unsigned int. This should 
+   fix the issue where 64-bit machines see DWORD as an 8-byte 
+   data type, rather than 4 bytes. (Thank you to Bas Wegh!)
+   
+   Renamed BYTE, WORD, and DWORD data types to ebmpBYTE, ebmpWORD, 
+   and ebmpDWORD to eliminate the possibility of conflict with 
+   windows applications, particularly with 64-bit windows, which 
+   likely uses 8 byte DWORDS. 
+   
+   Modified WriteToFile() to use buffering when reading the pixel 
+   data. This should substantially improve disk access performance.
+   Only 16 bpp files are read in the old, slower way. 
+   
+   Added new function, EasyBMPcheckDataSize(), to check that 
+   the ebmpBYTE, ebmpWORD, and ebmpDWORD types have the correct 
+   type. 
+   
+   Added some new macros of the EasyBMP version number for easier 
+   version checking. New versions include _EasyBMP_Version_ 
+   (a double), _EasyBMP_Version_String_ (a char* version), and 
+   _EasyBMP_Version_Integer_ (an integer version, e.g., 102).
+
+*--------------------------------------------------------------------*
+
+Version: 1.03
+   Date: 06-20-2006
+
+   Inserted a line into EasyBMP.h to suppress the Visual Studio 
+   
+   Added a check to BMP.SetColor() to ensure that the color table 
+   is defined before attempting to set a color entry. 
+
+   Added a check to BMP.GetColor() to ensure that the color table 
+   is defined before attempting to retrieve a color entry. 
+   
+   Simplified the conditional in BMP.WriteToFile() from  
+   if( BitDepth == 1 || BitDepth == 4 || ... ) to the simpler 
+   if( BitDepth != 16 ).
+   
+   Removed the old, unused code for writing 1- and 4-bit files 
+   from BMP.WriteToFile().
+   
+   Removed the line Colors = new RGBApixel [NumberOfColors]; in 
+   BMP.ReadFromFile(). This operation is already covered by the 
+   earlier SetBitDepth() call, and may contribute to a memory 
+   leak. Furthermore, for files that had fewer than expected 
+   number of colors (e.g., an 8-bit file with 236 colors), it 
+   lead to memory access errors in BMP.GetColor() and BMP.SetColor(). 
+   (In fact, this is the main motivation for release 1.03.) 
+   
+   Added a warning when BMP.ReadFromFile() encounters an under-
+   specified color table, and code to pad the table with white 
+   entries. 
+   
+   Added screen output on EasyBMP version and project website to 
+   the code sample.
+   
+*--------------------------------------------------------------------*
+
+Version: 1.04
+   Date: 07-22-2006
+
+   Removed the assignment to the integer i in IntPow() to eliminate a 
+   Borland compiler warning.    
+
+   Removed the assignment to the integer i in the Read##bitRow() 
+   functions to eliminate Borland compiler warnings.
+   
+   Removed the assignment to ZeroWORD in line 478 of EasyBMP.cpp in 
+   BMP::WriteToFile() to eliminate Borland compiler warnings.
+   
+   Removed the assignment to ZeroWORD in line 825 of EasyBMP.cpp in 
+   BMP::ReadFromFile() to eliminate Borland compiler warnings.   
+   
+   The Borland warnings about conditions always being false are 
+   incorrect. (Lines 1587, 1594, and 1601.) Likewise, the Borland 
+   warnings about unreachable code (lines 1589, 1596, and 1603) are 
+   incorrect. This code serves as a protection on unexpected hardware 
+   where the data types may not be of the correct size, and helps to 
+   future-proof EasyBMP. The first time this type of error was 
+   encountered was on 64-bit CPUs, where the size of the DWORD was 
+   larger than assumed when writing EasyBMP. Therefore, we will not 
+   "correct" these "errors" detected by Borland. If they bother you, 
+   compile with the -w-8008 and -w-8066 options.
+   
+   Borland issues warnings about argc and argv being unused in the 
+   sample project. These are silly warnings and will be ignored. If 
+   this warning bothers you, compile with the -w-8057 option.
+   
+   Modified the sample makefile so that EasyBMP.o depends upon 
+   EasyBMP.cpp and EasyBMP*.h in the current working directory, rather
+   than the parent directory.
+   
+   Added a global EasyBMPwarnings boolean variable, and functions 
+   SetEasyBMPwarningsOn() and SetEasyBMPwarningsOff() to enable and 
+   disable EasyBMP warnings and errors. Note that this will not 
+   disable error checking or any other EasyBMP behavior, other than 
+   cout output of the warning and error messages.
+   
+   Added the function GetEasyBMPwarningState() to query the EasyBMP 
+   warning state. (Either warnings are enabled or disabled.)
+
+   Removed old commented code (Write1bitRow()) from EasyBMP.cpp. 
+
+   Replaced the 24-bit EasyBMPbackground.bmp image in the code sample 
+   with a dithered 8-bit version to reduce the download size of the 
+   core library.
+    
+*--------------------------------------------------------------------*
+
+Version: 1.05
+   Date: 11-01-2006
+
+   Renamed BytesRead to ItemsRead in the SafeFread() function in 
+   EasyBMP.cpp for greater clarity.
+   
+   Added a copy constructor to the BMP class. However, note that 
+   passing by value is not recommended practice. (Passing by refer-
+   ence is much faster, and consumes less memory.) 
+   
+   Added a new function: 
+       bool Rescale( BMP& InputImage, char mode, int NewDimension );
+   to resize an image. The mode variables are as follows:
+    'P': resizes the image to a new percentage of the old size, 
+	     e.g., 42%, 13%, etc. 
+         example: Rescale( SomeImage, 'p', 42 );
+    'W': resizes the image such that the new width is as specified. 
+         example: Rescale( SomeImage, 'W', 100 );
+    'H': resizes the image such that the new height is as specified. 
+         example: Rescale( SomeImage, 'H', 100 );
+    'F': resizes the image to fit in a square of specified size. 
+         example: Rescale( SomeImage, 'F', 100 ); // fits in 100x100
+		                                          // box
+   All rescaling is done with bilinear interpolation. 
+
+*--------------------------------------------------------------------*
+
+Version: 1.06
+   Date: 12-01-2006
+
+   Added includes for <cctype> and <cstring> to EasyBMP.h. These are
+   used and should have been included all along. This should help 
+   with Intel icc compiling. 
+   
+   Fixed the && bug in the copy constructor. (Thank you to user 
+   fcnature!)
+   
+   Added image scaling to the supplied code sample.
+   
+   Added GetPixle() and SetPixel() functions for future use. These 
+   will be added to enable more careful use of the const keyword.
+   
+*--------------------------------------------------------------------*
\ No newline at end of file
diff --git a/examples/pyeasybmp_dev/easybmp/EasyBMP_DataStructures.h b/examples/pyeasybmp_dev/easybmp/EasyBMP_DataStructures.h
new file mode 100644
index 0000000..d0c7901
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/EasyBMP_DataStructures.h
@@ -0,0 +1,104 @@
+/*************************************************
+*                                                *
+*  EasyBMP Cross-Platform Windows Bitmap Library *
+*                                                *
+*  Author: Paul Macklin                          *
+*   email: macklin01 at users.sourceforge.net       *
+* support: http://easybmp.sourceforge.net        *
+*                                                *
+*          file: EasyBMP_DataStructures.h        *
+*    date added: 05-02-2005                      *
+* date modified: 12-01-2006                      *
+*       version: 1.06                            *
+*                                                *
+*   License: BSD (revised/modified)              *
+* Copyright: 2005-6 by the EasyBMP Project       *
+*                                                *
+* description: Defines basic data structures for *
+*              the BMP class                     *
+*                                                *
+*************************************************/
+
+#ifndef _EasyBMP_Custom_Math_Functions_
+#define _EasyBMP_Custom_Math_Functions_
+inline double  __declspec(dllexport) Square( double number )
+{ return number*number; }
+
+inline int  __declspec(dllexport)  IntSquare( int number )
+{ return number*number; }
+#endif
+
+int IntPow( int base, int exponent );
+
+#ifndef _EasyBMP_Defined_WINGDI
+#define _EasyBMP_Defined_WINGDI
+ typedef unsigned char  ebmpBYTE;
+ typedef unsigned short ebmpWORD;
+ typedef unsigned int  ebmpDWORD;
+#endif
+
+#ifndef _EasyBMP_DataStructures_h_
+#define _EasyBMP_DataStructures_h_
+
+inline bool  __declspec(dllexport) IsBigEndian()
+{
+ short word = 0x0001;
+ if((*(char *)& word) != 0x01 )
+ { return true; }
+ return false;
+}
+
+inline ebmpWORD  __declspec(dllexport) FlipWORD( ebmpWORD in )
+{ return ( (in >> 8) | (in << 8) ); }
+
+inline ebmpDWORD  __declspec(dllexport) FlipDWORD( ebmpDWORD in )
+{
+ return ( ((in&0xFF000000)>>24) | ((in&0x000000FF)<<24) |
+          ((in&0x00FF0000)>>8 ) | ((in&0x0000FF00)<<8 )   );
+}
+
+// it's easier to use a struct than a class
+// because we can read/write all four of the bytes
+// at once (as we can count on them being continuous
+// in memory
+
+typedef struct __declspec(dllexport) RGBApixel {
+	ebmpBYTE Blue;
+	ebmpBYTE Green;
+	ebmpBYTE Red;
+	ebmpBYTE Alpha;
+} RGBApixel;
+
+class __declspec(dllexport) BMFH{
+public:
+ ebmpWORD  bfType;
+ ebmpDWORD bfSize;
+ ebmpWORD  bfReserved1;
+ ebmpWORD  bfReserved2;
+ ebmpDWORD bfOffBits;
+
+ BMFH();
+ void display( void );
+ void SwitchEndianess( void );
+};
+
+class __declspec(dllexport) BMIH{
+public:
+ ebmpDWORD biSize;
+ ebmpDWORD biWidth;
+ ebmpDWORD biHeight;
+ ebmpWORD  biPlanes;
+ ebmpWORD  biBitCount;
+ ebmpDWORD biCompression;
+ ebmpDWORD biSizeImage;
+ ebmpDWORD biXPelsPerMeter;
+ ebmpDWORD biYPelsPerMeter;
+ ebmpDWORD biClrUsed;
+ ebmpDWORD biClrImportant;
+
+ BMIH();
+ void display( void );
+ void SwitchEndianess( void );
+};
+
+#endif
diff --git a/examples/pyeasybmp_dev/easybmp/EasyBMP_VariousBMPutilities.h b/examples/pyeasybmp_dev/easybmp/EasyBMP_VariousBMPutilities.h
new file mode 100644
index 0000000..349dda6
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/EasyBMP_VariousBMPutilities.h
@@ -0,0 +1,43 @@
+/*************************************************
+*                                                *
+*  EasyBMP Cross-Platform Windows Bitmap Library * 
+*                                                *
+*  Author: Paul Macklin                          *
+*   email: macklin01 at users.sourceforge.net       *
+* support: http://easybmp.sourceforge.net        *
+*                                                *
+*          file: EasyBMP_VariousBMPutilities.h   *
+*    date added: 05-02-2005                      *
+* date modified: 12-01-2006                      *
+*       version: 1.06                            *
+*                                                *
+*   License: BSD (revised/modified)              *
+* Copyright: 2005-6 by the EasyBMP Project       * 
+*                                                *
+* description: Various utilities.                *
+*                                                *
+*************************************************/
+
+#ifndef _EasyBMP_VariousBMPutilities_h_
+#define _EasyBMP_VariousBMPutilities_h_
+
+BMFH GetBMFH( const char* szFileNameIn );
+BMIH GetBMIH( const char* szFileNameIn );
+void DisplayBitmapInfo( const char* szFileNameIn );
+int GetBitmapColorDepth( const char* szFileNameIn );
+void PixelToPixelCopy( BMP& From, int FromX, int FromY,  
+                       BMP& To, int ToX, int ToY);
+void PixelToPixelCopyTransparent( BMP& From, int FromX, int FromY,  
+                                  BMP& To, int ToX, int ToY,
+                                  RGBApixel& Transparent );
+void RangedPixelToPixelCopy( BMP& From, int FromL , int FromR, int FromB, int FromT, 
+                             BMP& To, int ToX, int ToY );
+void RangedPixelToPixelCopyTransparent( 
+     BMP& From, int FromL , int FromR, int FromB, int FromT, 
+     BMP& To, int ToX, int ToY ,
+     RGBApixel& Transparent );
+bool CreateGrayscaleColorTable( BMP& InputImage );
+
+bool Rescale( BMP& InputImage , char mode, int NewDimension );
+
+#endif
diff --git a/examples/pyeasybmp_dev/easybmp/binaries/easybmp.dll b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.dll
new file mode 100644
index 0000000..a6e9e0d
Binary files /dev/null and b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.dll differ
diff --git a/examples/pyeasybmp_dev/easybmp/binaries/easybmp.dll.manifest b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.dll.manifest
new file mode 100644
index 0000000..324c707
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.dll.manifest
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
+<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
+  <dependency>
+    <dependentAssembly>
+      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
+    </dependentAssembly>
+  </dependency>
+</assembly>
diff --git a/examples/pyeasybmp_dev/easybmp/binaries/easybmp.exp b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.exp
new file mode 100644
index 0000000..0702ee5
Binary files /dev/null and b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.exp differ
diff --git a/examples/pyeasybmp_dev/easybmp/binaries/easybmp.lib b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.lib
new file mode 100644
index 0000000..967fc02
Binary files /dev/null and b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.lib differ
diff --git a/examples/pyeasybmp_dev/easybmp/binaries/easybmp.map b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.map
new file mode 100644
index 0000000..a8adfe3
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/binaries/easybmp.map
@@ -0,0 +1,322 @@
+ easybmp
+
+ Timestamp is 4986ba41 (Mon Feb 02 11:17:53 2009)
+
+ Preferred load address is 10000000
+
+ Start         Length     Name                   Class
+ 0001:00000000 00006878H .text                   CODE
+ 0001:00006880 000000b3H .text$x                 CODE
+ 0002:00000000 0000011cH .idata$5                DATA
+ 0002:0000011c 00000004H .CRT$XCA                DATA
+ 0002:00000120 00000004H .CRT$XCZ                DATA
+ 0002:00000124 00000004H .CRT$XIA                DATA
+ 0002:00000128 00000004H .CRT$XIAA               DATA
+ 0002:0000012c 00000004H .CRT$XIC                DATA
+ 0002:00000130 00000004H .CRT$XIZ                DATA
+ 0002:00000138 00001288H .rdata                  DATA
+ 0002:000013c0 00000014H .rdata$sxdata           DATA
+ 0002:000013d4 00000004H .rtc$IAA                DATA
+ 0002:000013d8 00000004H .rtc$IZZ                DATA
+ 0002:000013dc 00000004H .rtc$TAA                DATA
+ 0002:000013e0 00000004H .rtc$TZZ                DATA
+ 0002:000013e8 0000016cH .xdata$x                DATA
+ 0002:00001554 0000003cH .idata$2                DATA
+ 0002:00001590 00000014H .idata$3                DATA
+ 0002:000015a4 0000011cH .idata$4                DATA
+ 0002:000016c0 00000878H .idata$6                DATA
+ 0002:00001f40 000006eaH .edata                  DATA
+ 0003:00000000 00000020H .data                   DATA
+ 0003:00000020 00000354H .bss                    DATA
+
+  Address         Publics by Value              Rva+Base       Lib:Object
+
+ 0000:00000000       __except_list              00000000     <absolute>
+ 0000:00000005       ___safe_se_handler_count   00000005     <absolute>
+ 0000:00009876       __fltused                  00009876     <absolute>
+ 0000:00009876       __ldused                   00009876     <absolute>
+ 0000:00000000       ___ImageBase               10000000     <linker-defined>
+ 0001:00000000       ?Square@@YANN at Z            10001000 f i EasyBMP.obj
+ 0001:00000010       ?IntSquare@@YAHH at Z         10001010 f i EasyBMP.obj
+ 0001:00000020       ?IsBigEndian@@YA_NXZ       10001020 f i EasyBMP.obj
+ 0001:00000040       ?FlipWORD@@YAGG at Z          10001040 f i EasyBMP.obj
+ 0001:00000060       ?FlipDWORD@@YAII at Z         10001060 f i EasyBMP.obj
+ 0001:000000a0       ??4RGBApixel@@QAEAAU0 at ABU0@@Z 100010a0 f i EasyBMP.obj
+ 0001:000000c0       ??4BMFH@@QAEAAV0 at ABV0@@Z   100010c0 f i EasyBMP.obj
+ 0001:000000f0       ??4BMIH@@QAEAAV0 at ABV0@@Z   100010f0 f i EasyBMP.obj
+ 0001:00000120       ??4BMP@@QAEAAV0 at ABV0@@Z    10001120 f i EasyBMP.obj
+ 0001:00000150       ?SetEasyBMPwarningsOff@@YAXXZ 10001150 f   EasyBMP.obj
+ 0001:00000160       ?SetEasyBMPwarningsOn@@YAXXZ 10001160 f   EasyBMP.obj
+ 0001:00000170       ?GetEasyBMPwarningState@@YA_NXZ 10001170 f   EasyBMP.obj
+ 0001:00000180       ?IntPow@@YAHHH at Z           10001180 f   EasyBMP.obj
+ 0001:000001c0       ??0BMFH@@QAE at XZ            100011c0 f   EasyBMP.obj
+ 0001:000001f0       ?SwitchEndianess at BMFH@@QAEXXZ 100011f0 f   EasyBMP.obj
+ 0001:00000270       ??0BMIH@@QAE at XZ            10001270 f   EasyBMP.obj
+ 0001:000002c0       ?SwitchEndianess at BMIH@@QAEXXZ 100012c0 f   EasyBMP.obj
+ 0001:000003c0       ?display at BMIH@@QAEXXZ      100013c0 f   EasyBMP.obj
+ 0001:000005d0       ?display at BMFH@@QAEXXZ      100015d0 f   EasyBMP.obj
+ 0001:000006d0       ?GetPixel at BMP@@QBE?AURGBApixel@@HH at Z 100016d0 f   EasyBMP.obj
+ 0001:00000840       ?SetPixel at BMP@@QAE_NHHURGBApixel@@@Z 10001840 f   EasyBMP.obj
+ 0001:00000870       ?SetColor at BMP@@QAE_NHURGBApixel@@@Z 10001870 f   EasyBMP.obj
+ 0001:000009f0       ?GetColor at BMP@@QAE?AURGBApixel@@H at Z 100019f0 f   EasyBMP.obj
+ 0001:00000bb0       ??0BMP@@QAE at XZ             10001bb0 f   EasyBMP.obj
+ 0001:00000c80       ??0BMP@@QAE at AAV0@@Z        10001c80 f   EasyBMP.obj
+ 0001:00000e50       ??1BMP@@QAE at XZ             10001e50 f   EasyBMP.obj
+ 0001:00000f10       ??RBMP@@QAEPAURGBApixel@@HH at Z 10001f10 f   EasyBMP.obj
+ 0001:00001030       ?TellBitDepth at BMP@@QAEHXZ  10002030 f   EasyBMP.obj
+ 0001:00001040       ?TellHeight at BMP@@QAEHXZ    10002040 f   EasyBMP.obj
+ 0001:00001060       ?TellWidth at BMP@@QAEHXZ     10002060 f   EasyBMP.obj
+ 0001:00001080       ?TellNumberOfColors at BMP@@QAEHXZ 10002080 f   EasyBMP.obj
+ 0001:000010c0       ?SetBitDepth at BMP@@QAE_NH at Z 100020c0 f   EasyBMP.obj
+ 0001:00001240       ?SetSize at BMP@@QAE_NHH at Z    10002240 f   EasyBMP.obj
+ 0001:00001460       ?WriteToFile at BMP@@QAE_NPBD at Z 10002460 f   EasyBMP.obj
+ 0001:00001ff0       ?ReadFromFile at BMP@@QAE_NPBD at Z 10002ff0 f   EasyBMP.obj
+ 0001:00003270       ?CreateStandardColorTable at BMP@@QAE_NXZ 10004270 f   EasyBMP.obj
+ 0001:00003900       ?SafeFread@@YA_NPADHHPAU_iobuf@@@Z 10004900 f   EasyBMP.obj
+ 0001:00003950       ?SetDPI at BMP@@QAEXHH at Z      10004950 f   EasyBMP.obj
+ 0001:00003990       ?TellVerticalDPI at BMP@@QAEHXZ 10004990 f   EasyBMP.obj
+ 0001:000039c0       ?TellHorizontalDPI at BMP@@QAEHXZ 100049c0 f   EasyBMP.obj
+ 0001:000039f0       ?GetBMFH@@YA?AVBMFH@@PBD at Z 100049f0 f   EasyBMP.obj
+ 0001:00003b50       ?GetBMIH@@YA?AVBMIH@@PBD at Z 10004b50 f   EasyBMP.obj
+ 0001:00003d40       ?DisplayBitmapInfo@@YAXPBD at Z 10004d40 f   EasyBMP.obj
+ 0001:00004140       ?GetBitmapColorDepth@@YAHPBD at Z 10005140 f   EasyBMP.obj
+ 0001:00004160       ?PixelToPixelCopy@@YAXAAVBMP@@HH0HH at Z 10005160 f   EasyBMP.obj
+ 0001:00004190       ?PixelToPixelCopyTransparent@@YAXAAVBMP@@HH0HHAAURGBApixel@@@Z 10005190 f   EasyBMP.obj
+ 0001:00004220       ?RangedPixelToPixelCopy@@YAXAAVBMP@@HHHH0HH at Z 10005220 f   EasyBMP.obj
+ 0001:00004350       ?RangedPixelToPixelCopyTransparent@@YAXAAVBMP@@HHHH0HHAAURGBApixel@@@Z 10005350 f   EasyBMP.obj
+ 0001:00004480       ?CreateGrayscaleColorTable@@YA_NAAVBMP@@@Z 10005480 f   EasyBMP.obj
+ 0001:00004590       ?Read32bitRow at BMP@@AAE_NPAEHH at Z 10005590 f   EasyBMP.obj
+ 0001:00004600       ?Read24bitRow at BMP@@AAE_NPAEHH at Z 10005600 f   EasyBMP.obj
+ 0001:00004670       ?Read8bitRow at BMP@@AAE_NPAEHH at Z 10005670 f   EasyBMP.obj
+ 0001:000046f0       ?Read4bitRow at BMP@@AAE_NPAEHH at Z 100056f0 f   EasyBMP.obj
+ 0001:000047d0       ?Read1bitRow at BMP@@AAE_NPAEHH at Z 100057d0 f   EasyBMP.obj
+ 0001:00004900       ?Write32bitRow at BMP@@AAE_NPAEHH at Z 10005900 f   EasyBMP.obj
+ 0001:00004970       ?Write24bitRow at BMP@@AAE_NPAEHH at Z 10005970 f   EasyBMP.obj
+ 0001:000049e0       ?Write8bitRow at BMP@@AAE_NPAEHH at Z 100059e0 f   EasyBMP.obj
+ 0001:00004a50       ?Write4bitRow at BMP@@AAE_NPAEHH at Z 10005a50 f   EasyBMP.obj
+ 0001:00004b20       ?Write1bitRow at BMP@@AAE_NPAEHH at Z 10005b20 f   EasyBMP.obj
+ 0001:00004c10       ?FindClosestColor at BMP@@AAEEAAURGBApixel@@@Z 10005c10 f   EasyBMP.obj
+ 0001:00004ce0       ?EasyBMPcheckDataSize@@YA_NXZ 10005ce0 f   EasyBMP.obj
+ 0001:00004e30       ?Rescale@@YA_NAAVBMP@@DH at Z 10005e30 f   EasyBMP.obj
+ 0001:00005a20       ??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@PBD at Z 10006a20 f i EasyBMP.obj
+ 0001:00005cf0       ??0sentry@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAE at AAV12@@Z 10006cf0 f i EasyBMP.obj
+ 0001:00005db0       ??1sentry@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAE at XZ 10006db0 f i EasyBMP.obj
+ 0001:00005e20       ??Bsentry@?$basic_ostream at DU?$char_traits at D@std@@@std@@QBE_NXZ 10006e20 f i EasyBMP.obj
+ 0001:00005e40       ??0_Sentry_base@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAE at AAV12@@Z 10006e40 f i EasyBMP.obj
+ 0001:00005e90       ??1_Sentry_base@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAE at XZ 10006e90 f i EasyBMP.obj
+ 0001:00005ed1       ??_U at YAPAXI@Z              10006ed1 f   msvcprt:newaop_s.obj
+ 0001:00005ee0       ??_V at YAXPAX@Z              10006ee0 f   MSVCRT:MSVCR80.dll
+ 0001:00005ef0       __ftol2_sse                10006ef0 f   MSVCRT:ftol2.obj
+ 0001:00005ef9       __ftol2_pentium4           10006ef9 f   MSVCRT:ftol2.obj
+ 0001:00005f0c       __ftol2_sse_excpt          10006f0c f   MSVCRT:ftol2.obj
+ 0001:00005f26       __ftol2                    10006f26 f   MSVCRT:ftol2.obj
+ 0001:00005f9c       _memcpy                    10006f9c f   MSVCRT:MSVCR80.dll
+ 0001:00005fa2       ___CxxFrameHandler3        10006fa2 f   MSVCRT:MSVCR80.dll
+ 0001:00005fa8       @__security_check_cookie at 4 10006fa8 f   MSVCRT:secchk.obj
+ 0001:00006004       __CRT_INIT at 12              10007004 f   MSVCRT:crtdll.obj
+ 0001:000062dd       __DllMainCRTStartup at 12     100072dd f   MSVCRT:crtdll.obj
+ 0001:000062fe       ??2 at YAPAXI@Z               100072fe f   MSVCRT:MSVCR80.dll
+ 0001:00006354       __get_sse2_info            10007354 f   MSVCRT:cpu_disp.obj
+ 0001:000063b4       ___sse2_available_init     100073b4 f   MSVCRT:cpu_disp.obj
+ 0001:000063c1       ___report_gsfailure        100073c1 f   MSVCRT:gs_report.obj
+ 0001:000064c5       ___clean_type_info_names   100074c5 f   MSVCRT:tncleanup.obj
+ 0001:000064d1       __onexit                   100074d1 f   MSVCRT:atonexit.obj
+ 0001:00006576       _atexit                    10007576 f   MSVCRT:atonexit.obj
+ 0001:00006588       __RTC_Initialize           10007588 f   MSVCRT:initsect.obj
+ 0001:000065ac       __RTC_Terminate            100075ac f   MSVCRT:initsect.obj
+ 0001:000065d0       __ValidateImageBase        100075d0 f   MSVCRT:pesect.obj
+ 0001:00006600       __FindPESection            10007600 f   MSVCRT:pesect.obj
+ 0001:00006650       __IsNonwritableInCurrentImage 10007650 f   MSVCRT:pesect.obj
+ 0001:0000670c       __initterm                 1000770c f   MSVCRT:MSVCR80.dll
+ 0001:00006712       __initterm_e               10007712 f   MSVCRT:MSVCR80.dll
+ 0001:00006718       __amsg_exit                10007718 f   MSVCRT:MSVCR80.dll
+ 0001:0000671e       ___CppXcptFilter           1000771e f   MSVCRT:MSVCR80.dll
+ 0001:00006724       _DllMain at 12                10007724 f   MSVCRT:dllmain.obj
+ 0001:00006744       __SEH_prolog4              10007744 f   MSVCRT:sehprolg4.obj
+ 0001:00006789       __SEH_epilog4              10007789 f   MSVCRT:sehprolg4.obj
+ 0001:0000679d       __except_handler4          1000779d f   MSVCRT:chandler4gs.obj
+ 0001:000067c0       ___security_init_cookie    100077c0 f   MSVCRT:gs_support.obj
+ 0001:00006854       __crt_debugger_hook        10007854 f   MSVCRT:MSVCR80.dll
+ 0001:0000685a       ___clean_type_info_names_internal 1000785a f   MSVCRT:MSVCR80.dll
+ 0001:00006860       __unlock                   10007860 f   MSVCRT:MSVCR80.dll
+ 0001:00006866       ___dllonexit               10007866 f   MSVCRT:MSVCR80.dll
+ 0001:0000686c       __lock                     1000786c f   MSVCRT:MSVCR80.dll
+ 0001:00006872       __except_handler4_common   10007872 f   MSVCRT:MSVCR80.dll
+ 0002:00000000       __imp__Sleep at 4             10008000     kernel32:KERNEL32.dll
+ 0002:00000004       __imp__InterlockedCompareExchange at 12 10008004     kernel32:KERNEL32.dll
+ 0002:00000008       __imp__TerminateProcess at 8  10008008     kernel32:KERNEL32.dll
+ 0002:0000000c       __imp__GetCurrentProcess at 0 1000800c     kernel32:KERNEL32.dll
+ 0002:00000010       __imp__UnhandledExceptionFilter at 4 10008010     kernel32:KERNEL32.dll
+ 0002:00000014       __imp__SetUnhandledExceptionFilter at 4 10008014     kernel32:KERNEL32.dll
+ 0002:00000018       __imp__IsDebuggerPresent at 0 10008018     kernel32:KERNEL32.dll
+ 0002:0000001c       __imp__DisableThreadLibraryCalls at 4 1000801c     kernel32:KERNEL32.dll
+ 0002:00000020       __imp__QueryPerformanceCounter at 4 10008020     kernel32:KERNEL32.dll
+ 0002:00000024       __imp__GetTickCount at 0      10008024     kernel32:KERNEL32.dll
+ 0002:00000028       __imp__GetCurrentThreadId at 0 10008028     kernel32:KERNEL32.dll
+ 0002:0000002c       __imp__GetCurrentProcessId at 0 1000802c     kernel32:KERNEL32.dll
+ 0002:00000030       __imp__GetSystemTimeAsFileTime at 4 10008030     kernel32:KERNEL32.dll
+ 0002:00000034       __imp__InterlockedExchange at 8 10008034     kernel32:KERNEL32.dll
+ 0002:00000038       \177KERNEL32_NULL_THUNK_DATA 10008038     kernel32:KERNEL32.dll
+ 0002:0000003c       __imp_?width at ios_base@std@@QBEHXZ 1000803c     msvcprt:MSVCP80.dll
+ 0002:00000040       __imp_?length@?$char_traits at D@std@@SAIPBD at Z 10008040     msvcprt:MSVCP80.dll
+ 0002:00000044       __imp_?flush@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV12 at XZ 10008044     msvcprt:MSVCP80.dll
+ 0002:00000048       __imp_?tie@?$basic_ios at DU?$char_traits at D@std@@@std@@QBEPAV?$basic_ostream at DU?$char_traits at D@std@@@2 at XZ 10008048     msvcprt:MSVCP80.dll
+ 0002:0000004c       __imp_?good at ios_base@std@@QBE_NXZ 1000804c     msvcprt:MSVCP80.dll
+ 0002:00000050       __imp_?flags at ios_base@std@@QBEHXZ 10008050     msvcprt:MSVCP80.dll
+ 0002:00000054       __imp_?uncaught_exception at std@@YA_NXZ 10008054     msvcprt:MSVCP80.dll
+ 0002:00000058       __imp_?_Lock@?$basic_streambuf at DU?$char_traits at D@std@@@std@@QAEXXZ 10008058     msvcprt:MSVCP80.dll
+ 0002:0000005c       __imp_?_Unlock@?$basic_streambuf at DU?$char_traits at D@std@@@std@@QAEXXZ 1000805c     msvcprt:MSVCP80.dll
+ 0002:00000060       __imp_?fill@?$basic_ios at DU?$char_traits at D@std@@@std@@QBEDXZ 10008060     msvcprt:MSVCP80.dll
+ 0002:00000064       __imp_?rdbuf@?$basic_ios at DU?$char_traits at D@std@@@std@@QBEPAV?$basic_streambuf at DU?$char_traits at D@std@@@2 at XZ 10008064     msvcprt:MSVCP80.dll
+ 0002:00000068       __imp_?sputc@?$basic_streambuf at DU?$char_traits at D@std@@@std@@QAEHD at Z 10008068     msvcprt:MSVCP80.dll
+ 0002:0000006c       __imp_?eof@?$char_traits at D@std@@SAHXZ 1000806c     msvcprt:MSVCP80.dll
+ 0002:00000070       __imp_?eq_int_type@?$char_traits at D@std@@SA_NABH0 at Z 10008070     msvcprt:MSVCP80.dll
+ 0002:00000074       __imp_?sputn@?$basic_streambuf at DU?$char_traits at D@std@@@std@@QAEHPBDH at Z 10008074     msvcprt:MSVCP80.dll
+ 0002:00000078       __imp_?width at ios_base@std@@QAEHH at Z 10008078     msvcprt:MSVCP80.dll
+ 0002:0000007c       __imp_?setstate@?$basic_ios at DU?$char_traits at D@std@@@std@@QAEXH_N at Z 1000807c     msvcprt:MSVCP80.dll
+ 0002:00000080       __imp_??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at G@Z 10008080     msvcprt:MSVCP80.dll
+ 0002:00000084       __imp_??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at I@Z 10008084     msvcprt:MSVCP80.dll
+ 0002:00000088       __imp_??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAV01@AAV01@@Z at Z 10008088     msvcprt:MSVCP80.dll
+ 0002:0000008c       __imp_?endl at std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@1 at AAV21@@Z 1000808c     msvcprt:MSVCP80.dll
+ 0002:00000090       __imp_?cout at std@@3V?$basic_ostream at DU?$char_traits at D@std@@@1 at A 10008090     msvcprt:MSVCP80.dll
+ 0002:00000094       __imp_??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at H@Z 10008094     msvcprt:MSVCP80.dll
+ 0002:00000098       __imp_?_Osfx@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEXXZ 10008098     msvcprt:MSVCP80.dll
+ 0002:0000009c       \177MSVCP80_NULL_THUNK_DATA 1000809c     msvcprt:MSVCP80.dll
+ 0002:000000a0       __imp__free                100080a0     MSVCRT:MSVCR80.dll
+ 0002:000000a4       __imp___encoded_null       100080a4     MSVCRT:MSVCR80.dll
+ 0002:000000a8       __imp___decode_pointer     100080a8     MSVCRT:MSVCR80.dll
+ 0002:000000ac       __imp___initterm           100080ac     MSVCRT:MSVCR80.dll
+ 0002:000000b0       __imp___initterm_e         100080b0     MSVCRT:MSVCR80.dll
+ 0002:000000b4       __imp___amsg_exit          100080b4     MSVCRT:MSVCR80.dll
+ 0002:000000b8       __imp___adjust_fdiv        100080b8     MSVCRT:MSVCR80.dll
+ 0002:000000bc       __imp____CppXcptFilter     100080bc     MSVCRT:MSVCR80.dll
+ 0002:000000c0       __imp___crt_debugger_hook  100080c0     MSVCRT:MSVCR80.dll
+ 0002:000000c4       __imp____clean_type_info_names_internal 100080c4     MSVCRT:MSVCR80.dll
+ 0002:000000c8       __imp___unlock             100080c8     MSVCRT:MSVCR80.dll
+ 0002:000000cc       __imp____dllonexit         100080cc     MSVCRT:MSVCR80.dll
+ 0002:000000d0       __imp___lock               100080d0     MSVCRT:MSVCR80.dll
+ 0002:000000d4       __imp___onexit             100080d4     MSVCRT:MSVCR80.dll
+ 0002:000000d8       __imp___except_handler4_common 100080d8     MSVCRT:MSVCR80.dll
+ 0002:000000dc       __imp___malloc_crt         100080dc     MSVCRT:MSVCR80.dll
+ 0002:000000e0       __imp___encode_pointer     100080e0     MSVCRT:MSVCR80.dll
+ 0002:000000e4       __imp_??2 at YAPAXI@Z         100080e4     MSVCRT:MSVCR80.dll
+ 0002:000000e8       __imp____CxxFrameHandler3  100080e8     MSVCRT:MSVCR80.dll
+ 0002:000000ec       __imp__sprintf             100080ec     MSVCRT:MSVCR80.dll
+ 0002:000000f0       __imp__floor               100080f0     MSVCRT:MSVCR80.dll
+ 0002:000000f4       __imp__memcpy              100080f4     MSVCRT:MSVCR80.dll
+ 0002:000000f8       __imp__feof                100080f8     MSVCRT:MSVCR80.dll
+ 0002:000000fc       __imp__fread               100080fc     MSVCRT:MSVCR80.dll
+ 0002:00000100       __imp__fopen               10008100     MSVCRT:MSVCR80.dll
+ 0002:00000104       __imp__fclose              10008104     MSVCRT:MSVCR80.dll
+ 0002:00000108       __imp__ceil                10008108     MSVCRT:MSVCR80.dll
+ 0002:0000010c       __imp__fwrite              1000810c     MSVCRT:MSVCR80.dll
+ 0002:00000110       __imp_??_V at YAXPAX@Z        10008110     MSVCRT:MSVCR80.dll
+ 0002:00000114       __imp__toupper             10008114     MSVCRT:MSVCR80.dll
+ 0002:00000118       \177MSVCR80_NULL_THUNK_DATA 10008118     MSVCRT:MSVCR80.dll
+ 0002:0000011c       ___xc_a                    1000811c     MSVCRT:cinitexe.obj
+ 0002:00000120       ___xc_z                    10008120     MSVCRT:cinitexe.obj
+ 0002:00000124       ___xi_a                    10008124     MSVCRT:cinitexe.obj
+ 0002:00000130       ___xi_z                    10008130     MSVCRT:cinitexe.obj
+ 0002:00001318       __real at 404b000000000000    10009318     EasyBMP.obj
+ 0002:00001320       __real at 4028000000000000    10009320     EasyBMP.obj
+ 0002:00001328       __real at 4010000000000000    10009328     EasyBMP.obj
+ 0002:00001330       __real at 0000000000000000    10009330     EasyBMP.obj
+ 0002:00001338       __real at 4020000000000000    10009338     EasyBMP.obj
+ 0002:00001340       __real at 4043af5ebd7af5ec    10009340     EasyBMP.obj
+ 0002:00001348       __real at 3ff0000000000000    10009348     EasyBMP.obj
+ 0002:00001350       __real at 4059000000000000    10009350     EasyBMP.obj
+ 0002:00001358       ??_C at _0P@GHFPNOJB at bad?5allocation?$AA@ 10009358     msvcprt:newaop_s.obj
+ 0002:00001368       __pRawDllMain              10009368     MSVCRT:crtdll.obj
+ 0002:00001368       __pDefaultRawDllMain       10009368     MSVCRT:crtdll.obj
+ 0002:00001378       __load_config_used         10009378     MSVCRT:loadcfg.obj
+ 0002:000013c0       ___safe_se_handler_table   100093c0     <linker-defined>
+ 0002:000013d4       ___rtc_iaa                 100093d4     MSVCRT:initsect.obj
+ 0002:000013d8       ___rtc_izz                 100093d8     MSVCRT:initsect.obj
+ 0002:000013dc       ___rtc_taa                 100093dc     MSVCRT:initsect.obj
+ 0002:000013e0       ___rtc_tzz                 100093e0     MSVCRT:initsect.obj
+ 0002:00001554       __IMPORT_DESCRIPTOR_MSVCP80 10009554     msvcprt:MSVCP80.dll
+ 0002:00001568       __IMPORT_DESCRIPTOR_MSVCR80 10009568     MSVCRT:MSVCR80.dll
+ 0002:0000157c       __IMPORT_DESCRIPTOR_KERNEL32 1000957c     kernel32:KERNEL32.dll
+ 0002:00001590       __NULL_IMPORT_DESCRIPTOR   10009590     msvcprt:MSVCP80.dll
+ 0003:00000004       ?EasyBMPwarnings@@3_NA     1000b004     EasyBMP.obj
+ 0003:00000010       ___security_cookie         1000b010     MSVCRT:gs_cookie.obj
+ 0003:00000014       ___security_cookie_complement 1000b014     MSVCRT:gs_cookie.obj
+ 0003:00000018       ___native_dllmain_reason   1000b018     MSVCRT:natstart.obj
+ 0003:0000001c       ___native_vcclrit_reason   1000b01c     MSVCRT:natstart.obj
+ 0003:0000034c       __forceCRTManifest         1000b34c     MSVCRT:crtmanifest.obj
+ 0003:00000350       ?__type_info_root_node@@3U__type_info_node@@A 1000b350     MSVCRT:tncleanup.obj
+ 0003:00000358       __adjust_fdiv              1000b358     <common>
+ 0003:0000035c       ___native_startup_state    1000b35c     <common>
+ 0003:00000360       ___native_startup_lock     1000b360     <common>
+ 0003:00000364       ___onexitend               1000b364     <common>
+ 0003:00000368       ___onexitbegin             1000b368     <common>
+ 0003:0000036c       ___sse2_available          1000b36c     <common>
+ 0003:00000370       ___dyn_tls_init_callback   1000b370     <common>
+
+ entry point at        0001:000062dd
+
+ Static symbols
+
+ 0001:00005c83       __catch$??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@PBD at Z$0 10006c83 f i EasyBMP.obj
+ 0001:00005fb7       _pre_c_init                10006fb7 f   MSVCRT:crtdll.obj
+ 0001:000061c7       ___DllMainCRTStartup       100071c7 f   MSVCRT:crtdll.obj
+ 0001:00006304       _has_osfxsr_set            10007304 f   MSVCRT:cpu_disp.obj
+ 0001:00006880       __unwindfunclet$?Rescale@@YA_NAAVBMP@@DH at Z$0 10007880 f   EasyBMP.obj
+ 0001:00006888       __ehhandler$?Rescale@@YA_NAAVBMP@@DH at Z 10007888 f   EasyBMP.obj
+ 0001:000068b0       __unwindfunclet$??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@PBD at Z$2 100078b0 f   EasyBMP.obj
+ 0001:000068b8       __ehhandler$??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@PBD at Z 100078b8 f   EasyBMP.obj
+ 0001:000068e0       __unwindfunclet$??0sentry@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAE at AAV12@@Z$0 100078e0 f   EasyBMP.obj
+ 0001:000068e8       __ehhandler$??0sentry@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAE at AAV12@@Z 100078e8 f   EasyBMP.obj
+ 0001:00006910       __unwindfunclet$??1sentry@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAE at XZ$0 10007910 f   EasyBMP.obj
+ 0001:00006918       __ehhandler$??1sentry@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAE at XZ 10007918 f   EasyBMP.obj
+
+ Exports
+
+  ordinal    name
+
+        1    ??0BMFH@@QAE at XZ (public: __thiscall BMFH::BMFH(void))
+        2    ??0BMIH@@QAE at XZ (public: __thiscall BMIH::BMIH(void))
+        3    ??0BMP@@QAE at AAV0@@Z (public: __thiscall BMP::BMP(class BMP &))
+        4    ??0BMP@@QAE at XZ (public: __thiscall BMP::BMP(void))
+        5    ??1BMP@@QAE at XZ (public: __thiscall BMP::~BMP(void))
+        6    ??4BMFH@@QAEAAV0 at ABV0@@Z (public: class BMFH & __thiscall BMFH::operator=(class BMFH const &))
+        7    ??4BMIH@@QAEAAV0 at ABV0@@Z (public: class BMIH & __thiscall BMIH::operator=(class BMIH const &))
+        8    ??4BMP@@QAEAAV0 at ABV0@@Z (public: class BMP & __thiscall BMP::operator=(class BMP const &))
+        9    ??4RGBApixel@@QAEAAU0 at ABU0@@Z (public: struct RGBApixel & __thiscall RGBApixel::operator=(struct RGBApixel const &))
+       10    ??RBMP@@QAEPAURGBApixel@@HH at Z (public: struct RGBApixel * __thiscall BMP::operator()(int,int))
+       11    ?CreateStandardColorTable at BMP@@QAE_NXZ (public: bool __thiscall BMP::CreateStandardColorTable(void))
+       12    ?FindClosestColor at BMP@@AAEEAAURGBApixel@@@Z (private: unsigned char __thiscall BMP::FindClosestColor(struct RGBApixel &))
+       13    ?FlipDWORD@@YAII at Z (unsigned int __cdecl FlipDWORD(unsigned int))
+       14    ?FlipWORD@@YAGG at Z (unsigned short __cdecl FlipWORD(unsigned short))
+       15    ?GetColor at BMP@@QAE?AURGBApixel@@H at Z (public: struct RGBApixel __thiscall BMP::GetColor(int))
+       16    ?GetPixel at BMP@@QBE?AURGBApixel@@HH at Z (public: struct RGBApixel __thiscall BMP::GetPixel(int,int)const )
+       17    ?IntSquare@@YAHH at Z (int __cdecl IntSquare(int))
+       18    ?IsBigEndian@@YA_NXZ (bool __cdecl IsBigEndian(void))
+       19    ?Read1bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Read1bitRow(unsigned char *,int,int))
+       20    ?Read24bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Read24bitRow(unsigned char *,int,int))
+       21    ?Read32bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Read32bitRow(unsigned char *,int,int))
+       22    ?Read4bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Read4bitRow(unsigned char *,int,int))
+       23    ?Read8bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Read8bitRow(unsigned char *,int,int))
+       24    ?ReadFromFile at BMP@@QAE_NPBD at Z (public: bool __thiscall BMP::ReadFromFile(char const *))
+       25    ?SetBitDepth at BMP@@QAE_NH at Z (public: bool __thiscall BMP::SetBitDepth(int))
+       26    ?SetColor at BMP@@QAE_NHURGBApixel@@@Z (public: bool __thiscall BMP::SetColor(int,struct RGBApixel))
+       27    ?SetDPI at BMP@@QAEXHH at Z (public: void __thiscall BMP::SetDPI(int,int))
+       28    ?SetPixel at BMP@@QAE_NHHURGBApixel@@@Z (public: bool __thiscall BMP::SetPixel(int,int,struct RGBApixel))
+       29    ?SetSize at BMP@@QAE_NHH at Z (public: bool __thiscall BMP::SetSize(int,int))
+       30    ?Square@@YANN at Z (double __cdecl Square(double))
+       31    ?SwitchEndianess at BMFH@@QAEXXZ (public: void __thiscall BMFH::SwitchEndianess(void))
+       32    ?SwitchEndianess at BMIH@@QAEXXZ (public: void __thiscall BMIH::SwitchEndianess(void))
+       33    ?TellBitDepth at BMP@@QAEHXZ (public: int __thiscall BMP::TellBitDepth(void))
+       34    ?TellHeight at BMP@@QAEHXZ (public: int __thiscall BMP::TellHeight(void))
+       35    ?TellHorizontalDPI at BMP@@QAEHXZ (public: int __thiscall BMP::TellHorizontalDPI(void))
+       36    ?TellNumberOfColors at BMP@@QAEHXZ (public: int __thiscall BMP::TellNumberOfColors(void))
+       37    ?TellVerticalDPI at BMP@@QAEHXZ (public: int __thiscall BMP::TellVerticalDPI(void))
+       38    ?TellWidth at BMP@@QAEHXZ (public: int __thiscall BMP::TellWidth(void))
+       39    ?Write1bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Write1bitRow(unsigned char *,int,int))
+       40    ?Write24bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Write24bitRow(unsigned char *,int,int))
+       41    ?Write32bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Write32bitRow(unsigned char *,int,int))
+       42    ?Write4bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Write4bitRow(unsigned char *,int,int))
+       43    ?Write8bitRow at BMP@@AAE_NPAEHH at Z (private: bool __thiscall BMP::Write8bitRow(unsigned char *,int,int))
+       44    ?WriteToFile at BMP@@QAE_NPBD at Z (public: bool __thiscall BMP::WriteToFile(char const *))
+       45    ?display at BMFH@@QAEXXZ (public: void __thiscall BMFH::display(void))
+       46    ?display at BMIH@@QAEXXZ (public: void __thiscall BMIH::display(void))
diff --git a/examples/pyeasybmp_dev/easybmp/sample/EasyBMPbackground.bmp b/examples/pyeasybmp_dev/easybmp/sample/EasyBMPbackground.bmp
new file mode 100644
index 0000000..ae1dfa2
Binary files /dev/null and b/examples/pyeasybmp_dev/easybmp/sample/EasyBMPbackground.bmp differ
diff --git a/examples/pyeasybmp_dev/easybmp/sample/EasyBMPsample.cpp b/examples/pyeasybmp_dev/easybmp/sample/EasyBMPsample.cpp
new file mode 100644
index 0000000..2b25ca2
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/sample/EasyBMPsample.cpp
@@ -0,0 +1,82 @@
+/*************************************************
+*                                                *
+*  EasyBMP Cross-Platform Windows Bitmap Library * 
+*                                                *
+*  Author: Paul Macklin                          *
+*   email: macklin01 at users.sourceforge.net       *
+* support: http://easybmp.sourceforge.net        *
+*                                                *
+*          file: EasyBMPsample.cpp               * 
+*    date added: 03-31-2006                      *
+* date modified: 12-01-2006                      *
+*       version: 1.06                            *
+*                                                *
+*   License: BSD (revised/modified)              *
+* Copyright: 2005-6 by the EasyBMP Project       * 
+*                                                *
+* description: Sample application to demonstrate *
+*              some functions and capabilities   *
+*                                                *
+*************************************************/
+
+#include "EasyBMP.h"
+using namespace std;
+
+int main( int argc, char* argv[] )
+{
+ cout << endl
+      << "Using EasyBMP Version " << _EasyBMP_Version_ << endl << endl
+      << "Copyright (c) by the EasyBMP Project 2005-6" << endl
+      << "WWW: http://easybmp.sourceforge.net" << endl << endl;
+	  
+ BMP Text;
+ Text.ReadFromFile("EasyBMPtext.bmp");
+  
+ BMP Background;
+ Background.ReadFromFile("EasyBMPbackground.bmp");
+  
+ BMP Output;
+ Output.SetSize( Background.TellWidth() , Background.TellHeight() );
+ Output.SetBitDepth( 24 );
+ 
+ RangedPixelToPixelCopy( Background, 0, Output.TellWidth()-1,
+                         Output.TellHeight()-1 , 0, 
+                         Output, 0,0 );	
+						 
+ RangedPixelToPixelCopyTransparent( Text, 0, 380, 
+                                    43, 0,
+									Output, 110,5, 
+									*Text(0,0) );
+
+ RangedPixelToPixelCopyTransparent( Text, 0, Text.TellWidth()-1, 
+                                    Text.TellWidth()-1, 50,
+									Output, 100,442, 
+									*Text(0,49) );
+					
+ Output.SetBitDepth( 32 );
+ cout << "writing 32bpp ... " << endl;					
+ Output.WriteToFile( "EasyBMPoutput32bpp.bmp" );
+
+ Output.SetBitDepth( 24 );
+ cout << "writing 24bpp ... " << endl;			
+ Output.WriteToFile( "EasyBMPoutput24bpp.bmp" );
+ 
+ Output.SetBitDepth( 8 );
+ cout << "writing 8bpp ... " << endl;					
+ Output.WriteToFile( "EasyBMPoutput8bpp.bmp" );
+
+ Output.SetBitDepth( 4 );
+ cout << "writing 4bpp ... " << endl;					
+ Output.WriteToFile( "EasyBMPoutput4bpp.bmp" );
+ 
+ Output.SetBitDepth( 1 );
+ cout << "writing 1bpp ... " << endl;					
+ Output.WriteToFile( "EasyBMPoutput1bpp.bmp" );
+ 
+ Output.SetBitDepth( 24 );
+ Rescale( Output, 'p' , 50 );
+ cout << "writing 24bpp scaled image ..." << endl;
+ Output.WriteToFile( "EasyBMPoutput24bpp_rescaled.bmp" );
+
+ return 0;
+}
diff --git a/examples/pyeasybmp_dev/easybmp/sample/EasyBMPtext.bmp b/examples/pyeasybmp_dev/easybmp/sample/EasyBMPtext.bmp
new file mode 100644
index 0000000..6a9e00c
Binary files /dev/null and b/examples/pyeasybmp_dev/easybmp/sample/EasyBMPtext.bmp differ
diff --git a/examples/pyeasybmp_dev/easybmp/sample/makefile b/examples/pyeasybmp_dev/easybmp/sample/makefile
new file mode 100644
index 0000000..8f708f9
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/sample/makefile
@@ -0,0 +1,53 @@
+#
+#  EasyBMP Cross-Platform Windows Bitmap Library  
+#                                                
+#  Author: Paul Macklin                          
+#   email: macklin01 at users.sourceforge.net       
+# support: http://easybmp.sourceforge.net        
+#          file: makefile                
+#    date added: 04-22-2006                      
+# date modified: 12-01-2006                      
+#       version: 1.06                            
+#                                                
+#   License: BSD (revised/modified)              
+# Copyright: 2005-6 by the EasyBMP Project        
+#                                                
+# description: Sample makefile for compiling with
+#              the EasyBMP library. This compiles
+#              the EasyBMPsample.cpp program.
+#
+
+CC = g++
+
+# this line gives compiler optimizations that are geared towards g++ and Pentium4 
+# computers. Comment it out if you don't have a Pentium 4 (or Athlon XP) or up
+
+# CFLAGS = -O3 -Wno-deprecated -mcpu=pentium4 -march=pentium4 \
+# -mfpmath=sse -msse -mmmx -msse2 -pipe -fomit-frame-pointer -s 
+
+# Uncomment these two lines to use with any Pentium with MMX or up.
+
+# CFLAGS = -Wno-deprecated -mcpu=pentium -march=pentium -pipe \
+# -fomit-frame-pointer -mmmx -funroll-all-loops -s
+
+# Uncomment these lines for some "safe" optimization flags
+
+CFLAGS = -O3 -pipe -fomit-frame-pointer -funroll-all-loops -s
+
+EasyBMPTest: EasyBMP.o EasyBMPsample.o
+	g++ $(CFLAGS) EasyBMP.o EasyBMPsample.o -o EasyBMPtest
+
+EasyBMP.o: ../EasyBMP.cpp ../EasyBMP*.h
+	cp ../EasyBMP*.h .
+	cp ../EasyBMP.cpp .
+	g++ $(CFLAGS) -c EasyBMP.cpp
+
+EasyBMPsample.o: EasyBMPsample.cpp
+	g++ -c EasyBMPsample.cpp
+
+clean: 
+	rm EasyBMP*.h
+	rm EasyBMP.cpp
+	rm EasyBMPtest*
+	rm EasyBMPoutput*.bmp
+	rm -f *.o
diff --git a/examples/pyeasybmp_dev/easybmp/sconscript b/examples/pyeasybmp_dev/easybmp/sconscript
new file mode 100644
index 0000000..cc03996
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/sconscript
@@ -0,0 +1,11 @@
+import os
+Import('*')
+
+if os.path.exists( r'E:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib' ):
+    env.Append( LIBPATH=[r'E:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib'] )
+
+t = env.SharedLibrary( target=r'easybmp'
+                       , source=[ r'EasyBMP.cpp' ]
+                       , CCFLAGS=[ r"/MD",r"/EHsc",r"/GR",r"/Zc:wchar_t",r"/Zc:forScope" ]
+                       , LINKFLAGS=[r"/MAP:binaries\easybmp.map", r"/MAPINFO:EXPORTS"]
+                       , SHLIBSUFFIX='.dll' )
diff --git a/examples/pyeasybmp_dev/easybmp/sconstruct b/examples/pyeasybmp_dev/easybmp/sconstruct
new file mode 100644
index 0000000..a49ab86
--- /dev/null
+++ b/examples/pyeasybmp_dev/easybmp/sconstruct
@@ -0,0 +1,2 @@
+env = Environment()
+SConscript('sconscript', variant_dir='binaries', duplicate=0, exports=["env"])
diff --git a/examples/pyeasybmp_dev/environment.py b/examples/pyeasybmp_dev/environment.py
new file mode 100644
index 0000000..08a33f0
--- /dev/null
+++ b/examples/pyeasybmp_dev/environment.py
@@ -0,0 +1,28 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+
+this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) )
+project_root = os.path.abspath( os.path.join( this_module_dir_path, '..','..', '..' ) )
+print project_root
+complete_path = lambda *args: os.path.join( project_root, *args )
+
+class settings:
+    module_name = 'easybmp'
+    gccxml_path = complete_path( 'gccxml_bin', 'v09', sys.platform, 'bin' )
+    pygccxml_path = complete_path( 'pygccxml_dev' )
+    pyplusplus_path = complete_path( 'pyplusplus_dev' )
+    easybmp_path = complete_path( 'pyplusplus_dev', 'examples', 'pyeasybmp_dev', 'easybmp' )
+    working_dir = easybmp_path
+
+    @staticmethod
+    def setup_environment():
+        sys.path.append( settings.pygccxml_path )
+        sys.path.append( settings.pyplusplus_path )
+
+settings.setup_environment()
diff --git a/gccxml.cfg b/gccxml.cfg
new file mode 100644
index 0000000..1a4a76c
--- /dev/null
+++ b/gccxml.cfg
@@ -0,0 +1,10 @@
+[gccxml]
+include_paths=/opt/local/include
+
+xml_generator=castxml
+xml_generator_path=/opt/local/bin/castxml
+#compiler=clang++
+#compiler_path=/usr/bin/clang++
+
+# xml_generator=gccxml
+# xml_generator_path=/opt/local/bin/gccxml
diff --git a/indexing_suite_v2/docs/indexing_suite_v2.html b/indexing_suite_v2/docs/indexing_suite_v2.html
new file mode 100644
index 0000000..14f3459
--- /dev/null
+++ b/indexing_suite_v2/docs/indexing_suite_v2.html
@@ -0,0 +1,2213 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+
+  
+    <meta name="generator" content="A human being">
+    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+    <link rel="stylesheet" type="text/css" href="indexing_suite_v2_files/boost.css"><title>Boost.Python - C++ Container Support</title></head><body>
+    <table summary="header" border="0" cellpadding="7" cellspacing="0" width="100%">
+      <tbody><tr>
+        <td valign="top" width="300">
+          <h3>
+            <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/index.htm"><img alt="C++ Boost" src="indexing_suite_v2_files/cboost.gif" border="0" height="86" width="277"></a>
+          </h3>
+        </td>
+        <td valign="top">
+          <h1 align="center">
+            <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/index.html">Boost.Python</a><br>
+            C++ Container Support
+          </h1>
+        </td>
+      </tr>
+    </tbody></table>
+
+    <hr>
+
+    <h2>
+      Contents
+    </h2>
+
+    <dl class="page-index">
+      <dt>
+        <a href="#introduction">Introduction</a>
+      </dt>
+      <dt>
+        <a href="#design_goals">Design goals</a>
+      </dt>
+      <dt>
+        <a href="#interface">Interface</a>
+      </dt>
+      <dd>
+        <dl class="page-index">
+          <dt>
+            <a href="#container_suite">container_suite.hpp</a>
+          </dt>
+          <dt>
+            <a href="#specific">Container-specific headers</a>
+          </dt>
+          <dt>
+            <a href="#policies">Using policies</a>
+          </dt>
+          <dt>
+            <a href="#visitor_flags">Visitor flag values</a>
+          </dt>
+          <dt>
+            <a href="#extending">Extending and customizing</a>
+          </dt>
+          <dd>
+            <dl class="page-index">
+              <dt>
+                <a href="#ValueTraits">ValueTraits</a>
+              </dt>
+              <dt>
+                <a href="#ContainerTraits">ContainerTraits</a>
+              </dt>
+              <dt>
+                <a href="#Algorithms">Algorithms</a>
+              </dt>
+              <dt>
+                <a href="#SliceHelper">SliceHelper</a>
+              </dt>
+            </dl>
+          </dd>
+          <dt>
+            <a href="#extending">Container adapters</a>
+          </dt>
+          <dd>
+            <dl class="page-index">
+              <dt>
+                <a href="#container_proxy">container_proxy</a>
+              </dt>
+              <dt>
+                <a href="#iterator_range">iterator_range</a>
+              </dt>
+            </dl>
+          </dd>
+          <dt>
+            <a href="#workarounds">Compiler workarounds</a>
+          </dt>
+          <dt>
+            <a href="#limitations">Known limitations</a>
+          </dt>
+        </dl>
+      </dd>
+      <dt>
+        <a href="#references">References</a>
+      </dt>
+      <dt>
+        <a href="#acknoweldegments">Acknowledgements and Copyright</a>
+      </dt>
+    </dl>
+
+    <h2><a name="introduction">Introduction</a></h2>
+
+    The purpose of the container indexing suite is to allow Python
+    code to access C++ containers using regular Python
+    interfaces. Since each C++ container is different, it is
+    non-trivial to decide what Python methods can be emulated, and how
+    to map them to C++ function calls. The indexing suite provides a
+    framework for representing those decisions, as well as bindings
+    for the standard C++ container templates. The indexing headers are
+    in the Boost subdirectory
+    <i>boost/python/suite/indexing</i> and non-template
+    implementations are in
+    <i>libs/python/src/indexing</i>. Various tests, which can also
+    serve as examples are in <i>libs/python/test</i>.
+
+    <h2><a name="design_goals">Design goals</a></h2>
+
+    The primary design goals of the container indexing suite are as
+    follows. The suite should:
+
+    <ul>
+      <li>
+
+        Support instances of all useful standard container templates
+
+      </li>
+      <li>
+
+        Provide as much of the normal Python interface as is
+        reasonable for each container
+
+      </li>
+      <li>
+
+        Be extensible to user-defined container types
+
+      </li>
+      <li>
+
+        Support client-provided <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/CallPolicies.html">CallPolicies</a>
+
+      </li>
+    </ul>
+
+    Secondary design goals are as follows. The library should:
+
+    <ul>
+      <li>
+
+        Provide an emulation of Python reference semantics for
+        <i>values</i> in vector-like containers.
+
+      </li>
+      <li>
+
+        Provide an emulation of container semantics for iterator
+        ranges.
+
+      </li>
+    </ul>
+
+    <h2><a name="interface">Interface</a></h2>
+
+    <p>
+
+      The main iterface to the library is via the templated class
+      <code>container_suite</code>, an object of which adds a number
+      of Python functions to an extension class via a single
+      <code>def</code> call. Support is provided for all of the
+      standard container templates <a href="#Note1">[1]</a> via
+      container-specific header files, as shown in the following
+      example:
+
+    </p>
+
+<pre>#include <boost/python/suite/indexing/container_suite.hpp>
+#include <boost/python/suite/indexing/vector.hpp>
+#include <boost/python/class.hpp>
+#include <boost/python/module.hpp>
+#include <vector>
+
+BOOST_PYTHON_MODULE(example) {
+  class_< std::vector<int> > ("vector_int")
+    .def (indexing::container_suite< std::vector<int> >());
+}
+</pre>
+
+    <p>
+
+      The <code>container_suite</code> object achieves this using the
+      <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/def_visitor.html">def_visitor interface</a>, which
+      provides a hook for the <code>def</code> function to install
+      multiple Python methods in one call. If the container element
+      type (<code>int</code> in the example above) is a user-defined
+      type, you would have to expose this type to Python via a
+      separate <code>class_</code> instance.
+
+    </p>
+    <p>
+
+      <a name="Note1">[1]</a> Automatic operation with the standard
+      containers works properly if your compiler supports partial
+      template specializations. Otherwise, refer to the <a href="#workarounds">compiler workarounds</a> section.
+
+    </p>
+
+    <h2><a name="container_suite">boost/python/suite/indexing/container_suite.hpp</a></h2>
+
+    <p>
+
+      The <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/boost/python/suite/indexing/container_suite.hpp"><code>container_suite.hpp</code></a>
+      header is summarized below:
+
+    </p>
+    <p>
+</p><pre>#include <boost/python/suite/indexing/algo_selector.hpp>
+#include <boost/python/suite/indexing/visitor.hpp>
+
+#include <boost/python/return_by_value.hpp>
+#include <boost/python/return_value_policy.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  typedef return_value_policy<return_by_value> default_container_policies;
+
+  template<class Container,
+           int Flags = 0,
+           class Algorithms = algo_selector<Container> >
+  struct container_suite
+    : public visitor<Algorithms, default_container_policies, Flags>
+  {
+    typedef Algorithms algorithms;
+
+    template<typename Policy>
+    static visitor<Algorithms, Policy, Flags>
+    with_policies (Policy const &policy)
+    {
+      return visitor <Algorithms, Policy> (policy);
+    }
+  };
+} } }
+</pre>
+    <p></p>
+
+    <p>
+
+      Some important points to note about <code>container_suite</code>:
+
+      </p><ol>
+        <li>
+
+          It does not include any of the container-specific headers
+          (like <code>vector.hpp</code> or <code>set.hpp</code>), so
+          these must be included separately to add support each type
+          of container.
+
+        </li>
+        <li>
+
+          It derives from the <code>indexing::visitor</code>
+          template, using a <code>return_by_value</code> return
+          policy. This is a reasonable default, and follows the
+          Boost.Python idiom of passing a default-constructed object
+          to the <code>def</code> function.
+
+        </li>
+        <li>
+
+          The <code>with_policies</code> static function template
+          generates different instances of the
+          <code>indexing::visitor</code> template, with
+          client-provided policies.
+
+        </li>
+        <li>
+
+          The template parameter <code>Flags</code> allows client code
+          to disable unneeded features in order to reduce code
+          size. Details are provided <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/visitor_flags">below</a>.
+
+        </li>
+      </ol>
+
+    <p></p>
+
+    <h2><a name="specific">Container-specific headers</a></h2>
+
+    <p>
+
+      The container indexing suite includes support for many of the
+      standard C++ container templates, but note that the support code
+      for each is in a separate header file. These header files (in
+      the <i>boost/python/suite/indexing</i> subdirectory) are:
+      <code>vector.hpp</code>, <code>deque.hpp</code>,
+      <code>list.hpp</code>, <code>set.hpp</code> and
+      <code>map.hpp</code>. These correspond in the obvious way to the
+      standard headers <code>vector</code>, <code>deque</code>,
+      etc. The header files for the <a href="#container_proxy"><code>container_proxy</code></a> and <a href="#iterator_range"><code>iterator_range</code></a> templates
+      provide their own support implicitly.
+
+    </p>
+
+    <h2><a name="policies">Using policies</a></h2>
+
+    You can select call policies using the
+    <code>container_suite</code> static member function
+    <code>with_policies</code> as in the following example:
+
+<pre>  class_< std::list<heavy_class> > ("list_heavy_class")
+    .def (indexing::container_suite< std::list<heavy_class> >
+          ::with_policies (my_policies));
+</pre>
+
+    <h3>Caution with policies</h3>
+
+    <p>
+
+      It can be tempting to use <code>return_internal_reference</code>
+      if the container elements are expensive to copy. However, this
+      can be quite dangerous, since references to the elements can
+      easily become invalid (e.g. if the element is deleted or
+      moved). The Boost.Python code for
+      <code>return_internal_reference</code> can only manage the
+      lifetime of the entire container object, and not those of the
+      elements actually being referenced. Various alternatives exist,
+      the best of which is to store the container elements indirectly,
+      using <code>boost::shared_ptr</code> or an equivalent. If this
+      is not possible,
+      <code><a href="#container_proxy">container_proxy</a></code>
+      may provide a
+      solution, at least for vector-like containers.
+
+    </p>
+
+    <h3>Internal policies detail</h3>
+
+    <p>
+
+      The <code>container_suite</code> object typically adds more than
+      one function to the Python class, and not all of those functions
+      can, or should, use exactly the same policies. For instance, the
+      Python <code>len</code> method, if provided, should always
+      return its result by value. The library actually uses up to
+      three different sets of policies derived from the one provided
+      to the <code>with_policies</code> function. These are:
+
+      </p><ol>
+        <li>
+
+          The supplied policies, unchanged
+
+        </li>
+        <li>
+
+          The supplied precall policy only, using <code>default_call_policies</code> for result conversion.
+
+        </li>
+        <li>
+
+          The supplied precall policies, and the supplied result
+          conversion policies applied to <i>each element</i> of a
+          returned list.
+
+        </li>
+      </ol>
+
+      Roughly speaking, methods returning a single container element
+      use the first option, while methods returning an integer value
+      (or <code>void</code>) use the second option. The third option
+      applies only to the slice version of <code>__getitem__</code>,
+      which generates a Python list by applying the return conversion
+      policies to each element in the list.
+
+    <p></p>
+
+    <h2><a name="visitor_flags">Visitor Flag values</a></h2>
+
+    <p>
+
+      The <code>container_suite</code> template has an optional
+      <code>Flags</code> parameter that allows client code to disable
+      various optional features of the suite. This can lead to
+      significant savings in the size of object files and executables
+      if features such as sorting or Python slice support are not
+      needed. The <code>Flags</code> parameter (an integer) can be any
+      bitwise combination of the following values (defined in the
+      <code>boost::python::indexing</code> namespace by <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/boost/python/suite/indexing/visitor.hpp"><code>visitor.hpp</code></a>):
+
+    </p>
+
+    <p>
+
+      <table border="1">
+        <tbody><tr>
+          <th>Flag</th>
+          <th>Effect</th>
+        </tr>
+        <tr>
+
+          <td><code>disable_len</code></td>
+
+          <td>omits the Python <code>__len__</code> method</td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_slices</code></td>
+
+          <td>omits slice support code from <code>__getitem__</code>,
+          <code>__setitem__</code> and <code>__delitem__</code>.</td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_search</code></td>
+
+          <td>omits the container search methods <code>count<code>,
+          </code>index</code> and <code>__contains__</code></td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_reorder</code></td>
+
+          <td>omits the container reordering operations
+          <code>sort</code> and <code>reverse</code></td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_extend</code></td>
+
+          <td>omits the <code>extend</code> method</td>
+
+        </tr>
+        <tr>
+
+          <td><code>disable_insert</code></td>
+
+          <td>omits the <code>insert</code> method</td>
+
+        </tr>
+      </tbody></table>
+
+    </p>
+
+    <p>
+
+      Note that some containers don't support some of the optional
+      features at all, in which case the relevant flags are
+      ignored. The value <code>minimum_support</code> may be passed as
+      a flag value to disable all optional features. A simple example
+      is provided in <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/test/test_vector_disable.cpp"><code>test_vector_disable.cpp</code></a>
+
+    </p>
+
+    <h2><a name="extending">Extending and customizing</a></h2>
+
+    <p>
+
+      The <code>container_suite</code> template relies on seven main
+      support templates, five of which are suitable for specialization
+      or replacement by client code. The following diagram shows the
+      templates <a href="#Note2">[2]</a> and their dependencies, with
+      the replaceable ones highlighted in grey.  For full details,
+      refer to the specific section on each component – what
+      follows here is an overview.
+
+    </p>
+
+    <table align="right">
+      <tbody><tr>
+        <td>
+
+          <img src="indexing_suite_v2_files/overview.png" alt="Dependencies between main templates" height="261" width="486">
+
+        </td>
+      </tr>
+      <tr>
+        <td><font size="-1">
+
+          Diagram 1. Overview of class dependencies
+
+        </font></td>
+      </tr>
+    </tbody></table>
+
+    <p>
+
+      The <code>visitor</code> template, which implements the <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/def_visitor.html">def_visitor interface</a>, decides what
+      Python methods to provide for a container. It takes two template
+      parameters, <code>Algorithms</code> and <code>Policy</code> (the
+      <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/CallPolicies.html">CallPolicies</a> for the Python
+      methods on the container). The <code>Algorithms</code> argument
+      must provide implementations for the Python methods that the
+      container supports, as well as a matching
+      <code>ContainerTraits</code> type. This type provides various
+      compile-time constants that <code>visitor</code> uses to decide
+      what Python features the container provides. It also provides a
+      <code>value_traits</code> typedef, which has similar
+      compile-time constants related to the values stored in the
+      container.  If the <code>visitor</code> instance decides to
+      provide Python slice support for the container, it instantiates
+      the <code>slice_handler</code> template, which also takes
+      <code>Algorithms</code> and <code>Policy</code> parameters. In
+      such cases, the <code>Algorithms</code> argument must supply a
+      <code>SliceHelper</code> type and factory function.
+
+    </p>
+    <p>
+
+      The high-level <code>container_suite</code> template uses the
+      <code>algo_selector</code> template to determine what types to
+      use in the instantiation of <code>visitor</code>. The
+      <code>algo_selector</code> template has partial specializations
+      for all of the STL container templates.
+
+    </p>
+
+    <p>
+
+      <a name="Note2">[2]</a> Note that <code>Algorithms</code> and
+      <code>ContainerTraits</code> don't represent individual
+      templates in the diagram, but <i>groups</i> of related
+      templates. For instance, there are actually templates called
+      <code>list_algorithms</code> and <code>assoc_algorithms</code>,
+      among others.
+
+    </p>
+
+
+    <h2><a name="ValueTraits">ValueTraits</a></h2>
+
+    <p>
+
+      A <code>ValueTraits</code> class provides simple information
+      about the type of value stored within a container that will be
+      exposed to Python via the <code>container_suite</code>
+      interface. It controls the provision of some operations that are
+      dependant on the operations supported by container elements (for
+      instance, <code>find</code> requires a comparison operator for
+      the elements).  A <code>ValueTraits</code> class also provides a
+      hook called during initialization of the Python class, which can
+      be used for custom processing at this point.
+
+    </p>
+    <p>
+
+      The following table lists the static constants required in a
+      <code>ValueTraits</code> class:
+
+    </p>
+
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th align="left">
+            Static constant
+          </th>
+          <th align="center">
+            Type
+          </th>
+          <th align="left">
+            Meaning
+          </th>
+        </tr>
+
+        <tr>
+          <td>
+            <code>equality_comparable</code>
+          </td>
+          <td>
+            bool
+          </td>
+          <td>
+
+            Whether the value supports comparison via
+            <code>operator==</code>.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>lessthan_comparable</code>
+          </td>
+          <td>
+            bool
+          </td>
+          <td>
+
+            Whether the value supports comparison via
+            <code>operator<</code>.
+
+          </td>
+        </tr>
+
+      </tbody></table>
+    </p>
+
+    <p>
+
+      A <code>ValueTraits</code> class should provide the following
+      member function template, which will be called during execution
+      of the <code>def</code> call for the container suite:
+
+    </p>
+
+    <p>
+
+</p><pre>template <typename PythonClass, typename Policy>
+static void visitor_helper (PythonClass &, Policy const &);
+</pre>
+
+    <p></p>
+
+    <h3>Usage notes for ValueTraits</h3>
+
+    <p>
+
+      In order to include a custom <code>ValueTraits</code> class into
+      the container suite, it is easiest to supply it as a
+      specialization of the template
+      <code>indexing::value_traits</code> for the container's element
+      type.  The existing <code>ContainerTraits</code> classes all
+      make use of
+      <code>value_traits<container::value_type></code>, and so
+      will use a specialization for the value type if available. The
+      default, unspecialized, version of <code>value_traits</code>
+      sets both of the static constants to <code>true</code> and has
+      an empty implementation of <code>visitor_helper</code>.
+
+    </p>
+    <p>
+
+      As an example, if a user defined type does not have any
+      comparison operations, then there will probably be compile-time
+      errors caused by an attempt to provide the Python
+      <code>find</code> or <code>sort</code> methods. The solution is
+      to write a specialized version of
+      <code>indexing::value_traits</code> that disables the
+      appropriate features. For example:
+
+    </p>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<>
+  struct value_traits<my_type> : public value_traits<int>
+  {
+    static bool const equality_comparable = false;
+    static bool const lessthan_comparable = false;
+  };
+} } }
+</pre>
+    <p></p>
+
+    <p>
+
+      In this example, there is no need to perform any processing in
+      the <code>visitor_helper</code> function, and deriving from an
+      unspecialized version of the template (e.g.
+      <code>value_traits<int></code>) exposes an empty
+      <code>visitor_helper</code>.
+
+    </p>
+
+    <h3>Synopsis: boost/python/suite/indexing/value_traits.hpp</h3>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename T>
+  struct value_traits {
+    static bool const equality_comparable = true;
+    static bool const lessthan_comparable = true;
+
+    template<typename PythonClass, typename Policy>
+    static void visitor_helper (PythonClass &, Policy const &)
+    { }
+  };
+} } }
+</pre>
+    <p></p>
+
+    <h2><a name="ContainerTraits">ContainerTraits</a></h2>
+
+    <p>
+
+      A <code>ContainerTraits</code> class serves three
+      purposes. Firstly, it identifies what facilities the container
+      supports in principle (i.e. either directly or via some support
+      code). Secondly, it identifies the types used to pass values
+      into and out of the supported operations. Thirdly, it provides a
+      hook for additional code to run during initialization of the
+      Python class (i.e. during the <code>def</code> call for the
+      suite).
+
+    </p>
+    <p>
+
+      Note that a <code>ContainerTraits</code> class can be any class,
+      derived from the existing implementations or not, as long as it
+      meets the requirements listed in the following sections.
+
+    </p>
+
+    <h3>Static constants for ContainerTraits</h3>
+
+    The following table lists the static constants that a
+    <code>ContainerTraits</code> class should define. Note that these
+    must be <i>compile-time constants</i>, since parts of the library
+    use these constants to select between template specializations.
+    The constants must at least be convertible to the type shown in
+    the second column.
+
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th align="left">
+            Static constant
+          </th>
+          <th align="center">
+            Type
+          </th>
+          <th align="left">
+            Meaning
+          </th>
+          <th align="left">
+            Influence
+          </th>
+        </tr>
+        <tr>
+          <td>
+            <code>has_copyable_iter</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether copies of an iterator are independant <a href="#Note3">[3]</a>
+
+          </td>
+          <td>
+
+            Required for <code>len</code> and <code>__iter__</code>
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>is_reorderable</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether it is possible to re-order the contents of the
+            container.
+
+          </td>
+          <td>
+
+            Required for <code>reverse</code> and <code>sort</code>
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_mutable_ref</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+            Whether container elements can be altered via a reference
+          </td>
+          <td>
+            Determines <code>is_reorderable</code> for most containers.
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_find</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether find is possible in principle (via member function
+            or otherwise)
+
+          </td>
+          <td>
+            <code>__contains__</code>,
+            <code>index</code>,
+            <code>count</code>,
+            <code>has_key</code>
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_insert</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether it is possible to insert new elements into the container.
+
+          </td>
+          <td>
+            <code>insert</code>,
+            <code>extend</code>,
+            slice version of <code>__setitem__</code>
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_erase</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether it is possible to erase elements from the container.
+
+          </td>
+          <td>
+            <code>__delitem__</code>,
+            slice version of <code>__setitem__</code>
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_push_back</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether container supports insertion at the end.
+
+          </td>
+          <td>
+            <code>append</code>
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>has_pop_back</code>
+          </td>
+          <td align="center">
+            <code>bool</code>
+          </td>
+          <td>
+
+            Whether container supports element deletion at the end.
+
+          </td>
+          <td>
+            Currently unused
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>index_style</code>
+          </td>
+          <td align="center">
+            <code>index_style_t</code>
+          </td>
+          <td>
+
+            Type of indexing the container supports <a href="#Note4">[4]</a>
+
+          </td>
+          <td>
+            <code>__getitem__</code>,
+            <code>__setitem__</code>,
+            <code>__delitem__</code>,
+            <code>__iter__</code>,
+            <code>extend</code>,
+            <code>index</code>,
+            <code>count</code>,
+            <code>has_key</code>
+          </td>
+        </tr>
+      </tbody></table>
+    </p>
+
+    <p>
+      </p><h3>Notes</h3>
+
+      <table>
+        <tbody><tr>
+          <td valign="top">
+            <a name="Note3">[3]</a>
+          </td>
+          <td>
+
+            For example, copies of stream iterators are <i>not</i>
+            independant. All iterator copies refer to the same stream,
+            which has only one read and one write position.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td valign="top">
+            <a name="Note4">[4]</a>
+          </td>
+          <td>
+
+            <code>index_style_none</code>, no indexing at all
+            (e.g. <code>list</code>)<br>
+
+            <code>index_style_linear</code>, continuous integer-like
+            index type (e.g. <code>vector</code>)<br>
+
+            <code>index_style_nonlinear</code>, indexing via other
+            types (e.g.  <code>map</code>).
+
+          </td>
+        </tr>
+      </tbody></table>
+
+    <p></p>
+
+    <h3>Member types for ContainerTraits</h3>    
+
+    <p>
+
+      The following table lists the type names that must be defined in
+      a compatible implementation of <code>ContainerTraits</code>.
+      The large number of types is supposed to provide flexibility for
+      containers with differing interfaces. For example,
+      <code>map</code> uses the same type for searching and "indexing"
+      (i.e. <code>find</code> and <code>operator[]</code>) so
+      <code>key_type</code> and <code>index_type</code> would have to
+      be the same. In contrast, searching a <code>vector</code> would
+      typically use a different type to that used for indexing into a
+      vector.
+
+    </p>
+
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th align="left">
+            Type name
+          </th>
+          <th align="left">
+            Meaning
+          </th>
+        </tr>
+
+        <tr>
+          <td>
+            <code>container</code>
+          </td>
+          <td>
+            The type of the C++ container.
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>size_type</code>
+          </td>
+          <td>
+
+            The type used to represent the number of elements in the
+            container.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>iterator</code>
+          </td>
+          <td>
+
+            The container's iterator type. This should be a non-const
+            iterator unless the container itself is const.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>index_type</code>
+          </td>
+          <td>
+
+            The type used to represent indexes extracted from a
+            <code>__getitem__</code> call (and others).  For
+            <code>index_style_linear</code>, this <i>should be a
+            signed type</i>, so that negative indices can be
+            processed.  For <code>index_style_nonlinear</code>, this
+            will most likely be the same type as
+            <code>key_type</code>.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>index_param</code>
+          </td>
+          <td>
+
+            The type to use when passing <code>index_type</code> into
+            a function.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>value_type</code>
+          </td>
+          <td>
+
+            The type to use when copying a value into or out of the
+            container.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>value_param</code>
+          </td>
+          <td>
+
+            The type to use when passing <code>value_type</code> into
+            a function.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>key_type</code>
+          </td>
+          <td>
+
+            The type used for search operations like <code>find</code>
+            and <code>count</code>.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>key_param</code>
+          </td>
+          <td>
+
+            The type to use when passing <code>key_type</code> into a
+            function.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>reference</code>
+          </td>
+          <td>
+
+            The type to use when returning a reference to a container
+            element.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+            <code>value_traits_</code>
+          </td>
+          <td>
+
+            Traits for the container elements. See <a href="#ValueTraits">the ValueTraits section</a> for
+            information about the requirements on this type.
+
+          </td>
+        </tr>
+
+      </tbody></table>
+
+    </p>
+
+    <h3>Member functions for ContainerTraits</h3>
+
+    In order to support additional initialization code to run, a
+    <code>ContainerTraits</code> class should provide a static member
+    function template as follows:
+
+    <p>
+</p><pre>template <typename PythonClass, typename Policy>
+static void visitor_helper (PythonClass &, Policy const &);
+</pre>
+    <p></p>
+
+    <p>
+
+      Typically, the implementation would just forward the call to the
+      equivalent function in the <code>value_traits_</code> class.
+
+    </p>
+
+    <h3>Usage notes for ContainerTraits</h3>
+
+    <p>
+
+      It may be possible to mix your own <code>ContainerTraits</code>
+      class with one of the existing <code>Algorithms</code>
+      implementations, thus saving yourself a fair bit of work.  The
+      easiest way to do this would be to specialize the
+      <code>algo_selector</code> template for your container type,
+      using public deriviation to get the implementation from one of
+      the existing <code>Algorithms</code> templates. For example,
+      assuming that <code>default_algorithms</code> is suitable for
+      your container:
+
+    </p>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<>
+  struct algo_selector<my_container>
+    : public default_algorithms<my_container_traits>
+  {
+  };
+} } }
+</pre>
+    <p></p>
+    <p>
+
+      Alternatively, you could select the algorithms and traits using
+      the <code>visitor</code> template directly, as described in the
+      <a href="#workarounds">compiler workarounds</a> section.
+
+    </p>
+
+    <h3><a name="simple_ctraits">Simplistic ContainerTraits example</a></h3>
+
+    <p>
+
+      The following block of code shows a simplistic implementation of
+      <code>ContainerTraits</code> for the container
+      <code>std::map<std::string, int></code>. The actual
+      implementation used by the suite relies on template
+      metaprogramming techniques, whereas this example is designed to
+      show only the essential elements of a
+      <code>ContainerTraits</code> implementation.
+
+    </p>
+
+    <p>
+</p><pre>#include <map>
+#include <string>
+#include <boost/python/suite/indexing/suite_utils.hpp>
+// Include suite_utils to get index_style_t
+
+struct simple_map_traits {
+  // Traits information for std::map<std::string, int>
+
+  typedef std::map<std::string, int> container;
+  typedef container::size_type       size_type;
+  typedef container::iterator        iterator;
+
+  typedef int                        value_type;
+  typedef int &                      reference;
+  typedef std::string                key_type;
+  typedef std::string                index_type;
+
+  typedef int                        value_param;
+  typedef std::string const &        key_param;
+  typedef std::string const &        index_param;
+
+  static bool const has_copyable_iter = true;
+  static bool const has_mutable_ref   = true;
+  static bool const has_find          = true;
+  static bool const has_insert        = true;
+  static bool const has_erase         = true;
+  static bool const has_pop_back      = false;
+  static bool const has_push_back     = false;
+  static bool const is_reorderable    = false;
+
+  static boost::python::indexing::index_style_t const index_style
+    = boost::python::indexing::index_style_nonlinear;
+
+  struct value_traits_ {
+    // Traits information for our value_type
+    static bool const equality_comparable = true;
+    static bool const lessthan_comparable = true;
+  };
+
+  template<typename PythonClass, typename Policy>
+  static void visitor_helper (PythonClass &, Policy const &)
+  {
+    // Empty
+  }
+};
+</pre>
+    <p></p>
+
+    <p>
+
+      Example usage of the <code>simple_map_traits</code>:
+
+    </p>
+
+    <p>
+</p><pre>#include "simple_map_traits.hpp"
+
+#include <boost/python/suite/indexing/container_suite.hpp>
+
+#include <boost/python/module.hpp>
+#include <boost/python/class.hpp>
+
+BOOST_PYTHON_MODULE(test_simple) {
+  using namespace boost::python;
+
+  typedef std::map<std::string, int> container_t;
+  typedef indexing::map_algorithms<simple_map_traits> algorithms_t;
+
+  class_<container_t> ("map")
+    .def (indexing::container_suite<container_t, algorithms_t>());
+}
+</pre>
+    <p></p>
+
+    <h2><a name="Algorithms">Algorithms</a></h2>
+
+    <p>
+
+      The <code>Algorithms</code> requirements are designed to provide
+      a predictable interface to any container, so that the same
+      <code>visitor</code> code can expose any supported container to
+      Python. An implemention of <code>Algorithms</code> does this by
+      providing functions and typedefs with fixed names. The exact
+      interfaces to the functions can vary to some extent, since the
+      <code>def</code> function calls used internally by the
+      <code>visitor</code> deduce the function type
+      automatically. However, certain points should be confomed to:
+
+      </p><ol>
+        <li>
+
+          The functions should be static, with
+          <code>container &</code> as first parameter.
+
+        </li>
+
+        <li>
+
+          The functions should <i>not</i> be overloaded – this
+          avoids problems with type deduction.
+
+        </li>
+        <li>
+
+          Generally, not all of the possible functions need to be
+          implemented, dependant on the static constants in the
+          <code>ContainerTraits</code>.
+
+        </li>
+      </ol>
+
+    <p></p>
+
+    <p>
+
+      The block of code below shows the definition of the
+      <code>default_algorithms</code> class template, which is the
+      basis for all current implementations of
+      <code>Algorithms</code>. The typedefs that it defines are
+      primarily for convenience within the implementation itself,
+      however <code>container</code>, <code>reference</code> and
+      <code>slice_helper</code> are also required by the
+      <code>slice_handler</code> template, if slices are
+      supported. Note that <code>default_algorithms</code> derives all
+      of the type information from its <code>ContainerTraits</code>
+      template argument, which allows the same implementation to be
+      used for various container types.
+
+    </p>
+
+    <h3>Partial boost/python/suite/indexing/algorithms.hpp</h3>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class default_algorithms
+  {
+    typedef default_algorithms<ContainerTraits, Ovr> self_type;
+
+  public:
+    typedef ContainerTraits container_traits;
+
+    typedef typename ContainerTraits::container   container;
+    typedef typename ContainerTraits::iterator    iterator;
+    typedef typename ContainerTraits::reference   reference;
+    typedef typename ContainerTraits::size_type   size_type;
+    typedef typename ContainerTraits::value_type  value_type;
+    typedef typename ContainerTraits::value_param value_param;
+    typedef typename ContainerTraits::index_param index_param;
+    typedef typename ContainerTraits::key_param   key_param;
+
+    typedef int_slice_helper<self_type, integer_slice> slice_helper;
+
+    static size_type size       (container &);
+    static iterator  find       (container &, key_param);
+    static size_type get_index  (container &, key_param);
+    static size_type count      (container &, key_param);
+    static bool      contains   (container &, key_param);
+    static void      reverse    (container &);
+    static reference get        (container &, index_param);
+    static void      assign     (container &, index_param, value_param);
+    static void      insert     (container &, index_param, value_param);
+    static void      erase_one  (container &, index_param);
+    static void      erase_range(container &, index_param, index_param);
+    static void      push_back  (container &, value_param);
+    static void      sort       (container &);
+
+    static slice_helper make_slice_helper (container &c, slice const &);
+
+    template<typename PythonClass, typename Policy>
+    static void visitor_helper (PythonClass &, Policy const &);
+  };
+} } }
+</pre>
+    <p></p>
+
+    <h3>Slice support</h3>
+    <p>
+
+      For containers that support Python slices, the
+      <code>visitor</code> template will instantiate and use
+      internally the <code>slice_handler</code> template. This
+      template requires a type called <code>slice_helper</code> and a
+      factory function called <code>make_slice_helper</code> from its
+      <code>Algorithms</code> argument. More details are provided in
+      the section <a href="#SliceHelper">SliceHelper</a>.
+
+    </p>
+
+    <h3>Usage notes for Algorithms</h3>
+
+    <p>
+
+      The existing <code>indexing::algo_selector</code> template uses
+      partial specializations and public derivation to select an
+      <code>Algorithms</code> implementation suitable for any of the
+      standard container types. Exactly how it does this should be
+      considered an implementation detail, and uses some tricks to
+      reuse various existing <code>Algorithms</code>
+      implementations. In any case, client code can specialize the
+      <code>algo_selector</code> template for new container types, as
+      long as the specialized instances conform to the requirements
+      for <code>Algorithms</code> as already given.
+
+    </p>
+    <p>
+
+      A new implementation of <code>Algorithms</code> could derive
+      from any one of the existing implementation templates, or be
+      completely independant. The existing implementation templates
+      are listed in the following table. They each take one template
+      parameter, which should be a valid <code>ContainerTraits</code>
+      class, as specified in a <a href="#ContainerTraits">previous
+      section</a>.
+
+    </p>
+
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th>
+            Template name
+          </th>
+          <th>
+            Description
+          </th>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>default_algorithms</code>
+
+          </td>
+          <td>
+
+            Uses standard iterator-based algorithms wherever
+            possible. Assumes that the container provides
+            <code>begin</code> and end <code>end</code> member
+            functions that return iterators, and some or all of
+            <code>size</code>, <code>insert</code>, <code>erase</code>
+            and <code>push_back</code>, depending on what functions get
+            instantiated.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>list_algorithms</code>
+
+          </td>
+          <td>
+
+            Similar to the above (in fact, it derives from
+            <code>default_algorithms</code>) except that it uses
+            container member functions <code>reverse</code> and
+            <code>sort</code> instead of the iterator-based
+            versions. Defined in
+            <code>boost/python/suite/indexing/list.hpp</code>.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>assoc_algorithms</code>
+
+          </td>
+          <td>
+
+            Also derived from <code>default_algorithms</code>, for use
+            with associative containers. Uses the container member
+            function <code>find</code> for indexing, and member
+            function <code>count</code> instead of iterator-based
+            implementations.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>set_algorithms</code>
+
+          </td>
+          <td>
+
+            Derived from <code>assoc_algorithms</code> to handle
+            <code>set</code> insertion operations, which are slightly
+            different to the <code>map</code> versions.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>map_algorithms</code>
+
+          </td>
+          <td>
+
+            Derived from <code>assoc_algorithms</code> to handle
+            <code>map</code> insertion and lookup, which are slightly
+            different to the <code>set</code> versions.
+
+          </td>
+        </tr>
+      </tbody></table>
+
+    </p>
+    <p>
+
+      The <code>default_algorithms</code> template attempts to place
+      as few restrictions as possible on the container type, by using
+      iterators and standard algorithms in most of its functions. It
+      accepts an optional second template parameter, which can be used
+      via the curiously recurring template idiom to replace any of its
+      functions that it relies on internally. For instance, if you've
+      created an iterator-style interface to a container that is not
+      at all STL-like (let's call it <code>weird_container</code>),
+      you might be able to re-use most of
+      <code>default_algorithms</code> by replacing its basic functions
+      like this:
+
+    </p>
+    <p>
+</p><pre>namespace indexing = boost::python::indexing;
+
+struct my_algorithms
+  : public indexing::default_algorithms <
+      weird_container_traits, my_algorithms
+  >
+{
+  size_t size (weird_container const &c) {
+    return ...;
+  }
+
+  my_iterator_t begin (weird_container &c) {
+    return ...;
+  }
+
+  my_iterator_t end (weird_container &c) {
+    return ...;
+  }
+};
+</pre>
+    <p></p>
+
+    <h2><a name="SliceHelper">SliceHelper</a></h2>
+
+    <p>
+
+      Support code for Python slices is split into two portions, the
+      <code>slice_handler</code> template, and a "slice helper" that
+      can easily be replaced by client code via a typedef and factory
+      function in the <code>Algorithms</code> argument supplied to
+      <code>container_suite</code>. The slice helper object takes care
+      of reading and writing elements from a slice in a C++ container,
+      and optionally insertion and deletion. Effectively, the slice
+      helper object maintains a pointer to the current element of the
+      slice within the container, and provides a <code>next</code>
+      function to advance to the next element of the slice. The
+      container suite uses the following interface for slices:
+
+    </p>
+    <p>
+      <table border="1">
+        <tbody><tr>
+          <th>
+
+            Expression
+
+          </th>
+          <th>
+
+            Return type
+
+          </th>
+          <th>
+
+            Notes
+
+          </th>
+        </tr>
+        <tr>
+          <td>
+
+            <code>Algorithms::</code> <code>make_slice_helper</code>
+            <code>(c, s)</code>
+
+          </td>
+          <td>
+
+            <code>Algorithms::</code> <code>slice_helper</code>
+
+          </td>
+          <td>
+
+            <code>c</code> is of type
+            <code>Algorithms::</code> <code>container &</code> and
+            <code>s</code> is of type <code>indexing::</code>
+            <code>slice const &</code>.
+            Returns a newly constructed <code>slice_helper</code>
+            object by value.
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>slice_helper.</code><code>next()</code>
+
+          </td>
+          <td>
+
+            <code>bool</code>
+
+          </td>
+          <td>
+
+            Advances the slice helper's current element pointer to the
+            next element of the slice. Returns true if such an element
+            exists, and false otherwise. The first time this function
+            is called, it should set the current pointer to the first
+            element of the slice (if any).
+
+          </td>
+        </tr>
+
+        <tr>
+          <td>
+
+            <code>slice_helper.</code> <code>current()</code>
+
+          </td>
+          <td>
+
+            <code>Algorithms::</code> <code>reference</code>
+
+          </td>
+          <td>
+
+            Returns a reference to the current element of the
+            slice. This will only be called if the last call to
+            <code>next()</code> returned true.
+
+          </td>
+        </tr>
+        <tr>
+          <td>
+
+            <code>slice_helper.</code><code>write (v)</code>
+
+          </td>
+          <td>
+
+            <code>void</code>
+
+          </td>
+          <td>
+
+            The parameter <code>v</code> is of type
+            <code>Algorthims::value_param</code>.  Advances to the
+            next element of the slice, as defined in
+            <code>next</code>, and writes the given value
+            <code>v</code> at the new location in the container.If the
+            slice is exhausted (i.e. <code>next</code> would return
+            false) then <code>write</code> <i>either</i> inserts the
+            value into the container at the next location (past the
+            end of the slice), <i>or</i> sets a Python exception and
+            throws.
+
+          </td>
+        </tr>
+        <tr>
+          <td>
+
+            <code>slice_helper.</code> <code>erase_remaining()</code>
+
+          </td>
+          <td>
+
+            <code>void</code>
+
+          </td>
+          <td>
+
+            <i>Either</i> erases any remaining elements in the slice
+            not already consumed by calls to <code>next</code> or
+            <code>write</code>,
+            <i>or</i> sets a Python exception and throws.
+
+          </td>
+        </tr>
+      </tbody></table>
+    </p>
+
+    <p>
+
+      The container suite provides a generic implementation of the
+      <code>SliceHelper</code> requirements for containers that have
+      integer-like indexes. It is parameterized with a
+      <code>SliceType</code> parameter that allows the integer index
+      values to come from various different sources, the default being
+      the <code>PySlice_GetIndices</code> function. Refer to the
+      header file <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/boost/python/suite/indexing/int_slice_helper.hpp"><code>int_slice_helper.hpp</code></a>
+      and the references to it in the <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/boost/python/suite/indexing/algorithms.hpp"><code>algorithms.hpp</code></a>
+      header for details.
+
+    </p>
+
+    <h2><a name="container_proxy">container_proxy</a></h2>
+
+    <p>
+
+      The <code>container_proxy</code> template provides an emulation
+      of Python reference semantics for objects held by value in a
+      vector-like container. Of course, this introduces some
+      performance penalties in terms of memory usage and run time, so
+      the primary application of this template is in situations where
+      all of the following apply:
+
+      </p><ol>
+        <li>
+
+          It is not practical to switch to a container of shared
+          pointers
+
+        </li>
+        <li>
+
+          Python code requires reference semantics for the objects
+          within the container
+
+        </li>
+        <li>
+
+          Element insertion, deletion or assignment takes place, so
+          that using <code>return_internal_reference</code> would be
+          dangerous.
+
+        </li>
+      </ol>
+
+    <p></p>
+
+    <p>
+
+
+      The <code>container_proxy</code> template wraps any vector-like
+      container and presents an interface that is similar to that of
+      <code>std::vector</code>, but which returns
+      <code>element_proxy</code> objects instead of plain references
+      to values stored in the wrapped container. During an operation
+      that alters the position of an element within the container
+      (e.g. <code>insert</code>) the <code>container_proxy</code> code
+      updates the relevant proxy objects, so that they still refer to
+      the <i>same</i> elements at their new locations. Any operation
+      that would delete or overwrite a value in the container
+      (e.g. <code>erase</code>) copies the to-be-deleted value into
+      its corresponding proxy object. This means that a proxy's
+      "reference" to an element is robust in the face of changes to
+      the element's position in the container, and even the element's
+      removal.
+
+    </p>
+    <p>
+
+      Ideally, any code that changes the positions of elements within
+      the container would use only the <code>container_proxy</code>
+      interface, to ensure that the proxies are maintained in
+      synchronization. Code that otherwise makes direct modifications
+      to the raw container must notify the
+      <code>container_proxy</code> of the changes, as detailed in the
+      following section.
+
+    </p>
+
+    <h3>container_proxy interface</h3>
+
+    <p>
+
+      The <code>container_proxy</code> template takes three
+      parameters, only the first of which is mandatory:
+
+    </p>
+    <p>
+
+</p><pre>template<class Container
+       , class Holder = identity<Container>
+       , class Generator = vector_generator> class container_proxy;
+</pre>
+
+    <p></p>
+    <p>
+
+      The <code>Container</code> argument is the raw container type
+      that the <code>container_proxy</code> will manage. It must
+      provide random-access indexing.
+
+    </p>
+    <p>
+
+      The <code>Holder</code> argument determines how the
+      <code>container_proxy</code> stores the raw container object.
+      There are currently two types of holder implemented, the default
+      <code>identity</code> template which will store the raw
+      container by value within the <code>container_proxy</code>, and
+      the <code>deref</code> template which stores a (plain) pointer
+      to an external object. It would also be possible, for instance,
+      to create a holder that uses a <code>shared_pointer</code>, or
+      one that stores a pointer but performs deep copies.
+
+    </p>
+    <p>
+
+      The <code>Generator</code> argument determines what container to
+      use for storing the proxy objects. The argument must be a
+      suitable class so that
+      <code>Generator::apply<proxy_t>::type</code> is a typedef
+      for the container to use for storing the proxies. The default is
+      <code>vector_generator</code>, which generates
+      <code>std::vector</code> instances.  The usefulness of allowing
+      other generators can be seen from the example
+
+      <code>container_proxy<std::deque<...> ></code>.
+
+      Insertion at the beginning of this <code>container_proxy</code>
+      requires an insertion at the beginning of the
+      <code>std::deque</code> raw container, which has amortized
+      constant time complexity. However, it also requires an insertion
+      at the beginning of the proxy container, which (using the
+      <code>std::vector</code> provided by
+      <code>vector_generator</code>) has linear time complexity. If
+      this is a significant issue, you can use a custom
+      <code>Generator</code> to match the performance characteristics
+      of the proxy container to those of the raw container.
+
+    </p>
+    <p>
+
+      Examples in <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/test/test_container_proxy.cpp">libs/python/test/test_container_proxy.cpp</a>
+      ...
+
+    </p>
+
+    <h3>Synopsis: boost/python/suite/indexing/container_proxy.hpp</h3>
+
+<pre>namespace boost { namespace python { namespace indexing {
+  template<class Container
+         , class Holder = identity<Container>
+         , class Generator = vector_generator>
+  class container_proxy
+  {
+  public:
+    typedef typename Container::size_type size_type;
+    typedef typename Container::difference_type difference_type;
+    typedef typename Container::value_type raw_value_type;
+
+    typedef typename Holder::held_type held_type;
+
+    typedef <i>implementation defined</i> value_type;
+    typedef <i>implementation defined</i> const_value_type;
+    typedef <i>implementation defined</i> iterator;
+    typedef <i>implementation defined</i> const_iterator;
+
+    typedef value_type        reference;       // Has reference semantics
+    typedef const_value_type  const_reference; // Has reference semantics
+
+    container_proxy ();
+    explicit container_proxy (held_type const &);
+    template<typename Iter> container_proxy (Iter, Iter);
+
+    container_proxy (container_proxy const &);
+    container_proxy &operator= (container_proxy const &);
+    ~container_proxy ();
+
+    Container const &raw_container() const;   // OK to expose const reference
+
+    reference       at (size_type);
+    const_reference at (size_type) const;
+
+    reference       operator[] (size_type);
+    const_reference operator[] (size_type) const;
+
+    size_type size() const;
+    size_type capacity() const;
+    void reserve(size_type);
+
+    iterator begin();
+    iterator end();
+
+    iterator erase (iterator);
+    iterator erase (iterator, iterator);
+    iterator insert (iterator, raw_value_type const &);
+    template<typename Iter> void insert (iterator, Iter, Iter);
+
+    void push_back (raw_value_type const &);
+    value_type pop_back ();
+
+    // These functions are not normally necessary. They notify the
+    // container_proxy of changes to the raw container made by other
+    // code (see documentation for details)
+    void detach_proxy (size_type index);
+    void detach_proxies (size_type from, size_type to);
+    void prepare_erase (size_type from, size_type to);
+    void notify_insertion (size_type from, size_type to);
+  };
+} } }
+</pre>
+
+    <p>
+      The <code>identity</code> template.
+
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename T> struct identity {
+    typedef T held_type;
+
+    static T &       get(T &       obj) { return obj; }
+    static T const & get(T const & obj) { return obj; }
+
+    static T    create ()                     { return T(); }
+    static T    copy   (T const &copy)        { return copy; }
+    static void assign (T &to, T const &from) { to = from; }
+    static void pre_destruction (T &)         { }
+  };
+} } }
+</pre>
+    <p></p>
+
+    <p>
+      The <code>deref</code> template.
+
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename P> struct deref {
+    typedef P held_type;
+
+    typedef typename boost::iterator_value<P>::type     value;
+
+    static value &       get (P &       ptr)  { return *ptr; }
+    static value const & get (P const & ptr)  { return *ptr; }
+
+    static P    create ()                     { return P(); }
+    static P    copy   (P const &copy)        { return copy; }
+    static void assign (P &to, P const &from) { to = from; }
+    static void pre_destruction (P &)         { }
+  };
+} } }
+</pre>
+    <p></p>
+
+    <p>
+      The <code>vector_generator</code> class.
+
+</p><pre>namespace boost { namespace python { namespace indexing {
+  struct vector_generator {
+    template<typename Element> struct apply {
+      typedef std::vector<Element> type;
+    };
+  };
+} } }
+</pre>
+    <p></p>
+
+
+    <h3>container_proxy implementation notes</h3>
+
+    <p>
+
+      An <code>element_proxy</code> refers to an element of the
+      container via two levels of indirection – it holds a
+      pointer to a so-called <code>shared_proxy</code> object, which
+      has a pointer back to the <code>container_proxy</code> object
+      and an element index within the wrapped container. This can be
+      seen in the following diagram, which shows a
+      <code>container_proxy< vector<int> ></code>
+      containing the three elements 111, 222 and 333.
+
+    </p><p>
+
+    <table>
+      <tbody><tr>
+        <td>
+
+          <img src="indexing_suite_v2_files/proxy.png" alt="Interrelations between container_proxy, its container
+          and an element proxy" height="285" width="686">
+
+        </td>
+      </tr>
+      <tr>
+        <td><font size="-1">
+
+          Diagram 2. Example of <code>container_proxy</code> with an
+          element proxy
+
+        </font></td>
+      </tr>
+    </tbody></table>
+
+    </p>
+
+      In the example above, the shown <code>element_proxy</code>
+      object refers (indirectly) to the container element with the
+      value 222. An insertion before this element would increment the
+      index numbers in the <code>shared_proxy</code> objects so that
+      the given <code>element_proxy</code> continues to refer to the
+      same value at its new location.  Similary, a deletion before the
+      element would decrement the affected <code>shared_proxy</code>
+      indexes. If the referenced element itself gets deleted or
+      overwritten, the <code>shared_proxy</code> first takes a
+      <i>copy</i> of the original value, and is then considered to be
+      <i>detached</i> from the <code>container_proxy</code>. This
+      situation is shown below in diagram 3.
+
+    <p></p>
+
+    <table>
+      <tbody><tr>
+        <td>
+
+          <img src="indexing_suite_v2_files/proxy_detached.png" alt="Element proxy when detached from its container" height="105" width="403">
+
+        </td>
+      </tr>
+      <tr>
+        <td><font size="-1">
+
+          Diagram 3. Example of <code>element_proxy</code> with
+          detached <code>shared_proxy</code>
+
+        </font></td>
+      </tr>
+    </tbody></table>
+
+    <h2><a name="iterator_range">iterator_range</a></h2>
+
+    <p>
+
+      The <code>iterator_range</code> template provides a
+      container-like interface to a range defined by two iterators.
+      The interface is complete enough to provide any Python method
+      that does not require insertion or deletion, e.g.
+      <code>len</code>, <code>index</code> and <code>sort</code>. See
+      the <code>get_array_plain</code> function in <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/test/test_array_ext.cpp">libs/python/test/test_array_ext.cpp</a>
+      for an example usage. If you only need iteration over the values
+      in a range, consider using the simpler <code>range</code>
+      function provided by <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/libs/python/doc/v2/iterator.html">boost/python/iterator.hpp</a>
+
+    </p>
+    <p>
+
+      Beware that C++ iterators are not very Python-like, since they
+      do not provide any guarantees about the lifetimes of the objects
+      they refer to. Invalidating either of the iterators stored in an
+      <code>iterator_range</code> object is dangerous, since
+      subsequently using the iterators (from Python or C++) results in
+      undefined behaviour.
+
+    </p>
+    <p>
+
+      <code>iterator_range</code> should work with any
+      <code>ForwardIterator</code> type.
+
+    </p>
+
+    <h3>Synopsis: boost/python/suite/indexing/iterator_range.hpp</h3>
+
+    <p>
+</p><pre>namespace boost { namespace python { namespace indexing {
+  template<typename Iterator>
+  class iterator_range
+  {
+  private:
+    typedef typename boost::call_traits<Iterator>::param_type iterator_param;
+    typedef std::iterator_traits<Iterator> std_traits;
+
+  public:
+    typedef typename std_traits::reference       reference;
+    typedef Iterator                             iterator;
+    typedef typename std_traits::difference_type size_type;
+    typedef typename std_traits::difference_type difference_type;
+    typedef typename std_traits::value_type      value_type;
+    typedef typename std_traits::pointer         pointer;
+
+    iterator_range (iterator_param, iterator_param);
+    iterator_range (std::pair<iterator, iterator> const &);
+
+    iterator begin() const;
+    iterator end() const;
+
+    size_type size () const;
+    reference operator[] (size_type) const;
+    reference at (size_type) const;
+
+  private:
+    // Member variables
+  };
+
+  template<typename T, std::size_t N> T *begin (T (&array)[N]);
+  template<typename T, std::size_t N> T *end   (T (&array)[N]);
+
+} } }
+</pre>
+    <p></p>
+
+    <h2><a name="workarounds">Compiler workarounds</a></h2>
+
+    <p>
+
+      It is possible to use the suite without partial template
+      specialization support, but the <code>algo_selector</code>
+      specializations for the standard containers does not work. To
+      avoid this problem, the client code must explicitly select the
+      <code>Algorithms</code> and <code>ContainerTraits</code>
+      instances to be used, and there are some additional support
+      templates in the container-specific header files for this
+      purpose.
+
+</p><pre>#include <boost/python/suite/indexing/vector.hpp>
+
+...
+
+  using namespace boost::python;
+  using namespace boost::python::indexing;
+
+  class_<std::vector<int> > ("vector_int")
+    .def (indexing::vector_suite <vector <int> >());
+</pre>
+
+    <p></p>
+
+    <p>
+
+      Microsoft Visual C++ 6.0 has a version of the standard
+      <code>deque</code> header that is incompatible with the
+      <code>container_proxy</code> template, since it lacks a correct
+      template version of the <code>insert</code> member function. An
+      updated copy of the <code>deque</code> header that fixes this
+      problem (among others) is available directly from <a href="http://www.dinkumware.com/vc_fixes.html">Dinkumware</a>
+      (at time of writing, 2003/11/04).
+
+    </p>
+
+    <h2><a name="limitations">Known limitations</a></h2>
+
+    <p>
+
+      This section lists known limitations of the container
+      interfaces. These may or may not get fixed in the future, so
+      check the latest release of Boost and/or the Boost CVS
+      repository. Feel free to submit your own improvements to the
+      mailing list for the <a href="http://www.python.org/sigs/c++-sig/">Python C++-SIG</a>.
+
+    </p>
+
+    <p>
+
+      The following Python sequence and mapping functions are not
+      currently implemented for any containers:
+
+      <code>keys, values, items, clear, copy, update,</code>
+      <code>pop, __add__, __radd__, __iadd__, __mul__, __rmul__</code>
+      and <code>__imul__</code>.
+
+      Most of the methods mentioned (except for <code>pop</code>)
+      present no particular difficulty to implement.  The problem with
+      <code>pop</code> is that it is incompatible with some return
+      value policies (for instance,
+      <code>return_internal_reference</code>) since it must return a
+      copy of an element that has already been removed from the
+      container. This probably requires an extension to the
+      <code>container_suite</code> interface, to allow the client code
+      the option of specifying a different return policy for this
+      method in particular.
+
+    </p>
+    <p>
+
+      The suite currently restricts itself to the normal Python
+      container interface methods, which do not expose all of the
+      interfaces available with the C++ containers. For example,
+      vector <code>reserve</code> has no equivalent in Python and is
+      not exposed by the suite. Of course, user code can still add a
+      <code>def</code> call for this manually.
+
+    </p>
+    <p>
+
+      The <code>map</code> iterator should return only the key part of
+      the values, but currently returns the whole
+      <code>std::pair</code>.
+
+    </p>
+    <p>
+
+      The <code>sort</code> method (where provided) should allow an
+      optional comparison function from Python.
+
+    </p>
+
+    <h2><a name="references">References</a></h2>
+
+    <p>
+
+      The Python Library Reference section on <a href="http://www.python.org/doc/2.5.2/lib/typesseq.html">Sequence
+      Types</a> and the Python Reference Manual section on <a href="http://www.python.org/doc/2.5.2/ref/sequence-types.html">Emulating
+      container types</a>. The <a href="http://webstore.ansi.org/ansidocstore/product.asp?sku=INCITS%2FISO%2FIEC+14882%2D1998">C++
+      Standard</a>.
+
+    </p>
+
+    <h2><a name="acknoweldegments">Acknowledgements and Copyright</a></h2>
+
+    <p>
+
+      Thanks to Joel de Guzman and David Abrahams for input and
+      encouragement during the development of the container suite, and
+      to and Ralf W. Grosse-Kunstleve for his invaluable support in
+      porting to various platforms. Joel wrote the original
+      implementation of the indexing support, which provided many of
+      the ideas embodied in the new implementation.
+
+    </p>
+
+    <p>
+
+      The container suite code and documentation are Copyright (c)
+      2003 by Raoul Gough, and licensed according to the <a href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/LICENSE_1_0.txt">Boost license</a>.
+
+    </p>
+
+  </body></html>
diff --git a/indexing_suite_v2/docs/indexing_suite_v2_files/boost.css b/indexing_suite_v2/docs/indexing_suite_v2_files/boost.css
new file mode 100644
index 0000000..cf5c8a9
--- /dev/null
+++ b/indexing_suite_v2/docs/indexing_suite_v2_files/boost.css
@@ -0,0 +1,59 @@
+H1
+{
+    FONT-SIZE: 200%
+    COLOR: #00007f
+}
+H2
+{
+    FONT-SIZE: 150%;
+}
+H3
+{
+    FONT-SIZE: 125%;
+}
+H4
+{
+    FONT-SIZE: 108%;
+}
+BODY
+{
+    FONT-SIZE: 100%;
+    BACKGROUND-COLOR: #ffffff
+}
+PRE
+{
+    MARGIN-LEFT: 2pc;
+    FONT-SIZE: 80%;
+    BACKGROUND-COLOR: #dfffff
+}
+CODE
+{
+    FONT-SIZE: 95%;
+     white-space: pre
+}
+.index
+{
+    TEXT-ALIGN: left
+}
+.page-index
+{
+	TEXT-ALIGN: left
+}
+.definition
+{
+	TEXT-ALIGN: left
+}
+.footnote
+{
+    FONT-SIZE: 66%;
+    VERTICAL-ALIGN: super;
+    TEXT-DECORATION: none
+}
+.function-semantics
+{
+    CLEAR: left
+}
+.metafunction-semantics
+{
+    CLEAR: left
+}
diff --git a/indexing_suite_v2/docs/indexing_suite_v2_files/cboost.gif b/indexing_suite_v2/docs/indexing_suite_v2_files/cboost.gif
new file mode 100644
index 0000000..58be431
Binary files /dev/null and b/indexing_suite_v2/docs/indexing_suite_v2_files/cboost.gif differ
diff --git a/indexing_suite_v2/docs/indexing_suite_v2_files/overview.png b/indexing_suite_v2/docs/indexing_suite_v2_files/overview.png
new file mode 100644
index 0000000..0f59b51
Binary files /dev/null and b/indexing_suite_v2/docs/indexing_suite_v2_files/overview.png differ
diff --git a/indexing_suite_v2/docs/indexing_suite_v2_files/proxy.png b/indexing_suite_v2/docs/indexing_suite_v2_files/proxy.png
new file mode 100644
index 0000000..5eb11a7
Binary files /dev/null and b/indexing_suite_v2/docs/indexing_suite_v2_files/proxy.png differ
diff --git a/indexing_suite_v2/docs/indexing_suite_v2_files/proxy_detached.png b/indexing_suite_v2/docs/indexing_suite_v2_files/proxy_detached.png
new file mode 100644
index 0000000..97cb5d1
Binary files /dev/null and b/indexing_suite_v2/docs/indexing_suite_v2_files/proxy_detached.png differ
diff --git a/indexing_suite_v2/indexing_suite/algorithms.hpp b/indexing_suite_v2/indexing_suite/algorithms.hpp
new file mode 100644
index 0000000..47f5b96
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/algorithms.hpp
@@ -0,0 +1,564 @@
+// Header file algorithms.hpp
+//
+// Uniform interface layer for all containers.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/11   rmg     File creation from suite_utils.hpp
+// 2003/10/28   rmg     Split container-specific versions into separate headers
+// 2006/10/25   Roman   Adding keys function to assoc_algorithms class
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: algorithms.hpp,v 1.1.2.15 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ALGORITHMS_HPP
+#define BOOST_PYTHON_INDEXING_ALGORITHMS_HPP
+
+#include <indexing_suite/suite_utils.hpp>
+
+#include <boost/type_traits.hpp>
+#include <boost/python/errors.hpp>
+#include <indexing_suite/int_slice_helper.hpp>
+#include <indexing_suite/slice.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/limits.hpp>
+#include <algorithm>
+#include <functional>
+#include <stdexcept>
+#include <string>
+#include <set>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class default_algorithms
+  {
+    typedef default_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>
+        ::type most_derived;
+
+  public:
+    typedef ContainerTraits container_traits;
+
+    // Import typedefs from the container_traits for convenience
+    typedef typename ContainerTraits::container   container;
+    typedef typename ContainerTraits::iterator    iterator;
+    typedef typename ContainerTraits::reference   reference;
+    typedef typename ContainerTraits::size_type   size_type;
+    typedef typename ContainerTraits::value_type  value_type;
+    typedef typename ContainerTraits::value_param value_param;
+    typedef typename ContainerTraits::index_param index_param;
+    typedef typename ContainerTraits::key_param   key_param;
+
+    // Defer selection of supported_methods to the ContainerTraits
+    // template argument. This makes sense because default_algorithms
+    // derives all of its other information from this argument, and
+    // can't decide which of the static member functions will
+    // instantiate successfully for the container. Obviously a
+    // custom-written Algorithms implementation could choose to
+    // provide the supported_methods directly.
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = ContainerTraits::supported_methods);
+
+    static size_type size       (container &);
+    static iterator  find       (container &, key_param);
+    static size_type get_index  (container &, key_param);
+    static size_type count      (container &, key_param);
+    static bool      contains   (container &, key_param);
+    static void      reverse    (container &);
+    static reference get        (container &, index_param);
+    static void      assign     (container &, index_param, value_param);
+    static void      insert     (container &, index_param, value_param);
+    static void      erase_one  (container &, index_param);
+    static void      erase_range(container &, index_param, index_param);
+    static void      push_back  (container &, value_param);
+    static void      sort       (container &);
+    //    static void      sort       (container &, PyObject *);
+
+    static iterator  begin      (container &c) { return c.begin(); }
+    static iterator  end        (container &c) { return c.end(); }
+
+    // Reasonable defaults for slice handling
+    typedef int_slice_helper<self_type, integer_slice> slice_helper;
+
+    static slice_helper make_slice_helper (container &c, slice const &);
+
+    // Default visit_container_class
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class(
+        PythonClass &pyClass, Policy const &policy)
+    {
+      container_traits::visit_container_class (pyClass, policy);
+    }
+
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+    // MSVC6 and 7.0 seem to complain about most_derived::bounds_check
+    // for an instantiation of list_algorithms.
+  public:
+#else
+  private:
+#endif
+    static size_type bounds_check(
+        container &, index_param, char const *msg,
+        bool one_past = false,
+        bool truncate = false);
+    // Throws std::out_of_range if necessary. If one_past is set, then
+    // indexes up to container.size() *inclusive* are allowed. If
+    // truncate is set, then out of bounds values are reset to the
+    // nearest in-bound value (and if none exists, throws an
+    // exception). If truncate is *not* set, then negative values index
+    // from the upper bound backwards and are bounds-checked.
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Base class for associative containers
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class assoc_algorithms
+    : public default_algorithms
+        <ContainerTraits,
+        BOOST_DEDUCED_TYPENAME detail::maybe_override
+            <assoc_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef assoc_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>
+        ::type most_derived;
+    typedef default_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::iterator iterator;
+    typedef typename Parent::size_type size_type;
+    typedef typename Parent::container container;
+    typedef typename Parent::reference reference;
+    typedef typename Parent::key_param key_param;
+    typedef typename Parent::value_param value_param;
+    typedef typename Parent::index_param index_param;
+
+    static reference get        (container &, index_param);
+
+    // Use member functions for the following (hiding base class versions)
+    static void      erase_one (container &, key_param);
+    static iterator  find      (container &, key_param);
+    static size_type count     (container &, key_param);
+    static bool      contains  (container &, key_param);
+
+    // Default visit_container_class
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class( PythonClass &pyClass, Policy const &policy)
+    {
+      ContainerTraits::visit_container_class (pyClass, policy);
+    }
+
+
+  protected:
+    static iterator  find_or_throw (container &, index_param);
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Get the size of a container
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::size_type
+  default_algorithms<ContainerTraits, Ovr>::size (container &c)
+  {
+    return c.size();
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Range check an index and throw out_of_range if necessary
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::size_type
+  default_algorithms<ContainerTraits, Ovr>::bounds_check(
+      container &c,
+      index_param ix,
+      char const *msg,
+      bool one_past,
+      bool truncate)
+  {
+    size_type bound = most_derived::size(c) + (one_past ? 1 : 0);
+    size_type result;
+
+    if (truncate)
+      {
+        if (ix < 0)
+          {
+            result = 0;
+          }
+
+        else
+          {
+            result = ix;
+
+            if ((result >= bound) && (bound > 0))
+              {
+                result = bound - 1;
+              }
+          }
+      }
+
+    else if (ix < 0)
+      {
+        if (size_type(-ix) > bound)
+          {
+            throw std::out_of_range (msg);
+          }
+
+        result = bound + ix;
+      }
+
+    else
+      {
+        result = ix;
+      }
+
+    if (result >= bound)
+      {
+        throw std::out_of_range (msg);
+      }
+
+    return result;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element in a container (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::iterator
+  default_algorithms<ContainerTraits, Ovr>::find(
+      container &c, key_param key)
+  {
+    typedef typename container_traits::value_traits_type vtraits;
+    typedef typename vtraits::equal_to comparison;
+
+    return std::find_if(
+        most_derived::begin(c),
+        most_derived::end(c),
+        std::bind1st (comparison(), key));
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element and return its index (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::size_type
+  default_algorithms<ContainerTraits, Ovr>::get_index(
+      container &c, key_param key)
+  {
+    iterator found (most_derived::find (c, key));
+
+    if (found == most_derived::end(c))
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "get_index: element not found");
+
+        boost::python::throw_error_already_set ();
+      }
+
+    iterator start (most_derived::begin (c));
+    return std::distance (start, found);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Count occurances of an element in a container (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::size_type
+  default_algorithms<ContainerTraits, Ovr>::count(
+      container &c, key_param key)
+  {
+    typedef typename container_traits::value_traits_type vtraits;
+    typedef typename vtraits::equal_to comparison;
+
+    return std::count_if(
+        most_derived::begin(c),
+        most_derived::end(c),
+        std::bind1st (comparison(), key));
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Check whether a container contains the given element (std algo ver)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  bool
+  default_algorithms<ContainerTraits, Ovr>::contains(
+      container &c, key_param key)
+  {
+    return most_derived::find (c, key) != most_derived::end(c);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Index into a container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::reference
+  default_algorithms<ContainerTraits, Ovr>::get(
+      container &c, index_param ix)
+  {
+    return c[most_derived::bounds_check (c, ix, "get")];
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Assign a value at a particular index (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::assign(
+      container &c, index_param ix, value_param val)
+  {
+    c[most_derived::bounds_check (c, ix, "assign")] = val;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert at end of a container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::push_back(
+      container &c, value_param v)
+  {
+    c.push_back (v);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert at an index in the container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::insert(
+      container &c, index_param i, value_param v)
+  {
+    iterator insert_pos (most_derived::begin(c));
+
+    // Index may range up to c.size() inclusive to allow inserting at end
+    std::advance(
+        insert_pos, most_derived::bounds_check (c, i, "insert", true, true));
+
+    c.insert (insert_pos, v);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Erase between given indexes in the container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::erase_range(
+      container &c, index_param from, index_param to)
+  {
+    iterator start (most_derived::begin(c));
+    iterator finish (most_derived::begin(c));
+
+    // Start index must be properly in bounds
+    std::advance
+      (start, most_derived::bounds_check (c, from, "erase_range (from)"));
+
+    // End index is one-past-the-end, so may range up to c.size() inclusive
+    std::advance
+      (finish, most_derived::bounds_check (c, to, "erase_range (to)", true));
+
+    c.erase (start, finish);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Erase one element at the given index in the container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::erase_one(
+      container &c, index_param ix)
+  {
+    iterator iter (most_derived::begin(c));
+    std::advance (iter, most_derived::bounds_check (c, ix, "erase_one"));
+    c.erase (iter);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Reverse the contents of a container (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void default_algorithms<ContainerTraits, Ovr>::reverse (container &c)
+  {
+    std::reverse (most_derived::begin(c), most_derived::end(c));
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Sort the contents of a container (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void default_algorithms<ContainerTraits, Ovr>::sort (container &c)
+  {
+    typedef typename container_traits::value_traits_type vtraits;
+    typedef typename vtraits::less comparison;
+    std::sort (most_derived::begin(c), most_derived::end(c), comparison());
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // slice_helper factory function (default version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::slice_helper
+  default_algorithms<ContainerTraits, Ovr>
+  ::make_slice_helper (container &c, slice const &sl)
+  {
+    return slice_helper (c, integer_slice (sl, most_derived::size (c)));
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Index into a container (associative version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME assoc_algorithms<ContainerTraits, Ovr>::reference
+  assoc_algorithms<ContainerTraits, Ovr>::get (container &c, index_param ix)
+  {
+    return *most_derived::find_or_throw (c, ix);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Erase elements with the given key (associative version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  assoc_algorithms<ContainerTraits, Ovr>::erase_one(
+      container &c, key_param key)
+  {
+    if (c.erase (key) == 0)
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "Container does not hold value to be erased");
+
+        boost::python::throw_error_already_set ();
+      }
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element in an associative container
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME assoc_algorithms<ContainerTraits, Ovr>::iterator
+  assoc_algorithms<ContainerTraits, Ovr>
+  ::find (container &c, key_param key)
+  {
+    return c.find (key);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element in an associative container
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  bool
+  assoc_algorithms<ContainerTraits, Ovr>::contains(
+      container &c, key_param key)
+  {
+    return most_derived::find (c, key) != most_derived::end(c);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element in an associative container - throw an exception if
+  // not found
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME assoc_algorithms<ContainerTraits, Ovr>::iterator
+  assoc_algorithms<ContainerTraits, Ovr>::find_or_throw(
+      container &c, index_param ix)
+  {
+    iterator iter = most_derived::find (c, ix);
+
+    if (iter == most_derived::end(c))
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "associative container: key not found");
+
+        boost::python::throw_error_already_set ();
+      }
+
+    return iter;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Count occurances of an element in a container (associative version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME assoc_algorithms<ContainerTraits, Ovr>::size_type
+  assoc_algorithms<ContainerTraits, Ovr>::count(
+      container &c, key_param key)
+  {
+    return c.count (key);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Some meta-information to select algorithms for const and
+  // non-const qualified containers. All algorithms_selector specializations
+  // include two publically accessible typedefs, called
+  // mutable_algorithms and const_algorithms.  This saves having to
+  // have separate partial specializations of algorithms for
+  // const and non-const containers. Client code should probably
+  // specialize algorithms directly.
+  /////////////////////////////////////////////////////////////////////////
+
+  namespace detail {
+    template<typename Container> class algorithms_selector
+# if defined(BOOST_MPL_MSVC_ETI_BUG)
+    {
+      // Bogus types to prevent compile errors due to ETI
+      typedef algorithms_selector<Container> mutable_algorithms;
+      typedef algorithms_selector<Container> const_algorithms;
+    }
+# endif
+    ;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms selection for mutable containers
+  /////////////////////////////////////////////////////////////////////////
+
+  template<class Container>
+  struct algorithms
+    : public detail::algorithms_selector<Container>::mutable_algorithms
+  {
+  };
+
+# if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms selection for const-qualified containers
+  /////////////////////////////////////////////////////////////////////////
+
+  template<class Container>
+  struct algorithms<Container const>
+    : public detail::algorithms_selector<Container>::const_algorithms
+  {
+  };
+# endif
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_ALGORITHMS_HPP
diff --git a/indexing_suite_v2/indexing_suite/container_proxy.hpp b/indexing_suite_v2/indexing_suite/container_proxy.hpp
new file mode 100644
index 0000000..2558c62
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/container_proxy.hpp
@@ -0,0 +1,738 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file container_proxy.hpp
+//
+// A container-wrapper that provides Python-style reference semantics
+// for values stored in vector-like containers via element proxies.
+//
+// Class invariant:
+//   size() == m_proxies.size()
+//   for 0 <= i < size()
+//     m_proxies[i].get() != 0
+//     m_proxies[i]->owner() == this
+//     m_proxies[i]->index() == i
+//     m_proxies[i]->m_element_ptr.get() == 0
+//
+// History
+// =======
+// 2003/ 8/26   rmg     File creation
+// 2003/10/23   rmg     Change pointer container from map to sequence
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: container_proxy.hpp,v 1.1.2.28 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_CONTAINER_PROXY_HPP
+#define BOOST_PYTHON_INDEXING_CONTAINER_PROXY_HPP
+
+#include <indexing_suite/proxy_iterator.hpp>
+#include <indexing_suite/shared_proxy_impl.hpp>
+#include <indexing_suite/element_proxy.hpp>
+#include <indexing_suite/element_proxy_traits.hpp>
+#include <indexing_suite/workaround.hpp>
+#include <indexing_suite/methods.hpp>
+
+#include <vector>
+#include <cassert>
+#include <boost/shared_ptr.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+
+namespace boost { namespace python { namespace indexing {
+
+  template<typename T> struct identity {
+    typedef T held_type;
+
+    static T &       get(T &       obj) { return obj; }
+    static T const & get(T const & obj) { return obj; }
+
+    static T    create ()                     { return T(); }
+    static T    copy   (T const &copy)        { return copy; }
+    static void assign (T &to, T const &from) { to = from; }
+    static void pre_destruction (T &)         { }
+    static void swap   (T &one, T &two)       { std::swap (one, two); }
+  };
+
+  template<typename P> struct deref {
+    typedef P held_type;
+
+    typedef typename boost::iterator_value<P>::type     value;
+
+    static value &       get (P &       ptr)  { return *ptr; }
+    static value const & get (P const & ptr)  { return *ptr; }
+
+    static P    create ()                     { return P(); }
+    static P    copy   (P const &copy)        { return copy; }
+    static void assign (P &to, P const &from) { to = from; }
+    static void pre_destruction (P &)         { }
+    static void swap   (P &one, P &two)       { std::swap (one, two); }
+  };
+
+  struct vector_generator {
+    // Generates vector type for any element type with default allocator
+    template<typename Element> struct apply {
+      typedef std::vector<Element> type;
+    };
+  };
+
+#if BOOST_WORKAROUND (BOOST_MSVC, == 1200)
+  // Early template instantiation (ETI) workaround
+  namespace detail {
+    template<typename Container> struct msvc6_iterator {
+      typedef Container::iterator type;
+    };
+
+    template<> struct msvc6_iterator<int> {
+      typedef int *type;
+    };
+  }
+#endif
+
+  template<class Container,
+           class Holder = identity<Container>,
+           class Generator = vector_generator>
+  class container_proxy
+  {
+    typedef container_proxy<Container, Holder, Generator> self_type;
+    typedef typename Container::iterator raw_iterator;
+    typedef ::boost::detail::iterator_traits<raw_iterator> raw_iterator_traits;
+
+#if !defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+    template<class C> friend class shared_proxy_impl;
+    template<class C, typename E, typename T, typename S, typename I>
+        friend class proxy_iterator;
+#endif
+
+  public:
+    typedef typename Holder::held_type held_type;
+
+    typedef typename Container::size_type size_type;
+    typedef typename Container::difference_type difference_type;
+
+    typedef shared_proxy_impl<self_type> shared_proxy;
+
+    typedef typename Container::value_type raw_value_type;
+
+    typedef element_proxy<self_type> value_type;
+    typedef value_type               reference;  // Already has ref. semantics
+
+    typedef const_element_proxy<self_type> const_value_type;
+    typedef const_value_type               const_reference; // Ref. semantics
+
+    typedef proxy_iterator <self_type, value_type, raw_iterator_traits,
+        size_type, raw_iterator> iterator;
+    typedef iterator const_iterator; // No const_iterator yet implemented
+
+  public:
+    // Constructors
+    template<typename Iter> container_proxy (Iter start, Iter finish)
+      // Define inline for MSVC6 compatibility
+      : m_held_obj (Holder::create()),
+      m_proxies ()
+    {
+      insert (begin(), start, finish);
+    }
+
+    container_proxy ();
+    explicit container_proxy (held_type const &h);
+
+    container_proxy (container_proxy const &);
+    container_proxy &operator= (container_proxy const &);
+    ~container_proxy ();
+
+    Container const &raw_container() const;   // OK to expose const reference
+
+    reference       at (size_type index);
+    const_reference at (size_type index) const;
+
+    reference       operator[] (size_type index)       { return at(index); }
+    const_reference operator[] (size_type index) const { return at(index); }
+
+    size_type size ()     const { return raw_container().size(); }
+    size_type capacity () const { return raw_container().capacity(); }
+    void reserve (size_type s);
+
+  public:
+    iterator begin() { return iterator (this, static_cast<size_type>(0)); }
+    iterator end() { return iterator (this, raw_container().size()); }
+
+    iterator erase (iterator);
+    iterator erase (iterator, iterator);
+    iterator insert (iterator, raw_value_type const &);
+
+    template<typename Iter> void insert (iterator iter, Iter from, Iter to)
+      // Define here for MSVC6 compatibility
+    {
+      // Forward insertion to the right overloaded version
+      typedef typename BOOST_ITERATOR_CATEGORY<Iter>::type category;
+      insert (iter, from, to, category());
+    }
+
+    void push_back (raw_value_type const &copy) { insert (end(), copy); }
+
+    value_type pop_back () {
+      value_type result = at (size() - 1);
+      erase (end() - 1);
+      return result;
+    }
+
+  public:
+    // These functions are useful only when client code has direct
+    // non-const acccess to the raw container (e.g. via an indirect
+    // holder supplied to our constructor). Any code that directly
+    // modifies the contents of the raw container (by replacing,
+    // inserting or erasing elements) must notify the container_proxy.
+
+    void detach_proxy (size_type index);
+    void detach_proxies (size_type from, size_type to);
+    // Call before overwriting element(s) in the raw container
+
+    void prepare_erase (size_type from, size_type to);
+    // Call before erasing elements directly from the raw container
+
+    void notify_insertion (size_type from, size_type to);
+    // Call after inserting elements directly into the raw container
+
+  public:
+    // Convenient replacement of elements (automatic proxy detachment)
+    void replace (size_type index, raw_value_type const &);
+    //    template<typename Iter> void replace (size_type index, Iter, Iter);
+
+    void swap_elements (size_type index1, size_type index2);
+
+    bool is_valid () const; // Check the class invariant (for testing purposes)
+
+  private:
+    // Overloads for insertions with/without useful std::distance
+    template<typename Iter>
+    void insert (iterator iter, Iter from, Iter to, std::forward_iterator_tag)
+      // Define here for MSVC6 compatibility
+    {
+      assert (iter.ptr == this);
+      size_type count = std::distance (from, to);
+
+      // Add empty proxy pointers for the new value(s) (could throw)
+      m_proxies.insert (m_proxies.begin() + iter.index, count, pointer_impl());
+
+      try
+        {
+          // Insert the new element(s) into the real container (could throw)
+          raw_container().insert(
+              raw_container().begin() + iter.index,
+              from,
+              to);
+
+          try
+            {
+              // Create new proxies for the new elements (could throw)
+              write_proxies (iter.index, iter.index + count);
+            }
+
+          catch (...)
+            {
+              raw_container().erase(
+                  raw_container().begin() + iter.index,
+                  raw_container().begin() + iter.index + count);
+
+              throw;
+            }
+        }
+
+      catch (...)
+        {
+          m_proxies.erase(
+              m_proxies.begin() + iter.index,
+              m_proxies.begin() + iter.index + count);
+
+          throw;
+        }
+
+      // Adjust any proxies after the inserted elements (nothrow)
+      adjust_proxies(
+          m_proxies.begin() + iter.index + count,
+          m_proxies.end(),
+          static_cast<difference_type> (count));
+    }
+
+    template<typename Iter>
+    void insert (iterator iter, Iter from, Iter to, std::input_iterator_tag)
+      // Define here for MSVC6 compatibility
+    {
+      // insert overload for iterators where we *can't* get distance()
+      // so just insert elements one at a time
+      while (from != to)
+        {
+          iter = insert (iter, *from++) + 1;
+        }
+    }
+
+  private:
+    typedef boost::shared_ptr<shared_proxy> pointer_impl;
+
+    typedef typename mpl::apply1<Generator, pointer_impl>::type
+      pointer_container;
+
+#if BOOST_WORKAROUND (BOOST_MSVC, == 1200)
+    typedef detail::msvc6_iterator<pointer_container>::type pointer_iterator;
+#else
+    typedef typename pointer_container::iterator pointer_iterator;
+#endif
+
+#if defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+    // Proxies need mutable access, and can't be friends with MSVC6
+  public:
+#endif
+    Container &raw_container();
+
+  private:
+    void adjust_proxies (pointer_iterator, pointer_iterator, difference_type);
+    void write_proxies (size_type, size_type);
+    bool clear_proxy (pointer_impl &);         // detach and do not reset
+    void clear_proxies (size_type, size_type); // detach and do not reset
+    void claim_all_proxies (); // Makes all proxies point at this object
+
+  private:
+    held_type m_held_obj;
+    pointer_container m_proxies;
+  };
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator>
+  ::container_proxy ()
+    : m_held_obj (Holder::create()),
+    m_proxies ()
+  {
+    // Container is empty - no further processing
+  }
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator>
+  ::container_proxy (held_type const &held)
+    : m_held_obj (Holder::copy (held)),
+    m_proxies (size())
+  {
+    write_proxies (0, size());
+  }
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator>
+  ::container_proxy (container_proxy const &copy)
+    : m_held_obj (Holder::copy (copy.m_held_obj)),
+    m_proxies (size())
+  {
+    write_proxies (0, size()); // Create our own proxies for the copied values
+  }
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator> &
+  container_proxy<Container, Holder, Generator>
+  ::operator= (container_proxy const &copy)
+  {
+    container_proxy<Container, Holder, Generator> temp (copy);
+    // This could throw, but none of the remaining operations can
+
+    Holder::swap (m_held_obj, temp.m_held_obj);
+    std::swap (m_proxies, temp.m_proxies);
+
+    claim_all_proxies ();
+    temp.claim_all_proxies ();  // Prepare for detach
+
+    return *this;
+    // temp destruction detaches any proxies that used to belong to us
+  }
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator>
+  ::~container_proxy ()
+  {
+    // Copy original values into any proxies being shared by external pointers
+    clear_proxies (0, size());
+    Holder::pre_destruction (m_held_obj);
+  }
+
+  template<class Container, class Holder, class Generator>
+  Container &
+  container_proxy<Container, Holder, Generator>
+  ::raw_container ()
+  {
+    return Holder::get (m_held_obj);
+  }
+
+  template<class Container, class Holder, class Generator>
+  Container const &
+  container_proxy<Container, Holder, Generator>
+  ::raw_container () const
+  {
+    return Holder::get (m_held_obj);
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::reserve (size_type size)
+  {
+    raw_container().reserve (size);
+    m_proxies.reserve (size);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::reference
+  container_proxy<Container, Holder, Generator>
+  ::at (size_type index)
+  {
+    pointer_impl const &ptr = m_proxies.BOOST_PYTHON_INDEXING_AT (index);
+    assert (ptr->owner() == this);
+    assert (ptr->index() == index);
+    return reference (ptr);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::const_reference
+  container_proxy<Container, Holder, Generator>
+  ::at (size_type index) const
+  {
+    pointer_impl const &ptr = m_proxies.BOOST_PYTHON_INDEXING_AT (index);
+    assert (ptr->owner() == this);
+    assert (ptr->index() == index);
+    return const_reference (ptr);
+  }
+
+  template<class Container, class Holder, class Generator>
+  void
+  container_proxy<Container, Holder, Generator>
+  ::replace (size_type index, raw_value_type const &copy)
+  {
+    detach_proxy (index);
+    raw_container().BOOST_PYTHON_INDEXING_AT (index) = copy;
+    write_proxies (index, index + 1);
+  }
+
+  template<class Container, class Holder, class Generator>
+  void
+  container_proxy<Container, Holder, Generator>
+  ::swap_elements (size_type index1, size_type index2)
+  {
+    pointer_impl &ptr1 = m_proxies[index1];
+    pointer_impl &ptr2 = m_proxies[index2];
+
+    assert (ptr1->owner() == this);
+    assert (ptr2->owner() == this);
+    assert (ptr1->index() == index1);
+    assert (ptr2->index() == index2);
+
+    // Swap produces the diagrammed transformation. Any external
+    // pointers that refer to proxy1 or proxy2 will end up still
+    // pointing to their original (now relocated) values.
+    //
+    // .. ptr1 .. ptr2 ..     .. ptr1 .. ptr2  ..  (m_proxies)
+    //      |      |                 \  /
+    //      |      |                  \/
+    //      |      |                  /\.
+    //      V      V                 /  \.
+    //   proxy1  proxy2  -->    proxy1  proxy2
+    //      |      |                 \  /
+    //      |      |                  \/
+    //      |      |                  /\.
+    //      V      V                 /  \.
+    //  .. v1 ... v2 ..         .. v2 .. v1 ..  (raw_container)
+
+    std::swap (ptr1->m_index, ptr2->m_index);
+    std::swap (ptr1, ptr2);
+    std::swap (raw_container()[index1], raw_container()[index2]);
+
+    assert (m_proxies[index1]->index() == index1);
+    assert (m_proxies[index2]->index() == index2);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::iterator
+  container_proxy<Container, Holder, Generator>::erase (iterator iter)
+  {
+    return erase (iter, iter + 1);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::iterator
+  container_proxy<Container, Holder, Generator>::erase(
+      iterator from, iterator to)
+  {
+    assert (from.ptr == this);
+    assert (to.ptr == this);
+
+    // Detach and remove the proxies for the about-to-be-erased elements
+    prepare_erase (from.index, to.index);
+
+    // Erase the elements from the real container
+    raw_iterator result
+      = raw_container().erase(
+          raw_container().begin() + from.index,
+          raw_container().begin() + to.index);
+
+    return iterator (this, result);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::iterator
+  container_proxy<Container, Holder, Generator>::insert(
+      iterator iter, raw_value_type const &copy)
+  {
+    // Use the iterator-based version by treating the value as an
+    // array of size one (see section 5.7/4 of the C++98 standard)
+    insert (iter, &copy, (&copy) + 1, std::random_access_iterator_tag());
+
+    return iter;
+  }
+
+  template<class Container, class Holder, class Generator>
+  bool container_proxy<Container, Holder, Generator>::clear_proxy(
+      pointer_impl &ptr)
+  {
+    // Warning - this can break the class invariant. Use only when the
+    // pointer is about to be overwritten or removed from m_proxies
+
+    assert (ptr->owner() == this);
+
+    if (!ptr.unique())
+      {
+        ptr->detach (); // Cause proxy to copy element value
+        return true;
+      }
+
+    else
+      {
+        // If the pointer isn't shared, don't bother causing a copy of
+        // the container element, since the proxy is about to be
+        // deleted or reused.
+        return false;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::clear_proxies(
+      size_type from_index, size_type to_index)
+  {
+    while (from_index != to_index)
+      {
+        clear_proxy (m_proxies[from_index]);
+        ++from_index;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>
+  ::detach_proxy (size_type index)
+  {
+    pointer_impl &ptr = m_proxies[index];
+
+    assert (ptr->index() == index);
+
+    if (clear_proxy (ptr))
+      {
+        // To maintain class invariant
+        ptr.reset (new shared_proxy (this, index));
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::detach_proxies(
+      size_type from_index, size_type to_index)
+  {
+    while (from_index != to_index)
+      {
+        detach_proxy (from_index);
+        ++from_index;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>
+  ::prepare_erase (size_type from_index, size_type to_index)
+  {
+    difference_type deleting = to_index - from_index;
+    pointer_iterator erase_begin = m_proxies.begin() + from_index;
+    pointer_iterator erase_end = m_proxies.begin() + to_index;
+
+    // Adjust the indexes of any trailing proxies
+    adjust_proxies (erase_end, m_proxies.end(), -deleting);
+
+    // Detach any proxies without updating our pointers to them
+    clear_proxies (from_index, to_index);
+
+    // Remove the pointers
+    m_proxies.erase (erase_begin, erase_end);
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::notify_insertion(
+      size_type from_index, size_type to_index)
+  {
+    size_type count = to_index - from_index;
+
+    m_proxies.insert(
+        m_proxies.begin() + from_index, count, pointer_impl());
+
+    try
+      {
+        write_proxies (from_index, to_index); // Could throw
+      }
+
+    catch (...)
+      {
+        m_proxies.erase(
+            m_proxies.begin() + from_index,
+            m_proxies.begin() + to_index);
+
+        throw;
+      }
+
+    // Adjust any proxies after the inserted elements (nothrow)
+    adjust_proxies(
+        m_proxies.begin() + to_index,
+        m_proxies.end(),
+        static_cast<difference_type> (count));
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::adjust_proxies(
+      pointer_iterator from,
+      pointer_iterator to,
+      difference_type offset)
+  {
+    while (from != to)
+      {
+        (*from)->m_index += offset;
+        ++from;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::write_proxies(
+      size_type from, size_type to)
+  {
+    // (over)write proxy pointers in the given range. Re-uses existing
+    // shared_proxy objects where possible. Does not call detach_proxy
+    // since it is assumed that the original values could have already
+    // been modified and copying them now would be wrong.
+
+    while (from != to)
+      {
+        pointer_impl &ptr = m_proxies[from];
+
+        if ((ptr.get() == 0) || (!ptr.unique()))
+          {
+            // Either no proxy yet allocated here, or there is one
+            // but it is being shared by an external pointer.
+            ptr.reset (new shared_proxy (this, from));
+          }
+
+        else
+          {
+            // Re-use the existing object since we have the only pointer to it
+            assert (ptr->owner() == this);
+            ptr->m_index = from;
+          }
+
+        ++from;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::claim_all_proxies ()
+  {
+    for (pointer_iterator iter = m_proxies.begin();
+         iter != m_proxies.end();
+         ++iter)
+      {
+        (*iter)->m_owner_ptr = this;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  bool container_proxy<Container, Holder, Generator>::is_valid () const
+  {
+    bool ok = size() == m_proxies.size(); // Sizes must match
+
+    for (size_type count = 0; ok && (count < size()); ++count)
+      {
+        pointer_impl const &ptr = m_proxies[count];
+
+        ok = ptr.get() && (ptr->owner() == this) && (ptr->index() == count)
+          && !ptr->m_element_ptr.get();
+      }
+
+    return ok;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for container_proxy instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container>
+  struct container_proxy_traits : random_access_sequence_traits<Container>
+  {
+    typedef Container container;
+    typedef typename container::raw_value_type value_type; // insert, ...
+    typedef typename container::raw_value_type key_type;   // find, count, ...
+    typedef typename container::reference reference;  // return values
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <value_type>::param_type
+        value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <key_type>::param_type
+        key_param;
+
+#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+    // value_traits for the reference type (i.e. our element_proxy
+    // instance) supplies a custom visit_container_class. Compilers
+    // without partial specialization need help here.
+
+    typedef element_proxy_traits<Container> value_traits_type;
+
+    // Hide base class visit_container_class, which would call the
+    // unspecialized value_traits version
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class(
+        PythonClass &pyClass, Policy const &policy)
+    {
+      value_traits_type::visit_container_class (pyClass, policy);
+    }
+#endif
+  };
+
+#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for container_proxy instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <typename RawContainer, typename Holder, typename Generator>
+    class algorithms_selector<container_proxy<RawContainer, Holder, Generator> >
+    {
+      typedef container_proxy<RawContainer, Holder, Generator> Container;
+
+      typedef container_proxy_traits<Container>       mutable_traits;
+      typedef container_proxy_traits<Container const> const_traits;
+
+    public:
+      typedef default_algorithms<mutable_traits> mutable_algorithms;
+      typedef default_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+  template<
+      class Container,
+      method_set_type MethodMask = all_methods,
+      class Traits = container_proxy_traits<Container>
+  >
+  struct container_proxy_suite
+    : container_suite<Container, MethodMask, default_algorithms<Traits> >
+  {
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_CONTAINER_PROXY_HPP
diff --git a/indexing_suite_v2/indexing_suite/container_suite.hpp b/indexing_suite_v2/indexing_suite/container_suite.hpp
new file mode 100644
index 0000000..c6c4c26
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/container_suite.hpp
@@ -0,0 +1,54 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file container_suite.hpp
+//
+// Top-level interface to the container suite.
+//
+// History
+// =======
+// 2003/ 8/23   rmg     File creation
+// 2003/ 9/ 8   rmg     Extracted trait facilities into container_traits.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: container_suite.hpp,v 1.1.2.7 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
+#define BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
+
+#include <indexing_suite/methods.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <indexing_suite/visitor.hpp>
+
+#include <boost/python/return_by_value.hpp>
+#include <boost/python/return_value_policy.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  typedef boost::python::return_value_policy<boost::python::return_by_value>
+  default_container_policies;
+
+  template<
+      class Container,
+      method_set_type MethodMask = all_methods,  // All supported by algorithms
+      class Algorithms
+          = algorithms<Container>
+  >
+  struct container_suite
+    : public visitor<Algorithms, default_container_policies, MethodMask>
+  {
+    typedef Algorithms algorithms;
+
+    template<typename Policy>
+    static visitor<Algorithms, Policy, MethodMask>
+    with_policies (Policy const &policy)
+    {
+      return visitor <Algorithms, Policy, MethodMask> (policy);
+    }
+  };
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
diff --git a/indexing_suite_v2/indexing_suite/container_traits.hpp b/indexing_suite_v2/indexing_suite/container_traits.hpp
new file mode 100644
index 0000000..f1858a8
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/container_traits.hpp
@@ -0,0 +1,160 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file container_traits.hpp
+//
+// Traits information about entire containers for use in determining
+// what Python methods to provide.
+//
+// History
+// =======
+// 2003/ 8/23   rmg     File creation as container_suite.hpp
+// 2003/ 9/ 8   rmg     Renamed container_traits.hpp
+// 2003/10/28   rmg     Split container-specific versions into separate headers
+// 2004/ 1/28   rmg     Convert to bitset-based feature selection
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: container_traits.hpp,v 1.1.2.15 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_CONTAINER_TRAITS_HPP
+#define BOOST_PYTHON_INDEXING_CONTAINER_TRAITS_HPP
+
+#include <indexing_suite/suite_utils.hpp>
+#include <indexing_suite/methods.hpp>
+#include <indexing_suite/value_traits.hpp>
+
+#include <boost/type_traits.hpp>
+#include <boost/call_traits.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/type_traits/ice.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+
+namespace boost { namespace python { namespace indexing {
+#if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+  // MSVC6 has problems with get_signature if parameter types have
+  // top-level const qualification (e.g. int const). Unfortunately,
+  // this is exactly what happens with boost::call_traits, so we
+  // substitute a really dumb version of it instead.
+
+  template<typename T> struct broken_call_traits {
+    typedef T const & param_type;
+  };
+# define BOOST_PYTHON_INDEXING_CALL_TRAITS broken_call_traits
+#else
+# define BOOST_PYTHON_INDEXING_CALL_TRAITS ::boost::call_traits
+#endif
+
+  /////////////////////////////////////////////////////////////////////////
+  // Lowest common denominator traits - applicable to real containers
+  // and iterator pairs
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container, typename ValueTraits = detail::no_override>
+  struct base_container_traits
+  {
+    typedef base_container_traits<Container, ValueTraits> self_type;
+
+  protected:
+    BOOST_STATIC_CONSTANT(
+        bool, is_mutable = ! boost::is_const<Container>::value);
+
+  public:
+    typedef Container container;
+
+    typedef BOOST_DEDUCED_TYPENAME container::value_type value_type;
+
+    typedef BOOST_DEDUCED_TYPENAME mpl::if_<
+        is_const<container>,
+        BOOST_DEDUCED_TYPENAME container::const_iterator,
+        BOOST_DEDUCED_TYPENAME container::iterator
+      >::type iterator;
+
+    typedef typename ::boost::iterator_reference<iterator>::type reference;
+
+    typedef value_type key_type; // Used for find, etc.
+    typedef typename container::size_type size_type;
+    typedef typename make_signed<size_type>::type index_type;
+    // at(), operator[]. Signed to support Python -ve indexes
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS<value_type>::param_type
+        value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS<key_type>::param_type
+        key_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS<index_type>::param_type
+        index_param;
+
+    // Allow client code to replace the default value traits via our
+    // second (optional) template parameter
+    typedef value_traits<value_type> default_value_traits;
+    typedef typename detail::maybe_override<
+        default_value_traits, ValueTraits>::type value_traits_type;
+
+    // Forward visit_container_class to value_traits_type
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class(
+        PythonClass &pyClass, Policy const &policy)
+    {
+      value_traits_type::visit_container_class (pyClass, policy);
+    }
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits for sequences with random access - std::vector,
+  // std::deque and the like
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container, typename ValueTraits = detail::no_override>
+  class random_access_sequence_traits
+    : public base_container_traits<Container, ValueTraits>
+  {
+    typedef base_container_traits<Container, ValueTraits> base_class;
+
+  public:
+    typedef typename base_class::value_traits_type value_traits_type;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_len
+            | method_getitem
+            | method_getitem_slice
+
+            | detail::method_set_if<
+                  value_traits_type::equality_comparable,
+                    method_index
+                  | method_contains
+                  | method_count
+              >::value
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                    method_setitem
+                  | method_setitem_slice
+                  | method_delitem
+                  | method_delitem_slice
+                  | method_reverse
+                  | method_append
+                  | method_insert
+                  | method_extend
+              >::value
+
+            | detail::method_set_if<
+                  type_traits::ice_and<
+                      base_class::is_mutable,
+                      value_traits_type::less_than_comparable
+                  >::value,
+                  method_sort
+              >::value
+
+        ));
+
+        // Not supported: method_iter, method_has_key
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
diff --git a/indexing_suite_v2/indexing_suite/deque.hpp b/indexing_suite_v2/indexing_suite/deque.hpp
new file mode 100644
index 0000000..d9ddc2a
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/deque.hpp
@@ -0,0 +1,61 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file deque.hpp
+//
+// Indexing algorithms support for std::deque instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: deque.hpp,v 1.1.2.6 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_DEQUE_HPP
+#define BOOST_PYTHON_INDEXING_DEQUE_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <deque>
+
+namespace boost { namespace python { namespace indexing {
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::deque instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class T, class Allocator>
+    class algorithms_selector<std::deque<T, Allocator> >
+    {
+      typedef std::deque<T, Allocator> Container;
+
+      typedef random_access_sequence_traits<Container>       mutable_traits;
+      typedef random_access_sequence_traits<Container const> const_traits;
+
+    public:
+      typedef default_algorithms<mutable_traits> mutable_algorithms;
+      typedef default_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = random_access_sequence_traits<Container>
+  >
+  struct deque_suite
+    : container_suite<Container, MethodMask, default_algorithms<Traits> >
+  {
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_DEQUE_HPP
diff --git a/indexing_suite_v2/indexing_suite/element_proxy.hpp b/indexing_suite_v2/indexing_suite/element_proxy.hpp
new file mode 100644
index 0000000..1424dab
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/element_proxy.hpp
@@ -0,0 +1,188 @@
+// Header file element_proxy.hpp
+//
+// Proxy objects for invidivual elements in a container wrapped by
+// container_proxy
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/15   rmg     File creation from container_proxy.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: element_proxy.hpp,v 1.1.2.10 2003/12/03 12:18:51 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ELEMENT_PROXY_HPP
+#define BOOST_PYTHON_INDEXING_ELEMENT_PROXY_HPP
+
+#include <indexing_suite/shared_proxy_impl.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/get_pointer.hpp>
+#include <boost/utility/addressof.hpp>
+#include <boost/detail/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename ContainerProxy>
+  class element_proxy
+  {
+  public:
+    typedef typename ContainerProxy::shared_proxy proxy_type;
+    typedef typename ContainerProxy::raw_value_type raw_value_type;
+    typedef typename ContainerProxy::size_type size_type;
+    typedef boost::shared_ptr<proxy_type> proxy_pointer;
+
+    typedef typename proxy_type::value_type value_type;
+    typedef typename proxy_type::reference reference;
+    typedef typename proxy_type::pointer pointer;
+    typedef typename proxy_type::iterator_category iterator_category;
+    typedef typename proxy_type::difference_type difference_type;
+
+    typedef value_type element_type;      // Alias for register_ptr_to_python
+
+    element_proxy () : m_ptr () { }
+    explicit element_proxy (proxy_type *ptr) : m_ptr (ptr) { }
+    explicit element_proxy (proxy_pointer const &ptr) : m_ptr (ptr) { }
+
+    explicit element_proxy (raw_value_type const &val)
+      : m_ptr (new proxy_type(val))
+    {
+      // Create new standalone value (i.e. detached)
+    }
+
+    reference operator* () const { return m_ptr->operator*(); }
+    pointer operator-> () const { return (*m_ptr).operator->(); }
+    pointer get () const { return operator->(); }  // Alias for pointer_holder
+
+    // Implicit conversion to raw_value_type
+    operator reference () const { return operator*(); }
+
+#if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+    // The implicit conversion doesn't work on MSVC6, so help it along
+    // a little.
+    bool operator== (value_type const &val) const { return (**this) == val; }
+    bool operator!= (value_type const &val) const { return (**this) != val; }
+    bool operator< (value_type const &val) const { return (**this) < val; }
+    bool operator> (value_type const &val) const { return (**this) > val; }
+#endif
+
+    element_proxy &operator= (value_type const &copy)
+    {
+      proxy_type &proxy = *m_ptr;
+      ContainerProxy *container = proxy.owner();
+      size_type index = proxy.index();
+
+      if (container)
+        {
+          container->replace (index, copy);
+          // Proxy was attached before, but is now detached. Make sure
+          // we now refer to the new element, instead of the detached
+          // copy of the old element
+          m_ptr = container->at (index).m_ptr;
+
+          // Note: in the special case that this we and the container
+          // proxy itself have the only references to the
+          // shared_proxy_impl, it is not necessary to first detach
+          // the proxy. Maybe best to implement when changing to
+          // intrusive_ptr instead of shared_ptr.
+        }
+
+      else
+        {
+          *proxy = copy;
+        }
+
+      return *this;
+    }
+
+    element_proxy &operator= (element_proxy const &copy)
+    {
+      // Required to make sorting a container_proxy work
+      return (*this) = *copy;
+    }
+
+    size_t use_count() const { return m_ptr.use_count(); } // For debugging
+
+  private:
+    proxy_pointer m_ptr;
+  };
+
+  template<typename ContainerProxy>
+  class const_element_proxy
+  {
+  public:
+    typedef element_proxy<ContainerProxy> base_type;
+    typedef typename base_type::proxy_type proxy_type;
+    typedef typename base_type::proxy_pointer proxy_pointer;
+    typedef typename base_type::raw_value_type raw_value_type;
+
+    typedef typename proxy_type::value_type const value_type;
+    typedef value_type &reference;
+    typedef value_type *pointer;
+    typedef typename base_type::iterator_category iterator_category;
+    typedef typename base_type::difference_type difference_type;
+
+    const_element_proxy () : m_base () { }
+    explicit const_element_proxy (proxy_type *ptr) : m_base (ptr) { }
+
+    explicit const_element_proxy (proxy_pointer const &ptr) : m_base (ptr) {}
+
+    const_element_proxy (const_element_proxy<ContainerProxy> const &copy)
+      : m_base (copy.m_base)
+    {
+    }
+
+    const_element_proxy (element_proxy<ContainerProxy> const &copy)
+      : m_base (copy)
+    {
+    }
+
+    explicit const_element_proxy (raw_value_type const &val)
+      : m_base (new proxy_type(val))
+    {
+    }
+
+    reference operator* () const { return *m_base; }
+    pointer operator-> () const { return m_base.operator->(); }
+
+    // Implicit conversion to raw_value_type const &
+    operator reference () const { return *m_base; }
+
+#if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+    // The implicit conversion doesn't work on MSVC6, so help it along
+    // a little.
+    bool operator== (value_type const &val) const { return m_base == val; }
+    bool operator!= (value_type const &val) const { return m_base != val; }
+    bool operator< (value_type const &val) const { return m_base < val; }
+    bool operator> (value_type const &val) const { return m_base > val; }
+#endif
+
+    size_t use_count() const { return m_base.use_count(); } // For debugging
+
+  private:
+    base_type m_base;
+  };
+
+#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+}} // namespace python::indexing
+#endif
+
+  template<typename ContainerProxy>
+  typename ContainerProxy::raw_value_type *
+  get_pointer (python::indexing::element_proxy<ContainerProxy> const &proxy)
+  {
+    return ::boost::addressof (*proxy);
+  }
+
+#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+    // Don't hide these other get_pointer overloads
+    using boost::get_pointer;
+}} // namespace python::indexing
+#endif
+}
+
+#endif // BOOST_PYTHON_INDEXING_ELEMENT_PROXY_HPP
diff --git a/indexing_suite_v2/indexing_suite/element_proxy_traits.hpp b/indexing_suite_v2/indexing_suite/element_proxy_traits.hpp
new file mode 100644
index 0000000..5933155
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/element_proxy_traits.hpp
@@ -0,0 +1,90 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file element_proxy_traits.hpp
+//
+// Note: element_proxy.hpp must be included before this header
+//
+// This is a separate header so that element_proxy.hpp is not
+// dependant on register_ptr_to_python.hpp. This avoids a problem with
+// two-phase name lookup, where register_ptr_to_python must be
+// included *after* the element_proxy overload of boost::get_pointer
+// is declared.
+//
+// History
+// =======
+// 2003/10/23   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: element_proxy_traits.hpp,v 1.1.2.5 2003/12/05 17:36:14 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ELEMENT_PROXY_TRAITS_HPP
+#define BOOST_PYTHON_INDEXING_ELEMENT_PROXY_TRAITS_HPP
+
+#include <indexing_suite/element_proxy.hpp>
+#include <indexing_suite/value_traits.hpp>
+#include <boost/python/register_ptr_to_python.hpp>
+#include <boost/python/implicit.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename ContainerProxy>
+  struct element_proxy_traits
+    : public value_traits<
+          BOOST_DEDUCED_TYPENAME ContainerProxy::raw_value_type>
+  {
+    typedef element_proxy<ContainerProxy> element_proxy_type;
+    typedef typename ContainerProxy::raw_value_type raw_value_type;
+    typedef value_traits<raw_value_type> base_type;
+
+    // Wrap the base class versions of the comparisons using
+    // indirection
+    struct less
+      : std::binary_function<element_proxy_type, element_proxy_type, bool>
+    {
+      typename base_type::less m_base_compare;
+
+      bool operator()(
+          element_proxy_type const &p1, element_proxy_type const &p2) const
+      {
+        return m_base_compare (*p1, *p2);
+      }
+    };
+
+    struct equal_to
+      : std::binary_function<raw_value_type, element_proxy_type, bool>
+    {
+      // First param is raw_value_type to interface smoothly with the
+      // bind1st used in default_algorithms::find
+
+      typename base_type::equal_to m_base_compare;
+
+      bool operator()(
+          raw_value_type const &v, element_proxy_type const &p) const
+      {
+        return m_base_compare (v, *p);
+      }
+    };
+
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class (PythonClass &, Policy const &)
+    {
+      register_ptr_to_python<element_proxy_type>();
+      implicitly_convertible<raw_value_type, element_proxy_type>();
+    }
+  };
+
+#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  // value_traits partial specialization for element_proxy instances
+  template<typename ContainerProxy>
+  struct value_traits<element_proxy<ContainerProxy> >
+    : element_proxy_traits<ContainerProxy>
+  {
+  };
+#endif
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_ELEMENT_PROXY_TRAITS_HPP
diff --git a/indexing_suite_v2/indexing_suite/int_slice_helper.hpp b/indexing_suite_v2/indexing_suite/int_slice_helper.hpp
new file mode 100644
index 0000000..75b54b1
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/int_slice_helper.hpp
@@ -0,0 +1,252 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file int_slice_helper.hpp
+//
+// History
+// =======
+// 2003/10/13   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: int_slice_helper.hpp,v 1.1.2.10 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_INT_SLICE_HELPER_HPP
+#define BOOST_PYTHON_INDEXING_INT_SLICE_HELPER_HPP
+
+# include <boost/python/errors.hpp>
+# include <indexing_suite/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename Algorithms, typename SliceType>
+  struct int_slice_helper
+  {
+    // Works with a SliceType that provides an int-like index_type
+    // that is convertible to the algorithm's index_param
+
+    typedef Algorithms algorithms_type;
+    typedef SliceType slice_type;
+
+    typedef typename algorithms_type::container container;
+    typedef typename algorithms_type::reference reference;
+    typedef typename algorithms_type::value_param value_param;
+    typedef typename algorithms_type::container_traits container_traits;
+    typedef typename slice_type::index_type index_type;
+
+    int_slice_helper (container &c, slice_type const &);
+
+    bool next();
+
+    reference current () const;
+    void write (value_param val);
+    void erase_remaining () const;
+
+  private:
+    void assign (value_param val) const;
+    void insert (value_param val);
+
+  private:
+    slice_type m_slice;
+    container *m_ptr;
+    index_type m_pos;
+  };
+
+  template<typename Algorithms, typename SliceType>
+  int_slice_helper<Algorithms, SliceType>
+  ::int_slice_helper (container &c, slice_type const &sl)
+    : m_slice (sl),
+    m_ptr (&c),
+    m_pos (-1)
+  {
+  }
+
+  template<typename Algorithms, typename SliceType>
+  bool
+  int_slice_helper<Algorithms, SliceType>::next()
+  {
+    bool result = false; // Assume the worst
+
+    if (m_pos == -1)
+      {
+        // First time call - get to start of the slice (if any)
+        m_pos = m_slice.start();
+        result = m_slice.in_range (m_pos);
+      }
+
+    else if (m_slice.in_range (m_pos))
+      {
+        // Subsequent calls - advance by the slice's stride
+        m_pos += m_slice.step();
+        result = m_slice.in_range (m_pos);
+      }
+
+    return result;
+  }
+
+  template<typename Algorithms, typename SliceType>
+  typename int_slice_helper<Algorithms, SliceType>::reference
+  int_slice_helper<Algorithms, SliceType>::current () const
+  {
+    return algorithms_type::get (*m_ptr, m_pos);
+  }
+
+  template<typename Algorithms, typename SliceType>
+  void int_slice_helper<Algorithms, SliceType>::write (value_param val)
+  {
+    if (next())
+      {
+        assign (val);
+      }
+
+    else
+      {
+        insert (val);
+      }
+  }
+
+  template<typename Algorithms, typename SliceType>
+  void int_slice_helper<Algorithms, SliceType>::assign (value_param val) const
+  {
+    algorithms_type::assign (*m_ptr, m_pos, val);
+  }
+
+  namespace detail {
+    template<bool doit> struct maybe_insert {
+
+      // NOTE: use the name "apply_" instead of "apply" to avoid
+      // weirdo compiler crash in mpl/aux_/apply.hpp on MSVC7. Don't
+      // even ask how I arrived at this fix :-)
+
+      template<class Algorithms>
+      static void apply_(
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+        && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          // Can't explicitly instantiate member function - must let
+          // the compiler deduce the argument type from a dummy
+          // parameter. Same applies throughout
+          Algorithms *,
+# endif
+          typename Algorithms::container &,
+          typename Algorithms::index_param,
+          typename Algorithms::value_param)
+      {
+        PyErr_SetString(
+            PyExc_TypeError,
+            "container does not support insertion into slice");
+
+        boost::python::throw_error_already_set ();
+      }
+    };
+
+    template<> struct maybe_insert<true> {
+      template<class Algorithms>
+      static void apply_(
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+        && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          Algorithms *,
+# endif
+          typename Algorithms::container &c,
+          typename Algorithms::index_param i,
+          typename Algorithms::value_param v)
+      {
+        Algorithms::insert (c, i, v);
+      }
+    };
+  }
+
+  template<typename Algorithms, typename SliceType>
+  void int_slice_helper<Algorithms, SliceType>::insert (value_param val)
+  {
+    if (m_slice.step() != 1)
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "attempt to insert via extended slice");
+
+        boost::python::throw_error_already_set ();
+      }
+
+    else
+      {
+        detail::maybe_insert<
+          detail::is_member<
+            container_traits::supported_methods, method_insert>::value>::
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+  && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          apply_ (static_cast<Algorithms *>(0),
+# else
+          BOOST_NESTED_TEMPLATE apply_ <Algorithms>(
+# endif
+              *m_ptr, m_pos, val);
+
+        ++m_pos;  // Advance for any subsequent inserts
+      }
+  }
+
+  namespace detail {
+    template<bool doit> struct maybe_erase {
+      template<class Algorithms>
+      static void apply_(
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+        && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          Algorithms *,
+# endif
+          typename Algorithms::container &,
+          typename Algorithms::index_param,
+          typename Algorithms::index_param)
+      {
+        PyErr_SetString(
+            PyExc_TypeError, "container does not support item deletion");
+
+        boost::python::throw_error_already_set ();
+      }
+    };
+
+    template<> struct maybe_erase<true> {
+      template<class Algorithms>
+      static void apply_(
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+        && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          Algorithms *,
+# endif
+          typename Algorithms::container &c,
+          typename Algorithms::index_param from,
+          typename Algorithms::index_param to)
+      {
+        Algorithms::erase_range (c, from, to);
+      }
+    };
+  }
+
+  template<typename Algorithms, typename SliceType>
+  void int_slice_helper<Algorithms, SliceType>::erase_remaining () const
+  {
+    if (m_slice.step() != 1)
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "attempt to delete via extended slice");
+
+        boost::python::throw_error_already_set ();
+      }
+
+    else
+      {
+        detail::maybe_erase<
+          detail::is_member<
+            container_traits::supported_methods, method_delitem>::value>::
+
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+  && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          apply_ (static_cast<Algorithms *>(0),
+# else
+          BOOST_NESTED_TEMPLATE apply_ <Algorithms>(
+# endif
+              *m_ptr, m_pos, m_slice.stop());
+      }
+  }
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_INT_SLICE_HELPER_HPP
diff --git a/indexing_suite_v2/indexing_suite/iterator_range.hpp b/indexing_suite_v2/indexing_suite/iterator_range.hpp
new file mode 100644
index 0000000..80faf9d
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/iterator_range.hpp
@@ -0,0 +1,261 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file iterator_range.hpp
+//
+// Emulate an STL container using a pair of iterators. Doesn't support
+// insertion or deletion, for the obvious reasons.
+//
+// History
+// =======
+// 2003/ 9/ 9   rmg     File creation as iterator_pair.hpp
+// 2003/10/27   rmg     Renamed iterator_range.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: iterator_range.hpp,v 1.1.2.7 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ITERATOR_RANGE_HPP
+#define BOOST_PYTHON_INDEXING_ITERATOR_RANGE_HPP
+
+#include <stdexcept>
+#include <algorithm>
+#include <utility>
+#include <boost/type_traits.hpp>
+#include <boost/type_traits/ice.hpp>
+#include <boost/detail/workaround.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <indexing_suite/iterator_traits.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename Iterator>
+  class iterator_range
+  {
+  private:
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <Iterator>::param_type
+        iterator_param;
+
+    typedef ::boost::detail::iterator_traits<Iterator> std_traits;
+
+  public:
+    typedef typename std_traits::reference       reference;
+    typedef Iterator                             iterator;
+    typedef typename std_traits::difference_type size_type;
+    typedef typename std_traits::difference_type difference_type;
+    typedef typename std_traits::value_type      value_type;
+    typedef typename std_traits::pointer         pointer;
+
+    typedef iterator                             const_iterator;
+    // Can't tell what the const version of our iterator should
+    // be. The client code will have to instantiate iterator_range
+    // directly with a const_iterator if that's what it wants.
+
+    // Also can't provide: allocator_type, reverse_iterator or
+    // const_reverse_iterator. Could probably provide (but don't)
+    // const_reference and const_pointer. These would be the same as
+    // reference and pointer if Iterator is itself a const_iterator.
+
+  public:
+    iterator_range (iterator_param, iterator_param);
+    iterator_range (std::pair<iterator, iterator> const &);
+
+    iterator begin() const;
+    iterator end() const;
+
+  public:
+    // Only sensible for random_access iterators
+    size_type size () const;
+    reference operator[] (size_type) const;
+    reference at (size_type) const;
+
+  private:
+    iterator m_begin;
+    iterator m_end;
+  };
+
+  // Array support function(s).
+  template<typename T> iterator_range<T *> make_iterator_range (T *, T*);
+
+#if !BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+  template<typename T, std::size_t N> iterator_range<T *> make_iterator_range(
+      T (&array)[N]);
+
+  template<typename T, std::size_t N> T *begin (T (&array)[N]);
+  template<typename T, std::size_t N> T *end   (T (&array)[N]);
+
+# define BOOST_MAKE_ITERATOR_RANGE \
+      ::boost::python::indexing::make_iterator_range
+
+#else
+  // For compilers that can't deduce template argument array bounds
+# define BOOST_MAKE_ITERATOR_RANGE(array) \
+      ::boost::python::indexing::make_iterator_range ( \
+          (array), ((array) + sizeof(array) / sizeof((array)[0])))
+#endif
+
+  template<typename Iterator>
+  iterator_range<Iterator>::iterator_range(
+      iterator_param begin, iterator_param end)
+    : m_begin (begin),
+    m_end (end)
+  {
+  }
+
+  template<typename Iterator>
+  iterator_range<Iterator>
+  ::iterator_range (std::pair<iterator, iterator> const &pair)
+    : m_begin (pair.first),
+    m_end (pair.second)
+  {
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::iterator
+  iterator_range<Iterator>::begin() const
+  {
+    return m_begin;
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::iterator
+  iterator_range<Iterator>::end() const
+  {
+    return m_end;
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::size_type
+  iterator_range<Iterator>::size() const
+  {
+    return std::distance (begin(), end());
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::reference
+  iterator_range<Iterator>::operator[](size_type index) const
+  {
+    iterator temp (begin());
+    std::advance (temp, index);
+    return *temp;
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::reference
+  iterator_range<Iterator>::at (size_type index) const
+  {
+    if (index >= size())
+      {
+        throw std::out_of_range
+          (std::string ("iterator_range: index out of range"));
+      }
+
+    else
+      {
+        return (*this)[index];
+      }
+  }
+
+  template<typename T> iterator_range<T *> make_iterator_range (T *p1, T* p2)
+  {
+    return iterator_range<T *> (p1, p2);
+  }
+
+#if !BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+  template<typename T, std::size_t N>
+  T *begin (T (&array)[N]) {
+    return array;
+  }
+
+  template<typename T, std::size_t N>
+  T *end (T (&array)[N]) {
+    return array + N;
+  }
+
+  template<typename T, std::size_t N>
+  iterator_range<T *> make_iterator_range (T (&array)[N]) {
+    return iterator_range<T *>(begin (array), end (array));
+  }
+#endif
+
+  template<typename Container, typename ValueTraits = detail::no_override>
+  class iterator_range_traits
+    : public base_container_traits<Container, ValueTraits>
+  {
+    typedef base_container_traits<Container, ValueTraits> base_class;
+
+    typedef ::boost::python::indexing::iterator_traits<
+      typename Container::iterator
+    > iterator_traits_type;
+
+  public:
+    typedef typename base_class::value_traits_type value_traits_type;
+
+  private:
+    // Methods that we *can't* support because of our value type
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        disabled_methods = (
+            detail::method_set_if<
+               type_traits::ice_not<
+                   value_traits_type::equality_comparable
+               >::value,
+                 method_index      // Impossible if !equality_comparable
+               | method_contains   // Impossible if !equality_comparable
+               | method_count      // Impossible if !equality_comparable
+            >::value
+
+          | detail::method_set_if<
+               type_traits::ice_not<
+                   value_traits_type::less_than_comparable
+               >::value,
+               method_sort         // Impossible if !less_than_comparable
+            >::value
+        ));
+
+  public:
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods =
+        iterator_traits_type::supported_methods & ~disabled_methods);
+  };
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for iterator_range instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <typename Iterator>
+    class algorithms_selector<iterator_range<Iterator> >
+    {
+      typedef iterator_range<Iterator> Container;
+
+      typedef iterator_range_traits<Container>       mutable_traits;
+      typedef iterator_range_traits<Container const> const_traits; // ?
+
+    public:
+      typedef default_algorithms<mutable_traits> mutable_algorithms;
+      typedef default_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = iterator_range_traits<Container>
+  >
+  struct iterator_range_suite
+    : container_suite<Container, MethodMask, default_algorithms<Traits> >
+  {
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_ITERATOR_RANGE_HPP
diff --git a/indexing_suite_v2/indexing_suite/iterator_traits.hpp b/indexing_suite_v2/indexing_suite/iterator_traits.hpp
new file mode 100644
index 0000000..0dd882f
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/iterator_traits.hpp
@@ -0,0 +1,212 @@
+// -*- mode:c++ -*-
+//
+// Header file iterator_traits.hpp
+//
+// Traits information about iterators for use in determining what
+// Python methods to support for a container.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 8/23   rmg     File creation as iterator_suite.hpp
+// 2003/ 9/12   rmg     Renamed iterator_traits.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: iterator_traits.hpp,v 1.1.2.14 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ITERATOR_TRAITS_HPP
+#define BOOST_PYTHON_INDEXING_ITERATOR_TRAITS_HPP
+
+#include <indexing_suite/suite_utils.hpp>
+#include <indexing_suite/methods.hpp>
+//#include <indexing_suite/workaround.hpp>
+
+//#include <boost/call_traits.hpp>
+//#include <boost/type_traits.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <boost/iterator/iterator_categories.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits common base class
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct base_iterator_traits
+  {
+  private:
+    typedef ::boost::detail::iterator_traits<Iterator> std_traits;
+    typedef typename std_traits::reference reference;
+
+  public:
+    //    typedef Iterator                             iterator;
+    //    typedef typename std_traits::value_type      value_type;
+    //    typedef typename std_traits::difference_type difference_type;
+
+    BOOST_STATIC_CONSTANT(
+        bool, has_mutable_ref = is_mutable_ref<reference>::value);
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits for input iterators
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct input_iterator_traits : base_iterator_traits<Iterator>
+  {
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+            method_iter
+        ));
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits for forward iterators
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct forward_iterator_traits
+    : public base_iterator_traits<Iterator>
+  {
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_len
+            | method_iter
+        ));
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits for bidirectional iterators
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct bidirectional_iterator_traits
+    : public forward_iterator_traits<Iterator>
+  {
+    typedef forward_iterator_traits<Iterator> base_class;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              base_class::supported_methods
+
+            | detail::method_set_if<
+                  base_class::has_mutable_ref,
+                  method_reverse
+              >::value
+        ));
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits for random access iterators
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct random_access_iterator_traits
+    : public bidirectional_iterator_traits<Iterator>
+  {
+    typedef bidirectional_iterator_traits<Iterator> base_class;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+            (base_class::supported_methods & ~method_iter)
+
+            | method_getitem
+            | method_getitem_slice
+
+            | detail::method_set_if<
+                  base_class::has_mutable_ref,
+                  method_setitem
+                | method_setitem_slice
+              >::value
+
+            | method_index     // Assumes value is equality_comparable
+            | method_contains  // Assumes value is equality_comparable
+            | method_count     // Assumes value is equality_comparable
+
+            | detail::method_set_if<
+                  base_class::has_mutable_ref,
+                  method_sort
+              >::value         // Assumes value is less_than_comparable
+
+        ));
+  };
+
+  namespace iterator_detail {
+    // Some meta-progamming machinery to select the right
+    // indexing::iterator_traits template on the basis of
+    // BOOST_ITERATOR_CATEGORY
+
+    typedef char basic_iter_sizer[1];
+    typedef char forward_iter_sizer[2];
+    typedef char bidirectional_iter_sizer[3];
+    typedef char random_access_iter_sizer[4];
+
+    basic_iter_sizer         &sizer (void *);
+    forward_iter_sizer       &sizer (std::forward_iterator_tag *);
+    bidirectional_iter_sizer &sizer (std::bidirectional_iterator_tag *);
+    random_access_iter_sizer &sizer (std::random_access_iterator_tag *);
+
+    template<size_t Size> struct traits_by_size {
+      // Default implementation gives only the most basic support
+      template<typename Iterator>
+        struct traits {
+          typedef input_iterator_traits<Iterator> type;
+        };
+    };
+
+    template<>
+    struct traits_by_size<sizeof(forward_iter_sizer)> {
+      template<typename Iterator>
+        struct traits {
+          typedef forward_iterator_traits<Iterator> type;
+        };
+    };
+
+    template<>
+    struct traits_by_size<sizeof(bidirectional_iter_sizer)> {
+      template<typename Iterator>
+        struct traits {
+          typedef bidirectional_iterator_traits<Iterator> type;
+        };
+    };
+
+    template<>
+    struct traits_by_size<sizeof(random_access_iter_sizer)> {
+      template<typename Iterator>
+        struct traits {
+          typedef random_access_iterator_traits<Iterator> type;
+        };
+    };
+
+    template<typename Iterator>
+    class deduced_traits {
+      typedef typename ::boost::BOOST_ITERATOR_CATEGORY<Iterator>::type
+          category;
+
+      BOOST_STATIC_CONSTANT(
+          size_t, sizer_result = sizeof (sizer (new category)));
+
+    public:
+      typedef typename traits_by_size<sizer_result>
+        ::BOOST_NESTED_TEMPLATE traits<Iterator>::type type;
+    };
+  }
+
+  template<typename Iterator>
+  struct iterator_traits
+    : public iterator_detail::deduced_traits<Iterator>::type
+  {
+  };
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_ITERATOR_TRAITS_HPP
diff --git a/indexing_suite_v2/indexing_suite/list.hpp b/indexing_suite_v2/indexing_suite/list.hpp
new file mode 100644
index 0000000..27f271f
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/list.hpp
@@ -0,0 +1,168 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file list.hpp
+//
+// Indexing algorithms support for std::list instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: list.hpp,v 1.1.2.7 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_LIST_HPP
+#define BOOST_PYTHON_INDEXING_LIST_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <list>
+
+#if BOOST_WORKAROUND (BOOST_MSVC, == 1200)
+# include <boost/static_assert.hpp>
+# include <boost/type_traits.hpp>
+#endif
+
+namespace boost { namespace python { namespace indexing {
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for std::list instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container, typename ValueTraits = detail::no_override>
+  class list_traits
+    : public base_container_traits<Container, ValueTraits>
+  {
+    typedef base_container_traits<Container, ValueTraits> base_class;
+
+  public:
+    typedef typename base_class::value_traits_type value_traits_type;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_len
+            | method_iter
+
+            | detail::method_set_if<
+                  value_traits_type::equality_comparable,
+                    method_contains
+                  | method_count
+              >::value
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                  method_reverse
+                  | method_append
+              >::value
+
+            | detail::method_set_if<
+                  type_traits::ice_and<
+                      base_class::is_mutable,
+                      value_traits_type::less_than_comparable
+                  >::value,
+                  method_sort
+              >::value
+
+        ));
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms implementation for std::list instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class list_algorithms
+    : public default_algorithms
+        <ContainerTraits,
+        typename detail::maybe_override
+            <list_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef list_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
+    typedef default_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::container container;
+
+    // Use member functions for the following (hiding base class versions)
+    static void      reverse    (container &);
+    static void      sort       (container &);
+    //    static void      sort       (container &, PyObject *);
+  };
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::list instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class T, class Allocator>
+    class algorithms_selector<std::list<T, Allocator> >
+    {
+      typedef std::list<T, Allocator> Container;
+
+      typedef list_traits<Container>       mutable_traits;
+      typedef list_traits<Container const> const_traits;
+
+    public:
+      typedef list_algorithms<mutable_traits> mutable_algorithms;
+      typedef list_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = list_traits<Container>
+  >
+  struct list_suite
+    : container_suite<Container, MethodMask, list_algorithms<Traits> >
+  {
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Reverse the contents of a list (using member function)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void list_algorithms<ContainerTraits, Ovr>::reverse (container &c)
+  {
+    c.reverse();
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Sort the contents of a list (using member function)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void list_algorithms<ContainerTraits, Ovr>::sort (container &c)
+  {
+    typedef typename self_type::container_traits::value_traits_type
+      vtraits;
+
+    typedef typename vtraits::less comparison;
+#if BOOST_WORKAROUND (BOOST_MSVC, == 1200)
+    // MSVC6 doesn't have a templated sort member in list, so we just
+    // use the parameterless version. This gives the correct behaviour
+    // provided that value_traits_type::less is exactly
+    // std::less<value_type>. It would be possible to support
+    // std::greater<T> (the only other overload of list::sort in
+    // MSVC6) with some additional work.
+    BOOST_STATIC_ASSERT(
+        (::boost::is_same<comparison, std::less<value_type> >::value));
+    c.sort ();
+#else
+    c.sort (comparison());
+#endif
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_LIST_HPP
diff --git a/indexing_suite_v2/indexing_suite/map.hpp b/indexing_suite_v2/indexing_suite/map.hpp
new file mode 100644
index 0000000..19a1d9d
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/map.hpp
@@ -0,0 +1,241 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file map.hpp
+//
+// Indexing algorithms support for std::map instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+// 2010/04/29   Roman   Adding "__len__" method
+//
+// $Id: map.hpp,v 1.1.2.6 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_MAP_HPP
+#define BOOST_PYTHON_INDEXING_MAP_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <boost/detail/workaround.hpp>
+#include <map>
+#include <indexing_suite/pair.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for std::map instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container>
+  class map_traits : public base_container_traits<Container>
+  {
+    typedef base_container_traits<Container> base_class;
+
+  public:
+# if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+    // MSVC6 has a nonstandard name for mapped_type in std::map
+    typedef typename Container::referent_type value_type;
+# else
+    typedef typename Container::mapped_type value_type;
+# endif
+    typedef value_type &                    reference;
+    typedef typename Container::key_type    index_type; // operator[]
+    typedef typename Container::key_type    key_type;   // find, count, ...
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <value_type>::param_type
+      value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <key_type>::param_type
+      key_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <index_type>::param_type
+      index_param;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_iter
+
+            | method_getitem
+            | method_contains
+            | method_count
+            | method_has_key
+            | method_len
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                    method_setitem
+                  | method_delitem
+                  | method_insert
+              >::value
+        ));
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms implementation for std::map instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class map_algorithms
+    : public assoc_algorithms
+        <ContainerTraits,
+        typename detail::maybe_override
+            <map_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef map_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
+    typedef assoc_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::container container;
+    typedef typename Parent::reference reference;
+    typedef typename Parent::index_param index_param;
+    typedef typename Parent::value_param value_param;
+
+    static reference get (container &, index_param);
+    // Version to return only the mapped type
+
+    static boost::python::list keys( container & );
+
+    static void      assign     (container &, index_param, value_param);
+    static void      insert     (container &, index_param, value_param);
+
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class( PythonClass &pyClass, Policy const &policy)
+    {
+      ContainerTraits::visit_container_class (pyClass, policy);
+      pyClass.def( "keys", &self_type::keys );
+
+      typedef BOOST_DEDUCED_TYPENAME most_derived::container::value_type value_type;
+      mapping::register_value_type< PythonClass, value_type, Policy >( pyClass );
+      //now we can expose iterators functionality
+      pyClass.def( "__iter__", python::iterator< BOOST_DEDUCED_TYPENAME most_derived::container >() );
+    }
+
+  };
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::map instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class Key, class T, class Compare, class Allocator>
+    class algorithms_selector<std::map<Key, T, Compare, Allocator> >
+    {
+      typedef std::map<Key, T, Compare, Allocator> Container;
+
+      typedef map_traits<Container>       mutable_traits;
+      typedef map_traits<Container const> const_traits;
+
+    public:
+      typedef map_algorithms<mutable_traits> mutable_algorithms;
+      typedef map_algorithms<const_traits>   const_algorithms;
+    };
+
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::multimap instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class Key, class T, class Compare, class Allocator>
+    class algorithms_selector<std::multimap<Key, T, Compare, Allocator> >
+    {
+      typedef std::multimap<Key, T, Compare, Allocator> Container;
+
+      typedef map_traits<Container>       mutable_traits;
+      typedef map_traits<Container const> const_traits;
+
+    public:
+      typedef map_algorithms<mutable_traits> mutable_algorithms;
+      typedef map_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = map_traits<Container>
+  >
+  struct map_suite
+    : container_suite<Container, MethodMask, map_algorithms<Traits> >
+  {
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Index into a container (map version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME map_algorithms<ContainerTraits, Ovr>::reference
+  map_algorithms<ContainerTraits, Ovr>::get (container &c, index_param ix)
+  {
+    return most_derived::find_or_throw (c, ix)->second;
+  }
+
+
+  template<typename ContainerTraits, typename Ovr>
+  boost::python::list
+  map_algorithms<ContainerTraits, Ovr>::keys( container &c )
+  {
+    boost::python::list _keys;
+    //For some reason code with set could not be compiled
+    //std::set< key_param > unique_keys;
+    typedef BOOST_DEDUCED_TYPENAME container::iterator iter_type;
+    for( iter_type index = most_derived::begin(c); index != most_derived::end(c); ++index ){
+        //if( unique_keys.end() == unique_keys.find( index->first ) ){
+        //    unique_keys.insert( index->first );
+        if( !_keys.count( index->first ) ){
+            _keys.append( index->first );
+        }
+        //}
+    }
+
+    return _keys;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Assign a value at a particular index (map version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  map_algorithms<ContainerTraits, Ovr>::assign(
+      container &c, index_param ix, value_param val)
+  {
+    c[ix] = val;   // Handles overwrite and insert
+  }
+
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert a new key, value pair into a map
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  map_algorithms<ContainerTraits, Ovr>::insert(
+      container &c, index_param ix, value_param val)
+  {
+    typedef std::pair
+      <BOOST_DEDUCED_TYPENAME self_type::container_traits::index_type,
+      BOOST_DEDUCED_TYPENAME self_type::container_traits::value_type>
+      pair_type;
+
+    // Can't use std::make_pair, because param types may be references
+
+    if (!c.insert (pair_type (ix, val)).second)
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "Map already holds value for insertion");
+
+        boost::python::throw_error_already_set ();
+      }
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_MAP_HPP
diff --git a/indexing_suite_v2/indexing_suite/methods.hpp b/indexing_suite_v2/indexing_suite/methods.hpp
new file mode 100644
index 0000000..6d27d8f
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/methods.hpp
@@ -0,0 +1,114 @@
+// Copyright (c) 2004 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file methods.hpp
+//
+// Methods (and sets of methods) that containers can provide.
+//
+// History
+// =======
+// 2004/ 1/11   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: methods.hpp,v 1.1.2.1 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_METHODS_HPP
+#define BOOST_PYTHON_INDEXING_METHODS_HPP
+
+#include <boost/config.hpp>
+#include <boost/mpl/if.hpp>
+
+namespace boost { namespace python { namespace indexing {
+
+  typedef unsigned long method_set_type;
+
+  enum methods_enum {
+    method_len            = 1UL <<  0,
+    method_iter           = 1UL <<  1,
+    method_getitem        = 1UL <<  2,
+    method_getitem_slice  = 1UL <<  3,
+    method_index          = 1UL <<  4,
+    method_contains       = 1UL <<  5,
+    method_count          = 1UL <<  6,
+    method_has_key        = 1UL <<  7,
+    method_setitem        = 1UL <<  8,
+    method_setitem_slice  = 1UL <<  9,
+    method_delitem        = 1UL << 10,
+    method_delitem_slice  = 1UL << 11,
+    method_reverse        = 1UL << 12,
+    method_append         = 1UL << 13,
+    method_insert         = 1UL << 14,
+    method_extend         = 1UL << 15,
+    method_sort           = 1UL << 16
+  };
+
+  // Some sets of methods that could be useful for disabling expensive
+  // features. e.g. something & ~(slice_methods | search_methods)
+
+  enum {
+    slice_methods
+      = method_getitem_slice | method_setitem_slice | method_delitem_slice
+  };
+
+  enum {
+    search_methods
+      = method_index | method_contains | method_count | method_has_key
+  };
+
+  enum {
+    reorder_methods
+      = method_sort | method_reverse
+  };
+
+  enum {
+    insert_methods
+      = method_append | method_insert | method_extend
+  };
+
+  enum {
+    all_methods = ~0UL
+  };
+
+  namespace detail {
+    // Compile-time constant selection:
+    //
+    // method_set_if<c, t, f>::value == (c ? t : f)
+    //
+    // where c is convertible to bool, and t and f are convertible to
+    // method_set_type. This gives a compile-time constant reliably on
+    // all supported compilers.
+
+    template<
+        bool Cond, method_set_type TrueValue, method_set_type FalseValue = 0>
+
+    struct method_set_if {
+      struct true_type {
+        BOOST_STATIC_CONSTANT(method_set_type, value = TrueValue);
+      };
+
+      struct false_type {
+        BOOST_STATIC_CONSTANT(method_set_type, value = FalseValue);
+      };
+
+      typedef typename mpl::if_c<Cond, true_type, false_type>::type
+          result_type;
+
+      BOOST_STATIC_CONSTANT(method_set_type, value = result_type::value);
+    };
+
+    // Compile-time set membership test:
+    // is_member<set, mem>::value == (bool) set & mem
+    template<method_set_type Set, method_set_type Member>
+    struct is_member {
+      // Use a cast to prevent MSVC truncation warning C4305
+      BOOST_STATIC_CONSTANT (bool, value = (bool) (Set & Member));
+    };
+  }
+
+} } } // boost::python::indexing
+
+#endif // BOOST_PYTHON_INDEXING_METHODS_HPP
diff --git a/indexing_suite_v2/indexing_suite/multimap.hpp b/indexing_suite_v2/indexing_suite/multimap.hpp
new file mode 100644
index 0000000..69d5c45
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/multimap.hpp
@@ -0,0 +1,206 @@
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file multimap.hpp
+//
+// Indexing algorithms support for std::multimap instances
+//
+// History
+// =======
+// 2006/10/27   Roman     File creation from map.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+// 2010/04/29   Roman   Adding "__len__" method
+//
+
+#ifndef BOOST_PYTHON_INDEXING_MULTIMAP_HPP
+#define BOOST_PYTHON_INDEXING_MULTIMAP_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <boost/detail/workaround.hpp>
+#include <functional>
+#include <map>
+#include <indexing_suite/pair.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for std::map instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container>
+  class multimap_traits : public base_container_traits<Container>
+  {
+    typedef base_container_traits<Container> base_class;
+
+  public:
+# if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+    // MSVC6 has a nonstandard name for mapped_type in std::multimap
+    typedef typename Container::referent_type value_type;
+# else
+    typedef typename Container::mapped_type value_type;
+# endif
+    typedef value_type &                    reference;
+    typedef typename Container::key_type    index_type; // operator[]
+    typedef typename Container::key_type    key_type;   // find, count, ...
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <value_type>::param_type
+      value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <key_type>::param_type
+      key_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <index_type>::param_type
+      index_param;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_iter
+
+            | method_getitem
+            | method_contains
+            | method_count
+            | method_has_key
+            | method_len
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                    method_setitem
+                  | method_delitem
+                  | method_insert
+              >::value
+        ));
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms implementation for std::multimap instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class multimap_algorithms
+    : public assoc_algorithms
+        <ContainerTraits,
+        typename detail::maybe_override
+            <multimap_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef multimap_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
+    typedef assoc_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::container container;
+    typedef typename Parent::reference reference;
+    typedef typename Parent::index_param index_param;
+    typedef typename Parent::value_param value_param;
+
+    static boost::python::list get (container &, index_param);
+    // Version to return only the mapped type
+
+    static boost::python::list keys( container & );
+
+    static void      assign     (container &, index_param, value_param);
+    static void      insert     (container &, index_param, value_param);
+
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class( PythonClass &pyClass, Policy const &policy)
+    {
+      ContainerTraits::visit_container_class (pyClass, policy);
+      pyClass.def( "keys", &self_type::keys );
+
+      typedef BOOST_DEDUCED_TYPENAME most_derived::container::value_type value_type;
+      mapping::register_value_type< PythonClass, value_type, Policy >( pyClass );
+      //now we can expose iterators functionality
+      pyClass.def( "__iter__", python::iterator< BOOST_DEDUCED_TYPENAME most_derived::container >() );
+
+    }
+
+  };
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = multimap_traits<Container>
+  >
+  struct multimap_suite
+    : container_suite<Container, MethodMask, multimap_algorithms<Traits> >
+  {
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Index into a container (multimap version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  boost::python::list
+  multimap_algorithms<ContainerTraits, Ovr>::get (container &c, index_param ix)
+  {
+    boost::python::list l;
+    typedef BOOST_DEDUCED_TYPENAME container::iterator iter_type;
+    for( iter_type index = c.lower_bound( ix ); index != c.upper_bound( ix ); ++index ){
+        boost::python::object v( index->second );
+        l.append( v );
+    }
+    return l;
+  }
+
+  template<typename ContainerTraits, typename Ovr>
+  boost::python::list
+  multimap_algorithms<ContainerTraits, Ovr>::keys( container &c )
+  {
+    boost::python::list _keys;
+    //For some reason code with set could not be compiled
+    //std::set< key_param > unique_keys;
+    typedef BOOST_DEDUCED_TYPENAME container::iterator iter_type;
+    for( iter_type index = most_derived::begin(c); index != most_derived::end(c); ++index ){
+        //if( unique_keys.end() == unique_keys.find( index->first ) ){
+        //    unique_keys.insert( index->first );
+        if( !_keys.count( index->first ) ){
+            _keys.append( index->first );
+        }
+        //}
+    }
+
+    return _keys;
+  }
+
+
+  /////////////////////////////////////////////////////////////////////////
+  // Assign a value at a particular index (map version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  multimap_algorithms<ContainerTraits, Ovr>::assign(
+      container &c, index_param ix, value_param val)
+  {
+    typedef std::pair<
+        BOOST_DEDUCED_TYPENAME self_type::container_traits::index_type
+        , BOOST_DEDUCED_TYPENAME self_type::container_traits::value_type>
+    pair_type;
+
+    // Can't use std::make_pair, because param types may be references
+    c.insert (pair_type (ix, val));
+  }
+
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert a new key, value pair into a map
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  multimap_algorithms<ContainerTraits, Ovr>::insert(
+      container &c, index_param ix, value_param val)
+  {
+    typedef std::pair
+      <BOOST_DEDUCED_TYPENAME self_type::container_traits::index_type,
+      BOOST_DEDUCED_TYPENAME self_type::container_traits::value_type>
+      pair_type;
+
+    // Can't use std::make_pair, because param types may be references
+    c.insert (pair_type (ix, val) );
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_MULTIMAP_HPP
diff --git a/indexing_suite_v2/indexing_suite/pair.hpp b/indexing_suite_v2/indexing_suite/pair.hpp
new file mode 100644
index 0000000..30598cd
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/pair.hpp
@@ -0,0 +1,105 @@
+// Header file pair.hpp
+//
+// Exposes std::pair< key, value > class
+//
+// Copyright (c) 2007 Roman Yakovenko
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2007/2/11   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+
+#ifndef BOOST_PYTHON_STD_PAIR_KEY_VALUE_11_02_2007_HPP
+#define BOOST_PYTHON_STD_PAIR_KEY_VALUE_11_02_2007_HPP
+
+#include <boost/config.hpp>
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/registry_utils.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <boost/detail/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing { namespace mapping{
+
+namespace details{
+
+template< typename TValueType, typename TValueCallPolicies >
+struct pair_exposer_t{
+
+    typedef TValueType pair_type;
+    typedef BOOST_DEDUCED_TYPENAME pair_type::first_type key_type;
+    typedef BOOST_DEDUCED_TYPENAME pair_type::second_type mapped_type;
+    typedef pair_exposer_t< TValueType, TValueCallPolicies > exposer_type;
+
+    pair_exposer_t(const std::string& name){
+        if( boost::python::registry::utils::is_registered< pair_type >() ){
+            boost::python::registry::utils::register_alias<pair_type>( name.c_str() );
+        }
+        else{
+            class_< pair_type >( name.c_str() )
+                .def( "__len__", &exposer_type::len )
+                .def( "__getitem__", &exposer_type::get_item )
+                .add_property( "key", &exposer_type::get_key )
+                .add_property( "value", &exposer_type::get_mapped );
+        }
+    }
+
+private:
+
+    static size_t len( const pair_type& ){
+        return 2;
+    }
+
+    static object get_item( pair_type& p, size_t index ){
+        switch( index ){
+            case 0:{
+                return get_key( p );
+            }
+            case 1:{
+                return get_mapped( p );
+            }
+            case 2:{
+                objects::stop_iteration_error();
+                return object(); //will not reach this line
+            }
+            default:{
+                PyErr_SetString( PyExc_IndexError, "the only valid index numbers are: 0 and 1");
+                throw_error_already_set();
+                return object(); //will not reach this line
+            }
+        }
+    }
+
+    static object get_key( const pair_type& p ){
+        return object( p.first );
+    }
+
+    static object get_mapped( pair_type& p ){
+        typedef BOOST_DEDUCED_TYPENAME TValueCallPolicies::result_converter rc_type;
+        typedef BOOST_DEDUCED_TYPENAME rc_type:: template apply< mapped_type >::type converter_type;
+        converter_type converter;
+        return object( handle<>( converter( p.second ) ) );
+    }
+
+};
+} //details
+
+template< typename TPythonClass, typename TValueType, typename TValueCallPolicies >
+inline void register_value_type(TPythonClass &pyClass){
+    typedef details::pair_exposer_t< TValueType, TValueCallPolicies > exposer_type;
+
+    object class_name(pyClass.attr("__name__"));
+    extract<std::string> class_name_extractor(class_name);
+    std::string pair_name = class_name_extractor() + "_entry";
+
+    exposer_type expose( pair_name );
+}
+
+} } } }
+
+#endif // BOOST_PYTHON_STD_PAIR_KEY_VALUE_11_02_2007_HPP
diff --git a/indexing_suite_v2/indexing_suite/proxy_iterator.hpp b/indexing_suite_v2/indexing_suite/proxy_iterator.hpp
new file mode 100644
index 0000000..f0a27de
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/proxy_iterator.hpp
@@ -0,0 +1,164 @@
+
+// Header file proxy_iterator.hpp
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/10/ 8   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: proxy_iterator.hpp,v 1.1.2.8 2003/12/05 17:36:14 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_PROXY_ITERATOR_HPP
+#define BOOST_PYTHON_INDEXING_PROXY_ITERATOR_HPP
+
+#include <iterator>
+#include <boost/config.hpp>
+#include <boost/iterator.hpp>
+#include <boost/detail/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing {
+
+  template <class ContainerProxy, typename ElementProxy, typename Traits,
+      typename Size, typename Iter>
+  class proxy_iterator
+    : public boost::iterator<
+          std::random_access_iterator_tag,
+          ElementProxy,
+          typename Traits::difference_type,
+          ElementProxy *,
+          ElementProxy // Already has reference semantics
+      >
+  {
+#if !defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+    template<class C, class H, class G> friend class container_proxy;
+#endif
+
+    typedef boost::iterator<
+        std::random_access_iterator_tag,
+        ElementProxy,
+        typename Traits::difference_type,
+        ElementProxy *,
+        ElementProxy
+    > base_type;
+
+  public:
+    typedef ContainerProxy container_proxy_type;
+
+    typedef Iter raw_iterator;
+    typedef Traits raw_iterator_traits;
+    typedef Size size_type;
+    typedef typename base_type::value_type value_type;
+    typedef typename base_type::difference_type difference_type;
+
+    typedef value_type *pointer;
+    typedef value_type reference; // Already has reference semantics
+
+    proxy_iterator (container_proxy_type *p, size_type i)
+      : ptr (p), index (i)
+    {
+    }
+
+    proxy_iterator (container_proxy_type *p, raw_iterator iter)
+      : ptr (p), index (iter - p->raw_container().begin())
+    {
+    }
+
+    reference operator*() const { return ptr->at(index); }
+    pointer operator->() const { return &ptr->at(index); }
+    reference operator[](size_type s) { return ptr->at (index + s); }
+
+    proxy_iterator &operator++ () { ++index; return *this; }
+    proxy_iterator &operator+= (size_type s) { index += s; return *this; }
+
+    proxy_iterator &operator-- () { --index; return *this; }
+
+    proxy_iterator operator++ (int) {
+      proxy_iterator temp(*this);
+      ++index;
+      return temp;
+    }
+
+    proxy_iterator operator-- (int) {
+      proxy_iterator temp(*this);
+      --index;
+      return temp;
+    }
+
+    proxy_iterator &operator-= (size_type s) { index -= s; return *this; }
+
+    proxy_iterator operator+ (size_type s) const {
+      return proxy_iterator(*this) += s;
+    }
+
+    proxy_iterator operator- (size_type s) const {
+      return proxy_iterator(*this) -= s;
+    }
+
+    difference_type operator- (proxy_iterator i) const {
+      return index - i.index;
+    }
+
+    bool operator== (proxy_iterator const &other) const {
+      return (ptr == other.ptr) && (index == other.index);
+    }
+
+    bool operator!= (proxy_iterator const &other) const {
+      return !(*this == other);
+    }
+
+    bool operator< (proxy_iterator const &other) const {
+      return index < other.index;
+    }
+
+    bool operator<= (proxy_iterator const &other) const {
+      return index <= other.index;
+    }
+
+    bool operator> (proxy_iterator const &other) const {
+      return index > other.index;
+    }
+
+    bool operator>= (proxy_iterator const &other) const {
+      return index >= other.index;
+    }
+
+    void iter_swap (proxy_iterator const &other) const {
+      ptr->swap_elements (index, other.index);
+    }
+
+    //  public:
+    // Extensions to the normal iterator interface
+    //    void replace (value_type const &copy) { ptr->replace (index, copy); }
+
+#if defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+    // Can't declare container_proxy as friend, so make data public
+  public:
+#else
+  private:
+#endif
+    container_proxy_type *ptr;
+    size_type index;
+  };
+} } }
+
+#if !BOOST_WORKAROUND (BOOST_MSVC, == 1300)
+// MSVC7.0 can't decide between this and the unspecialized version
+namespace std {
+  template <class C, typename E, typename T, typename S, typename I>
+  void iter_swap(
+      boost::python::indexing::proxy_iterator<C, E, T, S, I> const &first,
+      boost::python::indexing::proxy_iterator<C, E, T, S, I> const &second)
+  {
+    first.iter_swap (second);
+  }
+}
+#endif
+
+#endif // BOOST_PYTHON_INDEXING_PROXY_ITERATOR_HPP
diff --git a/indexing_suite_v2/indexing_suite/python_iterator.hpp b/indexing_suite_v2/indexing_suite/python_iterator.hpp
new file mode 100644
index 0000000..0f87116
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/python_iterator.hpp
@@ -0,0 +1,81 @@
+// -*- mode:c++ -*-
+//
+// Header file python_iterator.hpp
+//
+// Handy Python iterable iterators
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/10   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: python_iterator.hpp,v 1.1.2.5 2003/11/24 16:35:09 raoulgough Exp $
+//
+// 2008 November 27 Roman Yakovenko
+// implementation of the member functions was moved from cpp to header.
+// this was done to simplify "installation" procedure.
+
+#ifndef BOOST_PYTHON_INDEXING_PYTHON_ITERATOR_HPP
+#define BOOST_PYTHON_INDEXING_PYTHON_ITERATOR_HPP
+
+#include <boost/python/object.hpp>
+#include <boost/python/handle.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  struct /*BOOST_PYTHON_DECL*/ python_iterator
+  {
+    python_iterator (boost::python::object obj)
+    : m_iter_obj (handle<> (PyObject_GetIter (obj.ptr()))),
+      m_next_method (m_iter_obj.attr ("next")),
+      m_current()
+    {
+    }
+
+    // Sets a python type exception and calls throw_error_already_set if
+    // the passed object is not iterable via PyObject_GetIter
+
+    bool next ()
+    {
+        bool result = true; // Assume success
+
+        try
+        {
+            m_current = m_next_method ();
+        }
+        catch (boost::python::error_already_set const &)
+        {
+            if (PyErr_ExceptionMatches (PyExc_StopIteration))
+            {
+                // Eat this exception
+                PyErr_Clear ();
+                m_current = boost::python::object (); // No current object
+                result = false; // Report failure via return value only
+            }
+            else
+            {
+                // Pass it up the line
+                throw;
+            }
+        }
+        return result;
+    }
+    // Get the next item from the iterator, returning true for success
+
+    boost::python::object current() const
+    { return m_current; }
+    // Callable only after a successful next()
+
+  private:
+    ::boost::python::object m_iter_obj;
+    ::boost::python::object m_next_method;
+    ::boost::python::object m_current;
+  };
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_PYTHON_ITERATOR_HPP
diff --git a/indexing_suite_v2/indexing_suite/registry_utils.hpp b/indexing_suite_v2/indexing_suite/registry_utils.hpp
new file mode 100644
index 0000000..aec9b86
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/registry_utils.hpp
@@ -0,0 +1,41 @@
+// Header file registry_utils.hpp
+//
+// provides few convenience functions for dealing with boost:python registry
+//
+// Copyright (c) 2010 Roman Yakovenko
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2010/01/12   Roman     File creation
+//
+
+#ifndef REGISTRY_UTILS_12_01_2010_HPP
+#define REGISTRY_UTILS_12_01_2010_HPP
+
+#include <boost/config.hpp>
+#include "boost/python.hpp"
+#include "boost/python/converter/registry.hpp"
+
+namespace boost{ namespace python{ namespace registry{ namespace utils{
+
+template<class T>
+bool is_registered(){
+    namespace bpl = boost::python;
+    bpl::handle<> class_obj( bpl::objects::registered_class_object( bpl::type_id< T >()));
+    return class_obj.get() ? true : false;
+}
+
+template< class T >
+void register_alias( const char* name ){
+    namespace bpl = boost::python;
+    bpl::handle<> class_obj( bpl::objects::registered_class_object( bpl::type_id< T >()));
+    boost::python::scope().attr( name ) = bpl::object( class_obj );
+}
+
+}}}}
+
+#endif // REGISTRY_UTILS_12_01_2010_HPP
diff --git a/indexing_suite_v2/indexing_suite/set.hpp b/indexing_suite_v2/indexing_suite/set.hpp
new file mode 100644
index 0000000..25eed67
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/set.hpp
@@ -0,0 +1,170 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file set.hpp
+//
+// Indexing algorithms support for std::set instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+// 2010/04/29   Roman   Adding "__len__" method
+//
+// $Id: set.hpp,v 1.1.2.6 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_SET_HPP
+#define BOOST_PYTHON_INDEXING_SET_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <set>
+
+namespace boost { namespace python { namespace indexing {
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for std::set instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container>
+  class set_traits : public base_container_traits<Container>
+  {
+    typedef base_container_traits<Container> base_class;
+
+  public:
+    typedef typename Container::key_type value_type; // probably unused
+    typedef typename Container::key_type index_type; // operator[]
+    typedef typename Container::key_type key_type;   // find, count, ...
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <value_type>::param_type
+        value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <key_type>::param_type
+        key_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <index_type>::param_type
+        index_param;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_iter
+            | method_getitem
+            | method_contains
+            | method_count
+            | method_has_key
+            | method_len
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                    method_delitem
+                  | method_insert
+              >::value
+        ));
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms implementation for std::set instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class set_algorithms
+    : public assoc_algorithms
+        <ContainerTraits,
+        typename detail::maybe_override
+            <set_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef set_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
+    typedef assoc_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::container container;
+    typedef typename Parent::value_param value_param;
+    typedef typename Parent::index_param index_param;
+
+    static void      insert     (container &, index_param);
+
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class( PythonClass &pyClass, Policy const &policy)
+    {
+      ContainerTraits::visit_container_class (pyClass, policy);
+      pyClass.def( "add", &self_type::insert );
+    }
+
+  };
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::set instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class Key, class Compare, class Allocator>
+    class algorithms_selector<std::set<Key, Compare, Allocator> >
+    {
+      typedef std::set<Key, Compare, Allocator> Container;
+
+      typedef set_traits<Container>       mutable_traits;
+      typedef set_traits<Container const> const_traits;
+
+    public:
+      typedef set_algorithms<mutable_traits> mutable_algorithms;
+      typedef set_algorithms<const_traits>   const_algorithms;
+    };
+
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::multiset instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class Key, class Compare, class Allocator>
+    class algorithms_selector<std::multiset<Key, Compare, Allocator> >
+    {
+      typedef std::multiset<Key, Compare, Allocator> Container;
+
+      typedef set_traits<Container>       mutable_traits;
+      typedef set_traits<Container const> const_traits;
+
+    public:
+      typedef set_algorithms<mutable_traits> mutable_algorithms;
+      typedef set_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = set_traits<Container>
+  >
+  struct set_suite
+    : container_suite<Container, MethodMask, set_algorithms<Traits> >
+  {
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert an element into a set
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  set_algorithms<ContainerTraits, Ovr>::insert(
+      container &c, index_param ix)
+  {
+    c.insert (ix);
+    //~ Python set does not raise exception in this situation
+    //~ if (!c.insert (ix).second)
+      //~ {
+        //~ PyErr_SetString(
+            //~ PyExc_ValueError, "Set already holds value for insertion");
+
+        //~ boost::python::throw_error_already_set ();
+      //~ }
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_SET_HPP
diff --git a/indexing_suite_v2/indexing_suite/shared_proxy_impl.hpp b/indexing_suite_v2/indexing_suite/shared_proxy_impl.hpp
new file mode 100644
index 0000000..d322e35
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/shared_proxy_impl.hpp
@@ -0,0 +1,106 @@
+//
+// Header file shared_proxy_impl.hpp
+//
+// The shared implementation of the element proxy (const and non-const
+// versions).  Multiple proxy pointers can refer to the same shared
+// implementation, meaning that only one object requires updating to
+// affect all proxy pointers that ultimately refer to the same index
+// in the container.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 8/29   rmg     File creation from container_proxy.hh
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: shared_proxy_impl.hpp,v 1.1.2.8 2003/11/24 14:28:31 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_SHARED_PROXY_IMPL_HPP
+#define BOOST_PYTHON_INDEXING_SHARED_PROXY_IMPL_HPP
+
+#include <memory>
+#include <indexing_suite/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<class ContainerProxy>
+  class shared_proxy_impl
+  {
+  public:
+    typedef typename ContainerProxy::raw_value_type value_type;
+    typedef value_type &reference;
+    typedef value_type *pointer;
+    typedef void iterator_category;  // Fudge for boost::indirect_iterator
+    typedef void difference_type;    // Fudge for boost::indirect_iterator
+
+    reference operator*() const;
+    pointer operator->() const { return &(**this); }
+
+    ContainerProxy *owner() const { return m_owner_ptr; }
+    size_t index() const { return m_index; }
+
+    shared_proxy_impl (value_type const &copy);
+    // Creates value-only (detached) proxy
+
+#if defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+  public:
+#else
+  private:
+    template<class C, class A, class G> friend class container_proxy;
+#endif
+
+    shared_proxy_impl (ContainerProxy *, size_t);
+    void detach ();
+
+    ContainerProxy *m_owner_ptr;             // When attached
+    size_t m_index;                          // When attached
+    std::auto_ptr<value_type> m_element_ptr; // When detached
+
+  private:
+    // Not implemented
+    shared_proxy_impl (shared_proxy_impl const &);
+    shared_proxy_impl &operator= (shared_proxy_impl const &);
+  };
+
+  template<class ContainerProxy>
+  shared_proxy_impl<ContainerProxy>::shared_proxy_impl (ContainerProxy *owner,
+                                                        size_t index)
+    : m_owner_ptr (owner),
+    m_index (index),
+    m_element_ptr ()
+  {
+  }
+
+  template<class ContainerProxy>
+  shared_proxy_impl<ContainerProxy>::shared_proxy_impl (value_type const &val)
+    : m_owner_ptr (0),
+    m_index (static_cast<size_t>(-1)),
+    m_element_ptr (new value_type (val))
+  {
+  }
+
+  template<class ContainerProxy>
+  typename shared_proxy_impl<ContainerProxy>::reference
+  shared_proxy_impl<ContainerProxy>::operator* () const
+  {
+    return m_owner_ptr
+      ? m_owner_ptr->raw_container().BOOST_PYTHON_INDEXING_AT (m_index)
+      : *m_element_ptr;
+  }
+
+  template<class ContainerProxy>
+  void shared_proxy_impl<ContainerProxy>::detach ()
+  {
+    BOOST_PYTHON_INDEXING_RESET_AUTO_PTR(
+        m_element_ptr, new value_type (**this));
+    m_owner_ptr = 0;
+    m_index = static_cast<size_t>(-1);
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_SHARED_PROXY_IMPL_HPP
diff --git a/indexing_suite_v2/indexing_suite/slice.hpp b/indexing_suite_v2/indexing_suite/slice.hpp
new file mode 100644
index 0000000..60488f2
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/slice.hpp
@@ -0,0 +1,147 @@
+// Header file slice.hpp
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/10   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: slice.hpp,v 1.1.2.10 2003/11/24 14:28:31 raoulgough Exp $
+//
+// 2008 November 27 Roman Yakovenko
+// implementation of the member functions was moved from cpp to header.
+// this was done to simplify "installation" procedure.
+
+#ifndef BOOST_PYTHON_INDEXING_SLICE_HPP
+#define BOOST_PYTHON_INDEXING_SLICE_HPP
+
+#include <boost/python/object.hpp>
+#include <boost/python/errors.hpp>
+#include <boost/python/converter/pytype_object_mgr_traits.hpp>
+#include <algorithm>
+
+namespace boost { namespace python { namespace indexing {
+  struct /*BOOST_PYTHON_DECL*/ slice : public boost::python::object
+  {
+    // This is just a thin wrapper around boost::python::object
+    // so that it is possible to register a special converter for
+    // PySlice_Type and overload C++ functions on slice
+
+#if defined (BOOST_NO_MEMBER_TEMPLATES)
+    // MSVC6 doesn't seem to be able to invoke the templated
+    // constructor, so provide explicit overloads to match the
+    // (currently) known boost::python::object constructors
+    explicit slice (::boost::python::handle<> const& p)
+    : object (p)
+    {}
+
+    explicit slice (::boost::python::detail::borrowed_reference p)
+    : object (p)
+    {}
+
+    explicit slice (::boost::python::detail::new_reference p)
+    : object (p)
+    {}
+
+    explicit slice (::boost::python::detail::new_non_null_reference p)
+    : object (p)
+    {}
+#else
+    // Better compilers make life easier
+    template<typename T> inline slice (T const &ref);
+#endif
+
+    slice (slice const & copy) // Copy constructor
+    : object (copy)
+    {}
+  };
+
+  struct /*BOOST_PYTHON_DECL*/ integer_slice
+  {
+    // This class provides a convenient interface to Python slice
+    // objects that contain integer bound and stride values.
+
+    #if PY_VERSION_HEX < 0x02050000
+        typedef int index_type;
+    #else
+        typedef Py_ssize_t index_type;
+    #endif
+
+    integer_slice (slice const & sl, index_type length)
+      : m_slice (sl) // Leave index members uninitialized
+    {
+        PySlice_GetIndices(
+    #if PY_VERSION_HEX > 0x03020000
+            reinterpret_cast<PyObject *> (m_slice.ptr()),
+    #else
+            reinterpret_cast<PySliceObject *> (m_slice.ptr()),
+    #endif
+            length,
+            &m_start,
+            &m_stop,
+            &m_step);
+
+        if (m_step == 0)
+        {
+            // Can happen with Python prior to 2.3
+            PyErr_SetString (PyExc_ValueError, "slice step cannot be zero");
+            boost::python::throw_error_already_set ();
+        }
+
+        m_start = std::max (static_cast<index_type> (0), std::min (length, m_start));
+        m_stop = std::max (static_cast<index_type> (0), std::min (length, m_stop));
+        m_direction = (m_step > 0) ? 1 : -1;
+    }
+
+    // integer_slice must know how big the container is so it can
+    // adjust for negative indexes, etc...
+
+    index_type start() const { return m_start; }
+    index_type step() const  { return m_step; }
+    index_type stop() const  { return m_stop; }
+
+    index_type size() const { return (m_stop - m_start) / m_step; }
+
+    bool in_range (index_type index)
+    { return ((m_stop - index) * m_direction) > 0; }
+
+  private:
+    slice m_slice;
+    index_type m_start;
+    index_type m_step;
+    index_type m_stop;
+    index_type m_direction;
+  };
+} } }
+
+#if !defined (BOOST_NO_MEMBER_TEMPLATES)
+template<typename T>
+boost::python::indexing::slice::slice (T const &ref)
+  : boost::python::object (ref)
+{
+  if (!PySlice_Check (this->ptr()))
+    {
+      PyErr_SetString(
+          PyExc_TypeError, "slice constructor: passed a non-slice object");
+
+      boost::python::throw_error_already_set();
+    }
+}
+#endif
+
+namespace boost { namespace python { namespace converter {
+  // Specialized converter to handle PySlice_Type objects
+  template<>
+  struct object_manager_traits<boost::python::indexing::slice>
+    : pytype_object_manager_traits<
+         &PySlice_Type, ::boost::python::indexing::slice>
+  {
+  };
+}}}
+
+#endif // BOOST_PYTHON_INDEXING_SLICE_HPP
diff --git a/indexing_suite_v2/indexing_suite/slice_handler.hpp b/indexing_suite_v2/indexing_suite/slice_handler.hpp
new file mode 100644
index 0000000..09bc2ee
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/slice_handler.hpp
@@ -0,0 +1,302 @@
+// -*- mode:c++ -*-
+//
+// Header file slice_handler.hpp
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/ 9   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+// 2009/01/30   Roman   patch from Maik Beckmann was applied - fixes error:
+//                      // error: no class template named 'extract_return_type'
+// $Id: slice_handler.hpp,v 1.1.2.10 2003/11/24 16:35:52 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_SLICE_HANDLER_HPP
+#define BOOST_PYTHON_INDEXING_SLICE_HANDLER_HPP
+
+#include <boost/python/handle.hpp>
+#include <boost/python/object.hpp>
+#include <boost/python/list.hpp>
+#include <boost/python/extract.hpp>
+#include <boost/python/make_function.hpp>
+#include <boost/mpl/apply.hpp>
+#include <algorithm>
+
+#include <indexing_suite/slice.hpp>
+#include <indexing_suite/python_iterator.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<class Algorithms, class Policy>
+  struct slice_handler
+  {
+    static boost::python::object make_getitem (Policy const &);
+    static boost::python::object make_setitem (Policy const &);
+    static boost::python::object make_delitem (Policy const &);
+    static boost::python::object make_extend  (Policy const &);
+
+  private:
+    typedef typename Algorithms::container container;
+    typedef typename Algorithms::reference reference;
+    typedef typename Algorithms::slice_helper slice_helper;
+
+    static boost::python::list get_slice (container &, slice);
+    static void set_slice (container &, slice, boost::python::object);
+    static void del_slice (container &, slice);
+    static void extend (container &, boost::python::object);
+  };
+
+  namespace detail {
+    template<typename Policy>
+    struct postcall_override
+    {
+      // This class overrides the Policy's postcall function and
+      // result_conveter to handle the list returned from get_slice.
+      // The Policy's result_converter is removed, since it gets
+      // applied within get_slice. Our postcall override applies the
+      // original postcall to each element of the Python list returned
+      // from get_slice.
+
+      typedef boost::python::default_result_converter result_converter;
+      typedef typename Policy::argument_package argument_package;
+
+      template<class Sig> struct extract_return_type : 
+      Policy::template extract_return_type<Sig> { };
+
+      postcall_override (Policy const &p);
+
+      bool precall (PyObject *args);
+      PyObject* postcall (PyObject *args, PyObject *result);
+
+    private:
+      Policy m_base;
+    };
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Return a function object that implements the slice version of __getitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::object
+  slice_handler<Algorithms, Policy>
+  ::make_getitem (Policy const &policy)
+  {
+    return
+      boost::python::make_function(
+          get_slice, detail::postcall_override<Policy> (policy));
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Return a function object that implements the slice version of __setitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::object
+  slice_handler<Algorithms, Policy>
+  ::make_setitem (Policy const &policy)
+  {
+    // should we try to get funky with policy::precall?
+    return boost::python::make_function (set_slice, policy);
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Return a function object that implements the slice version of __delitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::object
+  slice_handler<Algorithms, Policy>
+  ::make_delitem (Policy const &policy)
+  {
+    // should we try to get funky with policy::precall?
+    return boost::python::make_function (del_slice, policy);
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Return a function object that implements extend
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::object
+  slice_handler<Algorithms, Policy>
+  ::make_extend (Policy const &policy)
+  {
+    // should we try to get funky with policy::precall?
+    return boost::python::make_function (extend, policy);
+  }
+
+  namespace detail {
+    ////////////////////////////////////////////////////////////////////////
+    // postcall_override constructor
+    ////////////////////////////////////////////////////////////////////////
+
+    template<class Policy>
+    postcall_override<Policy>::postcall_override (Policy const &p)
+      : m_base (p)
+    {
+    }
+
+    ////////////////////////////////////////////////////////////////////////
+    // precall forwarder
+    ////////////////////////////////////////////////////////////////////////
+
+    template<class Policy>
+    bool postcall_override<Policy>::precall (PyObject *args)
+    {
+      return m_base.precall (args);
+    }
+
+    ////////////////////////////////////////////////////////////////////////
+    // Apply base postcall to each element of the list returend by get_slice
+    ////////////////////////////////////////////////////////////////////////
+
+    template<class Policy>
+    PyObject *
+    postcall_override<Policy>::postcall (PyObject *args, PyObject *result)
+    {
+      int size = PyList_Size (result);
+
+      for (int count = 0; count < size; ++count)
+        {
+          m_base.postcall (args, PyList_GetItem (result, count));
+        }
+
+      return result;
+    }
+  } // namespace detail
+
+  //////////////////////////////////////////////////////////////////////////
+  // Implementation for the slice version of __getitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::list
+  slice_handler<Algorithms, Policy>
+  ::get_slice (container &c, slice sl)
+  {
+    typedef typename Policy::result_converter converter_type;
+    typedef typename Algorithms::reference reference;
+
+    typename boost::mpl::apply1<converter_type, reference>::type
+      converter;
+
+    boost::python::list result;
+
+    slice_helper helper (Algorithms::make_slice_helper (c, sl));
+
+    while (helper.next())
+      {
+        // Apply the result converter (only) to each element before
+        // appending. postcall is done in postcall_override
+
+        result.append (boost::python::handle<> (converter (helper.current())));
+      }
+
+    return result;
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Implementation for the slice version of __setitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  void
+  slice_handler<Algorithms, Policy>
+  ::set_slice (container &c, slice sl, boost::python::object values)
+  {
+    python_iterator value_iter (values);
+
+    // Try two kinds of extractors - the first is more efficient (using
+    // a reference to existing object, if possible and sensible) and the
+    // second allowing implicit conversions.
+
+    typedef boost::python::extract<
+        BOOST_DEDUCED_TYPENAME Algorithms::value_param> extractor1;
+
+    typedef boost::python::extract<
+        BOOST_DEDUCED_TYPENAME Algorithms::value_type> extractor2;
+
+    // Note: any error during this operation will probably leave the
+    // container partially updated. This can occur (for example) if the
+    // replacement sequence is of a different length to the original
+    // slice and the container does not support insertion/deletion.
+    // This could be prevented if the length of the replacement sequence
+    // is known in advance (via __len__, for example) but not otherwise.
+
+    slice_helper write_helper (Algorithms::make_slice_helper (c, sl));
+
+    // Overwrite and/or insert elements
+    while (value_iter.next())
+      {
+        extractor1 ex1 (value_iter.current());
+
+        if (ex1.check())
+          {
+            write_helper.write (ex1);
+          }
+
+        else
+          {
+            write_helper.write (extractor2 (value_iter.current()));
+          }
+      }
+
+    if (write_helper.next())
+      {
+        // We've run out of elements to read, but write_helper is not
+        // finished. Erase the remaining element(s) in the slice
+        write_helper.erase_remaining();
+      }
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Implementation for the slice version of __delitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  void
+  slice_handler<Algorithms, Policy>
+  ::del_slice (container &c, slice sl)
+  {
+    slice_helper helper (Algorithms::make_slice_helper (c, sl));
+
+    if (helper.next())
+      {
+        helper.erase_remaining();
+      }
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Implementation of extend
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  void
+  slice_handler<Algorithms, Policy>
+  ::extend (container &c, boost::python::object values)
+  {
+    // Set up a slice at the tail end of the container, and use
+    // set_slice to do all the hard work.
+
+    boost::python::object length
+      ((boost::python::handle<>
+        (PyInt_FromLong (Algorithms::size (c)))));
+
+    slice sl
+      ((boost::python::handle<>
+        (PySlice_New
+         (length.ptr(),
+          boost::python::object().ptr(),
+          boost::python::object().ptr()))));
+
+    set_slice (c, sl, values);
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_SLICE_HANDLER_HPP
diff --git a/indexing_suite_v2/indexing_suite/suite_utils.hpp b/indexing_suite_v2/indexing_suite/suite_utils.hpp
new file mode 100644
index 0000000..ac38332
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/suite_utils.hpp
@@ -0,0 +1,111 @@
+// Header file suite_utils.hpp
+//
+// Shared utilities for the indexing suite.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 8/23   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: suite_utils.hpp,v 1.1.2.7 2003/11/24 14:28:31 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_SUITE_UTILS_HPP
+#define BOOST_PYTHON_INDEXING_SUITE_UTILS_HPP
+
+#include <boost/type_traits.hpp>
+
+namespace boost { namespace python { namespace indexing {
+#if BOOST_WORKAROUND (BOOST_MSVC, BOOST_TESTED_AT (1310)) \
+  || (defined (__GNUC__) && (__GNUC__ < 3))
+  // MSVC and GCC 2.96 seem to have problems comparing enumerated
+  // values in a static constant expression, and don't believe that an
+  // expression like (traits::index_style >= index_style_nonlinear) is
+  // a compile-time constant. However, the problem doesn't exist for
+  // int.
+  typedef int index_style_t;
+  index_style_t const index_style_none = 0;
+  index_style_t const index_style_nonlinear = 1;
+  index_style_t const index_style_linear = 2;
+#else
+  enum index_style_t {
+    index_style_none,         // No random access (iteration only)
+    index_style_nonlinear,  // Random access by key (no slicing)
+    index_style_linear     // Random access by integer index (allows slicing)
+  };
+#endif
+
+  template<typename T>
+  class is_mutable_ref
+  {
+    typedef typename boost::remove_reference<T>::type maybe_const;
+
+  public:
+    BOOST_STATIC_CONSTANT (bool, value = !boost::is_const<maybe_const>::value);
+  };
+
+  // make_signed attempts to identify the signed version of any
+  // numeric type (useful in this case because Python container
+  // indexes can be negative).
+  template<typename T> struct make_signed {
+    typedef T type;
+  };
+
+  template<> struct make_signed<char> {
+    // Raw "char" could be signed or unsigned. "signed char"
+    // guarantess signedness
+    typedef signed char type;
+  };
+
+  template<> struct make_signed<unsigned char> {
+    typedef signed char type;
+  };
+
+  template<> struct make_signed<unsigned short> {
+    typedef short type;
+  };
+
+  template<> struct make_signed<unsigned int> {
+    typedef int type;
+  };
+
+  template<> struct make_signed<unsigned long> {
+    typedef long type;
+  };
+
+#if defined (BOOST_HAS_LONG_LONG)
+  template<> struct make_signed<unsigned long long> {
+    typedef long long type;
+  };
+#elif defined (BOOST_HAS_MS_INT64)
+  template<> struct make_signed<unsigned __int64> {
+    typedef __int64 type;
+  };
+#endif
+
+  namespace detail {
+    struct no_override { };
+
+    template<typename Base, typename Override>
+    struct maybe_override
+    {
+      // Probably need to disable this if there is no partial
+      // specialization support, because Override is almost certain to
+      // be an incomplete type. If that is right, the workaround
+      // version would just have to do "typedef Base type;"
+
+      typedef typename mpl::if_
+        <is_same <Override, no_override>, Base, Override>
+        ::type type;
+    };
+  }
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_SUITE_UTILS_HPP
diff --git a/indexing_suite_v2/indexing_suite/value_traits.hpp b/indexing_suite_v2/indexing_suite/value_traits.hpp
new file mode 100644
index 0000000..7ad9c54
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/value_traits.hpp
@@ -0,0 +1,85 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file value_traits.hpp:
+//
+// Traits information for use in determining which Python methods to
+// support for a container with elements of a given type.
+//
+// History
+// =======
+// 2003/ 9/12   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: value_traits.hpp,v 1.1.2.6 2003/12/05 17:36:12 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_VALUE_TRAITS_HPP
+#define BOOST_PYTHON_INDEXING_VALUE_TRAITS_HPP
+
+#include <boost/config.hpp>
+#include <boost/shared_ptr.hpp>
+#include <functional>
+
+namespace boost { namespace python { namespace indexing {
+  // The default_value_traits template is used by all ContainerTraits
+  // templates. It can be overridden by specialization or by supplying
+  // the optional ValueTraits parameter to a container traits
+  // template.
+  template<typename T> struct value_traits;
+
+  // Implementation for default use. Providing this in a separate
+  // template allows specializations of value_traits to make use of
+  // it.
+  template<typename T>
+  struct simple_value_traits {
+    BOOST_STATIC_CONSTANT (bool, equality_comparable = true);
+    typedef std::equal_to<T> equal_to;
+
+    BOOST_STATIC_CONSTANT (bool, less_than_comparable = true);
+    typedef std::less<T> less;
+
+    // Default, do-nothing, version of visit_container_class
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class (PythonClass &, Policy const &) { }
+  };
+
+  // Implementation using pointer indirection
+  template <typename Ptr>
+  struct indirect_value_traits : simple_value_traits<Ptr> {
+    // Hide the base class versions of the comparisons, using these
+    // indirect versions
+    struct less : std::binary_function<Ptr, Ptr, bool> {
+      bool operator() (Ptr const &p1, Ptr const &p2) const {
+        return *p1 < *p2;
+      }
+    };
+
+    struct equal_to : std::binary_function<Ptr, Ptr, bool> {
+      bool operator() (Ptr const &p1, Ptr const &p2) const {
+        return *p1 == *p2;
+      }
+    };
+  };
+
+  // Default implementation selection. It's basically just a typedef
+  // for simple_value_traits
+  template<typename T>
+  struct value_traits : simple_value_traits<T>
+  {
+  };
+
+#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  // Partial specialization for instances of boost::shared_ptr
+  template<typename T>
+  struct value_traits< ::boost::shared_ptr<T> >
+    : indirect_value_traits< ::boost::shared_ptr<T> >
+  {
+  };
+#endif
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_VALUE_TRAITS_HPP
diff --git a/indexing_suite_v2/indexing_suite/vector.hpp b/indexing_suite_v2/indexing_suite/vector.hpp
new file mode 100644
index 0000000..edda5d5
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/vector.hpp
@@ -0,0 +1,61 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file vector.hpp
+//
+// Indexing algorithms support for std::vector instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: vector.hpp,v 1.1.2.6 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_VECTOR_HPP
+#define BOOST_PYTHON_INDEXING_VECTOR_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <vector>
+
+namespace boost { namespace python { namespace indexing {
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::vector instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class T, class Allocator>
+    class algorithms_selector<std::vector<T, Allocator> >
+    {
+      typedef std::vector<T, Allocator> Container;
+
+      typedef random_access_sequence_traits<Container>       mutable_traits;
+      typedef random_access_sequence_traits<Container const> const_traits;
+
+    public:
+      typedef default_algorithms<mutable_traits> mutable_algorithms;
+      typedef default_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = random_access_sequence_traits<Container>
+  >
+  struct vector_suite
+    : container_suite<Container, MethodMask, default_algorithms<Traits> >
+  {
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_VECTOR_HPP
diff --git a/indexing_suite_v2/indexing_suite/visitor.hpp b/indexing_suite_v2/indexing_suite/visitor.hpp
new file mode 100644
index 0000000..e98fae2
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/visitor.hpp
@@ -0,0 +1,272 @@
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file visitor.hpp:
+//
+// def_visitor implementation to install the container_suite's Python
+// methods in an object of a boost::python::class_<> instance.
+//
+// History
+// =======
+// 2003/ 9/11   rmg     File creation from container_suite.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: visitor.hpp,v 1.1.2.16 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_VISITOR_HPP
+#define BOOST_PYTHON_INDEXING_VISITOR_HPP
+
+#include <indexing_suite/slice_handler.hpp>
+#include <indexing_suite/suite_utils.hpp> // Get index_style_t
+
+#include <boost/python/def_visitor.hpp>
+#include <boost/python/iterator.hpp>
+#include <boost/python/default_call_policies.hpp>
+#include <boost/type_traits/ice.hpp>
+#include <boost/bind.hpp>
+#include <functional>
+
+namespace boost { namespace python { namespace indexing {
+  //////////////////////////////////////////////////////////////////////////
+  // Policy override template that masks everything except the precall
+  // functions. i.e. it uses default policies for everything except
+  // precall, which must be provided by the template argument.
+  //////////////////////////////////////////////////////////////////////////
+
+  namespace detail {
+    template<typename PrecallPolicy>
+    struct precall_only : public boost::python::default_call_policies
+    {
+      precall_only () : m_precall () { }
+      explicit precall_only (PrecallPolicy const &copy) : m_precall (copy) { }
+
+      bool precall (PyObject *args) { return m_precall.precall (args); }
+      bool precall (PyObject *args) const { return m_precall.precall (args); }
+
+    private:
+      PrecallPolicy m_precall;
+    };
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Ugly macro to define a template that optionally adds a method to
+  // a Python class. This version (OPTIONAL_ALGO_SUPPORT) works with
+  // static functions in an Algorithms class.
+  //
+  // This macro is #undef'd at the end of this header
+  //////////////////////////////////////////////////////////////////////////
+
+#define OPTIONAL_ALGO_SUPPORT(ADDER_NAME, METHOD_NAME, ALGO_FN) \
+  template<bool doit>  \
+  struct ADDER_NAME {  \
+    template<class PythonClass, class Algorithms, class Policy>  \
+    static void apply (PythonClass &, Algorithms const &, Policy const &)  \
+    {  \
+    }  \
+  };  \
+\
+  template<>  \
+  struct ADDER_NAME<true> {  \
+    template<class PythonClass, class Algorithms, class Policy>  \
+    static void apply(  \
+        PythonClass &pyClass,  \
+        Algorithms const &,  \
+        Policy const &policy)  \
+    {  \
+      pyClass.def (METHOD_NAME, &Algorithms::ALGO_FN, policy);  \
+    }  \
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Ugly macro to define a template that optionally adds a method to
+  // a Python class. This version (OPTIONAL_SLICE_SUPPORT) works with
+  // static functions in the slice_handler template.
+  //
+  // This macro is #undef'd at the end of this header
+  //////////////////////////////////////////////////////////////////////////
+
+#define OPTIONAL_SLICE_SUPPORT(ADDER_NAME, METHOD_NAME, SLICE_HANDLER_FN) \
+  template<bool doit>  \
+  struct ADDER_NAME {  \
+    template<class PythonClass, class Algorithms, class Policy>  \
+    static void apply (PythonClass &, Algorithms const &, Policy const &)  \
+    {  \
+    }  \
+  };  \
+\
+  template<>  \
+  struct ADDER_NAME<true> {  \
+    template<class PythonClass, class Algorithms, class Policy>  \
+    static void apply(  \
+        PythonClass &pyClass,  \
+        Algorithms const &,  \
+        Policy const &policy)  \
+    {  \
+      pyClass.def ( \
+          METHOD_NAME, \
+          slice_handler<Algorithms, Policy>::SLICE_HANDLER_FN (policy));  \
+    }  \
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // __iter__ is a special case not handled by the above macros. First
+  // the unspecialized (do-nothing) version
+  //////////////////////////////////////////////////////////////////////////
+
+  template<bool doit>
+  struct maybe_add_iter {
+    template<class PythonClass, class Algorithms, class Policy>
+    static void apply (PythonClass &, Algorithms const &, Policy const &) { }
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Specialization with the real implementation of __iter__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<>
+  struct maybe_add_iter<true> {
+    template<class PythonClass, class Algorithms, class Policy>
+    static void apply(
+        PythonClass &pyClass,
+        Algorithms const &,
+        Policy const &)
+    {
+      // Should maybe separate precall and postcall portions of the
+      // policy (precall when generating the range object, postcall
+      // when returing from range.next())?
+
+      pyClass.def(
+          "__iter__",
+          boost::python::range<Policy>(
+              Algorithms::begin,
+              Algorithms::end));
+    }
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // All other optional methods are covered by the two OPTIONAL_*
+  // macros
+  //////////////////////////////////////////////////////////////////////////
+
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_len, "__len__", size);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_getitem, "__getitem__", get);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_setitem, "__setitem__", assign);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_delitem, "__delitem__", erase_one);
+  OPTIONAL_SLICE_SUPPORT (maybe_add_getslice, "__getitem__", make_getitem);
+  OPTIONAL_SLICE_SUPPORT (maybe_add_setslice, "__setitem__", make_setitem);
+  OPTIONAL_SLICE_SUPPORT (maybe_add_delslice, "__delitem__", make_delitem);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_sort, "sort", sort);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_reverse, "reverse", reverse);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_append, "append", push_back);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_insert, "insert", insert);
+  OPTIONAL_SLICE_SUPPORT (maybe_add_extend, "extend", make_extend);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_index, "index", get_index);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_count, "count", count);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_contains, "__contains__", contains);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_has_key, "has_key", contains);
+
+  //////////////////////////////////////////////////////////////////////////
+  // Do-all visitor
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy, method_set_type MethodMask>
+  class visitor
+    : public def_visitor< visitor< Algorithms, Policy, MethodMask > >
+  {
+    Policy m_policy;
+
+    BOOST_STATIC_CONSTANT (
+        method_set_type,
+        enabled_methods = Algorithms::supported_methods & MethodMask);
+
+  public:
+    typedef Algorithms algorithms_type;
+
+    explicit visitor (Policy const &policy = Policy()) : m_policy (policy) { }
+
+  public:
+    template <class PythonClass>
+    void visit (PythonClass &pyClass) const
+    {
+      detail::precall_only<Policy> precallPolicy (m_policy);
+
+      maybe_add_len<detail::is_member<enabled_methods, method_len>::value>
+        ::apply(pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_getitem<
+        detail::is_member<enabled_methods, method_getitem>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_getslice<
+          detail::is_member<enabled_methods, method_getitem_slice>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_setitem<
+        detail::is_member<enabled_methods, method_setitem>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_setslice<
+          detail::is_member<enabled_methods, method_setitem_slice>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_delitem<
+        detail::is_member<enabled_methods, method_delitem>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_delslice<
+          detail::is_member<enabled_methods, method_delitem_slice>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_iter<
+        detail::is_member<enabled_methods, method_iter>::value
+      >::apply (pyClass, algorithms_type(), m_policy);
+
+      maybe_add_sort<
+        detail::is_member<enabled_methods, method_sort>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_reverse<
+        detail::is_member<enabled_methods, method_reverse>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_append<
+        detail::is_member<enabled_methods, method_append>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_insert<
+        detail::is_member<enabled_methods, method_insert>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_extend<
+        detail::is_member<enabled_methods, method_extend>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_index<
+        detail::is_member<enabled_methods, method_index>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_count<
+        detail::is_member<enabled_methods, method_count>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_contains<
+        detail::is_member<enabled_methods, method_contains>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_has_key<
+        detail::is_member<enabled_methods, method_has_key>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      Algorithms::visit_container_class (pyClass, m_policy);
+    }
+  };
+} } }
+
+#undef OPTIONAL_SLICE_SUPPORT
+#undef OPTIONAL_ALGO_SUPPORT
+
+#endif // BOOST_PYTHON_INDEXING_VISITOR_HPP
diff --git a/indexing_suite_v2/indexing_suite/workaround.hpp b/indexing_suite_v2/indexing_suite/workaround.hpp
new file mode 100644
index 0000000..980f398
--- /dev/null
+++ b/indexing_suite_v2/indexing_suite/workaround.hpp
@@ -0,0 +1,47 @@
+// Header file workaround.hpp
+//
+// Indexing-specific workarounds for compiler problems.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/10/21   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: workaround.hpp,v 1.1.2.3 2003/11/17 19:27:13 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_WORKAROUND_HPP
+#define BOOST_PYTHON_INDEXING_WORKAROUND_HPP
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+# if (BOOST_WORKAROUND (__GNUC__, < 3))
+#   // gcc versions before 3 (like 2.95.3) don't have the "at" member
+#   // function in std::vector or std::deque
+#   define BOOST_PYTHON_INDEXING_AT operator[]
+# else
+#   define BOOST_PYTHON_INDEXING_AT at
+# endif
+
+# if BOOST_WORKAROUND (BOOST_MSVC, <= 1300)
+// Workaround the lack of a reset member function in std::auto_ptr
+namespace boost { namespace python { namespace indexing {
+template<typename T> void reset_auto_ptr (T &aptr, T::element_type *pptr) {
+ aptr = T (pptr);
+}
+} } }
+#   define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR \
+        ::boost::python::indexing::reset_auto_ptr
+# else
+#   define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR( aptr, pptr ) \
+        (aptr).reset(pptr)
+# endif
+
+#endif // BOOST_PYTHON_INDEXING_WORKAROUND_HPP
diff --git a/indexing_suite_v2/readme.txt b/indexing_suite_v2/readme.txt
new file mode 100644
index 0000000..067f248
--- /dev/null
+++ b/indexing_suite_v2/readme.txt
@@ -0,0 +1,10 @@
+  This directory contains indexing suite version developed by Raoul Gough.
+
+Installation instructions: copy "indexing" directory to "boost/python/suite" one.
+
+Changes from original version
+* bug fixes
+* support for 64Bit platforms was added
+* std::map and std::multimap containers got iteration functionality
+* the suite was made to be "header only"
+
diff --git a/indexing_suite_v2/update_code_repository.py b/indexing_suite_v2/update_code_repository.py
new file mode 100644
index 0000000..1933185
--- /dev/null
+++ b/indexing_suite_v2/update_code_repository.py
@@ -0,0 +1,79 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""updates code repository"""
+
+import os
+import sys
+
+header_tmpl = \
+'''# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "%(file_path)s"
+
+code = \
+"""%(code)s
+
+"""
+'''
+
+init_code = [
+'''# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""
+code repository for Indexing Suite V2 - std containers wrappers
+"""
+
+all = []
+''']
+
+pyplusplus_dev_root = os.path.dirname( os.path.dirname( os.path.abspath( __file__ ) ) )
+source_dir = os.path.join( pyplusplus_dev_root, 'indexing_suite_v2', 'indexing_suite' )
+target_dir = os.path.join( pyplusplus_dev_root, 'pyplusplus', 'code_repository', 'indexing_suite' )
+
+if not os.path.exists( target_dir ):
+    os.mkdir( target_dir )
+
+for f in os.listdir( source_dir ):
+    name, ext = os.path.splitext( f )
+    if  ext != '.hpp':
+        print 'file "%s" was skipped' % f
+        continue
+    else:
+        print 'converting file "%s"' % f
+    file_path = 'indexing_suite/' + f
+    code = file( os.path.join( source_dir, f ), 'r' ).read()
+    py_name = name + '_header'
+    py_file = file( os.path.join( target_dir, py_name + '.py' ), 'w+' )
+    py_file.write( header_tmpl % dict( file_path=file_path, code=code ) )
+    py_file.close()
+    init_code.append( 'import %s' % py_name )
+    init_code.append( 'all.append( %s )' % py_name )
+    init_code.append( '' )
+
+init_code.append( 'headers = map( lambda f: f.file_name, all )' )
+
+print 'creating __init__.py file'
+
+init_file = file( os.path.join( target_dir, '__init__.py' ), 'w+' )
+init_file.write( '\n'.join( init_code ) )
+init_file.close()
+
+
+
+
+
+
+
diff --git a/pyplusplus/__init__.py b/pyplusplus/__init__.py
new file mode 100644
index 0000000..68ae293
--- /dev/null
+++ b/pyplusplus/__init__.py
@@ -0,0 +1,59 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""`Py++` - Boost.Python code generator
+========================================
+
+This package (together with the accompanying pygccxml package and
+`Boost.Python <http://www.boost.org/libs/python/doc/index.html>`_
+assists you in creating Python bindings for a C/C++ library. This is
+done by parsing a set of header files that contain all the
+stuff you want to expose in Python. The result of this parsing
+step is a I{declaration tree} that represents all declarations found
+in the headers. You can then modify (decorate) this tree to customize
+the bindings. After that, a I{code creators} tree is created where
+each node represents a block of C++ source code. So you can change any piece of
+code before it is written to disk. As a last step, these source code blocks are
+finally written into one or more C++ source files, which can then be compiled to
+generate the final Python module.
+"""
+
+from . import code_creators
+from . import file_writers
+from . import creators_factory
+from . import code_repository
+from . import utils
+from . import decl_wrappers
+from . import module_builder
+from . import messages
+
+from ._logging_ import multi_line_formatter_t
+
+__version__ = '1.6.0'
+
+import pygccxml
+if not hasattr( pygccxml, '__version__' ):
+    msg = 'This revision of `Py++` requieres pygccxml revision to be ' \
+          'greater or equal to 1.5.2. ' \
+          'Please install right pygccxml version.'
+    raise AssertionError( msg % pygccxml.__revision__ )
+
+#Known issues:
+#3.
+#~ > > 2. An other difference: when `Py++` creates bindings for a set of
+#~ > > declarations, it
+#~ > > should (?) see all declarations that are going to be exported:
+#~ > >     reasons:
+#~ > >         to decide what class holder is.
+#~ > >             In one header file you define class, in an other you
+#~ > > define function that takes
+#~ > >             as argument shared_ptr to the class.
+#~ >
+#~ > You don't need to use a shared_ptr holder for that purpose.  The
+#~ > *only* reason you'd ever want to use a share_ptr holder is if you
+#~ > expect people to wrap functions taking non-const references to these
+#~ > shared_ptrs.  That is very rare -- it only happens when users want to
+#~ > replace one shared_ptr with another (possibly NULL) shared_ptr.
+
diff --git a/pyplusplus/_logging_/__init__.py b/pyplusplus/_logging_/__init__.py
new file mode 100644
index 0000000..04bf1e5
--- /dev/null
+++ b/pyplusplus/_logging_/__init__.py
@@ -0,0 +1,65 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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: find better place for it
+
+"""defines logger classes"""
+
+import os
+import sys
+import logging
+import io
+from .multi_line_formatter import multi_line_formatter_t
+
+def create_handler( stream=None ):
+    handler = None
+    if stream:
+        handler = logging.StreamHandler(stream)
+    else:
+        handler = logging.StreamHandler(stream)
+    handler.setFormatter( multi_line_formatter_t( os.linesep + '%(levelname)s: %(message)s' ) )
+    return handler
+
+def _create_logger_( name, stream=None ):    
+    """implementation details"""
+    logger = logging.getLogger(name)
+    logger.propagate = False
+    logger.addHandler( create_handler(stream) )
+    logger.setLevel(logging.INFO)
+    return logger
+
+class loggers:
+    """class-namespace, defines few loggers classes, used in the project"""
+    stream = None
+    
+    file_writer = _create_logger_( 'pyplusplus.file_writer' )
+    """logger for classes that write code to files"""
+    
+    declarations = _create_logger_( 'pyplusplus.declarations' )
+    """logger for declaration classes
+    
+    This is very import logger. All important messages: problems with declarations,
+    warnings or hints are written to this logger.
+    """
+    
+    module_builder = _create_logger_( 'pyplusplus.module_builder' )
+    """logger that in use by :class:`module_builder.module_builder_t` class.
+
+    Just another logger. It exists mostly for `Py++` developers.
+    """
+    
+    #root logger exists for configuration purpose only
+    root = logging.getLogger( 'pyplusplus' )
+    """root logger exists for your convenience only"""
+    
+    all = [ root, file_writer, module_builder, declarations ]
+    """contains all logger classes, defined by the class"""
+
+    @staticmethod
+    def make_inmemory():
+        loggers.stream = io.StringIO()
+        for logger in loggers.all:
+            for h in logger.handlers[:]:
+                logger.removeHandler( h )
+            logger.addHandler( create_handler( loggers.stream ) )
diff --git a/pyplusplus/_logging_/multi_line_formatter.py b/pyplusplus/_logging_/multi_line_formatter.py
new file mode 100644
index 0000000..84f4295
--- /dev/null
+++ b/pyplusplus/_logging_/multi_line_formatter.py
@@ -0,0 +1,95 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+# Initial version by Matthias Baas (baas at ira.uka.de).
+
+"""defines a class that helps to format user messages"""
+
+import os, logging, textwrap
+
+class multi_line_formatter_t(logging.Formatter):
+    """Custom log formatter to split long message into several lines.
+
+    This formatter is used for the default stream handler that outputs
+    its messages to `stdout`.
+    """
+
+    def __init__(self, fmt=None, datefmt=None, width=None):
+        """Constructor.
+
+        See the Python standard library reference for a documentation
+        of fmt and datefmt.
+        width is the maximum width of the generated text blocks.
+        """
+        logging.Formatter.__init__(self, fmt, datefmt)
+        if None == width:
+            try:
+                import curses
+                curses.setupterm()
+                self._width = curses.tigetnum('cols')
+                # Leave a border of two blanks to prevent that full lines
+                # wrap to the next line
+                self._width -= 2
+            except:
+                self._width = 70   # default to 70
+
+    def format(self, record):
+        """This method overwrites the original one.
+
+        The first thing, that is done in the original format() method, is the
+        creation of the record.message attribute:
+
+          record.message = record.getMessage()
+
+        Now this method temporarily replaces the getMessage() method of
+        the record by a version that returns a generated message that
+        spans several lines. Then the original format() method is called
+        which will invoke the 'fake' method.
+        """
+        # Get the original single-line message
+        message = record.getMessage()
+        # Distribute the message among several lines...
+        message = self.formatMessage(message, width=self._width)
+        # ...and temporarily replace the getMessage() method so that the
+        # reformatted message is used
+        mth = record.getMessage
+        record.getMessage = lambda x=message: x
+        # Invoke the inherited format() method
+        res = logging.Formatter.format(self, record)
+        # Restore the original method
+        record.getMessage = mth
+        return res
+
+    @staticmethod
+    def formatMessage(msgline, width=70):
+        """Format a long single line message so that it is easier to read.
+
+        `msgline` is a string containing a single message. It can either be
+        a plain message string which is reformatted using the :mod:`textwrap`
+        module or it can be of the form <declaration>;<message> where <declaration>
+        is the declaration string and <message> an arbitrary message. Lines of this
+        form will be separated so that the declaration and the message appear in
+        individual text blocks, where every line of message will start
+        with '>' character.
+
+        width is the maximum width of any text blocks (without indentation).
+        """
+        if isinstance(msgline, logging.LogRecord):
+            msgline = msgline.getMessage()
+        txts = msgline.split(";")
+        # Ensure that there are no more than two items in txts
+        if len( txts ) != 2:
+            #If message is not in format we expected, just return it
+            return os.linesep.join( textwrap.wrap( msgline, width ) )
+
+        lines = [ txts[0] ] #I don't want to break declaration string to few lines
+
+        # Insert a separator if there are two parts (=decl and msg)
+        # Apply the text wrapper to shorten the maximum line length
+        wrapped_lines = textwrap.wrap( txts[1], width )
+        lines.extend( ["> " + s.strip() for s in wrapped_lines] )
+
+        return os.linesep.join(lines)
+
diff --git a/pyplusplus/code_creators/__init__.py b/pyplusplus/code_creators/__init__.py
new file mode 100644
index 0000000..b81d37b
--- /dev/null
+++ b/pyplusplus/code_creators/__init__.py
@@ -0,0 +1,161 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""Code creators.
+
+This sub-package contains the code creator classes which are nodes in
+the code creator tree. This tree represents the entire source code of
+the final extension module (even when the source code will later be
+distributed among several source files) and each individual code
+creator represents a single block of source code.
+
+The base class for all code creators is :class:`code_creators.code_creator_t`.
+"""
+
+
+from .code_creator import code_creator_t
+from .code_creator import separator_t
+from .compound import compound_t
+
+from .algorithm import (make_flatten, make_flatten_list, make_flatten_generator)
+from .algorithm import creator_finder
+from .algorithm import create_identifier
+from .algorithm import creators_affect_on_me
+
+from .custom import custom_t
+from .custom import custom_text_t
+
+from .declaration_based import declaration_based_t
+
+from .registration_based import registration_based_t
+
+from .scoped import scoped_t
+
+from .module_body import module_body_t
+
+from .include import include_t
+from .include import import_t
+
+from .unnamed_enum import unnamed_enum_t
+
+from .namespace import namespace_alias_t
+from .namespace import namespace_using_t
+from .namespace import namespace_as_pyclass_t
+
+from .enum import enum_t
+from .enum import pyenum_t
+
+from .calldef import free_function_t
+from .calldef import mem_fun_t
+from .calldef import make_constructor_t
+
+from .calldef import mem_fun_pv_t
+from .calldef import mem_fun_pv_wrapper_t
+from .calldef import mem_fun_v_t
+from .calldef import mem_fun_v_wrapper_t
+
+from .calldef import mem_fun_protected_t
+from .calldef import mem_fun_protected_wrapper_t
+from .calldef import mem_fun_protected_s_t
+from .calldef import mem_fun_protected_s_wrapper_t
+from .calldef import mem_fun_protected_v_t
+from .calldef import mem_fun_protected_v_wrapper_t
+from .calldef import mem_fun_protected_pv_t
+from .calldef import mem_fun_protected_pv_wrapper_t
+
+from .calldef import mem_fun_private_v_wrapper_t
+from .calldef import mem_fun_private_pv_wrapper_t
+
+from .calldef import operator_t
+from .calldef import constructor_t
+from .calldef import static_method_t
+from .calldef import casting_operator_t
+from .calldef import mem_fun_overloads_t
+from .calldef import free_fun_overloads_t
+from .calldef import destructor_wrapper_t
+from .calldef import casting_constructor_t
+from .calldef import constructor_wrapper_t
+from .calldef import mem_fun_overloads_class_t
+from .calldef import casting_member_operator_t
+from .calldef import free_fun_overloads_class_t
+from .calldef import copy_constructor_wrapper_t
+from .calldef import null_constructor_wrapper_t
+
+from .calldef_transformed import mem_fun_transformed_t
+from .calldef_transformed import mem_fun_transformed_wrapper_t
+from .calldef_transformed import free_fun_transformed_t
+from .calldef_transformed import free_fun_transformed_wrapper_t
+from .calldef_transformed import mem_fun_v_transformed_t
+from .calldef_transformed import mem_fun_v_transformed_wrapper_t
+#TODO: FT for constructor
+#~ from calldef_transformed import constructor_transformed_t
+#~ from calldef_transformed import constructor_transformed_wrapper_t
+
+from .calldef_ctypes import function_definition_t
+from .calldef_ctypes import opaque_init_introduction_t
+
+from .global_variable import global_variable_base_t
+from .global_variable import global_variable_t
+from .global_variable import array_gv_t
+from .global_variable import array_gv_wrapper_t
+from .global_variable import global_variable_addressof_t
+from .global_variable import global_variable_reference_t
+
+from .member_variable import member_variable_base_t
+from .member_variable import member_variable_t
+from .member_variable import member_variable_wrapper_t
+from .member_variable import bit_field_t
+from .member_variable import bit_field_wrapper_t
+from .member_variable import array_mv_t
+from .member_variable import array_mv_wrapper_t
+from .member_variable import mem_var_ref_t
+from .member_variable import mem_var_ref_wrapper_t
+from .member_variable import member_variable_addressof_t
+from .member_variable import fields_definition_t
+
+from .class_declaration import class_t
+from .class_declaration import class_wrapper_t
+from .class_declaration import class_declaration_t
+from .class_declaration import class_introduction_t
+from .class_declaration import class_declaration_introduction_t
+
+from .instruction import instruction_t
+
+from .include_directories import include_directories_t
+
+from .license import license_t
+
+from .module import bpmodule_t
+from .module import ctypes_module_t
+
+from .smart_pointers import held_type_t
+from .smart_pointers import smart_pointers_converter_t
+from .smart_pointers import smart_pointer_registrator_t
+
+from .target_configuration import target_configuration_t
+
+from .array_1_registrator import array_1_registrator_t
+
+from .indexing_suites import indexing_suite1_t
+from .indexing_suites import indexing_suite2_t
+from .indexing_suites import value_traits_t
+
+from .exception_translator import exception_translator_t
+from .exception_translator import exception_translator_register_t
+
+from .opaque_type_registrator import opaque_type_registrator_t
+
+from .properties import property_t
+
+from .ctypes_integration_creators import expose_this_t
+from .ctypes_integration_creators import expose_sizeof_t
+
+from .bookmark import bookmark_t
+
+from .library_reference import library_reference_t
+from .name_mappings import name_mappings_t
+
+from .typedef_as_pyvar import typedef_as_pyvar_t
+from .embedded_code_repository import embedded_code_repository_t
diff --git a/pyplusplus/code_creators/algorithm.py b/pyplusplus/code_creators/algorithm.py
new file mode 100644
index 0000000..81b117e
--- /dev/null
+++ b/pyplusplus/code_creators/algorithm.py
@@ -0,0 +1,113 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""
+This module is a collection of unrelated algorithms, that works on code creators
+tree.
+"""
+
+from pyplusplus.decl_wrappers.algorithm import *
+
+
+import types
+
+def _make_flatten_list( creator_or_creators ):
+    from . import compound
+    def proceed_single( creator ):
+        answer = [ creator ]
+        if not isinstance( creator, compound.compound_t):
+            return answer
+        for internal in creator.creators:
+            if isinstance( creator, compound.compound_t):
+                answer.extend( proceed_single( internal ) )
+            else:
+                answer.append( internal )
+        return answer
+
+    creators = []
+    if isinstance( creator_or_creators, list ):
+        creators.extend( creator_or_creators )
+    else:
+        creators.append( creator_or_creators )
+    answer = []
+    for creator in creators:
+        answer.extend( proceed_single( creator ) )
+    return answer
+
+def make_flatten_generator( creator_or_creators ):
+    from . import compound
+    def proceed_single( creator ):
+        yield creator
+        if not isinstance( creator, compound.compound_t):
+            return
+        for internal in creator.creators:
+            if isinstance( internal, compound.compound_t):
+                for internal_internal in proceed_single( internal ):
+                    yield internal_internal
+            else:
+                yield internal
+
+    if isinstance( creator_or_creators, list ):
+        for creator in creator_or_creators:
+            for internal in proceed_single( creator ):
+                yield internal
+    else:
+        for internal in proceed_single( creator_or_creators ):
+            yield internal
+
+"""
+make_flatten - function that will create flat representation of code creators tree.
+"""
+make_flatten_list = _make_flatten_list
+make_flatten = _make_flatten_list
+
+class creator_finder:
+    """
+    This class is used as container for different find algorithms.
+    """
+    "creator_finder - this class used as namespace"
+
+    @staticmethod
+    def find_by_declaration( declaration_matcher, where, recursive=True ):
+        """Finds code creator by declaration.
+        declaration_matcher should be callable, that takes single argument
+        declaration, and returns True or False
+        where - code creator or list of code creators
+        This function returns a list of all relevant code creators
+        """
+        from . import declaration_based #prevent cyclic import
+        search_area = where
+        if recursive:
+            search_area = make_flatten_generator( where )
+        return [inst for inst in search_area if isinstance( inst, declaration_based.declaration_based_t ) \
+                                    and declaration_matcher( inst.declaration )]
+
+    @staticmethod
+    def find_by_declaration_single( declaration_matcher, where, recursive=True ):
+        answer = creator_finder.find_by_declaration( declaration_matcher, where, recursive )
+        if len( answer ) == 1:
+            return answer[0]
+        return None
+
+    @staticmethod
+    def find_by_class_instance( what, where, recursive=True ):
+        search_area = where
+        if recursive:
+            search_area = make_flatten_generator( where )
+        return [inst for inst in search_area if isinstance( inst, what )]
+
+def make_id_creator( code_creator ):
+    return lambda decl_string: create_identifier( code_creator, decl_string )
+
+def complete_py_name( decl ):
+    aliases = []
+    current = decl
+    while current:
+        aliases.append( current.alias )
+        current = current.parent
+    del aliases[-1] # :: from the global namespace
+    aliases.reverse()
+    return '.'.join( aliases )
+
diff --git a/pyplusplus/code_creators/array_1_registrator.py b/pyplusplus/code_creators/array_1_registrator.py
new file mode 100644
index 0000000..7bfb30e
--- /dev/null
+++ b/pyplusplus/code_creators/array_1_registrator.py
@@ -0,0 +1,71 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+
+from . import algorithm
+from . import registration_based
+from pyplusplus import code_repository
+from pyplusplus.decl_wrappers import call_policies
+from pyplusplus.decl_wrappers import python_traits
+from pygccxml import declarations
+
+class array_1_registrator_t( registration_based.registration_based_t ):
+    """
+    This class creates code that register static sized array
+    """
+    def __init__( self, array_type ):
+        registration_based.registration_based_t.__init__( self )
+        self._array_type = array_type
+        self._call_policies = self._guess_call_policies()
+        self.works_on_instance = False
+
+    def _get_array_type( self ):
+        return self._array_type
+    def _set_array_type( self, new_array_type ):
+        self._array_type = new_array_type
+    array_type = property( _get_array_type, _set_array_type )
+
+    def _get_call_policies( self ):
+        return self._call_policies
+    def _set_call_policies( self, new_call_policies ):
+        self._call_policies = new_call_policies
+    call_policies = property( _get_call_policies, _set_call_policies )
+
+    def _create_name( self ):
+        item_type = declarations.array_item_type(self.array_type)
+        return "__array_1_%(type)s_%(size)d" \
+               % dict( type=algorithm.create_valid_name( item_type.decl_string )
+                       , size=declarations.array_size(self.array_type) )
+
+    def _guess_call_policies(self):
+        item_type = declarations.array_item_type( self.array_type )
+        if python_traits.is_immutable( item_type ):
+            return call_policies.default_call_policies()
+        else:
+            return call_policies.return_internal_reference()
+
+    def _create_impl(self):
+        templates = declarations.templates
+        call_invocation = declarations.call_invocation
+        ns_name = code_repository.array_1.namespace
+        item_type = declarations.array_item_type(self.array_type)
+        is_noncopyable = not declarations.is_fundamental(item_type) and declarations.is_noncopyable(item_type)
+
+        if declarations.is_const(self.array_type) or is_noncopyable:
+            fn_name = 'register_const_array_1'
+        else:
+            fn_name = 'register_array_1'
+
+        fn_def_tmpl_args = [ declarations.array_item_type(self.array_type).decl_string
+                             , str( declarations.array_size(self.array_type) ) ]
+        if not self.call_policies.is_default():
+            fn_def_tmpl_args.append(
+                self.call_policies.create(self, call_policies.CREATION_POLICY.AS_TEMPLATE_ARGUMENT ) )
+
+        fn_def = templates.join( '::'.join( [ns_name, fn_name] ), fn_def_tmpl_args )
+        return call_invocation.join( fn_def, [ '"%s"' % self._create_name() ] ) + ';'
+
+    def _get_system_files_impl( self ):
+        return [code_repository.array_1.file_name]
diff --git a/pyplusplus/code_creators/bookmark.py b/pyplusplus/code_creators/bookmark.py
new file mode 100644
index 0000000..2fa91c1
--- /dev/null
+++ b/pyplusplus/code_creators/bookmark.py
@@ -0,0 +1,18 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import compound
+
+class bookmark_t(compound.compound_t):
+    def __init__( self, comment='' ):
+        compound.compound_t.__init__(self )
+        self.comment = ''
+
+    def _create_impl(self):
+        return compound.compound_t.create_internal_code( self.creators, indent_code=False )
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/calldef.py b/pyplusplus/code_creators/calldef.py
new file mode 100644
index 0000000..74660e6
--- /dev/null
+++ b/pyplusplus/code_creators/calldef.py
@@ -0,0 +1,1552 @@
+# Copyright 2004-2008 Roman Yakovenko
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import algorithm
+from . import code_creator
+from . import calldef_utils
+from . import declaration_based
+from . import registration_based
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+
+#TODO:
+#Add to docs:
+#public memebr functions - call, override, call base implementation
+#protected member functions - call, override
+#private - override
+
+class calldef_t( registration_based.registration_based_t
+                 , declaration_based.declaration_based_t ):
+    def __init__(self, function, wrapper=None ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=function )
+        self._wrapper = wrapper
+        self._associated_decl_creators = []
+
+    @property
+    def associated_decl_creators( self ):
+        """ references to declaration code creators. """
+        return self._associated_decl_creators
+
+    def _get_wrapper( self ):
+        return self._wrapper
+    def _set_wrapper( self, new_wrapper ):
+        self._wrapper = new_wrapper
+    wrapper = property( _get_wrapper, _set_wrapper )
+
+    def def_identifier( self ):
+        return algorithm.create_identifier( self, '::boost::python::def' )
+
+    def pure_virtual_identifier( self ):
+        return algorithm.create_identifier( self, '::boost::python::pure_virtual' )
+
+    def param_sep(self):
+        return os.linesep + self.indent( self.PARAM_SEPARATOR )
+
+    def create_keywords_args(self):
+        arg_utils = calldef_utils.argument_utils_t( self.declaration, algorithm.make_id_creator( self ) )
+        return arg_utils.keywords_args()
+
+    def create_call_policies( self, default_generates_code_too=False ):
+        if False == default_generates_code_too \
+           and self.declaration.call_policies.is_default():
+            return ''
+        else:
+            return self.declaration.call_policies.create( self )
+
+    def create_def_code( self ):
+        if not self.works_on_instance:
+            return '%s.def' % self.parent.class_var_name
+        else:
+            return 'def'
+
+    def create_doc(self):
+        return self.documentation
+
+    def create_function_ref_code( self, use_function_alias=False ):
+        raise NotImplementedError()
+
+    def _get_function_type_alias( self ):
+        return self.alias + '_function_type'
+    function_type_alias = property( _get_function_type_alias )
+
+    def _get_exported_class_alias( self ):
+        return 'exported_class_t'
+    exported_class_alias = property( _get_exported_class_alias )
+
+    def create_function_type_alias_code( self, exported_class_alias=None ):
+        raise NotImplementedError()
+
+    def _create_impl( self ):
+        if self.declaration.already_exposed:
+            return ''
+
+        result = []
+
+        if not self.works_on_instance:
+            exported_class_alias = None
+            if declarations.templates.is_instantiation( self.declaration.parent.name ):
+                exported_class_alias = self.exported_class_alias
+                result.append( 'typedef %s %s;' % ( self.parent.decl_identifier, exported_class_alias ) )
+                result.append( os.linesep )
+            result.append( self.create_function_type_alias_code(exported_class_alias) )
+            result.append( os.linesep * 2 )
+
+        result.append( self.create_def_code() + '( ' )
+        result.append( os.linesep + self.indent( '"%s"' % self.alias ) )
+
+        result.append( self.param_sep() )
+        result.append( self.create_function_ref_code( not self.works_on_instance ) )
+
+        if self.declaration.use_keywords:
+            keywd_args = self.create_keywords_args()
+            if keywd_args:
+                result.append( self.param_sep() )
+                result.append( keywd_args )
+
+        if self.declaration.call_policies:
+            c_p_code = self.create_call_policies()
+            if c_p_code:
+                result.append( self.param_sep() )
+                result.append( c_p_code )
+        else:
+            result.append( os.linesep + self.indent( '/* undefined call policies */', 2 ) )
+
+        doc = self.create_doc()
+        if doc:
+            result.append( self.param_sep() )
+            result.append( doc )
+
+        result.append( ' )' )
+        if not self.works_on_instance:
+            result.append( ';' )
+
+        if not self.works_on_instance:
+            #indenting and adding scope
+            code = ''.join( result )
+            result = [ '{ //%s' % declarations.full_name( self.declaration, with_defaults=False ) ]
+            result.append( os.linesep * 2 )
+            result.append( self.indent( code ) )
+            result.append( os.linesep * 2 )
+            result.append( '}' )
+
+        return ''.join( result )
+
+    def _get_system_files_impl( self ):
+        files = []
+        if self.declaration.call_policies:
+            files.append( self.declaration.call_policies.header_file )
+        return files
+
+class calldef_wrapper_t( code_creator.code_creator_t
+                         , declaration_based.declaration_based_t):
+    def __init__(self, function ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=function )
+
+    def override_identifier(self):
+        return algorithm.create_identifier( self, '::boost::python::override' )
+
+    def function_call_args( self ):
+        arg_utils = calldef_utils.argument_utils_t( self.declaration, algorithm.make_id_creator( self ) )
+        return arg_utils.call_args()
+
+    def args_declaration( self ):
+        arg_utils = calldef_utils.argument_utils_t( self.declaration, algorithm.make_id_creator( self ) )
+        return arg_utils.args_declaration()
+
+    def wrapped_class_identifier( self ):
+        return algorithm.create_identifier( self, self.declaration.parent.partial_decl_string )
+
+    def unoverriden_function_body( self ):
+        return 'throw std::logic_error("%s");' % self.declaration.non_overridable_reason
+
+    def throw_specifier_code( self ):
+        if self.declaration.does_throw:
+            if not self.declaration.exceptions:
+                return ''
+            else:
+                exceptions = [algorithm.create_identifier( self, exception.partial_decl_string ) for exception in self.declaration.exceptions]
+                return ' throw( ' + self.PARAM_SEPARATOR.join( exceptions ) + ' )'
+        else:
+            return ' throw()'
+
+    def _get_system_files_impl( self ):
+        files = []
+        if self.declaration.transformations:
+            ft = self.declaration.transformations[0]
+            files.extend( ft.required_headers() )
+        if self.declaration.call_policies:
+            files.append( self.declaration.call_policies.header_file )
+        return files
+
+class free_function_t( calldef_t ):
+    def __init__( self, function ):
+        calldef_t.__init__( self, function=function )
+        self.works_on_instance = False
+
+    def create_def_code( self ):
+        return self.def_identifier()
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        f_type = self.declaration.function_type()
+        return 'typedef ' + f_type.create_typedef( self.function_type_alias, with_defaults=False ) + ';'
+
+    def create_function_ref_code(self, use_function_alias=False):
+        fname = declarations.full_name( self.declaration, with_defaults=False )
+        result = ''
+        if use_function_alias:
+            result = '%s( &%s )' % ( self.function_type_alias, fname )
+        elif self.declaration.create_with_signature:
+            result = '(%s)( &%s )' % ( self.declaration.function_type().partial_decl_string, fname )
+        else:
+            result = '&%s' % fname
+        if self.declaration.adaptor:
+            result = "%s( %s )" % ( self.declaration.adaptor, result )
+        return result
+
+class mem_fun_t( calldef_t ):
+    def __init__( self, function ):
+        calldef_t.__init__( self, function=function )
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.declaration.function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias, with_defaults=False )
+
+    def create_function_ref_code(self, use_function_alias=False):
+        fname = declarations.full_name( self.declaration, with_defaults=False )
+        result = ''
+        if use_function_alias:
+            result = '%s( &%s )' % ( self.function_type_alias, fname )
+        elif self.declaration.create_with_signature:
+            result = '(%s)( &%s )' % ( self.declaration.function_type().partial_decl_string, fname )
+        else:
+            result = '&%s' % fname
+        if hasattr( self.declaration, 'adaptor' ) and self.declaration.adaptor:
+            result = "%s( %s )" % ( self.declaration.adaptor, result )
+        return result
+
+class make_constructor_t( calldef_t ):
+    def __init__( self, function ):
+        calldef_t.__init__( self, function=function )
+
+    def make_cnstr_identifier( self ):
+        return algorithm.create_identifier( self, '::boost::python::make_constructor' )
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.declaration.function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias, with_defaults=False )
+
+    def create_function_ref_code(self, use_function_alias=False):
+        fname = declarations.full_name( self.declaration, with_defaults=False )
+        if use_function_alias:
+            return '%s( &%s )' % ( self.function_type_alias, fname )
+        elif self.declaration.create_with_signature:
+            return '(%s)( &%s )' % ( self.declaration.function_type().partial_decl_string, fname )
+        else:
+            return '&%s' % fname
+
+    def _create_impl( self ):
+        if self.declaration.already_exposed:
+            return ''
+
+        result = []
+
+        if not self.works_on_instance:
+            result.append( self.create_function_type_alias_code() )
+            result.append( os.linesep * 2 )
+
+        result.append( self.create_def_code() + '( ' )
+        result.append( os.linesep + self.indent( '"__init__"' ) )
+
+        result.append( self.param_sep() )
+        result.append( self.make_cnstr_identifier()  + '( ')
+        result.append( self.create_function_ref_code( not self.works_on_instance ) )
+
+        keywd_args = None
+        if self.declaration.use_keywords:
+            keywd_args = self.create_keywords_args()
+
+        if self.declaration.call_policies:
+            default_generates_code_too = bool( keywd_args )
+            c_p_code = self.create_call_policies( default_generates_code_too )
+            if c_p_code:
+                result.append( self.indent( self.param_sep(), 3 ) )
+                result.append( c_p_code )
+
+        if keywd_args:
+            result.append( self.indent( self.param_sep(), 3 ) )
+            result.append( keywd_args )
+
+        result.append( ' )' ) #make_constructor
+
+        doc = self.create_doc()
+        if doc:
+            result.append( self.param_sep() )
+            result.append( doc )
+
+        result.append( ' )' )
+        if not self.works_on_instance:
+            result.append( ';' )
+
+        if not self.works_on_instance:
+            #indenting and adding scope
+            code = ''.join( result )
+            result = [ '{ //%s' % declarations.full_name( self.declaration, with_defaults=False ) ]
+            result.append( os.linesep * 2 )
+            result.append( self.indent( code ) )
+            result.append( os.linesep * 2 )
+            result.append( '}' )
+
+        return ''.join( result )
+
+
+class mem_fun_pv_t( calldef_t ):
+    def __init__( self, function, wrapper ):
+        calldef_t.__init__( self, function=function, wrapper=wrapper )
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.declaration.function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias )
+
+    def create_function_ref_code(self, use_function_alias=False):
+        result = ''
+        fname = declarations.full_name( self.declaration, with_defaults=False )
+        if use_function_alias:
+            result = '%s( %s(&%s) )' \
+                   % ( self.pure_virtual_identifier()
+                       , self.function_type_alias
+                       , fname )
+        elif self.declaration.create_with_signature:
+            result = '%s( (%s)(&%s) )' \
+                   % ( self.pure_virtual_identifier()
+                       , self.declaration.function_type().partial_decl_string
+                       , fname )
+        else:
+            result = '%s( &%s )' % ( self.pure_virtual_identifier(), fname)
+
+        if hasattr( self.declaration, 'adaptor' ) and self.declaration.adaptor:
+            result = "%s( %s )" % ( self.declaration.adaptor, result )
+
+        return result
+
+class mem_fun_pv_wrapper_t( calldef_wrapper_t ):
+    def __init__( self, function ):
+        calldef_wrapper_t.__init__( self, function=function )
+
+    def create_declaration(self):
+        template = 'virtual %(return_type)s %(name)s( %(args)s )%(constness)s%(throw)s'
+
+        constness = ''
+        if self.declaration.has_const:
+            constness = ' const '
+
+        return template % {
+            'return_type' : self.declaration.return_type.partial_decl_string
+            , 'name' : self.declaration.name
+            , 'args' : self.args_declaration()
+            , 'constness' : constness
+            , 'throw' : self.throw_specifier_code()
+        }
+
+    def create_body( self ):
+        auto_ptr_traits = declarations.auto_ptr_traits
+        if not self.declaration.overridable:
+            return self.unoverriden_function_body()
+        template = []
+        precall_code = self.declaration.override_precall_code
+        if precall_code:
+            template.append( os.linesep.join( precall_code ) )
+        template.append( '%(override)s func_%(alias)s = this->get_override( "%(alias)s" );' )
+        if self.declaration.return_type \
+           and auto_ptr_traits.is_smart_pointer( self.declaration.return_type ):
+            template.append( 'boost::python::object %(alias)s_result = func_%(alias)s( %(args)s );' )
+            template.append( 'return boost::python::extract< %(return_type)s >( %(alias)s_result );' )
+        else:
+            template.append( '%(return_)sfunc_%(alias)s( %(args)s );')
+        template = os.linesep.join( template )
+
+        return_ = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            return_ = 'return '
+
+        return_type = ''
+        if self.declaration.return_type:
+           return_type = self.declaration.return_type.decl_string
+
+        return template % {
+            'override' : self.override_identifier()
+            , 'alias' : self.declaration.alias
+            , 'return_' : return_
+            , 'args' : self.function_call_args()
+            , 'return_type' : return_type
+        }
+
+    def _create_impl(self):
+        answer = [ self.create_declaration() + '{' ]
+        answer.append( self.indent( self.create_body() ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+class mem_fun_v_t( calldef_t ):
+    def __init__( self, function, wrapper=None ):
+        calldef_t.__init__( self, function=function, wrapper=wrapper )
+        self.default_function_type_alias = 'default_' + self.function_type_alias
+
+    def create_function_type_alias_code( self, exported_class_alias=None ):
+        result = []
+
+        ftype = self.declaration.function_type()
+        result.append( 'typedef %s;'
+                       % ftype.create_typedef( self.function_type_alias
+                                               , exported_class_alias
+                                               , with_defaults=False)  )
+        if self.wrapper:
+            result.append( os.linesep )
+            ftype = self.wrapper.function_type()
+            result.append( 'typedef %s;'
+                           % ftype.create_typedef( self.default_function_type_alias
+                                                   , with_defaults=False) )
+        return ''.join( result )
+
+    def create_doc(self):
+        return None
+
+    def create_function_ref_code(self, use_function_alias=False):
+        fname = declarations.full_name( self.declaration, with_defaults=False )
+        result = []
+        if use_function_alias:
+            result.append( '%s(&%s)' % ( self.function_type_alias, fname) )
+            if self.wrapper:
+                result.append( self.param_sep() )
+                result.append( '%s(&%s)'
+                                % ( self.default_function_type_alias, self.wrapper.default_full_name() ) )
+        elif self.declaration.create_with_signature:
+            result.append( '(%s)(&%s)'
+                           % ( self.declaration.function_type().partial_decl_string
+                               , fname) )
+            if self.wrapper:
+                result.append( self.param_sep() )
+                result.append( '(%s)(&%s)'
+                               % ( self.wrapper.function_type().partial_decl_string
+                                   , self.wrapper.default_full_name() ) )
+        else:
+            result.append( '&%s'% fname )
+            if self.wrapper:
+                result.append( self.param_sep() )
+                result.append( '&%s' % self.wrapper.default_full_name() )
+        return ''.join( result )
+
+class mem_fun_v_wrapper_t( calldef_wrapper_t ):
+    def __init__( self, function ):
+        calldef_wrapper_t.__init__( self, function=function )
+
+    def default_full_name(self):
+        return self.parent.full_name + '::default_' + self.declaration.alias
+
+    def function_type(self):
+        return declarations.member_function_type_t(
+                return_type=self.declaration.return_type
+                , class_inst=declarations.dummy_type_t( self.parent.full_name )
+                , arguments_types=[arg.type for arg in self.declaration.arguments]
+                , has_const=self.declaration.has_const )
+
+    def create_declaration(self, name, has_virtual=True):
+        template = '%(virtual)s%(return_type)s %(name)s( %(args)s )%(constness)s %(throw)s'
+
+        virtual = 'virtual '
+        if not has_virtual:
+            virtual = ''
+
+        constness = ''
+        if self.declaration.has_const:
+            constness = ' const '
+
+        return template % {
+            'virtual' : virtual
+            , 'return_type' : self.declaration.return_type.partial_decl_string
+            , 'name' : name
+            , 'args' : self.args_declaration()
+            , 'constness' : constness
+            , 'throw' : self.throw_specifier_code()
+        }
+
+    def create_virtual_body(self):
+        template = []
+        precall_code = self.declaration.override_precall_code
+        if precall_code:
+            template.append( os.linesep.join( precall_code ) )
+        template.append( 'if( %(override)s func_%(alias)s = this->get_override( "%(alias)s" ) )' )
+        template.append( self.indent('%(return_)sfunc_%(alias)s( %(args)s );') )
+        template.append( 'else{' )
+        native_precall_code = self.declaration.override_native_precall_code
+        if native_precall_code:
+            template.append( self.indent( os.linesep.join( native_precall_code ) ) )
+        template.append( self.indent('%(return_)sthis->%(wrapped_class)s::%(name)s( %(args)s );') )
+        template.append( '}' )
+        template = os.linesep.join( template )
+
+        return_ = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            return_ = 'return '
+
+        return template % {
+            'override' : self.override_identifier()
+            , 'name' : self.declaration.partial_name
+            , 'alias' : self.declaration.alias
+            , 'return_' : return_
+            , 'args' : self.function_call_args()
+            , 'wrapped_class' : self.wrapped_class_identifier()
+        }
+
+    def create_default_body(self):
+        function_call = declarations.call_invocation.join( self.declaration.partial_name
+                                                           , [ self.function_call_args() ] )
+        body = self.wrapped_class_identifier() + '::' + function_call + ';'
+        if not declarations.is_void( self.declaration.return_type ):
+            body = 'return ' + body
+        precall_code = self.declaration.default_precall_code
+        if precall_code:
+            body = os.linesep.join( precall_code ) + os.linesep + body
+        return body
+
+
+    def create_function(self):
+        answer = [ self.create_declaration(self.declaration.partial_name) + '{' ]
+        answer.append( self.indent( self.create_virtual_body() ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+    def create_default_function( self ):
+        answer = [ self.create_declaration('default_' + self.declaration.alias, False) + '{' ]
+        answer.append( self.indent( self.create_default_body() ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+    def _create_impl(self):
+        answer = [ self.create_function() ]
+        answer.append( '' )
+        answer.append( self.create_default_function() )
+        return os.linesep.join( answer )
+
+
+class mem_fun_protected_t( calldef_t ):
+    def __init__( self, function, wrapper ):
+        calldef_t.__init__( self, function=function, wrapper=wrapper )
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.wrapper.function_type()
+        return 'typedef ' + ftype.create_typedef( self.function_type_alias, with_defaults=False ) + ';'
+
+    def create_function_ref_code(self, use_function_alias=False):
+        if use_function_alias:
+            return '%s( &%s )' \
+                   % ( self.function_type_alias, self.wrapper.full_name() )
+        elif self.declaration.create_with_signature:
+            return '(%s)(&%s)' \
+                   % ( self.wrapper.function_type().decl_string, self.wrapper.full_name() )
+        else:
+            return '&%s' % self.wrapper.full_name()
+
+class mem_fun_protected_wrapper_t( calldef_wrapper_t ):
+    def __init__( self, function ):
+        calldef_wrapper_t.__init__( self, function=function )
+
+    def full_name(self):
+        return '::'.join( [self.parent.full_name, self.declaration.partial_name] )
+
+    def function_type(self):
+        return declarations.member_function_type_t(
+                return_type=self.declaration.return_type
+                , class_inst=declarations.dummy_type_t( self.parent.full_name )
+                , arguments_types=[arg.type for arg in self.declaration.arguments]
+                , has_const=self.declaration.has_const )
+
+    def create_declaration(self, name):
+        template = '%(return_type)s %(name)s( %(args)s )%(constness)s%(throw)s'
+
+        constness = ''
+        if self.declaration.has_const:
+            constness = ' const '
+
+        return template % {
+            'return_type' : self.declaration.return_type.partial_decl_string
+            , 'name' : name
+            , 'args' : self.args_declaration()
+            , 'constness' : constness
+            , 'throw' : self.throw_specifier_code()
+        }
+
+    def create_body(self):
+        tmpl = '%(return_)s%(wrapped_class)s::%(name)s( %(args)s );'
+
+        return_ = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            return_ = 'return '
+
+        return tmpl % {
+            'name' : self.declaration.partial_name
+            , 'return_' : return_
+            , 'args' : self.function_call_args()
+            , 'wrapped_class' : self.wrapped_class_identifier()
+        }
+
+    def create_function(self):
+        answer = [ self.create_declaration(self.declaration.partial_name) + '{' ]
+        answer.append( self.indent( self.create_body() ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+    def _create_impl(self):
+        return self.create_function()
+
+
+
+class mem_fun_protected_s_t( calldef_t ):
+    def __init__( self, function, wrapper ):
+        calldef_t.__init__( self, function=function, wrapper=wrapper )
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.wrapper.function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, with_defaults=False )
+
+    def create_function_ref_code(self, use_function_alias=False):
+        if use_function_alias:
+            return '%s( &%s )' \
+                   % ( self.function_type_alias, self.wrapper.full_name() )
+        elif self.declaration.create_with_signature:
+            return '(%s)(&%s)' \
+                   % ( self.wrapper.function_type().partial_decl_string, self.wrapper.full_name() )
+        else:
+            return '&%s' % self.wrapper.full_name()
+
+class mem_fun_protected_s_wrapper_t( calldef_wrapper_t ):
+    def __init__( self, function ):
+        calldef_wrapper_t.__init__( self, function=function )
+
+    def full_name(self):
+        return '::'.join( [self.parent.full_name, self.declaration.name] )
+
+    def function_type(self):
+        return declarations.free_function_type_t(
+                return_type=self.declaration.return_type
+                , arguments_types=[arg.type for arg in self.declaration.arguments] )
+
+    def create_declaration(self, name):
+        template = 'static %(return_type)s %(name)s( %(args)s )%(throw)s'
+
+        return template % {
+            'return_type' : self.declaration.return_type.partial_decl_string
+            , 'name' : name
+            , 'args' : self.args_declaration()
+            , 'throw' : self.throw_specifier_code()
+        }
+
+    def create_body(self):
+        tmpl = '%(return_)s%(wrapped_class)s::%(name)s( %(args)s );'
+
+        return_ = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            return_ = 'return '
+
+        return tmpl % {
+            'name' : self.declaration.name
+            , 'return_' : return_
+            , 'args' : self.function_call_args()
+            , 'wrapped_class' : self.wrapped_class_identifier()
+        }
+
+    def create_function(self):
+        answer = [ self.create_declaration(self.declaration.name) + '{' ]
+        answer.append( self.indent( self.create_body() ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+    def _create_impl(self):
+        return self.create_function()
+
+class mem_fun_protected_v_t( calldef_t ):
+    def __init__( self, function, wrapper ):
+        calldef_t.__init__( self, function=function, wrapper=wrapper )
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.wrapper.function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, with_defaults=False )
+
+    def create_function_ref_code(self, use_function_alias=False):
+        if use_function_alias:
+            return '%s( &%s )' \
+                   % ( self.function_type_alias, self.wrapper.default_full_name() )
+        elif self.declaration.create_with_signature:
+            return '(%s)(&%s)' \
+                   % ( self.wrapper.function_type().partial_decl_string, self.wrapper.default_full_name() )
+        else:
+            return '&%s' % self.wrapper.default_full_name()
+
+class mem_fun_protected_v_wrapper_t( calldef_wrapper_t ):
+    def __init__( self, function):
+        calldef_wrapper_t.__init__( self, function=function )
+
+    def full_name(self):
+        return self.parent.full_name + '::' + self.declaration.name
+
+    def default_full_name(self):
+        return self.parent.full_name + '::default_' + self.declaration.alias
+
+    def function_type(self):
+        return declarations.member_function_type_t(
+                return_type=self.declaration.return_type
+                , class_inst=declarations.dummy_type_t( self.parent.full_name )
+                , arguments_types=[arg.type for arg in self.declaration.arguments]
+                , has_const=self.declaration.has_const )
+
+    def create_declaration(self, name):
+        template = 'virtual %(return_type)s %(name)s( %(args)s )%(constness)s%(throw)s'
+
+        constness = ''
+        if self.declaration.has_const:
+            constness = ' const '
+
+        return template % {
+            'return_type' : self.declaration.return_type.partial_decl_string
+            , 'name' : name
+            , 'args' : self.args_declaration()
+            , 'constness' : constness
+            , 'throw' : self.throw_specifier_code()
+        }
+
+    def create_virtual_body(self):
+        template = []
+
+        precall_code = self.declaration.override_precall_code
+        if precall_code:
+            template.append( os.linesep.join( precall_code ) )
+
+        template.append( 'if( %(override)s func_%(alias)s = this->get_override( "%(alias)s" ) )' )
+        template.append( self.indent('%(return_)sfunc_%(alias)s( %(args)s );') )
+        template.append( 'else{' )
+        native_precall_code = self.declaration.override_native_precall_code
+        if native_precall_code:
+            template.append( self.indent( os.linesep.join( native_precall_code ) ) )
+        template.append( self.indent('%(return_)sthis->%(wrapped_class)s::%(name)s( %(args)s );') )
+        template.append( '}' )
+        template = os.linesep.join( template )
+
+        return_ = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            return_ = 'return '
+
+        return template % {
+            'override' : self.override_identifier()
+            , 'name' : self.declaration.partial_name
+            , 'alias' : self.declaration.alias
+            , 'return_' : return_
+            , 'args' : self.function_call_args()
+            , 'wrapped_class' : self.wrapped_class_identifier()
+        }
+
+    def create_function(self):
+        answer = [ self.create_declaration(self.declaration.partial_name) + '{' ]
+        answer.append( self.indent( self.create_virtual_body() ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+
+    def create_default_body(self):
+        function_call = declarations.call_invocation.join( self.declaration.partial_name
+                                                           , [ self.function_call_args() ] )
+        body = self.wrapped_class_identifier() + '::' + function_call + ';'
+        if not declarations.is_void( self.declaration.return_type ):
+            body = 'return ' + body
+        precall_code = self.declaration.default_precall_code
+        if precall_code:
+            body = os.linesep.join( precall_code ) + os.linesep + body
+        return body
+
+    def create_default_function( self ):
+        answer = [ self.create_declaration('default_' + self.declaration.alias) + '{' ]
+        answer.append( self.indent( self.create_default_body() ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+    def _create_impl(self):
+        answer = [ self.create_function() ]
+        answer.append( '' )
+        answer.append( self.create_default_function() )
+        return os.linesep.join( answer )
+
+
+class mem_fun_protected_pv_t( calldef_t ):
+    def __init__( self, function, wrapper ):
+        calldef_t.__init__( self, function=function, wrapper=wrapper )
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.wrapper.function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, with_defaults=False )
+
+    def create_function_ref_code(self, use_function_alias=False):
+        if use_function_alias:
+            return '%s( &%s )' \
+                   % ( self.function_type_alias, self.wrapper.full_name() )
+        elif self.declaration.create_with_signature:
+            return '(%s)(&%s)' \
+                   % ( self.wrapper.function_type().partial_decl_string, self.wrapper.full_name() )
+        else:
+            return '&%s' % self.wrapper.full_name()
+
+class mem_fun_protected_pv_wrapper_t( calldef_wrapper_t ):
+    def __init__( self, function):
+        calldef_wrapper_t.__init__( self, function=function )
+
+    def full_name(self):
+        return self.parent.full_name + '::' + self.declaration.partial_name
+
+    def function_type(self):
+        return declarations.member_function_type_t(
+                return_type=self.declaration.return_type
+                , class_inst=declarations.dummy_type_t( self.parent.full_name )
+                , arguments_types=[arg.type for arg in self.declaration.arguments]
+                , has_const=self.declaration.has_const )
+
+    def create_declaration(self):
+        template = 'virtual %(return_type)s %(name)s( %(args)s )%(constness)s%(throw)s'
+
+        constness = ''
+        if self.declaration.has_const:
+            constness = ' const '
+
+        return template % {
+            'return_type' : self.declaration.return_type.partial_decl_string
+            , 'name' : self.declaration.name
+            , 'args' : self.args_declaration()
+            , 'constness' : constness
+            , 'throw' : self.throw_specifier_code()
+        }
+
+    def create_body( self ):
+        if not self.declaration.overridable:
+            return self.unoverriden_function_body()
+
+        template = []
+
+        precall_code = self.declaration.override_precall_code
+        if precall_code:
+            template.append( os.linesep.join( precall_code ) )
+
+        template.append( '%(override)s func_%(alias)s = this->get_override( "%(alias)s" );' )
+        template.append( '%(return_)sfunc_%(alias)s( %(args)s );')
+        template = os.linesep.join( template )
+
+        return_ = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            return_ = 'return '
+
+        return template % {
+            'override' : self.override_identifier()
+            , 'alias' : self.declaration.alias
+            , 'return_' : return_
+            , 'args' : self.function_call_args()
+        }
+
+    def _create_impl(self):
+        answer = [ self.create_declaration() + '{' ]
+        answer.append( self.indent( self.create_body() ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+class mem_fun_private_v_wrapper_t( calldef_wrapper_t ):
+    def __init__( self, function):
+        calldef_wrapper_t.__init__( self, function=function )
+
+    def full_name(self):
+        return self.parent.full_name + '::' + self.declaration.partial_name
+
+    def function_type(self):
+        return declarations.member_function_type_t(
+                return_type=self.declaration.return_type
+                , class_inst=declarations.dummy_type_t( self.parent.full_name )
+                , arguments_types=[arg.type for arg in self.declaration.arguments]
+                , has_const=self.declaration.has_const )
+
+    def create_declaration(self):
+        template = 'virtual %(return_type)s %(name)s( %(args)s )%(constness)s%(throw)s'
+
+        constness = ''
+        if self.declaration.has_const:
+            constness = ' const '
+
+        return template % {
+            'return_type' : self.declaration.return_type.partial_decl_string
+            , 'name' : self.declaration.name
+            , 'args' : self.args_declaration()
+            , 'constness' : constness
+            , 'throw' : self.throw_specifier_code()
+        }
+
+    def create_body( self ):
+        if not self.declaration.overridable:
+            return self.unoverriden_function_body()
+
+        template = []
+
+        precall_code = self.declaration.override_precall_code
+        if precall_code:
+            template.append( os.linesep.join( precall_code ) )
+
+        template.append( '%(override)s func_%(alias)s = this->get_override( "%(alias)s" );' )
+        template.append( '%(return_)sfunc_%(alias)s( %(args)s );')
+        template = os.linesep.join( template )
+
+        return_ = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            return_ = 'return '
+
+        return template % {
+            'override' : self.override_identifier()
+            , 'alias' : self.declaration.alias
+            , 'return_' : return_
+            , 'args' : self.function_call_args()
+        }
+
+    def _create_impl(self):
+        answer = [ self.create_declaration() + '{' ]
+        answer.append( self.indent( self.create_body() ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+mem_fun_private_pv_wrapper_t = mem_fun_private_v_wrapper_t
+
+class constructor_t( calldef_t ):
+    """
+    Creates boost.python code needed to expose constructor.
+    """
+    def __init__(self, constructor, wrapper=None ):
+        calldef_t.__init__( self, function=constructor, wrapper=wrapper )
+
+    def _create_arg_code( self, arg ):
+        temp = arg.type
+        if declarations.is_const( temp ):
+            #By David Abrahams:
+            #Function parameters declared consts are ignored by C++
+            #except for the purpose of function definitions
+            temp = declarations.remove_const( temp )
+        return algorithm.create_identifier( self, temp.partial_decl_string )
+
+    def _generate_definition_args(self):
+        answer = []
+        optionals = []
+        for arg in self.declaration.arguments:
+            if arg.default_value or optionals:
+                optionals.append( self._create_arg_code( arg ) )
+            else:
+                answer.append( self._create_arg_code( arg ) )
+
+        optionals_str = ''
+        if optionals:
+            optionals_str = algorithm.create_identifier( self, '::boost::python::optional' )
+            optionals_str = optionals_str + '< ' + ', '.join( optionals ) + ' >'
+            answer.append( optionals_str )
+        return ', '.join( answer )
+
+    def create_init_code(self):
+        init_identifier = algorithm.create_identifier( self, '::boost::python::init' )
+        args = [ self._generate_definition_args() ]
+        answer = [ '%s' % declarations.templates.join( init_identifier, args ) ]
+        answer.append( '(' )
+        keywords_args = None
+        if self.declaration.use_keywords:
+            keywords_args = self.create_keywords_args()
+            answer.append( '%s' % keywords_args )
+        if self.documentation:
+            if keywords_args:
+                answer.append( ', ' )
+            answer.append( self.documentation )
+        answer.append( ')' )
+        if self.declaration.call_policies and not self.declaration.call_policies.is_default():
+            answer.append('[%s]' % self.declaration.call_policies.create( self ) )
+        return ''.join( answer )
+
+    def _create_impl( self ):
+        code = 'def( %s )' % self.create_init_code()
+        if not self.works_on_instance:
+            code = self.parent.class_var_name + '.' + code + ';'
+        return code
+
+class static_method_t( declaration_based.declaration_based_t
+                       , registration_based.registration_based_t ):
+    """
+    Creates boost.python code that expose member function as static function.
+    """
+    def __init__(self, function, function_code_creator=None ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=function )
+
+        self._function_code_creator = function_code_creator
+
+    def _get_function_code_creator(self):
+        return self._function_code_creator
+    def _set_function_code_creator(self, new_function_code_creator ):
+        self._function_code_creator = new_function_code_creator
+    function_code_creator = property( _get_function_code_creator, _set_function_code_creator )
+
+    def _create_impl( self ):
+        return 'staticmethod( "%s" )' % self.function_code_creator.alias
+
+    def _get_system_files_impl( self ):
+        return []
+
+class constructor_wrapper_t( calldef_wrapper_t ):
+    """
+    Creates C++ code that builds wrapper arround exposed constructor.
+    """
+
+    def __init__( self, constructor ):
+        calldef_wrapper_t.__init__( self, function=constructor )
+
+    def _create_declaration(self):
+        result = []
+        result.append( self.parent.wrapper_alias )
+        result.append( '(' )
+        args = []
+        if not self.target_configuration.boost_python_has_wrapper_held_type \
+           or self.declaration.parent.require_self_reference:
+            args.append( 'PyObject* self' )
+        args_decl = self.args_declaration()
+        if args_decl:
+            args.append( args_decl )
+        result.append( ', '.join( args ) )
+        result.append( ' )' )
+        return ''.join( result )
+
+    def _create_constructor_call( self ):
+        answer = [ algorithm.create_identifier( self, self.parent.declaration.decl_string ) ]
+        answer.append( '( ' )
+        arg_utils = calldef_utils.argument_utils_t( self.declaration, algorithm.make_id_creator( self ) )
+        params = arg_utils.call_args()
+        answer.append( params )
+        if params:
+            answer.append(' ')
+        answer.append( ')' )
+        return ''.join( answer )
+
+    def _create_impl(self):
+        answer = [ self._create_declaration() ]
+        answer.append( ': ' + self._create_constructor_call() )
+        answer.append( '  , ' +  self.parent.boost_wrapper_identifier + '(){' )
+        if( self.declaration.is_copy_constructor ):
+            answer.append( self.indent( '// copy constructor' ) )
+        elif not self.declaration.arguments:
+            answer.append( self.indent( '// null constructor' ) )
+        else:
+            answer.append( self.indent( '// constructor' ) )
+        answer.append( self.declaration.body )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+#There is something I don't understand
+#There are usecases when boost.python requeres
+#constructor for wrapper class from exposed class
+#I should understand this more
+class copy_constructor_wrapper_t( code_creator.code_creator_t
+                                  , declaration_based.declaration_based_t ):
+    """
+    Creates wrapper class constructor from wrapped class instance.
+    """
+    def __init__( self, constructor ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=constructor )
+
+    @property
+    def parent_class( self ):
+        return self.declaration.parent
+
+    def _create_declaration(self):
+        result = []
+        result.append( self.parent_class.wrapper_alias )
+        result.append( '(' )
+        if not self.target_configuration.boost_python_has_wrapper_held_type \
+           or self.parent_class.require_self_reference:
+            result.append( 'PyObject* self, ' )
+        declarated = declarations.declarated_t( self.parent_class )
+        const_decl = declarations.const_t( declarated )
+        const_ref_decl = declarations.reference_t( const_decl )
+        identifier = algorithm.create_identifier( self, const_ref_decl.decl_string )
+        result.append( identifier + ' arg' )
+        result.append( ' )' )
+        return ''.join( result )
+
+    def _create_constructor_call( self ):
+        answer = [ algorithm.create_identifier( self, self.parent_class.decl_string ) ]
+        answer.append( '( arg )' )
+        return ''.join( answer )
+
+    def _create_impl(self):
+        answer = [ self._create_declaration() ]
+        answer.append( ': ' + self._create_constructor_call() )
+        answer.append( '  , ' +  self.parent.boost_wrapper_identifier + '(){' )
+        answer.append( self.indent( '// copy constructor' ) )
+        answer.append( self.indent( self.declaration.body ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+    def _get_system_files_impl( self ):
+        return []
+
+class null_constructor_wrapper_t( code_creator.code_creator_t
+                                  , declaration_based.declaration_based_t ):
+    """
+    Creates wrapper for compiler generated null constructor.
+    """
+    def __init__( self, constructor ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=constructor )
+
+    @property
+    def parent_class( self ):
+        return self.declaration.parent
+
+    def _create_constructor_call( self ):
+        return algorithm.create_identifier( self, self.parent_class.decl_string ) + '()'
+
+    def _create_impl(self):
+        answer = [ self.parent_class.wrapper_alias + '(' ]
+        if not self.target_configuration.boost_python_has_wrapper_held_type \
+           or self.parent_class.require_self_reference:
+            answer[0] = answer[0] + 'PyObject* self'
+        answer[0] = answer[0] + ')'
+        answer.append( ': ' + self._create_constructor_call() )
+        answer.append( '  , ' +  self.parent.boost_wrapper_identifier + '(){' )
+        answer.append( self.indent( '// null constructor' ) )
+        answer.append( self.indent( self.declaration.body ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+    def _get_system_files_impl( self ):
+        return []
+
+#in python all operators are members of class, while in C++
+#you can define operators that are not.
+class operator_t( registration_based.registration_based_t
+                  , declaration_based.declaration_based_t ):
+    """
+    Creates boost.python code needed to expose supported subset of C++ operators.
+    """
+    class SELF_POSITION:
+        FIRST = 'first'
+        SECOND = 'second'
+        BOTH = 'both'
+
+    def __init__(self, operator ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=operator )
+
+    def _call_type_constructor( self, type ):
+        x = declarations.remove_reference( type )
+        x = declarations.remove_cv( x )
+        other = algorithm.create_identifier( self, '::boost::python::other' )
+        type_ = algorithm.create_identifier( self, x.partial_decl_string )
+        return declarations.templates.join( other, [ type_ ] ) + '()'
+
+    def _findout_self_position(self):
+        assert not declarations.is_unary_operator( self.declaration )
+        decompose_type = declarations.decompose_type
+        parent_decl_string = self.parent.declaration.decl_string
+        arg0 = decompose_type( self.declaration.arguments[0].type )[-1].decl_string
+        if isinstance( self.declaration, declarations.member_operator_t ):
+            if parent_decl_string == arg0:
+                return self.SELF_POSITION.BOTH
+            else:
+                return self.SELF_POSITION.FIRST #may be wrong in case ++, --, but any way boost.python does not expose them
+        #now we deal with non global operators
+        arg1 = decompose_type( self.declaration.arguments[1].type )[-1].decl_string
+        if arg0 == arg1:
+            assert parent_decl_string == arg0 #in this case I have bug in module creator
+            return operator_t.SELF_POSITION.BOTH
+        elif arg0 != arg1 and arg0 == parent_decl_string:
+            return operator_t.SELF_POSITION.FIRST
+        elif arg0 != arg1 and arg1 == parent_decl_string:
+            return operator_t.SELF_POSITION.SECOND
+        else:
+            assert not "Unable to find out boost::python::self position. " + str( self.declaration )
+
+    def _create_binary_operator(self):
+        self_identifier = algorithm.create_identifier( self, '::boost::python::self' )
+
+        if self.declaration.symbol == '<<':
+            str_identifier = algorithm.create_identifier( self, '::boost::python::self_ns::str' )
+            return '%s( %s )' % ( str_identifier, self_identifier )
+
+        answer = [ None, self.declaration.symbol, None ]
+        self_position = self._findout_self_position()
+        if self_position == self.SELF_POSITION.FIRST:
+            answer[0] = self_identifier
+            type_ = None
+            if len( self.declaration.arguments ) == 2:
+                type_ = self.declaration.arguments[1].type
+            else:
+                type_ = self.declaration.arguments[0].type
+            answer[2] = self._call_type_constructor( type_ )
+        elif self_position == self.SELF_POSITION.SECOND:
+            answer[0] = self._call_type_constructor(self.declaration.arguments[0].type )
+            answer[2] = self_identifier
+        else:
+            answer[0] = self_identifier
+            answer[2] = self_identifier
+        return ' '.join( answer )
+
+    def _create_unary_operator(self):
+        return self.declaration.symbol + algorithm.create_identifier( self, '::boost::python::self' )
+
+    def _create_impl( self ):
+        code = None
+        if declarations.is_binary_operator( self.declaration ):
+            code = self._create_binary_operator()
+        else:
+            code = self._create_unary_operator()
+        return 'def( %s )' % code
+
+    def _get_system_files_impl( self ):
+        return []
+
+class casting_operator_t( registration_based.registration_based_t
+                          , declaration_based.declaration_based_t ):
+    """
+    Creates boost.python code needed to register type conversions( implicitly_convertible )
+    """
+    def __init__( self, operator ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=operator )
+        self.works_on_instance = False
+
+    def _create_impl(self):
+        #TODO add comment in case of non const operator
+        implicitly_convertible = algorithm.create_identifier( self, '::boost::python::implicitly_convertible' )
+        from_name = declarations.full_name( self.declaration.parent, with_defaults=False )
+        from_arg = algorithm.create_identifier( self, from_name )
+
+        to_arg = algorithm.create_identifier( self
+                                              , self.declaration.return_type.partial_decl_string )
+        return declarations.templates.join(implicitly_convertible
+                                           , [ from_arg , to_arg ] )  \
+               + '();'
+
+    def _get_system_files_impl( self ):
+        return []
+
+class casting_member_operator_t( registration_based.registration_based_t
+                                 , declaration_based.declaration_based_t ):
+    """
+    Creates boost.python code needed to register casting operators. For some
+    operators Pythonic name is given: __int__, __long__, __float__, __str__
+    """
+
+    def __init__( self, operator ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=operator )
+
+    def _create_impl(self):
+        template = 'def( "%(function_name)s", &%(class_name)s::operator %(destination_type)s %(call_policies)s%(doc)s )'
+        p_name = declarations.full_name( self.declaration.parent, with_defaults=False )
+        class_name = algorithm.create_identifier( self, p_name )
+
+        policies = ''
+        if self.declaration.call_policies:
+            if not self.declaration.call_policies.is_default():
+                policies = ',' + self.declaration.call_policies.create( self )
+        else:
+            policies = '/*, undefined call policies */'
+
+        doc = ''
+        if self.documentation:
+            doc = ', %s' % self.documentation
+
+        return template % { 'function_name' : self.declaration.alias
+                            , 'class_name' : class_name
+                            , 'destination_type' : self.declaration.return_type.partial_decl_string
+                            , 'call_policies' : policies
+                            , 'doc' : doc
+               }
+
+    def _get_system_files_impl( self ):
+        return []
+
+class casting_constructor_t( registration_based.registration_based_t
+                             , declaration_based.declaration_based_t ):
+    """
+    Creates boost.python code needed to register type conversions( implicitly_convertible ).
+    This case treat situation when class has public non explicit constuctor from
+    another type.
+    """
+    def __init__( self, constructor ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=constructor )
+        self.works_on_instance = False
+
+    def _create_impl(self):
+        implicitly_convertible = algorithm.create_identifier( self, '::boost::python::implicitly_convertible' )
+        from_arg = algorithm.create_identifier( self
+                                                ,  self.declaration.arguments[0].type.partial_decl_string)
+
+        to_name = declarations.full_name( self.declaration.parent, with_defaults=False )
+        to_arg = algorithm.create_identifier( self, to_name )
+        return declarations.templates.join(implicitly_convertible, [from_arg, to_arg ]) \
+               + '();'
+
+    def _get_system_files_impl( self ):
+        return []
+
+class destructor_wrapper_t( code_creator.code_creator_t
+                            , declaration_based.declaration_based_t ):
+    """
+    Creates class wrapper destructor from the code provided by the user
+    """
+    def __init__( self, class_ ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=class_ )
+
+    def _create_impl(self):
+        answer = [ 'virtual ~%s(){' % self.declaration.wrapper_alias ]
+        answer.append( self.indent( os.linesep.join( self.declaration.destructor_code ) ) )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+class calldef_overloads_class_t( code_creator.code_creator_t ):
+    def __init__( self, functions ):
+        #precondition: all member functions belong to same class and
+        #they all have same alias, otherwise it does not makes sense
+        code_creator.code_creator_t.__init__( self )
+        self._functions = functions
+        self._functions.sort() #I need this for "stabble" code generation
+        self._max_fun = None #function with maximal number of arguments
+
+    @property
+    def functions( self ):
+        return self._functions
+
+    def min_max_num_of_args( self ):
+        #returns tuple( minimal, maximal ) number of arguments
+        min_ = None
+        max_ = 0
+        for f in self.functions:
+            f_max = len( f.arguments )
+            f_min = f_max - len( [arg for arg in f.arguments if arg.default_value] )
+            if None is min_:
+                min_ = f_min
+            else:
+                min_ = min( min_, f_min )
+            max_tmp = max( max_, f_max )
+            if max_ < max_tmp:
+                max_ = max_tmp
+                self._max_fun = f
+        return ( min_, max_ )
+
+    @property
+    def max_function( self ):
+        if not self._max_fun:
+            initialize_max_fun_var = self.min_max_num_of_args()
+        return self._max_fun
+
+    @property
+    def max_function_identifier( self ):
+        return algorithm.create_identifier( self, declarations.full_name( self.max_function ) )
+
+    @property
+    def alias( self ):
+        return self.functions[0].alias
+
+    @property
+    def parent_decl( self ):
+        return self.functions[0].parent
+
+    @property
+    def name( self ):
+        return '%s_%s_overloads' % ( self.parent_decl.alias, self.alias )
+
+class mem_fun_overloads_class_t( calldef_overloads_class_t ):
+    def __init__( self, mem_funs ):
+        #precondition: all member functions belong to same class and
+        #they all have same alias, otherwise it does not makes sense
+        calldef_overloads_class_t.__init__( self, mem_funs )
+
+    def _create_impl(self):
+        if self.max_function.already_exposed:
+            return ''
+
+        min_, max_ = self.min_max_num_of_args()
+        return "BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS( %(overloads_cls)s, %(fun)s, %(min)d, %(max)d )" \
+               % {   'overloads_cls' : self.name
+                   , 'fun' : self.max_function_identifier
+                   , 'min' : min_
+                   , 'max' : max_
+               }
+
+    def _get_system_files_impl( self ):
+        return []
+
+class free_fun_overloads_class_t( calldef_overloads_class_t ):
+    def __init__( self, free_funs ):
+        #precondition: all member functions belong to same class and
+        #they all have same alias, otherwise it does not makes sense
+        calldef_overloads_class_t.__init__( self, free_funs )
+
+    def _create_impl(self):
+        if self.max_function.already_exposed:
+            return ''
+
+        min_, max_ = self.min_max_num_of_args()
+        return "BOOST_PYTHON_FUNCTION_OVERLOADS( %(overloads_cls)s, %(fun)s, %(min)d, %(max)d )" \
+               % {   'overloads_cls' : self.name
+                   , 'fun' : self.max_function_identifier
+                   , 'min' : min_
+                   , 'max' : max_
+               }
+
+    def _get_system_files_impl( self ):
+        return []
+
+class calldef_overloads_t( registration_based.registration_based_t ):
+    def __init__( self, overloads_class ):
+        registration_based.registration_based_t.__init__( self )
+        self._overloads_class = overloads_class
+
+    @property
+    def overloads_class( self ):
+        return self._overloads_class
+
+    def create_def_code( self ):
+        raise NotImplementedError()
+
+    def create_end_def_code( self ):
+        raise NotImplementedError()
+
+    def create_keywords_args(self):
+        result = [ algorithm.create_identifier( self, '::boost::python::args' ) ]
+        result.append( '( ' )
+        args = []
+        for arg in self.overloads_class.max_function.arguments:
+            if 0 < len( args ):
+                args.append( self.PARAM_SEPARATOR )
+            args.append( '"%s"' % arg.name )
+        result.extend( args )
+        result.append( ' )' )
+        return ''.join( result )
+
+    def _get_function_type_alias( self ):
+        return self.overloads_class.alias + '_function_type'
+    function_type_alias = property( _get_function_type_alias )
+
+    def create_function_type_alias_code( self, exported_class_alias=None ):
+        raise NotImplementedError()
+
+    def create_overloads_cls( self ):
+        result = [ self.overloads_class.name ]
+        result.append( '( ' )
+        if self.overloads_class.max_function.use_keywords:
+            result.append( os.linesep + self.indent( self.create_keywords_args(), 3 ) )
+        if self.overloads_class.max_function.documentation:
+            if self.overloads_class.max_function.use_keywords:
+                result.append( os.linesep + self.indent( self.PARAM_SEPARATOR, 3 ) )
+            result.append( self.overloads_class.max_function.documentation )
+        result.append( ' )' )
+        if self.overloads_class.max_function.call_policies \
+           and not self.overloads_class.max_function.call_policies.is_default():
+            result.append( os.linesep + self.indent('', 3) )
+            result.append('[ %s ]' % self.overloads_class.max_function.call_policies.create( self ) )
+        return ''.join( result )
+
+    def _create_impl(self):
+        result = []
+        if not self.works_on_instance:
+            exported_class_alias = None
+            if declarations.templates.is_instantiation( self.overloads_class.max_function.parent.name ):
+                exported_class_alias = self.exported_class_alias
+                result.append( 'typedef %s %s;' % ( self.parent.decl_identifier, exported_class_alias ) )
+                result.append( os.linesep )
+            result.append( self.create_function_type_alias_code(exported_class_alias) )
+            result.append( os.linesep * 2 )
+
+        result.append( self.create_def_code() + '( ' )
+        result.append( os.linesep + self.indent( '"%s"' % self.overloads_class.alias ) )
+
+        result.append( os.linesep + self.indent( self.PARAM_SEPARATOR ) )
+        result.append( self.create_function_ref_code( not self.works_on_instance ) )
+
+        result.append( os.linesep + self.indent( self.PARAM_SEPARATOR ) )
+        result.append( self.create_overloads_cls() )
+
+        result.append( ' )' )
+        result.append( self.create_end_def_code() )
+
+        if not self.works_on_instance:
+            #indenting and adding scope
+            code = ''.join( result )
+            result = [ '{ //%s' % declarations.full_name( self.overloads_class.max_function ) ]
+            result.append( os.linesep * 2 )
+            result.append( self.indent( code ) )
+            result.append( os.linesep * 2 )
+            result.append( '}' )
+
+        return ''.join( result )
+
+    def _get_system_files_impl( self ):
+        return []
+
+class mem_fun_overloads_t( calldef_overloads_t ):
+    def __init__( self, overloads_class ):
+        calldef_overloads_t.__init__( self, overloads_class )
+
+    def create_def_code( self ):
+        if not self.works_on_instance:
+            return '%s.def' % self.parent.class_var_name
+        else:
+            return 'def'
+
+    def create_end_def_code( self ):
+        if not self.works_on_instance:
+            return ';'
+        else:
+            return ''
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.overloads_class.max_function.function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias )
+
+    def create_function_ref_code(self, use_function_alias=False):
+        fname = declarations.full_name( self.overloads_class.max_function )
+        if use_function_alias:
+            return '%s( &%s )' % ( self.function_type_alias, fname )
+        elif self.overloads_class.max_function.create_with_signature:
+            return '(%s)( &%s )' % ( self.overloads_class.max_function.function_type().decl_string, fname )
+        else:
+            return '&%s' % fname
+
+
+class free_fun_overloads_t( calldef_overloads_t ):
+    def __init__( self, overloads_class ):
+        calldef_overloads_t.__init__( self, overloads_class )
+
+    def create_def_code( self ):
+        return algorithm.create_identifier( self, '::boost::python::def' )
+
+    def create_end_def_code( self ):
+        return ';'
+
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.overloads_class.max_function.function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias )
+
+    def create_function_ref_code(self, use_function_alias=False):
+        fname = declarations.full_name( self.overloads_class.max_function )
+        if use_function_alias:
+            return '%s( &%s )' % ( self.function_type_alias, fname )
+        elif self.overloads_class.max_function.create_with_signature:
+            return '(%s)( &%s )' % ( self.overloads_class.max_function.function_type().decl_string, fname )
+        else:
+            return '&%s' % fname
diff --git a/pyplusplus/code_creators/calldef_ctypes.py b/pyplusplus/code_creators/calldef_ctypes.py
new file mode 100644
index 0000000..26ade79
--- /dev/null
+++ b/pyplusplus/code_creators/calldef_ctypes.py
@@ -0,0 +1,104 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import compound
+from . import code_creator
+from . import ctypes_formatter
+from . import declaration_based
+from pygccxml import declarations
+
+CCT = declarations.CALLING_CONVENTION_TYPES
+
+function_prototype_mapping = {
+    CCT.UNKNOWN : 'CFUNCTYPE'
+    , CCT.CDECL : 'CFUNCTYPE'
+    , CCT.STDCALL : 'WINFUNCTYPE'
+    , CCT.THISCALL : 'CPPMETHODTYPE'
+    , CCT.FASTCALL : '<<<fastcall unsupported>>>'
+    , CCT.SYSTEM_DEFAULT : 'CFUNCTYPE'
+}
+
+assert len( function_prototype_mapping ) == len( CCT.all )
+
+class METHOD_MODE:
+    STAND_ALONE = "stand alone"
+    MULTI_METHOD = "multi method"
+    all = [ STAND_ALONE, MULTI_METHOD ]
+
+class opaque_init_introduction_t(code_creator.code_creator_t, declaration_based.declaration_based_t):
+    def __init__( self, class_ ):
+        code_creator.code_creator_t.__init__(self)
+        declaration_based.declaration_based_t.__init__( self, class_ )
+
+    def _create_impl(self):
+        tmpl = ['def __init__( self, *args, **keywd ):']
+        tmpl.append( self.indent('raise RuntimeError( "Unable to create instance of opaque type." )') )
+        return os.linesep.join( tmpl )
+
+    def _get_system_files_impl( self ):
+        return []
+
+class callable_definition_t(code_creator.code_creator_t, declaration_based.declaration_based_t):
+    def __init__( self, callable ):
+        code_creator.code_creator_t.__init__(self)
+        declaration_based.declaration_based_t.__init__( self, callable )
+
+    @property
+    def ftype( self ):
+        return self.declaration.function_type()
+
+    def join_arguments( self, args, group_in_list=True ):
+        args_str = ''
+        arg_separator = ', '
+        if 1 == len( args ):
+            args_str = ' ' + args[0] + ' '
+        else:
+            args_str = ' ' + arg_separator.join( args ) + ' '
+        if args_str.endswith( '  ' ):
+            args_str = args_str[:-1]
+        if group_in_list:
+            return '[%s]' % args_str
+        else:
+            return args_str
+
+    def restype_code(self):
+        if not declarations.is_void( self.ftype.return_type ):
+            return ctypes_formatter.as_ctype( self.ftype.return_type, self.top_parent.treat_char_ptr_as_binary_data )
+        else:
+            return ''
+
+    def argtypes_code(self, group_in_list=True):
+        if not self.ftype.arguments_types:
+            return ''
+        args = [ctypes_formatter.as_ctype( type_, self.top_parent.treat_char_ptr_as_binary_data ) for type_ in self.ftype.arguments_types]
+        return self.join_arguments( args, group_in_list )
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+class function_definition_t(callable_definition_t):
+    def __init__( self, free_fun ):
+        callable_definition_t.__init__( self, free_fun )
+
+    def _create_impl(self):
+        global function_prototype_mapping
+        result = []
+        result.append( '%(alias)s_type = ctypes.%(prototype)s( %(restype)s%(argtypes)s )' )
+        result.append( '%(alias)s = %(alias)s_type( ( %(library_var_name)s.undecorated_names["%(undecorated_decl_name)s"], %(library_var_name)s ) )' )
+
+        restype = self.restype_code()
+        argtypes = self.argtypes_code( group_in_list=False )
+
+        return os.linesep.join( result ) \
+               % dict( alias=self.declaration.alias
+                       , prototype=function_prototype_mapping[ self.declaration.calling_convention ]
+                       , restype=self.iif( restype, restype, 'None' )
+                       , argtypes=self.iif( argtypes, ',' + argtypes, '' )
+                       , library_var_name=self.top_parent.library_var_name
+                       , undecorated_decl_name=self.undecorated_decl_name )
+
+        return os.linesep.join( result )
diff --git a/pyplusplus/code_creators/calldef_transformed.py b/pyplusplus/code_creators/calldef_transformed.py
new file mode 100644
index 0000000..2b86254
--- /dev/null
+++ b/pyplusplus/code_creators/calldef_transformed.py
@@ -0,0 +1,506 @@
+# Copyright 2004-2008 Roman Yakovenko
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import algorithm
+from . import code_creator
+from . import calldef_utils
+from . import class_declaration
+from pygccxml import declarations
+from pyplusplus import code_repository
+from .calldef import calldef_t, calldef_wrapper_t
+import pyplusplus.function_transformers as function_transformers
+
+#TODO: constructors also can have transformation defined. We should use make _init
+# function for this purpose
+
+def remove_duplicate_linesep( code ):
+    lines = code.split( os.linesep )
+    lines = [line for line in lines if line.strip()]
+    return os.linesep.join( lines )
+    
+class sealed_fun_transformed_t( calldef_t ):
+    def __init__( self, function, wrapper=None ):
+        calldef_t.__init__( self, function=function, wrapper=wrapper )
+
+    @property
+    def ft( self ): #function transformation
+        return self.declaration.transformations[0]
+
+    @property 
+    def controller( self ):
+        return self.ft.controller
+    
+    def _get_alias_impl( self ):
+        return self.wrapper.ft.alias
+    
+    def create_function_type_alias_code( self, exported_class_alias=None  ):
+        ftype = self.wrapper.function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias )
+
+    def create_function_ref_code(self, use_function_alias=False):
+        full_name = self.wrapper.full_name()
+
+        if use_function_alias:
+            return '%s( &%s )' \
+                   % ( self.function_type_alias, full_name )
+        elif self.declaration.create_with_signature:
+            func_type = self.wrapper.function_type()
+            return '(%s)( &%s )' % ( func_type, full_name )
+        else:
+            return '&%s' % full_name
+
+    def create_call_policies( self ):
+        return ''
+
+class sealed_fun_transformed_wrapper_t( calldef_wrapper_t ):
+    def __init__( self, function ):
+        calldef_wrapper_t.__init__( self, function=function )
+
+    @property
+    def ft( self ): #function transformation
+        return self.declaration.transformations[0]
+
+    @property 
+    def controller( self ):
+        return self.ft.controller
+
+    def resolve_function_ref( self ):
+        raise NotImplementedError()
+
+    def create_fun_definition(self):
+        cntrl = self.controller
+
+        make_object = algorithm.create_identifier( self, 'pyplusplus::call_policies::make_object' )
+        make_tuple = algorithm.create_identifier( self, 'boost::python::make_tuple' )
+        
+        tmpl_values = dict()
+
+        tmpl_values['unique_function_name'] = self.wrapper_name()
+        tmpl_values['return_type'] = self.controller.wrapper_return_type.decl_string
+        tmpl_values['arg_declarations'] = self.args_declaration()
+        
+        tmpl_values['declare_variables'] \
+            = os.linesep + os.linesep.join( [self.indent( var.declare_var_string() ) for var in cntrl.variables] )
+                
+        tmpl_values['pre_call'] = os.linesep + self.indent( os.linesep.join( cntrl.pre_call ) )
+
+        tmpl_values['save_result'] = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            tmpl_tmp = '%(type)s %(name)s = '
+            if declarations.is_reference( self.declaration.return_type ):
+                tmpl_tmp = tmpl_tmp + '&'
+
+            tmpl_values['save_result'] = tmpl_tmp \
+                                         % { 'type': cntrl.result_variable.type.decl_string
+                                             , 'name' : cntrl.result_variable.name }
+
+        tmpl_values['function_name'] = self.resolve_function_ref()
+        tmpl_values['arg_expressions'] = self.PARAM_SEPARATOR.join( cntrl.arg_expressions )
+        return_stmt_creator = calldef_utils.return_stmt_creator_t( self
+                                    , self.controller
+                                    , self.controller.result_variable
+                                    , self.controller.return_variables )
+
+        tmpl_values['post_call'] = os.linesep + self.indent( os.linesep.join( cntrl.post_call ) )
+        if return_stmt_creator.pre_return_code:
+            tmpl_values['post_call'] \
+                = os.linesep.join([ tmpl_values['post_call']
+                                    , self.indent( return_stmt_creator.pre_return_code )])
+        tmpl_values['return'] = os.linesep + self.indent( return_stmt_creator.statement )
+            
+        f_def = self.controller.template.substitute(tmpl_values)
+        return remove_duplicate_linesep( f_def )
+        
+    def _create_impl(self):
+        return self.create_fun_definition()
+        
+class free_fun_transformed_t( sealed_fun_transformed_t ):
+    """Creates code for public non-virtual member functions.
+    """
+
+    def __init__( self, function, wrapper=None ):
+        sealed_fun_transformed_t.__init__( self, function=function, wrapper=wrapper )
+        self.works_on_instance = False
+
+    def create_def_code( self ):
+        return self.def_identifier()
+
+    def create_keywords_args(self):
+        arg_utils = calldef_utils.argument_utils_t( self.declaration
+                                                   , algorithm.make_id_creator( self )
+                                                   , self.controller.wrapper_args )
+        return arg_utils.keywords_args()
+
+
+class free_fun_transformed_wrapper_t( sealed_fun_transformed_wrapper_t ):
+    def __init__( self, function ):
+        """Constructor.
+
+        :param function: Function declaration
+        :type function: calldef_t
+        """
+        sealed_fun_transformed_wrapper_t .__init__( self, function=function )
+        
+    def function_type(self):
+        return declarations.free_function_type_t(
+                  return_type=self.controller.wrapper_return_type
+                , arguments_types=[ arg.type for arg in self.controller.wrapper_args ] )
+
+    def wrapper_name( self ):
+        return self.ft.unique_name
+
+    def full_name(self):
+        return self.ft.unique_name
+
+    def args_declaration( self ):
+        arg_utils = calldef_utils.argument_utils_t( 
+                          self.declaration
+                        , algorithm.make_id_creator( self )
+                        , self.controller.wrapper_args )
+        return arg_utils.args_declaration()
+
+    def create_declaration(self, name):
+        template = 'static %(return_type)s %(name)s( %(args)s )'
+
+        return template % {
+            'return_type' : self.controller.wrapper_return_type.decl_string
+            , 'name' : self.wrapper_name()
+            , 'args' : self.args_declaration()
+        }
+
+    def resolve_function_ref( self ):
+        return declarations.full_name( self.declaration )
+
+
+class mem_fun_transformed_t( sealed_fun_transformed_t ):
+    """Creates code for public non-virtual member functions.
+    """
+    def __init__( self, function, wrapper=None ):
+        sealed_fun_transformed_t.__init__( self, function=function, wrapper=wrapper )
+
+    def create_keywords_args(self):
+        args = self.controller.wrapper_args[:]
+        if self.controller.inst_arg:
+            args.insert( 0, self.controller.inst_arg )
+
+        arg_utils = calldef_utils.argument_utils_t( self.declaration
+                                                   , algorithm.make_id_creator( self )
+                                                   , args )
+        return arg_utils.keywords_args()
+
+class mem_fun_transformed_wrapper_t( sealed_fun_transformed_wrapper_t ):
+    def __init__( self, function ):
+        """Constructor.
+
+        :param function: Function declaration
+        :type function: calldef_t
+        """
+        sealed_fun_transformed_wrapper_t.__init__( self, function=function )
+
+    def __is_global( self ):
+        return not isinstance( self.parent, class_declaration.class_wrapper_t )
+
+    def function_type(self):
+        args = [arg.type for arg in self.controller.wrapper_args] 
+        if self.controller.inst_arg:
+            args.insert( 0, self.controller.inst_arg.type )
+        return declarations.free_function_type_t(
+                  return_type=self.controller.wrapper_return_type
+                , arguments_types=args )
+
+    def wrapper_name( self ):
+        if self.__is_global():
+            return self.ft.unique_name
+        else:
+            if self.declaration.overloads: 
+                #it is possible that other functions will have same signature
+                return self.ft.unique_name
+            else:
+                return self.declaration.name            
+
+    def full_name(self):
+        if self.__is_global():
+            return self.ft.unique_name
+        else:
+            return self.parent.full_name + '::' + self.wrapper_name()
+
+    def args_declaration( self ):
+        args = self.controller.wrapper_args[:]
+        if self.controller.inst_arg:
+            args.insert( 0, self.controller.inst_arg )
+        arg_utils = calldef_utils.argument_utils_t( 
+                          self.declaration
+                        , algorithm.make_id_creator( self )
+                        , args )
+        return arg_utils.args_declaration()
+
+    def resolve_function_ref( self ):
+        if self.controller.inst_arg:
+            return self.controller.inst_arg.name + '.' + self.declaration.name
+        else:
+            return declarations.full_name( self.declaration )
+
+class mem_fun_v_transformed_t( calldef_t ):
+    def __init__( self, function, wrapper=None ):
+        calldef_t.__init__( self, function=function, wrapper=wrapper )
+
+    @property
+    def ft( self ): #function transformation
+        return self.declaration.transformations[0]
+
+    @property 
+    def controller( self ):
+        return self.ft.controller
+    
+    @property
+    def function_type_alias( self ):
+        return 'default_' + self.alias + '_function_type'
+
+    def _get_alias_impl( self ):
+        return self.wrapper.ft.alias
+    
+    def create_function_type_alias_code( self, exported_class_alias=None ):
+        ftype = self.wrapper.default_function_type()
+        return 'typedef %s;' % ftype.create_typedef( self.function_type_alias )
+
+    def create_keywords_args(self):
+        cntrl = self.controller.default_controller
+        arg_utils = calldef_utils.argument_utils_t( self.declaration
+                                                   , algorithm.make_id_creator( self )
+                                                   , [cntrl.inst_arg] + cntrl.wrapper_args )
+        return arg_utils.keywords_args()
+
+    def create_function_ref_code(self, use_function_alias=False):
+        full_name = self.wrapper.default_full_name()
+        if use_function_alias:
+            return '%s( &%s )' % ( self.function_type_alias, full_name )
+        elif self.declaration.create_with_signature:
+            func_type = self.wrapper.default_function_type()
+            return '(%s)( &%s )' % ( func_type, full_name )
+        else:
+            return '&%s' % full_name
+
+    def create_call_policies( self ):
+        return ''
+
+class mem_fun_v_transformed_wrapper_t( calldef_wrapper_t ):
+    def __init__( self, function ):
+        calldef_wrapper_t.__init__( self, function=function )
+
+    @property
+    def ft( self ): #function transformation
+        return self.declaration.transformations[0]
+
+    @property 
+    def controller( self ):
+        return self.ft.controller
+
+    def default_name(self):
+        if self.declaration.overloads: 
+            #it is possible that other functions will have same signature
+            return 'default_' + self.ft.unique_name
+        else:
+            return 'default_' + self.declaration.alias 
+
+    def default_full_name(self):
+        return self.parent.full_name + '::' + self.default_name()
+
+    def args_override_declaration( self ):
+        return self.args_declaration()
+
+    def args_default_declaration( self ):
+        cntrl = self.controller.default_controller
+        arg_utils = calldef_utils.argument_utils_t( self.declaration
+                                                    , algorithm.make_id_creator( self )
+                                                    , [cntrl.inst_arg] + cntrl.wrapper_args )
+        return arg_utils.args_declaration()
+
+    def default_function_type(self):
+        cntrl = self.controller.default_controller
+        args = [cntrl.inst_arg.type] + [arg.type for arg in cntrl.wrapper_args] 
+        return declarations.free_function_type_t( return_type=cntrl.wrapper_return_type
+                                                  , arguments_types=args )
+
+    def create_default(self):
+        cntrl = self.controller.default_controller
+
+        make_object = algorithm.create_identifier( self, 'pyplusplus::call_policies::make_object' )
+        make_tuple = algorithm.create_identifier( self, 'boost::python::make_tuple' )
+        
+        tmpl_values = dict()
+
+        tmpl_values['unique_function_name'] = self.default_name()
+        tmpl_values['return_type'] = cntrl.wrapper_return_type.decl_string
+        tmpl_values['arg_declarations'] = self.args_default_declaration()        
+        tmpl_values['wrapper_class'] = self.parent.wrapper_alias
+        tmpl_values['wrapped_class'] = declarations.full_name( self.declaration.parent )
+        tmpl_values['wrapped_inst'] = cntrl.inst_arg.name
+        tmpl_values['wrapped_inst_constness'] = ''
+        if declarations.is_const( declarations.remove_reference( cntrl.inst_arg.type ) ):
+            tmpl_values['wrapped_inst_constness'] = 'const'
+            
+        decl_vars = cntrl.variables[:]
+        if not declarations.is_void( self.declaration.return_type ):
+            decl_vars.append( cntrl.result_variable )
+        tmpl_values['declare_variables'] \
+            = os.linesep + os.linesep.join( [self.indent( var.declare_var_string() ) for var in decl_vars] )
+                
+        tmpl_values['pre_call'] = os.linesep + self.indent( os.linesep.join( cntrl.pre_call ) )
+
+        tmpl_values['save_result'] = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            tmpl_tmp = '%(result_var_name)s = '
+            if declarations.is_reference( self.declaration.return_type ):
+                tmpl_tmp = tmpl_tmp + '&'
+            tmpl_values['save_result'] = tmpl_tmp % dict( result_var_name=cntrl.result_variable.name )
+
+        tmpl_values['function_name'] = self.declaration.name
+        tmpl_values['arg_expressions'] = self.PARAM_SEPARATOR.join( cntrl.arg_expressions )
+        return_stmt_creator = calldef_utils.return_stmt_creator_t( self
+                                    , cntrl
+                                    , cntrl.result_variable
+                                    , cntrl.return_variables )
+
+        tmpl_values['post_call'] = os.linesep + self.indent( os.linesep.join( cntrl.post_call ) )
+        if return_stmt_creator.pre_return_code:
+            tmpl_values['post_call'] \
+                = os.linesep.join([ tmpl_values['post_call']
+                                    , self.indent( return_stmt_creator.pre_return_code )])
+        tmpl_values['return'] = os.linesep + self.indent( return_stmt_creator.statement )
+            
+        f_def = cntrl.template.substitute(tmpl_values)
+        return remove_duplicate_linesep( f_def )
+
+    def wrapped_class_identifier( self ):
+        return algorithm.create_identifier( self, declarations.full_name( self.declaration.parent ) )
+
+    def create_override(self):
+        cntrl = self.controller.override_controller       
+        
+        tmpl_values = dict()
+        tmpl_values['return_type' ] = self.declaration.return_type.decl_string 
+        tmpl_values['function_name'] = self.declaration.name
+        tmpl_values['arg_declarations'] = self.args_override_declaration()
+        tmpl_values['constness'] = ''
+        if self.declaration.has_const:
+            tmpl_values['constness'] = ' const '
+        tmpl_values['throw'] = self.throw_specifier_code()        
+        tmpl_values['py_function_var'] = cntrl.py_function_var
+        tmpl_values['function_alias'] = self.declaration.alias
+        tmpl_values['declare_py_variables'] \
+            = os.linesep + os.linesep.join( [self.indent( var.declare_var_string(), 2 ) for var in cntrl.py_variables] )
+
+        tmpl_values['py_pre_call'] = os.linesep + self.indent( os.linesep.join( cntrl.py_pre_call ), 2 )
+        tmpl_values['py_post_call'] = os.linesep + self.indent( os.linesep.join( cntrl.py_post_call ), 2 )
+        tmpl_values['py_arg_expressions'] = ''
+        if cntrl.py_arg_expressions:
+            tmpl_values['py_arg_expressions'] \
+                = ', ' + self.PARAM_SEPARATOR.join( cntrl.py_arg_expressions )
+            
+        tmpl_values['save_py_result'] = "bpl::object %s = " % cntrl.py_result_variable.name
+        tmpl_values['py_return'] = ''
+        tmpl_values['cpp_return'] = ''
+        if not declarations.is_void( self.declaration.return_type ):
+            tmpl_values['py_return'] \
+                = 'return bpl::extract< %(type)s >( pyplus_conv::get_out_argument( %(py_result)s, 0 ) );' \
+                  % { 'type' : self.declaration.return_type.decl_string
+                    , 'py_result' : cntrl.py_result_variable.name }
+            tmpl_values['cpp_return'] = 'return '
+
+        tmpl_values['wrapped_class'] = self.wrapped_class_identifier()
+
+        arg_utils = calldef_utils.argument_utils_t( self.declaration
+                                                   , algorithm.make_id_creator( self )
+                                                   , self.declaration.arguments )
+        tmpl_values['cpp_arg_expressions'] = arg_utils.call_args()
+
+        f_def_code = cntrl.template.substitute(tmpl_values)
+        return remove_duplicate_linesep( f_def_code )
+        
+    def _create_impl(self):
+        return os.linesep.join([ self.create_override(), '', self.create_default() ])
+
+    def _get_system_files_impl( self ):
+        files = super( mem_fun_v_transformed_wrapper_t, self )._get_system_files_impl()
+        files.append( code_repository.convenience.file_name )
+        return files
+
+
+class constructor_transformed_t( calldef_t ):
+    def __init__( self, constructor, wrapper=None ):
+        calldef_t.__init__( self, function=constructor, wrapper=wrapper )
+
+    @property
+    def ft( self ): #function transformation
+        return self.declaration.transformations[0]
+
+    @property 
+    def controller( self ):
+        return self.ft.controller
+        
+    def create_call_policies( self ):
+        return ''
+
+    def _create_impl( self ):
+        make_constructor = algorithm.create_identifier( self, 'boost::python::make_constructor' )
+        
+        code = 'def( "__init__, %s( &::%s ) )' % self.wrapper.wrapper_name()
+        if not self.works_on_instance:
+            code = self.parent.class_var_name + '.' + code + ';'
+        return code
+
+#TODO: FT for constructor
+#~ class constructor_transformed_wrapper_t( calldef_wrapper_t ):
+    #~ def __init__( self, constructor ):
+        #~ calldef_wrapper_t.__init__( self, function=constructor )
+
+    #~ @property
+    #~ def ft( self ): #function transformation
+        #~ return self.declaration.transformations[0]
+
+    #~ @property 
+    #~ def controller( self ):
+        #~ return self.ft.controller
+
+    #~ def resolve_function_ref( self ):
+        #~ raise NotImplementedError()
+
+    #~ def wrapper_name( self ):
+        #~ return self.ft.unique_name()
+
+    #~ def create_fun_definition(self):
+        #~ cntrl = self.controller
+
+        #~ tmpl_values = dict()
+
+        #~ tmpl_values['unique_function_name'] = self.wrapper_name()
+        #~ tmpl_values['exposed_class'] = self.decl_identifier
+        #~ tmpl_values['arg_declarations'] = self.args_declaration()
+        #~ tmpl_values['result'] = self.ft.result_variable
+        
+        #~ tmpl_values['declare_variables'] \
+            #~ = os.linesep + os.linesep.join( map( lambda var: self.indent( var.declare_var_string() )
+                                                 #~ , cntrl.variables ) )
+                
+        #~ tmpl_values['pre_call'] = os.linesep + self.indent( os.linesep.join( cntrl.pre_call ) )
+
+        #~ tmpl_values['arg_expressions'] = self.PARAM_SEPARATOR.join( cntrl.arg_expressions )
+        #~ return_stmt_creator = calldef_utils.return_stmt_creator_t( self
+                                    #~ , self.controller
+                                    #~ , self.controller.result_variable
+                                    #~ , self.controller.return_variables )
+
+        #~ tmpl_values['post_call'] = os.linesep + self.indent( os.linesep.join( cntrl.post_call ) )
+        #~ if return_stmt_creator.pre_return_code:
+            #~ tmpl_values['post_call'] \
+                #~ = os.linesep.join([ tmpl_values['post_call']
+                                    #~ , self.indent( return_stmt_creator.pre_return_code )])
+            
+        #~ f_def = self.controller.template.substitute(tmpl_values)
+        #~ return remove_duplicate_linesep( f_def )
+        
+    #~ def _create_impl(self):
+        #~ return self.create_fun_definition()
diff --git a/pyplusplus/code_creators/calldef_utils.py b/pyplusplus/code_creators/calldef_utils.py
new file mode 100644
index 0000000..b804b29
--- /dev/null
+++ b/pyplusplus/code_creators/calldef_utils.py
@@ -0,0 +1,159 @@
+# Copyright 2004-2008 Roman Yakovenko
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import algorithm
+from . import code_creator
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+#virtual functions that returns const reference to something
+#could not be overriden by Python. The reason is simple:
+#in boost::python::override::operator(...) result of marshaling
+#(Python 2 C++) is saved on stack, after functions returns the result
+#will be reference to no where - access violetion.
+#For example see temporal variable tester
+
+use_enum_workaround = False
+
+class argument_utils_t:
+
+    PARAM_SEPARATOR = code_creator.code_creator_t.PARAM_SEPARATOR
+
+    def __init__( self, declaration, identifier_creator, arguments=None ):
+        self.__decl = declaration
+        if None is arguments:
+            arguments = self.__decl.arguments
+        self.__args = arguments
+        self.__id_creator = identifier_creator
+
+    def __should_use_enum_wa( self, arg ):
+        global use_enum_workaround
+        if not declarations.is_enum( arg.type ):
+            return False
+        if use_enum_workaround:
+            return True
+        #enum belongs to the class we are working on
+        if self.__decl.parent is declarations.enum_declaration( arg.type ).parent \
+           and isinstance( self.__decl, declarations.constructor_t ):
+            return True
+        return False
+
+    def keywords_args(self):
+        if not self.__args:
+            return ''
+        boost_arg = self.__id_creator( '::boost::python::arg' )
+        boost_obj = self.__id_creator( '::boost::python::object' )
+        result = ['( ']
+        for arg in self.__args:
+            if 1 < len( result ):
+                result.append( self.PARAM_SEPARATOR )
+            result.append( boost_arg )
+            result.append( '("%s")' % arg.name )
+            if self.__decl.use_default_arguments and arg.default_value:
+                if not declarations.is_pointer( arg.type ) or arg.default_value != '0':
+                    arg_type_no_alias = declarations.remove_alias( arg.type )
+                    if declarations.is_fundamental( arg_type_no_alias ) \
+                       and declarations.is_integral( arg_type_no_alias ) \
+                       and not arg.default_value.startswith( arg_type_no_alias.decl_string ):
+                        result.append( '=(%s)(%s)' % ( arg.type.partial_decl_string
+                                                       , arg.default_value ) )
+                    elif self.__should_use_enum_wa( arg ):
+                        #Work around for bug/missing functionality in boost.python.
+                        #registration order
+                        result.append( '=(long)(%s)' % arg.default_value )
+                    else:
+                        result.append( '=%s' % arg.default_value )
+                else:
+                    result.append( '=%s()' % boost_obj )
+        result.append( ' )' )
+        return ''.join( result )
+
+    def argument_name( self, index ):
+        arg = self.__args[ index ]
+        if arg.name:
+            return arg.name
+        else:
+            return 'p%d' % index
+
+    def args_declaration( self ):
+        args = []
+        for index, arg in enumerate( self.__args ):
+            result = arg.type.partial_decl_string + ' ' + self.argument_name(index)
+            if arg.default_value:
+                result += '=%s' % arg.default_value
+            args.append( result )
+        if len( args ) == 1:
+            return args[ 0 ]
+        return self.PARAM_SEPARATOR.join( args )
+
+    def call_args( self ):
+        params = []
+        for index, arg in enumerate( self.__args ):
+            params.append( decl_wrappers.python_traits.call_traits( arg.type )
+                           % self.argument_name( index ) )
+        return ', '.join( params )
+
+class return_stmt_creator_t( object ):
+    def __init__( self, creator, controller, result_var, return_vars ):
+        object.__init__( self )
+        self.__creator = creator
+        self.__controller = controller
+        self.__function = controller.function
+        self.__return_vars = return_vars[:]
+        self.__pre_return_code = None
+        self.__return_stmt = None
+        self.__result_var = result_var
+        self.__call_policy_alias = controller.register_variable_name( 'call_policies_t' )
+
+    @property
+    def pre_return_code( self ):
+        if None is self.__pre_return_code:
+            if declarations.is_void( self.__function.return_type ) \
+               and ( self.__function.call_policies.is_default() \
+                     or False == bool( self.__controller.return_variables ) ):
+                self.__pre_return_code = ''
+            elif self.__function.call_policies.is_default():
+                self.__pre_return_code = ''
+            else:
+                c_p_typedef = 'typedef %s %s;' \
+                              % ( self.__function.call_policies.create_template_arg( self.__creator )
+                                  , self.__call_policy_alias )
+                self.__pre_return_code = c_p_typedef
+        return self.__pre_return_code
+
+    @property
+    def statement( self ):
+        if None is self.__return_stmt:
+            stmt = ''
+            bpl_object = algorithm.create_identifier( self.__creator, 'boost::python::object' )
+            make_tuple = algorithm.create_identifier( self.__creator, 'boost::python::make_tuple' )
+            make_object = algorithm.create_identifier( self.__creator, 'pyplusplus::call_policies::make_object' )
+
+            if not declarations.is_void( self.__function.return_type ):
+                if self.__function.call_policies.is_default():
+                    self.__return_vars.insert( 0, self.__result_var.name )
+                else:
+                    self.__return_vars.insert( 0
+                            , declarations.call_invocation.join(
+                                declarations.templates.join( make_object
+                                                            , [self.__call_policy_alias, self.__result_var.type.decl_string] )
+                                , [self.__result_var.name] ) )
+
+            if 0 == len( self.__return_vars ):
+                pass
+            elif 1 == len( self.__return_vars ):
+                stmt = bpl_object + '( %s )' % self.__return_vars[ 0 ]
+            else: # 1 <
+                stmt = declarations.call_invocation.join( make_tuple, self.__return_vars )
+                if self.__creator.LINE_LENGTH < len( stmt ):
+                    stmt = declarations.call_invocation.join(
+                                  make_tuple
+                                , self.__return_vars
+                                , os.linesep + self.__creator.indent( self.__creator.PARAM_SEPARATOR, 6 ) )
+
+            if stmt:
+                stmt = 'return ' + stmt + ';'
+            self.__return_stmt = stmt
+        return self.__return_stmt
diff --git a/pyplusplus/code_creators/class_declaration.py b/pyplusplus/code_creators/class_declaration.py
new file mode 100644
index 0000000..3d98511
--- /dev/null
+++ b/pyplusplus/code_creators/class_declaration.py
@@ -0,0 +1,456 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import types
+from . import scoped
+from . import calldef
+from . import compound
+from . import algorithm
+from . import code_creator
+from . import smart_pointers
+from . import declaration_based
+from . import registration_based
+from pygccxml import declarations
+
+class class_declaration_t( scoped.scoped_t
+                           , registration_based.registration_based_t ):
+    def __init__(self, class_inst ):
+        scoped.scoped_t.__init__( self, declaration=class_inst )
+        registration_based.registration_based_t.__init__( self )
+        self.works_on_instance = False
+
+    def _generate_class_definition(self):
+        class_identifier = algorithm.create_identifier( self, '::boost::python::class_' )
+        return declarations.templates.join( class_identifier, [self.decl_identifier] )
+
+    def _generate_code_no_scope(self):
+        result = []
+        result.append( self._generate_class_definition() + '("%s")' % self.declaration.alias )
+        for x in self.creators:
+            code = x.create()
+            tmpl = '%s.%s'
+            if self.is_comment( code ):
+                tmpl = '%s%s'
+            if code:
+                result.append( self.indent( tmpl % ( os.linesep, code ) ) )
+        result.append( ';' )
+        return ''.join( result )
+
+    @property
+    def class_var_name(self):
+        return self.declaration.class_var_name
+
+    def is_exposed_using_scope(self):
+        if self.declaration.always_expose_using_scope:
+            return True
+        return bool( [cc for cc in self.creators if not cc.works_on_instance] )
+
+    @property
+    def typedef_name( self ):
+        return self.class_var_name + '_t'
+
+    def _generate_code_with_scope(self):
+        result = []
+        scope_var_name = self.alias + '_scope'
+        result.append( 'typedef ' + self._generate_class_definition() + ' ' + self.typedef_name + ';')
+        result.append( self.typedef_name + ' ' + self.class_var_name )
+        result[-1] = result[-1] + ' = '+ self.typedef_name + '("%s");' % self.declaration.alias
+
+        result.append( algorithm.create_identifier( self, '::boost::python::scope' ) )
+        result[-1] = result[-1] + ' ' + scope_var_name
+        result[-1] = result[-1] + '( %s );' % self.class_var_name
+
+        for x in self.creators:
+            if not x.works_on_instance:
+                result.append( x.create() )
+            else:
+                result.append( '%s.%s;' % ( self.class_var_name, x.create() ) )
+
+        code = os.linesep.join( result )
+
+        result = [ '{ //scope begin' ]
+        result.append( self.indent( code ) )
+        result.append( '} //scope end' )
+
+        return os.linesep.join( result )
+
+    def _create_impl(self):
+        if self.declaration.already_exposed:
+            return ''
+        if self.is_exposed_using_scope():
+            return self._generate_code_with_scope()
+        else:
+            return self._generate_code_no_scope()
+
+    def _get_system_files_impl( self ):
+        return []
+
+class class_t( scoped.scoped_t, registration_based.registration_based_t ):
+    """
+    Creates boost.python code that needed to export a class
+    """
+    def __init__(self, class_inst, wrapper=None ):
+        scoped.scoped_t.__init__( self, declaration=class_inst )
+        registration_based.registration_based_t.__init__( self )
+        self._wrapper = wrapper
+        self.works_on_instance = False
+
+    def _get_wrapper( self ):
+        return self._wrapper
+    def _set_wrapper( self, new_wrapper ):
+        self._wrapper = new_wrapper
+    wrapper = property( _get_wrapper, _set_wrapper )
+
+    def _get_held_type(self):
+        return self.declaration.held_type
+    def _set_held_type(self, held_type):
+        assert isinstance( held_type, type(None) ) \
+               or isinstance( held_type, smart_pointers.held_type_t ) \
+               or isinstance( held_type, str )
+        if isinstance( held_type, str ):
+            assert held_type # should be non emptry string
+        self.declaration.held_type = held_type
+    held_type = property( _get_held_type, _set_held_type )
+
+    def _exported_base_classes(self):
+        if not self.declaration.bases:
+            return {}, {}
+        base_classes = {}
+        for hierarchy_info in self.declaration.recursive_bases:
+            if hierarchy_info.access_type == declarations.ACCESS_TYPES.PRIVATE:
+                continue
+            base_classes[ id( hierarchy_info.related_class ) ] = hierarchy_info
+        base_classes_size = len( base_classes )
+        creators = {}
+        creators_len = 0
+        for creator in algorithm.make_flatten_generator( self.top_parent.body.creators ):
+            if isinstance( creator, class_t ) and id(creator.declaration) in base_classes:
+                creators[ id(creator.declaration) ] = creator
+                if len( creators ) == base_classes_size:
+                    break #all classes has been found
+        return base_classes, creators
+
+    def _get_base_operators(self, base_classes, base_creators):
+        #May be in future I will redefine operators on wrapper class
+        #thus I will support [protected|private] [ [not|pure|] virtual] operators.
+        operator_creators = []
+        for base_creator in list(base_creators.values()):
+            hierarchy_info = base_classes[ id( base_creator.declaration )]
+            if hierarchy_info.access_type != declarations.ACCESS_TYPES.PUBLIC:
+                continue
+            base_operator_creators = [creator for creator in base_creator.creators if isinstance( creator, calldef.operator_t )
+                                                and isinstance( creator.declaration, declarations.member_operator_t )
+                                                and creator.declaration.access_type
+                                                    == declarations.ACCESS_TYPES.PUBLIC]
+            operator_creators.extend( base_operator_creators )
+        return operator_creators
+
+    def _generate_noncopyable(self):
+        noncopyable_vars = self.declaration.find_noncopyable_vars()
+        copy_constr = self.declaration.find_copy_constructor()
+
+        if self.declaration.noncopyable \
+           or copy_constr and copy_constr.is_artificial and noncopyable_vars:
+            return algorithm.create_identifier( self, '::boost::noncopyable' )
+
+    def _generate_bases(self, base_creators):
+        bases = []
+        assert isinstance( self.declaration, declarations.class_t )
+        for base_desc in self.declaration.bases:
+            assert isinstance( base_desc, declarations.hierarchy_info_t )
+            if base_desc.access != declarations.ACCESS_TYPES.PUBLIC:
+                continue
+            if id(base_desc.related_class) in base_creators:
+                bases.append( algorithm.create_identifier( self, base_desc.related_class.partial_decl_string ) )
+            elif base_desc.related_class.already_exposed:
+                bases.append( base_desc.related_class.partial_decl_string )
+        if not bases:
+            return None
+        bases_identifier = algorithm.create_identifier( self, '::boost::python::bases' )
+        return declarations.templates.join( bases_identifier, bases )
+
+    def _generated_held_type(self):
+        if isinstance( self.held_type, smart_pointers.held_type_t ):
+            return self.held_type.create( self )
+        elif isinstance( self.held_type, str):
+            return self.held_type
+        else:
+            return None
+
+    def _generate_class_definition(self, base_creators):
+        class_identifier = algorithm.create_identifier( self, '::boost::python::class_' )
+        args = []
+
+        held_type = self._generated_held_type()
+        if self.wrapper:
+            if self.declaration.exposed_class_type == self.declaration.EXPOSED_CLASS_TYPE.WRAPPER:
+                args.append( self.wrapper.full_name )
+            else:
+                if not self.target_configuration.boost_python_has_wrapper_held_type \
+                   or self.declaration.require_self_reference:
+                    args.append( self.decl_identifier )
+                if self.declaration.require_self_reference:
+                    if not held_type:
+                        args.append( self.wrapper.full_name )
+                else:
+                    args.append( self.wrapper.full_name )
+        else:
+            args.append( self.decl_identifier )
+
+        bases = self._generate_bases(base_creators)
+        if bases:
+            args.append( bases )
+
+        if held_type:
+            args.append( held_type )
+        notcopyable = self._generate_noncopyable()
+        if notcopyable:
+            args.append( notcopyable )
+        return declarations.templates.join( class_identifier, args)
+
+    def _generate_constructor(self):
+        result = []
+        result.append( '(' )
+        result.append( ' "%s"' % self.alias )
+        if self.documentation:
+            result.append( ', %s' % self.documentation )
+        used_init = None
+        inits = [x for x in self.creators if isinstance( x, calldef.constructor_t )]
+
+        trivial_constructor = self.declaration.find_trivial_constructor()
+
+        if self.declaration.no_init:
+            result.append( ", " )
+            result.append( algorithm.create_identifier( self, '::boost::python::no_init' ) )
+        else:
+            if inits:
+                used_init = inits[0]
+                result.append( ", " )
+                result.append( used_init.create_init_code() )
+        result.append( ' )' )
+        return ( ''.join( result ), used_init )
+
+    def _generate_code_no_scope(self):
+        result = []
+        base_classes, base_creators = self._exported_base_classes()
+        result.append( self._generate_class_definition(base_creators) )
+        class_constructor, used_init = self._generate_constructor()
+        result.append( class_constructor )
+        creators = self.creators
+        if self.declaration.redefine_operators:
+            creators = self.creators + self._get_base_operators(base_classes, base_creators)
+        for x in creators:
+            if not ( x is used_init ):
+                code = x.create()
+                tmpl = '%s.%s'
+                if self.is_comment( code ):
+                    tmpl = '%s%s'
+                if code:
+                    result.append( self.indent( tmpl % ( os.linesep, code ) ) )
+        result.append( ';' )
+        return ''.join( result )
+
+    @property
+    def class_var_name(self):
+        return self.declaration.class_var_name
+
+    @property
+    def typedef_name( self ):
+        return self.class_var_name + '_t'
+
+    def create_typedef_code( self ):
+        base_classes, base_creators = self._exported_base_classes()
+        return 'typedef ' + self._generate_class_definition(base_creators) + ' ' + self.typedef_name + ';'
+
+
+    def _generate_code_with_scope(self):
+        result = []
+        scope_var_name = self.alias + '_scope'
+        base_classes, base_creators = self._exported_base_classes()
+        result.append( 'typedef ' + self._generate_class_definition(base_creators) + ' ' + self.typedef_name + ';')
+        result.append( self.typedef_name + ' ' + self.class_var_name )
+        result[-1] = result[-1] + ' = '
+        class_constructor, used_init = self._generate_constructor()
+        result[-1] = result[-1] + self.typedef_name + class_constructor
+        result[-1] = result[-1] + ';'
+
+        result.append( algorithm.create_identifier( self, '::boost::python::scope' ) )
+        result[-1] = result[-1] + ' ' + scope_var_name
+        result[-1] = result[-1] + '( %s );' % self.class_var_name
+
+        creators = self.creators
+        if self.declaration.redefine_operators:
+            creators = self.creators + self._get_base_operators(base_classes, base_creators)
+
+        for x in creators:
+            if x is used_init:
+                continue
+            if isinstance( x, ( calldef.calldef_t, calldef.calldef_overloads_t ) ):
+                x.works_on_instance = False
+                code = x.create()
+                if code:
+                    result.append( code )
+                continue
+            if not x.works_on_instance:
+                code = x.create()
+                if code:
+                    result.append( code )
+            else:
+                result.append( '%s.%s;' % ( self.class_var_name, x.create() ) )
+
+        code = os.linesep.join( result )
+
+        result = [ '{ //%s' % declarations.full_name( self.declaration, with_defaults=False ) ]
+        result.append( self.indent( code ) )
+        result.append( '}' )
+
+        return os.linesep.join( result )
+
+    def is_exposed_using_scope(self):
+        if self.declaration.always_expose_using_scope:
+            return True
+        return bool( [cc for cc in self.creators if not cc.works_on_instance] )
+
+    def _create_impl(self):
+        if self.declaration.already_exposed:
+            return ''
+        if self.is_exposed_using_scope():
+            return self._generate_code_with_scope()
+        else:
+            return self._generate_code_no_scope()
+
+    def _get_system_files_impl( self ):
+        return []
+
+class class_wrapper_t( scoped.scoped_t ):
+    """
+    creates C++ code, which creates wrapper around a class
+    """
+
+    def __init__(self, declaration, class_creator ):
+        scoped.scoped_t.__init__( self, declaration=declaration )
+        self._class_creator = class_creator
+        self._base_wrappers = []
+
+    def _get_wrapper_alias( self ):
+        return self.declaration.wrapper_alias
+    def _set_wrapper_alias( self, walias ):
+        self.declaration.wrapper_alias = walias
+    wrapper_alias = property( _get_wrapper_alias, _set_wrapper_alias )
+
+    @property
+    def base_wrappers( self ):
+        if self.declaration.is_abstract and not self._base_wrappers:
+            bases = [ hi.related_class for hi in self.declaration.bases ]
+            creators_before_me = algorithm.creators_affect_on_me( self )
+            self._base_wrappers \
+                = [creator for creator in creators_before_me if isinstance( creator, class_wrapper_t )
+                                          and creator.declaration in bases]
+        return self._base_wrappers
+
+    @property
+    def exposed_identifier(self):
+        return algorithm.create_identifier( self, self.declaration.partial_decl_string )
+
+    @property
+    def class_creator(self):
+        return self._class_creator
+
+    @property
+    def full_name( self ):
+        if not isinstance( self.parent, class_wrapper_t ):
+            return self.declaration.wrapper_alias
+        else:
+            full_name = [self.wrapper_alias]
+            #may be we deal with enum
+            parent = self.parent
+            while isinstance( parent, class_wrapper_t ):
+                full_name.append( parent.wrapper_alias )
+                parent = parent.parent
+            full_name.reverse()
+            return '::'.join( full_name )
+
+    @property
+    def held_type(self):
+        return self._class_creator.held_type
+
+    @property
+    def boost_wrapper_identifier(self):
+        boost_wrapper = algorithm.create_identifier( self, '::boost::python::wrapper' )
+        return declarations.templates.join( boost_wrapper, [self.exposed_identifier] )
+
+    def _create_bases(self):
+        return ', '.join( [self.exposed_identifier, self.boost_wrapper_identifier] )
+
+    def _create_impl(self):
+        if self.declaration.already_exposed:
+            return ''
+        answer = ['struct %s : %s {' % ( self.wrapper_alias, self._create_bases() )]
+        answer.append( '' )
+        answer.append( self.create_internal_code( self.creators )  )
+        answer.append( '' )
+        answer.append( '};' )
+        return os.linesep.join( answer )
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+ctypes_base_classes = {
+    declarations.CLASS_TYPES.CLASS : 'Structure'
+    , declarations.CLASS_TYPES.UNION : 'Union'
+    , declarations.CLASS_TYPES.STRUCT : 'Structure'
+}
+
+class class_introduction_t(compound.compound_t, declaration_based.declaration_based_t):
+    def __init__( self, class_ ):
+        compound.compound_t.__init__(self)
+        declaration_based.declaration_based_t.__init__( self, class_ )
+
+    @property
+    def ctypes_base_class( self ):
+        global ctypes_base_classes
+        return ctypes_base_classes[ self.declaration.class_type ]
+
+    def _create_impl(self):
+        result = []
+        result.append( "class %(alias)s(ctypes.%(base)s):"
+                       % dict( alias=self.alias, base=self.ctypes_base_class ) )
+        result.append( self.indent( '"""class %s"""' % self.decl_identifier ) )
+        if self.creators:
+            result.append( self.indent( '' ) )
+        result.append( compound.compound_t.create_internal_code( self.creators ) )
+
+        if isinstance( self.declaration.parent, declarations.namespace_t ) \
+           and self.declaration.parent is not self.declaration.top_parent: #not a global namespace
+            result.append("")
+            result.append( '%(ns_full_name)s = %(name)s'
+                           % dict( ns_full_name=self.complete_py_name, name=self.alias ))
+        return os.linesep.join( result )
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+class class_declaration_introduction_t(code_creator.code_creator_t, declaration_based.declaration_based_t):
+    def __init__( self, class_declaration ):
+        code_creator.code_creator_t.__init__(self)
+        declaration_based.declaration_based_t.__init__( self, class_declaration )
+
+    def _create_impl(self):
+        result = []
+        result.append( "class %s(ctypes.Structure):" % self.alias )
+        result.append( self.indent( '"""class declaration %s"""' % self.decl_identifier ) )
+        result.append( self.indent( '_fields_  = []' ) )
+
+        if isinstance( self.declaration.parent, declarations.namespace_t ) \
+           and self.declaration.parent is not self.declaration.top_parent: #not a global namespace
+            result.append( '%(ns_full_name)s = %(name)s'
+                           % dict( ns_full_name=self.complete_py_name, name=self.alias ))
+        return os.linesep.join( result )
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/code_creator.py b/pyplusplus/code_creators/code_creator.py
new file mode 100644
index 0000000..62c3011
--- /dev/null
+++ b/pyplusplus/code_creators/code_creator.py
@@ -0,0 +1,231 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import types
+from pyplusplus import decl_wrappers
+from pyplusplus import code_repository
+
+class code_creator_t(object):
+    """
+    code_creator_t is the base class for all code creators.
+
+    This class defines the interface that every code creator should implement.
+    Also it provides few convenience functions.
+
+    The purpose of a code creator is the generation of a block of C++
+    source code as it will appear in the final source code for the
+    extension module. The source code is obtained by calling the :meth:`code_creator_t.create`
+    method. Derived classes must implement the :meth:`code_creator_t._create_impl` method
+    which is called by the :meth:`code_creator_t.create` method.
+    """
+    PYPLUSPLUS_NS_NAME = 'pyplusplus'
+    __INDENTATION = '    '
+    LINE_LENGTH = 80
+    PARAM_SEPARATOR = ', '
+    CODE_GENERATOR_TYPES = decl_wrappers.CODE_GENERATOR_TYPES
+
+    def __init__(self):
+        """Constructor.
+
+        :param parent: Parent code creator.
+        :type parent: code_creator_t
+        """
+        object.__init__(self)
+        self._parent = None
+        self._target_configuration = None
+        self._works_on_instance = True
+        self._code_generator = None
+
+    @property
+    def code_generator( self ):
+        if self._code_generator is None:
+            self._code_generator = self.top_parent.code_generator
+        return self._code_generator
+
+    def _get_works_on_instance(self):
+        return self._works_on_instance
+    def _set_works_on_instance(self, works_on_instance):
+        self._works_on_instance = works_on_instance
+    works_on_instance = property( _get_works_on_instance, _set_works_on_instance )
+
+    def _get_parent( self ):
+        return self._parent
+    def _set_parent( self, new_parent ):
+        if new_parent:
+            assert isinstance( new_parent, code_creator_t )
+        self._parent = new_parent
+    """parent - reference to parent code creator"""
+    parent = property( _get_parent, _set_parent,
+                       doc="""Parent code creator or None if this is the root node.
+                       @type: :class:`code_creators.code_creator_t`
+                       """)
+
+    def _get_target_configuration( self ):
+        return self._target_configuration
+    def _set_target_configuration( self, config ):
+        self._target_configuration = config
+    """target_configuration - reference to target_configuration_t class instance"""
+    target_configuration = property( _get_target_configuration, _set_target_configuration,
+                                     doc="""Target configuration.
+                                     @type: :class:`target_configuration_t`
+                                     """)
+
+    @property
+    def top_parent(self):
+        """top_parent - reference to top parent code creator
+
+        @type: :class:`code_creators.code_creator_t`
+        """
+        parent = self.parent
+        me = self
+        while True:
+            if not parent:
+                return me
+            else:
+                me = parent
+                parent = me.parent
+
+    def _create_impl(self):
+        """
+        function that all derived classes should implement. This function
+        actually creates code and returns it. Return value of this function is
+        string.
+
+        :rtype: str
+        """
+        raise NotImplementedError()
+
+    def create(self):
+        """
+        generates source code
+
+        :rtype: str
+        """
+        code = self._create_impl()
+        assert isinstance( code, str )
+        return self.beautify( code )
+
+    @staticmethod
+    def unique_headers( headers ):
+        used = set()
+        uheaders = []
+        for h in headers:
+            if h not in used:
+                used.add( h )
+                uheaders.append( h )
+        return uheaders
+
+    def _get_system_files_impl( self ):
+        """Return list of system header files the generated code depends on"""
+        raise NotImplementedError(self.__class__.__name__)
+
+    def get_system_files( self, recursive=False, unique=False, language='any' ):
+        files = []
+        if self.code_generator == self.CODE_GENERATOR_TYPES.BOOST_PYTHON:
+            files.append( "boost/python.hpp" )
+            files.append( code_repository.named_tuple.file_name )
+        else:
+            files.append( code_repository.ctypes_utils.file_name )
+        files.extend( self._get_system_files_impl() )
+        files = [_f for _f in files if _f]
+        if unique:
+            files = self.unique_headers( files )
+
+        language = language.lower()
+        if language == 'python':
+            selector = lambda f: os.path.splitext( f )[1] in ( '.py' )
+        elif language == 'c++':
+            selector = lambda f: ( f.startswith( '<' ) and f.endswith('>') ) \
+                                 or os.path.splitext( f )[1] in ( '.h', '.hpp', '.cpp' )
+        else:
+            selector = None
+
+        return list(filter( selector, files ))
+
+    def beautify( self, code ):
+        """
+        function that returns code without leading and trailing white spaces.
+
+        :param code: A code block with C++ source code.
+        :type code: str
+        :rtype: str
+        """
+        assert isinstance( code, str )
+        return code.strip()
+
+    @staticmethod
+    def indent( code, size=1 ):
+        """
+        function that implements code indent algorithm.
+
+        :param code: C++/Python code block.
+        :type code: str
+        :param size: The number of indentation levels that the code is shifted
+        :type size: int
+        :rtype: str
+        """
+        assert isinstance( code, str )
+        return code_creator_t.__INDENTATION * size\
+               + code.replace( os.linesep
+                               , os.linesep + code_creator_t.__INDENTATION * size )
+
+    @staticmethod
+    def unindent( code ):
+        """
+        function that implements code unindent algorithm.
+
+        :param code: C++ code block.
+        :type code: str
+        :rtype: str
+        """
+        assert isinstance( code, str )
+        if code.startswith(code_creator_t.__INDENTATION):
+            code = code[ len( code_creator_t.__INDENTATION ):]
+        return code.replace( os.linesep + code_creator_t.__INDENTATION
+                               , os.linesep )
+
+    @staticmethod
+    def is_comment( line, language='C++' ):
+        """
+        function that returns true if content of the line is comment, otherwise
+        false.
+
+        :param line: C++ source code
+        :type line: str
+        :param language: the programming language, the line was written in. Possible values: C++, Python
+        :type line: str
+
+        :rtype: bool
+        """
+        assert isinstance( line, str )
+        l = line.lstrip()
+        if language == 'C++':
+            return l.startswith( '//' ) or l.startswith( '/*' )
+        elif language == 'Python':
+            return l.startswith( '#' )
+        else:
+            raise RuntimeError( "Language %s is not supported. The possible values are: Python, C++"
+                                % language )
+
+    @staticmethod
+    def iif( condition, true_, false_ ):
+        if condition:
+            return true_
+        else:
+            return false_
+
+
+class separator_t(code_creator_t):
+    """Creates Python import directive"""
+    def __init__( self, num=1):
+        code_creator_t.__init__(self)
+        self.__code = os.linesep * num
+
+    def _create_impl(self):
+        return self.__code
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/compound.py b/pyplusplus/code_creators/compound.py
new file mode 100644
index 0000000..e6d884a
--- /dev/null
+++ b/pyplusplus/code_creators/compound.py
@@ -0,0 +1,103 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import code_creator
+
+class compound_t(code_creator.code_creator_t):
+    def __init__(self ):
+        """Constructor.
+
+        :param parent: Parent code creator.
+        :type parent: :class:`code_creators.code_creator_t`
+        """
+        code_creator.code_creator_t.__init__( self )
+        self._creators = []
+
+    def _get_creators(self):
+        return self._creators
+    creators = property(_get_creators,
+                        doc="""A list of children nodes.
+                        @type: list of :class:`code_creators.code_creator_t`""")
+
+    def adopt_creator( self, creator, index=None):
+        """Add a creator to the list of children creators.
+
+        :param creator: Creator object
+        :type creator: :class:`code_creators.code_creator_t`
+        :param index: Desired position of the creator or None to append it to the end of the list
+        :type index: int
+        """
+        creator.parent = self
+        if index or index == 0:
+            self._creators.insert( index, creator )
+        else:
+            self._creators.append( creator )
+
+    def adopt_creators( self, creators, index=None):
+        """Add a creators to the list of children creators.
+
+        :param creators: list of creators object
+        :type creator: :class:`code_creators.code_creator_t`
+        :param index: Desired position of the creator or None to append it to the end of the list
+        :type index: int
+        """
+        for pos, creator in enumerate( creators ):
+            if index or index == 0:
+                self.adopt_creator( creator, index + pos )
+            else:
+                self.adopt_creator( creator )
+
+    def remove_creator( self, creator ):
+        """Remove a children code creator object.
+
+        @precondition: creator must be a children of self
+        :param creator: The creator node to remove
+        :type creator: :class:`code_creators.code_creator_t`
+        """
+        creator.parent = None
+        del self._creators[ self._creators.index( creator ) ]
+
+    @staticmethod
+    def create_internal_code( creators, indent_code=True ):
+        """
+        concatenate the code from a list of code creators.
+
+        :param creators: A list with code creators
+        :type creators: list of :class:`code_creators.code_creator_t`
+        :rtype: str
+        """
+        internals = [expr.create() for expr in creators]
+        internals = [_f for _f in internals if _f]
+        if indent_code:
+            internals = [code_creator.code_creator_t.indent( code ) for code in internals]
+        for index in range( len( internals ) - 1):
+            internals[index] = internals[index] + os.linesep
+        return os.linesep.join( internals )
+
+    def get_system_files( self, recursive=False, unique=False, language='any' ):
+        files = super( compound_t, self ).get_system_files(recursive, unique=False, language=language)
+        if recursive:
+            for creator in self._creators:
+                files.extend( creator.get_system_files(recursive, unique=False, language=language) )
+        files = [_f for _f in files if _f]
+        if unique:
+            files = self.unique_headers( files )
+        return files
+
+    def find_by_creator_class( self, class_, unique=True, recursive=False ):
+        #I will add missing functionality later
+        assert recursive == False
+        found = [cc for cc in self.creators if isinstance( cc, class_ )]
+        if not found:
+            return None
+        elif 1 == len( found ):
+            return found
+        else:
+            if unique:
+                raise LookupError( "Too many creators(%d) of type %s were found."
+                                   % ( len( found ), class_.__name__ ) )
+            else:
+                return found
diff --git a/pyplusplus/code_creators/ctypes_formatter.py b/pyplusplus/code_creators/ctypes_formatter.py
new file mode 100644
index 0000000..d87792b
--- /dev/null
+++ b/pyplusplus/code_creators/ctypes_formatter.py
@@ -0,0 +1,159 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 types visitor class interface
+"""
+
+from . import algorithm
+from pygccxml import declarations
+
+class type_converter_t(declarations.type_visitor_t):
+    """
+    types visitor interface
+
+    All functions within this class should be redefined in derived classes.
+    """
+    def __init__(self, type_, treat_char_ptr_as_binary_data, decl_formatter=algorithm.complete_py_name):
+        declarations.type_visitor_t.__init__(self)
+        self.user_type = type_
+        self.decl_formatter = decl_formatter
+        self.treat_char_ptr_as_binary_data = treat_char_ptr_as_binary_data
+
+    def create_converter( self, type_):
+        return type_converter_t( type_, self.treat_char_ptr_as_binary_data, self.decl_formatter )
+            
+    def visit_void( self ):
+        return "None"
+
+    def visit_char( self ):
+        return "ctypes.c_char"
+
+    def visit_unsigned_char( self ):
+        return "ctypes.c_ubyte"
+
+    def visit_signed_char( self ):
+        return "ctypes.c_byte"
+
+    def visit_wchar( self ):
+        return "ctypes.c_wchar"
+
+    def visit_short_int( self ):
+        return "ctypes.c_short"
+
+    def visit_short_unsigned_int( self ):
+        return "ctypes.c_ushort"
+
+    def visit_bool( self ):
+        return "ctypes.c_bool"
+
+    def visit_int( self ):
+        return "ctypes.c_int"
+
+    def visit_unsigned_int( self ):
+        return "ctypes.c_uint"
+
+    def visit_long_int( self ):
+        return "ctypes.c_long"
+
+    def visit_long_unsigned_int( self ):
+        return "ctypes.c_ulong"
+
+    def visit_long_long_int( self ):
+        return "ctypes.c_longlong"
+
+    def visit_long_long_unsigned_int( self ):
+        return "ctypes.c_ulonglong"
+
+    def visit_float( self ):
+        return "ctypes.c_float"
+
+    def visit_double( self ):
+        return "ctypes.c_double"
+
+    def visit_long_double( self ):
+        return "ctypes.c_longdouble"
+
+    #skip complex and jxxx types
+
+    def visit_volatile( self ):
+        base_visitor = self.create_converter( self.user_type.base )
+        return declarations.apply_visitor( base_visitor, base_visitor.user_type )
+
+    def visit_const( self ):
+        base_visitor = self.create_converter( self.user_type.base )
+        return declarations.apply_visitor( base_visitor, base_visitor.user_type )
+
+    def visit_pointer( self ):
+        no_ptr = declarations.remove_const( declarations.remove_pointer( self.user_type ) )
+        if declarations.is_same( declarations.char_t(), no_ptr ) and self.treat_char_ptr_as_binary_data == False:
+            return "ctypes.c_char_p"
+        elif declarations.is_same( declarations.wchar_t(), no_ptr ) and self.treat_char_ptr_as_binary_data == False:
+            return "ctypes.c_wchar_p"
+        elif declarations.is_same( declarations.void_t(), no_ptr ):
+            return "ctypes.c_void_p"
+        else:
+            base_visitor = self.create_converter( self.user_type.base )
+            internal_type_str = declarations.apply_visitor( base_visitor, base_visitor.user_type )
+            if declarations.is_calldef_pointer( self.user_type ):
+                return internal_type_str
+            else:
+                return "ctypes.POINTER( %s )" % internal_type_str
+
+    def visit_reference( self ):
+        no_ref = declarations.remove_const( declarations.remove_reference( self.user_type ) )
+        if declarations.is_same( declarations.char_t(), no_ref ):
+            return "ctypes.c_char_p"
+        elif declarations.is_same( declarations.wchar_t(), no_ref ):
+            return "ctypes.c_wchar_p"
+        elif declarations.is_same( declarations.void_t(), no_ref ):
+            return "ctypes.c_void_p"
+        else:
+            base_visitor = self.create_converter( self.user_type.base )
+            internal_type_str = declarations.apply_visitor( base_visitor, base_visitor.user_type )
+            return "ctypes.POINTER( %s )" % internal_type_str
+
+    def visit_array( self ):
+        item_visitor = self.create_converter( declarations.array_item_type(self.user_type) )
+        item_type = declarations.apply_visitor( item_visitor, item_visitor.user_type )
+        size = declarations.array_size( self.user_type )
+        if size == declarations.array_t.SIZE_UNKNOWN:
+            size = 0
+        return "( %s * %d )" % ( item_type, size )
+
+    def visit_free_function_type( self ):
+        return_visitor = self.create_converter( self.user_type.return_type )
+        return_type = declarations.apply_visitor( return_visitor, self.user_type.return_type )
+        argtypes = []
+        for arg in self.user_type.arguments_types:
+            arg_visitor = self.create_converter( arg )
+            argtypes.append( declarations.apply_visitor(arg_visitor, arg) )
+        return declarations.call_invocation.join( "ctypes.CFUNCTYPE", [return_type] + argtypes )
+
+    #~ def visit_member_function_type( self ):
+        #~ raise NotImplementedError()
+
+    #~ def visit_member_variable_type( self ):
+        #~ raise NotImplementedError()
+
+    def visit_declarated( self ):
+        #TODO: the follwoing code removes typedefs
+        if isinstance( self.user_type.declaration, declarations.typedef_t ):
+            base_visitor = self.create_converter( self.user_type.declaration.type )
+            return declarations.apply_visitor( base_visitor, base_visitor.user_type )
+        else:
+            return self.decl_formatter( self.user_type.declaration )
+
+    def visit_restrict( self ):
+        base_visitor = self.create_converter( self.user_type.base )
+        return declarations.apply_visitor( base_visitor, base_visitor.user_type )
+
+    def visit_ellipsis( self ):
+        return ''
+
+def as_ctype( type_, treat_char_ptr_as_binary_data=False):
+    v = type_converter_t( type_, treat_char_ptr_as_binary_data )
+    return declarations.apply_visitor( v, type_ )
+
diff --git a/pyplusplus/code_creators/ctypes_integration_creators.py b/pyplusplus/code_creators/ctypes_integration_creators.py
new file mode 100644
index 0000000..ce96c93
--- /dev/null
+++ b/pyplusplus/code_creators/ctypes_integration_creators.py
@@ -0,0 +1,55 @@
+# Copyright 2004-2008 Roman Yakovenko
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import algorithm
+from . import code_creator
+from . import declaration_based
+from . import registration_based
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+from pyplusplus import code_repository
+
+class  expose_this_t( registration_based.registration_based_t
+                      , declaration_based.declaration_based_t ):
+    """
+    creates code that expose address of the object to Python
+    """
+
+    def __init__(self, class_ ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=class_)
+
+    def _create_impl(self):
+        answer = [ 'add_property' ]
+        answer.append( '( ' )
+        answer.append('"this"')
+        answer.append( self.PARAM_SEPARATOR )
+        answer.append( 'pyplus_conv::make_addressof_inst_getter< %s >()' % self.decl_identifier )
+        if self.documentation:
+            answer.append( self.PARAM_SEPARATOR )
+            answer.append( self.documentation )
+        answer.append( ' ) ' )
+
+        return ''.join( answer )
+
+    def _get_system_files_impl( self ):
+        return [code_repository.ctypes_integration.file_name]
+
+class  expose_sizeof_t( registration_based.registration_based_t
+                        , declaration_based.declaration_based_t ):
+    """
+    creates code that expose address of the object to Python
+    """
+
+    def __init__(self, class_ ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=class_)
+
+    def _create_impl(self):
+        return 'def( pyplus_conv::register_sizeof( boost::type< %s >() ) )' % self.decl_identifier
+
+    def _get_system_files_impl( self ):
+        return [code_repository.ctypes_integration.file_name]
diff --git a/pyplusplus/code_creators/custom.py b/pyplusplus/code_creators/custom.py
new file mode 100644
index 0000000..f4f2ff9
--- /dev/null
+++ b/pyplusplus/code_creators/custom.py
@@ -0,0 +1,38 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from . import code_creator
+
+class custom_t(code_creator.code_creator_t):
+    def __init__(self, works_on_instance=True):
+        """ Base class for custom code.
+            works_on_instance: If true, the custom code can be applied directly to obj inst.
+            Ex: ObjInst."CustomCode"
+        """
+        code_creator.code_creator_t.__init__(self)
+        self.works_on_instance = works_on_instance
+    
+    def _create_impl(self):
+        raise NotImplementedError()
+    
+    def _get_system_files_impl( self ):
+        return []
+
+class custom_text_t(custom_t):
+    def __init__(self, text, works_on_instance=True):
+        custom_t.__init__(self, works_on_instance)
+        self._text = text
+
+    def _get_text(self):
+        return self._text
+    def _set_text(self, new_text):
+        self._text = new_text
+    text = property( _get_text, _set_text )
+
+    def _create_impl(self):
+        return self.text
+    
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/declaration_based.py b/pyplusplus/code_creators/declaration_based.py
new file mode 100644
index 0000000..0e4e79e
--- /dev/null
+++ b/pyplusplus/code_creators/declaration_based.py
@@ -0,0 +1,64 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from . import algorithm
+from . import code_creator
+from pygccxml.utils import utils
+
+class declaration_based_t:
+    """Code creator that is based on a declaration.
+    """
+    def __init__(self, declaration ):
+        """Constructor.
+
+        :param declaration: Declaration object
+        :type declaration: :class:`decl_wrappers.decl_wrapper_t`
+        :param parent: Parent code creator.
+        :type parent: code_creator_t
+        """
+        self._decl = declaration
+
+    def _generate_valid_name(self, name=None):
+        if name == None:
+            name = self.declaration.name
+        return algorithm.create_valid_name( name )
+
+    @property
+    def declaration(self):
+        """The declaration this code creator is based on.
+        @type: :class:`decl_wrappers.decl_wrapper_t`
+        """
+        return self._decl
+
+    def _get_alias_impl( self ):
+        return self.declaration.alias
+
+    def _get_alias(self):
+        return self._get_alias_impl()
+    def _set_alias(self, alias):
+        self.declaration.alias = alias
+    alias = property( _get_alias, _set_alias )
+
+    @utils.cached
+    def undecorated_decl_name( self ):
+        return str( self.declaration )
+
+    @utils.cached
+    def complete_py_name( self ):
+        return algorithm.complete_py_name( self.declaration )
+
+    @property
+    def decl_identifier( self ):
+        return algorithm.create_identifier( self, self.declaration.partial_decl_string )
+
+    @property
+    def documentation( self ):
+        if None is self.declaration.documentation:
+            return ''
+        return self.declaration.documentation
+
+    def get_user_headers( self, recursive=False, unique=False ):
+        """return list of user header files to be included from the generated file"""
+        return self.declaration.include_files
diff --git a/pyplusplus/code_creators/embedded_code_repository.py b/pyplusplus/code_creators/embedded_code_repository.py
new file mode 100644
index 0000000..99e762e
--- /dev/null
+++ b/pyplusplus/code_creators/embedded_code_repository.py
@@ -0,0 +1,18 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from . import code_creator
+
+class embedded_code_repository_t(code_creator.code_creator_t):
+    """Creates Python import directive"""
+    def __init__( self, code_repository_module ):
+        code_creator.code_creator_t.__init__(self)
+        self.__code = code_repository_module.code
+
+    def _create_impl(self):
+        return self.__code
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/enum.py b/pyplusplus/code_creators/enum.py
new file mode 100644
index 0000000..4126149
--- /dev/null
+++ b/pyplusplus/code_creators/enum.py
@@ -0,0 +1,84 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import algorithm
+from . import code_creator
+from . import declaration_based
+from . import registration_based
+
+class enum_t( registration_based.registration_based_t
+              , declaration_based.declaration_based_t ):
+    """
+    create code that exposes C++ enumeration
+    """
+    def __init__(self, enum ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=enum)
+        self.works_on_instance = False
+
+    def _get_value_aliases(self):
+        return self.declaration.value_aliases
+    def _set_value_aliases(self, value_aliases):
+        self.declaration.value_aliases = value_aliases
+    value_aliases = property( _get_value_aliases, _set_value_aliases )
+
+    def _get_export_values(self):
+        return self.declaration.export_values
+    def _set_export_values(self, export_values):
+        self.declaration.export_values = export_values
+    export_values = property( _get_export_values, _set_export_values )
+
+    def _generate_value_code(self, value_name):
+        #in C++ you can't write namespace::enum::value, you should write namespace::value
+        full_name = self.declaration.parent.decl_string
+        return '.value("%(alias)s", %(name)s)' \
+               % { 'alias' : self.value_aliases.get( value_name, value_name )
+                    , 'name' : algorithm.create_identifier( self, full_name + '::' + value_name ) }
+
+    def _create_impl(self):
+        if self.declaration.already_exposed:
+            return ''
+
+        bpl_enum = '%(bpl::enum_)s< %(name)s>("%(alias)s")' \
+                   % { 'bpl::enum_' : algorithm.create_identifier( self, '::boost::python::enum_' )
+                       , 'name' : algorithm.create_identifier( self, self.declaration.decl_string )
+                       , 'alias' : self.alias }
+
+        values = []
+        # Add the values that should be exported
+        for value_name in self.declaration.export_values:
+            values.append( self._generate_value_code( value_name ) )
+
+        # Export the values
+        if len(self.declaration.export_values)>0:
+            values.append( '.export_values()' )
+
+        # Add the values that should not be exported
+        for name in self.declaration.no_export_values:
+            values.append( self._generate_value_code( name ) )
+
+        values.append( ';' )
+
+        values = self.indent( os.linesep.join( values ) )
+        return bpl_enum + os.linesep + values
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+class pyenum_t( code_creator.code_creator_t, declaration_based.declaration_based_t ):
+    def __init__( self, enum ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=enum )
+
+    def _create_impl( self ):
+        result = [ 'class %(alias)s( ctypes_utils.Enumeration ):' % dict( alias=self.alias ) ]
+        for name, value in self.declaration.values:
+            result.append( self.indent( '%(name)s = %(value)s' % dict( name=name, value=value ) ) )
+        return os.linesep.join( result )
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/exception_translator.py b/pyplusplus/code_creators/exception_translator.py
new file mode 100644
index 0000000..eac1f72
--- /dev/null
+++ b/pyplusplus/code_creators/exception_translator.py
@@ -0,0 +1,58 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import types
+from . import algorithm 
+from . import code_creator
+from . import declaration_based
+from . import registration_based
+from pygccxml import declarations
+
+class exception_translator_t( code_creator.code_creator_t
+                              , declaration_based.declaration_based_t ):
+    def __init__(self, exception_class ):        
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=exception_class  )
+
+    @property
+    def translator_name( self ):
+        return 'translate_%(alias)s' % { 'alias' : self.declaration.alias }
+    
+    def _create_impl(self):
+        if self.declaration.already_exposed:
+            return ''        
+        return os.linesep.join([
+              "void translate_%(alias)s( const %(cls_name)s& %(arg_name)s ){" \
+            , self.indent( self.declaration.exception_translation_code )
+            , "}"]) \
+            % { 'alias' : self.declaration.alias
+                 , 'cls_name' : self.decl_identifier
+                 , 'arg_name' : self.declaration.exception_argument_name }
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+class exception_translator_register_t( registration_based.registration_based_t
+                                       , declaration_based.declaration_based_t ):
+    def __init__(self, exception_class, exception_translator):        
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=exception_class )
+        self.works_on_instance = False
+        self.translator = exception_translator
+    
+    def _create_impl( self ):
+        if self.declaration.already_exposed:
+            return ''
+
+        return '%(register_exception_translator)s< %(cls)s >( &%(translator)s );' \
+               % { 'register_exception_translator' : algorithm.create_identifier( self, 'boost::python::register_exception_translator' )
+                   , 'cls'  : self.decl_identifier
+                   , 'translator' : self.translator.translator_name }
+        
+    def _get_system_files_impl( self ):
+        return []
+        
\ No newline at end of file
diff --git a/pyplusplus/code_creators/global_variable.py b/pyplusplus/code_creators/global_variable.py
new file mode 100644
index 0000000..8f1666f
--- /dev/null
+++ b/pyplusplus/code_creators/global_variable.py
@@ -0,0 +1,200 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import pygccxml
+from . import algorithm
+from . import code_creator
+from . import ctypes_formatter
+from . import declaration_based
+from . import registration_based
+from pygccxml import declarations
+from pyplusplus import code_repository
+from pyplusplus import decl_wrappers
+
+class global_variable_base_t( registration_based.registration_based_t
+                              , declaration_based.declaration_based_t ):
+    """
+    Base class for all global variables code creators. Mainly exists to
+    simplify file writers algorithms.
+    """
+    def __init__(self, variable, wrapper=None ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=variable)
+        self._wrapper = wrapper
+
+    def _get_wrapper( self ):
+        return self._wrapper
+    def _set_wrapper( self, new_wrapper ):
+        self._wrapper = new_wrapper
+    wrapper = property( _get_wrapper, _set_wrapper )
+
+    def _get_system_files_impl( self ):
+        return []
+
+class global_variable_t( global_variable_base_t ):
+    """
+    Creates boost.python code that exposes global variable.
+    """
+    def __init__(self, variable ):
+        global_variable_base_t.__init__( self, variable=variable )
+
+    def _create_impl(self):
+        if self.declaration.already_exposed:
+            return ''
+
+        assert isinstance( self.declaration, pygccxml.declarations.variable_t )
+        result = []
+        result.append( algorithm.create_identifier( self, '::boost::python::scope' ) )
+        result.append( '().attr("%s")' % self.alias )
+        dtype = self.declaration.type
+        if decl_wrappers.python_traits.is_immutable( dtype ) \
+           or pygccxml.declarations.is_const( dtype ) \
+           or pygccxml.declarations.smart_pointer_traits.is_smart_pointer( dtype ):
+            result.append( ' = %s;' % self.decl_identifier )
+        else:
+            obj_identifier = algorithm.create_identifier( self, '::boost::python::object' )
+            ref_identifier = algorithm.create_identifier( self, '::boost::ref' )
+            result.append( ' = %s( %s( %s ) );' % ( obj_identifier, ref_identifier, self.decl_identifier ) )
+        return ''.join( result )
+
+class array_gv_t( global_variable_base_t ):
+    """
+    Creates boost.python code that exposes array global variable.
+    """
+
+    _PARAM_SEPARATOR = ', '
+    def __init__(self, variable, wrapper ):
+        global_variable_base_t.__init__( self, variable=variable, wrapper=wrapper )
+
+    def _get_system_files_impl( self ):
+        return []
+
+    def _create_impl( self ):
+        if self.declaration.already_exposed:
+            return ''
+
+        answer = []
+        answer.append( algorithm.create_identifier( self, '::boost::python::scope' ) )
+        answer.append( '().attr("%s")' % self.alias )
+        answer.append( ' = ' )
+        answer.append( self.wrapper.wrapper_creator_full_name )
+        answer.append( '();' )
+        return ''.join( answer )
+
+class array_gv_wrapper_t( code_creator.code_creator_t
+                          , declaration_based.declaration_based_t ):
+    """
+    Creates C++ code that register array class.
+    """
+
+    def __init__(self, variable ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=variable)
+
+    def _get_wrapper_type( self ):
+        ns_name = code_repository.array_1.namespace
+        if declarations.is_const( self.declaration.type ):
+            class_name = 'const_array_1_t'
+        else:
+            class_name = 'array_1_t'
+
+        decl_string = declarations.templates.join(
+              '::'.join( [ns_name, class_name] )
+            , [ declarations.array_item_type( self.declaration.type ).decl_string
+                , str( declarations.array_size( self.declaration.type ) )
+        ])
+
+        return declarations.dummy_type_t( decl_string )
+    wrapper_type = property( _get_wrapper_type )
+
+    def _get_wrapper_creator_type(self):
+        return declarations.free_function_type_t.create_decl_string(
+                return_type=self.wrapper_type
+                , arguments_types=[]
+                , with_defaults=False)
+    wrapper_creator_type = property( _get_wrapper_creator_type )
+
+    def _get_wrapper_creator_name(self):
+        return '_'.join( [self.declaration.name, 'wrapper'] )
+    wrapper_creator_name = property( _get_wrapper_creator_name )
+
+    def _create_namespaces(self):
+        ns_names = declarations.declaration_path( self.declaration.parent )
+        if len(ns_names) >= 1 and ns_names[0] == '::':
+            ns_names = ns_names[1:]
+        return ns_names
+
+    def _get_wrapper_creator_full_name(self):
+        names = self._create_namespaces()
+        names.append( self.wrapper_creator_name )
+        return '::'.join( names )
+    wrapper_creator_full_name = property( _get_wrapper_creator_full_name )
+
+    def _create_namespaces_name(self):
+        temp = []
+        for ns_name in self._create_namespaces():
+            temp.append( ''.join( ['namespace ', ns_name, '{ '] ) )
+        return ''.join( temp )
+
+    def _create_impl( self ):
+        if self.declaration.already_exposed:
+            return ''
+
+        answer = [self._create_namespaces_name()]
+        answer.append( self.wrapper_type.decl_string )
+        answer.append( ''.join([ self.wrapper_creator_name, '(){']) )
+        temp = ''.join([ 'return '
+                         , self.wrapper_type.decl_string
+                         , '( '
+                         , declarations.full_name( self.declaration )
+                         , ' );'])
+        answer.append( self.indent( temp ) )
+        answer.append('}')
+        answer.append( '}' * len( self._create_namespaces() ) )
+        return os.linesep.join( answer )
+
+    def _get_system_files_impl( self ):
+        return [code_repository.array_1.file_name]
+
+class global_variable_addressof_t( global_variable_base_t ):
+    """
+    Creates boost.python code that exposes address of global variable.
+
+    This functionality is pretty powerful if you use it with "ctypes" -
+    standard package.
+    """
+    def __init__(self, variable ):
+        global_variable_base_t.__init__( self, variable=variable )
+
+    def _create_impl(self):
+        if self.declaration.already_exposed:
+            return ''
+
+        assert isinstance( self.declaration, pygccxml.declarations.variable_t )
+        result = []
+        #TODO: porting to 64Bit is welcome
+        result.append( algorithm.create_identifier( self, '::boost::python::scope' ) )
+        result.append( '().attr("%s")' % self.alias )
+        result.append( ' = size_t( boost::addressof( %s ) );' % self.decl_identifier )
+        return ''.join( result )
+
+    def _get_system_files_impl( self ):
+        return [code_repository.ctypes_integration.file_name]
+
+class global_variable_reference_t( code_creator.code_creator_t, declaration_based.declaration_based_t ):
+    def __init__( self, var ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, var )
+
+    def _create_impl( self ):
+        return '%(alias)s = %(type)s.in_dll( %(library_var_name)s, %(library_var_name)s.undecorated_names["%(undecorated_decl_name)s"] )' \
+               % dict( alias=self.alias
+                       , type=ctypes_formatter.as_ctype( self.declaration.type, self.top_parent.treat_char_ptr_as_binary_data )
+                       , library_var_name=self.top_parent.library_var_name
+                       , undecorated_decl_name=self.undecorated_decl_name )
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/include.py b/pyplusplus/code_creators/include.py
new file mode 100644
index 0000000..73510cf
--- /dev/null
+++ b/pyplusplus/code_creators/include.py
@@ -0,0 +1,76 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import code_creator
+from . import include_directories
+
+class include_t(code_creator.code_creator_t):
+    """
+    Creates C++ code for include directive
+    """
+    def __init__( self, header, user_defined=False, system=False ):
+        code_creator.code_creator_t.__init__(self)
+        self._header = include_directories.include_directories_t.normalize( header )
+        self._include_dirs_optimization = None #This parameter will be set from bpmodule_t.create function
+        self._user_defined = user_defined
+        self._system = system
+        self.__created_code = None
+
+    @property
+    def is_user_defined(self):
+        return self._user_defined
+
+    @property
+    def is_system(self):
+        """Return True if header file is system( Boost.Python or `Py++` ) header file"""
+        return self._system
+
+    def _get_header(self):
+        return self._header
+    def _set_header(self, header):
+        self._header = include_directories.include_directories_t.normalize( header )
+    header = property( _get_header, _set_header )
+
+    def _get_include_dirs_optimization(self):
+        return self._include_dirs_optimization
+    def _set_include_dirs_optimization(self, include_dirs):
+        self._include_dirs_optimization = include_dirs
+    include_dirs_optimization = property( _get_include_dirs_optimization, _set_include_dirs_optimization )
+
+    def _create_include_directive_code(self):
+        header = self.header.strip()
+        if header.startswith( '"' ) or header.startswith( '<' ):
+            return '#include %s' % self.header
+
+        if not self.include_dirs_optimization:
+            return '#include "%s"' % self.header
+        else:
+            normalize_header = self.include_dirs_optimization.normalize_header( self.header )
+            if self.include_dirs_optimization.is_std(self.header):
+                return '#include <%s>' % normalize_header
+            else:
+                return '#include "%s"' % normalize_header
+
+    def _create_impl(self):
+        if not self.__created_code:
+            self.__created_code = self._create_include_directive_code()
+        return self.__created_code
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+class import_t(code_creator.code_creator_t):
+    """Creates Python import directive"""
+    def __init__( self, module_name ):
+        code_creator.code_creator_t.__init__(self)
+        self._module_name = module_name
+
+    def _create_impl(self):
+        return 'import %(module)s' % dict( module=os.path.splitext(self._module_name)[0] )
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/include_directories.py b/pyplusplus/code_creators/include_directories.py
new file mode 100644
index 0000000..2d7b79f
--- /dev/null
+++ b/pyplusplus/code_creators/include_directories.py
@@ -0,0 +1,75 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import pprint
+from . import instruction
+
+class include_directories_t(instruction.instruction_t):
+    """
+    The instance of this class holds a list of user defined directories.
+    :class:`code_creators.include_t` and :class:`code_creators.precompiled_header_t`
+    code creators use it to generate relative include directives.
+    """
+    def __init__(self):
+        instruction.instruction_t.__init__(self)
+        self._user_defined = []
+        self._std = []
+
+    @staticmethod
+    def normalize( path ):
+        return os.path.normpath( os.path.normcase( path ) )
+
+    def _get_user_defined(self):
+        self._user_defined = list(map( self.normalize, self._user_defined ))
+        return self._user_defined
+    def _set_user_defined(self, includes):
+        self._user_defined = includes
+    user_defined = property( _get_user_defined, _set_user_defined )
+
+    def _get_std(self):
+        self._std = list(map( self.normalize, self._std ))
+        return self._std
+    def _set_std(self, includes):
+        self._std = includes
+    std = property( _get_std, _set_std )
+
+    def is_std( self, header ):
+        headers = self.std[:]
+        headers.append( self.normalize( header ) )
+        dname = os.path.commonprefix( headers )
+        return dname in headers[:-1]
+
+    def is_user_defined(self, header):
+        return not self.is_std( header )
+
+    def _remove_common_prefix( self, header, headers ):
+        lcp = ''# longest common path
+        for predefined_header in headers:
+            dname = os.path.commonprefix( [ predefined_header, header ] )
+            if dname == predefined_header and len( dname ) > len( lcp ):
+                lcp = dname
+        if not lcp:
+            return header
+        new_header = header[ len( lcp ): ]
+        if lcp and new_header and new_header[0] in '/\\':
+            new_header = new_header[1:]
+        return new_header
+
+    def normalize_header(self, header ):
+        headers = self.std + self.user_defined
+        answer = self._remove_common_prefix( header, headers )
+        return answer.replace( '\\', '/' )
+
+    def _generate_description(self):
+        desc = ["std directories: " + pprint.pformat( self.std )]
+        temp = pprint.pformat( self.user_defined )
+        if os.linesep not in temp:
+            #fixing bug on windows where linesep == \n\r
+            #while pformat uses \n
+            temp = temp.replace( '\n', os.linesep )
+        desc.append( "user defined directories: " + temp )
+        return os.linesep.join( desc )
+
diff --git a/pyplusplus/code_creators/indexing_suites.py b/pyplusplus/code_creators/indexing_suites.py
new file mode 100644
index 0000000..7101598
--- /dev/null
+++ b/pyplusplus/code_creators/indexing_suites.py
@@ -0,0 +1,183 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import types
+from . import algorithm
+from . import code_creator
+from . import declaration_based
+from . import registration_based
+from pygccxml import declarations
+
+class indexing_suite1_t( registration_based.registration_based_t
+                         , declaration_based.declaration_based_t ):
+    def __init__(self, container ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=container )
+
+    @property
+    def configuration( self ):
+        return self.declaration.indexing_suite
+
+    @property
+    def container( self ):
+        return self.declaration
+
+    def guess_suite_name( self ):
+        if self.container.name.startswith( 'vector' ):
+            return 'boost::python::vector_indexing_suite'
+        else:
+            return 'boost::python::map_indexing_suite'
+
+    def _create_suite_declaration( self ):
+        suite_identifier = algorithm.create_identifier( self, self.guess_suite_name() )
+        args = [ self.container.partial_decl_string ]
+        try:
+            no_proxy = str( self.configuration.no_proxy ).lower()
+        except:
+            no_proxy = 'false'
+        if self.configuration.derived_policies:
+            args.append( no_proxy )
+            args.append( self.configuration.derived_policies )
+        else:
+            if 'true' == no_proxy:
+                args.append( no_proxy)
+        return declarations.templates.join( suite_identifier, args )
+
+    def _create_impl(self):
+        return "def( %s() )" %  self._create_suite_declaration()
+
+    def _get_system_files_impl( self ):
+        return self.configuration.include_files
+
+class indexing_suite2_t( registration_based.registration_based_t
+                         , declaration_based.declaration_based_t ):
+    def __init__(self, container ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=container )
+        self.__method_mask_var_name = "methods_mask"
+        self.works_on_instance = not self.does_user_disable_methods()
+
+    def does_user_disable_methods( self ):
+        return bool( self.declaration.indexing_suite.disabled_methods_groups ) \
+               or bool( self.declaration.indexing_suite.disable_methods )
+
+    def generate_algorithm_mask( self ):
+        disable = []
+        for group in self.declaration.indexing_suite.disabled_methods_groups:
+            group_id = algorithm.create_identifier(self, "::boost::python::indexing::%s_methods" % group )
+            disable.append( group_id )
+        for method in self.declaration.indexing_suite.disable_methods:
+            method_id = algorithm.create_identifier(self, "::boost::python::indexing::method_" + method )
+            disable.append( method_id )
+        answer = [ 'unsigned long const %s = ' % self.__method_mask_var_name ]
+        answer.append( algorithm.create_identifier(self, "::boost::python::indexing::all_methods" ) )
+        answer.append( ' & ~' )
+        if 1 == len ( disable ):
+            answer.append( disable[0] )
+        else:
+            answer.append( '( ' )
+            answer.append( ' |  '.join( disable ) )
+            answer.append( ' ) ' )
+        answer.append( ';' )
+        return ''.join( answer )
+
+    def _create_impl( self ):
+        if self.declaration.already_exposed:
+            return ''
+
+        answer = []
+        if self.does_user_disable_methods():
+            answer.append( self.generate_algorithm_mask() )
+            answer.append( os.linesep )
+        if not self.works_on_instance:
+            answer.append( '%s.def( ' % self.parent.class_var_name)
+        else:
+            answer.append( 'def( ' )
+        bpi = algorithm.create_identifier(self, "::boost::python::indexing" )
+        if self.declaration.indexing_suite.use_container_suite:
+            answer.append( bpi + '::container_suite' )
+        else:
+            container_name = self.declaration.name.split( '<' )[0]
+            if container_name.startswith( 'hash_' ):
+                container_name = container_name[len( 'hash_'):]
+            answer.append( bpi + '::' + container_name + '_suite' )
+        answer.append( '< ' )
+        answer.append( self.decl_identifier )
+        if self.does_user_disable_methods():
+            answer.append( self.PARAM_SEPARATOR )
+            answer.append( self.__method_mask_var_name )
+        answer.append( ' >' )
+        if self.declaration.indexing_suite.call_policies \
+           and not self.declaration.indexing_suite.call_policies.is_default():
+            answer.append( '::with_policies(%s)'
+                           % self.declaration.indexing_suite.call_policies.create( self )  )
+        else:
+            answer.append( '()' )
+        answer.append( ' )' )
+        if not self.works_on_instance:
+            answer.append( ';' )
+        return ''.join( answer )
+
+    def _get_system_files_impl( self ):
+        return self.declaration.indexing_suite.include_files
+
+class value_traits_t( code_creator.code_creator_t
+                      , declaration_based.declaration_based_t ):
+    def __init__( self, value_class ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=value_class )
+
+    def generate_value_traits( self ):
+        tmpl = os.linesep.join([
+              "namespace boost { namespace python { namespace indexing {"
+            , ""
+            , "template<>"
+            , "struct value_traits< %(value_class)s >{"
+            , ""
+            , self.indent( "static bool const equality_comparable = %(has_equal)s;" )
+            , self.indent( "%(equal_to)s" )
+            , ""
+            , self.indent( "static bool const less_than_comparable = %(has_lessthan)s;" )
+            , self.indent( "%(less)s" )
+            , ""
+            , self.indent( "template<typename PythonClass, typename Policy>" )
+            , self.indent( "static void visit_container_class(PythonClass &, Policy const &){" )
+            , self.indent( "%(visitor_helper_body)s", 2 )
+            , self.indent( "}" )
+            , ""
+            , "};"
+            , ""
+            , "}/*indexing*/ } /*python*/ } /*boost*/"
+        ])
+
+        less = ''
+        if self.declaration.less_than_comparable:
+            less = "typedef std::less< %s > less;" % self.decl_identifier
+
+        equal_to = ''
+        if self.declaration.equality_comparable:
+            equal_to = "typedef std::equal_to< %s > equal_to;" % self.decl_identifier
+
+        return tmpl % { 'value_class' : self.decl_identifier
+                        , 'has_equal' : str( bool( self.declaration.equality_comparable ) ) .lower()
+                        , 'equal_to' : equal_to
+                        , 'has_lessthan' : str( bool( self.declaration.less_than_comparable ) ).lower()
+                        , 'less' : less
+                        , 'visitor_helper_body' : '' }
+
+    def generate_value_class_fwd_declaration( self ):
+        pass # for inner class this code will generate error :-((((
+
+    def _create_impl( self ):
+        #if self.declaration.already_exposed:
+        #    return ''
+        #This is the error to skip generation in case the class is already exposed,
+        #because we still expose container, so it needs to know how to work with
+        #the value_type
+        return self.generate_value_traits()
+
+    def _get_system_files_impl( self ):
+        return ['indexing_suite/value_traits.hpp']
diff --git a/pyplusplus/code_creators/instruction.py b/pyplusplus/code_creators/instruction.py
new file mode 100644
index 0000000..62193dd
--- /dev/null
+++ b/pyplusplus/code_creators/instruction.py
@@ -0,0 +1,41 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import code_creator
+
+class instruction_t(code_creator.code_creator_t):
+    """
+    This class is used as a base class for different instruction for code creators.    
+    """
+    #TODO: add silent option and make it default
+    def __init__(self, silent=True):
+        code_creator.code_creator_t.__init__(self)
+        self._silent = silent
+        
+    def get_silent(self):
+        return self._silent
+    
+    def set_silent(self, silent ):
+        self._silent = silent
+        
+    silent = property( get_silent, set_silent
+                       , doc="""silent property controls, whether instruction 
+                         should be written within generated code or not. 
+                         Default value is True - not written.""" )
+        
+    def _create_impl(self):
+        if self.silent:
+            return ''
+        answer = []
+        for line in self._generate_description().split( os.linesep ):
+            answer.append( '// %s' % line )
+        return os.linesep.join( answer )
+    
+    def _generate_description(self):
+        raise NotImplementedError()
+    
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/library_reference.py b/pyplusplus/code_creators/library_reference.py
new file mode 100644
index 0000000..e1f88f4
--- /dev/null
+++ b/pyplusplus/code_creators/library_reference.py
@@ -0,0 +1,56 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import code_creator
+from pyplusplus import decl_wrappers
+
+#TODO: add different dlls
+
+#TODO: another idea is a small refactoring in ctypes:
+#the idea is to introduce single "load shared library function", which servers
+#as a factory for function defined in the library:
+# class shared_library:
+#     def function( self, name_or_ordinal, calling convention, restype, argtypes )
+
+#TODO: why I need to preload "C" runtime ( other libraries )?
+
+#TODO: how I can find out the full path of the loaded dll
+
+class library_reference_t(code_creator.code_creator_t):
+    """Creates reference to a library"""
+
+    def __init__( self, library_path, library_var_name=None, is_cpp_library=True ):
+        code_creator.code_creator_t.__init__(self)
+        self._library_path = library_path
+        self._is_cpp_library = is_cpp_library
+        self._library_var_name = self.__create_library_var_name( library_path, library_var_name )
+
+    @property
+    def library_var_name(self):
+        return self._library_var_name
+
+    def __create_library_var_name( self, library_path, library_var_name ):
+        if library_var_name:
+            return library_var_name
+        else:
+            basename = os.path.splitext( os.path.basename( library_path ) )[0]
+            name = basename.split( '.' )[0]
+            return decl_wrappers.algorithm.create_valid_name( name ) + '_lib'
+
+    def _create_impl(self):
+        return '%(var)s = ctypes.%(loader)s( r"%(path)s" )' \
+               % dict( var=self.library_var_name
+                       , loader='CDLL'
+                       , path=self._library_path )
+
+    def _get_system_files_impl( self ):
+        return []
+
+if __name__ == '__main__':
+    lr = library_reference_t( 'library', r'c:\temp\x1.dll', False )
+    print(lr.create())
+    lr = library_reference_t( 'library', r'c:\temp\x1.dll', True )
+    print(lr.create())
diff --git a/pyplusplus/code_creators/license.py b/pyplusplus/code_creators/license.py
new file mode 100644
index 0000000..deb3f28
--- /dev/null
+++ b/pyplusplus/code_creators/license.py
@@ -0,0 +1,30 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from . import code_creator
+
+class license_t(code_creator.code_creator_t):
+    """
+    This class allows user to put his license on the top of every generated file.
+    License text will be generated as is.
+    """
+    def __init__(self, text ):
+        code_creator.code_creator_t.__init__(self)
+        self._text = text
+
+    def _get_text(self):
+        return self._text
+    def _set_text(self, new_text):
+        self._text = new_text
+    text = property( _get_text, _set_text )
+
+    def _get_system_files_impl( self ):
+        return []
+
+    def _create_impl(self):
+        return self.text
+    
+    def beautify( self, code ):
+        return code
\ No newline at end of file
diff --git a/pyplusplus/code_creators/member_variable.py b/pyplusplus/code_creators/member_variable.py
new file mode 100644
index 0000000..9094b1e
--- /dev/null
+++ b/pyplusplus/code_creators/member_variable.py
@@ -0,0 +1,769 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import algorithm
+from . import code_creator
+from . import ctypes_formatter
+from . import declaration_based
+from . import registration_based
+from pygccxml import declarations
+from pyplusplus import code_repository
+from pyplusplus.decl_wrappers import call_policies
+from pyplusplus.decl_wrappers import python_traits
+
+class member_variable_base_t( registration_based.registration_based_t
+                              , declaration_based.declaration_based_t ):
+    """
+    Base class for all member variables code creators. Mainly exists to
+    simplify file writers algorithms.
+    """
+
+    def __init__(self, variable, wrapper=None ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=variable)
+        self._wrapper = wrapper
+
+    def _get_wrapper( self ):
+        return self._wrapper
+    def _set_wrapper( self, new_wrapper ):
+        self._wrapper = new_wrapper
+    wrapper = property( _get_wrapper, _set_wrapper )
+
+    def _get_system_files_impl( self ):
+        files = []
+        if self.declaration.getter_call_policies:
+            files.append( self.declaration.getter_call_policies.header_file )
+        if self.declaration.setter_call_policies:
+            files.append( self.declaration.setter_call_policies.header_file )
+        return files
+
+class member_variable_t( member_variable_base_t ):
+    """
+    Creates boost.python code that exposes member variable.
+    """
+    def __init__(self, variable, wrapper=None ):
+        member_variable_base_t.__init__( self, variable=variable, wrapper=wrapper )
+
+    #>    On Wednesday, 19. April 2006 23:05, Ralf W. Grosse-Kunstleve wrote:
+    #>   .add_property("p", make_function(&A::get_p, return_value_policy<reference_existing_object>()))
+    def _generate_for_pointer( self ):
+        doc = '' #static property does not support documentation
+        if self.declaration.type_qualifiers.has_static:
+            add_property = 'add_static_property'
+        else:
+            if self.documentation:
+                doc = self.documentation
+            add_property = 'add_property'
+        answer = [ add_property ]
+        answer.append( '( ' )
+        answer.append('"%s"' % self.alias)
+        answer.append( self.PARAM_SEPARATOR )
+
+        #according to David Abrahams:
+        #http://mail.python.org/pipermail/c++-sig/2003-January/003276.html
+        call_pol = call_policies.return_internal_reference().create( self )
+        make_function = algorithm.create_identifier( self, '::boost::python::make_function' )
+
+        answer.append( '%(mk_func)s( (%(getter_type)s)(&%(wfname)s), %(call_pol)s )'
+                       % { 'mk_func' : make_function
+                           , 'getter_type' : self.wrapper.getter_type
+                           , 'wfname' : self.wrapper.getter_full_name
+                           , 'call_pol' : call_pol } )
+
+        #don't generate setter method, right now I don't know how to do it.
+        if self.wrapper.has_setter:
+            answer.append( self.PARAM_SEPARATOR )
+            call_pol = ''
+            if not self.declaration.type_qualifiers.has_static:
+                call_pol = ", " + call_policies.with_custodian_and_ward_postcall( 1, 2 ).create(self)
+            answer.append( '%(mk_func)s( (%(setter_type)s)(&%(wfname)s)%(call_pol)s )'
+                       % { 'mk_func' : make_function
+                           , 'setter_type' : self.wrapper.setter_type
+                           , 'wfname' : self.wrapper.setter_full_name
+                           , 'call_pol' : call_pol } )
+        if doc:
+            answer.append( self.PARAM_SEPARATOR )
+            answer.append( doc )
+        answer.append( ' ) ' )
+
+        code = ''.join( answer )
+        if len( code ) <= self.LINE_LENGTH:
+            return code
+        else:
+            for i in range( len( answer ) ):
+                if answer[i] == self.PARAM_SEPARATOR:
+                    answer[i] = os.linesep + self.indent( self.indent( self.indent( answer[i] ) ) )
+            return ''.join( answer )
+
+    def _generate_for_none_pointer( self ):
+        tmpl = None
+        if self.declaration.type_qualifiers.has_static:
+            tmpl = '%(access)s( "%(alias)s", %(name)s%(doc)s )'
+        else:
+            tmpl = '%(access)s( "%(alias)s", &%(name)s%(doc)s )'
+
+        access = 'def_readwrite'
+        if self.declaration.is_read_only:
+            access = 'def_readonly'
+        doc = ''
+        if self.documentation:
+            doc = ', %s' % self.documentation
+        result = tmpl % {
+                    'access' : access
+                    , 'alias' : self.alias
+                    , 'name' : self.decl_identifier
+                    , 'doc' : doc }
+
+        return result
+
+    def _generate_using_functions( self ):
+        doc = ''
+        add_property = ''
+        make_getter = algorithm.create_identifier( self, '::boost::python::make_getter')
+        make_setter = algorithm.create_identifier( self, '::boost::python::make_setter')
+        if self.declaration.type_qualifiers.has_static:
+            add_property = 'add_static_property'
+        else:
+            if self.documentation:
+                doc = self.documentation
+            add_property = 'add_property'
+        add_property_args = [ '"%s"' % self.alias ]
+        getter_code = declarations.call_invocation.join(
+                          make_getter
+                        , [ '&' + self.decl_identifier
+                            , self.declaration.getter_call_policies.create( self ) ]
+                        , os.linesep + self.indent( self.PARAM_SEPARATOR, 6) )
+
+        add_property_args.append( getter_code )
+        if not self.declaration.is_read_only:
+            setter_code = ''
+            setter_args = [ '&' + self.decl_identifier ]
+            if self.declaration.setter_call_policies \
+               and not self.declaration.setter_call_policies.is_default():
+                   setter_args.append( self.declaration.setter_call_policies.create( self ) )
+            setter_code = declarations.call_invocation.join(
+                              make_setter
+                            , setter_args
+                            , os.linesep + self.indent( self.PARAM_SEPARATOR, 6) )
+            add_property_args.append( setter_code)
+        if doc:
+            add_property_args.append( doc )
+        return declarations.call_invocation.join(
+                    add_property
+                    , add_property_args
+                    , os.linesep + self.indent( self.PARAM_SEPARATOR, 4 ) )
+
+    def _create_impl( self ):
+        if declarations.is_pointer( self.declaration.type ):
+            return self._generate_for_pointer()
+        elif self.declaration.apply_smart_ptr_wa or self.declaration.use_make_functions:
+            return self._generate_using_functions()
+        else:
+            return self._generate_for_none_pointer()
+
+class member_variable_wrapper_t( code_creator.code_creator_t
+                                 , declaration_based.declaration_based_t ):
+    """
+    creates get/set accessors for class variables, that has type pointer
+    """
+    #TODO: give user a way to set call policies
+    #      treat void* pointer
+    indent = code_creator.code_creator_t.indent
+    MV_GET_TEMPLATE = os.linesep.join([
+          'static %(type)s get_%(name)s(%(cls_type)s inst ){'
+        , indent( 'return inst.%(name)s;' )
+        , '}'
+        , ''
+    ])
+
+    MV_STATIC_GET_TEMPLATE = os.linesep.join([
+          'static %(type)s get_%(name)s(){'
+        , indent( 'return %(cls_type)s::%(name)s;' )
+        , '}'
+        , ''
+    ])
+
+    MV_SET_TEMPLATE = os.linesep.join([
+          'static void set_%(name)s( %(cls_type)s inst, %(type)s new_value ){ '
+        , indent( 'inst.%(name)s = new_value;' )
+        , '}'
+        , ''
+    ])
+
+    MV_STATIC_SET_TEMPLATE = os.linesep.join([
+          'static void set_%(name)s( %(type)s new_value ){ '
+        , indent( '%(cls_type)s::%(name)s = new_value;' )
+        , '}'
+        , ''
+    ])
+
+    def __init__(self, variable ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=variable)
+
+    def _get_getter_full_name(self):
+        return self.parent.full_name + '::' + 'get_' + self.declaration.name
+    getter_full_name = property( _get_getter_full_name )
+
+    def inst_arg_type( self, has_const ):
+        inst_arg_type = declarations.declarated_t( self.declaration.parent )
+        if has_const:
+            inst_arg_type = declarations.const_t(inst_arg_type)
+        inst_arg_type = declarations.reference_t(inst_arg_type)
+        return inst_arg_type
+
+    def _get_getter_type(self):
+        if self.declaration.type_qualifiers.has_static:
+            arguments_types=[]
+        else:
+            arguments_types=[ self.inst_arg_type(True) ]
+
+        return declarations.free_function_type_t.create_decl_string(
+                return_type=self.declaration.type
+                , arguments_types=arguments_types
+                , with_defaults=False)
+    getter_type = property( _get_getter_type )
+
+    def _get_setter_full_name(self):
+        return self.parent.full_name + '::' + 'set_' + self.declaration.name
+    setter_full_name = property(_get_setter_full_name)
+
+    def _get_setter_type(self):
+        if self.declaration.type_qualifiers.has_static:
+            arguments_types=[ self.declaration.type ]
+        else:
+            arguments_types=[ self.inst_arg_type(False), self.declaration.type  ]
+
+        return declarations.free_function_type_t.create_decl_string(
+                return_type=declarations.void_t()
+                , arguments_types=arguments_types
+                , with_defaults=False)
+    setter_type = property( _get_setter_type )
+
+    def _get_has_setter( self ):
+        return not declarations.is_const( self.declaration.type )
+    has_setter = property( _get_has_setter )
+
+    def _create_impl(self):
+        answer = []
+        if self.declaration.type_qualifiers.has_static:
+            substitutions = {
+                'type' : self.declaration.type.decl_string
+                , 'name' : self.declaration.name
+                , 'cls_type' : declarations.full_name( self.declaration.parent )
+            }
+            answer.append( self.MV_STATIC_GET_TEMPLATE % substitutions)
+            if self.has_setter:
+                answer.append( self.MV_STATIC_SET_TEMPLATE % substitutions )
+        else:
+            answer.append( self.MV_GET_TEMPLATE % {
+                'type' : self.declaration.type.decl_string
+                , 'name' : self.declaration.name
+                , 'cls_type' : self.inst_arg_type( has_const=True ) })
+            if self.has_setter:
+                answer.append( self.MV_SET_TEMPLATE % {
+                'type' : self.declaration.type.decl_string
+                , 'name' : self.declaration.name
+                , 'cls_type' : self.inst_arg_type( has_const=False ) })
+        return os.linesep.join( answer )
+
+    def _get_system_files_impl( self ):
+        return []
+
+class bit_field_t( member_variable_base_t ):
+    """
+    Creates boost.python code that exposes bit fields member variables
+    """
+    def __init__(self, variable, wrapper ):
+        member_variable_base_t.__init__( self, variable=variable, wrapper=wrapper )
+
+    def _create_impl( self ):
+        answer = [ 'add_property' ]
+        answer.append( '( ' )
+        answer.append('"%s"' % self.alias)
+        answer.append( self.PARAM_SEPARATOR )
+
+        make_function = algorithm.create_identifier( self, '::boost::python::make_function' )
+
+        answer.append( '%(mk_func)s( (%(getter_type)s)(&%(wfname)s) )'
+                       % { 'mk_func' : make_function
+                           , 'getter_type' : self.wrapper.getter_type
+                           , 'wfname' : self.wrapper.getter_full_name } )
+
+        if self.wrapper.has_setter:
+            answer.append( self.PARAM_SEPARATOR )
+            answer.append( '%(mk_func)s( (%(setter_type)s)(&%(wfname)s) )'
+                       % { 'mk_func' : make_function
+                           , 'setter_type' : self.wrapper.setter_type
+                           , 'wfname' : self.wrapper.setter_full_name } )
+
+        if self.documentation:
+            answer.append( self.PARAM_SEPARATOR )
+            answer.append( self.documentation )
+        answer.append( ' ) ' )
+
+        code = ''.join( answer )
+        if len( code ) <= self.LINE_LENGTH:
+            return code
+        else:
+            for i in range( len( answer ) ):
+                if answer[i] == self.PARAM_SEPARATOR:
+                    answer[i] = os.linesep + self.indent( self.indent( self.indent( answer[i] ) ) )
+            return ''.join( answer )
+
+class bit_field_wrapper_t( code_creator.code_creator_t
+                           , declaration_based.declaration_based_t ):
+    """
+    creates get/set accessors for bit fields
+    """
+    indent = code_creator.code_creator_t.indent
+    GET_TEMPLATE =os.linesep.join([
+          'static %(type)s get_%(name)s(%(cls_type)s inst ){'
+        , indent( 'return inst.%(name)s;' )
+        , '}'
+        , ''
+    ])
+
+    SET_TEMPLATE = os.linesep.join([
+          'static void set_%(name)s( %(cls_type)s inst, %(type)s new_value ){ '
+        , indent( 'inst.%(name)s = new_value;' )
+        , '}'
+        , ''
+    ])
+
+    def __init__(self, variable ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=variable)
+
+    def _get_getter_full_name(self):
+        return self.parent.full_name + '::' + 'get_' + self.declaration.name
+    getter_full_name = property( _get_getter_full_name )
+
+    def inst_arg_type( self, has_const ):
+        inst_arg_type = declarations.declarated_t( self.declaration.parent )
+        if has_const:
+            inst_arg_type = declarations.const_t(inst_arg_type)
+        inst_arg_type = declarations.reference_t(inst_arg_type)
+        return inst_arg_type
+
+    def _get_getter_type(self):
+        return declarations.free_function_type_t.create_decl_string(
+                return_type=self.declaration.type
+                , arguments_types=[ self.inst_arg_type(True) ]
+                , with_defaults=False)
+    getter_type = property( _get_getter_type )
+
+    def _get_setter_full_name(self):
+        return self.parent.full_name + '::' + 'set_' + self.declaration.name
+    setter_full_name = property(_get_setter_full_name)
+
+    def _get_setter_type(self):
+        return declarations.free_function_type_t.create_decl_string(
+                return_type=declarations.void_t()
+                , arguments_types=[ self.inst_arg_type(False), self.declaration.type  ]
+                , with_defaults=False)
+    setter_type = property( _get_setter_type )
+
+    def _get_has_setter( self ):
+        return not declarations.is_const( self.declaration.type )
+    has_setter = property( _get_has_setter )
+
+    def _create_impl(self):
+        answer = []
+        answer.append( self.GET_TEMPLATE % {
+            'type' : self.declaration.type.decl_string
+            , 'name' : self.declaration.name
+            , 'cls_type' : self.inst_arg_type( has_const=True ) })
+        if self.has_setter:
+            answer.append( self.SET_TEMPLATE % {
+            'type' : self.declaration.type.decl_string
+            , 'name' : self.declaration.name
+            , 'cls_type' : self.inst_arg_type( has_const=False ) })
+        return os.linesep.join( answer )
+
+    def _get_system_files_impl( self ):
+        return []
+
+class array_mv_t( member_variable_base_t ):
+    """
+    Creates boost.python code that exposes array member variable.
+    """
+    def __init__(self, variable, wrapper ):
+        member_variable_base_t.__init__( self, variable=variable, wrapper=wrapper )
+        self.works_on_instance = False
+
+    def _create_body( self ):
+        answer = []
+        answer.append( 'typedef %s;' % self.wrapper.wrapper_creator_type.create_typedef( 'array_wrapper_creator' ) )
+        answer.append( os.linesep * 2 )
+
+        doc = ''
+        if self.declaration.type_qualifiers.has_static:
+            answer.append( self.parent.class_var_name + '.add_static_property' )
+        else:
+            if self.documentation:
+                doc = self.documentation
+            answer.append( self.parent.class_var_name + '.add_property' )
+        answer.append( '( ' )
+        answer.append('"%s"' % self.declaration.name )
+        answer.append( os.linesep + self.indent( self.PARAM_SEPARATOR ) )
+        temp = [ algorithm.create_identifier( self, "::boost::python::make_function" ) ]
+        temp.append( '( ' )
+        temp.append( 'array_wrapper_creator(&%s)' % self.wrapper.wrapper_creator_full_name )
+        if not self.declaration.type_qualifiers.has_static:
+            temp.append( os.linesep + self.indent( self.PARAM_SEPARATOR, 6 ) )
+            temp.append( call_policies.with_custodian_and_ward_postcall( 0, 1 ).create(self) )
+        temp.append( ' )' )
+        answer.append( ''.join( temp ) )
+        if doc:
+            answer.append( os.linesep )
+            answer.append( self.PARAM_SEPARATOR )
+            answer.append( doc )
+        answer.append( ' );' )
+        return ''.join( answer )
+
+    def _create_impl( self ):
+        answer = []
+        answer.append( '{ //%s, type=%s' % ( self.declaration, self.declaration.type ) )
+        answer.append( os.linesep * 2 )
+        answer.append( self.indent( self._create_body() ) )
+        answer.append( os.linesep )
+        answer.append( '}' )
+        return ''.join( answer )
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+class array_mv_wrapper_t( code_creator.code_creator_t
+                          , declaration_based.declaration_based_t ):
+    """registers array class"""
+    def __init__(self, variable ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=variable)
+
+    @property
+    def wrapper_type( self ):
+        tmpl = "%(namespace)s::%(constness)sarray_1_t< %(item_type)s, %(array_size)d>"
+
+        item_type = declarations.array_item_type(self.declaration.type)
+        is_noncopyable = not declarations.is_fundamental(item_type) and \
+            declarations.is_noncopyable(item_type)
+
+        constness = ''
+        if declarations.is_const(self.declaration.type) or is_noncopyable:
+            constness = 'const_'
+        result = tmpl % {
+                'namespace' : code_repository.array_1.namespace
+              , 'constness' : constness
+              , 'item_type' : declarations.array_item_type( self.declaration.type ).decl_string
+              , 'array_size': declarations.array_size( self.declaration.type )
+        }
+        return declarations.dummy_type_t( result )
+
+    @property
+    def wrapped_class_type( self ):
+        wrapped_cls_type = declarations.declarated_t( self.declaration.parent )
+        if declarations.is_const( self.declaration.type ):
+            wrapped_cls_type = declarations.const_t( wrapped_cls_type )
+        return declarations.reference_t( wrapped_cls_type )
+
+    @property
+    def wrapper_creator_type(self):
+        if self.declaration.type_qualifiers.has_static:
+            return declarations.free_function_type_t( return_type=self.wrapper_type )
+        else:
+            return declarations.free_function_type_t(
+                    return_type=self.wrapper_type
+                    , arguments_types=[self.wrapped_class_type] )
+
+    @property
+    def wrapper_creator_name(self):
+        return '_'.join( ['pyplusplus', self.declaration.name, 'wrapper'] )
+
+    @property
+    def wrapper_creator_full_name(self):
+        return '::'.join( [self.parent.full_name, self.wrapper_creator_name] )
+
+    def _create_impl( self ):
+        tmpl = [ "static %(wrapper_type)s" ]
+        if self.declaration.type_qualifiers.has_static:
+            tmpl.append( "%(wrapper_creator_name)s(){" )
+            tmpl.append( self.indent( "return %(wrapper_type)s( %(parent_class_type)s::%(mem_var_ref)s );" ) )
+        else:
+            tmpl.append( "%(wrapper_creator_name)s( %(wrapped_class_type)s inst ){" )
+            tmpl.append( self.indent( "return %(wrapper_type)s( inst.%(mem_var_ref)s );" ) )
+        tmpl.append( "}" )
+
+        tmpl = os.linesep.join( tmpl )
+
+        return tmpl % {
+                'wrapper_type' : self.wrapper_type.decl_string
+              , 'parent_class_type' : self.parent.declaration.partial_decl_string
+              , 'wrapper_creator_name' : self.wrapper_creator_name
+              , 'wrapped_class_type' : self.wrapped_class_type.decl_string
+              , 'mem_var_ref' : self.declaration.name
+            }
+
+    def _get_system_files_impl( self ):
+        return [code_repository.array_1.file_name]
+
+
+class mem_var_ref_t( member_variable_base_t ):
+    """
+    creates get/set accessors for class member variable, that has type reference.
+    """
+    def __init__(self, variable, wrapper ):
+        member_variable_base_t.__init__( self, variable=variable, wrapper=wrapper )
+        self.param_sep = os.linesep + self.indent( self.PARAM_SEPARATOR, 2 )
+        self.works_on_instance = False
+
+    def _create_getter( self ):
+        answer = ['def']
+        answer.append( '( ' )
+        answer.append( '"get_%s"' % self.alias)
+        answer.append( self.param_sep )
+        answer.append( '(%s)(&%s)'
+                       % ( self.wrapper.getter_type.decl_string, self.wrapper.getter_full_name ) )
+        if self.declaration.getter_call_policies:
+            if not self.declaration.getter_call_policies.is_default():
+                answer.append( self.param_sep )
+                answer.append( self.declaration.getter_call_policies.create( self ) )
+        else:
+            answer.append( os.linesep + self.indent( '/* undefined call policies */', 2 ) )
+        if self.documentation:
+            answer.append( self.param_sep )
+            answer.append( self.documentation )
+        answer.append( ' )' )
+        return ''.join( answer )
+
+    def _create_setter( self ):
+        answer = ['def']
+        answer.append( '( ' )
+        answer.append( '"set_%s"' % self.alias)
+        answer.append( self.param_sep )
+        answer.append( '(%s)(&%s)'
+                       % ( self.wrapper.setter_type.decl_string, self.wrapper.setter_full_name ) )
+        if self.declaration.setter_call_policies:
+            if not self.declaration.setter_call_policies.is_default():
+                answer.append( self.param_sep )
+                answer.append( self.declaration.setter_call_policies.create( self ) )
+        else:
+            answer.append( os.linesep + self.indent( '/* undefined call policies */', 2 ) )
+        answer.append( ' )' )
+        return ''.join( answer )
+
+    def _create_impl( self ):
+        #TODO: fix me, should not force class scope usage
+        answer = []
+        class_var_name = self.parent.class_var_name
+        answer.append( "%s.%s;" % (class_var_name, self._create_getter() ) )
+        if self.wrapper.has_setter:
+            answer.append( os.linesep )
+            answer.append( "%s.%s;" % (class_var_name, self._create_setter() ) )
+        return ''.join( answer )
+
+class mem_var_ref_wrapper_t( code_creator.code_creator_t
+                             , declaration_based.declaration_based_t ):
+    """
+    creates get/set accessors for class member variable, that has type reference.
+    """
+
+    indent = code_creator.code_creator_t.indent
+    GET_TEMPLATE = os.linesep.join([
+          'static %(type)s get_%(name)s( %(class_type)s& inst ) {'
+        , indent( 'return inst.%(name)s;' )
+        , '}'
+        , ''
+    ])
+
+    SET_TEMPLATE = os.linesep.join([
+          'static void set_%(name)s( %(class_type)s& inst, %(type)s new_value ){ '
+        , indent( 'inst.%(name)s = new_value;' )
+        , '}'
+        , ''
+    ])
+
+    def __init__(self, variable ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=variable)
+
+    def _get_getter_full_name(self):
+        return self.parent.full_name + '::' + 'get_' + self.declaration.name
+    getter_full_name = property( _get_getter_full_name )
+
+    def _get_class_inst_type( self ):
+        return declarations.declarated_t( self.declaration.parent )
+
+    def _get_exported_var_type( self ):
+        type_ = declarations.remove_reference( self.declaration.type )
+        type_ = declarations.remove_const( type_ )
+        if python_traits.is_immutable( type_ ):
+            return type_
+        else:
+            return self.declaration.type
+
+    def _get_getter_type(self):
+        return declarations.free_function_type_t(
+                return_type=self._get_exported_var_type()
+                , arguments_types=[ declarations.reference_t( self._get_class_inst_type() ) ] )
+    getter_type = property( _get_getter_type )
+
+    def _get_setter_full_name(self):
+        return self.parent.full_name + '::' + 'set_' + self.declaration.name
+    setter_full_name = property(_get_setter_full_name)
+
+    def _get_setter_type(self):
+        return declarations.free_function_type_t(
+                return_type=declarations.void_t()
+                , arguments_types=[ declarations.reference_t( self._get_class_inst_type() )
+                                    , self._get_exported_var_type() ] )
+    setter_type = property( _get_setter_type )
+
+    def _get_has_setter( self ):
+        if declarations.is_const( declarations.remove_reference( self.declaration.type ) ):
+            return False
+        elif python_traits.is_immutable( self._get_exported_var_type() ):
+            return True
+        else:
+            pass
+
+        no_ref = declarations.remove_reference( self.declaration.type )
+        no_const = declarations.remove_const( no_ref )
+        base_type = declarations.remove_alias( no_const )
+        if not isinstance( base_type, declarations.declarated_t ):
+            return True #TODO ????
+        decl = base_type.declaration
+        if decl.is_abstract:
+            return False
+        if declarations.has_destructor( decl ) and not declarations.has_public_destructor( decl ):
+            return False
+        if not declarations.has_copy_constructor(decl):
+            return False
+        return True
+    has_setter = property( _get_has_setter )
+
+    def _create_impl(self):
+        answer = []
+        cls_type = algorithm.create_identifier( self, self.declaration.parent.decl_string )
+
+        substitutions = dict( type=self._get_exported_var_type().decl_string
+                              , class_type=cls_type
+                              , name=self.declaration.name )
+        answer.append( self.GET_TEMPLATE % substitutions )
+        if self.has_setter:
+            answer.append( self.SET_TEMPLATE % substitutions )
+        return os.linesep.join( answer )
+
+    def _get_system_files_impl( self ):
+        return []
+
+class member_variable_addressof_t( member_variable_base_t ):
+    """
+    Creates boost.python code that exposes address of member variable.
+
+    This functionality is pretty powerful if you use it with "ctypes" -
+    standard package.
+
+    """
+    def __init__(self, variable, wrapper=None ):
+        member_variable_base_t.__init__( self, variable=variable, wrapper=wrapper )
+
+    def has_setter( self ) :
+        return declarations.is_pointer( self.declaration.type ) \
+               and not declarations.is_const( self.declaration.type )
+
+    def _create_m_var( self ):
+        param_sep = self.PARAM_SEPARATOR
+        if self.has_setter() or self.documentation:
+            param_sep = os.linesep + self.indent( self.PARAM_SEPARATOR, 3 )
+        answer = [ 'add_property' ]
+        answer.append( '( ' )
+        answer.append('"%s"' % self.alias)
+        answer.append( param_sep )
+        answer.append( 'pyplus_conv::make_addressof_getter(&%s)'
+                       % self.decl_identifier )
+        if self.has_setter():
+            answer.append( param_sep )
+            answer.append( 'pyplus_conv::make_address_setter(&%s)'
+                           % self.decl_identifier )
+        if self.documentation:
+            answer.append( param_sep  )
+            answer.append( self.documentation )
+        answer.append( ' ) ' )
+        return ''.join( answer )
+
+    def _create_s_var( self ):
+        return 'def( %(def_visitor)s("%(name)s", %(var)s) )' \
+               % {   'def_visitor' : 'pyplus_conv::register_addressof_static_var'
+                   , 'name' : self.alias
+                   , 'var' : self.decl_identifier }
+
+
+    def _create_impl( self ):
+        if self.declaration.type_qualifiers.has_static:
+            return self._create_s_var()
+        else:
+            return self._create_m_var()
+    def _get_system_files_impl( self ):
+        return [code_repository.ctypes_integration.file_name]
+
+
+#TODO: don't hide public member variables
+#TODO: how _fields_ should be defined in a class hierarchy
+#TODO: fix 64bit issue with calculating vtable pointer size
+
+class fields_definition_t(code_creator.code_creator_t, declaration_based.declaration_based_t):
+    def __init__( self, class_ ):
+        code_creator.code_creator_t.__init__(self)
+        declaration_based.declaration_based_t.__init__( self, class_ )
+
+    def has_unnamed_type( self, var ):
+        type_ = declarations.remove_pointer( var.type )
+        #~ type_ = declarations.remove_declarated( type_ )
+        if declarations.class_traits.is_my_case( type_ ):
+            cls = declarations.class_traits.get_declaration( type_ )
+            return bool( not cls.name )
+        else:
+            return False
+
+    def _create_impl(self):
+        result = []
+        anonymous_vars = self.declaration.vars( self.has_unnamed_type, recursive=False, allow_empty=True )
+        if anonymous_vars:
+            formated_vars = []
+            for var in anonymous_vars:
+                formated_vars.append( '"%s"' % var.alias )
+            result.append( '%(complete_py_name)s._anonymous_ = [%(vars)s]'
+                           % dict( complete_py_name=self.complete_py_name
+                                   , vars=', '.join( formated_vars ) ) )
+
+        result.append( '%(complete_py_name)s._fields_ = [ #class %(decl_identifier)s'
+                       % dict( complete_py_name=self.complete_py_name
+                               , decl_identifier=self.decl_identifier) )
+        if self.declaration.has_vtable:
+            result.append( self.indent( '("_vtable_", ctypes.POINTER(ctypes.c_void_p)),' ) )
+
+        vars = self.declaration.vars( allow_empty=True, recursive=False )
+        if not vars:
+            result.append( self.indent( '("__empty__", ctypes.c_char * 4)' ) )
+        else:
+            vars = vars.to_list()
+            vars.sort( key=lambda d: d.location.line )
+            for v in vars:
+                tmp = None
+                type_as_str = ctypes_formatter.as_ctype( v.type, self.top_parent.treat_char_ptr_as_binary_data )
+                if v.bits != None:
+                    tmp = '("%(name)s", %(type)s, %(bits)d),' \
+                          % dict( name=v.alias, type=type_as_str, bits=v.bits )
+                else:
+                    tmp = '("%(name)s", %(type)s),' % dict( name=v.alias, type=type_as_str )
+                result.append( self.indent( tmp ) )
+        result.append( ']' )
+        return os.linesep.join( result )
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/module.py b/pyplusplus/code_creators/module.py
new file mode 100644
index 0000000..d25fac1
--- /dev/null
+++ b/pyplusplus/code_creators/module.py
@@ -0,0 +1,249 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import custom
+from . import license
+from . import include
+from . import compound
+from . import namespace
+from . import algorithm
+from . import module_body
+from . import library_reference
+from . import declaration_based
+from . import include_directories
+from pygccxml.utils import utils
+
+
+
+class module_t(compound.compound_t):
+    """This class represents the source code for the entire extension module.
+
+    The root of the code creator tree is always a module_t object.
+    """
+    def __init__(self, global_ns, code_generator_type):
+        """Constructor.
+        """
+        compound.compound_t.__init__(self)
+        self.__global_ns = global_ns
+        self._code_generator = code_generator_type
+
+    @property
+    def global_ns(self):
+        "reference to global_ns ( namespace_t ) declaration"
+        return self.__global_ns
+
+    def _get_license( self ):
+        if isinstance( self.creators[0], license.license_t ):
+            return self.creators[0]
+        return None
+
+    def _set_license( self, license_text ):
+        if not isinstance( license_text, license.license_t ):
+            license_inst = license.license_t( license_text )
+        if isinstance( self.creators[0], license.license_t ):
+            self.remove_creator( self.creators[0] )
+        self.adopt_creator( license_inst, 0 )
+    license = property( _get_license, _set_license,
+                        doc="""License text.
+
+                        The license text will always be the first children node.
+                        @type: str or :class:`code_creators.license_t`""")
+
+    def _get_system_files_impl( self ):
+        return []
+
+    @utils.cached
+    def specially_exposed_decls(self):
+        """list of exposed declarations, which were not ``included``, but still
+        were exposed. For example, std containers.
+        """
+        decls = set()
+        #select all declaration based code creators
+        ccs = [cc for cc in algorithm.make_flatten_list( self ) if isinstance( cc, declaration_based.declaration_based_t )]
+        #leave only "ignored"
+        ccs = [cc for cc in ccs if cc.declaration.ignore == True]
+
+        decls = [cc.declaration for cc in ccs]
+
+        return set( decls )
+
+    def update_documentation( self, doc_extractor ):
+        if not doc_extractor:
+            return
+        visited = set()
+        for cc in algorithm.make_flatten( self ):
+            if not isinstance( cc, declaration_based.declaration_based_t ):
+                continue
+            if id( cc.declaration ) in visited:
+                continue
+            cc.declaration.documentation = doc_extractor( cc.declaration )
+            visited.add( id( cc.declaration ) )
+
+class bpmodule_t(module_t):
+    """This class represents the source code for the entire extension module.
+
+    The root of the code creator tree is always a module_t object.
+    """
+    def __init__(self, global_ns):
+        """Constructor.
+        """
+        module_t.__init__(self, global_ns, bpmodule_t.CODE_GENERATOR_TYPES.BOOST_PYTHON)
+        self.__body = None
+
+    def _get_include_dirs(self):
+        include_dirs = algorithm.creator_finder.find_by_class_instance(
+            what=include_directories.include_directories_t
+            , where=self.creators
+            , recursive=False)
+        if 0 == len( include_dirs ):
+            include_dirs = include_directories.include_directories_t()
+            if self.license:
+                self.adopt_creator( include_dirs, 1 )
+            else:
+                self.adopt_creator( include_dirs, 0 )
+            return include_dirs
+        elif 1 == len( include_dirs ):
+            return include_dirs[0]
+        else:
+            assert not "only single instance of include_directories_t should exist"
+
+    def _get_std_directories(self):
+        include_dirs = self._get_include_dirs()
+        return include_dirs.std
+    std_directories = property( _get_std_directories )
+
+    def _get_user_defined_directories(self):
+        include_dirs = self._get_include_dirs()
+        return include_dirs.user_defined
+    user_defined_directories = property( _get_user_defined_directories )
+
+    @property
+    def body(self):
+        """Return reference to :class:`code_creators.module_body_t` code creator"""
+        if None is self.__body:
+            found = algorithm.creator_finder.find_by_class_instance( what=module_body.module_body_t
+                                                                    , where=self.creators
+                                                                    , recursive=False )
+            if found:
+                self.__body = found[0]
+        return self.__body
+
+    def last_include_index(self):
+        """
+        return the children index of the last :class:`code_creators.include_t` object.
+
+        An exception is raised when there is no include_t object among
+        the children creators.
+
+        :rtype: int
+        """
+        for i in range( len(self.creators) - 1, -1, -1 ):
+            if isinstance( self.creators[i], include.include_t ):
+                return i
+        else:
+            return 0
+
+    def replace_included_headers( self, headers, leave_system_headers=True ):
+        to_be_removed = []
+        for creator in self.creators:
+            if isinstance( creator, include.include_t ):
+                to_be_removed.append( creator )
+            elif isinstance( creator, module_body.module_body_t ):
+                break
+
+        for creator in to_be_removed:
+            if creator.is_system:
+                if not leave_system_headers:
+                    self.remove_creator( creator )
+            elif creator.is_user_defined:
+                pass
+            else:
+                self.remove_creator( creator )
+        for header in headers:
+            self.adopt_include( include.include_t( header=header ) )
+
+    def adopt_include(self, include_creator):
+        """Insert an :class:`code_creators.include_t` object.
+
+        The include creator is inserted right after the last include file.
+
+        :param include_creator: Include creator object
+        :type include_creator: :class:`code_creators.include_t`
+        """
+        lii = self.last_include_index()
+        if lii == 0:
+            if not self.creators:
+                lii = -1
+            elif not isinstance( self.creators[0], include.include_t ):
+                lii = -1
+            else:
+                pass
+        self.adopt_creator( include_creator, lii + 1 )
+
+    def do_include_dirs_optimization(self):
+        include_dirs = self._get_include_dirs()
+        includes = [creator for creator in self.creators if isinstance( creator, include.include_t )]
+        for include_creator in includes:
+            include_creator.include_dirs_optimization = include_dirs
+
+    def _create_impl(self):
+        self.do_include_dirs_optimization()
+        index = 0
+        code = []
+        for index in range( len( self.creators ) ):
+            if not isinstance( self.creators[index], include.include_t ):
+                break
+            else:
+                code.append( self.creators[index].create() )
+        if code:
+            code.append( 2* os.linesep )
+        code.append( self.create_internal_code( self.creators[index:], indent_code=False ))
+        code.append( os.linesep )
+        return os.linesep.join( code )
+
+    def add_include( self, header, user_defined=True, system=False ):
+        creator = include.include_t( header=header, user_defined=user_defined, system=system )
+        self.adopt_include( creator )
+
+    def add_namespace_usage( self, namespace_name ):
+        self.adopt_creator( namespace.namespace_using_t( namespace_name )
+                            , self.last_include_index() + 1 )
+
+    def add_namespace_alias( self, alias, full_namespace_name ):
+        self.adopt_creator( namespace.namespace_alias_t(
+                                alias=alias
+                                , full_namespace_name=full_namespace_name )
+                            , self.last_include_index() + 1 )
+
+    def adopt_declaration_creator( self, creator ):
+        self.adopt_creator( creator, self.creators.index( self.body ) )
+
+    def add_declaration_code( self, code, position ):
+        self.adopt_declaration_creator( custom.custom_text_t( code ) )
+
+
+
+class ctypes_module_t(module_t):
+    """This class represents the source code for the entire extension module.
+
+    The root of the code creator tree is always a module_t object.
+    """
+    def __init__(self, global_ns):
+        """Constructor.
+        """
+        module_t.__init__(self, global_ns, ctypes_module_t.CODE_GENERATOR_TYPES.CTYPES)
+        self.treat_char_ptr_as_binary_data = False
+        
+    def _create_impl(self):
+        return self.create_internal_code( self.creators, indent_code=False )
+
+    @utils.cached
+    def library_var_name(self):
+        for creator in self.creators:
+            if isinstance( creator, library_reference.library_reference_t ):
+                return creator.library_var_name
+        else:
+            raise RuntimeError( "Internal Error: library_reference_t creator was not created" )
diff --git a/pyplusplus/code_creators/module_body.py b/pyplusplus/code_creators/module_body.py
new file mode 100644
index 0000000..fcd8c43
--- /dev/null
+++ b/pyplusplus/code_creators/module_body.py
@@ -0,0 +1,26 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import compound
+
+class module_body_t(compound.compound_t):
+    def __init__( self, name ):
+        compound.compound_t.__init__(self )
+        self._name = name
+    
+    def _get_name(self):
+        return self._name
+    name = property( _get_name )
+        
+    def _create_impl(self):
+        result = []
+        result.append( "BOOST_PYTHON_MODULE(%s){" % self.name )
+        result.append( compound.compound_t.create_internal_code( self.creators ) )
+        result.append( "}" )
+        return os.linesep.join( result )
+    
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/name_mappings.py b/pyplusplus/code_creators/name_mappings.py
new file mode 100644
index 0000000..e7758cc
--- /dev/null
+++ b/pyplusplus/code_creators/name_mappings.py
@@ -0,0 +1,42 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import code_creator
+
+
+class name_mappings_t(code_creator.code_creator_t):
+    """creates dictionary { [un]decorated name : [un]decorated name }"""
+
+    def __init__( self, exported_symbols ):
+        code_creator.code_creator_t.__init__(self)
+        self._exported_symbols = exported_symbols
+
+    def _create_impl(self):
+        tmpl = '"%s" : "%s", '
+        items_decorated = []
+        items_undecorated = []
+        for blob, decl in self._exported_symbols.items():
+            items_decorated.append( tmpl % ( blob, str(decl) ) )
+            items_undecorated.append( tmpl % ( str(decl), blob ) )
+
+        result = []
+        result.append( '%s.undecorated_names = {#mapping between decorated and undecorated names'
+                       % self.top_parent.library_var_name )
+        for s in items_undecorated:
+            result.append( self.indent( s ) )
+        for s in items_decorated:
+            result.append( self.indent( s ) )
+        result.append( '}' )
+        return os.linesep.join( result )
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+if __name__ == '__main__':
+    data = { 'a' : 'AA', 'b' : 'BB' }
+    nm = name_mapping_t( 'name_mapping', data )
+    print(nm.create())
diff --git a/pyplusplus/code_creators/namespace.py b/pyplusplus/code_creators/namespace.py
new file mode 100644
index 0000000..7f50ff7
--- /dev/null
+++ b/pyplusplus/code_creators/namespace.py
@@ -0,0 +1,79 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import compound
+from . import code_creator
+from . import declaration_based
+
+class namespace_alias_t(code_creator.code_creator_t):
+    def __init__( self, alias, full_namespace_name ):
+        code_creator.code_creator_t.__init__( self )
+        self._alias = alias
+        self._full_namespace_name = full_namespace_name
+        self.__created_code = None
+
+    def _get_alias( self ):
+        return self._alias
+    def _set_alias( self, new_alias ):
+        self._alias = new_alias
+    alias = property( _get_alias, _set_alias )
+
+    def _get_full_namespace_name( self ):
+        return self._full_namespace_name.lstrip( '::' )
+    def _set_full_namespace_name( self, new_full_namespace_name ):
+        self._full_namespace_name = new_full_namespace_name
+    full_namespace_name = property( _get_full_namespace_name, _set_full_namespace_name )
+
+    def _create_impl(self):
+        if self.__created_code:
+            return self.__created_code
+        else:
+            self.__created_code = 'namespace %s = %s;' % ( self.alias, self.full_namespace_name )
+            return self.__created_code
+
+    def _get_system_files_impl( self ):
+        return []
+
+class namespace_using_t(code_creator.code_creator_t):
+    def __init__( self, namespace_name ):
+        code_creator.code_creator_t.__init__(self )
+        self._namespace_name = namespace_name
+        self.__created_code = None
+
+    def _get_namespace_name( self ):
+        return self._namespace_name.lstrip( '::' )
+    def _set_namespace_name( self, new_namespace_name ):
+        self._namespace_name = new_namespace_name
+    namespace_name = property( _get_namespace_name, _set_namespace_name )
+
+    def _create_impl(self):
+        if self.__created_code:
+            return self.__created_code
+        else:
+            self.__created_code = 'using namespace %s;' % self.namespace_name
+            return self.__created_code
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+class namespace_as_pyclass_t(compound.compound_t, declaration_based.declaration_based_t):
+    def __init__( self, ns ):
+        compound.compound_t.__init__(self)
+        declaration_based.declaration_based_t.__init__( self, ns )
+
+    def _create_impl(self):
+        result = []
+        result.append( "class %s:" % self.alias )
+        result.append( self.indent( '"""namespace %s"""' % self.decl_identifier ) )
+        if self.creators:
+            result.append( self.indent( "" ) )
+        result.append( compound.compound_t.create_internal_code( self.creators ) )
+        return os.linesep.join( result )
+
+    def _get_system_files_impl( self ):
+        return []
+
diff --git a/pyplusplus/code_creators/opaque_type_registrator.py b/pyplusplus/code_creators/opaque_type_registrator.py
new file mode 100644
index 0000000..74b6348
--- /dev/null
+++ b/pyplusplus/code_creators/opaque_type_registrator.py
@@ -0,0 +1,24 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import code_creator
+from . import declaration_based
+
+class opaque_type_registrator_t( code_creator.code_creator_t
+                                 , declaration_based.declaration_based_t ):
+    """
+    This class creates code that register static sized array
+    """
+    def __init__( self, pointee ):
+        code_creator.code_creator_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, pointee )
+        self.works_on_instance = False
+
+    def _create_impl(self):
+        return 'BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID( %s )' % self.decl_identifier
+    
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/properties.py b/pyplusplus/code_creators/properties.py
new file mode 100644
index 0000000..599345f
--- /dev/null
+++ b/pyplusplus/code_creators/properties.py
@@ -0,0 +1,170 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import algorithm
+from . import registration_based
+from pygccxml import declarations
+
+class property_t( registration_based.registration_based_t ):
+    def __init__(self, property_def, wrapper=None ):
+        registration_based.registration_based_t.__init__( self )
+        self._property_def = property_def
+        self.works_on_instance = False
+        self._make_function = None
+
+    @property
+    def property_def( self ):
+        return self._property_def
+
+    @property
+    def make_function_identifier( self ):
+        if not self._make_function:
+            self._make_function = algorithm.create_identifier( self, '::boost::python::make_function' )
+        return self._make_function
+
+    def create_function_type_alias_code( self, f, ftype_alias, exported_class_alias=None ):
+        return 'typedef ' + f.function_type().create_typedef( ftype_alias, exported_class_alias ) + ';'
+
+    def create_accessor_code( self, f, ftype_alias ):
+        f_ref_code = '%s( &%s )' % ( ftype_alias, declarations.full_name( f ) )
+        if f.call_policies and f.call_policies.is_default():
+            return f_ref_code
+        result = [ self.make_function_identifier ]
+        result.append( '( ' )
+        result.append( os.linesep )
+        result.append( self.indent( '  ', 2 ) )
+        result.append( f_ref_code )
+        if f.call_policies:
+            result.append( os.linesep )
+            result.append( self.indent( ', ', 2 ) )
+            result.append( f.call_policies.create( self ) )
+        else:
+            result.append( os.linesep )
+            result.append( self.indent( '  ', 2 ) )
+            result.append( '/* undefined call policies */' )
+        result.append( ' ) ' )
+        return ''.join( result )
+
+    def has_long_line( self ):
+        pd = self.property_def
+        if pd.fget.call_policies and not pd.fget.call_policies.is_default():
+            return True
+        elif pd.fset or ( pd.fset and ( pd.fset.call_policies or not pd.fset.call_policies.is_default() ) ):
+            return True
+        elif pd.doc:
+            return True
+        else:
+            return True
+
+    def is_same_parent( self ):
+        pd = self.property_def
+        if not pd.fset:
+            return False
+        return pd.fget.parent is pd.fset.parent
+
+    def create_class_typedef_on_demand( self, f, prefix='' ):
+        if None is f:
+            return ( None, None )
+        if not isinstance( f.parent, declarations.class_t ):
+            return ( None, None )
+        if not declarations.templates.is_instantiation( f.parent.decl_string ):
+            return ( None, None )
+        cls_name = None
+        cls_identifier = algorithm.create_identifier( self, f.parent.decl_string )
+        if prefix:
+            cls_name = prefix + 'class_t'
+        else:
+            cls_name = 'exported_class_t'
+        return ( 'typedef %s %s;' % ( cls_identifier, cls_name ), cls_name )
+
+    def create_property_code( self ):
+        result = []
+        param_sep = ', '
+        if self.has_long_line():
+            param_sep = os.linesep + self.indent( param_sep )
+
+        fget_class_typedef_code, fget_class_alias = None, None
+        fset_class_typedef_code, fset_class_alias = None, None
+        if self.is_same_parent():
+            fget_class_typedef_code, fget_class_alias \
+                = self.create_class_typedef_on_demand( self.property_def.fget )
+            fset_class_alias = fget_class_alias
+            fset_class_typedef_code = fget_class_typedef_code
+        else:
+            fget_class_typedef_code, fget_class_alias \
+                = self.create_class_typedef_on_demand( self.property_def.fget, 'fget_' )
+            fset_class_typedef_code, fset_class_alias \
+                = self.create_class_typedef_on_demand( self.property_def.fset, 'fset_' )
+
+        if fget_class_typedef_code:
+            result.append( fget_class_typedef_code )
+
+        if fset_class_typedef_code and fset_class_typedef_code != fget_class_typedef_code:
+            result.append( os.linesep )
+            result.append( fset_class_typedef_code )
+
+        if result:
+            result.append( 2 * os.linesep )
+
+        result.append( self.create_function_type_alias_code( self.property_def.fget, 'fget', fget_class_alias ) )
+        if self.property_def.fset:
+            result.append( os.linesep )
+            result.append( self.create_function_type_alias_code( self.property_def.fset, 'fset', fset_class_alias ) )
+
+        result.append( 2 * os.linesep )
+
+        add_property = None
+        if self.property_def.is_static:
+            add_property = 'add_static_property'
+        else:
+            add_property = 'add_property'
+
+        class_var_name = self.parent.class_var_name
+        if self.has_long_line():
+            result.append( '%s.%s( ' % ( class_var_name, add_property ) )
+            result.append( os.linesep + self.indent( '"%s"' % self.property_def.name ) )
+        else:
+            result.append( '%s.%s( "%s"' % ( class_var_name, add_property, self.property_def.name ) )
+        result.append( param_sep + self.create_accessor_code( self.property_def.fget, 'fget' ) )
+        if self.property_def.fset:
+            result.append( param_sep + self.create_accessor_code( self.property_def.fset, 'fset' ))
+        if self.property_def.doc:
+            result.append( param_sep + self.property_def.doc)
+        result.append( ' );')
+        return ''.join( result )
+
+    def _create_impl( self ):
+        result = []
+        result.append( '{ //%s' % self.property_def )
+        result.append( '' )
+        result.append( self.indent( self.create_property_code() ) )
+        result.append( '' )
+        result.append( '}' )
+        return os.linesep.join( result )
+
+    def _get_system_files_impl( self ):
+        return []
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pyplusplus/code_creators/registration_based.py b/pyplusplus/code_creators/registration_based.py
new file mode 100644
index 0000000..23c216e
--- /dev/null
+++ b/pyplusplus/code_creators/registration_based.py
@@ -0,0 +1,21 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from . import algorithm
+from . import code_creator
+
+class registration_based_t(code_creator.code_creator_t):
+    """Code creator that is based on a declaration.
+    """
+    def __init__(self, associated_decl_creators=None ):
+        code_creator.code_creator_t.__init__(self)
+        if None is associated_decl_creators:
+            associated_decl_creators = []
+        self._associated_decl_creators = associated_decl_creators
+        
+    @property
+    def associated_decl_creators( self ):
+        """ references to global declaration code creators. """
+        return self._associated_decl_creators
diff --git a/pyplusplus/code_creators/scoped.py b/pyplusplus/code_creators/scoped.py
new file mode 100644
index 0000000..01ebdde
--- /dev/null
+++ b/pyplusplus/code_creators/scoped.py
@@ -0,0 +1,18 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import compound
+from . import declaration_based
+
+class scoped_t(declaration_based.declaration_based_t, compound.compound_t):
+    def __init__( self, declaration ):
+        declaration_based.declaration_based_t.__init__( self, declaration=declaration)
+        compound.compound_t.__init__( self )
+        
+    def _create_impl(self):
+        #template method pattern should be used.
+        raise NotImplementedError()
+    
diff --git a/pyplusplus/code_creators/smart_pointers.py b/pyplusplus/code_creators/smart_pointers.py
new file mode 100644
index 0000000..90c862c
--- /dev/null
+++ b/pyplusplus/code_creators/smart_pointers.py
@@ -0,0 +1,124 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import algorithm
+from . import declaration_based
+from . import registration_based
+from pygccxml import declarations
+
+templates = declarations.templates
+
+class held_type_t(object):
+    """
+    Helper class that can hold smart pointer name and create identifier for the
+    held type from that given a creator.
+    """
+    def __init__( self, smart_ptr ):
+        """
+        :param smart_ptr: smart pointer type as string
+        """
+        object.__init__( self )
+        self._smart_ptr = smart_ptr
+
+    def _get_smart_ptr( self ):
+        return self._smart_ptr
+    def _set_smart_ptr( self, ptr ):
+        self._smart_ptr = ptr
+    smart_ptr = property( _get_smart_ptr, _set_smart_ptr )
+
+    def create( self, creator):
+        """ Return string of type to use for held type.
+            Ex: `boost::shared_ptr` class
+        """
+        smart_ptr = algorithm.create_identifier( creator, self.smart_ptr )
+        arg = algorithm.create_identifier( creator, creator.declaration.decl_string )
+        return templates.join( smart_ptr, [ arg ] )
+
+class smart_pointer_registrator_t( registration_based.registration_based_t
+                                   , declaration_based.declaration_based_t ):
+    """
+    Converter for `boost::python::register_ptr_to_python`.
+
+    Lets boost python know that it can use `smart_ptr` to hold a an object.
+    See: http://www.boost.org/libs/python/doc/v2/register_ptr_to_python.html
+    """
+    def __init__( self, smart_ptr, class_creator ):
+        """`smart_ptr`: string of pointer type.  Ex: `boost::shared_ptr`"""
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, class_creator.declaration )
+        self._smart_ptr = smart_ptr
+        self._class_creator = class_creator
+        self.works_on_instance = False
+
+    def _get_smart_ptr( self ):
+        return self._smart_ptr
+    def _set_smart_ptr( self, ptr ):
+        self._smart_ptr = ptr
+    smart_ptr = property( _get_smart_ptr, _set_smart_ptr )
+
+    def _get_class_creator( self ):
+        return self._class_creator
+    def _set_class_creator( self, cc ):
+        self._class_creator = cc
+    class_creator = property( _get_class_creator, _set_class_creator )
+
+    def _create_impl(self):
+        if self.declaration.already_exposed:
+            return ''
+        if self.class_creator \
+           and self.class_creator.held_type \
+           and isinstance( self.class_creator.held_type, held_type_t ) \
+           and self.class_creator.held_type.smart_ptr == self.smart_ptr \
+           and self.target_configuration.boost_python_has_wrapper_held_type \
+           and not self.class_creator.declaration.require_self_reference:
+            return '' #boost.python does it automaticly
+        rptp = algorithm.create_identifier( self, '::boost::python::register_ptr_to_python' )
+        held_type = held_type_t(self.smart_ptr).create( self )
+        return templates.join( rptp, [ held_type ] ) + '();'
+
+    def _get_system_files_impl( self ):
+        return []
+
+class smart_pointers_converter_t( registration_based.registration_based_t
+                                  , declaration_based.declaration_based_t ):
+    """ creator for boost::python::implicitly_convertible.
+        This creates a statement that allows the usage of C++ implicit
+        conversion from source to target.
+        See: http://www.boost.org/libs/python/doc/v2/implicit.html
+    """
+    def __init__( self, smart_ptr, source, target ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, source )
+        self._target = target
+        self._smart_ptr = smart_ptr
+        self.works_on_instance = False
+
+    def _get_target(self):
+        return self._target
+    target = property( _get_target )
+
+    def _get_source(self):
+        return self.declaration
+    source = property( _get_source )
+
+    def _get_smart_ptr( self ):
+        return self._smart_ptr
+    def _set_smart_ptr( self, ptr ):
+        self._smart_ptr = ptr
+    smart_ptr = property( _get_smart_ptr, _set_smart_ptr )
+
+    def _instantiate_smart_ptr( self, decl ):
+        identifier = algorithm.create_identifier( self, decl.partial_decl_string )
+        return templates.join( self.smart_ptr, [identifier] )
+
+    def _create_impl(self):
+        implicitly_convertible = algorithm.create_identifier( self, '::boost::python::implicitly_convertible' )
+        from_arg = self._instantiate_smart_ptr( self.source )
+        to_arg = self._instantiate_smart_ptr( self.target )
+        return templates.join(implicitly_convertible, [ from_arg, to_arg ] ) + '();'
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/target_configuration.py b/pyplusplus/code_creators/target_configuration.py
new file mode 100644
index 0000000..18e6bf0
--- /dev/null
+++ b/pyplusplus/code_creators/target_configuration.py
@@ -0,0 +1,33 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+class target_configuration_t( object ):
+    """
+    Developers do not always work with latest version of boost.python or latest
+    version of compiler. So there is a need to generate code that configured to 
+    specific version, feature or compiler. Instance of this class will be shared
+    between all instances of code creators. Every relevant code creator will 
+    respect relevant configuration settings.    
+    """
+    def __init__( self ):
+        self._boost_python_has_wrapper_held_type = True
+        self._boost_python_supports_void_ptr = True
+        
+    def _get_boost_python_has_wrapper_held_type( self ):
+        return self._boost_python_has_wrapper_held_type    
+    def _set_boost_python_has_wrapper_held_type( self, value ):
+        self._boost_python_has_wrapper_held_type = value
+    boost_python_has_wrapper_held_type = property( _get_boost_python_has_wrapper_held_type
+                                                   , _set_boost_python_has_wrapper_held_type )
+    
+    def _get_boost_python_supports_void_ptr( self ):
+        return self._boost_python_supports_void_ptr    
+    def _set_boost_python_supports_void_ptr( self, value ):
+        self._boost_python_supports_void_ptr = value
+    boost_python_supports_void_ptr = property( _get_boost_python_supports_void_ptr
+                                               , _set_boost_python_supports_void_ptr )
+
+
+    
\ No newline at end of file
diff --git a/pyplusplus/code_creators/typedef_as_pyvar.py b/pyplusplus/code_creators/typedef_as_pyvar.py
new file mode 100644
index 0000000..56c3dcc
--- /dev/null
+++ b/pyplusplus/code_creators/typedef_as_pyvar.py
@@ -0,0 +1,22 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+from . import code_creator
+from . import ctypes_formatter
+from . import declaration_based
+
+class typedef_as_pyvar_t(code_creator.code_creator_t, declaration_based.declaration_based_t):
+    def __init__( self, ns ):
+        code_creator.code_creator_t.__init__(self)
+        declaration_based.declaration_based_t.__init__( self, ns )
+
+    def _create_impl(self):
+        return "%(complete_py_name)s = %(type)s" \
+                % dict( complete_py_name=self.complete_py_name
+                        , type=ctypes_formatter.as_ctype( self.declaration.type, self.top_parent.treat_char_ptr_as_binary_data ) )
+
+    def _get_system_files_impl( self ):
+        return []
diff --git a/pyplusplus/code_creators/unnamed_enum.py b/pyplusplus/code_creators/unnamed_enum.py
new file mode 100644
index 0000000..e3fe3b8
--- /dev/null
+++ b/pyplusplus/code_creators/unnamed_enum.py
@@ -0,0 +1,39 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import pygccxml
+from . import algorithm
+from . import declaration_based
+from . import registration_based
+
+class unnamed_enum_t( registration_based.registration_based_t
+                      , declaration_based.declaration_based_t ):
+    def __init__(self, unnamed_enum ):
+        registration_based.registration_based_t.__init__( self )
+        declaration_based.declaration_based_t.__init__( self, declaration=unnamed_enum)
+        self.works_on_instance = False
+        
+    def _get_value_aliases(self):
+        return self.declaration.value_aliases
+    def _set_value_aliases(self, value_aliases):
+        self.declaration.value_aliases = value_aliases
+    value_aliases = property( _get_value_aliases, _set_value_aliases )
+    
+    def _create_impl(self):
+        if self.declaration.already_exposed:
+            return ''
+        
+        tmpl = algorithm.create_identifier( self, '::boost::python::scope' ) + '().attr("%s") = (int)%s;'
+        full_name = pygccxml.declarations.full_name( self.declaration )
+        result = []
+        for name, value in self.declaration.values:
+            result.append( tmpl % ( self.value_aliases.get( name, name )
+                                    , algorithm.create_identifier( self, full_name + '::' + name ) ) )
+        return os.linesep.join( result )
+    
+    def _get_system_files_impl( self ):
+        return []
+    
\ No newline at end of file
diff --git a/pyplusplus/code_repository/__init__.py b/pyplusplus/code_repository/__init__.py
new file mode 100644
index 0000000..f78d67a
--- /dev/null
+++ b/pyplusplus/code_repository/__init__.py
@@ -0,0 +1,43 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""
+Code repository package is used as a repository of C++/Python classes/functions.
+Those classes/functions solve problems, that are typical to most projects.
+"""
+
+from . import array_1
+from . import gil_guard
+from . import named_tuple
+from . import convenience
+from . import return_range
+from . import ctypes_utils
+from . import call_policies
+from . import indexing_suite
+from . import ctypes_integration
+
+all = [ array_1
+        , gil_guard
+        , convenience
+        , call_policies
+        , named_tuple
+        , return_range
+        , ctypes_utils
+        , ctypes_integration ]
+
+all.extend( indexing_suite.all )
+
+headers = [f.file_name for f in all]
+
+def i_depend_on_them( fname ):
+    """returns list of files, the file fname depends on"""
+    if fname in indexing_suite.headers:
+        result = indexing_suite.all[:]
+        del result[ indexing_suite.headers.index( fname ) ]
+        return result
+    elif fname == return_range.file_name:
+        return indexing_suite.all[:]
+    else:
+        return []
diff --git a/pyplusplus/code_repository/array_1.py b/pyplusplus/code_repository/array_1.py
new file mode 100644
index 0000000..acd36c3
--- /dev/null
+++ b/pyplusplus/code_repository/array_1.py
@@ -0,0 +1,196 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 C++ code needed to export one dimensional static arrays.
+"""
+
+
+namespace = "pyplusplus::containers::static_sized"
+
+file_name = "__array_1.pypp.hpp"
+
+code = \
+"""// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __array_1_pyplusplus_hpp__
+#define __array_1_pyplusplus_hpp__
+
+#include "boost/python.hpp"
+#include "boost/mpl/if.hpp"
+#include "boost/type_traits/is_same.hpp"
+#include "boost/type_traits/is_fundamental.hpp"
+#include "boost/python/converter/registry.hpp"
+
+#include <iostream>
+
+//1 - dimension
+namespace pyplusplus{ namespace containers{ namespace static_sized{
+
+inline void
+raise_on_out_of_range( long unsigned int size, long unsigned int index ){
+    if( size <= index ){
+        throw std::out_of_range("index out of range");
+    }
+}
+
+namespace details{
+
+template<class T>
+struct is_immutable{
+    BOOST_STATIC_CONSTANT( 
+        bool
+        , value = ( boost::is_same< T, std::string >::value )
+                  || ( boost::is_same< T, std::wstring >::value )
+                  || ( boost::is_fundamental< T >::value )
+                  || ( boost::is_enum< T >::value )
+    );
+
+};
+
+template<class T>
+bool is_registered(){
+    namespace bpl = boost::python;
+    bpl::handle<> class_obj( bpl::objects::registered_class_object( bpl::type_id< T >()));
+    return class_obj.get() ? true : false;
+}
+
+template< class T >
+void register_alias( const char* name ){
+    namespace bpl = boost::python;
+    bpl::handle<> class_obj( bpl::objects::registered_class_object( bpl::type_id< T >()));
+    boost::python::scope().attr( name ) = bpl::object( class_obj );
+}
+
+}//details
+
+template< class TItemType, long unsigned int size >
+struct const_array_1_t{
+    
+    typedef BOOST_DEDUCED_TYPENAME boost::call_traits<const TItemType>::param_type param_type;
+    
+    typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< 
+            details::is_immutable<TItemType>::value
+            , TItemType
+            , param_type
+        >::type reference_type;
+
+    const_array_1_t( TItemType const * const data )
+    : m_data( data ){
+        if( !data ){
+            throw std::runtime_error( "const_array_1_t: pointer to null has been recieved." );
+        }
+    }
+
+    long unsigned int len() const {
+        return size;
+    }
+
+    reference_type item_ref( long unsigned int index ) const{
+        raise_on_out_of_range( size, index );
+        return m_data[index];
+    }
+
+private:
+
+    TItemType const * m_data;
+
+};
+
+template< class TItemType, long unsigned int size >
+struct array_1_t{
+
+    typedef BOOST_DEDUCED_TYPENAME boost::call_traits<const TItemType>::param_type param_type;
+    
+    typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< 
+            details::is_immutable<TItemType>::value
+            , TItemType
+            , param_type
+        >::type reference_type;
+
+    array_1_t( TItemType * data )
+    : m_data( data ){
+        if( !data ){
+            throw std::runtime_error( "array_1_t: pointer to null has been recieved." );
+        }
+    }
+
+    long unsigned int len() const {
+        return size;
+    }
+
+    reference_type item_ref( long unsigned int index ) const{
+        raise_on_out_of_range( size, index );
+        return m_data[index];
+    }
+
+    void
+    set_item( long unsigned int index, reference_type new_value ){
+        raise_on_out_of_range( size, index );
+        m_data[index] = new_value;
+    }
+
+private:
+
+    TItemType* m_data;
+
+};
+
+template< class TItemType
+          , long unsigned int size
+          , typename CallPolicies=boost::python::default_call_policies >
+struct register_const_array_1{
+    register_const_array_1(const char* name){
+        namespace bpl = boost::python;
+        typedef const_array_1_t< TItemType, size > wrapper_t;
+
+        if( details::is_registered< wrapper_t >() ){
+            details::register_alias< wrapper_t >( name );
+        }
+        else{
+            bpl::class_< wrapper_t >( name, bpl::no_init )
+                .def( "__getitem__"
+                      , &wrapper_t::item_ref
+                      , ( bpl::arg("index") )
+                      , CallPolicies() )
+                .def( "__len__", &wrapper_t::len );
+        }
+    }
+};
+
+template< class TItemType
+          , long unsigned int size
+          , typename CallPolicies=boost::python::default_call_policies >
+struct register_array_1{
+    register_array_1(const char* name){
+        namespace bpl = boost::python;
+        typedef array_1_t< TItemType, size > wrapper_t;
+        if( details::is_registered< wrapper_t >() ){
+            details::register_alias< wrapper_t >( name );
+        }
+        else{
+            bpl::class_< wrapper_t >( name, bpl::no_init )
+                .def( "__getitem__"
+                      , &wrapper_t::item_ref
+                      , ( bpl::arg("index") )
+                      , CallPolicies() )
+                .def( "__setitem__"
+                      , &wrapper_t::set_item
+                      , ( bpl::arg("index"), bpl::arg("value") )
+                      , CallPolicies()  )
+                .def( "__len__", &wrapper_t::len );
+        }
+    }
+};
+
+} /*pyplusplus*/ } /*containers*/ } /*static_sized*/
+
+
+#endif//__array_1_pyplusplus_hpp__
+
+"""
diff --git a/pyplusplus/code_repository/call_policies.py b/pyplusplus/code_repository/call_policies.py
new file mode 100644
index 0000000..854c118
--- /dev/null
+++ b/pyplusplus/code_repository/call_policies.py
@@ -0,0 +1,192 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 C++ code - custom call policies
+"""
+
+from pyplusplus.decl_wrappers import call_policies
+
+namespace = "pyplusplus::call_policies"
+
+file_name = call_policies.PYPP_CALL_POLICIES_HEADER_FILE
+
+code = \
+"""// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef call_policies_pyplusplus_hpp__
+#define call_policies_pyplusplus_hpp__
+
+#include "boost/python.hpp"
+#include "boost/cstdint.hpp"
+#include "boost/mpl/int.hpp"
+#include "boost/function.hpp"
+#include "boost/utility/addressof.hpp"
+#include "boost/type_traits/is_same.hpp"
+#include "boost/python/object/class_detail.hpp"
+
+namespace pyplusplus{ namespace call_policies{
+
+namespace bpl = boost::python;
+
+namespace memory_managers{
+
+    struct none{
+        template< typename T>
+        static void deallocate_array(T*){}
+    };
+
+    struct delete_{
+        template< typename T>
+        static void deallocate_array(T* arr){
+            delete[] arr;
+        }
+    };
+
+}/*memory_managers*/
+
+
+namespace detail{
+
+struct make_value_holder{
+
+    template <class T>
+    static PyObject* execute(T* p){
+        if (p == 0){
+            return bpl::detail::none();
+        }
+        else{
+            bpl::object p_value( *p );
+            return bpl::incref( p_value.ptr() );
+        }
+    }
+};
+
+template <class R>
+struct return_pointee_value_requires_a_pointer_return_type
+# if defined(__GNUC__) && __GNUC__ >= 3 || defined(__EDG__)
+{}
+# endif
+;
+
+struct make_addressof_holder{
+
+    template <class T>
+    static PyObject* execute(T* p){
+        if (p == 0){
+            return bpl::detail::none();
+        }
+        else{
+            size_t addressof_p = size_t( p );
+            bpl::object p_address( addressof_p );
+            return bpl::incref( p_address.ptr() );
+        }
+    }
+
+};
+
+template <class R>
+struct return_addressof_value_requires_a_pointer_return_type
+# if defined(__GNUC__) && __GNUC__ >= 3 || defined(__EDG__)
+{}
+# endif
+;
+
+
+} //detail
+
+struct return_pointee_value{
+
+    template <class T>
+    struct apply{
+
+        BOOST_STATIC_CONSTANT( bool, ok = boost::is_pointer<T>::value );
+
+        typedef typename boost::mpl::if_c<
+            ok
+            , bpl::to_python_indirect<T, detail::make_value_holder>
+            , detail::return_pointee_value_requires_a_pointer_return_type<T>
+        >::type type;
+
+    };
+
+};
+
+struct return_addressof{
+
+    template <class T>
+    struct apply{
+
+        BOOST_STATIC_CONSTANT( bool, ok = boost::is_pointer<T>::value );
+
+        typedef typename boost::mpl::if_c<
+            ok
+            , bpl::to_python_indirect<T, detail::make_addressof_holder>
+            , detail::return_addressof_value_requires_a_pointer_return_type<T>
+        >::type type;
+
+    };
+
+};
+
+template< typename CallPolicies, class T >
+bpl::object make_object( T x ){
+    //constructs object using CallPolicies result_converter
+    typedef BOOST_DEDUCED_TYPENAME CallPolicies::result_converter:: template apply< T >::type result_converter_t;
+    result_converter_t rc;
+    return bpl::object( bpl::handle<>( rc( x ) ) );
+}
+
+namespace arrays{
+
+namespace details{
+
+template< unsigned int size, typename MemoryManager, typename CallPolicies>
+struct as_tuple_impl{
+
+    template <class U>
+    inline PyObject* operator()(U const* arr) const{
+        if( !arr ){
+            return bpl::incref( bpl::tuple().ptr() );
+        }
+        bpl::list list_;
+        for( unsigned int i = 0; i < size; ++i ){
+            list_.append( make_object< CallPolicies>( arr[i] ) );
+        }
+        MemoryManager::deallocate_array( arr );
+        return bpl::incref( bpl::tuple( list_ ).ptr() );
+    }
+
+    static PyTypeObject const *get_pytype(){
+        return &PyTuple_Type;
+    }
+
+};
+
+}
+
+template< unsigned int size, typename MemoryManager, typename MakeObjectCallPolicies=bpl::default_call_policies>
+struct as_tuple{
+public:
+
+    template <class T>
+    struct apply{
+        BOOST_STATIC_CONSTANT( bool, ok = boost::is_pointer<T>::value );
+        typedef details::as_tuple_impl<size, MemoryManager, MakeObjectCallPolicies> type;
+    };
+
+};
+
+} /*arrays*/
+
+} /*pyplusplus*/ } /*call_policies*/
+
+
+#endif//call_policies_pyplusplus_hpp__
+
+"""
diff --git a/pyplusplus/code_repository/convenience.py b/pyplusplus/code_repository/convenience.py
new file mode 100644
index 0000000..22b6734
--- /dev/null
+++ b/pyplusplus/code_repository/convenience.py
@@ -0,0 +1,198 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 C++ code needed to export one dimensional static arrays.
+"""
+
+
+namespace = "pyplusplus::convenience"
+
+file_name = "__convenience.pypp.hpp"
+
+code = \
+"""// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __convenience_pyplusplus_hpp__
+#define __convenience_pyplusplus_hpp__
+
+#include "boost/python.hpp"
+
+namespace pyplusplus{ namespace convenience{
+
+//TODO: Replace index_type with Boost.Python defined ssize_t type.
+//      This should be done by checking Python and Boost.Python version.
+typedef int index_type;
+
+inline void
+raise_error( PyObject *exception, const char *message ){
+   PyErr_SetString(exception, message);
+   boost::python::throw_error_already_set();
+}
+
+inline index_type sequence_len(boost::python::object const& obj){
+    if( !PySequence_Check( obj.ptr() ) ){
+        raise_error( PyExc_TypeError, "Sequence expected" );
+    }
+
+    index_type result = PyObject_Length( obj.ptr() );
+    if( PyErr_Occurred() ){
+        boost::python::throw_error_already_set();
+    }
+    return result;
+}
+
+inline void
+ensure_sequence( boost::python::object seq, index_type expected_length=-1 ){
+    index_type length = sequence_len( seq );
+    if( expected_length != -1 && length != expected_length ){
+        std::stringstream err;
+        err << "Expected sequence length is " << expected_length << ". "
+            << "Actual sequence length is " << length << ".";
+        raise_error( PyExc_ValueError, err.str().c_str() );
+    }
+}
+
+template< class ExpectedType >
+void ensure_uniform_sequence( boost::python::object seq, index_type expected_length=-1 ){
+    ensure_sequence( seq, expected_length );
+
+    index_type length = sequence_len( seq );
+    for( index_type index = 0; index < length; ++index ){
+        boost::python::object item = seq[index];
+
+        boost::python::extract<ExpectedType> type_checker( item );
+        if( !type_checker.check() ){
+            std::string expected_type_name( boost::python::type_id<ExpectedType>().name() );
+
+            std::string item_type_name("different");
+            PyObject* item_impl = item.ptr();
+            if( item_impl && item_impl->ob_type && item_impl->ob_type->tp_name ){
+                item_type_name = std::string( item_impl->ob_type->tp_name );
+            }
+
+            std::stringstream err;
+            err << "Sequence should contain only items with type \\"" << expected_type_name << "\\". "
+                << "Item at position " << index << " has \\"" << item_type_name << "\\" type.";
+            raise_error( PyExc_ValueError, err.str().c_str() );
+        }
+    }
+}
+
+template< class Iterator, class Inserter >
+void copy_container( Iterator begin, Iterator end, Inserter inserter ){
+    for( Iterator index = begin; index != end; ++index )
+        inserter( *index );
+}
+
+template< class Inserter >
+void copy_sequence( boost::python::object const& seq, Inserter inserter ){
+    index_type length = sequence_len( seq );
+    for( index_type index = 0; index < length; ++index ){
+        inserter = seq[index];
+    }
+}
+
+template< class Inserter, class TItemType >
+void copy_sequence( boost::python::object const& seq, Inserter inserter, boost::type< TItemType > ){
+    index_type length = sequence_len( seq );
+    for( index_type index = 0; index < length; ++index ){
+        boost::python::object item = seq[index];
+        inserter = boost::python::extract< TItemType >( item );
+    }
+}
+
+struct list_inserter{
+    list_inserter( boost::python::list& py_list )
+    : m_py_list( py_list )
+    {}
+    
+    template< class T >
+    void operator()( T const & value ){
+        m_py_list.append( value );
+    }
+private:
+    boost::python::list& m_py_list;
+};
+
+template < class T >
+struct array_inserter_t{
+    array_inserter_t( T* array, index_type size )
+    : m_array( array )
+      , m_curr_pos( 0 )
+      , m_size( size )
+    {}
+
+    void insert( const T& item ){
+        if( m_size <= m_curr_pos ){
+            std::stringstream err;
+            err << "Index out of range. Array size is" << m_size << ", "
+                << "current position is" << m_curr_pos << ".";
+            raise_error( PyExc_ValueError, err.str().c_str() );
+        }
+        m_array[ m_curr_pos ] = item;
+        m_curr_pos += 1;
+    }
+
+    array_inserter_t<T>& 
+    operator=( boost::python::object const & item ){
+        insert( boost::python::extract< T >( item ) );
+        return *this;
+    }
+    
+private:
+    T* m_array;
+    index_type m_curr_pos;
+    const index_type m_size;
+};
+
+template< class T>
+array_inserter_t<T> array_inserter( T* array, index_type size ){
+    return array_inserter_t<T>( array, size );
+}
+
+inline boost::python::object 
+get_out_argument( boost::python::object result, const char* arg_name ){
+    if( !PySequence_Check( result.ptr() ) ){
+        return result;
+    }    
+    boost::python::object cls = boost::python::getattr( result, "__class__" );
+    boost::python::object cls_name = boost::python::getattr( cls, "__name__" );
+    std::string name = boost::python::extract< std::string >( cls_name );
+    if( "named_tuple" == name ){
+        return boost::python::getattr( result, arg_name );    
+    }
+    else{
+        return result;
+    }
+    
+}
+
+inline boost::python::object 
+get_out_argument( boost::python::object result, index_type index ){
+    if( !PySequence_Check( result.ptr() ) ){
+        return result;
+    }    
+    boost::python::object cls = boost::python::getattr( result, "__class__" );
+    boost::python::object cls_name = boost::python::getattr( cls, "__name__" );
+    std::string name = boost::python::extract< std::string >( cls_name );
+    if( "named_tuple" == name ){
+        return result[ index ];    
+    }
+    else{
+        return result;
+    }
+}
+
+} /*pyplusplus*/ } /*convenience*/
+
+namespace pyplus_conv = pyplusplus::convenience;
+
+#endif//__convenience_pyplusplus_hpp__
+
+"""
diff --git a/pyplusplus/code_repository/ctypes_integration.py b/pyplusplus/code_repository/ctypes_integration.py
new file mode 100644
index 0000000..4f799aa
--- /dev/null
+++ b/pyplusplus/code_repository/ctypes_integration.py
@@ -0,0 +1,148 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 C++ code needed to export one dimensional static arrays.
+"""
+
+
+namespace = "pyplusplus::convenience"
+
+file_name = "__ctypes_integration.pypp.hpp"
+
+code = \
+"""// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __ctypes_integration_pyplusplus_hpp__
+#define __ctypes_integration_pyplusplus_hpp__
+
+#include "boost/python.hpp"
+#include "boost/utility/addressof.hpp"
+#include "boost/mpl/vector.hpp"
+#include "boost/function.hpp"
+#include "boost/type.hpp"
+#include "boost/bind.hpp"
+
+
+namespace pyplusplus{ namespace convenience{
+
+template< typename TType, typename TMemVarType >
+size_t
+addressof( const TType* inst_ptr, const TMemVarType TType::* offset){
+    if( !inst_ptr ){
+        throw std::runtime_error( "unable to dereference null pointer" );
+    }
+    const TType& inst = *inst_ptr;
+    return size_t( boost::addressof( inst.*offset ) );
+}
+
+template< typename TType, typename TMemVarType>
+void
+assign_address( TType* inst_ptr, TMemVarType TType::* offset, size_t address ){
+    if( !inst_ptr ){
+        throw std::runtime_error( "unable to dereference null pointer" );
+    }
+    TType& inst = *inst_ptr;
+    inst.*offset = reinterpret_cast< TMemVarType >( address );
+}
+
+template< typename TType >
+size_t
+addressof_inst( const TType* inst_ptr){
+    if( !inst_ptr ){
+        throw std::runtime_error( "unable to dereference null pointer" );
+    }
+
+    return size_t( inst_ptr );
+}
+
+template< typename TType, typename TMemVarType >
+boost::python::object
+make_addressof_getter( const TMemVarType TType::* offset ){
+    namespace bpl = boost::python;
+    namespace pyppc = pyplusplus::convenience;
+    return bpl::make_function( boost::bind( &pyppc::addressof< TType, TMemVarType >, _1, offset )
+                               , bpl::default_call_policies()
+                               , boost::mpl::vector< size_t, const TType* >() );
+}
+
+template< typename TType, typename TMemVarType >
+boost::python::object
+make_address_setter( TMemVarType TType::* offset ){
+    namespace bpl = boost::python;
+    namespace pyppc = pyplusplus::convenience;
+    return bpl::make_function( boost::bind( &pyppc::assign_address< TType, TMemVarType >, _1, offset, _2 )
+                               , bpl::default_call_policies()
+                               , boost::mpl::vector< void, TType*, size_t >() );
+}
+
+
+template< typename TType >
+boost::python::object
+make_addressof_inst_getter(){
+    namespace bpl = boost::python;
+    namespace pyppc = pyplusplus::convenience;
+    return bpl::make_function( boost::bind( &pyppc::addressof_inst< TType >, _1 )
+                               , bpl::default_call_policies()
+                               , boost::mpl::vector< size_t, const TType* >() );
+}
+
+class register_addressof_static_var : public boost::python::def_visitor<register_addressof_static_var>
+{
+    friend class boost::python::def_visitor_access;
+
+public:
+
+    template< typename TVarType >
+    register_addressof_static_var( const char* name, const TVarType& var )
+    : m_name( name )
+      , m_address( addressof_inst( boost::addressof( var ) ) )
+    {}
+
+    template <class classT>
+    void visit(classT& c) const{
+        boost::python::scope cls_scope( c );
+        cls_scope.attr(m_name) = m_address;
+    }
+
+private:
+    size_t m_address;
+    const char* m_name;
+};
+
+
+class register_sizeof : public boost::python::def_visitor<register_sizeof>
+{
+    friend class boost::python::def_visitor_access;
+
+public:
+
+    template< typename TType >
+    register_sizeof( boost::type< TType > )
+    : m_sizeof( sizeof( TType ) )
+    {}
+
+    template <class classT>
+    void visit(classT& c) const{
+        boost::python::scope cls_scope( c );
+        cls_scope.attr("sizeof") = m_sizeof;
+    }
+
+private:
+    size_t m_sizeof;
+};
+
+
+} /*pyplusplus*/ } /*convenience*/
+
+namespace pyplus_conv = pyplusplus::convenience;
+
+#endif//__ctypes_integration_pyplusplus_hpp__
+
+"""
+
diff --git a/pyplusplus/code_repository/ctypes_utils.py b/pyplusplus/code_repository/ctypes_utils.py
new file mode 100644
index 0000000..c627467
--- /dev/null
+++ b/pyplusplus/code_repository/ctypes_utils.py
@@ -0,0 +1,141 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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_name = "ctypes_utils.py"
+
+code = \
+"""# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import ctypes
+
+# what is the best way to treat overloaded constructors
+class native_callable( object ):
+    def __init__(self, dll, name, restype=None, argtypes=None ):
+        self.name = name
+        self.func = getattr( dll, dll.undecorated_names[name] )
+        self.func.restype = restype
+        self.func.argtypes = argtypes
+
+    def __call__(self, *args, **keywd ):
+        return self.func( *args,  **keywd )
+
+class native_overloaded_callable( object ):
+    def __init__(self, functions ):
+        self.__functions = functions
+
+    def __call__( self, *args ):
+        types = None
+        if args:
+            types = tuple(arg.__class__ for arg in args)
+        f = self.__functions.get(types)
+        if f is None:
+            msg = ['Unable to find a function that match the arguments you passed.']
+            msg.append( 'First argument type is "this" type.' )
+            msg.append( 'This function call argument types: ' + str( types ) )
+            msg.append( 'Registered methods argument types: ' )
+            for key in self.__functions.iterkeys():
+                msg.append('    ' + str(key))
+            raise TypeError(os.linesep.join(msg))
+        else:
+            return f(*args)
+
+class multi_method_registry_t:
+    def __init__( self, factory, restype ):
+        self.factory = factory
+        self.restype = restype
+        self.__functions = {}
+
+    def register( self, callable_or_name, argtypes=None ):
+        if isinstance( callable_or_name, native_callable ):
+            callable = callable_or_name
+        else:
+            name = callable_or_name
+            callable = self.factory( name, restype=self.restype, argtypes=argtypes )
+        self.__functions[ tuple(callable.func.argtypes) ] = callable.func
+        return self
+
+    def finalize(self):
+        return native_overloaded_callable( self.__functions )
+
+
+class mem_fun_factory( object ):
+    def __init__( self, dll, wrapper, class_name, namespace='' ):
+        self.dll = dll
+        self.namespace = namespace
+        self.class_name = class_name
+        self.this_type = ctypes.POINTER( wrapper )
+
+    def __call__( self, name, **keywd ):
+        if 'argtypes' not in keywd or keywd['argtypes'] is None:
+            keywd['argtypes'] = [ self.this_type ]
+        else:
+            keywd['argtypes'].insert( 0, self.this_type )
+        return native_callable( self.dll, name, **keywd )
+
+    def __get_ns_name(self):
+        if self.namespace:
+            return self.namespace + '::'
+        else:
+            return ''
+
+    def default_constructor( self ):
+        return self( '%(ns)s%(class_name)s::%(class_name)s(void)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name ) )
+
+    def constructor( self, argtypes_str, **keywd ):
+        return self( '%(ns)s%(class_name)s::%(class_name)s(%(args)s)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name
+                                , args=argtypes_str )
+                     , **keywd )
+
+    def copy_constructor( self ):
+        return self( '%(ns)s%(class_name)s::%(class_name)s(%(ns)s%(class_name)s const &)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name )
+                     , argtypes=[self.this_type] )
+
+    def destructor( self, is_virtual=False ):
+        virtuality = ''
+        if is_virtual:
+            virtuality = 'virtual '
+        return self( '%(virtuality)s%(ns)s%(class_name)s::~%(class_name)s(void)'
+                        % dict( ns=self.__get_ns_name()
+                                , virtuality=virtuality
+                                , class_name=self.class_name ) )
+
+    def operator_assign( self ):
+        return self( '%(ns)s%(class_name)s & %(class_name)s::operator=(%(class_name)s const &)'
+                        % dict( ns=self.__get_ns_name()
+                                , class_name=self.class_name )
+                     , restype=self.this_type
+                     , argtypes=[self.this_type] )
+
+    def method( self, name, restype_str=None, argtypes_str=None, **keywd ):
+        if None is restype_str:
+            restype_str = 'void'
+        if None is argtypes_str:
+            argtypes_str = 'void'
+
+        return self( '%(return_)s %(ns)s%(class_name)s::%(method_name)s(%(args)s)'
+                        % dict( return_=restype_str
+                                , ns=self.__get_ns_name()
+                                , class_name=self.class_name
+                                , method_name=name
+                                , args=argtypes_str )
+                     , **keywd )
+
+    def multi_method( self, restype=None ):
+        return multi_method_registry_t( self, restype )
+
+
+#take a look on http://code.activestate.com/recipes/413486/
+Enumeration = ctypes.c_int
+"""
diff --git a/pyplusplus/code_repository/gil_guard.py b/pyplusplus/code_repository/gil_guard.py
new file mode 100644
index 0000000..9e19859
--- /dev/null
+++ b/pyplusplus/code_repository/gil_guard.py
@@ -0,0 +1,62 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 C++ code to acquire/release the GIL.
+"""
+
+file_name = "__gil_guard.pypp.hpp"
+
+code = \
+"""// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __gil_guard_pyplusplus_hpp__
+#define __gil_guard_pyplusplus_hpp__
+
+namespace pyplusplus{ namespace threading {
+
+class gil_guard_t
+{
+    public:
+    gil_guard_t( bool lock=false )
+     : m_locked( false )
+    {
+        if( lock )
+            ensure();
+    }
+
+    ~gil_guard_t() {
+        release();
+    }
+
+    void ensure() {
+        if( !m_locked )
+        {
+             m_gstate = PyGILState_Ensure();
+             m_locked = true;
+        }
+    }
+
+    void release() {
+        if( m_locked )
+        {
+             PyGILState_Release(m_gstate);
+             m_locked = false;
+        }
+    }
+     
+    private:
+    bool m_locked;
+    PyGILState_STATE m_gstate;
+};
+
+} /* threading */ } /* pyplusplus*/ 
+
+
+#endif//__gil_guard_pyplusplus_hpp__
+"""
\ No newline at end of file
diff --git a/pyplusplus/code_repository/indexing_suite/__init__.py b/pyplusplus/code_repository/indexing_suite/__init__.py
new file mode 100644
index 0000000..69e9b3d
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/__init__.py
@@ -0,0 +1,93 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""
+code repository for Indexing Suite V2 - std containers wrappers
+"""
+
+all = []
+
+from . import slice_header
+all.append( slice_header )
+
+from . import set_header
+all.append( set_header )
+
+from . import element_proxy_traits_header
+all.append( element_proxy_traits_header )
+
+from . import python_iterator_header
+all.append( python_iterator_header )
+
+from . import proxy_iterator_header
+all.append( proxy_iterator_header )
+
+from . import element_proxy_header
+all.append( element_proxy_header )
+
+from . import container_suite_header
+all.append( container_suite_header )
+
+from . import slice_handler_header
+all.append( slice_handler_header )
+
+from . import workaround_header
+all.append( workaround_header )
+
+from . import value_traits_header
+all.append( value_traits_header )
+
+from . import visitor_header
+all.append( visitor_header )
+
+from . import algorithms_header
+all.append( algorithms_header )
+
+from . import vector_header
+all.append( vector_header )
+
+from . import methods_header
+all.append( methods_header )
+
+from . import deque_header
+all.append( deque_header )
+
+from . import shared_proxy_impl_header
+all.append( shared_proxy_impl_header )
+
+from . import iterator_range_header
+all.append( iterator_range_header )
+
+from . import int_slice_helper_header
+all.append( int_slice_helper_header )
+
+from . import container_traits_header
+all.append( container_traits_header )
+
+from . import suite_utils_header
+all.append( suite_utils_header )
+
+from . import list_header
+all.append( list_header )
+
+from . import map_header
+all.append( map_header )
+
+from . import iterator_traits_header
+all.append( iterator_traits_header )
+
+from . import container_proxy_header
+all.append( container_proxy_header )
+
+from . import multimap_header
+all.append( multimap_header )
+
+from . import pair_header
+all.append( pair_header )
+
+from . import registry_utils_header
+all.append( registry_utils_header )
+
+headers = [f.file_name for f in all]
\ No newline at end of file
diff --git a/pyplusplus/code_repository/indexing_suite/algorithms_header.py b/pyplusplus/code_repository/indexing_suite/algorithms_header.py
new file mode 100644
index 0000000..4e50941
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/algorithms_header.py
@@ -0,0 +1,578 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/algorithms.hpp"
+
+code = """// Header file algorithms.hpp
+//
+// Uniform interface layer for all containers.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/11   rmg     File creation from suite_utils.hpp
+// 2003/10/28   rmg     Split container-specific versions into separate headers
+// 2006/10/25   Roman   Adding keys function to assoc_algorithms class
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: algorithms.hpp,v 1.1.2.15 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ALGORITHMS_HPP
+#define BOOST_PYTHON_INDEXING_ALGORITHMS_HPP
+
+#include <indexing_suite/suite_utils.hpp>
+
+#include <boost/type_traits.hpp>
+#include <boost/python/errors.hpp>
+#include <indexing_suite/int_slice_helper.hpp>
+#include <indexing_suite/slice.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/limits.hpp>
+#include <algorithm>
+#include <functional>
+#include <stdexcept>
+#include <string>
+#include <set>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class default_algorithms
+  {
+    typedef default_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>
+        ::type most_derived;
+
+  public:
+    typedef ContainerTraits container_traits;
+
+    // Import typedefs from the container_traits for convenience
+    typedef typename ContainerTraits::container   container;
+    typedef typename ContainerTraits::iterator    iterator;
+    typedef typename ContainerTraits::reference   reference;
+    typedef typename ContainerTraits::size_type   size_type;
+    typedef typename ContainerTraits::value_type  value_type;
+    typedef typename ContainerTraits::value_param value_param;
+    typedef typename ContainerTraits::index_param index_param;
+    typedef typename ContainerTraits::key_param   key_param;
+
+    // Defer selection of supported_methods to the ContainerTraits
+    // template argument. This makes sense because default_algorithms
+    // derives all of its other information from this argument, and
+    // can't decide which of the static member functions will
+    // instantiate successfully for the container. Obviously a
+    // custom-written Algorithms implementation could choose to
+    // provide the supported_methods directly.
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = ContainerTraits::supported_methods);
+
+    static size_type size       (container &);
+    static iterator  find       (container &, key_param);
+    static size_type get_index  (container &, key_param);
+    static size_type count      (container &, key_param);
+    static bool      contains   (container &, key_param);
+    static void      reverse    (container &);
+    static reference get        (container &, index_param);
+    static void      assign     (container &, index_param, value_param);
+    static void      insert     (container &, index_param, value_param);
+    static void      erase_one  (container &, index_param);
+    static void      erase_range(container &, index_param, index_param);
+    static void      push_back  (container &, value_param);
+    static void      sort       (container &);
+    //    static void      sort       (container &, PyObject *);
+
+    static iterator  begin      (container &c) { return c.begin(); }
+    static iterator  end        (container &c) { return c.end(); }
+
+    // Reasonable defaults for slice handling
+    typedef int_slice_helper<self_type, integer_slice> slice_helper;
+
+    static slice_helper make_slice_helper (container &c, slice const &);
+
+    // Default visit_container_class
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class(
+        PythonClass &pyClass, Policy const &policy)
+    {
+      container_traits::visit_container_class (pyClass, policy);
+    }
+
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+    // MSVC6 and 7.0 seem to complain about most_derived::bounds_check
+    // for an instantiation of list_algorithms.
+  public:
+#else
+  private:
+#endif
+    static size_type bounds_check(
+        container &, index_param, char const *msg,
+        bool one_past = false,
+        bool truncate = false);
+    // Throws std::out_of_range if necessary. If one_past is set, then
+    // indexes up to container.size() *inclusive* are allowed. If
+    // truncate is set, then out of bounds values are reset to the
+    // nearest in-bound value (and if none exists, throws an
+    // exception). If truncate is *not* set, then negative values index
+    // from the upper bound backwards and are bounds-checked.
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Base class for associative containers
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class assoc_algorithms
+    : public default_algorithms
+        <ContainerTraits,
+        BOOST_DEDUCED_TYPENAME detail::maybe_override
+            <assoc_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef assoc_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>
+        ::type most_derived;
+    typedef default_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::iterator iterator;
+    typedef typename Parent::size_type size_type;
+    typedef typename Parent::container container;
+    typedef typename Parent::reference reference;
+    typedef typename Parent::key_param key_param;
+    typedef typename Parent::value_param value_param;
+    typedef typename Parent::index_param index_param;
+
+    static reference get        (container &, index_param);
+
+    // Use member functions for the following (hiding base class versions)
+    static void      erase_one (container &, key_param);
+    static iterator  find      (container &, key_param);
+    static size_type count     (container &, key_param);
+    static bool      contains  (container &, key_param);
+
+    // Default visit_container_class
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class( PythonClass &pyClass, Policy const &policy)
+    {
+      ContainerTraits::visit_container_class (pyClass, policy);
+    }
+
+
+  protected:
+    static iterator  find_or_throw (container &, index_param);
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Get the size of a container
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::size_type
+  default_algorithms<ContainerTraits, Ovr>::size (container &c)
+  {
+    return c.size();
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Range check an index and throw out_of_range if necessary
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::size_type
+  default_algorithms<ContainerTraits, Ovr>::bounds_check(
+      container &c,
+      index_param ix,
+      char const *msg,
+      bool one_past,
+      bool truncate)
+  {
+    size_type bound = most_derived::size(c) + (one_past ? 1 : 0);
+    size_type result;
+
+    if (truncate)
+      {
+        if (ix < 0)
+          {
+            result = 0;
+          }
+
+        else
+          {
+            result = ix;
+
+            if ((result >= bound) && (bound > 0))
+              {
+                result = bound - 1;
+              }
+          }
+      }
+
+    else if (ix < 0)
+      {
+        if (size_type(-ix) > bound)
+          {
+            throw std::out_of_range (msg);
+          }
+
+        result = bound + ix;
+      }
+
+    else
+      {
+        result = ix;
+      }
+
+    if (result >= bound)
+      {
+        throw std::out_of_range (msg);
+      }
+
+    return result;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element in a container (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::iterator
+  default_algorithms<ContainerTraits, Ovr>::find(
+      container &c, key_param key)
+  {
+    typedef typename container_traits::value_traits_type vtraits;
+    typedef typename vtraits::equal_to comparison;
+
+    return std::find_if(
+        most_derived::begin(c),
+        most_derived::end(c),
+        std::bind1st (comparison(), key));
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element and return its index (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::size_type
+  default_algorithms<ContainerTraits, Ovr>::get_index(
+      container &c, key_param key)
+  {
+    iterator found (most_derived::find (c, key));
+
+    if (found == most_derived::end(c))
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "get_index: element not found");
+
+        boost::python::throw_error_already_set ();
+      }
+
+    iterator start (most_derived::begin (c));
+    return std::distance (start, found);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Count occurances of an element in a container (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::size_type
+  default_algorithms<ContainerTraits, Ovr>::count(
+      container &c, key_param key)
+  {
+    typedef typename container_traits::value_traits_type vtraits;
+    typedef typename vtraits::equal_to comparison;
+
+    return std::count_if(
+        most_derived::begin(c),
+        most_derived::end(c),
+        std::bind1st (comparison(), key));
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Check whether a container contains the given element (std algo ver)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  bool
+  default_algorithms<ContainerTraits, Ovr>::contains(
+      container &c, key_param key)
+  {
+    return most_derived::find (c, key) != most_derived::end(c);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Index into a container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::reference
+  default_algorithms<ContainerTraits, Ovr>::get(
+      container &c, index_param ix)
+  {
+    return c[most_derived::bounds_check (c, ix, "get")];
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Assign a value at a particular index (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::assign(
+      container &c, index_param ix, value_param val)
+  {
+    c[most_derived::bounds_check (c, ix, "assign")] = val;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert at end of a container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::push_back(
+      container &c, value_param v)
+  {
+    c.push_back (v);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert at an index in the container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::insert(
+      container &c, index_param i, value_param v)
+  {
+    iterator insert_pos (most_derived::begin(c));
+
+    // Index may range up to c.size() inclusive to allow inserting at end
+    std::advance(
+        insert_pos, most_derived::bounds_check (c, i, "insert", true, true));
+
+    c.insert (insert_pos, v);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Erase between given indexes in the container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::erase_range(
+      container &c, index_param from, index_param to)
+  {
+    iterator start (most_derived::begin(c));
+    iterator finish (most_derived::begin(c));
+
+    // Start index must be properly in bounds
+    std::advance
+      (start, most_derived::bounds_check (c, from, "erase_range (from)"));
+
+    // End index is one-past-the-end, so may range up to c.size() inclusive
+    std::advance
+      (finish, most_derived::bounds_check (c, to, "erase_range (to)", true));
+
+    c.erase (start, finish);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Erase one element at the given index in the container (generic version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  default_algorithms<ContainerTraits, Ovr>::erase_one(
+      container &c, index_param ix)
+  {
+    iterator iter (most_derived::begin(c));
+    std::advance (iter, most_derived::bounds_check (c, ix, "erase_one"));
+    c.erase (iter);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Reverse the contents of a container (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void default_algorithms<ContainerTraits, Ovr>::reverse (container &c)
+  {
+    std::reverse (most_derived::begin(c), most_derived::end(c));
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Sort the contents of a container (std algorithm version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void default_algorithms<ContainerTraits, Ovr>::sort (container &c)
+  {
+    typedef typename container_traits::value_traits_type vtraits;
+    typedef typename vtraits::less comparison;
+    std::sort (most_derived::begin(c), most_derived::end(c), comparison());
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // slice_helper factory function (default version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME default_algorithms<ContainerTraits, Ovr>::slice_helper
+  default_algorithms<ContainerTraits, Ovr>
+  ::make_slice_helper (container &c, slice const &sl)
+  {
+    return slice_helper (c, integer_slice (sl, most_derived::size (c)));
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Index into a container (associative version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME assoc_algorithms<ContainerTraits, Ovr>::reference
+  assoc_algorithms<ContainerTraits, Ovr>::get (container &c, index_param ix)
+  {
+    return *most_derived::find_or_throw (c, ix);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Erase elements with the given key (associative version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  assoc_algorithms<ContainerTraits, Ovr>::erase_one(
+      container &c, key_param key)
+  {
+    if (c.erase (key) == 0)
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "Container does not hold value to be erased");
+
+        boost::python::throw_error_already_set ();
+      }
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element in an associative container
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME assoc_algorithms<ContainerTraits, Ovr>::iterator
+  assoc_algorithms<ContainerTraits, Ovr>
+  ::find (container &c, key_param key)
+  {
+    return c.find (key);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element in an associative container
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  bool
+  assoc_algorithms<ContainerTraits, Ovr>::contains(
+      container &c, key_param key)
+  {
+    return most_derived::find (c, key) != most_derived::end(c);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Find an element in an associative container - throw an exception if
+  // not found
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME assoc_algorithms<ContainerTraits, Ovr>::iterator
+  assoc_algorithms<ContainerTraits, Ovr>::find_or_throw(
+      container &c, index_param ix)
+  {
+    iterator iter = most_derived::find (c, ix);
+
+    if (iter == most_derived::end(c))
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "associative container: key not found");
+
+        boost::python::throw_error_already_set ();
+      }
+
+    return iter;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Count occurances of an element in a container (associative version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME assoc_algorithms<ContainerTraits, Ovr>::size_type
+  assoc_algorithms<ContainerTraits, Ovr>::count(
+      container &c, key_param key)
+  {
+    return c.count (key);
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Some meta-information to select algorithms for const and
+  // non-const qualified containers. All algorithms_selector specializations
+  // include two publically accessible typedefs, called
+  // mutable_algorithms and const_algorithms.  This saves having to
+  // have separate partial specializations of algorithms for
+  // const and non-const containers. Client code should probably
+  // specialize algorithms directly.
+  /////////////////////////////////////////////////////////////////////////
+
+  namespace detail {
+    template<typename Container> class algorithms_selector
+# if defined(BOOST_MPL_MSVC_ETI_BUG)
+    {
+      // Bogus types to prevent compile errors due to ETI
+      typedef algorithms_selector<Container> mutable_algorithms;
+      typedef algorithms_selector<Container> const_algorithms;
+    }
+# endif
+    ;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms selection for mutable containers
+  /////////////////////////////////////////////////////////////////////////
+
+  template<class Container>
+  struct algorithms
+    : public detail::algorithms_selector<Container>::mutable_algorithms
+  {
+  };
+
+# if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms selection for const-qualified containers
+  /////////////////////////////////////////////////////////////////////////
+
+  template<class Container>
+  struct algorithms<Container const>
+    : public detail::algorithms_selector<Container>::const_algorithms
+  {
+  };
+# endif
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_ALGORITHMS_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/container_proxy_header.py b/pyplusplus/code_repository/indexing_suite/container_proxy_header.py
new file mode 100644
index 0000000..bfa3f36
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/container_proxy_header.py
@@ -0,0 +1,752 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/container_proxy.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file container_proxy.hpp
+//
+// A container-wrapper that provides Python-style reference semantics
+// for values stored in vector-like containers via element proxies.
+//
+// Class invariant:
+//   size() == m_proxies.size()
+//   for 0 <= i < size()
+//     m_proxies[i].get() != 0
+//     m_proxies[i]->owner() == this
+//     m_proxies[i]->index() == i
+//     m_proxies[i]->m_element_ptr.get() == 0
+//
+// History
+// =======
+// 2003/ 8/26   rmg     File creation
+// 2003/10/23   rmg     Change pointer container from map to sequence
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: container_proxy.hpp,v 1.1.2.28 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_CONTAINER_PROXY_HPP
+#define BOOST_PYTHON_INDEXING_CONTAINER_PROXY_HPP
+
+#include <indexing_suite/proxy_iterator.hpp>
+#include <indexing_suite/shared_proxy_impl.hpp>
+#include <indexing_suite/element_proxy.hpp>
+#include <indexing_suite/element_proxy_traits.hpp>
+#include <indexing_suite/workaround.hpp>
+#include <indexing_suite/methods.hpp>
+
+#include <vector>
+#include <cassert>
+#include <boost/shared_ptr.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+
+namespace boost { namespace python { namespace indexing {
+
+  template<typename T> struct identity {
+    typedef T held_type;
+
+    static T &       get(T &       obj) { return obj; }
+    static T const & get(T const & obj) { return obj; }
+
+    static T    create ()                     { return T(); }
+    static T    copy   (T const &copy)        { return copy; }
+    static void assign (T &to, T const &from) { to = from; }
+    static void pre_destruction (T &)         { }
+    static void swap   (T &one, T &two)       { std::swap (one, two); }
+  };
+
+  template<typename P> struct deref {
+    typedef P held_type;
+
+    typedef typename boost::iterator_value<P>::type     value;
+
+    static value &       get (P &       ptr)  { return *ptr; }
+    static value const & get (P const & ptr)  { return *ptr; }
+
+    static P    create ()                     { return P(); }
+    static P    copy   (P const &copy)        { return copy; }
+    static void assign (P &to, P const &from) { to = from; }
+    static void pre_destruction (P &)         { }
+    static void swap   (P &one, P &two)       { std::swap (one, two); }
+  };
+
+  struct vector_generator {
+    // Generates vector type for any element type with default allocator
+    template<typename Element> struct apply {
+      typedef std::vector<Element> type;
+    };
+  };
+
+#if BOOST_WORKAROUND (BOOST_MSVC, == 1200)
+  // Early template instantiation (ETI) workaround
+  namespace detail {
+    template<typename Container> struct msvc6_iterator {
+      typedef Container::iterator type;
+    };
+
+    template<> struct msvc6_iterator<int> {
+      typedef int *type;
+    };
+  }
+#endif
+
+  template<class Container,
+           class Holder = identity<Container>,
+           class Generator = vector_generator>
+  class container_proxy
+  {
+    typedef container_proxy<Container, Holder, Generator> self_type;
+    typedef typename Container::iterator raw_iterator;
+    typedef ::boost::detail::iterator_traits<raw_iterator> raw_iterator_traits;
+
+#if !defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+    template<class C> friend class shared_proxy_impl;
+    template<class C, typename E, typename T, typename S, typename I>
+        friend class proxy_iterator;
+#endif
+
+  public:
+    typedef typename Holder::held_type held_type;
+
+    typedef typename Container::size_type size_type;
+    typedef typename Container::difference_type difference_type;
+
+    typedef shared_proxy_impl<self_type> shared_proxy;
+
+    typedef typename Container::value_type raw_value_type;
+
+    typedef element_proxy<self_type> value_type;
+    typedef value_type               reference;  // Already has ref. semantics
+
+    typedef const_element_proxy<self_type> const_value_type;
+    typedef const_value_type               const_reference; // Ref. semantics
+
+    typedef proxy_iterator <self_type, value_type, raw_iterator_traits,
+        size_type, raw_iterator> iterator;
+    typedef iterator const_iterator; // No const_iterator yet implemented
+
+  public:
+    // Constructors
+    template<typename Iter> container_proxy (Iter start, Iter finish)
+      // Define inline for MSVC6 compatibility
+      : m_held_obj (Holder::create()),
+      m_proxies ()
+    {
+      insert (begin(), start, finish);
+    }
+
+    container_proxy ();
+    explicit container_proxy (held_type const &h);
+
+    container_proxy (container_proxy const &);
+    container_proxy &operator= (container_proxy const &);
+    ~container_proxy ();
+
+    Container const &raw_container() const;   // OK to expose const reference
+
+    reference       at (size_type index);
+    const_reference at (size_type index) const;
+
+    reference       operator[] (size_type index)       { return at(index); }
+    const_reference operator[] (size_type index) const { return at(index); }
+
+    size_type size ()     const { return raw_container().size(); }
+    size_type capacity () const { return raw_container().capacity(); }
+    void reserve (size_type s);
+
+  public:
+    iterator begin() { return iterator (this, static_cast<size_type>(0)); }
+    iterator end() { return iterator (this, raw_container().size()); }
+
+    iterator erase (iterator);
+    iterator erase (iterator, iterator);
+    iterator insert (iterator, raw_value_type const &);
+
+    template<typename Iter> void insert (iterator iter, Iter from, Iter to)
+      // Define here for MSVC6 compatibility
+    {
+      // Forward insertion to the right overloaded version
+      typedef typename BOOST_ITERATOR_CATEGORY<Iter>::type category;
+      insert (iter, from, to, category());
+    }
+
+    void push_back (raw_value_type const &copy) { insert (end(), copy); }
+
+    value_type pop_back () {
+      value_type result = at (size() - 1);
+      erase (end() - 1);
+      return result;
+    }
+
+  public:
+    // These functions are useful only when client code has direct
+    // non-const acccess to the raw container (e.g. via an indirect
+    // holder supplied to our constructor). Any code that directly
+    // modifies the contents of the raw container (by replacing,
+    // inserting or erasing elements) must notify the container_proxy.
+
+    void detach_proxy (size_type index);
+    void detach_proxies (size_type from, size_type to);
+    // Call before overwriting element(s) in the raw container
+
+    void prepare_erase (size_type from, size_type to);
+    // Call before erasing elements directly from the raw container
+
+    void notify_insertion (size_type from, size_type to);
+    // Call after inserting elements directly into the raw container
+
+  public:
+    // Convenient replacement of elements (automatic proxy detachment)
+    void replace (size_type index, raw_value_type const &);
+    //    template<typename Iter> void replace (size_type index, Iter, Iter);
+
+    void swap_elements (size_type index1, size_type index2);
+
+    bool is_valid () const; // Check the class invariant (for testing purposes)
+
+  private:
+    // Overloads for insertions with/without useful std::distance
+    template<typename Iter>
+    void insert (iterator iter, Iter from, Iter to, std::forward_iterator_tag)
+      // Define here for MSVC6 compatibility
+    {
+      assert (iter.ptr == this);
+      size_type count = std::distance (from, to);
+
+      // Add empty proxy pointers for the new value(s) (could throw)
+      m_proxies.insert (m_proxies.begin() + iter.index, count, pointer_impl());
+
+      try
+        {
+          // Insert the new element(s) into the real container (could throw)
+          raw_container().insert(
+              raw_container().begin() + iter.index,
+              from,
+              to);
+
+          try
+            {
+              // Create new proxies for the new elements (could throw)
+              write_proxies (iter.index, iter.index + count);
+            }
+
+          catch (...)
+            {
+              raw_container().erase(
+                  raw_container().begin() + iter.index,
+                  raw_container().begin() + iter.index + count);
+
+              throw;
+            }
+        }
+
+      catch (...)
+        {
+          m_proxies.erase(
+              m_proxies.begin() + iter.index,
+              m_proxies.begin() + iter.index + count);
+
+          throw;
+        }
+
+      // Adjust any proxies after the inserted elements (nothrow)
+      adjust_proxies(
+          m_proxies.begin() + iter.index + count,
+          m_proxies.end(),
+          static_cast<difference_type> (count));
+    }
+
+    template<typename Iter>
+    void insert (iterator iter, Iter from, Iter to, std::input_iterator_tag)
+      // Define here for MSVC6 compatibility
+    {
+      // insert overload for iterators where we *can't* get distance()
+      // so just insert elements one at a time
+      while (from != to)
+        {
+          iter = insert (iter, *from++) + 1;
+        }
+    }
+
+  private:
+    typedef boost::shared_ptr<shared_proxy> pointer_impl;
+
+    typedef typename mpl::apply1<Generator, pointer_impl>::type
+      pointer_container;
+
+#if BOOST_WORKAROUND (BOOST_MSVC, == 1200)
+    typedef detail::msvc6_iterator<pointer_container>::type pointer_iterator;
+#else
+    typedef typename pointer_container::iterator pointer_iterator;
+#endif
+
+#if defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+    // Proxies need mutable access, and can't be friends with MSVC6
+  public:
+#endif
+    Container &raw_container();
+
+  private:
+    void adjust_proxies (pointer_iterator, pointer_iterator, difference_type);
+    void write_proxies (size_type, size_type);
+    bool clear_proxy (pointer_impl &);         // detach and do not reset
+    void clear_proxies (size_type, size_type); // detach and do not reset
+    void claim_all_proxies (); // Makes all proxies point at this object
+
+  private:
+    held_type m_held_obj;
+    pointer_container m_proxies;
+  };
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator>
+  ::container_proxy ()
+    : m_held_obj (Holder::create()),
+    m_proxies ()
+  {
+    // Container is empty - no further processing
+  }
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator>
+  ::container_proxy (held_type const &held)
+    : m_held_obj (Holder::copy (held)),
+    m_proxies (size())
+  {
+    write_proxies (0, size());
+  }
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator>
+  ::container_proxy (container_proxy const &copy)
+    : m_held_obj (Holder::copy (copy.m_held_obj)),
+    m_proxies (size())
+  {
+    write_proxies (0, size()); // Create our own proxies for the copied values
+  }
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator> &
+  container_proxy<Container, Holder, Generator>
+  ::operator= (container_proxy const &copy)
+  {
+    container_proxy<Container, Holder, Generator> temp (copy);
+    // This could throw, but none of the remaining operations can
+
+    Holder::swap (m_held_obj, temp.m_held_obj);
+    std::swap (m_proxies, temp.m_proxies);
+
+    claim_all_proxies ();
+    temp.claim_all_proxies ();  // Prepare for detach
+
+    return *this;
+    // temp destruction detaches any proxies that used to belong to us
+  }
+
+  template<class Container, class Holder, class Generator>
+  container_proxy<Container, Holder, Generator>
+  ::~container_proxy ()
+  {
+    // Copy original values into any proxies being shared by external pointers
+    clear_proxies (0, size());
+    Holder::pre_destruction (m_held_obj);
+  }
+
+  template<class Container, class Holder, class Generator>
+  Container &
+  container_proxy<Container, Holder, Generator>
+  ::raw_container ()
+  {
+    return Holder::get (m_held_obj);
+  }
+
+  template<class Container, class Holder, class Generator>
+  Container const &
+  container_proxy<Container, Holder, Generator>
+  ::raw_container () const
+  {
+    return Holder::get (m_held_obj);
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::reserve (size_type size)
+  {
+    raw_container().reserve (size);
+    m_proxies.reserve (size);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::reference
+  container_proxy<Container, Holder, Generator>
+  ::at (size_type index)
+  {
+    pointer_impl const &ptr = m_proxies.BOOST_PYTHON_INDEXING_AT (index);
+    assert (ptr->owner() == this);
+    assert (ptr->index() == index);
+    return reference (ptr);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::const_reference
+  container_proxy<Container, Holder, Generator>
+  ::at (size_type index) const
+  {
+    pointer_impl const &ptr = m_proxies.BOOST_PYTHON_INDEXING_AT (index);
+    assert (ptr->owner() == this);
+    assert (ptr->index() == index);
+    return const_reference (ptr);
+  }
+
+  template<class Container, class Holder, class Generator>
+  void
+  container_proxy<Container, Holder, Generator>
+  ::replace (size_type index, raw_value_type const &copy)
+  {
+    detach_proxy (index);
+    raw_container().BOOST_PYTHON_INDEXING_AT (index) = copy;
+    write_proxies (index, index + 1);
+  }
+
+  template<class Container, class Holder, class Generator>
+  void
+  container_proxy<Container, Holder, Generator>
+  ::swap_elements (size_type index1, size_type index2)
+  {
+    pointer_impl &ptr1 = m_proxies[index1];
+    pointer_impl &ptr2 = m_proxies[index2];
+
+    assert (ptr1->owner() == this);
+    assert (ptr2->owner() == this);
+    assert (ptr1->index() == index1);
+    assert (ptr2->index() == index2);
+
+    // Swap produces the diagrammed transformation. Any external
+    // pointers that refer to proxy1 or proxy2 will end up still
+    // pointing to their original (now relocated) values.
+    //
+    // .. ptr1 .. ptr2 ..     .. ptr1 .. ptr2  ..  (m_proxies)
+    //      |      |                 \  /
+    //      |      |                  \/
+    //      |      |                  /\.
+    //      V      V                 /  \.
+    //   proxy1  proxy2  -->    proxy1  proxy2
+    //      |      |                 \  /
+    //      |      |                  \/
+    //      |      |                  /\.
+    //      V      V                 /  \.
+    //  .. v1 ... v2 ..         .. v2 .. v1 ..  (raw_container)
+
+    std::swap (ptr1->m_index, ptr2->m_index);
+    std::swap (ptr1, ptr2);
+    std::swap (raw_container()[index1], raw_container()[index2]);
+
+    assert (m_proxies[index1]->index() == index1);
+    assert (m_proxies[index2]->index() == index2);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::iterator
+  container_proxy<Container, Holder, Generator>::erase (iterator iter)
+  {
+    return erase (iter, iter + 1);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::iterator
+  container_proxy<Container, Holder, Generator>::erase(
+      iterator from, iterator to)
+  {
+    assert (from.ptr == this);
+    assert (to.ptr == this);
+
+    // Detach and remove the proxies for the about-to-be-erased elements
+    prepare_erase (from.index, to.index);
+
+    // Erase the elements from the real container
+    raw_iterator result
+      = raw_container().erase(
+          raw_container().begin() + from.index,
+          raw_container().begin() + to.index);
+
+    return iterator (this, result);
+  }
+
+  template<class Container, class Holder, class Generator>
+  BOOST_DEDUCED_TYPENAME container_proxy<Container, Holder, Generator>::iterator
+  container_proxy<Container, Holder, Generator>::insert(
+      iterator iter, raw_value_type const &copy)
+  {
+    // Use the iterator-based version by treating the value as an
+    // array of size one (see section 5.7/4 of the C++98 standard)
+    insert (iter, &copy, (&copy) + 1, std::random_access_iterator_tag());
+
+    return iter;
+  }
+
+  template<class Container, class Holder, class Generator>
+  bool container_proxy<Container, Holder, Generator>::clear_proxy(
+      pointer_impl &ptr)
+  {
+    // Warning - this can break the class invariant. Use only when the
+    // pointer is about to be overwritten or removed from m_proxies
+
+    assert (ptr->owner() == this);
+
+    if (!ptr.unique())
+      {
+        ptr->detach (); // Cause proxy to copy element value
+        return true;
+      }
+
+    else
+      {
+        // If the pointer isn't shared, don't bother causing a copy of
+        // the container element, since the proxy is about to be
+        // deleted or reused.
+        return false;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::clear_proxies(
+      size_type from_index, size_type to_index)
+  {
+    while (from_index != to_index)
+      {
+        clear_proxy (m_proxies[from_index]);
+        ++from_index;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>
+  ::detach_proxy (size_type index)
+  {
+    pointer_impl &ptr = m_proxies[index];
+
+    assert (ptr->index() == index);
+
+    if (clear_proxy (ptr))
+      {
+        // To maintain class invariant
+        ptr.reset (new shared_proxy (this, index));
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::detach_proxies(
+      size_type from_index, size_type to_index)
+  {
+    while (from_index != to_index)
+      {
+        detach_proxy (from_index);
+        ++from_index;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>
+  ::prepare_erase (size_type from_index, size_type to_index)
+  {
+    difference_type deleting = to_index - from_index;
+    pointer_iterator erase_begin = m_proxies.begin() + from_index;
+    pointer_iterator erase_end = m_proxies.begin() + to_index;
+
+    // Adjust the indexes of any trailing proxies
+    adjust_proxies (erase_end, m_proxies.end(), -deleting);
+
+    // Detach any proxies without updating our pointers to them
+    clear_proxies (from_index, to_index);
+
+    // Remove the pointers
+    m_proxies.erase (erase_begin, erase_end);
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::notify_insertion(
+      size_type from_index, size_type to_index)
+  {
+    size_type count = to_index - from_index;
+
+    m_proxies.insert(
+        m_proxies.begin() + from_index, count, pointer_impl());
+
+    try
+      {
+        write_proxies (from_index, to_index); // Could throw
+      }
+
+    catch (...)
+      {
+        m_proxies.erase(
+            m_proxies.begin() + from_index,
+            m_proxies.begin() + to_index);
+
+        throw;
+      }
+
+    // Adjust any proxies after the inserted elements (nothrow)
+    adjust_proxies(
+        m_proxies.begin() + to_index,
+        m_proxies.end(),
+        static_cast<difference_type> (count));
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::adjust_proxies(
+      pointer_iterator from,
+      pointer_iterator to,
+      difference_type offset)
+  {
+    while (from != to)
+      {
+        (*from)->m_index += offset;
+        ++from;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::write_proxies(
+      size_type from, size_type to)
+  {
+    // (over)write proxy pointers in the given range. Re-uses existing
+    // shared_proxy objects where possible. Does not call detach_proxy
+    // since it is assumed that the original values could have already
+    // been modified and copying them now would be wrong.
+
+    while (from != to)
+      {
+        pointer_impl &ptr = m_proxies[from];
+
+        if ((ptr.get() == 0) || (!ptr.unique()))
+          {
+            // Either no proxy yet allocated here, or there is one
+            // but it is being shared by an external pointer.
+            ptr.reset (new shared_proxy (this, from));
+          }
+
+        else
+          {
+            // Re-use the existing object since we have the only pointer to it
+            assert (ptr->owner() == this);
+            ptr->m_index = from;
+          }
+
+        ++from;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  void container_proxy<Container, Holder, Generator>::claim_all_proxies ()
+  {
+    for (pointer_iterator iter = m_proxies.begin();
+         iter != m_proxies.end();
+         ++iter)
+      {
+        (*iter)->m_owner_ptr = this;
+      }
+  }
+
+  template<class Container, class Holder, class Generator>
+  bool container_proxy<Container, Holder, Generator>::is_valid () const
+  {
+    bool ok = size() == m_proxies.size(); // Sizes must match
+
+    for (size_type count = 0; ok && (count < size()); ++count)
+      {
+        pointer_impl const &ptr = m_proxies[count];
+
+        ok = ptr.get() && (ptr->owner() == this) && (ptr->index() == count)
+          && !ptr->m_element_ptr.get();
+      }
+
+    return ok;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for container_proxy instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container>
+  struct container_proxy_traits : random_access_sequence_traits<Container>
+  {
+    typedef Container container;
+    typedef typename container::raw_value_type value_type; // insert, ...
+    typedef typename container::raw_value_type key_type;   // find, count, ...
+    typedef typename container::reference reference;  // return values
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <value_type>::param_type
+        value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <key_type>::param_type
+        key_param;
+
+#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+    // value_traits for the reference type (i.e. our element_proxy
+    // instance) supplies a custom visit_container_class. Compilers
+    // without partial specialization need help here.
+
+    typedef element_proxy_traits<Container> value_traits_type;
+
+    // Hide base class visit_container_class, which would call the
+    // unspecialized value_traits version
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class(
+        PythonClass &pyClass, Policy const &policy)
+    {
+      value_traits_type::visit_container_class (pyClass, policy);
+    }
+#endif
+  };
+
+#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for container_proxy instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <typename RawContainer, typename Holder, typename Generator>
+    class algorithms_selector<container_proxy<RawContainer, Holder, Generator> >
+    {
+      typedef container_proxy<RawContainer, Holder, Generator> Container;
+
+      typedef container_proxy_traits<Container>       mutable_traits;
+      typedef container_proxy_traits<Container const> const_traits;
+
+    public:
+      typedef default_algorithms<mutable_traits> mutable_algorithms;
+      typedef default_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+  template<
+      class Container,
+      method_set_type MethodMask = all_methods,
+      class Traits = container_proxy_traits<Container>
+  >
+  struct container_proxy_suite
+    : container_suite<Container, MethodMask, default_algorithms<Traits> >
+  {
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_CONTAINER_PROXY_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/container_suite_header.py b/pyplusplus/code_repository/indexing_suite/container_suite_header.py
new file mode 100644
index 0000000..67301ce
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/container_suite_header.py
@@ -0,0 +1,68 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/container_suite.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file container_suite.hpp
+//
+// Top-level interface to the container suite.
+//
+// History
+// =======
+// 2003/ 8/23   rmg     File creation
+// 2003/ 9/ 8   rmg     Extracted trait facilities into container_traits.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: container_suite.hpp,v 1.1.2.7 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
+#define BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
+
+#include <indexing_suite/methods.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <indexing_suite/visitor.hpp>
+
+#include <boost/python/return_by_value.hpp>
+#include <boost/python/return_value_policy.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  typedef boost::python::return_value_policy<boost::python::return_by_value>
+  default_container_policies;
+
+  template<
+      class Container,
+      method_set_type MethodMask = all_methods,  // All supported by algorithms
+      class Algorithms
+          = algorithms<Container>
+  >
+  struct container_suite
+    : public visitor<Algorithms, default_container_policies, MethodMask>
+  {
+    typedef Algorithms algorithms;
+
+    template<typename Policy>
+    static visitor<Algorithms, Policy, MethodMask>
+    with_policies (Policy const &policy)
+    {
+      return visitor <Algorithms, Policy, MethodMask> (policy);
+    }
+  };
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/container_traits_header.py b/pyplusplus/code_repository/indexing_suite/container_traits_header.py
new file mode 100644
index 0000000..61f4b5b
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/container_traits_header.py
@@ -0,0 +1,174 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/container_traits.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file container_traits.hpp
+//
+// Traits information about entire containers for use in determining
+// what Python methods to provide.
+//
+// History
+// =======
+// 2003/ 8/23   rmg     File creation as container_suite.hpp
+// 2003/ 9/ 8   rmg     Renamed container_traits.hpp
+// 2003/10/28   rmg     Split container-specific versions into separate headers
+// 2004/ 1/28   rmg     Convert to bitset-based feature selection
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: container_traits.hpp,v 1.1.2.15 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_CONTAINER_TRAITS_HPP
+#define BOOST_PYTHON_INDEXING_CONTAINER_TRAITS_HPP
+
+#include <indexing_suite/suite_utils.hpp>
+#include <indexing_suite/methods.hpp>
+#include <indexing_suite/value_traits.hpp>
+
+#include <boost/type_traits.hpp>
+#include <boost/call_traits.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/type_traits/ice.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+
+namespace boost { namespace python { namespace indexing {
+#if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+  // MSVC6 has problems with get_signature if parameter types have
+  // top-level const qualification (e.g. int const). Unfortunately,
+  // this is exactly what happens with boost::call_traits, so we
+  // substitute a really dumb version of it instead.
+
+  template<typename T> struct broken_call_traits {
+    typedef T const & param_type;
+  };
+# define BOOST_PYTHON_INDEXING_CALL_TRAITS broken_call_traits
+#else
+# define BOOST_PYTHON_INDEXING_CALL_TRAITS ::boost::call_traits
+#endif
+
+  /////////////////////////////////////////////////////////////////////////
+  // Lowest common denominator traits - applicable to real containers
+  // and iterator pairs
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container, typename ValueTraits = detail::no_override>
+  struct base_container_traits
+  {
+    typedef base_container_traits<Container, ValueTraits> self_type;
+
+  protected:
+    BOOST_STATIC_CONSTANT(
+        bool, is_mutable = ! boost::is_const<Container>::value);
+
+  public:
+    typedef Container container;
+
+    typedef BOOST_DEDUCED_TYPENAME container::value_type value_type;
+
+    typedef BOOST_DEDUCED_TYPENAME mpl::if_<
+        is_const<container>,
+        BOOST_DEDUCED_TYPENAME container::const_iterator,
+        BOOST_DEDUCED_TYPENAME container::iterator
+      >::type iterator;
+
+    typedef typename ::boost::iterator_reference<iterator>::type reference;
+
+    typedef value_type key_type; // Used for find, etc.
+    typedef typename container::size_type size_type;
+    typedef typename make_signed<size_type>::type index_type;
+    // at(), operator[]. Signed to support Python -ve indexes
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS<value_type>::param_type
+        value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS<key_type>::param_type
+        key_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS<index_type>::param_type
+        index_param;
+
+    // Allow client code to replace the default value traits via our
+    // second (optional) template parameter
+    typedef value_traits<value_type> default_value_traits;
+    typedef typename detail::maybe_override<
+        default_value_traits, ValueTraits>::type value_traits_type;
+
+    // Forward visit_container_class to value_traits_type
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class(
+        PythonClass &pyClass, Policy const &policy)
+    {
+      value_traits_type::visit_container_class (pyClass, policy);
+    }
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits for sequences with random access - std::vector,
+  // std::deque and the like
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container, typename ValueTraits = detail::no_override>
+  class random_access_sequence_traits
+    : public base_container_traits<Container, ValueTraits>
+  {
+    typedef base_container_traits<Container, ValueTraits> base_class;
+
+  public:
+    typedef typename base_class::value_traits_type value_traits_type;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_len
+            | method_getitem
+            | method_getitem_slice
+
+            | detail::method_set_if<
+                  value_traits_type::equality_comparable,
+                    method_index
+                  | method_contains
+                  | method_count
+              >::value
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                    method_setitem
+                  | method_setitem_slice
+                  | method_delitem
+                  | method_delitem_slice
+                  | method_reverse
+                  | method_append
+                  | method_insert
+                  | method_extend
+              >::value
+
+            | detail::method_set_if<
+                  type_traits::ice_and<
+                      base_class::is_mutable,
+                      value_traits_type::less_than_comparable
+                  >::value,
+                  method_sort
+              >::value
+
+        ));
+
+        // Not supported: method_iter, method_has_key
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_CONTAINER_SUITE_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/deque_header.py b/pyplusplus/code_repository/indexing_suite/deque_header.py
new file mode 100644
index 0000000..22bb079
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/deque_header.py
@@ -0,0 +1,75 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/deque.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file deque.hpp
+//
+// Indexing algorithms support for std::deque instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: deque.hpp,v 1.1.2.6 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_DEQUE_HPP
+#define BOOST_PYTHON_INDEXING_DEQUE_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <deque>
+
+namespace boost { namespace python { namespace indexing {
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::deque instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class T, class Allocator>
+    class algorithms_selector<std::deque<T, Allocator> >
+    {
+      typedef std::deque<T, Allocator> Container;
+
+      typedef random_access_sequence_traits<Container>       mutable_traits;
+      typedef random_access_sequence_traits<Container const> const_traits;
+
+    public:
+      typedef default_algorithms<mutable_traits> mutable_algorithms;
+      typedef default_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = random_access_sequence_traits<Container>
+  >
+  struct deque_suite
+    : container_suite<Container, MethodMask, default_algorithms<Traits> >
+  {
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_DEQUE_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/element_proxy_header.py b/pyplusplus/code_repository/indexing_suite/element_proxy_header.py
new file mode 100644
index 0000000..2a1f859
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/element_proxy_header.py
@@ -0,0 +1,202 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/element_proxy.hpp"
+
+code = """// Header file element_proxy.hpp
+//
+// Proxy objects for invidivual elements in a container wrapped by
+// container_proxy
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/15   rmg     File creation from container_proxy.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: element_proxy.hpp,v 1.1.2.10 2003/12/03 12:18:51 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ELEMENT_PROXY_HPP
+#define BOOST_PYTHON_INDEXING_ELEMENT_PROXY_HPP
+
+#include <indexing_suite/shared_proxy_impl.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/get_pointer.hpp>
+#include <boost/utility/addressof.hpp>
+#include <boost/detail/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename ContainerProxy>
+  class element_proxy
+  {
+  public:
+    typedef typename ContainerProxy::shared_proxy proxy_type;
+    typedef typename ContainerProxy::raw_value_type raw_value_type;
+    typedef typename ContainerProxy::size_type size_type;
+    typedef boost::shared_ptr<proxy_type> proxy_pointer;
+
+    typedef typename proxy_type::value_type value_type;
+    typedef typename proxy_type::reference reference;
+    typedef typename proxy_type::pointer pointer;
+    typedef typename proxy_type::iterator_category iterator_category;
+    typedef typename proxy_type::difference_type difference_type;
+
+    typedef value_type element_type;      // Alias for register_ptr_to_python
+
+    element_proxy () : m_ptr () { }
+    explicit element_proxy (proxy_type *ptr) : m_ptr (ptr) { }
+    explicit element_proxy (proxy_pointer const &ptr) : m_ptr (ptr) { }
+
+    explicit element_proxy (raw_value_type const &val)
+      : m_ptr (new proxy_type(val))
+    {
+      // Create new standalone value (i.e. detached)
+    }
+
+    reference operator* () const { return m_ptr->operator*(); }
+    pointer operator-> () const { return (*m_ptr).operator->(); }
+    pointer get () const { return operator->(); }  // Alias for pointer_holder
+
+    // Implicit conversion to raw_value_type
+    operator reference () const { return operator*(); }
+
+#if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+    // The implicit conversion doesn't work on MSVC6, so help it along
+    // a little.
+    bool operator== (value_type const &val) const { return (**this) == val; }
+    bool operator!= (value_type const &val) const { return (**this) != val; }
+    bool operator< (value_type const &val) const { return (**this) < val; }
+    bool operator> (value_type const &val) const { return (**this) > val; }
+#endif
+
+    element_proxy &operator= (value_type const &copy)
+    {
+      proxy_type &proxy = *m_ptr;
+      ContainerProxy *container = proxy.owner();
+      size_type index = proxy.index();
+
+      if (container)
+        {
+          container->replace (index, copy);
+          // Proxy was attached before, but is now detached. Make sure
+          // we now refer to the new element, instead of the detached
+          // copy of the old element
+          m_ptr = container->at (index).m_ptr;
+
+          // Note: in the special case that this we and the container
+          // proxy itself have the only references to the
+          // shared_proxy_impl, it is not necessary to first detach
+          // the proxy. Maybe best to implement when changing to
+          // intrusive_ptr instead of shared_ptr.
+        }
+
+      else
+        {
+          *proxy = copy;
+        }
+
+      return *this;
+    }
+
+    element_proxy &operator= (element_proxy const &copy)
+    {
+      // Required to make sorting a container_proxy work
+      return (*this) = *copy;
+    }
+
+    size_t use_count() const { return m_ptr.use_count(); } // For debugging
+
+  private:
+    proxy_pointer m_ptr;
+  };
+
+  template<typename ContainerProxy>
+  class const_element_proxy
+  {
+  public:
+    typedef element_proxy<ContainerProxy> base_type;
+    typedef typename base_type::proxy_type proxy_type;
+    typedef typename base_type::proxy_pointer proxy_pointer;
+    typedef typename base_type::raw_value_type raw_value_type;
+
+    typedef typename proxy_type::value_type const value_type;
+    typedef value_type &reference;
+    typedef value_type *pointer;
+    typedef typename base_type::iterator_category iterator_category;
+    typedef typename base_type::difference_type difference_type;
+
+    const_element_proxy () : m_base () { }
+    explicit const_element_proxy (proxy_type *ptr) : m_base (ptr) { }
+
+    explicit const_element_proxy (proxy_pointer const &ptr) : m_base (ptr) {}
+
+    const_element_proxy (const_element_proxy<ContainerProxy> const &copy)
+      : m_base (copy.m_base)
+    {
+    }
+
+    const_element_proxy (element_proxy<ContainerProxy> const &copy)
+      : m_base (copy)
+    {
+    }
+
+    explicit const_element_proxy (raw_value_type const &val)
+      : m_base (new proxy_type(val))
+    {
+    }
+
+    reference operator* () const { return *m_base; }
+    pointer operator-> () const { return m_base.operator->(); }
+
+    // Implicit conversion to raw_value_type const &
+    operator reference () const { return *m_base; }
+
+#if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+    // The implicit conversion doesn't work on MSVC6, so help it along
+    // a little.
+    bool operator== (value_type const &val) const { return m_base == val; }
+    bool operator!= (value_type const &val) const { return m_base != val; }
+    bool operator< (value_type const &val) const { return m_base < val; }
+    bool operator> (value_type const &val) const { return m_base > val; }
+#endif
+
+    size_t use_count() const { return m_base.use_count(); } // For debugging
+
+  private:
+    base_type m_base;
+  };
+
+#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+}} // namespace python::indexing
+#endif
+
+  template<typename ContainerProxy>
+  typename ContainerProxy::raw_value_type *
+  get_pointer (python::indexing::element_proxy<ContainerProxy> const &proxy)
+  {
+    return ::boost::addressof (*proxy);
+  }
+
+#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+    // Don't hide these other get_pointer overloads
+    using boost::get_pointer;
+}} // namespace python::indexing
+#endif
+}
+
+#endif // BOOST_PYTHON_INDEXING_ELEMENT_PROXY_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/element_proxy_traits_header.py b/pyplusplus/code_repository/indexing_suite/element_proxy_traits_header.py
new file mode 100644
index 0000000..7f6b9d0
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/element_proxy_traits_header.py
@@ -0,0 +1,104 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/element_proxy_traits.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file element_proxy_traits.hpp
+//
+// Note: element_proxy.hpp must be included before this header
+//
+// This is a separate header so that element_proxy.hpp is not
+// dependant on register_ptr_to_python.hpp. This avoids a problem with
+// two-phase name lookup, where register_ptr_to_python must be
+// included *after* the element_proxy overload of boost::get_pointer
+// is declared.
+//
+// History
+// =======
+// 2003/10/23   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: element_proxy_traits.hpp,v 1.1.2.5 2003/12/05 17:36:14 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ELEMENT_PROXY_TRAITS_HPP
+#define BOOST_PYTHON_INDEXING_ELEMENT_PROXY_TRAITS_HPP
+
+#include <indexing_suite/element_proxy.hpp>
+#include <indexing_suite/value_traits.hpp>
+#include <boost/python/register_ptr_to_python.hpp>
+#include <boost/python/implicit.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename ContainerProxy>
+  struct element_proxy_traits
+    : public value_traits<
+          BOOST_DEDUCED_TYPENAME ContainerProxy::raw_value_type>
+  {
+    typedef element_proxy<ContainerProxy> element_proxy_type;
+    typedef typename ContainerProxy::raw_value_type raw_value_type;
+    typedef value_traits<raw_value_type> base_type;
+
+    // Wrap the base class versions of the comparisons using
+    // indirection
+    struct less
+      : std::binary_function<element_proxy_type, element_proxy_type, bool>
+    {
+      typename base_type::less m_base_compare;
+
+      bool operator()(
+          element_proxy_type const &p1, element_proxy_type const &p2) const
+      {
+        return m_base_compare (*p1, *p2);
+      }
+    };
+
+    struct equal_to
+      : std::binary_function<raw_value_type, element_proxy_type, bool>
+    {
+      // First param is raw_value_type to interface smoothly with the
+      // bind1st used in default_algorithms::find
+
+      typename base_type::equal_to m_base_compare;
+
+      bool operator()(
+          raw_value_type const &v, element_proxy_type const &p) const
+      {
+        return m_base_compare (v, *p);
+      }
+    };
+
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class (PythonClass &, Policy const &)
+    {
+      register_ptr_to_python<element_proxy_type>();
+      implicitly_convertible<raw_value_type, element_proxy_type>();
+    }
+  };
+
+#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  // value_traits partial specialization for element_proxy instances
+  template<typename ContainerProxy>
+  struct value_traits<element_proxy<ContainerProxy> >
+    : element_proxy_traits<ContainerProxy>
+  {
+  };
+#endif
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_ELEMENT_PROXY_TRAITS_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/int_slice_helper_header.py b/pyplusplus/code_repository/indexing_suite/int_slice_helper_header.py
new file mode 100644
index 0000000..96f04fd
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/int_slice_helper_header.py
@@ -0,0 +1,266 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/int_slice_helper.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file int_slice_helper.hpp
+//
+// History
+// =======
+// 2003/10/13   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: int_slice_helper.hpp,v 1.1.2.10 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_INT_SLICE_HELPER_HPP
+#define BOOST_PYTHON_INDEXING_INT_SLICE_HELPER_HPP
+
+# include <boost/python/errors.hpp>
+# include <indexing_suite/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename Algorithms, typename SliceType>
+  struct int_slice_helper
+  {
+    // Works with a SliceType that provides an int-like index_type
+    // that is convertible to the algorithm's index_param
+
+    typedef Algorithms algorithms_type;
+    typedef SliceType slice_type;
+
+    typedef typename algorithms_type::container container;
+    typedef typename algorithms_type::reference reference;
+    typedef typename algorithms_type::value_param value_param;
+    typedef typename algorithms_type::container_traits container_traits;
+    typedef typename slice_type::index_type index_type;
+
+    int_slice_helper (container &c, slice_type const &);
+
+    bool next();
+
+    reference current () const;
+    void write (value_param val);
+    void erase_remaining () const;
+
+  private:
+    void assign (value_param val) const;
+    void insert (value_param val);
+
+  private:
+    slice_type m_slice;
+    container *m_ptr;
+    index_type m_pos;
+  };
+
+  template<typename Algorithms, typename SliceType>
+  int_slice_helper<Algorithms, SliceType>
+  ::int_slice_helper (container &c, slice_type const &sl)
+    : m_slice (sl),
+    m_ptr (&c),
+    m_pos (-1)
+  {
+  }
+
+  template<typename Algorithms, typename SliceType>
+  bool
+  int_slice_helper<Algorithms, SliceType>::next()
+  {
+    bool result = false; // Assume the worst
+
+    if (m_pos == -1)
+      {
+        // First time call - get to start of the slice (if any)
+        m_pos = m_slice.start();
+        result = m_slice.in_range (m_pos);
+      }
+
+    else if (m_slice.in_range (m_pos))
+      {
+        // Subsequent calls - advance by the slice's stride
+        m_pos += m_slice.step();
+        result = m_slice.in_range (m_pos);
+      }
+
+    return result;
+  }
+
+  template<typename Algorithms, typename SliceType>
+  typename int_slice_helper<Algorithms, SliceType>::reference
+  int_slice_helper<Algorithms, SliceType>::current () const
+  {
+    return algorithms_type::get (*m_ptr, m_pos);
+  }
+
+  template<typename Algorithms, typename SliceType>
+  void int_slice_helper<Algorithms, SliceType>::write (value_param val)
+  {
+    if (next())
+      {
+        assign (val);
+      }
+
+    else
+      {
+        insert (val);
+      }
+  }
+
+  template<typename Algorithms, typename SliceType>
+  void int_slice_helper<Algorithms, SliceType>::assign (value_param val) const
+  {
+    algorithms_type::assign (*m_ptr, m_pos, val);
+  }
+
+  namespace detail {
+    template<bool doit> struct maybe_insert {
+
+      // NOTE: use the name "apply_" instead of "apply" to avoid
+      // weirdo compiler crash in mpl/aux_/apply.hpp on MSVC7. Don't
+      // even ask how I arrived at this fix :-)
+
+      template<class Algorithms>
+      static void apply_(
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+        && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          // Can't explicitly instantiate member function - must let
+          // the compiler deduce the argument type from a dummy
+          // parameter. Same applies throughout
+          Algorithms *,
+# endif
+          typename Algorithms::container &,
+          typename Algorithms::index_param,
+          typename Algorithms::value_param)
+      {
+        PyErr_SetString(
+            PyExc_TypeError,
+            "container does not support insertion into slice");
+
+        boost::python::throw_error_already_set ();
+      }
+    };
+
+    template<> struct maybe_insert<true> {
+      template<class Algorithms>
+      static void apply_(
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+        && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          Algorithms *,
+# endif
+          typename Algorithms::container &c,
+          typename Algorithms::index_param i,
+          typename Algorithms::value_param v)
+      {
+        Algorithms::insert (c, i, v);
+      }
+    };
+  }
+
+  template<typename Algorithms, typename SliceType>
+  void int_slice_helper<Algorithms, SliceType>::insert (value_param val)
+  {
+    if (m_slice.step() != 1)
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "attempt to insert via extended slice");
+
+        boost::python::throw_error_already_set ();
+      }
+
+    else
+      {
+        detail::maybe_insert<
+          detail::is_member<
+            container_traits::supported_methods, method_insert>::value>::
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+  && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          apply_ (static_cast<Algorithms *>(0),
+# else
+          BOOST_NESTED_TEMPLATE apply_ <Algorithms>(
+# endif
+              *m_ptr, m_pos, val);
+
+        ++m_pos;  // Advance for any subsequent inserts
+      }
+  }
+
+  namespace detail {
+    template<bool doit> struct maybe_erase {
+      template<class Algorithms>
+      static void apply_(
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+        && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          Algorithms *,
+# endif
+          typename Algorithms::container &,
+          typename Algorithms::index_param,
+          typename Algorithms::index_param)
+      {
+        PyErr_SetString(
+            PyExc_TypeError, "container does not support item deletion");
+
+        boost::python::throw_error_already_set ();
+      }
+    };
+
+    template<> struct maybe_erase<true> {
+      template<class Algorithms>
+      static void apply_(
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+        && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          Algorithms *,
+# endif
+          typename Algorithms::container &c,
+          typename Algorithms::index_param from,
+          typename Algorithms::index_param to)
+      {
+        Algorithms::erase_range (c, from, to);
+      }
+    };
+  }
+
+  template<typename Algorithms, typename SliceType>
+  void int_slice_helper<Algorithms, SliceType>::erase_remaining () const
+  {
+    if (m_slice.step() != 1)
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "attempt to delete via extended slice");
+
+        boost::python::throw_error_already_set ();
+      }
+
+    else
+      {
+        detail::maybe_erase<
+          detail::is_member<
+            container_traits::supported_methods, method_delitem>::value>::
+
+# if defined (BOOST_NO_MEMBER_TEMPLATES) \
+  && defined (BOOST_MSVC6_MEMBER_TEMPLATES)
+          apply_ (static_cast<Algorithms *>(0),
+# else
+          BOOST_NESTED_TEMPLATE apply_ <Algorithms>(
+# endif
+              *m_ptr, m_pos, m_slice.stop());
+      }
+  }
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_INT_SLICE_HELPER_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/iterator_range_header.py b/pyplusplus/code_repository/indexing_suite/iterator_range_header.py
new file mode 100644
index 0000000..6b5fcbd
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/iterator_range_header.py
@@ -0,0 +1,275 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/iterator_range.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file iterator_range.hpp
+//
+// Emulate an STL container using a pair of iterators. Doesn't support
+// insertion or deletion, for the obvious reasons.
+//
+// History
+// =======
+// 2003/ 9/ 9   rmg     File creation as iterator_pair.hpp
+// 2003/10/27   rmg     Renamed iterator_range.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: iterator_range.hpp,v 1.1.2.7 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ITERATOR_RANGE_HPP
+#define BOOST_PYTHON_INDEXING_ITERATOR_RANGE_HPP
+
+#include <stdexcept>
+#include <algorithm>
+#include <utility>
+#include <boost/type_traits.hpp>
+#include <boost/type_traits/ice.hpp>
+#include <boost/detail/workaround.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <indexing_suite/iterator_traits.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<typename Iterator>
+  class iterator_range
+  {
+  private:
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <Iterator>::param_type
+        iterator_param;
+
+    typedef ::boost::detail::iterator_traits<Iterator> std_traits;
+
+  public:
+    typedef typename std_traits::reference       reference;
+    typedef Iterator                             iterator;
+    typedef typename std_traits::difference_type size_type;
+    typedef typename std_traits::difference_type difference_type;
+    typedef typename std_traits::value_type      value_type;
+    typedef typename std_traits::pointer         pointer;
+
+    typedef iterator                             const_iterator;
+    // Can't tell what the const version of our iterator should
+    // be. The client code will have to instantiate iterator_range
+    // directly with a const_iterator if that's what it wants.
+
+    // Also can't provide: allocator_type, reverse_iterator or
+    // const_reverse_iterator. Could probably provide (but don't)
+    // const_reference and const_pointer. These would be the same as
+    // reference and pointer if Iterator is itself a const_iterator.
+
+  public:
+    iterator_range (iterator_param, iterator_param);
+    iterator_range (std::pair<iterator, iterator> const &);
+
+    iterator begin() const;
+    iterator end() const;
+
+  public:
+    // Only sensible for random_access iterators
+    size_type size () const;
+    reference operator[] (size_type) const;
+    reference at (size_type) const;
+
+  private:
+    iterator m_begin;
+    iterator m_end;
+  };
+
+  // Array support function(s).
+  template<typename T> iterator_range<T *> make_iterator_range (T *, T*);
+
+#if !BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+  template<typename T, std::size_t N> iterator_range<T *> make_iterator_range(
+      T (&array)[N]);
+
+  template<typename T, std::size_t N> T *begin (T (&array)[N]);
+  template<typename T, std::size_t N> T *end   (T (&array)[N]);
+
+# define BOOST_MAKE_ITERATOR_RANGE \
+      ::boost::python::indexing::make_iterator_range
+
+#else
+  // For compilers that can't deduce template argument array bounds
+# define BOOST_MAKE_ITERATOR_RANGE(array) \
+      ::boost::python::indexing::make_iterator_range ( \
+          (array), ((array) + sizeof(array) / sizeof((array)[0])))
+#endif
+
+  template<typename Iterator>
+  iterator_range<Iterator>::iterator_range(
+      iterator_param begin, iterator_param end)
+    : m_begin (begin),
+    m_end (end)
+  {
+  }
+
+  template<typename Iterator>
+  iterator_range<Iterator>
+  ::iterator_range (std::pair<iterator, iterator> const &pair)
+    : m_begin (pair.first),
+    m_end (pair.second)
+  {
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::iterator
+  iterator_range<Iterator>::begin() const
+  {
+    return m_begin;
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::iterator
+  iterator_range<Iterator>::end() const
+  {
+    return m_end;
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::size_type
+  iterator_range<Iterator>::size() const
+  {
+    return std::distance (begin(), end());
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::reference
+  iterator_range<Iterator>::operator[](size_type index) const
+  {
+    iterator temp (begin());
+    std::advance (temp, index);
+    return *temp;
+  }
+
+  template<typename Iterator>
+  typename iterator_range<Iterator>::reference
+  iterator_range<Iterator>::at (size_type index) const
+  {
+    if (index >= size())
+      {
+        throw std::out_of_range
+          (std::string ("iterator_range: index out of range"));
+      }
+
+    else
+      {
+        return (*this)[index];
+      }
+  }
+
+  template<typename T> iterator_range<T *> make_iterator_range (T *p1, T* p2)
+  {
+    return iterator_range<T *> (p1, p2);
+  }
+
+#if !BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+  template<typename T, std::size_t N>
+  T *begin (T (&array)[N]) {
+    return array;
+  }
+
+  template<typename T, std::size_t N>
+  T *end (T (&array)[N]) {
+    return array + N;
+  }
+
+  template<typename T, std::size_t N>
+  iterator_range<T *> make_iterator_range (T (&array)[N]) {
+    return iterator_range<T *>(begin (array), end (array));
+  }
+#endif
+
+  template<typename Container, typename ValueTraits = detail::no_override>
+  class iterator_range_traits
+    : public base_container_traits<Container, ValueTraits>
+  {
+    typedef base_container_traits<Container, ValueTraits> base_class;
+
+    typedef ::boost::python::indexing::iterator_traits<
+      typename Container::iterator
+    > iterator_traits_type;
+
+  public:
+    typedef typename base_class::value_traits_type value_traits_type;
+
+  private:
+    // Methods that we *can't* support because of our value type
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        disabled_methods = (
+            detail::method_set_if<
+               type_traits::ice_not<
+                   value_traits_type::equality_comparable
+               >::value,
+                 method_index      // Impossible if !equality_comparable
+               | method_contains   // Impossible if !equality_comparable
+               | method_count      // Impossible if !equality_comparable
+            >::value
+
+          | detail::method_set_if<
+               type_traits::ice_not<
+                   value_traits_type::less_than_comparable
+               >::value,
+               method_sort         // Impossible if !less_than_comparable
+            >::value
+        ));
+
+  public:
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods =
+        iterator_traits_type::supported_methods & ~disabled_methods);
+  };
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for iterator_range instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <typename Iterator>
+    class algorithms_selector<iterator_range<Iterator> >
+    {
+      typedef iterator_range<Iterator> Container;
+
+      typedef iterator_range_traits<Container>       mutable_traits;
+      typedef iterator_range_traits<Container const> const_traits; // ?
+
+    public:
+      typedef default_algorithms<mutable_traits> mutable_algorithms;
+      typedef default_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = iterator_range_traits<Container>
+  >
+  struct iterator_range_suite
+    : container_suite<Container, MethodMask, default_algorithms<Traits> >
+  {
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_ITERATOR_RANGE_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/iterator_traits_header.py b/pyplusplus/code_repository/indexing_suite/iterator_traits_header.py
new file mode 100644
index 0000000..d698579
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/iterator_traits_header.py
@@ -0,0 +1,226 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/iterator_traits.hpp"
+
+code = """// -*- mode:c++ -*-
+//
+// Header file iterator_traits.hpp
+//
+// Traits information about iterators for use in determining what
+// Python methods to support for a container.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 8/23   rmg     File creation as iterator_suite.hpp
+// 2003/ 9/12   rmg     Renamed iterator_traits.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: iterator_traits.hpp,v 1.1.2.14 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_ITERATOR_TRAITS_HPP
+#define BOOST_PYTHON_INDEXING_ITERATOR_TRAITS_HPP
+
+#include <indexing_suite/suite_utils.hpp>
+#include <indexing_suite/methods.hpp>
+//#include <indexing_suite/workaround.hpp>
+
+//#include <boost/call_traits.hpp>
+//#include <boost/type_traits.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <boost/iterator/iterator_categories.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits common base class
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct base_iterator_traits
+  {
+  private:
+    typedef ::boost::detail::iterator_traits<Iterator> std_traits;
+    typedef typename std_traits::reference reference;
+
+  public:
+    //    typedef Iterator                             iterator;
+    //    typedef typename std_traits::value_type      value_type;
+    //    typedef typename std_traits::difference_type difference_type;
+
+    BOOST_STATIC_CONSTANT(
+        bool, has_mutable_ref = is_mutable_ref<reference>::value);
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits for input iterators
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct input_iterator_traits : base_iterator_traits<Iterator>
+  {
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+            method_iter
+        ));
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits for forward iterators
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct forward_iterator_traits
+    : public base_iterator_traits<Iterator>
+  {
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_len
+            | method_iter
+        ));
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits for bidirectional iterators
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct bidirectional_iterator_traits
+    : public forward_iterator_traits<Iterator>
+  {
+    typedef forward_iterator_traits<Iterator> base_class;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              base_class::supported_methods
+
+            | detail::method_set_if<
+                  base_class::has_mutable_ref,
+                  method_reverse
+              >::value
+        ));
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Indexing traits for random access iterators
+  //////////////////////////////////////////////////////////////////////////
+
+  template<typename Iterator>
+  struct random_access_iterator_traits
+    : public bidirectional_iterator_traits<Iterator>
+  {
+    typedef bidirectional_iterator_traits<Iterator> base_class;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+            (base_class::supported_methods & ~method_iter)
+
+            | method_getitem
+            | method_getitem_slice
+
+            | detail::method_set_if<
+                  base_class::has_mutable_ref,
+                  method_setitem
+                | method_setitem_slice
+              >::value
+
+            | method_index     // Assumes value is equality_comparable
+            | method_contains  // Assumes value is equality_comparable
+            | method_count     // Assumes value is equality_comparable
+
+            | detail::method_set_if<
+                  base_class::has_mutable_ref,
+                  method_sort
+              >::value         // Assumes value is less_than_comparable
+
+        ));
+  };
+
+  namespace iterator_detail {
+    // Some meta-progamming machinery to select the right
+    // indexing::iterator_traits template on the basis of
+    // BOOST_ITERATOR_CATEGORY
+
+    typedef char basic_iter_sizer[1];
+    typedef char forward_iter_sizer[2];
+    typedef char bidirectional_iter_sizer[3];
+    typedef char random_access_iter_sizer[4];
+
+    basic_iter_sizer         &sizer (void *);
+    forward_iter_sizer       &sizer (std::forward_iterator_tag *);
+    bidirectional_iter_sizer &sizer (std::bidirectional_iterator_tag *);
+    random_access_iter_sizer &sizer (std::random_access_iterator_tag *);
+
+    template<size_t Size> struct traits_by_size {
+      // Default implementation gives only the most basic support
+      template<typename Iterator>
+        struct traits {
+          typedef input_iterator_traits<Iterator> type;
+        };
+    };
+
+    template<>
+    struct traits_by_size<sizeof(forward_iter_sizer)> {
+      template<typename Iterator>
+        struct traits {
+          typedef forward_iterator_traits<Iterator> type;
+        };
+    };
+
+    template<>
+    struct traits_by_size<sizeof(bidirectional_iter_sizer)> {
+      template<typename Iterator>
+        struct traits {
+          typedef bidirectional_iterator_traits<Iterator> type;
+        };
+    };
+
+    template<>
+    struct traits_by_size<sizeof(random_access_iter_sizer)> {
+      template<typename Iterator>
+        struct traits {
+          typedef random_access_iterator_traits<Iterator> type;
+        };
+    };
+
+    template<typename Iterator>
+    class deduced_traits {
+      typedef typename ::boost::BOOST_ITERATOR_CATEGORY<Iterator>::type
+          category;
+
+      BOOST_STATIC_CONSTANT(
+          size_t, sizer_result = sizeof (sizer (new category)));
+
+    public:
+      typedef typename traits_by_size<sizer_result>
+        ::BOOST_NESTED_TEMPLATE traits<Iterator>::type type;
+    };
+  }
+
+  template<typename Iterator>
+  struct iterator_traits
+    : public iterator_detail::deduced_traits<Iterator>::type
+  {
+  };
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_ITERATOR_TRAITS_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/list_header.py b/pyplusplus/code_repository/indexing_suite/list_header.py
new file mode 100644
index 0000000..579dc61
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/list_header.py
@@ -0,0 +1,182 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/list.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file list.hpp
+//
+// Indexing algorithms support for std::list instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: list.hpp,v 1.1.2.7 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_LIST_HPP
+#define BOOST_PYTHON_INDEXING_LIST_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <list>
+
+#if BOOST_WORKAROUND (BOOST_MSVC, == 1200)
+# include <boost/static_assert.hpp>
+# include <boost/type_traits.hpp>
+#endif
+
+namespace boost { namespace python { namespace indexing {
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for std::list instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container, typename ValueTraits = detail::no_override>
+  class list_traits
+    : public base_container_traits<Container, ValueTraits>
+  {
+    typedef base_container_traits<Container, ValueTraits> base_class;
+
+  public:
+    typedef typename base_class::value_traits_type value_traits_type;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_len
+            | method_iter
+
+            | detail::method_set_if<
+                  value_traits_type::equality_comparable,
+                    method_contains
+                  | method_count
+              >::value
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                  method_reverse
+                  | method_append
+              >::value
+
+            | detail::method_set_if<
+                  type_traits::ice_and<
+                      base_class::is_mutable,
+                      value_traits_type::less_than_comparable
+                  >::value,
+                  method_sort
+              >::value
+
+        ));
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms implementation for std::list instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class list_algorithms
+    : public default_algorithms
+        <ContainerTraits,
+        typename detail::maybe_override
+            <list_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef list_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
+    typedef default_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::container container;
+
+    // Use member functions for the following (hiding base class versions)
+    static void      reverse    (container &);
+    static void      sort       (container &);
+    //    static void      sort       (container &, PyObject *);
+  };
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::list instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class T, class Allocator>
+    class algorithms_selector<std::list<T, Allocator> >
+    {
+      typedef std::list<T, Allocator> Container;
+
+      typedef list_traits<Container>       mutable_traits;
+      typedef list_traits<Container const> const_traits;
+
+    public:
+      typedef list_algorithms<mutable_traits> mutable_algorithms;
+      typedef list_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = list_traits<Container>
+  >
+  struct list_suite
+    : container_suite<Container, MethodMask, list_algorithms<Traits> >
+  {
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Reverse the contents of a list (using member function)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void list_algorithms<ContainerTraits, Ovr>::reverse (container &c)
+  {
+    c.reverse();
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Sort the contents of a list (using member function)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void list_algorithms<ContainerTraits, Ovr>::sort (container &c)
+  {
+    typedef typename self_type::container_traits::value_traits_type
+      vtraits;
+
+    typedef typename vtraits::less comparison;
+#if BOOST_WORKAROUND (BOOST_MSVC, == 1200)
+    // MSVC6 doesn't have a templated sort member in list, so we just
+    // use the parameterless version. This gives the correct behaviour
+    // provided that value_traits_type::less is exactly
+    // std::less<value_type>. It would be possible to support
+    // std::greater<T> (the only other overload of list::sort in
+    // MSVC6) with some additional work.
+    BOOST_STATIC_ASSERT(
+        (::boost::is_same<comparison, std::less<value_type> >::value));
+    c.sort ();
+#else
+    c.sort (comparison());
+#endif
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_LIST_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/map_header.py b/pyplusplus/code_repository/indexing_suite/map_header.py
new file mode 100644
index 0000000..920b9a6
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/map_header.py
@@ -0,0 +1,255 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/map.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file map.hpp
+//
+// Indexing algorithms support for std::map instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+// 2010/04/29   Roman   Adding "__len__" method
+//
+// $Id: map.hpp,v 1.1.2.6 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_MAP_HPP
+#define BOOST_PYTHON_INDEXING_MAP_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <boost/detail/workaround.hpp>
+#include <map>
+#include <indexing_suite/pair.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for std::map instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container>
+  class map_traits : public base_container_traits<Container>
+  {
+    typedef base_container_traits<Container> base_class;
+
+  public:
+# if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+    // MSVC6 has a nonstandard name for mapped_type in std::map
+    typedef typename Container::referent_type value_type;
+# else
+    typedef typename Container::mapped_type value_type;
+# endif
+    typedef value_type &                    reference;
+    typedef typename Container::key_type    index_type; // operator[]
+    typedef typename Container::key_type    key_type;   // find, count, ...
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <value_type>::param_type
+      value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <key_type>::param_type
+      key_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <index_type>::param_type
+      index_param;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_iter
+
+            | method_getitem
+            | method_contains
+            | method_count
+            | method_has_key
+            | method_len
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                    method_setitem
+                  | method_delitem
+                  | method_insert
+              >::value
+        ));
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms implementation for std::map instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class map_algorithms
+    : public assoc_algorithms
+        <ContainerTraits,
+        typename detail::maybe_override
+            <map_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef map_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
+    typedef assoc_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::container container;
+    typedef typename Parent::reference reference;
+    typedef typename Parent::index_param index_param;
+    typedef typename Parent::value_param value_param;
+
+    static reference get (container &, index_param);
+    // Version to return only the mapped type
+
+    static boost::python::list keys( container & );
+
+    static void      assign     (container &, index_param, value_param);
+    static void      insert     (container &, index_param, value_param);
+
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class( PythonClass &pyClass, Policy const &policy)
+    {
+      ContainerTraits::visit_container_class (pyClass, policy);
+      pyClass.def( "keys", &self_type::keys );
+
+      typedef BOOST_DEDUCED_TYPENAME most_derived::container::value_type value_type;
+      mapping::register_value_type< PythonClass, value_type, Policy >( pyClass );
+      //now we can expose iterators functionality
+      pyClass.def( "__iter__", python::iterator< BOOST_DEDUCED_TYPENAME most_derived::container >() );
+    }
+
+  };
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::map instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class Key, class T, class Compare, class Allocator>
+    class algorithms_selector<std::map<Key, T, Compare, Allocator> >
+    {
+      typedef std::map<Key, T, Compare, Allocator> Container;
+
+      typedef map_traits<Container>       mutable_traits;
+      typedef map_traits<Container const> const_traits;
+
+    public:
+      typedef map_algorithms<mutable_traits> mutable_algorithms;
+      typedef map_algorithms<const_traits>   const_algorithms;
+    };
+
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::multimap instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class Key, class T, class Compare, class Allocator>
+    class algorithms_selector<std::multimap<Key, T, Compare, Allocator> >
+    {
+      typedef std::multimap<Key, T, Compare, Allocator> Container;
+
+      typedef map_traits<Container>       mutable_traits;
+      typedef map_traits<Container const> const_traits;
+
+    public:
+      typedef map_algorithms<mutable_traits> mutable_algorithms;
+      typedef map_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = map_traits<Container>
+  >
+  struct map_suite
+    : container_suite<Container, MethodMask, map_algorithms<Traits> >
+  {
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Index into a container (map version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  BOOST_DEDUCED_TYPENAME map_algorithms<ContainerTraits, Ovr>::reference
+  map_algorithms<ContainerTraits, Ovr>::get (container &c, index_param ix)
+  {
+    return most_derived::find_or_throw (c, ix)->second;
+  }
+
+
+  template<typename ContainerTraits, typename Ovr>
+  boost::python::list
+  map_algorithms<ContainerTraits, Ovr>::keys( container &c )
+  {
+    boost::python::list _keys;
+    //For some reason code with set could not be compiled
+    //std::set< key_param > unique_keys;
+    typedef BOOST_DEDUCED_TYPENAME container::iterator iter_type;
+    for( iter_type index = most_derived::begin(c); index != most_derived::end(c); ++index ){
+        //if( unique_keys.end() == unique_keys.find( index->first ) ){
+        //    unique_keys.insert( index->first );
+        if( !_keys.count( index->first ) ){
+            _keys.append( index->first );
+        }
+        //}
+    }
+
+    return _keys;
+  }
+
+  /////////////////////////////////////////////////////////////////////////
+  // Assign a value at a particular index (map version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  map_algorithms<ContainerTraits, Ovr>::assign(
+      container &c, index_param ix, value_param val)
+  {
+    c[ix] = val;   // Handles overwrite and insert
+  }
+
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert a new key, value pair into a map
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  map_algorithms<ContainerTraits, Ovr>::insert(
+      container &c, index_param ix, value_param val)
+  {
+    typedef std::pair
+      <BOOST_DEDUCED_TYPENAME self_type::container_traits::index_type,
+      BOOST_DEDUCED_TYPENAME self_type::container_traits::value_type>
+      pair_type;
+
+    // Can't use std::make_pair, because param types may be references
+
+    if (!c.insert (pair_type (ix, val)).second)
+      {
+        PyErr_SetString(
+            PyExc_ValueError, "Map already holds value for insertion");
+
+        boost::python::throw_error_already_set ();
+      }
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_MAP_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/methods_header.py b/pyplusplus/code_repository/indexing_suite/methods_header.py
new file mode 100644
index 0000000..b2478fe
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/methods_header.py
@@ -0,0 +1,128 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/methods.hpp"
+
+code = """// Copyright (c) 2004 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file methods.hpp
+//
+// Methods (and sets of methods) that containers can provide.
+//
+// History
+// =======
+// 2004/ 1/11   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: methods.hpp,v 1.1.2.1 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_METHODS_HPP
+#define BOOST_PYTHON_INDEXING_METHODS_HPP
+
+#include <boost/config.hpp>
+#include <boost/mpl/if.hpp>
+
+namespace boost { namespace python { namespace indexing {
+
+  typedef unsigned long method_set_type;
+
+  enum methods_enum {
+    method_len            = 1UL <<  0,
+    method_iter           = 1UL <<  1,
+    method_getitem        = 1UL <<  2,
+    method_getitem_slice  = 1UL <<  3,
+    method_index          = 1UL <<  4,
+    method_contains       = 1UL <<  5,
+    method_count          = 1UL <<  6,
+    method_has_key        = 1UL <<  7,
+    method_setitem        = 1UL <<  8,
+    method_setitem_slice  = 1UL <<  9,
+    method_delitem        = 1UL << 10,
+    method_delitem_slice  = 1UL << 11,
+    method_reverse        = 1UL << 12,
+    method_append         = 1UL << 13,
+    method_insert         = 1UL << 14,
+    method_extend         = 1UL << 15,
+    method_sort           = 1UL << 16
+  };
+
+  // Some sets of methods that could be useful for disabling expensive
+  // features. e.g. something & ~(slice_methods | search_methods)
+
+  enum {
+    slice_methods
+      = method_getitem_slice | method_setitem_slice | method_delitem_slice
+  };
+
+  enum {
+    search_methods
+      = method_index | method_contains | method_count | method_has_key
+  };
+
+  enum {
+    reorder_methods
+      = method_sort | method_reverse
+  };
+
+  enum {
+    insert_methods
+      = method_append | method_insert | method_extend
+  };
+
+  enum {
+    all_methods = ~0UL
+  };
+
+  namespace detail {
+    // Compile-time constant selection:
+    //
+    // method_set_if<c, t, f>::value == (c ? t : f)
+    //
+    // where c is convertible to bool, and t and f are convertible to
+    // method_set_type. This gives a compile-time constant reliably on
+    // all supported compilers.
+
+    template<
+        bool Cond, method_set_type TrueValue, method_set_type FalseValue = 0>
+
+    struct method_set_if {
+      struct true_type {
+        BOOST_STATIC_CONSTANT(method_set_type, value = TrueValue);
+      };
+
+      struct false_type {
+        BOOST_STATIC_CONSTANT(method_set_type, value = FalseValue);
+      };
+
+      typedef typename mpl::if_c<Cond, true_type, false_type>::type
+          result_type;
+
+      BOOST_STATIC_CONSTANT(method_set_type, value = result_type::value);
+    };
+
+    // Compile-time set membership test:
+    // is_member<set, mem>::value == (bool) set & mem
+    template<method_set_type Set, method_set_type Member>
+    struct is_member {
+      // Use a cast to prevent MSVC truncation warning C4305
+      BOOST_STATIC_CONSTANT (bool, value = (bool) (Set & Member));
+    };
+  }
+
+} } } // boost::python::indexing
+
+#endif // BOOST_PYTHON_INDEXING_METHODS_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/multimap_header.py b/pyplusplus/code_repository/indexing_suite/multimap_header.py
new file mode 100644
index 0000000..caafc15
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/multimap_header.py
@@ -0,0 +1,220 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/multimap.hpp"
+
+code = """// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file multimap.hpp
+//
+// Indexing algorithms support for std::multimap instances
+//
+// History
+// =======
+// 2006/10/27   Roman     File creation from map.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+// 2010/04/29   Roman   Adding "__len__" method
+//
+
+#ifndef BOOST_PYTHON_INDEXING_MULTIMAP_HPP
+#define BOOST_PYTHON_INDEXING_MULTIMAP_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <boost/detail/workaround.hpp>
+#include <functional>
+#include <map>
+#include <indexing_suite/pair.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for std::map instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container>
+  class multimap_traits : public base_container_traits<Container>
+  {
+    typedef base_container_traits<Container> base_class;
+
+  public:
+# if BOOST_WORKAROUND (BOOST_MSVC, <= 1200)
+    // MSVC6 has a nonstandard name for mapped_type in std::multimap
+    typedef typename Container::referent_type value_type;
+# else
+    typedef typename Container::mapped_type value_type;
+# endif
+    typedef value_type &                    reference;
+    typedef typename Container::key_type    index_type; // operator[]
+    typedef typename Container::key_type    key_type;   // find, count, ...
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <value_type>::param_type
+      value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <key_type>::param_type
+      key_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <index_type>::param_type
+      index_param;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_iter
+
+            | method_getitem
+            | method_contains
+            | method_count
+            | method_has_key
+            | method_len
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                    method_setitem
+                  | method_delitem
+                  | method_insert
+              >::value
+        ));
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms implementation for std::multimap instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class multimap_algorithms
+    : public assoc_algorithms
+        <ContainerTraits,
+        typename detail::maybe_override
+            <multimap_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef multimap_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
+    typedef assoc_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::container container;
+    typedef typename Parent::reference reference;
+    typedef typename Parent::index_param index_param;
+    typedef typename Parent::value_param value_param;
+
+    static boost::python::list get (container &, index_param);
+    // Version to return only the mapped type
+
+    static boost::python::list keys( container & );
+
+    static void      assign     (container &, index_param, value_param);
+    static void      insert     (container &, index_param, value_param);
+
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class( PythonClass &pyClass, Policy const &policy)
+    {
+      ContainerTraits::visit_container_class (pyClass, policy);
+      pyClass.def( "keys", &self_type::keys );
+
+      typedef BOOST_DEDUCED_TYPENAME most_derived::container::value_type value_type;
+      mapping::register_value_type< PythonClass, value_type, Policy >( pyClass );
+      //now we can expose iterators functionality
+      pyClass.def( "__iter__", python::iterator< BOOST_DEDUCED_TYPENAME most_derived::container >() );
+
+    }
+
+  };
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = multimap_traits<Container>
+  >
+  struct multimap_suite
+    : container_suite<Container, MethodMask, multimap_algorithms<Traits> >
+  {
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Index into a container (multimap version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  boost::python::list
+  multimap_algorithms<ContainerTraits, Ovr>::get (container &c, index_param ix)
+  {
+    boost::python::list l;
+    typedef BOOST_DEDUCED_TYPENAME container::iterator iter_type;
+    for( iter_type index = c.lower_bound( ix ); index != c.upper_bound( ix ); ++index ){
+        boost::python::object v( index->second );
+        l.append( v );
+    }
+    return l;
+  }
+
+  template<typename ContainerTraits, typename Ovr>
+  boost::python::list
+  multimap_algorithms<ContainerTraits, Ovr>::keys( container &c )
+  {
+    boost::python::list _keys;
+    //For some reason code with set could not be compiled
+    //std::set< key_param > unique_keys;
+    typedef BOOST_DEDUCED_TYPENAME container::iterator iter_type;
+    for( iter_type index = most_derived::begin(c); index != most_derived::end(c); ++index ){
+        //if( unique_keys.end() == unique_keys.find( index->first ) ){
+        //    unique_keys.insert( index->first );
+        if( !_keys.count( index->first ) ){
+            _keys.append( index->first );
+        }
+        //}
+    }
+
+    return _keys;
+  }
+
+
+  /////////////////////////////////////////////////////////////////////////
+  // Assign a value at a particular index (map version)
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  multimap_algorithms<ContainerTraits, Ovr>::assign(
+      container &c, index_param ix, value_param val)
+  {
+    typedef std::pair<
+        BOOST_DEDUCED_TYPENAME self_type::container_traits::index_type
+        , BOOST_DEDUCED_TYPENAME self_type::container_traits::value_type>
+    pair_type;
+
+    // Can't use std::make_pair, because param types may be references
+    c.insert (pair_type (ix, val));
+  }
+
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert a new key, value pair into a map
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  multimap_algorithms<ContainerTraits, Ovr>::insert(
+      container &c, index_param ix, value_param val)
+  {
+    typedef std::pair
+      <BOOST_DEDUCED_TYPENAME self_type::container_traits::index_type,
+      BOOST_DEDUCED_TYPENAME self_type::container_traits::value_type>
+      pair_type;
+
+    // Can't use std::make_pair, because param types may be references
+    c.insert (pair_type (ix, val) );
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_MULTIMAP_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/pair_header.py b/pyplusplus/code_repository/indexing_suite/pair_header.py
new file mode 100644
index 0000000..9adbeae
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/pair_header.py
@@ -0,0 +1,119 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/pair.hpp"
+
+code = """// Header file pair.hpp
+//
+// Exposes std::pair< key, value > class
+//
+// Copyright (c) 2007 Roman Yakovenko
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2007/2/11   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+
+#ifndef BOOST_PYTHON_STD_PAIR_KEY_VALUE_11_02_2007_HPP
+#define BOOST_PYTHON_STD_PAIR_KEY_VALUE_11_02_2007_HPP
+
+#include <boost/config.hpp>
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/registry_utils.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <boost/detail/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing { namespace mapping{
+
+namespace details{
+
+template< typename TValueType, typename TValueCallPolicies >
+struct pair_exposer_t{
+
+    typedef TValueType pair_type;
+    typedef BOOST_DEDUCED_TYPENAME pair_type::first_type key_type;
+    typedef BOOST_DEDUCED_TYPENAME pair_type::second_type mapped_type;
+    typedef pair_exposer_t< TValueType, TValueCallPolicies > exposer_type;
+
+    pair_exposer_t(const std::string& name){
+        if( boost::python::registry::utils::is_registered< pair_type >() ){
+            boost::python::registry::utils::register_alias<pair_type>( name.c_str() );
+        }
+        else{
+            class_< pair_type >( name.c_str() )
+                .def( "__len__", &exposer_type::len )
+                .def( "__getitem__", &exposer_type::get_item )
+                .add_property( "key", &exposer_type::get_key )
+                .add_property( "value", &exposer_type::get_mapped );
+        }
+    }
+
+private:
+
+    static size_t len( const pair_type& ){
+        return 2;
+    }
+
+    static object get_item( pair_type& p, size_t index ){
+        switch( index ){
+            case 0:{
+                return get_key( p );
+            }
+            case 1:{
+                return get_mapped( p );
+            }
+            case 2:{
+                objects::stop_iteration_error();
+                return object(); //will not reach this line
+            }
+            default:{
+                PyErr_SetString( PyExc_IndexError, "the only valid index numbers are: 0 and 1");
+                throw_error_already_set();
+                return object(); //will not reach this line
+            }
+        }
+    }
+
+    static object get_key( const pair_type& p ){
+        return object( p.first );
+    }
+
+    static object get_mapped( pair_type& p ){
+        typedef BOOST_DEDUCED_TYPENAME TValueCallPolicies::result_converter rc_type;
+        typedef BOOST_DEDUCED_TYPENAME rc_type:: template apply< mapped_type >::type converter_type;
+        converter_type converter;
+        return object( handle<>( converter( p.second ) ) );
+    }
+
+};
+} //details
+
+template< typename TPythonClass, typename TValueType, typename TValueCallPolicies >
+inline void register_value_type(TPythonClass &pyClass){
+    typedef details::pair_exposer_t< TValueType, TValueCallPolicies > exposer_type;
+
+    object class_name(pyClass.attr("__name__"));
+    extract<std::string> class_name_extractor(class_name);
+    std::string pair_name = class_name_extractor() + "_entry";
+
+    exposer_type expose( pair_name );
+}
+
+} } } }
+
+#endif // BOOST_PYTHON_STD_PAIR_KEY_VALUE_11_02_2007_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/proxy_iterator_header.py b/pyplusplus/code_repository/indexing_suite/proxy_iterator_header.py
new file mode 100644
index 0000000..587f1eb
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/proxy_iterator_header.py
@@ -0,0 +1,178 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/proxy_iterator.hpp"
+
+code = """
+// Header file proxy_iterator.hpp
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/10/ 8   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: proxy_iterator.hpp,v 1.1.2.8 2003/12/05 17:36:14 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_PROXY_ITERATOR_HPP
+#define BOOST_PYTHON_INDEXING_PROXY_ITERATOR_HPP
+
+#include <iterator>
+#include <boost/config.hpp>
+#include <boost/iterator.hpp>
+#include <boost/detail/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing {
+
+  template <class ContainerProxy, typename ElementProxy, typename Traits,
+      typename Size, typename Iter>
+  class proxy_iterator
+    : public boost::iterator<
+          std::random_access_iterator_tag,
+          ElementProxy,
+          typename Traits::difference_type,
+          ElementProxy *,
+          ElementProxy // Already has reference semantics
+      >
+  {
+#if !defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+    template<class C, class H, class G> friend class container_proxy;
+#endif
+
+    typedef boost::iterator<
+        std::random_access_iterator_tag,
+        ElementProxy,
+        typename Traits::difference_type,
+        ElementProxy *,
+        ElementProxy
+    > base_type;
+
+  public:
+    typedef ContainerProxy container_proxy_type;
+
+    typedef Iter raw_iterator;
+    typedef Traits raw_iterator_traits;
+    typedef Size size_type;
+    typedef typename base_type::value_type value_type;
+    typedef typename base_type::difference_type difference_type;
+
+    typedef value_type *pointer;
+    typedef value_type reference; // Already has reference semantics
+
+    proxy_iterator (container_proxy_type *p, size_type i)
+      : ptr (p), index (i)
+    {
+    }
+
+    proxy_iterator (container_proxy_type *p, raw_iterator iter)
+      : ptr (p), index (iter - p->raw_container().begin())
+    {
+    }
+
+    reference operator*() const { return ptr->at(index); }
+    pointer operator->() const { return &ptr->at(index); }
+    reference operator[](size_type s) { return ptr->at (index + s); }
+
+    proxy_iterator &operator++ () { ++index; return *this; }
+    proxy_iterator &operator+= (size_type s) { index += s; return *this; }
+
+    proxy_iterator &operator-- () { --index; return *this; }
+
+    proxy_iterator operator++ (int) {
+      proxy_iterator temp(*this);
+      ++index;
+      return temp;
+    }
+
+    proxy_iterator operator-- (int) {
+      proxy_iterator temp(*this);
+      --index;
+      return temp;
+    }
+
+    proxy_iterator &operator-= (size_type s) { index -= s; return *this; }
+
+    proxy_iterator operator+ (size_type s) const {
+      return proxy_iterator(*this) += s;
+    }
+
+    proxy_iterator operator- (size_type s) const {
+      return proxy_iterator(*this) -= s;
+    }
+
+    difference_type operator- (proxy_iterator i) const {
+      return index - i.index;
+    }
+
+    bool operator== (proxy_iterator const &other) const {
+      return (ptr == other.ptr) && (index == other.index);
+    }
+
+    bool operator!= (proxy_iterator const &other) const {
+      return !(*this == other);
+    }
+
+    bool operator< (proxy_iterator const &other) const {
+      return index < other.index;
+    }
+
+    bool operator<= (proxy_iterator const &other) const {
+      return index <= other.index;
+    }
+
+    bool operator> (proxy_iterator const &other) const {
+      return index > other.index;
+    }
+
+    bool operator>= (proxy_iterator const &other) const {
+      return index >= other.index;
+    }
+
+    void iter_swap (proxy_iterator const &other) const {
+      ptr->swap_elements (index, other.index);
+    }
+
+    //  public:
+    // Extensions to the normal iterator interface
+    //    void replace (value_type const &copy) { ptr->replace (index, copy); }
+
+#if defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+    // Can't declare container_proxy as friend, so make data public
+  public:
+#else
+  private:
+#endif
+    container_proxy_type *ptr;
+    size_type index;
+  };
+} } }
+
+#if !BOOST_WORKAROUND (BOOST_MSVC, == 1300)
+// MSVC7.0 can't decide between this and the unspecialized version
+namespace std {
+  template <class C, typename E, typename T, typename S, typename I>
+  void iter_swap(
+      boost::python::indexing::proxy_iterator<C, E, T, S, I> const &first,
+      boost::python::indexing::proxy_iterator<C, E, T, S, I> const &second)
+  {
+    first.iter_swap (second);
+  }
+}
+#endif
+
+#endif // BOOST_PYTHON_INDEXING_PROXY_ITERATOR_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/python_iterator_header.py b/pyplusplus/code_repository/indexing_suite/python_iterator_header.py
new file mode 100644
index 0000000..2419748
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/python_iterator_header.py
@@ -0,0 +1,95 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/python_iterator.hpp"
+
+code = """// -*- mode:c++ -*-
+//
+// Header file python_iterator.hpp
+//
+// Handy Python iterable iterators
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/10   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: python_iterator.hpp,v 1.1.2.5 2003/11/24 16:35:09 raoulgough Exp $
+//
+// 2008 November 27 Roman Yakovenko
+// implementation of the member functions was moved from cpp to header.
+// this was done to simplify "installation" procedure.
+
+#ifndef BOOST_PYTHON_INDEXING_PYTHON_ITERATOR_HPP
+#define BOOST_PYTHON_INDEXING_PYTHON_ITERATOR_HPP
+
+#include <boost/python/object.hpp>
+#include <boost/python/handle.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  struct /*BOOST_PYTHON_DECL*/ python_iterator
+  {
+    python_iterator (boost::python::object obj)
+    : m_iter_obj (handle<> (PyObject_GetIter (obj.ptr()))),
+      m_next_method (m_iter_obj.attr ("next")),
+      m_current()
+    {
+    }
+
+    // Sets a python type exception and calls throw_error_already_set if
+    // the passed object is not iterable via PyObject_GetIter
+
+    bool next ()
+    {
+        bool result = true; // Assume success
+
+        try
+        {
+            m_current = m_next_method ();
+        }
+        catch (boost::python::error_already_set const &)
+        {
+            if (PyErr_ExceptionMatches (PyExc_StopIteration))
+            {
+                // Eat this exception
+                PyErr_Clear ();
+                m_current = boost::python::object (); // No current object
+                result = false; // Report failure via return value only
+            }
+            else
+            {
+                // Pass it up the line
+                throw;
+            }
+        }
+        return result;
+    }
+    // Get the next item from the iterator, returning true for success
+
+    boost::python::object current() const
+    { return m_current; }
+    // Callable only after a successful next()
+
+  private:
+    ::boost::python::object m_iter_obj;
+    ::boost::python::object m_next_method;
+    ::boost::python::object m_current;
+  };
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_PYTHON_ITERATOR_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/registry_utils_header.py b/pyplusplus/code_repository/indexing_suite/registry_utils_header.py
new file mode 100644
index 0000000..df5b7f9
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/registry_utils_header.py
@@ -0,0 +1,55 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/registry_utils.hpp"
+
+code = """// Header file registry_utils.hpp
+//
+// provides few convenience functions for dealing with boost:python registry
+//
+// Copyright (c) 2010 Roman Yakovenko
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2010/01/12   Roman     File creation
+//
+
+#ifndef REGISTRY_UTILS_12_01_2010_HPP
+#define REGISTRY_UTILS_12_01_2010_HPP
+
+#include <boost/config.hpp>
+#include "boost/python.hpp"
+#include "boost/python/converter/registry.hpp"
+
+namespace boost{ namespace python{ namespace registry{ namespace utils{
+
+template<class T>
+bool is_registered(){
+    namespace bpl = boost::python;
+    bpl::handle<> class_obj( bpl::objects::registered_class_object( bpl::type_id< T >()));
+    return class_obj.get() ? true : false;
+}
+
+template< class T >
+void register_alias( const char* name ){
+    namespace bpl = boost::python;
+    bpl::handle<> class_obj( bpl::objects::registered_class_object( bpl::type_id< T >()));
+    boost::python::scope().attr( name ) = bpl::object( class_obj );
+}
+
+}}}}
+
+#endif // REGISTRY_UTILS_12_01_2010_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/set_header.py b/pyplusplus/code_repository/indexing_suite/set_header.py
new file mode 100644
index 0000000..3630dea
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/set_header.py
@@ -0,0 +1,184 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/set.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file set.hpp
+//
+// Indexing algorithms support for std::set instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+// 2010/04/29   Roman   Adding "__len__" method
+//
+// $Id: set.hpp,v 1.1.2.6 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_SET_HPP
+#define BOOST_PYTHON_INDEXING_SET_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <set>
+
+namespace boost { namespace python { namespace indexing {
+  /////////////////////////////////////////////////////////////////////////
+  // ContainerTraits implementation for std::set instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename Container>
+  class set_traits : public base_container_traits<Container>
+  {
+    typedef base_container_traits<Container> base_class;
+
+  public:
+    typedef typename Container::key_type value_type; // probably unused
+    typedef typename Container::key_type index_type; // operator[]
+    typedef typename Container::key_type key_type;   // find, count, ...
+
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <value_type>::param_type
+        value_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <key_type>::param_type
+        key_param;
+    typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <index_type>::param_type
+        index_param;
+
+    BOOST_STATIC_CONSTANT(
+        method_set_type,
+        supported_methods = (
+              method_iter
+            | method_getitem
+            | method_contains
+            | method_count
+            | method_has_key
+            | method_len
+
+            | detail::method_set_if<
+                  base_class::is_mutable,
+                    method_delitem
+                  | method_insert
+              >::value
+        ));
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Algorithms implementation for std::set instances
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr = detail::no_override>
+  class set_algorithms
+    : public assoc_algorithms
+        <ContainerTraits,
+        typename detail::maybe_override
+            <set_algorithms<ContainerTraits, Ovr>, Ovr>
+          ::type>
+  {
+    typedef set_algorithms<ContainerTraits, Ovr> self_type;
+    typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
+    typedef assoc_algorithms<ContainerTraits, most_derived> Parent;
+
+  public:
+    typedef typename Parent::container container;
+    typedef typename Parent::value_param value_param;
+    typedef typename Parent::index_param index_param;
+
+    static void      insert     (container &, index_param);
+
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class( PythonClass &pyClass, Policy const &policy)
+    {
+      ContainerTraits::visit_container_class (pyClass, policy);
+      pyClass.def( "add", &self_type::insert );
+    }
+
+  };
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::set instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class Key, class Compare, class Allocator>
+    class algorithms_selector<std::set<Key, Compare, Allocator> >
+    {
+      typedef std::set<Key, Compare, Allocator> Container;
+
+      typedef set_traits<Container>       mutable_traits;
+      typedef set_traits<Container const> const_traits;
+
+    public:
+      typedef set_algorithms<mutable_traits> mutable_algorithms;
+      typedef set_algorithms<const_traits>   const_algorithms;
+    };
+
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::multiset instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class Key, class Compare, class Allocator>
+    class algorithms_selector<std::multiset<Key, Compare, Allocator> >
+    {
+      typedef std::multiset<Key, Compare, Allocator> Container;
+
+      typedef set_traits<Container>       mutable_traits;
+      typedef set_traits<Container const> const_traits;
+
+    public:
+      typedef set_algorithms<mutable_traits> mutable_algorithms;
+      typedef set_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = set_traits<Container>
+  >
+  struct set_suite
+    : container_suite<Container, MethodMask, set_algorithms<Traits> >
+  {
+  };
+
+  /////////////////////////////////////////////////////////////////////////
+  // Insert an element into a set
+  /////////////////////////////////////////////////////////////////////////
+
+  template<typename ContainerTraits, typename Ovr>
+  void
+  set_algorithms<ContainerTraits, Ovr>::insert(
+      container &c, index_param ix)
+  {
+    c.insert (ix);
+    //~ Python set does not raise exception in this situation
+    //~ if (!c.insert (ix).second)
+      //~ {
+        //~ PyErr_SetString(
+            //~ PyExc_ValueError, "Set already holds value for insertion");
+
+        //~ boost::python::throw_error_already_set ();
+      //~ }
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_SET_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/shared_proxy_impl_header.py b/pyplusplus/code_repository/indexing_suite/shared_proxy_impl_header.py
new file mode 100644
index 0000000..90e6cc7
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/shared_proxy_impl_header.py
@@ -0,0 +1,120 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/shared_proxy_impl.hpp"
+
+code = """//
+// Header file shared_proxy_impl.hpp
+//
+// The shared implementation of the element proxy (const and non-const
+// versions).  Multiple proxy pointers can refer to the same shared
+// implementation, meaning that only one object requires updating to
+// affect all proxy pointers that ultimately refer to the same index
+// in the container.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 8/29   rmg     File creation from container_proxy.hh
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: shared_proxy_impl.hpp,v 1.1.2.8 2003/11/24 14:28:31 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_SHARED_PROXY_IMPL_HPP
+#define BOOST_PYTHON_INDEXING_SHARED_PROXY_IMPL_HPP
+
+#include <memory>
+#include <indexing_suite/workaround.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<class ContainerProxy>
+  class shared_proxy_impl
+  {
+  public:
+    typedef typename ContainerProxy::raw_value_type value_type;
+    typedef value_type &reference;
+    typedef value_type *pointer;
+    typedef void iterator_category;  // Fudge for boost::indirect_iterator
+    typedef void difference_type;    // Fudge for boost::indirect_iterator
+
+    reference operator*() const;
+    pointer operator->() const { return &(**this); }
+
+    ContainerProxy *owner() const { return m_owner_ptr; }
+    size_t index() const { return m_index; }
+
+    shared_proxy_impl (value_type const &copy);
+    // Creates value-only (detached) proxy
+
+#if defined (BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+  public:
+#else
+  private:
+    template<class C, class A, class G> friend class container_proxy;
+#endif
+
+    shared_proxy_impl (ContainerProxy *, size_t);
+    void detach ();
+
+    ContainerProxy *m_owner_ptr;             // When attached
+    size_t m_index;                          // When attached
+    std::auto_ptr<value_type> m_element_ptr; // When detached
+
+  private:
+    // Not implemented
+    shared_proxy_impl (shared_proxy_impl const &);
+    shared_proxy_impl &operator= (shared_proxy_impl const &);
+  };
+
+  template<class ContainerProxy>
+  shared_proxy_impl<ContainerProxy>::shared_proxy_impl (ContainerProxy *owner,
+                                                        size_t index)
+    : m_owner_ptr (owner),
+    m_index (index),
+    m_element_ptr ()
+  {
+  }
+
+  template<class ContainerProxy>
+  shared_proxy_impl<ContainerProxy>::shared_proxy_impl (value_type const &val)
+    : m_owner_ptr (0),
+    m_index (static_cast<size_t>(-1)),
+    m_element_ptr (new value_type (val))
+  {
+  }
+
+  template<class ContainerProxy>
+  typename shared_proxy_impl<ContainerProxy>::reference
+  shared_proxy_impl<ContainerProxy>::operator* () const
+  {
+    return m_owner_ptr
+      ? m_owner_ptr->raw_container().BOOST_PYTHON_INDEXING_AT (m_index)
+      : *m_element_ptr;
+  }
+
+  template<class ContainerProxy>
+  void shared_proxy_impl<ContainerProxy>::detach ()
+  {
+    BOOST_PYTHON_INDEXING_RESET_AUTO_PTR(
+        m_element_ptr, new value_type (**this));
+    m_owner_ptr = 0;
+    m_index = static_cast<size_t>(-1);
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_SHARED_PROXY_IMPL_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/slice_handler_header.py b/pyplusplus/code_repository/indexing_suite/slice_handler_header.py
new file mode 100644
index 0000000..75e7230
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/slice_handler_header.py
@@ -0,0 +1,316 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/slice_handler.hpp"
+
+code = """// -*- mode:c++ -*-
+//
+// Header file slice_handler.hpp
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/ 9   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+// 2009/01/30   Roman   patch from Maik Beckmann was applied - fixes error:
+//                      // error: no class template named 'extract_return_type'
+// $Id: slice_handler.hpp,v 1.1.2.10 2003/11/24 16:35:52 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_SLICE_HANDLER_HPP
+#define BOOST_PYTHON_INDEXING_SLICE_HANDLER_HPP
+
+#include <boost/python/handle.hpp>
+#include <boost/python/object.hpp>
+#include <boost/python/list.hpp>
+#include <boost/python/extract.hpp>
+#include <boost/python/make_function.hpp>
+#include <boost/mpl/apply.hpp>
+#include <algorithm>
+
+#include <indexing_suite/slice.hpp>
+#include <indexing_suite/python_iterator.hpp>
+
+namespace boost { namespace python { namespace indexing {
+  template<class Algorithms, class Policy>
+  struct slice_handler
+  {
+    static boost::python::object make_getitem (Policy const &);
+    static boost::python::object make_setitem (Policy const &);
+    static boost::python::object make_delitem (Policy const &);
+    static boost::python::object make_extend  (Policy const &);
+
+  private:
+    typedef typename Algorithms::container container;
+    typedef typename Algorithms::reference reference;
+    typedef typename Algorithms::slice_helper slice_helper;
+
+    static boost::python::list get_slice (container &, slice);
+    static void set_slice (container &, slice, boost::python::object);
+    static void del_slice (container &, slice);
+    static void extend (container &, boost::python::object);
+  };
+
+  namespace detail {
+    template<typename Policy>
+    struct postcall_override
+    {
+      // This class overrides the Policy's postcall function and
+      // result_conveter to handle the list returned from get_slice.
+      // The Policy's result_converter is removed, since it gets
+      // applied within get_slice. Our postcall override applies the
+      // original postcall to each element of the Python list returned
+      // from get_slice.
+
+      typedef boost::python::default_result_converter result_converter;
+      typedef typename Policy::argument_package argument_package;
+
+      template<class Sig> struct extract_return_type : 
+      Policy::template extract_return_type<Sig> { };
+
+      postcall_override (Policy const &p);
+
+      bool precall (PyObject *args);
+      PyObject* postcall (PyObject *args, PyObject *result);
+
+    private:
+      Policy m_base;
+    };
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Return a function object that implements the slice version of __getitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::object
+  slice_handler<Algorithms, Policy>
+  ::make_getitem (Policy const &policy)
+  {
+    return
+      boost::python::make_function(
+          get_slice, detail::postcall_override<Policy> (policy));
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Return a function object that implements the slice version of __setitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::object
+  slice_handler<Algorithms, Policy>
+  ::make_setitem (Policy const &policy)
+  {
+    // should we try to get funky with policy::precall?
+    return boost::python::make_function (set_slice, policy);
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Return a function object that implements the slice version of __delitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::object
+  slice_handler<Algorithms, Policy>
+  ::make_delitem (Policy const &policy)
+  {
+    // should we try to get funky with policy::precall?
+    return boost::python::make_function (del_slice, policy);
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Return a function object that implements extend
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::object
+  slice_handler<Algorithms, Policy>
+  ::make_extend (Policy const &policy)
+  {
+    // should we try to get funky with policy::precall?
+    return boost::python::make_function (extend, policy);
+  }
+
+  namespace detail {
+    ////////////////////////////////////////////////////////////////////////
+    // postcall_override constructor
+    ////////////////////////////////////////////////////////////////////////
+
+    template<class Policy>
+    postcall_override<Policy>::postcall_override (Policy const &p)
+      : m_base (p)
+    {
+    }
+
+    ////////////////////////////////////////////////////////////////////////
+    // precall forwarder
+    ////////////////////////////////////////////////////////////////////////
+
+    template<class Policy>
+    bool postcall_override<Policy>::precall (PyObject *args)
+    {
+      return m_base.precall (args);
+    }
+
+    ////////////////////////////////////////////////////////////////////////
+    // Apply base postcall to each element of the list returend by get_slice
+    ////////////////////////////////////////////////////////////////////////
+
+    template<class Policy>
+    PyObject *
+    postcall_override<Policy>::postcall (PyObject *args, PyObject *result)
+    {
+      int size = PyList_Size (result);
+
+      for (int count = 0; count < size; ++count)
+        {
+          m_base.postcall (args, PyList_GetItem (result, count));
+        }
+
+      return result;
+    }
+  } // namespace detail
+
+  //////////////////////////////////////////////////////////////////////////
+  // Implementation for the slice version of __getitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  boost::python::list
+  slice_handler<Algorithms, Policy>
+  ::get_slice (container &c, slice sl)
+  {
+    typedef typename Policy::result_converter converter_type;
+    typedef typename Algorithms::reference reference;
+
+    typename boost::mpl::apply1<converter_type, reference>::type
+      converter;
+
+    boost::python::list result;
+
+    slice_helper helper (Algorithms::make_slice_helper (c, sl));
+
+    while (helper.next())
+      {
+        // Apply the result converter (only) to each element before
+        // appending. postcall is done in postcall_override
+
+        result.append (boost::python::handle<> (converter (helper.current())));
+      }
+
+    return result;
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Implementation for the slice version of __setitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  void
+  slice_handler<Algorithms, Policy>
+  ::set_slice (container &c, slice sl, boost::python::object values)
+  {
+    python_iterator value_iter (values);
+
+    // Try two kinds of extractors - the first is more efficient (using
+    // a reference to existing object, if possible and sensible) and the
+    // second allowing implicit conversions.
+
+    typedef boost::python::extract<
+        BOOST_DEDUCED_TYPENAME Algorithms::value_param> extractor1;
+
+    typedef boost::python::extract<
+        BOOST_DEDUCED_TYPENAME Algorithms::value_type> extractor2;
+
+    // Note: any error during this operation will probably leave the
+    // container partially updated. This can occur (for example) if the
+    // replacement sequence is of a different length to the original
+    // slice and the container does not support insertion/deletion.
+    // This could be prevented if the length of the replacement sequence
+    // is known in advance (via __len__, for example) but not otherwise.
+
+    slice_helper write_helper (Algorithms::make_slice_helper (c, sl));
+
+    // Overwrite and/or insert elements
+    while (value_iter.next())
+      {
+        extractor1 ex1 (value_iter.current());
+
+        if (ex1.check())
+          {
+            write_helper.write (ex1);
+          }
+
+        else
+          {
+            write_helper.write (extractor2 (value_iter.current()));
+          }
+      }
+
+    if (write_helper.next())
+      {
+        // We've run out of elements to read, but write_helper is not
+        // finished. Erase the remaining element(s) in the slice
+        write_helper.erase_remaining();
+      }
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Implementation for the slice version of __delitem__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  void
+  slice_handler<Algorithms, Policy>
+  ::del_slice (container &c, slice sl)
+  {
+    slice_helper helper (Algorithms::make_slice_helper (c, sl));
+
+    if (helper.next())
+      {
+        helper.erase_remaining();
+      }
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Implementation of extend
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy>
+  void
+  slice_handler<Algorithms, Policy>
+  ::extend (container &c, boost::python::object values)
+  {
+    // Set up a slice at the tail end of the container, and use
+    // set_slice to do all the hard work.
+
+    boost::python::object length
+      ((boost::python::handle<>
+        (PyLong_FromLong (Algorithms::size (c)))));
+
+    slice sl
+      ((boost::python::handle<>
+        (PySlice_New
+         (length.ptr(),
+          boost::python::object().ptr(),
+          boost::python::object().ptr()))));
+
+    set_slice (c, sl, values);
+  }
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_SLICE_HANDLER_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/slice_header.py b/pyplusplus/code_repository/indexing_suite/slice_header.py
new file mode 100644
index 0000000..bd8c661
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/slice_header.py
@@ -0,0 +1,161 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/slice.hpp"
+
+code = """// Header file slice.hpp
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 9/10   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: slice.hpp,v 1.1.2.10 2003/11/24 14:28:31 raoulgough Exp $
+//
+// 2008 November 27 Roman Yakovenko
+// implementation of the member functions was moved from cpp to header.
+// this was done to simplify "installation" procedure.
+
+#ifndef BOOST_PYTHON_INDEXING_SLICE_HPP
+#define BOOST_PYTHON_INDEXING_SLICE_HPP
+
+#include <boost/python/object.hpp>
+#include <boost/python/errors.hpp>
+#include <boost/python/converter/pytype_object_mgr_traits.hpp>
+#include <algorithm>
+
+namespace boost { namespace python { namespace indexing {
+  struct /*BOOST_PYTHON_DECL*/ slice : public boost::python::object
+  {
+    // This is just a thin wrapper around boost::python::object
+    // so that it is possible to register a special converter for
+    // PySlice_Type and overload C++ functions on slice
+
+#if defined (BOOST_NO_MEMBER_TEMPLATES)
+    // MSVC6 doesn't seem to be able to invoke the templated
+    // constructor, so provide explicit overloads to match the
+    // (currently) known boost::python::object constructors
+    explicit slice (::boost::python::handle<> const& p)
+    : object (p)
+    {}
+
+    explicit slice (::boost::python::detail::borrowed_reference p)
+    : object (p)
+    {}
+
+    explicit slice (::boost::python::detail::new_reference p)
+    : object (p)
+    {}
+
+    explicit slice (::boost::python::detail::new_non_null_reference p)
+    : object (p)
+    {}
+#else
+    // Better compilers make life easier
+    template<typename T> inline slice (T const &ref);
+#endif
+
+    slice (slice const & copy) // Copy constructor
+    : object (copy)
+    {}
+  };
+
+  struct /*BOOST_PYTHON_DECL*/ integer_slice
+  {
+    // This class provides a convenient interface to Python slice
+    // objects that contain integer bound and stride values.
+
+    #if PY_VERSION_HEX < 0x02050000
+        typedef int index_type;
+    #else
+        typedef Py_ssize_t index_type;
+    #endif
+
+    integer_slice (slice const & sl, index_type length)
+      : m_slice (sl) // Leave index members uninitialized
+    {
+        PySlice_GetIndices(
+    #if PY_VERSION_HEX > 0x03020000
+            reinterpret_cast<PyObject *> (m_slice.ptr()),
+    #else
+            reinterpret_cast<PySliceObject *> (m_slice.ptr()),
+    #endif
+            length,
+            &m_start,
+            &m_stop,
+            &m_step);
+
+        if (m_step == 0)
+        {
+            // Can happen with Python prior to 2.3
+            PyErr_SetString (PyExc_ValueError, "slice step cannot be zero");
+            boost::python::throw_error_already_set ();
+        }
+
+        m_start = std::max (static_cast<index_type> (0), std::min (length, m_start));
+        m_stop = std::max (static_cast<index_type> (0), std::min (length, m_stop));
+        m_direction = (m_step > 0) ? 1 : -1;
+    }
+
+    // integer_slice must know how big the container is so it can
+    // adjust for negative indexes, etc...
+
+    index_type start() const { return m_start; }
+    index_type step() const  { return m_step; }
+    index_type stop() const  { return m_stop; }
+
+    index_type size() const { return (m_stop - m_start) / m_step; }
+
+    bool in_range (index_type index)
+    { return ((m_stop - index) * m_direction) > 0; }
+
+  private:
+    slice m_slice;
+    index_type m_start;
+    index_type m_step;
+    index_type m_stop;
+    index_type m_direction;
+  };
+} } }
+
+#if !defined (BOOST_NO_MEMBER_TEMPLATES)
+template<typename T>
+boost::python::indexing::slice::slice (T const &ref)
+  : boost::python::object (ref)
+{
+  if (!PySlice_Check (this->ptr()))
+    {
+      PyErr_SetString(
+          PyExc_TypeError, "slice constructor: passed a non-slice object");
+
+      boost::python::throw_error_already_set();
+    }
+}
+#endif
+
+namespace boost { namespace python { namespace converter {
+  // Specialized converter to handle PySlice_Type objects
+  template<>
+  struct object_manager_traits<boost::python::indexing::slice>
+    : pytype_object_manager_traits<
+         &PySlice_Type, ::boost::python::indexing::slice>
+  {
+  };
+}}}
+
+#endif // BOOST_PYTHON_INDEXING_SLICE_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/suite_utils_header.py b/pyplusplus/code_repository/indexing_suite/suite_utils_header.py
new file mode 100644
index 0000000..c407a73
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/suite_utils_header.py
@@ -0,0 +1,125 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/suite_utils.hpp"
+
+code = """// Header file suite_utils.hpp
+//
+// Shared utilities for the indexing suite.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/ 8/23   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: suite_utils.hpp,v 1.1.2.7 2003/11/24 14:28:31 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_SUITE_UTILS_HPP
+#define BOOST_PYTHON_INDEXING_SUITE_UTILS_HPP
+
+#include <boost/type_traits.hpp>
+
+namespace boost { namespace python { namespace indexing {
+#if BOOST_WORKAROUND (BOOST_MSVC, BOOST_TESTED_AT (1310)) \
+  || (defined (__GNUC__) && (__GNUC__ < 3))
+  // MSVC and GCC 2.96 seem to have problems comparing enumerated
+  // values in a static constant expression, and don't believe that an
+  // expression like (traits::index_style >= index_style_nonlinear) is
+  // a compile-time constant. However, the problem doesn't exist for
+  // int.
+  typedef int index_style_t;
+  index_style_t const index_style_none = 0;
+  index_style_t const index_style_nonlinear = 1;
+  index_style_t const index_style_linear = 2;
+#else
+  enum index_style_t {
+    index_style_none,         // No random access (iteration only)
+    index_style_nonlinear,  // Random access by key (no slicing)
+    index_style_linear     // Random access by integer index (allows slicing)
+  };
+#endif
+
+  template<typename T>
+  class is_mutable_ref
+  {
+    typedef typename boost::remove_reference<T>::type maybe_const;
+
+  public:
+    BOOST_STATIC_CONSTANT (bool, value = !boost::is_const<maybe_const>::value);
+  };
+
+  // make_signed attempts to identify the signed version of any
+  // numeric type (useful in this case because Python container
+  // indexes can be negative).
+  template<typename T> struct make_signed {
+    typedef T type;
+  };
+
+  template<> struct make_signed<char> {
+    // Raw "char" could be signed or unsigned. "signed char"
+    // guarantess signedness
+    typedef signed char type;
+  };
+
+  template<> struct make_signed<unsigned char> {
+    typedef signed char type;
+  };
+
+  template<> struct make_signed<unsigned short> {
+    typedef short type;
+  };
+
+  template<> struct make_signed<unsigned int> {
+    typedef int type;
+  };
+
+  template<> struct make_signed<unsigned long> {
+    typedef long type;
+  };
+
+#if defined (BOOST_HAS_LONG_LONG)
+  template<> struct make_signed<unsigned long long> {
+    typedef long long type;
+  };
+#elif defined (BOOST_HAS_MS_INT64)
+  template<> struct make_signed<unsigned __int64> {
+    typedef __int64 type;
+  };
+#endif
+
+  namespace detail {
+    struct no_override { };
+
+    template<typename Base, typename Override>
+    struct maybe_override
+    {
+      // Probably need to disable this if there is no partial
+      // specialization support, because Override is almost certain to
+      // be an incomplete type. If that is right, the workaround
+      // version would just have to do "typedef Base type;"
+
+      typedef typename mpl::if_
+        <is_same <Override, no_override>, Base, Override>
+        ::type type;
+    };
+  }
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_SUITE_UTILS_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/value_traits_header.py b/pyplusplus/code_repository/indexing_suite/value_traits_header.py
new file mode 100644
index 0000000..bfd045d
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/value_traits_header.py
@@ -0,0 +1,99 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/value_traits.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file value_traits.hpp:
+//
+// Traits information for use in determining which Python methods to
+// support for a container with elements of a given type.
+//
+// History
+// =======
+// 2003/ 9/12   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: value_traits.hpp,v 1.1.2.6 2003/12/05 17:36:12 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_VALUE_TRAITS_HPP
+#define BOOST_PYTHON_INDEXING_VALUE_TRAITS_HPP
+
+#include <boost/config.hpp>
+#include <boost/shared_ptr.hpp>
+#include <functional>
+
+namespace boost { namespace python { namespace indexing {
+  // The default_value_traits template is used by all ContainerTraits
+  // templates. It can be overridden by specialization or by supplying
+  // the optional ValueTraits parameter to a container traits
+  // template.
+  template<typename T> struct value_traits;
+
+  // Implementation for default use. Providing this in a separate
+  // template allows specializations of value_traits to make use of
+  // it.
+  template<typename T>
+  struct simple_value_traits {
+    BOOST_STATIC_CONSTANT (bool, equality_comparable = true);
+    typedef std::equal_to<T> equal_to;
+
+    BOOST_STATIC_CONSTANT (bool, less_than_comparable = true);
+    typedef std::less<T> less;
+
+    // Default, do-nothing, version of visit_container_class
+    template<typename PythonClass, typename Policy>
+    static void visit_container_class (PythonClass &, Policy const &) { }
+  };
+
+  // Implementation using pointer indirection
+  template <typename Ptr>
+  struct indirect_value_traits : simple_value_traits<Ptr> {
+    // Hide the base class versions of the comparisons, using these
+    // indirect versions
+    struct less : std::binary_function<Ptr, Ptr, bool> {
+      bool operator() (Ptr const &p1, Ptr const &p2) const {
+        return *p1 < *p2;
+      }
+    };
+
+    struct equal_to : std::binary_function<Ptr, Ptr, bool> {
+      bool operator() (Ptr const &p1, Ptr const &p2) const {
+        return *p1 == *p2;
+      }
+    };
+  };
+
+  // Default implementation selection. It's basically just a typedef
+  // for simple_value_traits
+  template<typename T>
+  struct value_traits : simple_value_traits<T>
+  {
+  };
+
+#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  // Partial specialization for instances of boost::shared_ptr
+  template<typename T>
+  struct value_traits< ::boost::shared_ptr<T> >
+    : indirect_value_traits< ::boost::shared_ptr<T> >
+  {
+  };
+#endif
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_VALUE_TRAITS_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/vector_header.py b/pyplusplus/code_repository/indexing_suite/vector_header.py
new file mode 100644
index 0000000..6347447
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/vector_header.py
@@ -0,0 +1,75 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/vector.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file vector.hpp
+//
+// Indexing algorithms support for std::vector instances
+//
+// History
+// =======
+// 2003/10/28   rmg     File creation from algo_selector.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: vector.hpp,v 1.1.2.6 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_VECTOR_HPP
+#define BOOST_PYTHON_INDEXING_VECTOR_HPP
+
+#include <indexing_suite/container_traits.hpp>
+#include <indexing_suite/container_suite.hpp>
+#include <indexing_suite/algorithms.hpp>
+#include <vector>
+
+namespace boost { namespace python { namespace indexing {
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+  namespace detail {
+    ///////////////////////////////////////////////////////////////////////
+    // algorithms support for std::vector instances
+    ///////////////////////////////////////////////////////////////////////
+
+    template <class T, class Allocator>
+    class algorithms_selector<std::vector<T, Allocator> >
+    {
+      typedef std::vector<T, Allocator> Container;
+
+      typedef random_access_sequence_traits<Container>       mutable_traits;
+      typedef random_access_sequence_traits<Container const> const_traits;
+
+    public:
+      typedef default_algorithms<mutable_traits> mutable_algorithms;
+      typedef default_algorithms<const_traits>   const_algorithms;
+    };
+  }
+#endif
+
+  template<
+    class Container,
+    method_set_type MethodMask = all_methods,
+    class Traits = random_access_sequence_traits<Container>
+  >
+  struct vector_suite
+    : container_suite<Container, MethodMask, default_algorithms<Traits> >
+  {
+  };
+
+} } }
+
+#endif // BOOST_PYTHON_INDEXING_VECTOR_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/visitor_header.py b/pyplusplus/code_repository/indexing_suite/visitor_header.py
new file mode 100644
index 0000000..e1c1059
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/visitor_header.py
@@ -0,0 +1,286 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/visitor.hpp"
+
+code = """// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Header file visitor.hpp:
+//
+// def_visitor implementation to install the container_suite's Python
+// methods in an object of a boost::python::class_<> instance.
+//
+// History
+// =======
+// 2003/ 9/11   rmg     File creation from container_suite.hpp
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: visitor.hpp,v 1.1.2.16 2004/02/08 18:57:42 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_VISITOR_HPP
+#define BOOST_PYTHON_INDEXING_VISITOR_HPP
+
+#include <indexing_suite/slice_handler.hpp>
+#include <indexing_suite/suite_utils.hpp> // Get index_style_t
+
+#include <boost/python/def_visitor.hpp>
+#include <boost/python/iterator.hpp>
+#include <boost/python/default_call_policies.hpp>
+#include <boost/type_traits/ice.hpp>
+#include <boost/bind.hpp>
+#include <functional>
+
+namespace boost { namespace python { namespace indexing {
+  //////////////////////////////////////////////////////////////////////////
+  // Policy override template that masks everything except the precall
+  // functions. i.e. it uses default policies for everything except
+  // precall, which must be provided by the template argument.
+  //////////////////////////////////////////////////////////////////////////
+
+  namespace detail {
+    template<typename PrecallPolicy>
+    struct precall_only : public boost::python::default_call_policies
+    {
+      precall_only () : m_precall () { }
+      explicit precall_only (PrecallPolicy const &copy) : m_precall (copy) { }
+
+      bool precall (PyObject *args) { return m_precall.precall (args); }
+      bool precall (PyObject *args) const { return m_precall.precall (args); }
+
+    private:
+      PrecallPolicy m_precall;
+    };
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Ugly macro to define a template that optionally adds a method to
+  // a Python class. This version (OPTIONAL_ALGO_SUPPORT) works with
+  // static functions in an Algorithms class.
+  //
+  // This macro is #undef'd at the end of this header
+  //////////////////////////////////////////////////////////////////////////
+
+#define OPTIONAL_ALGO_SUPPORT(ADDER_NAME, METHOD_NAME, ALGO_FN) \
+  template<bool doit>  \
+  struct ADDER_NAME {  \
+    template<class PythonClass, class Algorithms, class Policy>  \
+    static void apply (PythonClass &, Algorithms const &, Policy const &)  \
+    {  \
+    }  \
+  };  \
+\
+  template<>  \
+  struct ADDER_NAME<true> {  \
+    template<class PythonClass, class Algorithms, class Policy>  \
+    static void apply(  \
+        PythonClass &pyClass,  \
+        Algorithms const &,  \
+        Policy const &policy)  \
+    {  \
+      pyClass.def (METHOD_NAME, &Algorithms::ALGO_FN, policy);  \
+    }  \
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // Ugly macro to define a template that optionally adds a method to
+  // a Python class. This version (OPTIONAL_SLICE_SUPPORT) works with
+  // static functions in the slice_handler template.
+  //
+  // This macro is #undef'd at the end of this header
+  //////////////////////////////////////////////////////////////////////////
+
+#define OPTIONAL_SLICE_SUPPORT(ADDER_NAME, METHOD_NAME, SLICE_HANDLER_FN) \
+  template<bool doit>  \
+  struct ADDER_NAME {  \
+    template<class PythonClass, class Algorithms, class Policy>  \
+    static void apply (PythonClass &, Algorithms const &, Policy const &)  \
+    {  \
+    }  \
+  };  \
+\
+  template<>  \
+  struct ADDER_NAME<true> {  \
+    template<class PythonClass, class Algorithms, class Policy>  \
+    static void apply(  \
+        PythonClass &pyClass,  \
+        Algorithms const &,  \
+        Policy const &policy)  \
+    {  \
+      pyClass.def ( \
+          METHOD_NAME, \
+          slice_handler<Algorithms, Policy>::SLICE_HANDLER_FN (policy));  \
+    }  \
+  }
+
+  //////////////////////////////////////////////////////////////////////////
+  // __iter__ is a special case not handled by the above macros. First
+  // the unspecialized (do-nothing) version
+  //////////////////////////////////////////////////////////////////////////
+
+  template<bool doit>
+  struct maybe_add_iter {
+    template<class PythonClass, class Algorithms, class Policy>
+    static void apply (PythonClass &, Algorithms const &, Policy const &) { }
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // Specialization with the real implementation of __iter__
+  //////////////////////////////////////////////////////////////////////////
+
+  template<>
+  struct maybe_add_iter<true> {
+    template<class PythonClass, class Algorithms, class Policy>
+    static void apply(
+        PythonClass &pyClass,
+        Algorithms const &,
+        Policy const &)
+    {
+      // Should maybe separate precall and postcall portions of the
+      // policy (precall when generating the range object, postcall
+      // when returing from range.next())?
+
+      pyClass.def(
+          "__iter__",
+          boost::python::range<Policy>(
+              Algorithms::begin,
+              Algorithms::end));
+    }
+  };
+
+  //////////////////////////////////////////////////////////////////////////
+  // All other optional methods are covered by the two OPTIONAL_*
+  // macros
+  //////////////////////////////////////////////////////////////////////////
+
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_len, "__len__", size);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_getitem, "__getitem__", get);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_setitem, "__setitem__", assign);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_delitem, "__delitem__", erase_one);
+  OPTIONAL_SLICE_SUPPORT (maybe_add_getslice, "__getitem__", make_getitem);
+  OPTIONAL_SLICE_SUPPORT (maybe_add_setslice, "__setitem__", make_setitem);
+  OPTIONAL_SLICE_SUPPORT (maybe_add_delslice, "__delitem__", make_delitem);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_sort, "sort", sort);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_reverse, "reverse", reverse);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_append, "append", push_back);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_insert, "insert", insert);
+  OPTIONAL_SLICE_SUPPORT (maybe_add_extend, "extend", make_extend);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_index, "index", get_index);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_count, "count", count);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_contains, "__contains__", contains);
+  OPTIONAL_ALGO_SUPPORT  (maybe_add_has_key, "has_key", contains);
+
+  //////////////////////////////////////////////////////////////////////////
+  // Do-all visitor
+  //////////////////////////////////////////////////////////////////////////
+
+  template<class Algorithms, class Policy, method_set_type MethodMask>
+  class visitor
+    : public def_visitor< visitor< Algorithms, Policy, MethodMask > >
+  {
+    Policy m_policy;
+
+    BOOST_STATIC_CONSTANT (
+        method_set_type,
+        enabled_methods = Algorithms::supported_methods & MethodMask);
+
+  public:
+    typedef Algorithms algorithms_type;
+
+    explicit visitor (Policy const &policy = Policy()) : m_policy (policy) { }
+
+  public:
+    template <class PythonClass>
+    void visit (PythonClass &pyClass) const
+    {
+      detail::precall_only<Policy> precallPolicy (m_policy);
+
+      maybe_add_len<detail::is_member<enabled_methods, method_len>::value>
+        ::apply(pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_getitem<
+        detail::is_member<enabled_methods, method_getitem>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_getslice<
+          detail::is_member<enabled_methods, method_getitem_slice>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_setitem<
+        detail::is_member<enabled_methods, method_setitem>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_setslice<
+          detail::is_member<enabled_methods, method_setitem_slice>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_delitem<
+        detail::is_member<enabled_methods, method_delitem>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_delslice<
+          detail::is_member<enabled_methods, method_delitem_slice>::value
+      >::apply(pyClass, algorithms_type(), m_policy);
+
+      maybe_add_iter<
+        detail::is_member<enabled_methods, method_iter>::value
+      >::apply (pyClass, algorithms_type(), m_policy);
+
+      maybe_add_sort<
+        detail::is_member<enabled_methods, method_sort>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_reverse<
+        detail::is_member<enabled_methods, method_reverse>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_append<
+        detail::is_member<enabled_methods, method_append>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_insert<
+        detail::is_member<enabled_methods, method_insert>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_extend<
+        detail::is_member<enabled_methods, method_extend>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_index<
+        detail::is_member<enabled_methods, method_index>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_count<
+        detail::is_member<enabled_methods, method_count>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_contains<
+        detail::is_member<enabled_methods, method_contains>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      maybe_add_has_key<
+        detail::is_member<enabled_methods, method_has_key>::value
+      >::apply (pyClass, algorithms_type(), precallPolicy);
+
+      Algorithms::visit_container_class (pyClass, m_policy);
+    }
+  };
+} } }
+
+#undef OPTIONAL_SLICE_SUPPORT
+#undef OPTIONAL_ALGO_SUPPORT
+
+#endif // BOOST_PYTHON_INDEXING_VISITOR_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/indexing_suite/workaround_header.py b/pyplusplus/code_repository/indexing_suite/workaround_header.py
new file mode 100644
index 0000000..d829db6
--- /dev/null
+++ b/pyplusplus/code_repository/indexing_suite/workaround_header.py
@@ -0,0 +1,61 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 indexing suite v2 code
+"""
+
+file_name = "indexing_suite/workaround.hpp"
+
+code = """// Header file workaround.hpp
+//
+// Indexing-specific workarounds for compiler problems.
+//
+// Copyright (c) 2003 Raoul M. Gough
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
+// at http://www.boost.org/LICENSE_1_0.txt)
+//
+// History
+// =======
+// 2003/10/21   rmg     File creation
+// 2008/12/08   Roman   Change indexing suite layout
+//
+// $Id: workaround.hpp,v 1.1.2.3 2003/11/17 19:27:13 raoulgough Exp $
+//
+
+#ifndef BOOST_PYTHON_INDEXING_WORKAROUND_HPP
+#define BOOST_PYTHON_INDEXING_WORKAROUND_HPP
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+# if (BOOST_WORKAROUND (__GNUC__, < 3))
+#   // gcc versions before 3 (like 2.95.3) don't have the "at" member
+#   // function in std::vector or std::deque
+#   define BOOST_PYTHON_INDEXING_AT operator[]
+# else
+#   define BOOST_PYTHON_INDEXING_AT at
+# endif
+
+# if BOOST_WORKAROUND (BOOST_MSVC, <= 1300)
+// Workaround the lack of a reset member function in std::auto_ptr
+namespace boost { namespace python { namespace indexing {
+template<typename T> void reset_auto_ptr (T &aptr, T::element_type *pptr) {
+ aptr = T (pptr);
+}
+} } }
+#   define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR \
+        ::boost::python::indexing::reset_auto_ptr
+# else
+#   define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR( aptr, pptr ) \
+        (aptr).reset(pptr)
+# endif
+
+#endif // BOOST_PYTHON_INDEXING_WORKAROUND_HPP
+
+
+"""
diff --git a/pyplusplus/code_repository/named_tuple.py b/pyplusplus/code_repository/named_tuple.py
new file mode 100644
index 0000000..79bf78f
--- /dev/null
+++ b/pyplusplus/code_repository/named_tuple.py
@@ -0,0 +1,52 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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_name = "named_tuple.py"
+
+code = \
+"""# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+class named_tuple(tuple):
+    \"\"\"Creates tuple, which allows access to stored values by name and\\or by index.
+    
+    Construction example: named_tuple( ('a',0), ('b',1) )
+        'a' and 'b' are names, while 0 and 1 are values
+    \"\"\"
+
+    def __new__(cls, *args):
+        return tuple.__new__( cls, [ val for name, val in args] )
+
+    def __init__(self, *args):
+        tuple.__init__( self )
+        self.__dict__[ '__name2value' ] = dict( args )
+
+    def __getattr__(self, name):
+        try:
+            return self.__dict__['__name2value'][ name ]        
+        except KeyError:
+            raise AttributeError( "named_tuple has no attribute '%s'" % name )
+
+    def __setattr__(self, name, value):
+        raise AttributeError( "named_tuple has no attribute '%s'" % name )
+
+    def __getitem__( self, key ):
+        #TODO: it could be nice to support slicing. So the __getitem__ in case of 
+        #slicing will return new named_tuple.
+        if isinstance( key, basestring ):
+            return self.__dict__['__name2value'][ key ]        
+        else:
+            return super( named_tuple, self ).__getitem__( key )
+
+if __name__ == '__main__':
+    nt = named_tuple( ('a',0), ('b',1) )
+    assert nt.a == 0 and nt.b == 1
+    a,b = nt
+    assert a == 0 and b == 1
+    assert nt[ "a" ] == 0 and nt[ "b" ] == 1
+    
+"""
diff --git a/pyplusplus/code_repository/return_pointee_value.hpp b/pyplusplus/code_repository/return_pointee_value.hpp
new file mode 100644
index 0000000..3a912a2
--- /dev/null
+++ b/pyplusplus/code_repository/return_pointee_value.hpp
@@ -0,0 +1,60 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef RETURN_POINTEE_VALUE_9_11_2006
+#define RETURN_POINTEE_VALUE_9_11_2006
+
+#include <boost/python.hpp>
+
+namespace boost{ namespace python{
+    
+namespace detail{
+    
+    struct make_value_holder
+    {
+        template <class T>
+        static PyObject* execute(T* p)
+        {
+            if (p == 0)
+            {
+                return python::detail::none();
+            }
+            else
+            {
+                object p_value( *p );
+                return incref( p_value.ptr() );
+            }
+        }
+    };
+
+    template <class R>
+    struct return_pointee_value_requires_a_pointer_return_type
+    # if defined(__GNUC__) && __GNUC__ >= 3 || defined(__EDG__)
+    {}
+    # endif
+    ;
+
+} //detail
+
+
+struct return_pointee_value
+{
+    template <class T>
+    struct apply
+    {
+        BOOST_STATIC_CONSTANT( bool, ok = is_pointer<T>::value );
+        
+        typedef typename mpl::if_c<
+            ok
+            , to_python_indirect<T, detail::make_value_holder>
+            , detail::return_pointee_value_requires_a_pointer_return_type<T>
+        >::type type;
+    };
+};
+
+
+} } //boost::python 
+
+#endif//RETURN_POINTEE_VALUE_9_11_2006
diff --git a/pyplusplus/code_repository/return_range.py b/pyplusplus/code_repository/return_range.py
new file mode 100644
index 0000000..49a7e8c
--- /dev/null
+++ b/pyplusplus/code_repository/return_range.py
@@ -0,0 +1,158 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 C++ code - "return_range" call policies
+"""
+
+from pyplusplus.decl_wrappers import call_policies
+
+namespace = "pyplusplus::call_policies"
+
+file_name = call_policies.return_range_t.HEADER_FILE
+
+code = \
+"""// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef return_range_pyplusplus_hpp__
+#define return_range_pyplusplus_hpp__
+
+#include "boost/python.hpp"
+#include "boost/mpl/int.hpp"
+#include "boost/function.hpp"
+#include "indexing_suite/iterator_range.hpp"
+#include "boost/python/object/class_detail.hpp"
+#include "boost/type_traits/is_same.hpp"
+namespace pyplusplus{ namespace call_policies{
+
+namespace bpl = boost::python;
+
+namespace detail{
+
+struct return_raw_data_ref
+{
+    template <class T>
+    struct apply{
+
+        BOOST_STATIC_ASSERT( boost::is_pointer<T>::value );
+
+        struct type{
+            static bool convertible()
+            { return true; }
+
+            PyObject*
+            operator()( T return_value) const{
+                if( !return_value ){
+                    return bpl::detail::none();
+                }
+                else{
+                    typedef typename boost::remove_pointer< T >::type value_type;
+                    typedef typename boost::remove_const< value_type >::type non_const_value_type;
+                    non_const_value_type* data = const_cast<non_const_value_type*>( return_value );
+#ifdef Py_CAPSULE_H
+                    return PyCapsule_New((void*)data, "pypp._C_API_", NULL);
+#else
+                    return PyCObject_FromVoidPtr( data, NULL );
+#endif
+                }
+            }
+
+            static PyTypeObject const * get_pytype(){
+#ifdef Py_CAPSULE_H
+                return &PyCapsule_Type;
+#else
+                return &PyCObject_Type;
+#endif
+            }
+        };
+    };
+};
+
+} //detail
+
+template < typename TGetSize, typename TValueType, typename TValuePolicies=bpl::default_call_policies >
+struct return_range : bpl::default_call_policies{
+
+    typedef return_range< TGetSize, TValueType, TValuePolicies > this_type;
+
+public:
+
+    typedef typename detail::return_raw_data_ref result_converter;
+
+    typedef TValueType value_type;
+    typedef TGetSize get_size_type;
+    typedef TValuePolicies value_policies_type;
+
+    typedef bpl::indexing::iterator_range<value_type*> range_type;
+
+    template <class ArgumentPackage>
+    static PyObject* postcall(ArgumentPackage const& args, PyObject* result){
+        if( result == bpl::detail::none() ){
+            return result;
+        }
+#ifdef Py_CAPSULE_H
+        if( !PyCapsule_CheckExact( result ) ){
+            throw std::runtime_error( "Internal error: expected to get PyCapsule" );
+        }
+        value_type* raw_data = reinterpret_cast<value_type*>( PyCapsule_GetPointer( result, "pypp._C_API_" ) );
+#else
+        if( !PyCObject_Check( result ) ){
+            throw std::runtime_error( "Internal error: expected to get PyCObject" );
+        }
+        value_type* raw_data = reinterpret_cast<value_type*>( PyCObject_AsVoidPtr( result ) );
+#endif
+        Py_DECREF(result);//we don't need result anymore
+
+        bpl::tuple args_w( bpl::handle<>( bpl::borrowed( args ) ) );
+
+        register_range_class_on_demand();
+
+        get_size_type get_size;
+        range_type the_range( raw_data, raw_data + get_size( args_w ) );
+
+        bpl::object range_obj( the_range );
+
+        return bpl::incref( range_obj.ptr() );
+    }
+private:
+
+    static void register_range_class( boost::mpl::true_ ){
+        //register range class with default call policies
+        bpl::class_<range_type>( "_impl_details_range_iterator_",  bpl::init<value_type*, value_type*>() )
+            .def(bpl::indexing::container_suite<range_type>() );
+    }
+
+    static void register_range_class( boost::mpl::false_ ){
+        //register range class with non default call policies
+        unsigned long const methods_mask
+            = bpl::indexing::all_methods
+              & ~( bpl::indexing::reorder_methods |  bpl::indexing::search_methods ) ;
+
+        typedef bpl::indexing::iterator_range_suite< range_type, methods_mask > suite_type;
+        bpl::class_<range_type>( "_impl_details_range_iterator_",  bpl::init<value_type*, value_type*>() )
+            .def( suite_type::with_policies( value_policies_type() ) );
+    }
+
+    static void register_range_class_on_demand(){
+        //Check the registry. If the class doesn't exist, register it.
+        bpl::handle<> class_obj(
+            bpl::objects::registered_class_object(bpl::type_id<range_type>()));
+
+        if( class_obj.get() == 0 ){
+            register_range_class( boost::is_same< bpl::default_call_policies, value_policies_type>() );
+        }
+    }
+
+};
+
+} /*pyplusplus*/ } /*call_policies*/
+
+
+#endif//return_range_pyplusplus_hpp__
+
+"""
diff --git a/pyplusplus/creators_factory/__init__.py b/pyplusplus/creators_factory/__init__.py
new file mode 100644
index 0000000..29923f1
--- /dev/null
+++ b/pyplusplus/creators_factory/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from .bpcreator import bpcreator_t
+from .ctypes_creator import ctypes_creator_t
+from .sort_algorithms import sort_classes as findout_desired_order
+from .call_policies_resolver import built_in_resolver_t
+
+def create( decls, module_name ):
+    maker = bpcreator_t(decls, module_name)
+    return maker.create()
diff --git a/pyplusplus/creators_factory/bpcreator.py b/pyplusplus/creators_factory/bpcreator.py
new file mode 100644
index 0000000..98305d1
--- /dev/null
+++ b/pyplusplus/creators_factory/bpcreator.py
@@ -0,0 +1,733 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from . import types_database
+from . import creators_wizard
+from . import sort_algorithms
+from . import dependencies_manager
+from . import opaque_types_manager
+from . import call_policies_resolver
+from . import fake_constructors_manager
+
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+from pyplusplus import code_creators
+from pyplusplus import code_repository
+from pyplusplus import _logging_
+
+ACCESS_TYPES = declarations.ACCESS_TYPES
+VIRTUALITY_TYPES = declarations.VIRTUALITY_TYPES
+
+class bpcreator_t( declarations.decl_visitor_t ):
+    """
+    code creators factory for Boost.Python library
+
+    This class takes a set of declarations as input and creates a code
+    creators tree that contains the Boost.Python C++ source code for the
+    final extension module. Each node in the code creators tree represents
+    a block of text (C++ source code).
+    """
+
+    def __init__( self
+                  , decls
+                  , module_name
+                  , boost_python_ns_name='bp'
+                  , call_policies_resolver_=None
+                  , types_db=None
+                  , target_configuration=None
+                  , enable_indexing_suite=True ):
+        """Constructor.
+
+        :param decls: Declarations that should be exposed in the final module.
+        :param module_name: The name of the final module.
+        :param boost_python_ns_name: The alias for the boost::python namespace.
+        :param call_policies_resolver_: Callable that takes one declaration (calldef_t) as input and returns a call policy object which should be used for this declaration.
+        :param types_db: ...todo...
+        :param target_configuration: A target configuration object can be used to customize the generated source code to a particular compiler or a particular version of Boost.Python.
+        :param already_exposed_dbs: list of files/directories other modules, this module depends on, generated their code too
+        :type decls: list of declaration_t
+        :type module_name: str
+        :type boost_python_ns_name: str
+        :type call_policies_resolver_: callable
+        :type types_db: L:class:`types_database.types_database_t`
+        :type target_configuration: :class:`code_creators.target_configuration_t`
+        :type already_exposed_dbs: list of strings
+        """
+        declarations.decl_visitor_t.__init__(self)
+        self.logger = _logging_.loggers.module_builder
+        self.decl_logger = _logging_.loggers.declarations
+
+        self.__enable_indexing_suite = enable_indexing_suite
+        self.__target_configuration = target_configuration
+        if not self.__target_configuration:
+            self.__target_configuration = code_creators.target_configuration_t()
+
+        self.__call_policies_resolver = call_policies_resolver_
+        if not self.__call_policies_resolver:
+            self.__call_policies_resolver \
+                = call_policies_resolver.built_in_resolver_t(self.__target_configuration)
+
+        self.__types_db = types_db
+        if not self.__types_db:
+            self.__types_db = types_database.types_database_t()
+
+        global_ns = declarations.get_global_namespace(decls)
+
+        self.__extmodule = code_creators.bpmodule_t( global_ns )
+        if boost_python_ns_name:
+            bp_ns_alias = code_creators.namespace_alias_t( alias=boost_python_ns_name
+                                                           , full_namespace_name='::boost::python' )
+            self.__extmodule.adopt_creator( bp_ns_alias )
+
+        self.__module_body = code_creators.module_body_t( name=module_name )
+
+        self.__extmodule.adopt_creator( self.__module_body )
+
+        self.__opaque_types_manager = opaque_types_manager.manager_t( self.__extmodule )
+        self.__dependencies_manager = dependencies_manager.manager_t(self.decl_logger)
+
+        prepared_decls = self._prepare_decls( decls )
+        self.__decls = sort_algorithms.sort( prepared_decls )
+
+        self.curr_code_creator = self.__module_body
+        self.curr_decl = None
+        self.__array_1_registered = set() #(type.decl_string,size)
+        self.__free_operators = []
+        self.__std_containers_free_operators = {}
+        self.__exposed_free_fun_overloads = set()
+        self.__fc_manager = fake_constructors_manager.manager_t( global_ns )
+
+    def __print_readme( self, decl ):
+        readme = decl.readme()
+        if not readme:
+            return
+
+        if not decl.exportable:
+            reason = readme[0]
+            readme = readme[1:]
+            self.decl_logger.warning( "%s;%s" % ( decl, reason ) )
+
+        for msg in readme:
+            self.decl_logger.warning( "%s;%s" % ( decl, msg ) )
+
+    def _prepare_decls( self, decls ):
+        to_be_exposed = []
+        for decl in declarations.make_flatten( decls ):
+            if decl.ignore:
+                continue
+
+            if isinstance( decl, declarations.namespace_t ):
+                continue
+
+            if isinstance( decl, declarations.class_types ):
+                if decl.opaque:
+                    continue
+
+            if not decl.exportable:
+                #leave only decls that user wants to export and that could be exported
+                self.__print_readme( decl )
+                continue
+
+            if decl.already_exposed:
+                #check wether this is already exposed in other module
+                continue
+
+            if isinstance( decl.parent, declarations.namespace_t ):
+                #leave only declarations defined under namespace, but remove namespaces
+                to_be_exposed.append( decl )
+
+            #Right now this functionality introduce a bug: declarations that should
+            #not be exported for some reason are not marked as such. I will need to
+            #find out.
+            #if isinstance( decl, declarations.calldef_t ) and not isinstance( decl, declarations.destructor_t ):
+                #self.__types_db.update( decl )
+                #if None is decl.call_policies:
+                    #decl.call_policies = self.__call_policies_resolver( decl )
+
+            #if isinstance( decl, declarations.variable_t ):
+                #self.__types_db.update( decl )
+
+            self.__print_readme( decl )
+
+        return to_be_exposed
+
+    def _adopt_free_operator( self, operator ):
+        def adopt_operator_impl( operator, found_creators ):
+            creator = [creator for creator in found_creators if isinstance( creator, code_creators.class_t )]
+            if len(creator) == 1:
+                creator = creator[0]
+                #I think I don't need this condition any more
+                if not find( lambda creator: isinstance( creator, code_creators.declaration_based_t )
+                                             and operator is creator.declaration
+                             , creator.creators ):
+                    #expose operator only once
+                    self.__dependencies_manager.add_exported( operator )
+                    creator.adopt_creator( code_creators.operator_t( operator=operator ) )
+            elif not creator:
+                pass
+            else:
+                assert not "Found %d class code creators" % len(creator)
+        find = code_creators.creator_finder.find_by_declaration
+        if operator.target_class and operator.target_class.ignore == False:
+            found = find( lambda decl: operator.target_class is decl
+                          , self.__extmodule.body.creators )
+            adopt_operator_impl( operator, found )
+
+    def _is_registered_smart_pointer_creator( self, creator, db ):
+        for registered in db:
+            if not isinstance( creator, registered.__class__ ):
+                continue
+            elif registered.smart_ptr != creator.smart_ptr:
+                continue
+            elif isinstance( creator, code_creators.smart_pointer_registrator_t ):
+                if creator.declaration is registered.declaration:
+                    return True
+            elif isinstance( creator, code_creators.smart_pointers_converter_t ):
+                if ( creator.source is registered.source ) \
+                   and ( creator.target is registered.target ):
+                    return True
+            else:
+                assert not "unknown instace of registrator: " % str( registered )
+
+    def _treat_smart_pointers( self ):
+        """
+        goes over all class creators and apply held_type and registers smart pointers
+        classes as needed
+        """
+        find_classes = code_creators.creator_finder.find_by_class_instance
+        class_creators = find_classes( what=code_creators.class_t
+                                       , where=self.__extmodule.body.creators
+                                       , recursive=True )
+        registrators_db = []
+        for creator in class_creators:
+            if None is creator.held_type:
+                if not creator.declaration.is_abstract:
+                    creator.held_type = self.__types_db.create_holder( creator.declaration )
+            registrators = self.__types_db.create_registrators( creator )
+            for r in registrators:
+                if not self._is_registered_smart_pointer_creator( r, registrators_db ):
+                    creator.adopt_creator(r)
+                    registrators_db.append(r)
+
+    def _append_user_code( self ):
+        find_classes = code_creators.creator_finder.find_by_class_instance
+        class_creators = find_classes( what=code_creators.class_t
+                                       , where=self.__extmodule.body.creators
+                                       , recursive=True )
+
+        ctext_t = code_creators.custom_text_t
+        for cls_creator in class_creators:
+            cls_decl = cls_creator.declaration
+
+            uc_creators_head = [ctext_t( uc.text, uc.works_on_instance ) for uc in cls_decl.registration_code_head]
+            cls_creator.adopt_creators( uc_creators_head, 0 )
+
+            uc_creators_tail = [ctext_t( uc.text, uc.works_on_instance ) for uc in cls_decl.registration_code_tail]
+            cls_creator.adopt_creators( uc_creators_tail )
+
+            uc_creators = [ctext_t( uc.text ) for uc in cls_decl.wrapper_code]
+            if uc_creators:
+                cls_creator.wrapper.adopt_creators( uc_creators )
+
+            uc_creators = [ctext_t( uc.text ) for uc in cls_decl.declaration_code]
+            insert_pos = self.__extmodule.creators.index( self.__module_body )
+            self.__extmodule.adopt_creators( uc_creators, insert_pos )
+            cls_creator.associated_decl_creators.extend( uc_creators )
+
+    def __get_exposed_containers(self):
+        """list of exposed declarations, which were not ``included``, but still
+        were exposed. For example, std containers
+
+        std containers exposed by `Py++`, even if the user didn't ``include`` them.
+        """
+        cmp_by_name = lambda cls: cls.decl_string
+        used_containers = list( self.__types_db.used_containers )
+        used_containers = [cls for cls in used_containers if cls.indexing_suite.include_files]
+        used_containers.sort( key=cmp_by_name )
+        used_containers = [cnt for cnt in used_containers if cnt.already_exposed == False]
+        return used_containers
+
+    def _treat_indexing_suite( self ):
+        def create_explanation(cls):
+            msg = '//WARNING: the next line of code will not compile, because "%s" does not have operator== !'
+            msg = msg % cls.indexing_suite.element_type.decl_string
+            return code_creators.custom_text_t( msg, False )
+
+        def create_cls_cc( cls ):
+            if isinstance( cls, declarations.class_t ):
+                return code_creators.class_t( class_inst=cls )
+            else:
+                return code_creators.class_declaration_t( class_inst=cls )
+
+        if not self.__types_db.used_containers:
+            return
+
+        creators = []
+        created_value_traits = set()
+        for cls in self.__get_exposed_containers():
+            self.__print_readme( cls )
+
+            cls_creator = create_cls_cc( cls )
+            self.__dependencies_manager.add_exported( cls )
+            creators.append( cls_creator )
+            try:
+                element_type = cls.indexing_suite.element_type
+            except:
+                element_type = None
+
+            if isinstance( cls.indexing_suite, decl_wrappers.indexing_suite1_t ):
+                if not ( None is element_type ) \
+                   and declarations.is_class( element_type ) \
+                   and not declarations.has_public_equal( element_type ):
+                    cls_creator.adopt_creator( create_explanation( cls ) )
+                cls_creator.adopt_creator( code_creators.indexing_suite1_t(cls) )
+            else:
+                class_traits = declarations.class_traits
+                if not ( None is element_type ) and class_traits.is_my_case( element_type ):
+                    value_cls = class_traits.get_declaration( element_type )
+                    has_prerequisits = value_cls.less_than_comparable \
+                                       and value_cls.equality_comparable
+                    if ( not has_prerequisits ) and ( value_cls not in created_value_traits ):
+                        created_value_traits.add( value_cls )
+                        element_type_cc = code_creators.value_traits_t( value_cls )
+                        self.__extmodule.adopt_declaration_creator( element_type_cc )
+                cls_creator.adopt_creator( code_creators.indexing_suite2_t(cls) )
+
+            scfo = self.__std_containers_free_operators
+            if cls in scfo:
+                for operator in scfo[cls]:
+                    self.__dependencies_manager.add_exported( operator )
+                    cls_creator.adopt_creator( code_creators.operator_t( operator=operator ) )
+
+        creators.reverse()
+        self.__module_body.adopt_creators( creators, 0 )
+
+    def create(self, decl_headers=None):
+        """
+        create and return the module for the extension - code creators tree root.
+
+        :param decl_headers: If None the headers for the wrapped decls are automatically found.
+                             But you can pass a list of headers here to override that search.
+        :rtype: :class:`code_creators.module_t`
+        """
+        # Invoke the appropriate visit_*() method on all decls
+        for decl in self.__decls:
+            self.curr_decl = decl
+            declarations.apply_visitor( self, decl )
+        for operator in self.__free_operators:
+            self._adopt_free_operator( operator )
+        self._treat_smart_pointers()
+        if self.__enable_indexing_suite:
+            self._treat_indexing_suite()
+        for creator in code_creators.make_flatten_generator( self.__extmodule ):
+            creator.target_configuration = self.__target_configuration
+        #last action.
+        self._append_user_code()
+
+        add_include = self.__extmodule.add_include
+        #add system headers
+        system_headers = self.__extmodule.get_system_files( recursive=True, unique=True, language='c++' )
+        for header in system_headers:
+            add_include( header, user_defined=False, system=True )
+        #add user defined header files
+        if decl_headers is None:
+            decl_headers = declarations.declaration_files( self.__decls )
+        for header in decl_headers:
+            add_include( header, user_defined=False, system=False )
+
+        self.__dependencies_manager.inform_user()
+
+        return self.__extmodule
+
+    def visit_member_function( self ):
+        self.__types_db.update( self.curr_decl )
+        self.__dependencies_manager.add_exported( self.curr_decl )
+
+        if self.__fc_manager.is_fake_constructor( self.curr_decl ):
+            return
+
+        fwrapper = None
+        if None is self.curr_decl.call_policies:
+            self.curr_decl.call_policies = self.__call_policies_resolver( self.curr_decl )
+
+        maker_cls, fwrapper_cls = creators_wizard.find_out_mem_fun_creator_classes( self.curr_decl )
+
+        maker = None
+        fwrapper = None
+        if fwrapper_cls:
+            fwrapper = fwrapper_cls( function=self.curr_decl )
+            if fwrapper_cls is code_creators.mem_fun_transformed_wrapper_t:
+                if self.curr_code_creator.wrapper:
+                    class_wrapper = self.curr_code_creator.wrapper
+                    class_wrapper.adopt_creator( fwrapper )
+                else:
+                    self.__extmodule.adopt_declaration_creator( fwrapper )
+                    self.curr_code_creator.associated_decl_creators.append(fwrapper)
+            else:
+                class_wrapper = self.curr_code_creator.wrapper
+                class_wrapper.adopt_creator( fwrapper )
+
+        if maker_cls:
+            if fwrapper:
+                maker = maker_cls( function=self.curr_decl, wrapper=fwrapper )
+            else:
+                maker = maker_cls( function=self.curr_decl )
+            self.curr_code_creator.adopt_creator( maker )
+            self.__opaque_types_manager.register_opaque( maker, self.curr_decl )
+
+        if self.curr_decl.has_static:
+            #static_method should be created only once.
+            found = [creator for creator in self.curr_code_creator.creators if isinstance( creator, code_creators.static_method_t )
+                                            and creator.declaration.name == self.curr_decl.name]
+            if not found:
+                static_method = code_creators.static_method_t( function=self.curr_decl
+                                                               , function_code_creator=maker )
+                self.curr_code_creator.adopt_creator( static_method )
+
+    def visit_constructor( self ):
+        self.__types_db.update( self.curr_decl )
+        self.__dependencies_manager.add_exported( self.curr_decl )
+
+        cwrapper = None
+        if self.curr_decl.parent.is_wrapper_needed():
+            class_wrapper = self.curr_code_creator.wrapper
+            cwrapper = code_creators.constructor_wrapper_t( constructor=self.curr_decl )
+            class_wrapper.adopt_creator( cwrapper )
+        #TODO: FT for constructor
+            #~ if self.curr_decl.transformations:
+                #~ cwrapper = code_creators.constructor_transformed_wrapper_t( constructor=self.curr_decl )
+                #~ class_wrapper.adopt_creator( cwrapper )
+        #~ else:
+            #~ if self.curr_decl.transformations:
+                #~ cwrapper = code_creators.constructor_transformed_wrapper_t( constructor=self.curr_decl )
+                #~ class_wrapper.adopt_creator( cwrapper )
+                #~ self.__module_body.adopt_creator( cwrapper )
+                #~ self.curr_code_creator.associated_decl_creators.append( cwrapper )
+        #~ maker = None
+        #~ if self.curr_decl.transformations:
+            #~ maker = code_creators.constructor_transformed_t( constructor=self.curr_decl )
+        #~ else:
+        maker = code_creators.constructor_t( constructor=self.curr_decl, wrapper=cwrapper )
+        if None is self.curr_decl.call_policies:
+            self.curr_decl.call_policies = self.__call_policies_resolver( self.curr_decl )
+        self.curr_code_creator.adopt_creator( maker )
+
+        if self.curr_decl.allow_implicit_conversion:
+            maker = code_creators.casting_constructor_t( constructor=self.curr_decl )
+            #casting constructor will be generated in the same file as class
+            self.curr_code_creator.adopt_creator( maker )
+
+
+    def visit_destructor( self ):
+        pass
+
+    def visit_member_operator( self ):
+        if self.curr_decl.symbol in ( '()', '[]', '=' ):
+            self.visit_member_function()
+        else:
+            self.__types_db.update( self.curr_decl )
+            maker = code_creators.operator_t( operator=self.curr_decl )
+            self.curr_code_creator.adopt_creator( maker )
+            self.__dependencies_manager.add_exported( self.curr_decl )
+
+    def visit_casting_operator( self ):
+        self.__dependencies_manager.add_exported( self.curr_decl )
+        if None is self.curr_decl.call_policies:
+            self.curr_decl.call_policies = self.__call_policies_resolver( self.curr_decl )
+
+        self.__types_db.update( self.curr_decl )
+        if not self.curr_decl.parent.is_abstract and not declarations.is_reference( self.curr_decl.return_type ):
+            maker = code_creators.casting_operator_t( operator=self.curr_decl )
+            self.__module_body.adopt_creator( maker )
+            self.__opaque_types_manager.register_opaque( maker, self.curr_decl )
+
+        #what to do if class is abstract
+        maker = code_creators.casting_member_operator_t( operator=self.curr_decl )
+        self.curr_code_creator.adopt_creator( maker )
+        self.__opaque_types_manager.register_opaque( maker, self.curr_decl )
+
+    def visit_free_function( self ):
+        if self.curr_decl in self.__exposed_free_fun_overloads:
+            return
+
+        if self.__fc_manager.is_fake_constructor( self.curr_decl ):
+            self.__types_db.update( self.curr_decl )
+            self.__dependencies_manager.add_exported( self.curr_decl )
+            return
+
+        elif self.curr_decl.use_overload_macro:
+            parent_decl = self.curr_decl.parent
+            names = set( [decl.name for decl in parent_decl.free_functions( allow_empty=True, recursive=False )] )
+            for name in names:
+                overloads = parent_decl.free_functions( name, allow_empty=True, recursive=False )
+                overloads = [decl for decl in overloads if decl.ignore == False and decl.use_overload_macro]
+                if not overloads:
+                    continue
+                else:
+                    self.__exposed_free_fun_overloads.update( overloads )
+                    for f in overloads:
+                        self.__types_db.update( f )
+                        self.__dependencies_manager.add_exported( f )
+                        if None is f.call_policies:
+                            f.call_policies = self.__call_policies_resolver( f )
+
+                    overloads_cls_creator = code_creators.free_fun_overloads_class_t( overloads )
+                    self.__extmodule.adopt_declaration_creator( overloads_cls_creator )
+
+                    overloads_reg = code_creators.free_fun_overloads_t( overloads_cls_creator )
+                    self.curr_code_creator.adopt_creator( overloads_reg )
+                    overloads_reg.associated_decl_creators.append( overloads_cls_creator )
+                    self.__opaque_types_manager.register_opaque( overloads_reg, overloads )
+
+                    ctext_t = code_creators.custom_text_t
+                    for f in overloads:
+                        uc_creators = [ctext_t( uc.text ) for uc in f.declaration_code]
+                        insert_pos = self.__extmodule.creators.index( self.__module_body )
+                        self.__extmodule.adopt_creators( uc_creators, insert_pos )
+                        overloads_reg.associated_decl_creators.extend( uc_creators )
+        else:
+            self.__types_db.update( self.curr_decl )
+            self.__dependencies_manager.add_exported( self.curr_decl )
+            if None is self.curr_decl.call_policies:
+                self.curr_decl.call_policies = self.__call_policies_resolver( self.curr_decl )
+
+            maker = None
+            if self.curr_decl.transformations:
+                wrapper = code_creators.free_fun_transformed_wrapper_t( self.curr_decl )
+                self.__extmodule.adopt_declaration_creator( wrapper )
+                maker = code_creators.free_fun_transformed_t( self.curr_decl, wrapper )
+                maker.associated_decl_creators.append( wrapper )
+            else:
+                maker = code_creators.free_function_t( function=self.curr_decl )
+            self.curr_code_creator.adopt_creator( maker )
+            self.__opaque_types_manager.register_opaque( maker, self.curr_decl )
+
+            ctext_t = code_creators.custom_text_t
+            uc_creators = [ctext_t( uc.text ) for uc in self.curr_decl.declaration_code]
+            insert_pos = self.__extmodule.creators.index( self.__module_body )
+            self.__extmodule.adopt_creators( uc_creators, insert_pos )
+            maker.associated_decl_creators.extend( uc_creators )
+
+    def visit_free_operator( self ):
+        self.__types_db.update( self.curr_decl )
+
+        operator = self.curr_decl
+        target_class = operator.target_class
+        scfo = self.__std_containers_free_operators
+        if target_class and target_class.indexing_suite:
+            if target_class not in scfo:
+                scfo[ target_class ] = [ operator ]
+            else:
+                scfo[ target_class ].append( operator )
+        else:
+            self.__free_operators.append( self.curr_decl )
+
+    def visit_class_declaration(self ):
+        pass
+
+    def expose_overloaded_mem_fun_using_macro( self, cls, cls_creator ):
+        #returns set of exported member functions
+        exposed = set()
+        names = set( [decl.name for decl in cls.member_functions( allow_empty=True, recursive=False )] )
+        for name in names:
+            overloads = cls.member_functions( name, allow_empty=True, recursive=False )
+            overloads = [decl for decl in overloads if decl.ignore == False and decl.use_overload_macro]
+            if not overloads:
+                continue
+            else:
+                exposed.update( overloads )
+
+                for f in overloads:
+                    self.__types_db.update( f )
+                    self.__dependencies_manager.add_exported( f )
+                    if None is f.call_policies:
+                        f.call_policies = self.__call_policies_resolver( f )
+
+                overloads_cls_creator = code_creators.mem_fun_overloads_class_t( overloads )
+                self.__extmodule.adopt_declaration_creator( overloads_cls_creator )
+
+                overloads_reg = code_creators.mem_fun_overloads_t( overloads_cls_creator )
+                cls_creator.adopt_creator( overloads_reg )
+                overloads_reg.associated_decl_creators.append( overloads_cls_creator )
+
+                self.__opaque_types_manager.register_opaque( overloads_reg, overloads )
+        return exposed
+
+    def visit_class(self ):
+        if self.curr_decl.indexing_suite:
+            self.__types_db.update_containers( self.curr_decl )
+            return #it will be exposed later, using other code creators
+        self.__dependencies_manager.add_exported( self.curr_decl )
+        cls_decl = self.curr_decl
+        cls_parent_cc = self.curr_code_creator
+        exportable_members = self.curr_decl.get_exportable_members(sort_algorithms.sort)
+
+        wrapper = None
+        cls_cc = None
+        if cls_decl.introduces_new_scope:
+            cls_cc = code_creators.class_t( class_inst=self.curr_decl )
+        else:
+            cls_cc = self.curr_code_creator
+
+        if self.curr_decl.is_wrapper_needed():
+            wrapper = code_creators.class_wrapper_t( declaration=self.curr_decl
+                                                     , class_creator=cls_cc )
+            cls_cc.wrapper = wrapper
+            cls_cc.associated_decl_creators.append( wrapper )
+            #insert wrapper before module body
+            if isinstance( self.curr_decl.parent, declarations.class_t ):
+                #we deal with internal class
+                self.curr_code_creator.wrapper.adopt_creator( wrapper )
+            else:
+                self.__extmodule.adopt_declaration_creator( wrapper )
+
+            #next constructors are not present in code, but compiler generated
+            #Boost.Python requiers them to be declared in the wrapper class
+            noncopyable_vars = self.curr_decl.find_noncopyable_vars()
+
+            copy_constr = self.curr_decl.find_copy_constructor()
+            if not self.curr_decl.noncopyable and copy_constr and copy_constr.is_artificial:
+                cccc = code_creators.copy_constructor_wrapper_t( constructor=copy_constr)
+                wrapper.adopt_creator( cccc )
+
+            trivial_constr = self.curr_decl.find_trivial_constructor()
+            if trivial_constr and trivial_constr.is_artificial and not noncopyable_vars:
+                tcons = code_creators.null_constructor_wrapper_t( constructor=trivial_constr )
+                wrapper.adopt_creator( tcons )
+
+        exposed = self.expose_overloaded_mem_fun_using_macro( cls_decl, cls_cc )
+
+        if cls_decl.introduces_new_scope:
+            cls_parent_cc.adopt_creator( cls_cc )
+        self.curr_code_creator = cls_cc
+
+        if cls_decl.expose_this:
+            cls_cc.adopt_creator( code_creators.expose_this_t( cls_decl ) )
+
+        if cls_decl.expose_sizeof:
+            cls_cc.adopt_creator( code_creators.expose_sizeof_t( cls_decl ) )
+
+        for decl in exportable_members:
+            if decl in exposed:
+                continue
+            self.curr_decl = decl
+            declarations.apply_visitor( self, decl )
+
+        for redefined_func in cls_decl.redefined_funcs():
+            if isinstance( redefined_func, declarations.operator_t ):
+                continue
+            self.curr_decl = redefined_func
+            declarations.apply_visitor( self, redefined_func )
+
+        #all static_methods_t should be moved to the end
+        #better approach is to move them after last def of relevant function
+        static_methods = [creator for creator in cls_cc.creators if isinstance( creator, code_creators.static_method_t )]
+        for static_method in static_methods:
+            cls_cc.remove_creator( static_method )
+            cls_cc.adopt_creator( static_method )
+
+        if cls_decl.exception_translation_code:
+            translator = code_creators.exception_translator_t( cls_decl )
+            self.__extmodule.adopt_declaration_creator( translator )
+            cls_cc.associated_decl_creators.append( translator )
+            translator_register \
+                = code_creators.exception_translator_register_t( cls_decl, translator )
+            cls_cc.adopt_creator( translator_register )
+
+        for property_def in cls_decl.properties:
+            cls_cc.adopt_creator( code_creators.property_t(property_def) )
+
+        if wrapper and cls_decl.destructor_code:
+            destructor = code_creators.destructor_wrapper_t( class_=cls_decl )
+            wrapper.adopt_creator( destructor )
+
+        for fc in cls_decl.fake_constructors:
+            if self.__fc_manager.should_generate_code( fc ):
+                self.__dependencies_manager.add_exported( fc )
+                cls_cc.adopt_creator( code_creators.make_constructor_t( fc ) )
+
+        self.curr_decl = cls_decl
+        self.curr_code_creator = cls_parent_cc
+
+
+    def visit_enumeration(self):
+        self.__dependencies_manager.add_exported( self.curr_decl )
+        maker = None
+        if self.curr_decl.name:
+            maker = code_creators.enum_t( enum=self.curr_decl )
+        else:
+            maker = code_creators.unnamed_enum_t( unnamed_enum=self.curr_decl )
+        self.curr_code_creator.adopt_creator( maker )
+
+    def visit_namespace(self):
+        pass
+
+    def visit_typedef(self):
+        pass
+
+    def _register_array_1( self, array_type ):
+        data = ( array_type.decl_string, declarations.array_size( array_type ) )
+        if data in self.__array_1_registered:
+            return False
+        else:
+            self.__array_1_registered.add( data )
+            return True
+
+    def visit_variable(self):
+        self.__types_db.update( self.curr_decl )
+        self.__dependencies_manager.add_exported( self.curr_decl )
+
+        if self.curr_decl.expose_address:
+            creator_type = None
+            if isinstance( self.curr_decl.parent, declarations.namespace_t ):
+                creator_type = code_creators.global_variable_addressof_t
+            else:
+                creator_type = code_creators.member_variable_addressof_t
+            self.curr_code_creator.adopt_creator( creator_type(self.curr_decl) )
+            return
+
+        if not self.curr_decl.expose_value:
+            return
+
+        if declarations.is_array( self.curr_decl.type ):
+            if self._register_array_1( self.curr_decl.type ):
+                array_1_registrator = code_creators.array_1_registrator_t( array_type=self.curr_decl.type )
+                self.curr_code_creator.adopt_creator( array_1_registrator )
+
+        if isinstance( self.curr_decl.parent, declarations.namespace_t ):
+            maker = None
+            wrapper = None
+            if declarations.is_array( self.curr_decl.type ):
+                wrapper = code_creators.array_gv_wrapper_t( variable=self.curr_decl )
+                maker = code_creators.array_gv_t( variable=self.curr_decl, wrapper=wrapper )
+            else:
+                maker = code_creators.global_variable_t( variable=self.curr_decl )
+            if wrapper:
+                self.__extmodule.adopt_declaration_creator( wrapper )
+        else:
+            maker = None
+            wrapper = None
+            if self.curr_decl.bits != None:
+                wrapper = code_creators.bit_field_wrapper_t( variable=self.curr_decl )
+                maker = code_creators.bit_field_t( variable=self.curr_decl, wrapper=wrapper )
+            elif declarations.is_array( self.curr_decl.type ):
+                wrapper = code_creators.array_mv_wrapper_t( variable=self.curr_decl )
+                maker = code_creators.array_mv_t( variable=self.curr_decl, wrapper=wrapper )
+            elif declarations.is_pointer( self.curr_decl.type ):
+                wrapper = code_creators.member_variable_wrapper_t( variable=self.curr_decl )
+                maker = code_creators.member_variable_t( variable=self.curr_decl, wrapper=wrapper )
+            elif declarations.is_reference( self.curr_decl.type ):
+                if None is self.curr_decl.getter_call_policies:
+                    self.curr_decl.getter_call_policies = self.__call_policies_resolver( self.curr_decl, 'get' )
+                if None is self.curr_decl.setter_call_policies:
+                    self.curr_decl.setter_call_policies = self.__call_policies_resolver( self.curr_decl, 'set' )
+                wrapper = code_creators.mem_var_ref_wrapper_t( variable=self.curr_decl )
+                maker = code_creators.mem_var_ref_t( variable=self.curr_decl, wrapper=wrapper )
+                self.__opaque_types_manager.register_opaque( maker, self.curr_decl )
+            else:
+                maker = code_creators.member_variable_t( variable=self.curr_decl )
+            if wrapper:
+                self.curr_code_creator.wrapper.adopt_creator( wrapper )
+        self.curr_code_creator.adopt_creator( maker )
diff --git a/pyplusplus/creators_factory/call_policies_resolver.py b/pyplusplus/creators_factory/call_policies_resolver.py
new file mode 100644
index 0000000..bbaa430
--- /dev/null
+++ b/pyplusplus/creators_factory/call_policies_resolver.py
@@ -0,0 +1,193 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from . import opaque_types_manager
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+from pyplusplus import code_creators
+from pyplusplus.decl_wrappers import python_traits
+
+#TODO: add opaque to documentation
+
+class resolver_t( object ):
+    def __init__( self ):
+        object.__init__( self )
+
+    def __call__(self, decl, hint=None):
+        raise NotImplementedError()
+
+class default_policy_resolver_t(resolver_t):
+    def __init__( self ):
+        resolver_t.__init__( self )
+        self.__const_char_pointer \
+            = declarations.pointer_t( declarations.const_t( declarations.char_t() ) )
+
+    def _resolve_by_type( self, some_type ):
+        temp_type = declarations.remove_alias( some_type )
+        temp_type = declarations.remove_cv( temp_type )
+        if isinstance( temp_type, declarations.fundamental_t ) \
+           or isinstance( temp_type, declarations.declarated_t ):
+            return decl_wrappers.default_call_policies()
+        if declarations.is_same( some_type, self.__const_char_pointer ):
+            return decl_wrappers.default_call_policies()
+        return None
+
+    def __call__(self, calldef, hint=None):
+        if not isinstance( calldef, declarations.calldef_t ):
+            return None
+            
+        if not isinstance( calldef, declarations.constructor_t ):
+            return self._resolve_by_type( calldef.return_type )
+        else:
+            for arg in calldef.arguments:
+                if not self._resolve_by_type( arg.type ):
+                    return None
+            return decl_wrappers.default_call_policies()
+
+class void_pointer_resolver_t(resolver_t):
+    def __init__( self ):
+        resolver_t.__init__( self )
+
+    def __call__( self, calldef, hint=None ):
+        if not isinstance( calldef, declarations.calldef_t ):
+            return None
+
+        if isinstance( calldef, declarations.constructor_t ):
+            return None
+        return_type = declarations.remove_alias( calldef.return_type )
+        void_ptr = declarations.pointer_t( declarations.void_t() )
+        const_void_ptr = declarations.pointer_t( declarations.const_t( declarations.void_t() ) )
+        if declarations.is_same( return_type, void_ptr ) \
+           or declarations.is_same( return_type, const_void_ptr ):
+            return decl_wrappers.return_value_policy( decl_wrappers.return_opaque_pointer )
+        return None
+
+class return_value_policy_resolver_t(resolver_t):
+    def __init__( self ):
+        resolver_t.__init__( self )
+        self.__const_wchar_pointer \
+            = declarations.pointer_t( declarations.const_t( declarations.wchar_t() ) )
+        
+    def __call__(self, calldef, hint=None):
+        if not isinstance( calldef, declarations.calldef_t ):
+            return None
+
+        if isinstance( calldef, declarations.constructor_t ):
+            return None
+
+        return_type = declarations.remove_alias( calldef.return_type )
+        if isinstance( return_type, declarations.reference_t ) \
+           and isinstance( return_type.base, declarations.const_t ):
+            return decl_wrappers.return_value_policy( decl_wrappers.copy_const_reference )
+
+        if declarations.is_same( return_type, self.__const_wchar_pointer ):
+            return decl_wrappers.return_value_policy( decl_wrappers.return_by_value )
+        
+        if opaque_types_manager.find_out_opaque_decl( return_type, ensure_opaque_decl=True ):
+            return decl_wrappers.return_value_policy( decl_wrappers.return_opaque_pointer )
+            
+        return None
+        
+class return_internal_reference_resolver_t( resolver_t ):
+    def __init__( self ):    
+        resolver_t.__init__( self )
+        
+    def __call__(self, calldef, hint=None):
+        if not isinstance( calldef, declarations.calldef_t ):
+            return None
+
+        if not isinstance( calldef, declarations.member_operator_t ):
+            return None
+        
+        if calldef.symbol != '[]':
+            return None
+            
+        return_type = declarations.remove_cv( calldef.return_type )
+        if declarations.is_reference( return_type ): 
+            return_type = declarations.remove_reference( return_type )
+        if python_traits.is_immutable( return_type ):
+            if declarations.is_const( calldef.return_type ):
+                return decl_wrappers.return_value_policy( decl_wrappers.copy_const_reference )
+            else:
+                return decl_wrappers.return_value_policy( decl_wrappers.copy_non_const_reference )
+        else:
+            return decl_wrappers.return_internal_reference()
+
+class return_self_resolver_t( resolver_t ):
+    def __init__( self ):    
+        resolver_t.__init__( self )
+        
+    def __call__(self, calldef, hint=None):
+        if not isinstance( calldef, declarations.member_operator_t ):
+            return None
+        
+        if calldef.symbol != '=':
+            return None
+
+        return decl_wrappers.return_self()
+
+class variable_accessors_resolver_t( resolver_t ):
+    def __init__( self ):    
+        resolver_t.__init__( self )
+    
+    def __call__( self, variable, hint=None ):
+        if not isinstance( variable, declarations.variable_t ):
+            return None
+
+        assert hint in ( 'get', 'set' )
+        
+        if not declarations.is_reference( variable.type ):
+            return None
+        
+        no_ref = declarations.remove_reference( variable.type )
+        base_type = declarations.remove_const( no_ref )
+        if python_traits.is_immutable( base_type ):
+            #the relevant code creator will generate code, that will return this member variable
+            #by value
+            return decl_wrappers.default_call_policies()
+        
+        if not isinstance( base_type, declarations.declarated_t ):
+            return None
+        
+        base_type = declarations.remove_alias( base_type )
+        decl = base_type.declaration
+        
+        if declarations.is_class_declaration( decl ):
+            return None
+        
+        if decl.is_abstract:
+            return None
+        if declarations.has_destructor( decl ) and not declarations.has_public_destructor( decl ): 
+            return None
+        if not declarations.has_copy_constructor(decl):
+            return None
+        if hint == 'get':
+            #if we rich this line, it means that we are able to create an obect using
+            #copy constructor. 
+            if declarations.is_const( no_ref ):
+                return decl_wrappers.return_value_policy( decl_wrappers.copy_const_reference )
+            else:
+                return decl_wrappers.return_value_policy( decl_wrappers.copy_non_const_reference )
+        else:
+            return decl_wrappers.default_call_policies()
+
+class built_in_resolver_t(resolver_t):
+    def __init__( self, config=None):
+        resolver_t.__init__( self )
+        self.__resolvers = [ default_policy_resolver_t()
+                             , return_value_policy_resolver_t() ]        
+        assert not config or isinstance( config, code_creators.target_configuration_t )
+        if not config or config.boost_python_supports_void_ptr:
+            self.__resolvers.append( void_pointer_resolver_t() )
+        self.__resolvers.append( return_internal_reference_resolver_t() )
+        self.__resolvers.append( variable_accessors_resolver_t() )
+        self.__resolvers.append( return_self_resolver_t() )        
+
+    def __call__( self, calldef, hint=None ):
+        for resolver in self.__resolvers:
+            resolved = resolver( calldef, hint )
+            if resolved:
+                return resolved
+        return None
diff --git a/pyplusplus/creators_factory/creators_wizard.py b/pyplusplus/creators_factory/creators_wizard.py
new file mode 100644
index 0000000..8985004
--- /dev/null
+++ b/pyplusplus/creators_factory/creators_wizard.py
@@ -0,0 +1,71 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""this module defines few function that will guess what creator(s) should be
+created for exposing a declaration
+"""
+
+from pygccxml import declarations
+from pyplusplus import code_creators
+
+
+ACCESS_TYPES = declarations.ACCESS_TYPES
+VIRTUALITY_TYPES = declarations.VIRTUALITY_TYPES
+
+
+def find_out_mem_fun_creator_classes( decl ):
+    """return tuple of ( registration, declaration ) code creator classes"""
+    maker_cls = None
+    fwrapper_cls = None
+    access_level = decl.parent.find_out_member_access_type( decl )
+    if len( decl.transformations ) not in ( 0, 1 ):
+        raise RuntimeError( "Right now `Py++` does not support multiple transformation applied on a single function." )
+    if access_level == ACCESS_TYPES.PUBLIC:
+        if decl.virtuality == VIRTUALITY_TYPES.NOT_VIRTUAL:
+            if decl.transformations:
+                maker_cls = code_creators.mem_fun_transformed_t
+                fwrapper_cls = code_creators.mem_fun_transformed_wrapper_t
+            else:
+                maker_cls = code_creators.mem_fun_t
+        elif decl.virtuality == VIRTUALITY_TYPES.PURE_VIRTUAL:
+            if decl.transformations:
+                maker_cls = code_creators.mem_fun_v_transformed_t
+                fwrapper_cls = code_creators.mem_fun_v_transformed_wrapper_t
+            else:
+                fwrapper_cls = code_creators.mem_fun_pv_wrapper_t
+                maker_cls = code_creators.mem_fun_pv_t
+        else:
+            if decl.transformations:
+                fwrapper_cls = code_creators.mem_fun_v_transformed_wrapper_t
+                maker_cls = code_creators.mem_fun_v_transformed_t
+            else:
+                if decl.overridable:
+                    fwrapper_cls = code_creators.mem_fun_v_wrapper_t
+                maker_cls = code_creators.mem_fun_v_t
+    elif access_level == ACCESS_TYPES.PROTECTED:
+        if decl.virtuality == VIRTUALITY_TYPES.NOT_VIRTUAL:
+            if decl.has_static:
+                fwrapper_cls = code_creators.mem_fun_protected_s_wrapper_t
+                maker_cls = code_creators.mem_fun_protected_s_t
+            else:
+                fwrapper_cls = code_creators.mem_fun_protected_wrapper_t
+                maker_cls = code_creators.mem_fun_protected_t
+        elif decl.virtuality == VIRTUALITY_TYPES.VIRTUAL:
+            if decl.overridable:
+                fwrapper_cls = code_creators.mem_fun_protected_v_wrapper_t
+                maker_cls = code_creators.mem_fun_protected_v_t
+        else:
+            fwrapper_cls = code_creators.mem_fun_protected_pv_wrapper_t
+            maker_cls = code_creators.mem_fun_protected_pv_t
+    else: #private
+        if decl.virtuality == VIRTUALITY_TYPES.NOT_VIRTUAL:
+            pass#in general we should not come here
+        elif decl.virtuality == VIRTUALITY_TYPES.PURE_VIRTUAL:
+            fwrapper_cls = code_creators.mem_fun_private_pv_wrapper_t
+        else:
+            if decl.overridable:
+                fwrapper_cls = code_creators.mem_fun_v_wrapper_t
+                maker_cls = code_creators.mem_fun_v_t
+    return ( maker_cls, fwrapper_cls )
diff --git a/pyplusplus/creators_factory/ctypes_creator.py b/pyplusplus/creators_factory/ctypes_creator.py
new file mode 100644
index 0000000..e46e8ef
--- /dev/null
+++ b/pyplusplus/creators_factory/ctypes_creator.py
@@ -0,0 +1,200 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from . import sort_algorithms
+from . import dependencies_manager
+from pygccxml import binary_parsers
+from pyplusplus import _logging_
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+from pyplusplus import code_creators
+from pyplusplus import code_repository
+
+ACCESS_TYPES = declarations.ACCESS_TYPES
+VIRTUALITY_TYPES = declarations.VIRTUALITY_TYPES
+
+class ctypes_creator_t( declarations.decl_visitor_t ):
+    def __init__( self
+                  , global_ns
+                  , library_path
+                  , exported_symbols ):
+        declarations.decl_visitor_t.__init__(self)
+        self.logger = _logging_.loggers.module_builder
+        self.decl_logger = _logging_.loggers.declarations
+
+        self.global_ns = global_ns
+
+        self.__library_path = library_path
+        self.__exported_symbols = exported_symbols
+        self.__exported_decls = set( exported_symbols.values() )
+        self.module = code_creators.ctypes_module_t( global_ns )
+        self.__dependencies_manager = dependencies_manager.manager_t(self.decl_logger)
+
+        #bookmark for class introductions
+        self.__class_ccs = code_creators.bookmark_t()
+        #bookmark for class deinitions
+        self.__class_defs_ccs = code_creators.bookmark_t()
+        #bookmark for typedef definitions
+        self.__typedefs_ccs =  code_creators.bookmark_t()
+        self.curr_decl = global_ns
+        self.curr_code_creator = self.module
+        #mapping between class declaration and class introduction code creator
+        self.__class2introduction = {}
+        #mapping between namespace and its code creator
+        self.__namespace2pyclass = {}
+
+    def __print_readme( self, decl ):
+        readme = decl.readme()
+        if not readme:
+            return
+
+        if not decl.exportable:
+            reason = readme[0]
+            readme = readme[1:]
+            self.decl_logger.warning( "%s;%s" % ( decl, reason ) )
+
+        for msg in readme:
+            self.decl_logger.warning( "%s;%s" % ( decl, msg ) )
+
+    def __should_generate_code( self, decl ):
+        if decl.ignore or decl.already_exposed:
+            return False
+        if isinstance( decl, declarations.calldef_t ):
+            return decl in self.__exported_decls
+        if isinstance( decl, declarations.variable_t ):
+            if isinstance( decl.parent, declarations.namespace_t ):
+                return decl in self.__exported_decls
+        return True
+
+    def __contains_exported( self, decl ):
+        return bool( decl.decls( self.__should_generate_code, recursive=True, allow_empty=True ) )
+
+    # - implement better 0(n) algorithm
+    def __add_class_introductions( self, cc, class_ ):
+        if not self.__should_generate_code( class_ ):
+            return
+        ci_creator = code_creators.class_introduction_t( class_ )
+        self.__class2introduction[ class_ ] = ci_creator
+        cc.adopt_creator( ci_creator )
+        classes = class_.classes( recursive=False, allow_empty=True)
+        classes = sort_algorithms.sort_classes( classes, include_vars=True )
+        for internal_class in classes:
+            self.__add_class_introductions( ci_creator, internal_class )
+
+        if not class_.opaque:
+            self.__class_defs_ccs.adopt_creator( code_creators.fields_definition_t( class_ ) )
+            
+    def create(self ):
+        """
+        create and return the module for the extension - code creators tree root
+
+        :rtype: :class:`code_creators.module_t`
+        """
+        # Invoke the appropriate visit_*() method on all decls
+        ccc = self.curr_code_creator
+        ccc.adopt_creator( code_creators.import_t( 'ctypes' ) )
+        ccc.adopt_creator( code_creators.import_t( code_repository.ctypes_utils.file_name  ) )
+
+        ccc.adopt_creator( code_creators.separator_t() )
+
+        ccc.adopt_creator( code_creators.library_reference_t( self.__library_path ) )
+        ccc.adopt_creator( code_creators.name_mappings_t( self.__exported_symbols ) )
+
+        ccc.adopt_creator( code_creators.separator_t() )
+        #adding namespaces
+        global_ns_cc = code_creators.bookmark_t()
+        ccc.adopt_creator( global_ns_cc )
+        ccc.adopt_creator( self.__class_ccs )
+        self.__namespace2pyclass[ self.global_ns ] = global_ns_cc
+        #adding class introductions - special case because of hierarchy
+        f = lambda cls: self.__should_generate_code( cls ) \
+                        and isinstance( cls.parent, declarations.namespace_t )
+        ns_classes = self.global_ns.classes( f, recursive=True, allow_empty=True)
+        ns_classes = sort_algorithms.sort_classes( ns_classes, include_vars=True )
+        for class_ in ns_classes:
+            self.__add_class_introductions( self.__class_ccs, class_ )
+
+        ccc.adopt_creator( self.__class_defs_ccs )
+
+        ccc.adopt_creator( code_creators.separator_t() )
+
+        ccc.adopt_creator( self.__typedefs_ccs )
+
+        declarations.apply_visitor( self, self.curr_decl )
+
+        self.__dependencies_manager.inform_user()
+
+        return self.module
+
+    def visit_member_function( self ):
+        pass #c code doesn't have member functions
+    def visit_constructor( self ):
+        pass #c code doesn't have member functions    
+    def visit_destructor( self ):
+        pass #c code doesn't have member functions
+    def visit_member_operator( self ):
+        pass #c code doesn't have member functions
+    def visit_casting_operator( self ):
+        pass #c code doesn't have member functions
+    def visit_free_function( self ):
+        self.__dependencies_manager.add_exported( self.curr_decl )
+        self.curr_code_creator.adopt_creator( code_creators.function_definition_t( self.curr_decl ) )
+
+    def visit_free_operator( self ):
+        self.__dependencies_manager.add_exported( self.curr_decl )
+
+    def visit_class_declaration(self ):
+        self.__dependencies_manager.add_exported( self.curr_decl )
+        ci_creator = code_creators.class_declaration_introduction_t( self.curr_decl )
+        self.__class_ccs.adopt_creator( ci_creator )
+
+    def visit_class(self):
+        self.__dependencies_manager.add_exported( self.curr_decl )
+        if self.curr_decl.opaque:
+            cls_intro_cc = self.__class2introduction[ self.curr_decl ]
+            cls_intro_cc.adopt_creator( code_creators.opaque_init_introduction_t( self.curr_decl ) )
+        else:
+            class_ = self.curr_decl
+            for decl in self.curr_decl.decls( recursive=False, allow_empty=True ):
+                if isinstance( decl, declarations.variable_t ):
+                    continue #fields_definition_t class treats them
+                if self.__should_generate_code( decl ):
+                    self.curr_decl = decl
+                    declarations.apply_visitor( self, decl )
+            self.curr_decl = class_
+
+    def visit_enumeration(self):
+        self.__dependencies_manager.add_exported( self.curr_decl )
+        paretn_cc = None
+        if isinstance( self.curr_decl.parent, declarations.class_t ):
+            paretn_cc = self.__class2introduction[ self.curr_decl.parent ]
+        else:
+            paretn_cc = self.__namespace2pyclass[ self.curr_decl.parent ]
+        paretn_cc.adopt_creator( code_creators.pyenum_t( self.curr_decl ) )
+
+    def visit_typedef(self):
+        self.__dependencies_manager.add_exported( self.curr_decl )
+        self.__typedefs_ccs.adopt_creator( code_creators.typedef_as_pyvar_t( self.curr_decl ) )
+
+    def visit_variable(self):
+        self.__dependencies_manager.add_exported( self.curr_decl )
+        self.curr_code_creator.adopt_creator( code_creators.global_variable_reference_t( self.curr_decl ) )
+
+    def visit_namespace(self ):
+        if not self.__contains_exported( self.curr_decl ):
+            return
+        if self.global_ns is not self.curr_decl:
+            ns_creator = code_creators.namespace_as_pyclass_t( self.curr_decl )
+            self.__namespace2pyclass[ self.curr_decl ] = ns_creator
+            self.__namespace2pyclass[ self.curr_decl.parent ].adopt_creator( ns_creator )
+
+        ns = self.curr_decl
+        for decl in self.curr_decl.decls( recursive=False, allow_empty=True ):
+            if isinstance( decl, declarations.namespace_t) or self.__should_generate_code( decl ):
+                self.curr_decl = decl
+                declarations.apply_visitor( self, decl )
+        self.curr_decl = ns
+
+
diff --git a/pyplusplus/creators_factory/dependencies_manager.py b/pyplusplus/creators_factory/dependencies_manager.py
new file mode 100644
index 0000000..a07bcfe
--- /dev/null
+++ b/pyplusplus/creators_factory/dependencies_manager.py
@@ -0,0 +1,205 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 class, which informs user about used, but unexposed declarations"""
+
+import os
+from pyplusplus import utils
+from pyplusplus import messages
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+
+class duplicated_names_reporter_t(object):
+    def __init__( self, decls, value_getter, msg ):
+        self.decls = decls
+        self.get_value = value_getter
+        self.msg = msg
+
+    def __select( self ):
+        duplicated = {}
+        for decl in self.decls:
+            value = self.get_value( decl )
+            if value not in duplicated:
+                duplicated[ value ] = set()
+            duplicated[ value ].add( decl )
+        result = duplicated.copy()
+        for value, buggy_decls in list(duplicated.items()):
+            if 1 == len( buggy_decls ):
+                del result[ value ]
+        return result
+
+    def __report_single( self, control_decl, duplicated, logger ):
+        value = self.get_value( control_decl )
+        if value not in duplicated:
+            return
+        buggy_decls = duplicated[value].copy()
+        buggy_decls.remove( control_decl )
+        warning = self.msg % ( value, os.linesep.join( map( str, buggy_decls ) ) )
+        logger.warning( "%s;%s" % ( str( control_decl ), warning ) )
+
+    def report( self, logger ):
+        duplicated = self.__select()
+        for decl in self.decls:
+            self.__report_single( decl, duplicated, logger )
+
+duplicated_aliases_reporter \
+    = lambda decls: duplicated_names_reporter_t( decls, lambda d: d.alias, messages.W1047 )
+
+duplicated_wrapper_aliases_reporter \
+    = lambda decls: duplicated_names_reporter_t( decls, lambda d: d.wrapper_alias, messages.W1065 )
+
+
+class manager_t( object ):
+    def __init__( self, logger ):
+        object.__init__( self )
+        self.__exported_decls = []
+        self.__logger = logger
+
+    def add_exported( self, decl ):
+        self.__exported_decls.append( decl )
+        if isinstance( decl, declarations.class_t ) and decl.indexing_suite:
+            included_decls = decl.decls( lambda d: d.ignore==False, allow_empty=True, recursive=True )
+            for decl in included_decls: self.add_exported(decl)
+
+    def __is_std_decl( self, decl ):
+        #Every class under std should be exported by Boost.Python and\\or `Py++`
+        #Also this is not the case right now, I prefer to hide the warnings
+        dpath = declarations.declaration_path( decl )
+        if len( dpath ) < 3:
+            return False
+        if dpath[1] != 'std':
+            return False
+        if decl.name.startswith( 'pair<' ):
+            #special case
+            return False
+        return True
+
+    def __build_dependencies( self, decl ):
+        if self.__is_std_decl( decl ):
+            #TODO add element_type to the list of dependencies
+            return [] #std declarations should be exported by `Py++`!
+        if decl.already_exposed:
+            return []
+        dependencies = decl.i_depend_on_them(recursive=False)
+
+        if isinstance( decl, declarations.class_t ):
+            dependencies = [d for d in dependencies if d.access_type != declarations.ACCESS_TYPES.PRIVATE]
+
+        return dependencies
+
+    def __has_unexposed_dependency( self, exported_ids, depend_on_decl, dependency ):
+        sptr_traits = declarations.smart_pointer_traits
+
+        if None is depend_on_decl:
+            return
+
+        if self.__is_std_decl( depend_on_decl ):
+            return
+
+        if sptr_traits.is_smart_pointer( depend_on_decl ):
+            try:
+                value_type = sptr_traits.value_type( depend_on_decl )
+                if isinstance( value_type, declarations.type_t ):
+                    value_type = declarations.remove_cv( value_type )
+                    value_type = declarations.remove_declarated( value_type )
+                if isinstance( value_type, declarations.declaration_t ):
+                    return self.__has_unexposed_dependency( exported_ids, value_type, dependency )
+            except RuntimeError:
+                pass
+
+        if isinstance( depend_on_decl, decl_wrappers.decl_wrapper_t ):
+            if depend_on_decl.already_exposed:
+                return
+            if isinstance( depend_on_decl, declarations.class_types ):
+                if depend_on_decl.opaque:
+                    return
+                if dependency.hint == "base class":
+                    return #base class for some class don't have to be exported
+            if isinstance( depend_on_decl, declarations.variable_t ):
+                if not decl.expose_value:
+                    return
+
+        if isinstance( dependency.decl, declarations.variable_t ):
+            #the only dependency of the variable is its type
+            if not dependency.decl.expose_value:
+                return
+
+        if dependency.hint == "return type":
+            #in this case we don't check, the return type but the function
+            if isinstance( dependency.decl, declarations.calldef_t ):
+                if dependency.decl.return_type and dependency.decl.call_policies \
+                   and decl_wrappers.is_return_opaque_pointer_policy( dependency.decl.call_policies ):
+                   return
+
+        return id( depend_on_decl ) not in exported_ids
+
+    def __find_out_used_but_not_exported( self ):
+        used_not_exported = []
+        exported_ids = set( [id( d ) for d in self.__exported_decls] )
+        for decl in self.__exported_decls:
+            for dependency in self.__build_dependencies( decl ):
+                for depend_on_decl in dependency.find_out_depend_on_it_declarations():
+                    if self.__has_unexposed_dependency( exported_ids, depend_on_decl, dependency ):
+                        if messages.filter_disabled_msgs([messages.W1040], depend_on_decl.disabled_messages ):
+                            #need to report dependency errors
+                            used_not_exported.append(dependency)
+        return used_not_exported
+
+    def __group_by_unexposed( self, dependencies ):
+        groups = {}
+        for dependency in dependencies:
+            for depend_on_decl in dependency.find_out_depend_on_it_declarations():
+                if id( depend_on_decl ) not in groups:
+                    groups[ id( depend_on_decl ) ] = []
+                groups[ id( depend_on_decl ) ].append( dependency )
+        return groups
+
+    def __create_dependencies_msg( self, dependencies ):
+        msg = []
+        for depend_on_decl in dependencies[0].find_out_depend_on_it_declarations():
+            decls = []
+            for dependency in dependencies:
+                decls.append( os.linesep + ' ' + str( dependency.declaration ) )
+            msg.append( "%s;%s" % ( depend_on_decl, messages.W1040 % ''.join( decls ) ) )
+        return os.linesep.join( msg )
+
+    def __report_duplicated_aliases( self ):
+        decls = [decl for decl in self.__exported_decls if isinstance( decl, declarations.class_types ) \
+                                     and isinstance( decl.parent, declarations.namespace_t )]
+
+        dar = duplicated_aliases_reporter( decls )
+        dar.report( self.__logger )
+
+        classes = [c for c in decls if isinstance( c, declarations.class_t )]
+        query = lambda decl: isinstance( decl, declarations.class_types ) \
+                             and decl.ignore == False \
+                             and decl._already_exposed == False
+
+        for cls in classes:
+            internal_decls = cls.decls( query, recursive=False, allow_empty=True)
+            dar = duplicated_aliases_reporter( internal_decls )
+            dar.report( self.__logger )
+
+    def __report_duplicated_wrapper_aliases( self ):
+        decls = [decl for decl in self.__exported_decls if isinstance( decl, declarations.class_t ) \
+                                     and isinstance( decl.parent, declarations.namespace_t )]
+
+        dwar = duplicated_wrapper_aliases_reporter( decls )
+        dwar.report( self.__logger )
+
+        query = lambda decl: decl.ignore == False and decl._already_exposed == False
+
+        for cls in decls:
+            internal_decls = cls.classes( query, recursive=False, allow_empty=True)
+            dwar = duplicated_wrapper_aliases_reporter( internal_decls )
+            dwar.report( self.__logger )
+
+    def inform_user( self ):
+        used_not_exported_decls = self.__find_out_used_but_not_exported()
+        groups = self.__group_by_unexposed( used_not_exported_decls )
+        for group in groups.values():
+            self.__logger.warning( self.__create_dependencies_msg( group ) )
+        self.__report_duplicated_aliases()
+        self.__report_duplicated_wrapper_aliases()
diff --git a/pyplusplus/creators_factory/fake_constructors_manager.py b/pyplusplus/creators_factory/fake_constructors_manager.py
new file mode 100644
index 0000000..c9e1920
--- /dev/null
+++ b/pyplusplus/creators_factory/fake_constructors_manager.py
@@ -0,0 +1,29 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 class, which manages "fake constructors" """
+
+class manager_t( object ):
+    def __init__( self, global_ns ):
+        self.__global_ns = global_ns
+        self.__fc_all = set()
+        self.__fc_exposed = set()
+
+        for cls in global_ns.classes(recursive=True, allow_empty=True):
+            for fc in cls.fake_constructors:
+                self.__fc_all.add( fc )
+                if fc.ignore:
+                    continue
+                if not fc.exportable:
+                    continue
+                if not isinstance( fc, cls.FAKE_CONSTRUCTOR_TYPES ):
+                    continue
+                self.__fc_exposed.add( fc )
+
+    def is_fake_constructor( self, fc ):
+        return fc in self.__fc_all
+
+    def should_generate_code( self, fc ):
+        return fc in self.__fc_exposed
diff --git a/pyplusplus/creators_factory/opaque_types_manager.py b/pyplusplus/creators_factory/opaque_types_manager.py
new file mode 100644
index 0000000..e8d90b6
--- /dev/null
+++ b/pyplusplus/creators_factory/opaque_types_manager.py
@@ -0,0 +1,82 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from pygccxml import declarations
+from pyplusplus import code_creators
+from pyplusplus import decl_wrappers
+
+def find_out_opaque_decl( type_, ensure_opaque_decl ):
+    naked_type = declarations.remove_cv( type_ )
+    if not declarations.is_pointer( naked_type ):
+        return None
+    naked_type = declarations.remove_pointer( declarations.remove_cv( type_ ) )
+    if decl_wrappers.python_traits.is_immutable( naked_type ):
+        return None#immutable types could not be opaque
+    decl = None
+    if declarations.is_class( naked_type ):
+        decl = declarations.class_traits.get_declaration( naked_type )
+    elif declarations.is_class_declaration( naked_type ):#class declaration:
+        decl = declarations.class_declaration_traits.get_declaration( naked_type )
+    else:
+        return None
+    if ensure_opaque_decl:
+        if decl.opaque:
+            return decl
+        else:
+            return None
+    else:
+        return decl
+
+
+class manager_t( object ):
+    def __init__( self, extmodule ):
+        object.__init__( self )
+        self.__extmodule = extmodule
+        self.__exposed_opaque_decls = {} #decl: creator
+        
+    def __find_out_opaque_decls( self, decl ):
+        opaque_types = []
+        is_opaque_policy = decl_wrappers.is_return_opaque_pointer_policy
+        if isinstance( decl, declarations.variable_t ):
+            opaque_decl = find_out_opaque_decl( decl.type, ensure_opaque_decl=True )
+            if opaque_decl:
+                opaque_types.append( opaque_decl )
+            elif is_opaque_policy( decl.getter_call_policies ) or is_opaque_policy( decl.setter_call_policies ):
+                opaque_decl = find_out_opaque_decl( decl.type, ensure_opaque_decl=False )
+                if opaque_decl:
+                    opaque_types.append( opaque_decl )
+            else:
+                pass
+        elif isinstance( decl, declarations.calldef_t ):
+            if is_opaque_policy( decl.call_policies ):
+                opaque_decl = find_out_opaque_decl( decl.return_type, ensure_opaque_decl=False )
+                if opaque_decl:
+                    opaque_types.append( opaque_decl )
+            all_types = decl.argument_types[:]
+            if decl.return_type:
+                all_types.append( decl.return_type )    
+            for type_ in all_types:
+                opaque_decl = find_out_opaque_decl( type_, ensure_opaque_decl=True )
+                if opaque_decl:
+                    opaque_types.append( opaque_decl )
+        else:
+            pass
+        return opaque_types
+            
+            
+    def register_opaque( self, creator, decl_or_decls ):
+        opaque_decls = []
+        for decl in declarations.make_flatten( decl_or_decls ):
+            opaque_decls.extend( self.__find_out_opaque_decls( decl ) )
+            
+        for decl in opaque_decls:
+            opaque_type_registrator = None
+            if id(decl) not in list(self.__exposed_opaque_decls.keys()):
+                opaque_type_registrator = code_creators.opaque_type_registrator_t( decl )
+                self.__exposed_opaque_decls[ id(decl) ] = opaque_type_registrator
+                self.__extmodule.adopt_declaration_creator( opaque_type_registrator )
+            else:
+                opaque_type_registrator = self.__exposed_opaque_decls[ id(decl) ]
+            creator.associated_decl_creators.append(opaque_type_registrator)
diff --git a/pyplusplus/creators_factory/sort_algorithms.py b/pyplusplus/creators_factory/sort_algorithms.py
new file mode 100644
index 0000000..90abe0a
--- /dev/null
+++ b/pyplusplus/creators_factory/sort_algorithms.py
@@ -0,0 +1,276 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+
+class COLOR:
+    WHITE = 0
+    GRAY = 1
+    BLACK = 2
+
+class class_organizer_t(object):
+    def __init__( self, decls, include_vars=False):
+        object.__init__( self )
+
+        self.__include_vars = include_vars
+        self.__classes = [x for x in decls if isinstance( x, declarations.class_t )]
+        self.__classes.sort( key = lambda cls: cls.decl_string )
+        self.__dependencies_graph = self._build_graph()
+        self.__time = 0
+        self.__colors = dict( list(zip( list(self.__dependencies_graph.keys())
+                              , [ COLOR.WHITE ] * len( self.__dependencies_graph ) )) )
+        self.__class_discovered = dict( list(zip( list(self.__dependencies_graph.keys())
+                                        , [ 0 ] * len( self.__dependencies_graph ) )) )
+        self.__class_treated = dict( list(zip( list(self.__dependencies_graph.keys())
+                                     , [ 0 ] * len( self.__dependencies_graph ) )) )
+
+        self.__desired_order = []
+
+        self._topological_sort()
+
+    def _build_graph(self):
+        full_name = declarations.full_name
+        graph = {} #
+        for class_ in self.__classes:
+            assert isinstance( class_, declarations.class_t )
+            fname = full_name( class_ )
+            graph[ fname ] = self.__find_out_class_dependencies( class_ )
+        return graph
+
+    def __find_out_class_dependencies( self, class_ ):
+        full_name = declarations.full_name
+        #class depends on it's base classes
+        i_depend_on_them = set( [ full_name( base.related_class ) for base in class_.bases ] )
+        #class depends on all classes that used in function as argument
+        # types and those arguments have default value
+        calldefs = [decl for decl in declarations.make_flatten( class_ ) if isinstance( decl, declarations.calldef_t )]
+        for calldef in calldefs:
+            for arg in calldef.arguments:
+                if declarations.is_enum( arg.type ):
+                    top_class_inst = self.__get_top_class_inst( declarations.enum_declaration( arg.type ) )
+                    if top_class_inst:
+                        i_depend_on_them.add( full_name( top_class_inst ) )
+                    continue
+                if not arg.default_value:
+                    continue
+                if declarations.is_pointer( arg.type ) and arg.default_value == 0:
+                    continue
+                base_type = declarations.base_type( arg.type )
+                if not isinstance( base_type, declarations.declarated_t ):
+                    continue
+                top_class_inst = self.__get_top_class_inst( base_type.declaration )
+                if top_class_inst:
+                    i_depend_on_them.add( full_name( top_class_inst ) )
+
+        if self.__include_vars:
+            vars = [decl for decl in declarations.make_flatten( class_ ) if isinstance( decl, declarations.variable_t )]
+            for var in vars:
+                if declarations.is_pointer( var.type ):
+                    continue
+                base_type = declarations.base_type( var.type )
+                if not isinstance( base_type, declarations.declarated_t ):
+                    continue
+                top_class_inst = self.__get_top_class_inst( base_type.declaration )
+                if top_class_inst:
+                    i_depend_on_them.add( full_name( top_class_inst ) )
+
+        for internal_cls in class_.classes(allow_empty=True):
+            internal_cls_dependencies = self.__find_out_class_dependencies( internal_cls )
+            i_depend_on_them.update( internal_cls_dependencies )
+
+        i_depend_on_them = list( i_depend_on_them )
+        i_depend_on_them.sort()
+        return i_depend_on_them
+
+    def __get_top_class_inst( self, decl ):
+        curr = decl
+        while isinstance( curr.parent, declarations.class_t ):
+            curr = curr.parent
+        if isinstance( curr, declarations.class_t ):
+            return curr
+
+    def _topological_sort(self):
+        self._dfs()
+
+    def _dfs( self ):
+        for class_ in sorted( self.__dependencies_graph.keys() ):
+            if self.__colors[class_] == COLOR.WHITE:
+                self._dfs_visit(class_)
+
+    def _dfs_visit(self, base):
+        self.__colors[base] = COLOR.GRAY
+        self.__time += 1
+        self.__class_discovered[base] = self.__time
+        for derived in self.__dependencies_graph[base]:
+            if derived in self.__colors and self.__colors[derived] == COLOR.WHITE:
+                self._dfs_visit( derived )
+            else:
+                pass
+                #there is usecase where base class defined within some class
+                #but his derives defined out of the class. right now `Py++`
+                #doesn't supports this situation.
+
+        self.__colors[base] = COLOR.BLACK
+        self.__time += 1
+        self.__class_treated = self.__time
+        self.__desired_order.append(base)
+
+    def desired_order(self):
+        full_name = declarations.full_name
+        fname2inst = {}
+        for class_inst in self.__classes:
+            fname2inst[ full_name( class_inst ) ] = class_inst
+        answer = []
+        for fname in self.__desired_order:
+            answer.append( fname2inst[fname] )
+        return answer
+
+
+def cmp_to_key(mycmp):
+    """Convert a cmp= function into a key= function"""
+    class K(object):
+        def __init__(self, obj, *args):
+            self.obj = obj
+        def __lt__(self, other):
+            return mycmp(self.obj, other.obj) < 0
+        def __gt__(self, other):
+            return mycmp(self.obj, other.obj) > 0
+        def __eq__(self, other):
+            return mycmp(self.obj, other.obj) == 0
+        def __le__(self, other):
+            return mycmp(self.obj, other.obj) <= 0
+        def __ge__(self, other):
+            return mycmp(self.obj, other.obj) >= 0
+        def __ne__(self, other):
+            return mycmp(self.obj, other.obj) != 0
+    return K
+
+
+class calldef_organizer_t( object ):
+    #Take a look on this post:
+    #  http://mail.python.org/pipermail/c++-sig/2006-October/011463.html
+
+    #calldef_organizer_t will take into account only required arguments.
+    #Next rules are implemented:
+    #1. calldef( bool ) will be the last registered function
+    #2. T* will come after T ( const T& )
+    def __init__( self ):
+        object.__init__( self )
+        #preserve order in which functions where defined
+        self.cmp_calldefs_fallback = lambda d1, d2: cmp( d1.location.line, d2.location.line )
+
+    def build_groups( self, decls ):
+        groups = { None: [] }
+        decl2order = {}
+        for index,d in enumerate( decls ):
+            decl2order[d] = index
+            if not isinstance( d, declarations.calldef_t ) or 0 == len( d.required_args ):
+                groups[ None ].append( d )
+            else:
+                key = ( d.name, len( d.required_args ) )
+                if key not in groups:
+                    groups[ key ] = []
+                groups[key].append( d )
+        #keep backward compatibility
+        to_be_deleted = []
+        for group, group_decls in groups.items():
+            if None is group:
+                continue
+            if len( group_decls ) == 1:
+                groups[ None ].append( group_decls[0] )
+                to_be_deleted.append( group )
+        for group in to_be_deleted:
+            del groups[ group ]
+        groups[ None ].sort( key=lambda d: decl2order[d] )
+        return groups
+
+    def cmp_args_types( self, t1, t2 ):
+        return decl_wrappers.algorithm.registration_order.is_related( t1, t2 )
+
+    def cmp_calldefs( self, f1, f2 ):
+        result = self.cmp_args_types( f1.required_args[-1].type, f2.required_args[-1].type )
+        if None is result:
+            result = self.cmp_calldefs_fallback( f1, f2 )
+        return result
+
+    def sort_groups( self, groups ):
+        for group in list(groups.keys()):
+            if None is group:
+                continue
+            groups[ group ].sort( key=cmp_to_key(self.cmp_calldefs) )
+
+    def join_groups( self, groups ):
+        decls = []
+        keys = set(groups.keys())
+        if None in keys:
+            keys.remove(None)
+        for group in sorted(keys):
+            decls.extend( groups[group] )
+        return decls
+
+    def sort( self, decls ):
+        groups = self.build_groups( decls )
+        self.sort_groups(groups)
+        result = self.join_groups(groups)
+        return result
+
+def sort_classes( classes, include_vars=False ):
+    organizer = class_organizer_t( classes, include_vars=include_vars )
+    return organizer.desired_order()
+
+def sort_calldefs( decls ):
+    return calldef_organizer_t().sort( decls )
+
+USE_CALLDEF_ORGANIZER = False
+#If you understand what problem calldef_organizer_t solves, than may be you should
+#use this.
+
+def sort( decls ):
+    classes = [x for x in decls if isinstance( x, declarations.class_t )]
+    ordered = sort_classes( classes )
+
+    ids = set( [ id( inst ) for inst in ordered ] )
+    for decl in decls:
+        if id( decl ) not in ids:
+            ids.add( id(decl) )
+            ordered.append( decl )
+    #type should be exported before it can be used.
+    variables = []
+    enums = []
+    others = []
+    classes = []
+    constructors = []
+    for inst in ordered:
+        if isinstance( inst, declarations.variable_t ):
+            variables.append( inst )
+        elif isinstance( inst, declarations.enumeration_t ):
+            enums.append( inst )
+        elif isinstance( inst, ( declarations.class_t, declarations.class_declaration_t ) ):
+            classes.append( inst )
+        elif isinstance( inst, declarations.constructor_t ):
+            constructors.append( inst )
+        else:
+            others.append( inst )
+    #this will prevent from py++ to change the order of generated code
+    cmp_by_name = lambda d: d.name
+    cmp_by_line = lambda d: d.location.line
+
+    enums.sort( key=cmp_by_name )
+    variables.sort( key=cmp_by_name )
+    if USE_CALLDEF_ORGANIZER:
+        others = sort_calldefs(others)
+        constructors = sort_calldefs(constructors)
+    else:
+        others.sort( key=cmp_by_name )
+        constructors.sort( key=cmp_by_line )
+
+    new_ordered = []
+    new_ordered.extend( enums )
+    new_ordered.extend( classes )
+    new_ordered.extend( constructors )
+    new_ordered.extend( others )
+    new_ordered.extend( variables )
+    return new_ordered #
diff --git a/pyplusplus/creators_factory/types_database.py b/pyplusplus/creators_factory/types_database.py
new file mode 100644
index 0000000..d53deb1
--- /dev/null
+++ b/pyplusplus/creators_factory/types_database.py
@@ -0,0 +1,187 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from pyplusplus import messages
+from pygccxml import declarations
+from pyplusplus import code_creators
+from pyplusplus import _logging_
+templates = declarations.templates
+
+class types_database_t( object ):
+    def __init__( self ):
+        object.__init__( self )
+        self.__variables = {} # decl_string : [type]
+        self.__return_types = {} # decl_string : [type]
+        self.__arguments_types = {} #decl_string : [type]
+        self.__smart_ptrs = [ 'shared_ptr', 'auto_ptr' ]
+        self.__fundamental_strs = list(declarations.FUNDAMENTAL_TYPES.keys())
+        self.__normalize_data = [ ',', '<', '>', '*', '&', '(', ')', '::' ]
+        self.__containers = set()
+
+    def update_containers( self, decl ):
+        assert decl.indexing_suite
+        self.__containers.add( decl )
+
+    def update( self, decl ):
+        if isinstance( decl, declarations.calldef_t ):
+            if not isinstance( decl, declarations.constructor_t ):
+                self._update_db( self.__return_types, decl.return_type )
+            for arg in decl.arguments:
+                self._update_db( self.__arguments_types, arg.type )
+        elif isinstance( decl, declarations.variable_t ):
+            self._update_db( self.__variables, decl.type )
+        else:
+            assert not "types_database_t class can not process " + str( decl )
+
+    def _is_relevant(self, decl_string):
+        for smart_ptr in self.__smart_ptrs:
+            if smart_ptr in decl_string:
+                return True
+        return False
+
+    def _is_relevant_inst( self, name, args ):
+        return self._is_relevant( name )
+
+    def _normalize( self, decl_string ):
+        if decl_string.startswith( '::' ):
+            decl_string = decl_string[2:]
+        answer = decl_string
+        for data in self.__normalize_data:
+            answer = answer.replace( data + ' ', data )
+            answer = answer.replace( ' ' + data, data )
+        return answer.replace( '  ', ' ' )
+
+    def _update_containers_db( self, type_ ):
+        #will return True is type was treated
+        type_ = declarations.remove_alias( type_ )
+        type_ = declarations.remove_pointer( type_ )
+        type_ = declarations.remove_reference( type_ )
+        type_ = declarations.remove_cv( type_ )
+        type_ = declarations.remove_declarated( type_ )
+
+        class_traits = declarations.class_traits
+        class_declaration_traits = declarations.class_declaration_traits
+        if not class_traits.is_my_case( type_ ) and not class_declaration_traits.is_my_case( type_ ):
+            return False
+
+        if class_traits.is_my_case( type_ ):
+            container_cls = class_traits.get_declaration( type_ )
+        else:
+            container_cls = class_declaration_traits.get_declaration( type_ )
+
+        if None is container_cls.indexing_suite:
+            return False
+
+        try:
+            #check extraction of element type from container
+            container_cls.indexing_suite.element_type
+        except RuntimeError:
+            decls_logger = _logging_.loggers.declarations
+            if not messages.filter_disabled_msgs([messages.W1042], container_cls.disabled_messages ):
+                return #user disabled property warning
+            decls_logger.warning( "%s;%s" % ( container_cls, messages.W1042 ) )
+        self.__containers.add( container_cls )
+        return True
+
+
+    def _update_db( self, db, type_ ):
+        if self._update_containers_db( type_ ):
+            return
+        decl_string = self._normalize( declarations.base_type( type_ ).decl_string )
+        if not templates.is_instantiation( decl_string ):
+            return
+        if not self._is_relevant( decl_string ):
+            return
+        insts = [inst for inst in templates.split_recursive( decl_string ) if self._is_relevant_inst( inst[0], inst[1] )]
+        for smart_ptr, args in insts:
+            assert len( args ) == 1
+            pointee = self._normalize( args[0] )
+            if pointee not in db:
+                db[ pointee ] = []
+            smart_ptr = self._normalize( smart_ptr )
+            if (smart_ptr, type_) not in db[pointee]:
+                db[ pointee ].append( (smart_ptr, type_) )
+
+    def _find_smart_ptrs( self, db, class_decl ):
+        decl_string = self._normalize( class_decl.decl_string )
+        if decl_string in db:
+            return db[ decl_string ]
+        else:
+            return None
+
+    def create_holder( self, class_decl ):
+        #holder should be created when we pass object created in python
+        #as parameter to function in C++ that takes the smart pointer by reference
+        found = self._find_smart_ptrs( self.__arguments_types, class_decl )
+        if not found:
+            return None#not found or ambiguty
+
+        held_type = None
+        for smart_ptr, type_ in found:
+            if declarations.is_reference( type_ ) and not declarations.is_const( type_.base ):
+                temp = code_creators.held_type_t( smart_ptr=smart_ptr )
+                if not held_type or 'shared_ptr' in smart_ptr:
+                    held_type = temp
+        return held_type
+
+    def _create_registrators_from_db( self, db, class_creator, registered ):
+        spregistrator_t = code_creators.smart_pointer_registrator_t
+        found = self._find_smart_ptrs( db, class_creator.declaration )
+        if not found:
+            return
+        for smart_ptr, type_ in found:
+            already_registered = [registrator for registrator in registered if registrator.smart_ptr == smart_ptr]
+            if not already_registered:
+                registered.append( spregistrator_t( smart_ptr=smart_ptr, class_creator=class_creator) )
+
+    def create_registrators( self, class_creator ):
+        """
+        looks for all places where the class may be used as smart pointer.
+
+        If found, then creates :class:`code_creators.smart_pointer_registrator_t`
+        for that class and pointer type.
+        """
+        spconverter_t = code_creators.smart_pointers_converter_t
+        registrators = []
+        dbs = [ self.__arguments_types, self.__return_types, self.__variables ]
+        for db in dbs:
+            self._create_registrators_from_db( db, class_creator, registrators )
+        if not class_creator.declaration.bases:
+            return registrators
+        # Add implicit converters from me to base classes and from derived classes to me
+        answer = []
+        for registrator in registrators:
+            answer.append( registrator )
+            decl = registrator.declaration
+            for hierarchy_info in decl.recursive_bases:
+                if hierarchy_info.access_type != declarations.ACCESS_TYPES.PRIVATE:
+                    converter = spconverter_t( smart_ptr=registrator.smart_ptr
+                                               , source=class_creator.declaration
+                                               , target=hierarchy_info.related_class )
+                    answer.append( converter )
+            for hierarchy_info in decl.recursive_derived:
+                if hierarchy_info.access_type != declarations.ACCESS_TYPES.PRIVATE:
+                    converter = spconverter_t( smart_ptr=registrator.smart_ptr
+                                               , source=hierarchy_info.related_class
+                                               , target=class_creator.declaration )
+                    answer.append( converter )
+        return answer
+
+    def _print_single_db(self, db):
+        for decl_string in list(db.keys()):
+            print('decl_string : ', decl_string)
+            for smart_ptr, type_ in db[ decl_string ]:
+                print('    smart_ptr : ', smart_ptr)
+                print('    type_     : ', type_.decl_string)
+
+    def print_db( self ):
+        dbs = [ self.__arguments_types, self.__return_types, self.__variables ]
+        for db in dbs:
+            self._print_single_db( db )
+
+    def _get_used_containers( self ):
+        return self.__containers
+    used_containers = property( _get_used_containers)
+
diff --git a/pyplusplus/decl_wrappers/__init__.py b/pyplusplus/decl_wrappers/__init__.py
new file mode 100644
index 0000000..7f64310
--- /dev/null
+++ b/pyplusplus/decl_wrappers/__init__.py
@@ -0,0 +1,133 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""Code generator configuration classes
+
+:mod:`pygccxml.declarations` package contains classes, which describe C++ declarations.
+This package contains classes that derive from the :mod:`pygccxml.declarations` classes.
+The classes in this package allow you to configure the code generator.
+"""
+
+from . import algorithm
+
+from .decl_wrapper import CODE_GENERATOR_TYPES
+from .decl_wrapper import decl_wrapper_t
+
+from .calldef_wrapper import calldef_t
+from .calldef_wrapper import member_function_t
+from .calldef_wrapper import constructor_t
+from .calldef_wrapper import destructor_t
+from .calldef_wrapper import member_operator_t
+from .calldef_wrapper import casting_operator_t
+from .calldef_wrapper import free_function_t
+from .calldef_wrapper import free_operator_t
+
+from .class_wrapper import class_declaration_t
+from .class_wrapper import class_t
+
+from .enumeration_wrapper import enumeration_t
+
+from .namespace_wrapper import namespace_t
+
+from .typedef_wrapper import typedef_t
+
+from .variable_wrapper import variable_t
+
+from .scopedef_wrapper import scopedef_t
+
+from pygccxml import declarations
+
+from .call_policies import call_policy_t
+from .call_policies import default_call_policies_t
+from .call_policies import default_call_policies
+from .call_policies import compound_policy_t
+from .call_policies import return_argument_t
+from .call_policies import return_arg
+from .call_policies import return_self
+from .call_policies import return_internal_reference_t
+from .call_policies import return_internal_reference
+from .call_policies import with_custodian_and_ward_t
+from .call_policies import with_custodian_and_ward
+from .call_policies import with_custodian_and_ward_postcall_t
+from .call_policies import with_custodian_and_ward_postcall
+from .call_policies import return_value_policy_t
+from .call_policies import copy_const_reference
+from .call_policies import copy_non_const_reference
+from .call_policies import manage_new_object
+from .call_policies import reference_existing_object
+from .call_policies import return_by_value
+from .call_policies import return_opaque_pointer
+from .call_policies import return_value_policy
+from .call_policies import return_pointee_value
+from .call_policies import return_addressof
+from .call_policies import is_return_opaque_pointer_policy
+from .call_policies import custom_call_policies_t
+from .call_policies import custom_call_policies
+from .call_policies import convert_array_to_tuple_t
+from .call_policies import convert_array_to_tuple
+from .call_policies import memory_managers
+from .call_policies import return_range
+from .call_policies import return_range_t
+
+from .decl_wrapper_printer import decl_wrapper_printer_t
+from .decl_wrapper_printer import print_declarations
+
+from .user_text import user_text_t
+from .user_text import class_user_text_t
+
+from .indexing_suite1 import indexing_suite1_t
+from .indexing_suite2 import indexing_suite2_t
+
+from .doc_extractor import doc_extractor_i
+
+from .properties import property_t
+from .properties import property_recognizer_i
+from .properties import name_based_recognizer_t
+
+from . import python_traits
+
+class dwfactory_t( declarations.decl_factory_t ):
+    """declarations factory class"""
+    def __init__(self):
+        declarations.decl_factory_t.__init__(self)
+
+    def create_member_function( self, *arguments, **keywords ):
+        return member_function_t(*arguments, **keywords)
+
+    def create_constructor( self, *arguments, **keywords ):
+        return constructor_t(*arguments, **keywords)
+
+    def create_destructor( self, *arguments, **keywords ):
+        return destructor_t(*arguments, **keywords)
+
+    def create_member_operator( self, *arguments, **keywords ):
+        return member_operator_t(*arguments, **keywords)
+
+    def create_casting_operator( self, *arguments, **keywords ):
+        return casting_operator_t(*arguments, **keywords)
+
+    def create_free_function( self, *arguments, **keywords ):
+        return free_function_t(*arguments, **keywords)
+
+    def create_free_operator( self, *arguments, **keywords ):
+        return free_operator_t(*arguments, **keywords)
+
+    def create_class_declaration(self, *arguments, **keywords ):
+        return class_declaration_t(*arguments, **keywords)
+
+    def create_class( self, *arguments, **keywords ):
+        return class_t(*arguments, **keywords)
+
+    def create_enumeration( self, *arguments, **keywords ):
+        return enumeration_t(*arguments, **keywords)
+
+    def create_namespace( self, *arguments, **keywords ):
+        return namespace_t(*arguments, **keywords)
+
+    def create_typedef( self, *arguments, **keywords ):
+        return typedef_t(*arguments, **keywords)
+
+    def create_variable( self, *arguments, **keywords ):
+        return variable_t(*arguments, **keywords)
diff --git a/pyplusplus/decl_wrappers/algorithm.py b/pyplusplus/decl_wrappers/algorithm.py
new file mode 100644
index 0000000..bb74c6c
--- /dev/null
+++ b/pyplusplus/decl_wrappers/algorithm.py
@@ -0,0 +1,149 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 few unrelated algorithms, which works on code creators tree"""
+
+import re
+from pygccxml import declarations
+
+def creators_affect_on_me( me ):
+    """
+    find all relevant code creators, which influence on code generated by "me".
+
+    C++ allows to define aliases to namespaces. `Py++` allows user to define
+    aliases to the namespace and will take this aliases into account when it
+    generates the code.
+
+    Example: ::
+
+      [a b c d e f g]
+             |
+             + [k l m]
+                  |
+                  + [y x] <-- we are here ( x )
+
+    return value is: [y,l,k,d,c,b,a]
+    """
+    class impl:
+        def __init__( self, creator):
+            self._creator = creator
+
+        def _get_left_siblings( self, child ):
+            if not child or not child.parent:
+                return []
+            ids = list(map( id, child.parent.creators ))
+            child_index = ids.index( id( child ) )
+            return child.parent.creators[:child_index]
+
+        def _get_definition_set( self, child ):
+            answer = []
+            while child:
+                answer.extend( self._get_left_siblings( child ) )
+                child = child.parent
+            return answer
+
+        def affect_creators(self):
+            return self._get_definition_set( self._creator )
+    return impl( me ).affect_creators()
+
+__RE_VALID_IDENTIFIER = re.compile( r"[_a-z]\w*", re.I | re.U )
+def create_valid_name(name):
+    """
+    creates Python identifier from a string
+
+    As input this functions takes valid C++ name\\identifier and replaces all
+    illegal characters.
+
+    Illegal characters are introduced by a template instantiation.
+    """
+    global __RE_VALID_IDENTIFIER
+    match_found = __RE_VALID_IDENTIFIER.match(name)
+    if match_found and ( match_found.end() - match_found.start() == len(name) ):
+        return name
+    replace_table = {
+          '<'  : '_less_'
+        , '>'  : '_greater_'
+        , '::' : '_scope_'
+        , ','  : '_comma_'
+        , ' '  : '_'
+        , '\t' : '_'
+        , '*'  : '_ptr_'
+        , '&'  : '_ref_'
+        , '('  : '_obrace_'
+        , ')'  : '_cbrace_'
+        , '['  : '_o_sq_brace_'
+        , ']'  : '_c_sq_brace_'
+        , '='  : '_equal_'
+        , '.'  : '_dot_'
+        , '$'  : '_dollar_'
+    }
+    for orig, dest in list(replace_table.items()):
+        name = name.replace( orig, dest )
+    return name
+
+
+def create_identifier(creator, full_name ):
+    """Return new full name, which takes into account namespace aliases"""
+
+    from pyplusplus import code_creators
+    dset = creators_affect_on_me( creator )
+    dset = [x for x in dset if isinstance( x, code_creators.namespace_alias_t )]
+    full_name = full_name.lstrip( '::' )
+    for nsalias in dset:
+        fnsname = nsalias.full_namespace_name + '::'
+        if full_name.startswith( fnsname ):
+            new_name = nsalias.alias + '::' + full_name[ len(fnsname) :  ]
+            return new_name
+    else:
+        return full_name
+
+class registration_order:
+    """the class, introduces few functions, which deals with functions registration order problem"""
+
+    @staticmethod
+    def is_related( t1, t2 ):
+        """Check whether two types\\classes t1 and t2 could introduce the problem"""
+
+        if declarations.is_pointer( t1 ) and declarations.is_pointer( t2 ):
+            return registration_order.is_related( declarations.remove_pointer( t1 )
+                                                  , declarations.remove_pointer( t2 ) )
+        elif declarations.is_pointer( t1 ) and not declarations.is_pointer( t2 ):
+            t1 = declarations.remove_cv( declarations.remove_pointer( t1 ) )
+            t2 = declarations.remove_cv( t2 )
+            if declarations.is_same( t1, t2 ):
+                return 1
+        elif not declarations.is_pointer( t1 ) and declarations.is_pointer( t2 ):
+            t1 = declarations.remove_cv( t1 )
+            t2 = declarations.remove_cv( declarations.remove_pointer( t2 ) )
+            if declarations.is_same( t1, t2 ):
+                return -1
+        else: #not is_pointer( t1 ) and not is_pointer( t2 ):
+            if declarations.is_integral( t1 ) and not declarations.is_bool( t1 ) \
+               and declarations.is_bool( t2 ):
+                return -1
+            elif declarations.is_bool( t1 ) \
+                 and declarations.is_integral( t2 ) and not declarations.is_bool( t2 ):
+                return 1
+            else:
+                pass
+        return None
+
+    @staticmethod
+    def select_problematics( calldef ):
+        """Return list of problematic functions for function "calldef" """
+        if 1 != len( calldef.required_args ):
+            return []
+        arg_type = calldef.arguments[0].type
+        if declarations.is_calldef_pointer( arg_type ):
+            return []
+        problematics = []
+        for f in calldef.overloads:
+            if 1 != len( f.required_args ):
+                continue
+            if f.ignore:
+                continue
+            if None != registration_order.is_related( calldef.arguments[0].type, f.arguments[0].type ):
+                problematics.append( f )
+        return problematics
diff --git a/pyplusplus/decl_wrappers/call_policies.py b/pyplusplus/decl_wrappers/call_policies.py
new file mode 100644
index 0000000..5df1881
--- /dev/null
+++ b/pyplusplus/decl_wrappers/call_policies.py
@@ -0,0 +1,428 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 definition of call policies classes"""
+
+from . import algorithm
+from . import python_traits
+from pygccxml import declarations
+
+#keeps file name, where `Py++` defined call policies will be defined
+PYPP_CALL_POLICIES_HEADER_FILE = "__call_policies.pypp.hpp"
+
+class CREATION_POLICY:
+    """Implementation details"""
+    AS_INSTANCE = 'as instance'
+    AS_TEMPLATE_ARGUMENT = 'as template argument'
+
+class call_policy_t(object):
+    """base class for all classes, which generate "call policies" code"""
+    def __init__(self):
+        object.__init__(self)
+
+    def create(self, function_creator, creation_policy=CREATION_POLICY.AS_INSTANCE):
+        """Creates code from the call policies class instance.
+        :param function_creator: parent code creator
+        :type function_creator: :class:`code_creators.function_t` or :class:`code_creators.constructor_t`
+
+        :param creation_policy: indicates whether we this call policy used as template
+                                argument or as an instance
+        :type creation_policy: :class:`decl_wrappers.CREATION_POLICY`
+        """
+        code = self._create_impl( function_creator )
+        if code and creation_policy == CREATION_POLICY.AS_INSTANCE:
+            code = code + '()'
+        return code
+
+    def create_type(self):
+        """return call policies class declaration as string"""
+        return self.create( None, CREATION_POLICY.AS_TEMPLATE_ARGUMENT )
+
+    def create_template_arg( self, function_creator ):
+        """return call policies class declaration as string"""
+        return self.create( function_creator, CREATION_POLICY.AS_TEMPLATE_ARGUMENT )
+
+    def is_default( self ):
+        """return True is self is instance of :class:`decl_wrappers.default_call_policies_t` class"""
+        return False
+
+    def is_predefined( self ):
+        """return True if call policy is defined in Boost.Python library, False otherwise"""
+        return True
+
+    def _create_impl( self, function_creator ):
+        raise NotImplementedError()
+
+    @property
+    def header_file(self):
+        """return a name of the header file the call policy is defined in"""
+        return "boost/python.hpp"
+
+class default_call_policies_t(call_policy_t):
+    """implements code generation for boost::python::default_call_policies"""
+    def __init__( self ):
+        call_policy_t.__init__( self )
+
+    def _create_impl(self, function_creator ):
+        return algorithm.create_identifier( function_creator, '::boost::python::default_call_policies' )
+
+    def is_default( self ):
+        return True
+
+    def __str__(self):
+        return 'default_call_policies'
+
+def default_call_policies():
+    """create ::boost::python::default_call_policies call policies code generator"""
+    return default_call_policies_t()
+
+class compound_policy_t( call_policy_t ):
+    """base class for all call policies, except the default one"""
+    def __init__( self, base=None ):
+        call_policy_t.__init__( self )
+        self._base = base
+        if not base:
+            self._base = default_call_policies_t()
+
+    def _get_base_policy( self ):
+        return self._base
+    def _set_base_policy( self, new_policy ):
+        self._base = new_policy
+    base_policy = property( _get_base_policy, _set_base_policy
+                            , doc="base call policy, by default is reference to :class:`decl_wrappers.default_call_policies_t` call policy")
+
+    def _get_args(self, function_creator):
+        return []
+
+    def _get_name(self, function_creator):
+        raise NotImplementedError()
+
+    def _create_impl( self, function_creator ):
+        args = self._get_args(function_creator)
+        if not self._base.is_default():
+            args.append( self._base.create( function_creator, CREATION_POLICY.AS_TEMPLATE_ARGUMENT ) )
+        name = algorithm.create_identifier( function_creator, self._get_name(function_creator) )
+        return declarations.templates.join( name, args )
+
+    def __str__(self):
+        name = self._get_name(None).replace('::boost::python::', '' )
+        args = [text.replace( '::boost::python::', '' ) for text in self._get_args( None )]
+        return declarations.templates.join( name, args )
+
+class return_argument_t( compound_policy_t ):
+    """implements code generation for boost::python::return_argument call policies"""
+    def __init__( self, position=1, base=None):
+        compound_policy_t.__init__( self, base )
+        self._position = position
+
+    def _get_position( self ):
+        return self._position
+    def _set_position( self, new_position):
+        self._position = new_position
+    position = property( _get_position, _set_position )
+
+    def _get_name(self, function_creator):
+        if self.position == 1:
+            return '::boost::python::return_self'
+        else:
+            return '::boost::python::return_arg'
+
+    def _get_args(self, function_creator):
+        if self.position == 1:
+            return []
+        else:
+            return [ str( self.position ) ]
+
+def return_arg( arg_pos, base=None ):
+    """create boost::python::return_arg call policies code generator"""
+    return return_argument_t( arg_pos, base )
+
+def return_self(base=None):
+    """create boost::python::return_self call policies code generator"""
+    return return_argument_t( 1, base )
+
+class return_internal_reference_t( compound_policy_t ):
+    """implements code generation for boost::python::return_internal_reference call policies"""
+    def __init__( self, position=1, base=None):
+        compound_policy_t.__init__( self, base )
+        self._position = position
+
+    def _get_position( self ):
+        return self._position
+    def _set_position( self, new_position):
+        self._position = new_position
+    position = property( _get_position, _set_position )
+
+    def _get_name(self, function_creator):
+        return '::boost::python::return_internal_reference'
+
+    def _get_args(self, function_creator):
+        if self.position == 1:
+            return [] #don't generate default template arguments
+        else:
+            return [ str( self.position ) ]
+
+def return_internal_reference( arg_pos=1, base=None):
+    """create boost::python::return_internal_reference call policies code generator"""
+    return return_internal_reference_t( arg_pos, base )
+
+class with_custodian_and_ward_t( compound_policy_t ):
+    """implements code generation for boost::python::with_custodian_and_ward call policies"""
+    def __init__( self, custodian, ward, base=None):
+        compound_policy_t.__init__( self, base )
+        self._custodian = custodian
+        self._ward = ward
+
+    def _get_custodian( self ):
+        return self._custodian
+    def _set_custodian( self, new_custodian):
+        self._custodian = new_custodian
+    custodian = property( _get_custodian, _set_custodian )
+
+    def _get_ward( self ):
+        return self._ward
+    def _set_ward( self, new_ward):
+        self._ward = new_ward
+    ward = property( _get_ward, _set_ward )
+
+    def _get_name(self, function_creator):
+        return '::boost::python::with_custodian_and_ward'
+
+    def _get_args(self, function_creator):
+        return [ str( self.custodian ), str( self.ward ) ]
+
+def with_custodian_and_ward( custodian, ward, base=None):
+    """create boost::python::with_custodian_and_ward call policies code generator"""
+    return with_custodian_and_ward_t( custodian, ward, base )
+
+class with_custodian_and_ward_postcall_t( with_custodian_and_ward_t ):
+    """implements code generation for boost::python::with_custodian_and_ward_postcall call policies"""
+    def __init__( self, custodian, ward, base=None):
+        with_custodian_and_ward_t.__init__( self, custodian, ward, base )
+
+    def _get_name(self, function_creator):
+        return '::boost::python::with_custodian_and_ward_postcall'
+
+def with_custodian_and_ward_postcall( custodian, ward, base=None):
+    """create boost::python::with_custodian_and_ward_postcall call policies code generator"""
+    return with_custodian_and_ward_postcall_t( custodian, ward, base )
+
+class return_value_policy_t( compound_policy_t ):
+    """implements code generation for boost::python::return_value_policy call policies"""
+    def __init__( self, result_converter_generator, base=None):
+        compound_policy_t.__init__( self, base )
+        self._result_converter_generator = result_converter_generator
+
+    def _get_result_converter_generator( self ):
+        return self._result_converter_generator
+    def _set_result_converter_generator( self, new_result_converter_generator):
+        self._result_converter_generator = new_result_converter_generator
+    result_converter_generator = property( _get_result_converter_generator
+                                           , _set_result_converter_generator )
+
+    def _get_name(self, function_creator):
+        return '::boost::python::return_value_policy'
+
+    def _get_args(self, function_creator):
+        if function_creator:
+            rcg = algorithm.create_identifier( function_creator, self.result_converter_generator )
+            return [ rcg ]
+        else:
+            return [self.result_converter_generator]
+
+    def is_predefined( self ):
+        """Returns True if call policy is defined in Boost.Python library, False otherwise"""
+        global return_addressof
+        global return_pointee_value
+        if self.result_converter_generator in (return_pointee_value, return_addressof ):
+            return False
+        else:
+            return True
+
+    @property
+    def header_file(self):
+        """Return name of the header file to be included"""
+        if self.is_predefined():
+            return super( return_value_policy_t, self ).header_file
+        else:
+            return PYPP_CALL_POLICIES_HEADER_FILE
+
+
+copy_const_reference = '::boost::python::copy_const_reference'
+copy_non_const_reference = '::boost::python::copy_non_const_reference'
+manage_new_object = '::boost::python::manage_new_object'
+reference_existing_object = '::boost::python::reference_existing_object'
+return_by_value = '::boost::python::return_by_value'
+return_opaque_pointer = '::boost::python::return_opaque_pointer'
+return_pointee_value = '::pyplusplus::call_policies::return_pointee_value'
+return_addressof = '::pyplusplus::call_policies::return_addressof'
+
+def return_value_policy( result_converter_generator, base=None):
+    """create boost::python::return_value_policy call policies code generator"""
+    return return_value_policy_t( result_converter_generator, base )
+
+def is_return_opaque_pointer_policy( policy ):
+    """returns True is policy represents return_value_policy<return_opaque_pointer>, False otherwise"""
+    return isinstance( policy, return_value_policy_t ) \
+            and policy.result_converter_generator == return_opaque_pointer
+
+class custom_call_policies_t(call_policy_t):
+    """implements code generation for user defined call policies"""
+    def __init__( self, call_policies, header_file=None ):
+        call_policy_t.__init__( self )
+        self.__call_policies = call_policies
+        self.__header_file = header_file
+
+    def _create_impl(self, function_creator ):
+        return str( self.__call_policies )
+
+    def __str__(self):
+        return 'custom call policies'
+
+    def get_header_file( self ):
+        return self.__header_file
+    def set_header_file( self, header_file_name ):
+        self.__header_file = header_file_name
+    header_file = property( get_header_file, set_header_file
+                            , doc="""Return name of the header file to be included""" )
+
+def custom_call_policies(call_policies, header_file=None):
+    """create custom\\user defined call policies code generator"""
+    return custom_call_policies_t(call_policies, header_file)
+
+class memory_managers:
+    """implements code generation for `Py++` defined memory managers
+
+    For complete documentation and usage example see "Call policies" document.
+    """
+    none = 'none'
+    delete_ = 'delete_'
+    all = [ none, delete_ ]
+
+    @staticmethod
+    def create( manager, function_creator=None):
+        mem_manager = 'pyplusplus::call_policies::memory_managers::' + manager
+        if function_creator:
+            mem_manager = algorithm.create_identifier( function_creator, mem_manager )
+        return mem_manager
+
+class convert_array_to_tuple_t( compound_policy_t ):
+    """implements code generation for `Py++` defined "as_tuple" value policy
+
+    For complete documentation and usage example see "Call policies" document.
+    """
+    def __init__( self, array_size, memory_manager, make_object_call_policies=None, base=None):
+        compound_policy_t.__init__( self, base )
+        self._array_size = array_size
+        self._memory_manager = memory_manager
+        self._make_objec_call_policies = make_object_call_policies
+
+    def is_predefined( self ):
+        """Returns True if call policy is defined in Boost.Python library, False otherwise"""
+        return False
+
+    @property
+    def header_file(self):
+        """Return name of the header file to be included"""
+        return PYPP_CALL_POLICIES_HEADER_FILE
+
+    def _get_array_size( self ):
+        return self._array_size
+    def _set_array_size( self, new_array_size):
+        self._array_size = new_array_size
+    array_size = property( _get_array_size, _set_array_size )
+
+    def _get_memory_manager( self ):
+        return self._memory_manager
+    def _set_memory_manager( self, new_memory_manager):
+        self._memory_manager = new_memory_manager
+    memory_manager = property( _get_memory_manager, _set_memory_manager )
+
+    def _get_make_objec_call_policies( self ):
+        if None is self._make_objec_call_policies:
+            self._make_objec_call_policies = default_call_policies()
+        return self._make_objec_call_policies
+    def _set_make_objec_call_policies( self, new_make_objec_call_policies):
+        self._make_objec_call_policies = new_make_objec_call_policies
+    make_objec_call_policies = property( _get_make_objec_call_policies, _set_make_objec_call_policies )
+
+    def _get_name(self, function_creator):
+        return '::boost::python::return_value_policy'
+
+    def _get_args(self, function_creator):
+        as_tuple_args = [ str( self.array_size ) ]
+        as_tuple_args.append( memory_managers.create( self.memory_manager, function_creator ) )
+        if not self.make_objec_call_policies.is_default():
+            as_tuple_args.append( self.make_objec_call_policies.create_template_arg( function_creator ) )
+        as_tuple = '::pyplusplus::call_policies::arrays::as_tuple'
+        if function_creator:
+            as_tuple = algorithm.create_identifier( function_creator, as_tuple )
+        return [ declarations.templates.join( as_tuple, as_tuple_args ) ]
+
+def convert_array_to_tuple( array_size, memory_manager, make_object_call_policies=None, base=None ):
+    """create boost::python::return_value_policy< py++::as_tuple > call policies code generator"""
+    return convert_array_to_tuple_t( array_size, memory_manager, make_object_call_policies, base )
+
+class return_range_t( call_policy_t ):
+    """implements code generation for `Py++` defined "return_range" call policies
+
+    For complete documentation and usage example see "Call policies" document.
+    """
+    HEADER_FILE = "__return_range.pypp.hpp"
+    def __init__( self, get_size_class, value_type, value_policies):
+        call_policy_t.__init__( self )
+        self._value_type = value_type
+        self._get_size_class = get_size_class
+        self._value_policies = value_policies
+
+    def is_predefined( self ):
+        """Returns True if call policy is defined in Boost.Python library, False otherwise"""
+        return False
+
+    @property
+    def header_file(self):
+        """Return name of the header file to be included"""
+        return self.HEADER_FILE
+
+    def _get_get_size_class( self ):
+        return self._get_size_class
+    def _set_get_size_class( self, new_get_size_class):
+        self._get_size_class = new_get_size_class
+    get_size_class = property( _get_get_size_class, _set_get_size_class )
+
+    def _get_value_type( self ):
+        return self._value_type
+    def _set_value_type( self, new_value_type):
+        self._value_type = new_value_type
+    value_type = property( _get_value_type, _set_value_type )
+
+    def _get_value_policies( self ):
+        return self._value_policies
+    def _set_value_policies( self, new_value_policies):
+        self._value_policies = new_value_policies
+    value_policies = property( _get_value_policies, _set_value_policies )
+
+    def _create_impl(self, function_creator ):
+        name = algorithm.create_identifier( function_creator, '::pyplusplus::call_policies::return_range' )
+        args = [ self.get_size_class, self.value_type.decl_string ]
+        if not self.value_policies.is_default():
+            args.append( self.value_policies.create_type() )
+        return declarations.templates.join( name, args )
+
+def return_range( function, get_size_class, value_policies=None ):
+    """create `Py++` defined return_range call policies code generator"""
+    r_type = function.return_type
+    if not declarations.is_pointer( r_type ):
+        raise TypeError( 'Function "%s" return type should be pointer, got "%s"'
+                         % r_type.decl_string )
+
+    value_type = declarations.remove_pointer( r_type )
+    if None is value_policies:
+        if python_traits.is_immutable( value_type ):
+            value_policies = default_call_policies()
+        else:
+            raise RuntimeError( "return_range call policies requieres specification of value_policies" )
+    return return_range_t( get_size_class, value_type, value_policies )
+
diff --git a/pyplusplus/decl_wrappers/calldef_wrapper.py b/pyplusplus/decl_wrappers/calldef_wrapper.py
new file mode 100644
index 0000000..acf1441
--- /dev/null
+++ b/pyplusplus/decl_wrappers/calldef_wrapper.py
@@ -0,0 +1,657 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 classes that allow to configure code generation for free\\member functions, operators and etc."""
+
+import os
+from . import user_text
+from . import algorithm
+from . import decl_wrapper
+from pyplusplus import messages
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+
+class calldef_t(decl_wrapper.decl_wrapper_t):
+    """base class, for code generator configuration, for function declaration classes."""
+
+    BOOST_PYTHON_MAX_ARITY = 10
+    """Boost.Python configuration macro value.
+
+    A function has more than BOOST_PYTHON_MAX_ARITY arguments, will not compile.
+    You should adjust BOOST_PYTHON_MAX_ARITY macro.
+    For more information see: http://mail.python.org/pipermail/c++-sig/2002-June/001554.html
+    """
+
+    def __init__(self, *arguments, **keywords):
+        decl_wrapper.decl_wrapper_t.__init__( self, *arguments, **keywords )
+
+        self._call_policies = None
+        self._use_keywords = True
+        self._use_default_arguments = True
+        self._create_with_signature = None
+        self._overridable = None
+        self._non_overridable_reason = None
+        self._transformations = None
+
+    def get_call_policies(self):
+        return self._call_policies
+    def set_call_policies(self, call_policies):
+        self._call_policies = call_policies
+    call_policies = property( get_call_policies, set_call_policies
+                              , doc="reference to :class:`decl_wrappers.call_policy_t` class." \
+                                   +"Default value is calculated at runtime, based on return value.")
+
+    def _get_use_keywords(self):
+        return self._use_keywords and bool( self.arguments )
+    def _set_use_keywords(self, use_keywords):
+        self._use_keywords = use_keywords
+    use_keywords = property( _get_use_keywords, _set_use_keywords
+                             , doc="boolean, if True, allows to call function from Python using keyword arguments." \
+                                  +"Default value is True.")
+
+    def _get_create_with_signature(self):
+        if None is self._create_with_signature:
+            self._create_with_signature = bool( self.overloads )
+
+            if not self._create_with_signature and declarations.templates.is_instantiation( self.name ):
+                self._create_with_signature = True
+
+            if not self._create_with_signature and isinstance( self.parent, declarations.class_t ):
+                for hi in self.parent.recursive_bases:
+                    if hi.access_type == 'private':
+                        continue
+                    funcs = hi.related_class.calldefs( self.name, recursive=False, allow_empty=True )
+                    for f in funcs:
+                        if f.argument_types != self.argument_types:
+                            self._create_with_signature = True
+                            break
+                    if self._create_with_signature:
+                        break
+                if not self._create_with_signature:
+                    self._create_with_signature \
+                        = bool( self.parent.calldefs( self.name, recursive=False, allow_empty=True ) )
+        return self._create_with_signature
+
+    def _set_create_with_signature(self, create_with_signature):
+        self._create_with_signature = create_with_signature
+    create_with_signature = property( _get_create_with_signature, _set_create_with_signature
+                                      , doc="boolean, if True `Py++` will generate next code: def( ..., function type( function ref )"\
+                                         +"Thus, the generated code is safe, when a user creates function overloading." \
+                                         +"Default value is computed, based on information from the declarations tree" )
+
+    def _get_use_default_arguments(self):
+        return self._use_default_arguments
+    def _set_use_default_arguments(self, use_default_arguments):
+        self._use_default_arguments = use_default_arguments
+    use_default_arguments = property( _get_use_default_arguments, _set_use_default_arguments
+                                      , doc="boolean, if True `Py++` will generate code that will set default arguments" \
+                                           +"Default value is True.")
+
+    def has_wrapper( self ):
+        """returns True, if function - wrapper is needed
+
+        The functionality by this function is incomplete. So please don't
+        use it in your code.
+        """
+        if not isinstance( self, declarations.member_calldef_t ):
+            return False
+        elif self.virtuality == declarations.VIRTUALITY_TYPES.PURE_VIRTUAL:
+            return True
+        elif self.access_type == declarations.ACCESS_TYPES.PROTECTED:
+            return True
+        else:
+            return False
+
+    def get_overridable( self ):
+        """Check if the method can be overridden."""
+        if None is self._overridable:
+            if isinstance( self, declarations.member_calldef_t ) \
+               and self.virtuality != declarations.VIRTUALITY_TYPES.NOT_VIRTUAL \
+               and declarations.is_reference( self.return_type ):
+                self._overridable = False
+                self._non_overridable_reason = messages.W1049
+            else:
+                self._overridable = True
+                self._non_overridable_reason = ""
+        return self._overridable
+
+    def set_overridable( self, overridable ):
+        self._overridable = overridable
+
+    overridable = property( get_overridable, set_overridable
+                            , doc = get_overridable.__doc__ )
+
+    @property
+    def non_overridable_reason( self ):
+        """returns the reason the function could not be overridden"""
+        return self._non_overridable_reason
+
+    def mark_as_non_overridable( self, reason ):
+        """
+        mark this function as final - user will not be able to override it from Python
+
+        Not all functions could be overridden from Python, for example virtual function
+        that returns non const reference to a member variable. `Py++` allows you to
+        mark these functions and provide and explanation to the user.
+        """
+        self.overridable = False
+        self._non_overridable_reason = messages.W0000 % reason
+
+    @property
+    def transformations(self):
+        """return list of function transformations that should be applied on the function"""
+        if None is self._transformations:
+            #TODO: for trivial cases get_size( int&, int& ) `Py++` should guess
+            #function transformers
+            self._transformations = []
+        return self._transformations
+
+    def add_transformation(self, *transformer_creators, **keywd):
+        """add new function transformation.
+
+        transformer_creators - list of transformer creators, which should be applied on the function
+        keywd - keyword arguments for :class:`function_transformers.function_transformation_t` class initialization
+        """
+        self.transformations.append( ft.function_transformation_t( self, transformer_creators, **keywd ) )
+
+    def _exportable_impl_derived( self ):
+        return ''
+
+    def _exportable_impl( self ):
+        if self.transformations:
+            #It is possible that the function asked for the user attention.
+            #The user paid attention and created a transformation.
+            #Py++ should be silent in this case.
+            return '' 
+        if not self.parent.name:
+            return messages.W1057 % str( self )
+        all_types = [ arg.type for arg in self.arguments ]
+        all_types.append( self.return_type )
+        for some_type in all_types:
+            if isinstance( some_type, declarations.ellipsis_t ):
+                return messages.W1053 % str( self )
+            units = declarations.decompose_type( some_type )
+            ptr2functions = [unit for unit in units if isinstance( unit, declarations.calldef_type_t )]
+            if ptr2functions:
+                return messages.W1004
+            #Function that take as agrument some instance of non public class
+            #will not be exported. Same to the return variable
+            if isinstance( units[-1], declarations.declarated_t ):
+                dtype = units[-1]
+                if isinstance( dtype.declaration.parent, declarations.class_t ):
+                    if dtype.declaration not in dtype.declaration.parent.public_members:
+                        return messages.W1005
+            no_ref = declarations.remove_reference( some_type )
+            no_ptr = declarations.remove_pointer( no_ref )
+            no_const = declarations.remove_const( no_ptr )
+            if declarations.is_array( no_const ):
+                return messages.W1006
+        return self._exportable_impl_derived()
+
+    def _readme_impl( self ):
+        def is_double_ptr( type_ ):
+            #check for X**
+            if not declarations.is_pointer( type_ ):
+                return False
+            base = declarations.remove_pointer( type_ )
+            return declarations.is_pointer( base )
+
+        def suspicious_type( type_ ):
+            if not declarations.is_reference( type_ ):
+                return False
+            type_no_ref = declarations.remove_reference( type_ )
+            return not declarations.is_const( type_no_ref ) \
+                   and ( declarations.is_fundamental( type_no_ref )
+                         or declarations.is_enum( type_no_ref ) )
+        msgs = []
+        #TODO: functions that takes as argument pointer to pointer to smth, could not be exported
+        #see http://www.boost.org/libs/python/doc/v2/faq.html#funcptr
+
+        if len( self.arguments ) > calldef_t.BOOST_PYTHON_MAX_ARITY:
+            msgs.append( messages.W1007 % ( calldef_t.BOOST_PYTHON_MAX_ARITY, len( self.arguments ) ) )
+
+        if self.transformations:
+            #if user defined transformation, than I think it took care of the problems
+            ft = self.transformations[0]
+            if ft.alias == ft.unique_name:
+                msgs.append( messages.W1044 % ft.alias )
+            return msgs
+
+        if suspicious_type( self.return_type ) and None is self.call_policies:
+            msgs.append( messages.W1008 )
+
+        if ( declarations.is_pointer( self.return_type ) or is_double_ptr( self.return_type ) ) \
+           and None is self.call_policies:
+            msgs.append( messages.W1050 % str(self.return_type) )
+
+        for index, arg in enumerate( self.arguments ):
+            if suspicious_type( arg.type ):
+                msgs.append( messages.W1009 % ( arg.name, index ) )
+            if is_double_ptr( arg.type ):
+                msgs.append( messages.W1051 % ( arg.name, index, str(arg.type) ) )
+
+        if False == self.overridable:
+            msgs.append( self._non_overridable_reason)
+
+        problematics = algorithm.registration_order.select_problematics( self )
+        if problematics:
+            tmp = []
+            for f in problematics:
+                tmp.append( os.linesep + '\t' + str(f) )
+            msgs.append( messages.W1010 % os.linesep.join( tmp ) )
+        return msgs
+
+class member_function_t( declarations.member_function_t, calldef_t ):
+    """defines a set of properties, that will instruct `Py++` how to expose the member function"""
+    def __init__(self, *arguments, **keywords):
+        declarations.member_function_t.__init__( self, *arguments, **keywords )
+        calldef_t.__init__( self )
+        self._use_overload_macro = False
+        self._override_precall_code = []
+        self._overide_native_precall_code = []
+        self._default_precall_code =  []
+        self._adaptor = None
+
+    def _get_adaptor(self):
+        return self._adaptor
+    def _set_adaptor(self, adaptor):
+        self._adaptor = adaptor
+    adaptor = property( _get_adaptor, _set_adaptor
+                        , doc="string, if contains value `Py++` will generate code the following code: " \
+                             +".def(<name>, <adaptor>(<function reference>), <other args> ) " \
+                             +". The property is relevant for public, non virtual member functions." )
+
+
+    def add_override_precall_code(self, code):
+        """add code, which should be executed, before overridden member function call"""
+        self._override_precall_code.append( code )
+
+    @property
+    def override_precall_code(self):
+        """code, which should be executed, before overrided member function call"""
+        return self._override_precall_code
+
+    def add_override_native_precall_code(self, code):
+        """add code, which should be executed, before native member function call"""
+        self._overide_native_precall_code.append( code )
+
+    @property
+    def override_native_precall_code(self):
+        """code, which should be executed, before overrided member function call"""
+        return self._overide_native_precall_code
+
+    def add_default_precall_code(self, code):
+        """add code, which should be executed, before this member function call"""
+        self._default_precall_code.append( code )
+
+    @property
+    def default_precall_code(self):
+        """code, which should be executed, before this member function call"""
+        return self._default_precall_code
+
+    def get_use_overload_macro(self):
+        return self._use_overload_macro
+    def set_use_overload_macro(self, use_macro):
+        self._use_overload_macro = use_macro
+    use_overload_macro = property( get_use_overload_macro, set_use_overload_macro
+                             , doc="boolean, if True, will use BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS macro to expose declarations" \
+                                  +"Default value is False.")
+
+    def _exportable_impl_derived(self):
+        if self.access_type == declarations.ACCESS_TYPES.PRIVATE \
+           and self.virtuality == declarations.VIRTUALITY_TYPES.NOT_VIRTUAL:
+            return messages.W1011
+        return ''
+
+    def _readme_impl( self ):
+        msgs = super( member_function_t, self )._readme_impl()
+        if self.does_throw == False \
+           and self.virtuality != declarations.VIRTUALITY_TYPES.NOT_VIRTUAL:
+            msgs.append( messages.W1046 )
+        return msgs
+
+class constructor_t( declarations.constructor_t, calldef_t ):
+    """defines a set of properties, that will instruct `Py++` how to expose the constructor"""
+    def __init__(self, *arguments, **keywords):
+        declarations.constructor_t.__init__( self, *arguments, **keywords )
+        calldef_t.__init__( self )
+        self._body = ''
+        self._allow_implicit_conversion = True
+
+    def _get_body(self):
+        return self._body
+    def _set_body(self, body):
+        self._body = body
+    body = property( _get_body, _set_body
+                     , doc="string, class-wrapper constructor body" )
+
+    def _exportable_impl_derived( self ):
+        if self.is_artificial:
+            return messages.W1012
+        if self.access_type == declarations.ACCESS_TYPES.PRIVATE:
+            return messages.W1013
+        return ''
+
+    def does_define_implicit_conversion( self ):
+        """ returns true if the constructor can take part in implicit conversions.
+
+        For more information see:
+
+            * http://boost.org/libs/python/doc/v2/implicit.html#implicitly_convertible-spec
+            * http://msdn2.microsoft.com/en-us/library/h1y7x448.aspx
+            * http://msdn.microsoft.com/en-us/library/s2ff0fz8%28VS.100%29.aspx
+        """
+        if self.parent.is_abstract: #user is not able to create an instance of the class
+            return False
+        if self.is_copy_constructor:
+            return False
+        if not( len( self.arguments) and len( self.required_args ) < 2 ):
+            return False
+        if self.parent.find_out_member_access_type( self ) != declarations.ACCESS_TYPES.PUBLIC:
+            return False
+        return True
+
+    def _get_allow_implicit_conversion(self):
+        return self._allow_implicit_conversion and self.does_define_implicit_conversion()
+    def _set_allow_implicit_conversion(self, allow_implicit_conversion):
+        self._allow_implicit_conversion = allow_implicit_conversion
+    allow_implicit_conversion = property( _get_allow_implicit_conversion, _set_allow_implicit_conversion
+                     , doc="boolean, indicates whether `Py++` should generate implicitly_convertible code or not" \
+                           "Default value is calculated from the constructor type." )
+
+class destructor_t( declarations.destructor_t, calldef_t ):
+    """you may ignore this class for he time being.
+
+    In future it will contain "body" property, that will allow to insert user
+    code to class-wrapper destructor.
+    """
+    #TODO: add body property
+    def __init__(self, *arguments, **keywords):
+        declarations.destructor_t.__init__( self, *arguments, **keywords )
+        calldef_t.__init__( self )
+
+class operators_helper:
+    """helps `Py++` to deal with C++ operators"""
+    inplace = [ '+=', '-=', '*=', '/=',  '%=', '>>=', '<<=', '&=', '^=', '|=' ]
+    comparison = [ '==', '!=', '<', '>', '<=', '>=' ]
+    non_member = [ '+', '-', '*', '/', '%', '&', '^', '|', ]
+    unary = [ '!', '~', '+', '-' ]
+
+    all = inplace + comparison + non_member + unary
+
+    @staticmethod
+    def is_supported( oper ):
+        """returns True if Boost.Python support the operator"""
+        if oper.symbol == '*' and len( oper.arguments ) == 0:
+            #dereference does not make sense
+            return False
+        if oper.symbol != '<<':
+            return oper.symbol in operators_helper.all
+
+        args_len = len( oper.arguments )
+        if isinstance( oper, declarations.member_operator_t ):# and args_len != 1:
+            return False #Boost.Python does not support member operator<< :-(
+        if isinstance( oper, declarations.free_operator_t ) and args_len != 2:
+            return False
+        if not declarations.is_same( oper.return_type, oper.arguments[0].type ):
+            return False
+        type_ = oper.return_type
+        if not declarations.is_reference( type_ ):
+            return False
+        type_ = declarations.remove_reference( type_ )
+        if declarations.is_const( type_ ):
+            return False
+        if args_len == 2:
+            #second argument should has "T const &" type, otherwise the code will not compile
+            tmp = oper.arguments[1].type
+            if not declarations.is_reference( tmp ):
+                return False
+            tmp = declarations.remove_reference( tmp )
+            if not declarations.is_const( tmp ):
+                return False
+        return declarations.is_std_ostream( type_ ) or declarations.is_std_wostream( type_ )
+
+    @staticmethod
+    def exportable( oper ):
+        """returns True if Boost.Python or `Py++` know how to export the operator"""
+        if isinstance( oper, declarations.member_operator_t ) and oper.symbol in ( '()', '[]', '=' ):
+            return ''
+        if not operators_helper.is_supported( oper ):
+            return messages.W1014 % oper.name
+        if isinstance( oper, declarations.free_operator_t ):
+            #`Py++` should find out whether the relevant class is exposed to Python
+            #and if not, than this operator should not be exposed too
+            included = [decl for decl in oper.class_types if decl.ignore == False]
+            if not included:
+                return messages.W1052 % str(oper)
+        return ''
+
+    @staticmethod
+    def target_class( oper ):
+        """this functions returns reference to class/class declaration
+        in scope of which, the operator should be exposed."""
+        if isinstance( oper.parent, declarations.class_t ):
+            return oper.parent
+        #now we deal with free operators
+        def find_class( type_ ):
+            type_ = declarations.remove_reference( type_ )
+            if declarations.is_class( type_ ):
+                return declarations.class_traits.get_declaration( type_ )
+            elif declarations.is_class_declaration( type_ ):
+                return declarations.class_declaration_traits.get_declaration( type_ )
+            else:
+                return None
+
+        arg_1_class = find_class( oper.arguments[0].type )
+        arg_2_class = None
+        if 2 == len( oper.arguments ):
+            arg_2_class = find_class( oper.arguments[1].type )
+
+        if arg_1_class:
+            if declarations.is_std_ostream( arg_1_class ) or declarations.is_std_wostream( arg_1_class ):
+                #in most cases users doesn't expose std::ostream class
+                return arg_2_class
+            else:
+                return arg_1_class
+        else:
+            return arg_2_class
+
+
+class member_operator_t( declarations.member_operator_t, calldef_t ):
+    """defines a set of properties, that will instruct `Py++` how to expose the member operator"""
+    def __init__(self, *arguments, **keywords):
+        declarations.member_operator_t.__init__( self, *arguments, **keywords )
+        calldef_t.__init__( self )
+        self._override_precall_code = []
+        self._default_precall_code =  []
+        self._overide_native_precall_code = []
+        
+    def add_override_precall_code(self, code):
+        self._override_precall_code.append( code )
+
+    @property
+    def override_precall_code(self):
+        return self._override_precall_code
+
+    def add_default_precall_code(self, code):
+        self._default_precall_code.append( code )
+
+    @property
+    def default_precall_code(self):
+        return self._default_precall_code
+
+    def add_override_native_precall_code(self, code):
+        """add code, which should be executed, before native member function call"""
+        self._overide_native_precall_code.append( code )
+
+    @property
+    def override_native_precall_code(self):
+        """code, which should be executed, before overrided member function call"""
+        return self._overide_native_precall_code
+
+
+    def _get_alias( self):
+        alias = super( member_operator_t, self )._get_alias()
+        if alias == self.name:
+            if self.symbol == '()':
+                alias = '__call__'
+            elif self.symbol == '[]':
+                alias = '__getitem__'
+            elif self.symbol == '=':
+                alias = 'assign'
+            else:
+                pass
+        return alias
+    alias = property( _get_alias, decl_wrapper.decl_wrapper_t._set_alias
+                      , doc="Gives right alias for operator()( __call__ ) and operator[]( __getitem__ )" )
+
+    def _exportable_impl_derived( self ):
+        if self.access_type == declarations.ACCESS_TYPES.PRIVATE \
+           and self.virtuality == declarations.VIRTUALITY_TYPES.NOT_VIRTUAL:
+            return messages.W1015
+        return operators_helper.exportable( self )
+
+    @property
+    def target_class( self ):
+        return self.parent
+
+class casting_operator_t( declarations.casting_operator_t, calldef_t ):
+    """defines a set of properties, that will instruct `Py++` how to expose the casting operator"""
+
+    def prepare_special_cases():
+        """
+        Creates a map of special cases ( aliases ) for casting operator.
+        """
+        special_cases = {}
+        const_t = declarations.const_t
+        pointer_t = declarations.pointer_t
+        for type_ in list(declarations.FUNDAMENTAL_TYPES.values()):
+            alias = None
+            if declarations.is_same( type_, declarations.bool_t() ):
+                alias = '__int__'
+            elif declarations.is_integral( type_ ):
+                if 'long' in type_.decl_string:
+                    alias = '__long__'
+                else:
+                    alias = '__int__'
+            elif declarations.is_floating_point( type_ ):
+                alias = '__float__'
+            else:
+                continue #void
+            if alias:
+                special_cases[ type_ ] = alias
+                special_cases[ const_t( type_ ) ] = alias
+        special_cases[ pointer_t( const_t( declarations.char_t() ) ) ] = '__str__'
+        std_string = '::std::basic_string<char,std::char_traits<char>,std::allocator<char> >'
+        std_wstring1 = '::std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >'
+        std_wstring2 = '::std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >'
+        special_cases[ std_string ] = '__str__'
+        special_cases[ std_wstring1 ] = '__str__'
+        special_cases[ std_wstring2 ] = '__str__'
+        special_cases[ '::std::string' ] = '__str__'
+        special_cases[ '::std::wstring' ] = '__str__'
+
+        #TODO: add
+        #          std::complex<SomeType> some type should be converted to double
+        return special_cases
+
+    SPECIAL_CASES = prepare_special_cases()
+    #casting_member_operator_t.prepare_special_cases()
+
+    def __init__(self, *arguments, **keywords):
+        declarations.casting_operator_t.__init__( self, *arguments, **keywords )
+        calldef_t.__init__( self )
+
+    def _get_alias( self):
+        if not self._alias or self.name == super( casting_operator_t, self )._get_alias():
+            return_type = declarations.remove_alias( self.return_type )
+            decl_string = return_type.decl_string
+            for type_, alias in list(self.SPECIAL_CASES.items()):
+                if isinstance( type_, declarations.type_t ):
+                    if declarations.is_same( return_type, type_ ):
+                        self._alias = alias
+                        break
+                else:
+                    if decl_string == type_:
+                        self._alias = alias
+                        break
+            else:
+                self._alias = 'as_' + self._generate_valid_name(self.return_type.decl_string)
+        return self._alias
+    alias = property( _get_alias, decl_wrapper.decl_wrapper_t._set_alias
+                      , doc="Gives right alias for casting operators: __int__, __long__, __str__." \
+                           +"If there is no built-in type, creates as_xxx alias" )
+
+    def _exportable_impl_derived( self ):
+        if not declarations.is_fundamental( self.return_type ) and not self.has_const:
+            return messages.W1016
+        if self.access_type != declarations.ACCESS_TYPES.PUBLIC:
+            return messages.W1017
+        return ''
+
+
+class free_function_t( declarations.free_function_t, calldef_t ):
+    """defines a set of properties, that will instruct `Py++` how to expose the free function"""
+    def __init__(self, *arguments, **keywords):
+        declarations.free_function_t.__init__( self, *arguments, **keywords )
+        calldef_t.__init__( self )
+        self._use_overload_macro = False
+        self._declaration_code = []
+        self._adaptor = None
+
+    def _get_adaptor(self):
+        return self._adaptor
+    def _set_adaptor(self, adaptor):
+        self._adaptor = adaptor
+    adaptor = property( _get_adaptor, _set_adaptor
+                        , doc="string, if contains value `Py++` will generate code the following code: " \
+                             +"def(<name>, <adaptor>(<function reference>), <other args> ) " )
+
+    def add_declaration_code( self, code ):
+        """adds the code to the declaration section"""
+        self.declaration_code.append( user_text.user_text_t( code ) )
+
+    @property
+    def declaration_code( self ):
+        """
+        List of strings, that contains valid C++ code, that will be added to
+        the same file in which the registration code for the function will be
+        generated
+        """
+        return self._declaration_code
+
+    def get_use_overload_macro(self):
+        return self._use_overload_macro
+    def set_use_overload_macro(self, use_macro):
+        self._use_overload_macro = use_macro
+    use_overload_macro = property( get_use_overload_macro, set_use_overload_macro
+                             , doc="boolean, if True, will use BOOST_PYTHON_FUNCTION_OVERLOADS macro to expose declarations" \
+                                  +"Default value is False.")
+
+
+class free_operator_t( declarations.free_operator_t, calldef_t ):
+    """defines a set of properties, that will instruct `Py++` how to expose the free operator"""
+    def __init__(self, *arguments, **keywords):
+        declarations.free_operator_t.__init__( self, *arguments, **keywords )
+        calldef_t.__init__( self )
+        self._target_class = None
+
+    def _exportable_impl_derived( self ):
+        return operators_helper.exportable( self )
+
+    def get_target_class( self ):
+        if self._target_class is None:
+            self._target_class = operators_helper.target_class( self )
+        return self._target_class
+
+    def set_target_class( self, class_ ):
+        self._target_class = class_
+
+    _target_class_doc_ = "reference to class_t or class_declaration_t object." \
+                       + " There are use cases, where `Py++` doesn't guess right, in what scope" \
+                       + " free operator should be registered( exposed ). If this is your use case " \
+                       + " than setting the class will allow you to quickly fix the situation. "
+
+    target_class = property( get_target_class, set_target_class, doc=_target_class_doc_ )
diff --git a/pyplusplus/decl_wrappers/class_wrapper.py b/pyplusplus/decl_wrappers/class_wrapper.py
new file mode 100644
index 0000000..a87f8dd
--- /dev/null
+++ b/pyplusplus/decl_wrappers/class_wrapper.py
@@ -0,0 +1,737 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 class that configure class definition and class declaration exposing"""
+
+import os
+from . import user_text
+from . import properties
+from . import decl_wrapper
+from . import scopedef_wrapper
+from . import variable_wrapper
+from pyplusplus import messages
+from pygccxml import declarations
+from . import indexing_suite1 as isuite1
+from . import indexing_suite2 as isuite2
+
+ACCESS_TYPES = declarations.ACCESS_TYPES
+VIRTUALITY_TYPES = declarations.VIRTUALITY_TYPES
+
+class impl_details:
+    class GUESS_VALUES: #guess always expose using scope values
+        TRUE = 'true'
+        FALSE = 'false'
+        ALWAYS_TRUE = 'always true'
+        all = [ TRUE,  FALSE, ALWAYS_TRUE ]
+
+
+always_expose_using_scope_documentation = \
+"""boolean, configures how `Py++` should generate code for class.
+Py can generate code using IDL like syntax:
+
+    class_< ... >( ... )
+        .def( ... );
+
+Or it can generate code using more complex form:
+
+    typedef bp::class_< my_class > my_class_exposer_t;
+    my_class_exposer_t my_class_exposer = my_class_exposer_t( "my_class" );
+    boost::python::scope my_class_scope( my_class_exposer );
+    my_class_exposer.def( ... );
+
+Also, the second way is much longer, it solves few problems:
+
+    - you can not expose enums and internal classes defined within the class using first method
+    - you will get much better compilation errors
+    - the code looks like regular C++ code after all :-)
+
+By default, this property is set to False. Also, `Py++` knows pretty well
+when it have to ignore this property and generate right code
+"""
+
+class class_common_details_t( object ):
+    """
+    defines :class:`pygccxml.declarations.class_declaration_t` and :class:`pygccxml.declarations.class_t`
+    classes common properties
+    """
+    def __init__(self):
+        object.__init__( self )
+        self._always_expose_using_scope = None
+        self._indexing_suite = None
+        self._equality_comparable = None
+        self._less_than_comparable = None
+        self._isuite_version = 1
+        self._opaque = False
+
+    def _get_indexing_suite_version( self ):
+        return self._isuite_version
+    def _set_indexing_suite_version( self, version ):
+        assert version in ( 1, 2 )
+        if self._isuite_version != version:
+            self._isuite_version = version
+            self._indexing_suite = None
+    indexing_suite_version = property( _get_indexing_suite_version, _set_indexing_suite_version
+                                       , doc="indexing suite version")
+
+    @property
+    def indexing_suite( self ):
+        """reference to indexing suite configuration class.
+
+        If the class is not STD container, this property will contain None"
+        """
+        if self._indexing_suite is None:
+            if self.container_traits:
+                if self._isuite_version == 1:
+                    self._indexing_suite = isuite1.indexing_suite1_t( self )
+                else:
+                    self._indexing_suite = isuite2.indexing_suite2_t( self )
+        return self._indexing_suite
+
+    def guess_always_expose_using_scope_value( self ):
+        if isinstance( self.indexing_suite, isuite2.indexing_suite2_t ) \
+           and ( self.indexing_suite.disable_methods or self.indexing_suite.disabled_methods_groups ):
+            return impl_details.GUESS_VALUES.ALWAYS_TRUE
+        else:
+            return impl_details.GUESS_VALUES.FALSE
+
+    def _get_always_expose_using_scope( self ):
+        tmp = self.guess_always_expose_using_scope_value()
+        if tmp == impl_details.GUESS_VALUES.ALWAYS_TRUE:
+            return True
+        if None is self._always_expose_using_scope:
+            if impl_details.GUESS_VALUES.TRUE == tmp:
+                self._always_expose_using_scope = True
+            else:
+                self._always_expose_using_scope = False
+        return self._always_expose_using_scope
+
+    def _set_always_expose_using_scope( self, value ):
+        self._always_expose_using_scope = value
+    always_expose_using_scope = property( _get_always_expose_using_scope, _set_always_expose_using_scope
+                                          , doc="please see :attr:`class_wrapper.always_expose_using_scope_documentation` variable for documentation."  )
+
+    def _get_equality_comparable( self ):
+        if None is self._equality_comparable:
+            self._equality_comparable = declarations.has_public_equal( self )
+        return self._equality_comparable
+
+    def _set_equality_comparable( self, value ):
+        self._equality_comparable = value
+
+    equality_comparable = property( _get_equality_comparable, _set_equality_comparable
+                                    , doc="indicates existence of public operator=" \
+                                         +"Default value is calculated, based on information presented in the declarations tree" )
+
+    def _get_less_than_comparable( self ):
+        if None is self._less_than_comparable:
+            self._less_than_comparable = declarations.has_public_less( self )
+        return self._less_than_comparable
+
+    def _set_less_than_comparable( self, value ):
+        self._less_than_comparable = value
+
+    less_than_comparable = property( _get_less_than_comparable, _set_less_than_comparable
+                                     , doc="indicates existence of public operator<. " \
+                                          +"Default value is calculated, based on information presented in the declarations tree" )
+
+    def _get_opaque( self ):
+        return self._opaque
+    def _set_opaque( self, value ):
+        self._opaque = value
+    opaque = property( _get_opaque, _set_opaque
+                      , doc="If True, `Py++` will treat return types and arguments T* as opaque types. "
+                           +"nFor Boost.Python code generator it means that macro BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID everywhere it needed. "
+                           +"For ctypes code generator it means that the class will be introduced, but without fields. "
+                           +"For both code generators it means: you will only be able to get and pass pointers around. "
+                           +"Other functionality will not be available." )
+
+    @property
+    def class_var_name(self):
+        return self.alias + '_exposer'
+
+#this will only be exported if indexing suite is not None and only when needed
+class class_declaration_t( class_common_details_t
+                           , decl_wrapper.decl_wrapper_t
+                           , declarations.class_declaration_t ):
+    def __init__(self, *arguments, **keywords):
+        class_common_details_t.__init__( self )
+        declarations.class_declaration_t.__init__(self, *arguments, **keywords )
+        decl_wrapper.decl_wrapper_t.__init__( self )
+
+class class_t( class_common_details_t
+               , scopedef_wrapper.scopedef_t
+               , declarations.class_t):
+
+    class EXPOSED_CLASS_TYPE:
+        DECLARED = 'declared'
+        WRAPPER = 'wrapper'
+        ALL = ( DECLARED, WRAPPER )
+
+    FAKE_CONSTRUCTOR_TYPES = ( declarations.member_function_t, declarations.free_function_t )
+    FAKE_CONSTRUCTOR_TYPE_NAMES = 'member and free functions'
+
+    def __init__(self, *arguments, **keywords):
+        class_common_details_t.__init__( self )
+        declarations.class_t.__init__(self, *arguments, **keywords )
+        scopedef_wrapper.scopedef_t.__init__( self )
+
+        self._redefine_operators = False
+        self._held_type = None
+        self._noncopyable = None
+        self._wrapper_alias = None
+        self._registration_code_head = []
+        self._registration_code_tail = []
+        self._declaration_code = []
+        self._wrapper_code = []
+        self._destructor_code = []
+        self._exception_translation_code = None
+        self._properties = []
+        self._redefined_funcs = None
+        self._require_self_reference  = False
+        self._exposed_class_type = self.EXPOSED_CLASS_TYPE.DECLARED
+        self._expose_this = None
+        self._expose_sizeof = None
+        self._fake_constructors = []
+        self._no_init = None
+
+    @property
+    def fake_constructors(self):
+        """list of fake constructors"""
+        return self._fake_constructors
+
+    def add_fake_constructors( self, f ):
+        """f - reference to a calldef_t object or list of them
+
+        boost::python::make_constructor allows to register a C++ function, as a
+        class constructor.
+        """
+        if isinstance( f, declarations.calldef_t ):
+            self._fake_constructors.append( f )
+        else:
+            self._fake_constructors.extend( f )
+
+    def _get_redefine_operators( self ):
+        return self._redefine_operators
+    def _set_redefine_operators( self, new_value ):
+        self._redefine_operators = new_value
+    redefine_operators = property( _get_redefine_operators, _set_redefine_operators
+                                   , doc="tells `Py++` to redefine operators from base class in this class, False by default")
+
+    def _get_exposed_class_type(self):
+        return self._exposed_class_type
+    def _set_exposed_class_type(self, class_type):
+        assert class_type in self.EXPOSED_CLASS_TYPE.ALL
+        self._class_type = class_type
+    exposed_class_type = property( _get_exposed_class_type, _set_exposed_class_type
+                          , doc="set this value to CLASS_TYPE.WRAPPER, if you need to transfer ownership of" \
+                                "polymorphic class" )
+
+    def _get_held_type(self):
+        return self._held_type
+    def _set_held_type(self, held_type):
+        self._held_type = held_type
+    held_type = property( _get_held_type, _set_held_type
+                          , doc="string, this property tells `Py++` what HeldType this class has" \
+                               +"Default value is calculated, based on information presented in exposed declarations" )
+
+    def _get_noncopyable(self):
+        if self._noncopyable is None:
+            self._noncopyable = declarations.is_noncopyable( self )
+        return self._noncopyable
+    def _set_noncopyable(self, noncopyable):
+        self._noncopyable= noncopyable
+    noncopyable = property( _get_noncopyable, _set_noncopyable
+                            , doc="True if the class is noncopyable, False otherwies" \
+                                 +"Default value is calculated, based on information presented in the declarations tree" )
+
+    def _get_wrapper_alias( self ):
+        if None is self._wrapper_alias:
+            self._wrapper_alias = self._generate_valid_name(self.partial_name) + "_wrapper"
+        return self._wrapper_alias
+    def _set_wrapper_alias( self, walias ):
+        self._wrapper_alias = walias
+    wrapper_alias = property( _get_wrapper_alias, _set_wrapper_alias
+                              , doc="class-wrapper name")
+
+    @property
+    def declaration_code( self ):
+        """
+        List of strings, that contains valid C++ code, that will be added to
+        the class declaration section
+        """
+        return self._declaration_code
+
+    @property
+    def registration_code_head( self ):
+        """
+        List of strings, that contains valid C++ code, that will be added to
+        the head of the class registration section
+        """
+        return self._registration_code_head
+
+    @property
+    def registration_code_tail( self ):
+        """
+        List of strings, that contains valid C++ code, that will be added to
+        the tail of the class registration section
+        """
+        return self._registration_code_tail
+
+    @property
+    def registration_code( self ):
+        """
+        List of strings, that contains all C++ code, that will be added to
+        the class registration section
+        """
+        return self.registration_code_head + self.registration_code_tail
+
+    @property
+    def wrapper_code( self ):
+        """
+        List of strings, that contains valid C++ code, that will be added to
+        the class wrapper.
+        """
+        return self._wrapper_code
+
+    def _get_null_constructor_body(self):
+        c = self.find_trivial_constructor()
+        if c:
+            return c.body
+        else:
+            return ''
+    def _set_null_constructor_body(self, body):
+        c = self.find_trivial_constructor()
+        if c:
+            c.body = body
+    null_constructor_body = property( _get_null_constructor_body, _set_null_constructor_body
+                                      , doc="null constructor code, that will be added as is to the null constructor of class-wrapper" )
+
+    def _get_copy_constructor_body(self):
+        c = self.find_copy_constructor()
+        if c:
+            return c.body
+        else:
+            return ''
+
+    def _set_copy_constructor_body(self, body):
+        c = self.find_copy_constructor()
+        if c:
+            c.body = body
+    copy_constructor_body = property( _get_copy_constructor_body, _set_copy_constructor_body
+                                      , doc="copy constructor code, that will be added as is to the copy constructor of class-wrapper")
+
+    @property
+    def destructor_code(self):
+        """list of code to be added to wrapper destructor"""
+        return self._destructor_code
+
+    def add_destructor_code(self, code):
+        """adds code to the class-wrapper destructor"""
+        self._destructor_code.append( code )
+
+    @property
+    def exception_argument_name( self ):
+        """exception argument name for translate exception function
+
+        If you don't understand what this argument is, please take a look on
+        Boost.Python documentation: http://www.boost.org/libs/python/doc/v2/exception_translator.html
+        """
+        return 'exc'
+
+    def _get_exception_translation_code( self ):
+        return self._exception_translation_code
+    def _set_exception_translation_code( self, code ):
+        self._exception_translation_code = code
+    exception_translation_code = property( _get_exception_translation_code, _set_exception_translation_code
+                                           , doc="C++ exception to Python exception translation code" \
+                                                +"\nExample: PyErr_SetString(PyExc_RuntimeError, exc.what()); " \
+                                                +"\nPy++ will generate the rest of the code." \
+                                                +"\nPay attention: the exception variable name is exc." )
+
+    def translate_exception_to_string( self, python_exception_type, to_string ):
+        """registers exception translation to string
+
+        :param python_exception_type: Python exception type, for example PyExc_RuntimeError
+        :type python_exception_type: str
+
+        :param to_string: C++ expression that extracts information from exception.
+                          The type of expression should be char*.
+        :type to_string: str
+        """
+        #NICE TO HAVE:
+        #1. exception\assert\warning should be raised if python_exception_type
+        #   does not contain valid Python exception
+        #2. `Py++` can validate, that member function returns char*
+        code = "PyErr_SetString( %(exception_type)s, %(to_string)s ); " \
+               % { 'exception_type' : python_exception_type, 'to_string' : to_string }
+        self.exception_translation_code = code
+
+    def add_declaration_code( self, code ):
+        """adds the code to the declaration section"""
+        self.declaration_code.append( user_text.user_text_t( code ) )
+
+    def add_registration_code( self, code, works_on_instance=True, tail=True ):
+        """adds the code to the class registration section
+
+        :param works_on_instance: If true, the custom code can be applied directly to obj inst. Example: ObjInst.code
+        :type works_on_instance: bool
+
+        :param tail: if True, the custom code is appended to the end of the class registration code.
+        :type tail: bool
+        """
+        if tail:
+            self.registration_code_tail.append( user_text.class_user_text_t( code, works_on_instance ) )
+        else:
+            self.registration_code_head.append( user_text.class_user_text_t( code, works_on_instance ) )
+
+    #preserving backward computability
+    add_code = add_registration_code
+
+    def add_wrapper_code( self, code ):
+        """adds code to the class wrapper class definition"""
+        self.wrapper_code.append( user_text.user_text_t( code ) )
+
+    def set_constructors_body( self, body ):
+        """Sets the body for all constructors"""
+        constrs = self.constructors(allow_empty=True, recursive=False)
+        if constrs:
+            constrs.body = body
+        self.null_constructor_body = body
+        self.copy_constructor_body = body
+
+    def _exportable_impl( self ):
+        if not self.name:
+            named_parent = declarations.get_named_parent( self )
+            if not named_parent:
+                return messages.W1057 % str( self )
+            if isinstance( named_parent, declarations.namespace_t ):
+                return messages.W1018 % str( self )
+        if self.class_type == declarations.CLASS_TYPES.UNION:
+            if self.is_wrapper_needed():
+                return messages.W1059 % str( self )
+            if self.name:
+                return messages.W1060 % str( self )
+        if isinstance( self.parent, declarations.namespace_t ):
+            return ''
+        if not self in self.parent.public_members:
+            return messages.W1019
+        return ''
+
+    def get_exportable_members( self, sort=None ):
+        """returns list of internal declarations that should\\could be exported"""
+        #TODO: obviously this function should be shorter. Almost all logic of this class
+        #      should be spread between decl_wrapper classes
+        members = [mv for mv in self.public_members if mv.ignore == False and mv.exportable]
+        #protected and private virtual functions that not overridable and not pure
+        #virtual should not be exported
+        for member in self.protected_members:
+            if isinstance( member, declarations.calldef_t ):
+                members.append( member )
+            else:
+                pass
+
+        vfunction_selector = lambda member: isinstance( member, declarations.member_function_t ) \
+                                            and member.virtuality == declarations.VIRTUALITY_TYPES.PURE_VIRTUAL
+        members.extend( list(filter( vfunction_selector, self.private_members )) )
+
+        def is_exportable( decl ):
+            #filter out non-public member operators - `Py++` does not support them right now
+            if isinstance( decl, declarations.member_operator_t ) \
+               and decl.access_type != declarations.ACCESS_TYPES.PUBLIC:
+                return False
+            #remove artificial constructors
+            if isinstance( decl, declarations.constructor_t ) and decl.is_artificial:
+                return False
+            if decl.ignore == True or decl.exportable == False:
+                return False
+            return True
+        #-#if declarations.has_destructor( self ) \
+        #-#   and not declarations.has_public_destructor( self ):
+        members = list(filter( is_exportable, members ))
+        sorted_members = members
+        if sort:
+            sorted_members = sort( members )
+        return sorted_members
+
+    @property
+    def properties( self ):
+        """list of properties"""
+        return self._properties
+
+    def add_property( self, name, fget, fset=None, doc='' ):
+        """adds new property to the class
+
+        :param name: name of the property
+        :type name: str
+
+        :param fget: reference to the class member function
+        :param fset: reference to the class member function, could be None
+        :param doc: documentation string
+        """
+        self._properties.append( properties.property_t( name, fget, fset, doc ) )
+
+    def add_properties( self, recognizer=None, exclude_accessors=False ):
+        props = properties.find_properties( self, recognizer, exclude_accessors )
+        self.properties.extend( props )
+
+    def add_static_property( self, name, fget, fset=None, doc='' ):
+        """adds new static property to the class"""
+        self._properties.append( properties.property_t( name, fget, fset, doc, True ) )
+
+    def redefined_funcs( self ):
+        """
+        returns list of member functions that should be defined in the class wrapper
+
+        It comes useful in 3 tier hierarchy:
+
+        .. code-block:: c++
+
+           struct base{
+               virtual void do_nothing() = 0;
+           };
+
+           struct derived{
+               virtual void do_something() = 0;
+           };
+
+           struct concrete{
+               virtual void do_nothing(){}
+               virtual void do_something(){}
+           };
+
+        The wrapper for class `derived`, should define `do_nothing` function,
+        otherwise the generated code will not compile
+        """
+
+        if isinstance( self._redefined_funcs, list ):
+            return self._redefined_funcs
+
+        all_included = declarations.custom_matcher_t( lambda decl: decl.ignore == False and decl.exportable )
+        all_protected = declarations.access_type_matcher_t( 'protected' ) & all_included
+        all_pure_virtual = declarations.virtuality_type_matcher_t( VIRTUALITY_TYPES.PURE_VIRTUAL )
+        all_virtual = declarations.virtuality_type_matcher_t( VIRTUALITY_TYPES.VIRTUAL ) \
+                      & ( declarations.access_type_matcher_t( 'public' ) \
+                          | declarations.access_type_matcher_t( 'protected' ))
+        all_not_pure_virtual = ~all_pure_virtual
+
+        query = all_protected | all_pure_virtual
+        mf_query = query | all_virtual
+        relevant_opers = declarations.custom_matcher_t( lambda decl: decl.symbol in ('()', '[]') )
+        funcs = []
+        defined_funcs = []
+
+        for base in self.recursive_bases:
+            if base.access == ACCESS_TYPES.PRIVATE:
+                continue
+            base_cls = base.related_class
+
+            funcs.extend( base_cls.member_functions( mf_query, recursive=False, allow_empty=True ) )
+            funcs.extend( base_cls.member_operators( relevant_opers & query, recursive=False, allow_empty=True ) )
+
+            defined_funcs.extend( base_cls.member_functions( all_not_pure_virtual, recursive=False, allow_empty=True ) )
+            defined_funcs.extend( base_cls.member_operators( all_not_pure_virtual & relevant_opers, recursive=False, allow_empty=True ) )
+
+        not_reimplemented_funcs = set()
+        is_same_function = declarations.is_same_function
+        for f in funcs:
+            cls_fs = self.calldefs( name=f.name, recursive=False, allow_empty=True )
+            for cls_f in cls_fs:
+                if is_same_function( f, cls_f ):
+                    break
+            else:
+                #should test whether this function has been added or not
+                for f_impl in not_reimplemented_funcs:
+                    if is_same_function( f, f_impl ):
+                        if declarations.is_base_and_derived( f_impl.parent, f.parent ):
+                            #add function from the most derived class
+                            not_reimplemented_funcs.remove( f_impl )
+                            not_reimplemented_funcs.add( f )
+                        break
+                else:
+                    #should test whether this function is implemented in base class
+                    if f.virtuality != VIRTUALITY_TYPES.PURE_VIRTUAL:
+                        not_reimplemented_funcs.add( f )
+                    else:
+                        for f_defined in defined_funcs:
+                            if is_same_function( f, f_defined ):
+                                break
+                        else:
+                            not_reimplemented_funcs.add( f )
+        functions = [f for f in list( not_reimplemented_funcs ) if ( False == f.ignore and True == f.exportable )
+                                      or all_pure_virtual( f )]
+
+
+        #Boost.Python is not able to call for non-virtual function, from the base
+        #class if there is a virtual function with the same within base class
+        #See override_bug tester for more information
+
+        def buggy_bpl_filter( f ):
+            if f.parent is self:
+                return False
+            if f.access_type != ACCESS_TYPES.PUBLIC:
+                return False
+            if f.virtuality != VIRTUALITY_TYPES.NOT_VIRTUAL:
+                return False
+            #we need to check that we don't have "same" function in this class
+            this_funs = self.decls( name=f.name
+                                    , decl_type=declarations.calldef_t
+                                    , recursive=False
+                                    , allow_empty=True )
+            for this_f in this_funs:
+                if is_same_function( this_f, f ):
+                    #there is already the function in the class, so no need to redefined it
+                    return False
+            else:
+                return True
+
+        tmp = {} # id : f
+        for redefined_f in functions:
+            #redefined is virtual, I am not interested in virtual functions
+            for rfo in redefined_f.overloads:
+                if id(rfo) in tmp:
+                    continue
+                if buggy_bpl_filter( rfo ):
+                    tmp[ id(rfo) ] = rfo
+        functions.extend( list(tmp.values()) )
+
+        functions.sort( key=lambda f: ( f.name, f.location.as_tuple() ) )
+
+        self._redefined_funcs = functions
+        return self._redefined_funcs
+
+    def is_wrapper_needed(self):
+        """returns an explanation( list of str ) why wrapper is needed.
+
+        If wrapper is not needed than [] will be returned.
+        """
+        explanation = []
+        if self.wrapper_code:
+            explanation.append( messages.W1020 )
+
+        if self.null_constructor_body:
+            explanation.append( messages.W1021 )
+
+        if self.copy_constructor_body:
+            explanation.append( messages.W1022 )
+
+        if self.destructor_code:
+            explanation.append( messages.W1055 )
+
+        redefined_funcs = self.redefined_funcs()
+        if redefined_funcs:
+            funcs = [f.name for f in redefined_funcs]
+            explanation.append( messages.W1023 % ', '.join(funcs) )
+
+        for member in self.get_exportable_members():
+            if isinstance( member, declarations.destructor_t ):
+                continue
+            if isinstance( member, declarations.variable_t ):
+                explanation.extend( member.is_wrapper_needed() )
+            if isinstance( member, declarations.class_t ) and member.is_wrapper_needed():
+                explanation.append( messages.W1028 % member.name)
+            if isinstance( member, declarations.calldef_t ):
+                if isinstance( member, declarations.constructor_t ) and member.body:
+                    explanation.append( messages.W1029 )
+                if member.virtuality != VIRTUALITY_TYPES.NOT_VIRTUAL:
+                    explanation.append( messages.W1030 % member.name )
+                if member.access_type in ( ACCESS_TYPES.PROTECTED, ACCESS_TYPES.PRIVATE ):
+                    explanation.append( messages.W1031 % member.name)
+        return explanation
+
+    def _readme_impl( self ):
+        if self.indexing_suite:
+            return []
+        explanation = self.is_wrapper_needed()
+        for fc in self.fake_constructors:
+            if fc.ignore:
+                explanation.append( messages.W1062 % ( str( self ), str( fc ) ) )
+            if not fc.exportable:
+                explanation.append( messages.W1063 % ( str( self ), str( fc ) ) )
+            if not isinstance( fc, self.FAKE_CONSTRUCTOR_TYPES ):
+                explanation.append( messages.W1064
+                                    % ( str( fc ), str( self ), self.FAKE_CONSTRUCTOR_TYPE_NAMES ) )
+        return explanation
+
+    def guess_always_expose_using_scope_value( self ):
+        def is_assign( oper ):
+            if oper.symbol != '=':
+                return False
+            if oper.is_artificial:
+                return False
+            if oper.access_type != ACCESS_TYPES.PUBLIC:
+                return False
+            return True
+        #MSVC 7.1 has problem with taking reference to operator=
+        if self.member_operators( is_assign, allow_empty=True, recursive=False ):
+            return impl_details.GUESS_VALUES.ALWAYS_TRUE
+        return super(class_t, self).guess_always_expose_using_scope_value()
+
+    def _get_require_self_reference(self):
+        return self._require_self_reference
+    def _set_require_self_reference(self, require_self_reference):
+        self._require_self_reference = require_self_reference
+    require_self_reference = property( _get_require_self_reference, _set_require_self_reference
+                     , doc="boolean, if True the first argument to the constructor will be reference to self object" )
+
+    def _get_expose_this( self ):
+        return self._expose_this
+    def _set_expose_this( self, new_value ):
+        self._expose_this = new_value
+    expose_this = property( _get_expose_this, _set_expose_this
+                           , doc="boolean, if True an object address( this pointer ) will be exposed to Python as integer.")
+
+    def _get_expose_sizeof( self ):
+        return self._expose_sizeof
+    def _set_expose_sizeof( self, new_value ):
+        self._expose_sizeof = new_value
+    expose_sizeof = property( _get_expose_sizeof, _set_expose_sizeof
+                              , doc="boolean, if True the sizeof(obj) will be exposed to Python as integer.")
+
+    @property
+    def introduces_new_scope(self):
+        """returns True, if during exposing this class, new scope will be created
+
+        For example, anonymous structs will be exposed in a parent scope.
+        """
+        if not self.name:
+            return False
+        elif self.class_type == declarations.CLASS_TYPES.UNION:
+            return False
+        else:
+            return True
+
+    def _get_no_init( self ):
+        if None is self._no_init and False == bool( self.indexing_suite ):
+            #select all public constructors and exclude copy constructor
+            cs = self.constructors( lambda c: not c.is_copy_constructor and c.access_type == 'public'
+                                    , recursive=False, allow_empty=True )
+
+            has_suitable_constructor = bool( cs )
+            if cs and len(cs) == 1 and cs[0].is_trivial_constructor and self.find_noncopyable_vars():
+                has_suitable_constructor = False
+
+            has_nonpublic_destructor = declarations.has_destructor( self ) \
+                                       and not declarations.has_public_destructor( self )
+
+            trivial_constructor = self.find_trivial_constructor()
+
+            if has_nonpublic_destructor \
+               or ( self.is_abstract and not self.is_wrapper_needed() ) \
+               or not has_suitable_constructor:
+                self._no_init = True
+            elif not trivial_constructor or trivial_constructor.access_type != 'public':
+                exportable_cs = [c for c in cs if c.exportable and c.ignore == False]
+                if not exportable_cs:
+                    self._no_init = True
+            else:
+                pass
+        if None is self._no_init:
+            self._no_init = False
+        return self._no_init
+    def _set_no_init( self, value ):
+        self._no_init = value
+
+    no_init = property( _get_no_init, _set_no_init
+                        , doc="If True, class will be registered with 'boost::python::no_init'" )
diff --git a/pyplusplus/decl_wrappers/decl_wrapper.py b/pyplusplus/decl_wrappers/decl_wrapper.py
new file mode 100644
index 0000000..21e48b3
--- /dev/null
+++ b/pyplusplus/decl_wrappers/decl_wrapper.py
@@ -0,0 +1,231 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 base class for all code generator configuration classes"""
+
+from . import algorithm
+from pyplusplus import _logging_
+from pygccxml import declarations
+from pyplusplus import messages
+
+class CODE_GENERATOR_TYPES:
+    BOOST_PYTHON = 'Boost.Python'
+    CTYPES = 'ctypes'
+    all = [ BOOST_PYTHON, CTYPES ]
+
+class decl_wrapper_t(object):
+    """code generator declaration configuration base class
+
+    This class contains configuration that could be applied to all declarations.
+    """
+
+    SPECIAL_TYPEDEF_PICK_ANY = True
+
+    def __init__(self):
+        object.__init__(self)
+        self._alias = None
+        self._ignore = False
+        self._already_exposed = False
+        self._exportable = None
+        self._exportable_reason = None
+        self._documentation = None
+        self.__msgs_to_ignore = set()
+        self._include_files = []
+        self._code_generator = None
+
+    @property
+    def code_generator( self ):
+        """code generator type, could be Boost.Python or ctypes"""
+        return self._code_generator
+
+    @property
+    def logger( self ):
+        """reference to :attr:`_logging_.loggers.declarations`"""
+        return _logging_.loggers.declarations
+
+    def _get_documentation( self ):
+        return self._documentation
+    def _set_documentation( self, value ):
+        self._documentation = value
+    documentation = property( _get_documentation, _set_documentation
+                             , doc="exposed declaration Python documentation string" )
+
+    def _generate_valid_name(self, name=None):
+        if name == None:
+            name = self.name
+        return algorithm.create_valid_name( name )
+
+    def __select_alias_directives( self, be_smart ):
+        if not isinstance( self, declarations.class_types ):
+            return []
+        typedefs = list( set( [typedef for typedef in self.aliases if typedef.is_directive] ) )
+        if decl_wrapper_t.SPECIAL_TYPEDEF_PICK_ANY:
+            if typedefs and be_smart:
+                longest_name_len = 0
+                longest_typedef = None
+                for typedef in typedefs:
+                    typedef_name_len = len( typedef.name )
+                    if longest_name_len < typedef_name_len:
+                        longest_name_len = typedef_name_len
+                        longest_typedef = typedef
+                return [longest_typedef]
+            else:
+                return typedefs
+        else:
+            return typedefs
+
+    def _get_alias(self):
+        if not self._alias:
+            directives = self.__select_alias_directives(be_smart=True)
+            if 1 == len( directives ):
+                self._alias = directives[0].name
+            else:
+                if declarations.templates.is_instantiation( self.name ):
+                    container_aliases = [ 'value_type', 'key_type', 'mapped_type' ]
+                    if isinstance( self, declarations.class_t ) \
+                        and 1 == len( set( [typedef.name for typedef in self.aliases] ) ) \
+                        and self.aliases[0].name not in container_aliases:
+                            self._alias = self.aliases[0].name
+                    else:
+                        self._alias = algorithm.create_valid_name( self.partial_name )
+                else:
+                    if declarations.is_class( self ) or declarations.is_class_declaration( self ):
+                        self._alias = algorithm.create_valid_name( self.partial_name )
+                    else:
+                        self._alias = self.partial_name
+        return self._alias
+    def _set_alias(self, alias):
+        self._alias = alias
+    alias = property( _get_alias, _set_alias
+                      , doc="The name under which, Python will know the declaration. Code generators: ctypes, Boost.Python")
+
+    def rename( self, new_name ):
+        """give new name to the declaration, under which Python will know the declaration
+
+        Code generators: ctypes, Boost.Python
+        """
+        self.alias = new_name
+
+    def _get_ignore( self ):
+        return self._ignore
+    def _set_ignore( self, value ):
+        self._ignore = value
+    ignore = property( _get_ignore, _set_ignore
+                       , doc="Boolean flag, which says whether to export declaration to Python or not. Code generators: ctypes, Boost.Python" )
+
+    def get_already_exposed( self ):
+        return self._already_exposed
+    def set_already_exposed( self, value ):
+        self._already_exposed = value
+    already_exposed = property( get_already_exposed, set_already_exposed
+                                , doc="boolean flag, which says whether the declaration is already exposed or not" )
+
+    def exclude( self, compilation_errors=False ):
+        """exclude "self" and child declarations from being exposed.
+
+        If compile_time_errors is True, than only declarations, which will cause
+        compilation error will be excluded
+
+        Code generators: ctypes, Boost.Python
+        """
+        self.ignore = True
+
+    def include( self, already_exposed=False ):
+        """include "self" and child declarations to be exposed.
+
+        Code generators: ctypes, Boost.Python.
+        """
+        self.ignore = False
+        self.already_exposed = already_exposed
+
+    def why_not_exportable( self ):
+        """return the reason( string ) that explains why this declaration could not be exported
+
+        If declaration could be exported, than method will return None
+        """
+        if None is self._exportable_reason:
+            self.get_exportable()
+        return self._exportable_reason
+
+    def _exportable_impl( self ):
+        return ''
+
+    def get_exportable( self ):
+        """return True if declaration could be exposed to Python, False otherwise"""
+        if self._exportable is None:
+            if self.name.startswith( '__' ) or '.' in self.name:
+                self._exportable_reason = messages.W1000
+            elif self.location and self.location.file_name == "<internal>":
+                self._exportable_reason = messages.W1001
+            elif self.is_artificial \
+                 and not isinstance( self, ( declarations.class_t, declarations.enumeration_t ) ):
+                self._exportable_reason = messages.W1002
+            else:
+                self._exportable_reason = self._exportable_impl( )
+            self._exportable = not bool( self._exportable_reason )
+        return self._exportable
+    def set_exportable( self, exportable ):
+        """change "exportable" status
+
+        This function should be use in case `Py++` made a mistake and signed the
+        declaration as non-exportable."""
+        self._exportable = exportable
+
+    exportable = property( get_exportable, set_exportable
+                          , doc="Returns True if declaration could be exported to Python, otherwise False" )
+
+    def _readme_impl( self ):
+        return []
+
+    def readme( self, skip_ignored=True ):
+        """return important information( hints/tips/warning message ) `Py++` has about
+        this declaration.
+
+        skip_ignored argument allows you to control the information reported to you.
+        For more information please read documentation about warnings.
+        """
+        msgs = []
+        if not self.exportable:
+            msgs.append( self.why_not_exportable() )
+
+        if declarations.templates.is_instantiation( self.name ) \
+           and self.alias == self._generate_valid_name():
+            msgs.append( messages.W1043 % self.alias )
+
+        directives = self.__select_alias_directives(be_smart=False)
+        if 1 < len( directives ):
+            msgs.append( messages.W1048
+                         % ( self.alias, ', '.join( [typedef.name for typedef in directives] ) ) )
+
+        msgs.extend( self._readme_impl() )
+
+        return messages.filter_disabled_msgs( msgs, self.__msgs_to_ignore )
+
+    @property
+    def disabled_messages( self ):
+        """list of messages to ignore"""
+        return self.__msgs_to_ignore
+    disabled_messaged = disabled_messages
+
+    def disable_messages( self, *args ):
+        """
+        disable messages - `Py++` will not report the disabled messages
+        Usage example:
+
+        .. code-block:: python
+
+           decl.disable_messages( messages.W1001, messages.W1040 )
+        """
+        for msg in args:
+            msg_id = messages.find_out_message_id( msg )
+            if not msg_id:
+                raise RuntimeError( "Unable to find out message id. The message is: " + msg )
+            self.__msgs_to_ignore.add( msg )
+    disable_warnings = disable_messages
+
+    @property
+    def include_files( self ):
+        """list of header files, to be included from the file, the generated code will be placed-in"""
+        return self._include_files
diff --git a/pyplusplus/decl_wrappers/decl_wrapper_printer.py b/pyplusplus/decl_wrappers/decl_wrapper_printer.py
new file mode 100644
index 0000000..2574adf
--- /dev/null
+++ b/pyplusplus/decl_wrappers/decl_wrapper_printer.py
@@ -0,0 +1,132 @@
+# Copyright 2004-2008 Roman Yakovenko, 2006 Allen Bierbaum, Matthias Baas
+# Distributed under the 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 class that will print in a user friendly format declarations tree and
+declarations `Py++` configuration instructions"""
+
+import os
+import sys
+from pygccxml import declarations
+
+class decl_wrapper_printer_t( declarations.decl_printer_t ):
+    """ Helper class for printing declarations tree and `Py++` configuration instructions"""
+    JUSTIFY = 20
+    INDENT_SIZE = 4
+
+    def __init__( self, level=0, print_details=True, recursive=True, writer=None ):
+        declarations.decl_printer_t.__init__(self, level, print_details, recursive, writer)
+
+    def clone( self, increment_level=True ):
+        level = self.level
+        if increment_level:
+            level += 1
+        return decl_wrapper_printer_t(level, self.print_details, self.recursive, self.writer)
+
+    def print_decl_header(self):
+        super( decl_wrapper_printer_t, self ).print_decl_header()
+        if not self.print_details:
+            return
+        intend_txt = ' ' * (self.level+1) * self.INDENT_SIZE
+        self.writer( intend_txt + "alias: " + self.instance.alias + os.linesep )
+        self.writer( intend_txt + "ignore: " + str( self.instance.ignore ) + os.linesep )
+        if not self.instance.ignore:
+            msgs = self.instance.readme()
+            if msgs:
+                self.writer( intend_txt + "readme: " + os.linesep )
+                more_intend_txt = ' ' * (self.level+2) * self.INDENT_SIZE
+                for msg in msgs:
+                    self.writer( more_intend_txt + msg + os.linesep )
+
+    def print_calldef_wrapper(self):
+        if not self.print_details:
+            return
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "call policies: " + str(self.instance.call_policies) + os.linesep )
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "use keywords: " + str(self.instance.use_keywords) + os.linesep )
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "use signature: " + str(self.instance.create_with_signature) + os.linesep )
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "use default arguments: " + str(self.instance.use_default_arguments) + os.linesep )
+        try:
+            from pygccxml import binary_parsers
+            self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "undecorated decl: " + binary_parsers.undecorate_decl(self.instance) + os.linesep )
+        except:
+            pass
+
+    def visit_member_function( self ):
+        super( decl_wrapper_printer_t, self ).visit_member_function()
+        self.print_calldef_wrapper()
+
+    def visit_constructor( self ):
+        super( decl_wrapper_printer_t, self ).visit_constructor()
+        self.print_calldef_wrapper()
+
+    def visit_destructor( self ):
+        super( decl_wrapper_printer_t, self ).visit_destructor()
+        self.print_calldef_wrapper()
+
+    def visit_member_operator( self ):
+        super( decl_wrapper_printer_t, self ).visit_member_operator()
+        self.print_calldef_wrapper()
+
+    def visit_casting_operator( self ):
+        super( decl_wrapper_printer_t, self ).visit_casting_operator()
+        self.print_calldef_wrapper()
+
+    def visit_free_function( self ):
+        super( decl_wrapper_printer_t, self ).visit_free_function()
+        self.print_calldef_wrapper()
+
+    def visit_free_operator( self ):
+        super( decl_wrapper_printer_t, self ).visit_free_operator()
+        self.print_calldef_wrapper()
+
+    def visit_class_declaration(self ):
+        super( decl_wrapper_printer_t, self ).visit_class_declaration()
+
+    def visit_class(self ):
+        super( decl_wrapper_printer_t, self ).visit_class()
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "expose using scope: " + str(self.instance.always_expose_using_scope) + os.linesep )
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "redefine operators: " + str(self.instance.redefine_operators) + os.linesep )
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "held type: " + str(self.instance.held_type) + os.linesep )
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "use noncopyable: " + str(self.instance.noncopyable) + os.linesep )
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "class wrapper alias: " + str(self.instance.wrapper_alias) + os.linesep )
+
+    def visit_enumeration(self):
+        super( decl_wrapper_printer_t, self ).visit_enumeration()
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "enumeration value aliases: " + str(self.instance.value_aliases) + os.linesep )
+        self.writer(  ' ' * (self.level+1) * self.INDENT_SIZE
+                      + "enumeration export values: " + str(self.instance.export_values) + os.linesep )
+
+    def visit_namespace(self ):
+        super( decl_wrapper_printer_t, self ).visit_namespace()
+
+    def visit_typedef(self ):
+        super( decl_wrapper_printer_t, self ).visit_typedef()
+
+    def visit_variable(self ):
+        super( decl_wrapper_printer_t, self ).visit_variable()
+
+def print_declarations( decls, detailed=True, recursive=True, writer=sys.stdout.write ):
+    """
+    print declarations tree
+
+    :param decls: could be single :class:`pygccxml.declarations.declaration_t` object or list of them
+    """
+    prn = decl_wrapper_printer_t(0, detailed, recursive, writer)
+    if type(decls) is not list:
+       decls = [decls]
+    for d in decls:
+       prn.level = 0
+       prn.instance = d
+       declarations.apply_visitor(prn, d)
diff --git a/pyplusplus/decl_wrappers/doc_extractor.py b/pyplusplus/decl_wrappers/doc_extractor.py
new file mode 100644
index 0000000..a2af16c
--- /dev/null
+++ b/pyplusplus/decl_wrappers/doc_extractor.py
@@ -0,0 +1,45 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 documentation extractor class interface"""
+
+import re
+
+class doc_extractor_i(object):
+    """defines documentation extractor interface"""
+
+    __escape_re = re.compile (r'((\\x[a-f0-9][a-f0-9])|(\\*"))', re.I)
+
+    def __init__( self, encoding='ascii' ):
+        object.__init__( self )
+        self.encoding = encoding
+
+    def extract( self, decl ):
+        """returns documentation text for the declaration
+
+        This function should be implemented in derived class.
+
+        Using decl.location.file_name and decl.location.line variables you can
+        find out the location of declaration within source file
+        """
+        raise NotImplementedError()
+
+    def __call__( self, decl ):
+        decl_doc = self.extract( decl )
+        return self.escape_doc( decl_doc )
+
+    @staticmethod
+    def escape_doc( doc ):
+        """converts a text to be valid C++ string literals"""
+        def replace_escape(m):
+            g = m.group(1)
+            if g.startswith ('\\x'):
+                return g + '""'
+            elif g == '"':
+                return '\\"'
+            else:
+                return g
+        return '"%s"' % doc_extractor_i.__escape_re.sub( replace_escape, repr(doc)[1:-1] )
+
diff --git a/pyplusplus/decl_wrappers/enumeration_wrapper.py b/pyplusplus/decl_wrappers/enumeration_wrapper.py
new file mode 100644
index 0000000..6dd359a
--- /dev/null
+++ b/pyplusplus/decl_wrappers/enumeration_wrapper.py
@@ -0,0 +1,82 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 class that configure enumeration declaration exposing"""
+
+from . import decl_wrapper
+from pyplusplus import messages
+from pygccxml import declarations
+
+class enumeration_t(decl_wrapper.decl_wrapper_t, declarations.enumeration_t):
+    """defines a set of properties, that will instruct `Py++` how to expose the enumeration
+
+    By default, `Py++` will export all enumeration values.
+    """
+    def __init__(self, *arguments, **keywords):
+        declarations.enumeration_t.__init__(self, *arguments, **keywords )
+        decl_wrapper.decl_wrapper_t.__init__( self )
+
+        # A dict with new names for particular enumeration values
+        # Key: Original name as it appears in the C++ source file
+        # Value: New name as it should appear in the Python bindings
+        self._value_aliases = {}
+
+        # A list of enumeration names (C++ names, not aliases!) that should be
+        # exported.
+        # By default, export all values
+        self._export_values = None
+
+    def _get_value_aliases(self):
+        return self._value_aliases
+    def _set_value_aliases(self, value_aliases):
+        self._value_aliases = value_aliases
+    value_aliases = property( _get_value_aliases, _set_value_aliases, doc=
+                              """A translation table from C++ enumeration value names to desired Python names.
+                              @type: dict""")
+
+    def _get_export_values(self):
+        if self._export_values is None:
+            return [x[0] for x in self.values]
+        else:
+            return self._export_values
+    def _set_export_values(self, export_values):
+        self._export_values = export_values
+    export_values = property( _get_export_values, _set_export_values, doc=
+                              """A list of (C++) enumeration names that should be exported.
+                              @type: list""")
+
+    def _get_no_export_values(self):
+        all_values = [x[0] for x in self.values]
+        export_values = self.export_values
+        res = []
+        for name in all_values:
+            if name not in export_values:
+                res.append(name)
+        return res
+
+    def _set_no_export_values(self, no_export_values):
+        all_values = [x[0] for x in self.values]
+        export_values = []
+        for name in all_values:
+            if name not in no_export_values:
+                export_values.append(name)
+        self.export_values = export_values
+
+    no_export_values = property( _get_no_export_values, _set_export_values, doc=
+                              """A list of (C++) enumeration names that should not be exported.
+                              @type: list""")
+
+    def _readme_impl( self ):
+        msgs = []
+        if self.name:
+            name2value = self.get_name2value_dict()
+            if len( set( name2value.keys() ) ) != len( set( name2value.values() ) ):
+                msgs.append( messages.W1032 )
+        return msgs
+
+    def _exportable_impl( self ):
+        if not self.parent.name:
+            return messages.W1057 % str( self )
+        return ''
diff --git a/pyplusplus/decl_wrappers/indexing_suite1.py b/pyplusplus/decl_wrappers/indexing_suite1.py
new file mode 100644
index 0000000..61d2aab
--- /dev/null
+++ b/pyplusplus/decl_wrappers/indexing_suite1.py
@@ -0,0 +1,82 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 interface for exposing STD containers, using current version of indexing suite"""
+
+from pygccxml import declarations
+from . import python_traits
+#NoProxy
+#By default indexed elements have Python reference semantics and are returned by
+#proxy. This can be disabled by supplying true in the NoProxy template parameter.
+#We want to disable NoProxy when we deal with immutable objects.
+
+containers = {
+    'vector' : "boost/python/suite/indexing/vector_indexing_suite.hpp"
+    , 'map' : "boost/python/suite/indexing/map_indexing_suite.hpp"
+}
+
+
+class indexing_suite1_t( object ):
+    """
+    This class helps user to export STD containers, using built-in Boost.Python
+    indexing suite.
+    """
+
+    def __init__( self, container_class, no_proxy=None, derived_policies=None ):
+        object.__init__( self )
+        self.__no_proxy = no_proxy
+        self.__derived_policies = derived_policies
+        self.__container_class = container_class
+        self.__include_files = None
+        self.__element_type = None
+
+    @property
+    def container_class( self ):
+        """reference to the parent( STD container ) class"""
+        return self.__container_class
+
+    @property
+    def element_type(self):
+        """reference to container value_type( mapped_type ) type"""
+        if self.__element_type is None:
+            self.__element_type = self.container_class.container_traits.element_type( self.container_class )
+        return self.__element_type
+        
+    @property
+    def container_traits( self ):
+        "reference to container traits. See pygccxml documentation for more information."
+        return self.container_class.container_traits
+    
+    def _get_no_proxy( self ):
+        if self.__no_proxy is None:
+            self.__no_proxy = python_traits.is_immutable( self.element_type )
+        return self.__no_proxy
+
+    def _set_no_proxy( self, no_proxy ):
+        self.__no_proxy = no_proxy
+    no_proxy = property( _get_no_proxy, _set_no_proxy
+                         , doc="NoProxy value, the initial value depends on container"
+                              +" element_type( mapped_type ) type. In most cases, "
+                              +"`Py++` is able to guess this value, right. If you are not "
+                              +"lucky, you will have to set the property value.")
+
+    def _get_derived_policies( self ):
+        return self.__derived_policies
+    def _set_derived_policies( self, derived_policies ):
+        self.__derived_policies = derived_policies
+    derived_policies = property( _get_derived_policies, _set_derived_policies
+                                 , doc="This proprty contains DerivedPolicies string. "
+                                      +"It will be added as is to the generated code.")
+
+    @property
+    def include_files( self ):
+        """Return list of header files to be included in generated code"""
+        if self.__include_files is None:
+            name = self.container_class.name.split( '<' )[0]
+            if name not in containers:
+                self.__include_files = [] #not supported
+            else:
+                self.__include_files = [containers[ name ]]
+        return self.__include_files
diff --git a/pyplusplus/decl_wrappers/indexing_suite2.py b/pyplusplus/decl_wrappers/indexing_suite2.py
new file mode 100644
index 0000000..6d941ce
--- /dev/null
+++ b/pyplusplus/decl_wrappers/indexing_suite2.py
@@ -0,0 +1,180 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 interface for exposing STD containers, using next version of indexing suite"""
+
+from pygccxml import declarations
+from . import call_policies
+"""
+method_len
+method_iter
+method_getitem
+method_getitem_slice
+method_index
+method_contains
+method_count
+method_has_key
+method_setitem
+method_setitem_slice
+method_delitem
+method_delitem_slice
+method_reverse
+method_append
+method_insert
+method_extend
+method_sort
+
+slice_methods = method_getitem_slice | method_setitem_slice | method_delitem_slice
+search_methods = method_index | method_contains | method_count | method_has_key
+reorder_methods = method_sort | method_reverse
+insert_methods = method_append | method_insert | method_extend
+"""
+
+
+containers = {
+      'vector' : "indexing_suite/vector.hpp"
+      , 'deque' : "indexing_suite/deque.hpp"
+      , 'list' : "indexing_suite/list.hpp"
+      , 'map' : "indexing_suite/map.hpp"
+      , 'multimap' : "indexing_suite/multimap.hpp"
+      , 'hash_map' : "indexing_suite/map.hpp"
+      #, 'hash_multimap' : "indexing_suite/multimap.hpp"
+      , 'set' : "indexing_suite/set.hpp"
+      , 'hash_set' : "indexing_suite/set.hpp"
+    #TODO: queue, priority, stack, multiset, hash_multiset
+}
+
+class indexing_suite2_t( object ):
+    """
+    This class helps user to export STD containers, using Boost.Python
+    indexing suite V2.
+    """
+
+    #List of method names. These method could be excluded from being exposed.
+    METHODS = ( 'len', 'iter', 'getitem', 'getitem_slice', 'index', 'contains'
+                , 'count', 'has_key', 'setitem', 'setitem_slice', 'delitem'
+                , 'delitem_slice', 'reverse', 'append', 'insert', 'extend', 'sort' )
+
+    #Dictionary of method group names. These method groups could be excluded from
+    #being exposed. Dictionary key is a method group name. Dictionary value is a
+    #list of all methods, which belong to the group.
+    METHOD_GROUPS = {
+        'slice' : ( 'method_getitem_slice', 'method_setitem_slice', 'method_delitem_slice' )
+        , 'search' : ( 'method_index', 'method_contains', 'method_count', 'method_has_key' )
+        , 'reorder' : ( 'method_sort', 'method_reverse' )
+        , 'insert' : ( 'method_append', 'method_insert', 'method_extend' )
+    }
+
+    def __init__( self, container_class ):
+        object.__init__( self )
+        self.__call_policies = None
+        self.__container_class = container_class
+        self._disabled_methods = set()
+        self._disabled_groups = set()
+        self._default_applied = False
+        self._use_container_suite = False
+        self.__include_files = None
+
+    def get_use_container_suite( self ):
+        return self._use_container_suite
+    def set_use_container_suite( self, value ):
+        self._use_container_suite = value
+    use_container_suite = property( get_use_container_suite, set_use_container_suite )
+
+    @property
+    def container_class( self ):
+        """reference to the parent( STD container ) class"""
+        return self.__container_class
+
+    @property
+    def element_type(self):
+        """reference to container value_type( mapped_type ) type"""
+        return self.container_traits.element_type( self.container_class )
+
+    @property
+    def container_traits( self ):
+        "reference to container traits. See pygccxml documentation for more information."
+        return self.container_class.container_traits
+
+    def _get_call_policies( self ):
+        if self.__call_policies:
+            return self.__call_policies
+        if self.container_traits not in declarations.sequential_container_traits:
+            #TODO: find out why map's don't like the policy
+            return self.__call_policies
+        element_type = None
+        try:
+            element_type = self.element_type
+        except:
+            return
+        if declarations.is_const( element_type ):
+            element_type = declarations.remove_const( element_type )
+        if declarations.is_pointer( element_type ):
+            self.__call_policies = call_policies.return_internal_reference()
+        return self.__call_policies
+
+    def _set_call_policies( self, call_policies ):
+        self.__call_policies = call_policies
+    call_policies = property( _get_call_policies, _set_call_policies
+                              , "Call policies, that should be used by Boost.Python container classes.")
+
+    def __apply_defaults_if_needed( self ):
+        if self._default_applied:
+            return
+        self._default_applied = True
+        #find out what operators are supported by element_type and
+        #then configure the _disable_[methods|groups]
+        pass
+
+    def disable_method( self, method_name ):
+        """Disable method from being exposed"""
+        assert method_name in self.METHODS
+        self.__apply_defaults_if_needed()
+        self._disabled_methods.add( method_name )
+
+    def enable_method( self, method_name ):
+        """Enable method to be exposed"""
+        assert method_name in self.METHODS
+        self.__apply_defaults_if_needed()
+        if method_name in self._disabled_methods:
+            self._disabled_methods.remove( method_name )
+
+    def _get_disabled_methods( self ):
+        self.__apply_defaults_if_needed()
+        return self._disabled_methods
+    disable_methods = property( _get_disabled_methods
+                                , doc="list of all disabled methods")
+
+    def disable_methods_group( self, group_name ):
+        """Disable methods group from being exposed"""
+        assert group_name in self.METHOD_GROUPS
+        self.__apply_defaults_if_needed()
+        self._disabled_groups.add( group_name )
+
+    def enable_methods_group( self, group_name ):
+        """Enable methods group to be exposed"""
+        assert group_name in self.METHOD_GROUPS
+        self.__apply_defaults_if_needed()
+        if group_name in self._disabled_groups:
+            self._disabled_groups.remove( group_name )
+
+    def _get_disabled_methods_groups( self ):
+        self.__apply_defaults_if_needed()
+        return self._disabled_groups
+    disabled_methods_groups = property( _get_disabled_methods_groups
+                                        , doc="list of all disabled methods group")
+
+    @property
+    def include_files( self ):
+        """Return list of header files to be included in generated code"""
+        if self.__include_files is None:
+            name = self.container_class.name.split( '<' )[0]
+            if name not in containers:
+                self.__include_files = [] #not supported
+            else:
+                #impl details: the order of header files is IMPORTANT
+                self.__include_files = [ "indexing_suite/container_suite.hpp"
+                                         , containers[ name ] ]
+        return self.__include_files
diff --git a/pyplusplus/decl_wrappers/namespace_wrapper.py b/pyplusplus/decl_wrappers/namespace_wrapper.py
new file mode 100644
index 0000000..f296494
--- /dev/null
+++ b/pyplusplus/decl_wrappers/namespace_wrapper.py
@@ -0,0 +1,20 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 class that configure namespace exposing."""
+
+from . import scopedef_wrapper
+from pygccxml import declarations
+
+class namespace_t(scopedef_wrapper.scopedef_t, declarations.namespace_t):
+    """defines a set of properties, that will instruct `Py++` how to expose the namespace
+
+    Today, `Py++` does not exposes namespaces, but this could be changed in future.
+    The future direction I see here, is to expose every namespace as sub-module
+    of the main one.
+    """
+    def __init__(self, *arguments, **keywords):
+        scopedef_wrapper.scopedef_t.__init__( self )
+        declarations.namespace_t.__init__(self, *arguments, **keywords )
diff --git a/pyplusplus/decl_wrappers/properties.py b/pyplusplus/decl_wrappers/properties.py
new file mode 100644
index 0000000..9be8fd6
--- /dev/null
+++ b/pyplusplus/decl_wrappers/properties.py
@@ -0,0 +1,346 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 property_t helper class"
+
+from . import algorithm
+from pyplusplus import messages
+from pyplusplus import _logging_
+from pygccxml import declarations
+
+class property_t( object ):
+    """This class describes a "property". 
+    
+    It keeps
+    """
+    def __init__( self, name, fget, fset=None, doc=None, is_static=False ):
+        self._name = name
+        self._fget = fget
+        self._fset = fset
+        self._doc = doc
+        self._is_static = is_static
+
+    @property
+    def name( self ):
+        return self._name
+
+    @property
+    def fget( self ):
+        return self._fget
+
+    @property
+    def fset( self ):
+        return self._fset
+
+    def _get_doc( self ):
+        if None is self._doc:            
+            doc = ['get']
+            if self.fset:
+                doc.append( r'\\set' )
+            doc.append( r' property, built on top of \"%s\"' % self.fget )
+            if self.fset:
+                doc.append( r' and \"%s\"' % self.fset )
+            self._doc = '"%s"' % ''.join( doc )
+        return self._doc
+    def _set_doc( self, doc ):
+        self._doc = doc
+    doc = property( _get_doc, _set_doc )
+
+    @property
+    def is_static( self ):
+        return self._is_static
+
+    def __str__( self ):
+        desc = []
+        desc.append( 'fget=%s' % declarations.full_name( self.fget ) )
+        if self.fset:
+            desc.append( ', ' )
+            desc.append( 'fset=%s' % declarations.full_name( self.fset ) )
+        return 'property "%s"[%s]' % ( self.name, ''.join( desc ) )
+
+
+class property_recognizer_i(object):
+    def __init__( self ):
+        object.__init__( self )
+
+    def create_property( self, fget, fset ):
+        raise NotImplementedError()
+
+    def create_read_only_property( sefl, fget ):
+        raise NotImplementedError()
+
+    def is_accessor( self, mem_fun ):
+        if mem_fun.ignore:
+            return False
+        if mem_fun.access_type != 'public':
+            return False
+        if mem_fun.has_static:
+            return False #TODO: should be supported
+        if mem_fun.virtuality == declarations.VIRTUALITY_TYPES.PURE_VIRTUAL:
+            return False
+        return True
+
+    def is_getter( self, mem_fun ):
+        if mem_fun.arguments:
+            return False 
+        if declarations.is_void( mem_fun.return_type ):
+            return False
+        if not mem_fun.has_const:
+            return False
+        if mem_fun.overloads:
+            return False
+        return True
+
+    def is_setter( self, mem_fun ):
+        if len( mem_fun.arguments ) != 1:
+            return False
+        if not declarations.is_void( mem_fun.return_type ):
+            return False
+        if mem_fun.has_const:
+            return False
+        if mem_fun.overloads:
+            return False            
+        return True
+
+    def __get_accessors( self, mem_funs ):
+        getters = []
+        setters = []
+        for mem_fun in mem_funs:
+            if not self.is_accessor( mem_fun ):
+                continue 
+            elif self.is_getter( mem_fun ):
+                getters.append( mem_fun )
+            elif self.is_setter( mem_fun ):
+                setters.append( mem_fun )
+            else:
+                continue
+        return ( getters, setters )
+
+    def class_accessors( self, cls ):
+        return self.__get_accessors( cls.mem_funs( recursive=False, allow_empty=True ) ) 
+    
+    def base_classes( self, cls ):
+        base_clss = []
+        for hierarchy_info in cls.recursive_bases:
+            if hierarchy_info.related_class.ignore: #don't scan excluded classes
+                continue
+            if 'public' != hierarchy_info.access_type: #don't scan non public hierarchy
+                continue
+            base_clss.append( hierarchy_info.related_class )
+        return base_clss
+    
+    def inherited_accessors( self, cls ):
+        mem_funs = []
+        for base_cls in self.base_classes( cls ):
+            mem_funs.extend( base_cls.mem_funs( recursive=False, allow_empty=True ) )
+        return self.__get_accessors( mem_funs )
+
+
+class name_based_recognizer_t( property_recognizer_i ):
+    def __init__( self ):
+        property_recognizer_i.__init__( self )
+        
+    def prefixes( self ):
+        return [  (  'is', 'set' )
+                , ( 'get', 'set' )
+                , ( 'has', 'set' )
+                , (    '', 'set' ) ]
+
+    def check_prefix( self, name, prefix ):
+        if not name.startswith( prefix ):
+            return False
+        if len( name ) < len( prefix ):
+            return False
+        return True
+
+    def check_name_compatibility( self, gname, sname, gprefix, sprefix ):
+        if not self.check_prefix( gname, gprefix ):
+            return False
+        if not self.check_prefix( sname, sprefix ):
+            return False
+        if gname[ len( gprefix ): ] != sname[ len( sprefix ): ]:
+            return False
+        return True
+
+    def make_std_convention( self, gprefix, sprefix ):
+        convert = lambda x: x + '_'
+        if gprefix:
+            gprefix = convert( gprefix )
+        return ( gprefix, convert( sprefix ) )
+
+    def make_u_camel_convention( self, gprefix, sprefix ):
+        convert = lambda x: x[0].upper() + x[1:]
+        if gprefix:
+            gprefix = convert( gprefix )
+        return ( gprefix, convert( sprefix ) )
+
+    def make_l_camel_convention( self, gprefix, sprefix ):
+        convert = lambda x: x[0].lower() + x[1:]
+        if gprefix:
+            gprefix = convert( gprefix )
+        return ( gprefix, convert( sprefix ) )
+
+    def find_out_prefixes( self, gname, sname ):
+        convention_makers = [
+            self.make_std_convention #longest first
+          , self.make_u_camel_convention
+          , self.make_l_camel_convention ]
+
+        for convention_maker in convention_makers:
+            for g, s in self.prefixes():
+                gc, sc = convention_maker( g, s )
+                if self.check_name_compatibility( gname, sname, gc, sc ):
+                    return ( gc, sc )
+        return None
+
+    def find_out_ro_prefixes( self, gname ):
+        convention_makers = [
+            self.make_std_convention #longest first
+          , self.make_u_camel_convention
+          , self.make_l_camel_convention ]
+
+        for convention_maker in convention_makers:
+            for g, unused in self.prefixes():
+                if not g:
+                    continue
+                gc, unused = convention_maker( g, 'set' )
+                if self.check_prefix( gname, gc ):
+                    return gc
+        return ''
+
+    def check_type_compatibility( self, fget, fset ):
+        #algorithms allows "const" differences between types
+        t1 = fget.return_type
+        t2 = fset.arguments[0].type
+
+        if declarations.is_same( t1, t2 ):
+            return True
+        elif declarations.is_pointer( t1 ) and declarations.is_pointer( t2 ):
+            t1 = declarations.remove_cv( declarations.remove_pointer( t1 ) )
+            t2 = declarations.remove_cv( declarations.remove_pointer( t2 ) )
+            return declarations.is_same( t1, t2 )
+        elif declarations.is_reference( t1 ) and declarations.is_reference( t2 ):
+            t1 = declarations.remove_cv( declarations.remove_reference( t1 ) )
+            t2 = declarations.remove_cv( declarations.remove_reference( t2 ) )
+            return declarations.is_same( t1, t2 )
+        else:
+            return False
+
+    def find_out_property_name( self, fget, prefix ):
+        if fget.name == prefix:
+            #use class name for property name
+            return algorithm.create_valid_name( fget.parent.name )
+        else:
+            return fget.name[len(prefix):]
+
+    def create_property( self, fget, fset ):
+        if not self.check_type_compatibility( fget, fset ):
+            return None
+        found = self.find_out_prefixes( fget.name, fset.name )
+        if not found:
+            return None
+        return property_t( self.find_out_property_name( fget, found[0] ), fget, fset )
+
+    def create_read_only_property( self, fget ):
+        found = self.find_out_ro_prefixes( fget.name )
+        if None is found:
+            return None
+        else:
+            return property_t( self.find_out_property_name( fget, found ), fget )
+
+class properties_finder_t:
+    def __init__( self, cls, recognizer=None, exclude_accessors=False ):
+        self.cls = cls
+        if None is recognizer:
+            recognizer = name_based_recognizer_t()
+        self.recognizer = recognizer
+        self.exclude_accessors = exclude_accessors
+        self.getters, self.setters = recognizer.class_accessors( cls )
+        self.inherited_getters, self.inherited_setters = recognizer.inherited_accessors( cls )
+
+    def __report_illegal_property( self, property_ ):
+        logger = _logging_.loggers.declarations
+        if not messages.filter_disabled_msgs([messages.W1041], property_.fget.parent.disabled_messages ):
+            return #user disabled property warning        
+        logger.warning( "%s;%s" % ( property_.fget.parent, messages.W1041 % property_ ) )
+        
+    def __is_legal_property( self, property_ ):
+        """property is legal if it does not hide other declarations"""
+        def is_relevant( decl ):
+            irrelevant_classes = ( declarations.constructor_t
+                                   , declarations.destructor_t
+                                   , declarations.typedef_t )
+                                    
+            if isinstance( decl, irrelevant_classes ):
+                return False
+            if decl.ignore:
+                return False
+            if decl.alias != property_.name:
+                return False
+            if self.exclude_accessors \
+               and ( decl is property_.fget or decl is property_.fset ):
+                return False
+            return True
+
+        relevant_decls = []
+        relevant_classes = [self.cls] + self.recognizer.base_classes( self.cls )
+        for cls in relevant_classes:           
+            relevant_decls.extend( cls.decls( is_relevant, recursive=False, allow_empty=True ) )
+        return not bool( relevant_decls )
+
+    def find_properties( self, getters, setters, used_getters, used_setters ):
+        properties = []
+        for fget in getters:
+            if fget in used_getters:
+                continue
+            for fset in setters:
+                if fset in used_setters:
+                    continue
+                property_ = self.recognizer.create_property( fget, fset )
+                if property_:
+                    if self.__is_legal_property( property_ ):
+                        used_getters.add( fget )
+                        used_setters.add( fset )
+                        properties.append( property_ )
+                        break
+                    else:
+                        self.__report_illegal_property( property_ )
+        return properties
+        
+    def __call__( self ):
+        used_getters = set()
+        used_setters = set()
+        properties = []
+        #this get, this set
+        properties.extend(
+            self.find_properties( self.getters, self.setters, used_getters, used_setters ) )
+        #this get, base set
+        properties.extend(
+            self.find_properties( self.getters, self.inherited_setters, used_getters, used_setters ) )
+        #base get, this set
+        properties.extend(
+            self.find_properties( self.inherited_getters, self.setters, used_getters, used_setters ) )
+
+        for fget in self.getters:
+            if fget in used_getters:
+                continue
+            property_ = self.recognizer.create_read_only_property( fget )
+            if property_:
+                if self.__is_legal_property( property_ ):
+                    used_getters.add( fget )
+                    properties.append( property_ )
+                else:
+                    self.__report_illegal_property( property_ )
+                    
+        if self.exclude_accessors:
+            for accessor in used_getters: accessor.exclude()
+            for accessor in used_setters: accessor.exclude()
+
+        return properties
+
+def find_properties( cls, recognizer=None, exclude_accessors=False ):
+    pf = properties_finder_t( cls, recognizer, exclude_accessors )
+    properties = pf()
+    return properties
diff --git a/pyplusplus/decl_wrappers/python_traits.py b/pyplusplus/decl_wrappers/python_traits.py
new file mode 100644
index 0000000..2ad7d04
--- /dev/null
+++ b/pyplusplus/decl_wrappers/python_traits.py
@@ -0,0 +1,35 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 few "type traits" functions related to C++ Python bindings"""
+
+from pygccxml import declarations
+
+def is_immutable( type_ ):
+    """returns True, if `type_` represents Python immutable type"""
+    return declarations.is_fundamental( type_ )      \
+           or declarations.is_enum( type_ )          \
+           or declarations.is_std_string( type_ )    \
+           or declarations.is_std_wstring( type_ )   \
+           or declarations.smart_pointer_traits.is_smart_pointer( type_ )
+           #todo is_complex, ...
+
+def call_traits( type_ ):
+    """http://boost.org/libs/utility/call_traits.htm"""
+    type_ = declarations.remove_alias( type_ )
+    if is_immutable( type_ ):
+        return "%s" #pass by value
+    elif declarations.is_reference( type_ ):
+        no_ref = declarations.remove_reference( type_ )
+        if is_immutable( no_ref ):
+            return "%s" #pass by value
+        else:
+            return "boost::ref(%s)" #pass by ref
+    elif declarations.is_pointer( type_ ) \
+         and not is_immutable( type_.base ) \
+         and not declarations.is_pointer( type_.base ):
+        return "boost::python::ptr(%s)" #pass by ptr
+    else:
+        return "%s" #pass by value
diff --git a/pyplusplus/decl_wrappers/scopedef_wrapper.py b/pyplusplus/decl_wrappers/scopedef_wrapper.py
new file mode 100644
index 0000000..594fca8
--- /dev/null
+++ b/pyplusplus/decl_wrappers/scopedef_wrapper.py
@@ -0,0 +1,41 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 base class for :class:`decl_wrappers.class_t` and :class:`decl_wrappers.namespace_t` classes"""
+
+from . import decl_wrapper
+from pyplusplus import messages
+
+class scopedef_t(decl_wrapper.decl_wrapper_t):
+    """base class for :class:`decl_wrappers.class_t` and :class:`decl_wrappers.namespace_t` classes
+
+    It provides convenience functionality: include\\exclude all internal declarations
+    (not) to be exported.
+    """
+
+    def __init__(self):
+        decl_wrapper.decl_wrapper_t.__init__( self )
+
+    def exclude( self, compilation_errors=False ):
+        """exclude "self" and child declarations from being exposed.
+        
+        If compile_time_errors is True, than only declarations, which will cause
+        compilation error will be excluded
+        """
+        if False == compilation_errors:
+            #exclude all unconditionaly
+            self.ignore = True
+            for decl in self.declarations: decl.exclude()
+        else:
+            if [msg for msg in self.readme() if isinstance( msg, messages.compilation_error )]:
+                self.exclude()
+            else:
+                for decl in self.declarations: decl.exclude(compilation_errors=True)
+
+    def include( self, already_exposed=False  ):
+        """Include "self" and child declarations to be exposed."""
+        self.ignore = False
+        self.already_exposed = already_exposed
+        for decl in self.declarations: decl.include(already_exposed)
\ No newline at end of file
diff --git a/pyplusplus/decl_wrappers/typedef_wrapper.py b/pyplusplus/decl_wrappers/typedef_wrapper.py
new file mode 100644
index 0000000..1d985f2
--- /dev/null
+++ b/pyplusplus/decl_wrappers/typedef_wrapper.py
@@ -0,0 +1,32 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 class that configure typedef exposing"""
+
+from pygccxml import declarations
+from . import decl_wrapper
+
+class typedef_t(decl_wrapper.decl_wrapper_t, declarations.typedef_t):
+    """defines a set of properties, that will instruct `Py++` how to expose the typedef
+
+    Today, `Py++` does not exposes typedefs, but this could be changed in future.
+    In C++, it is a common practices to give an aliases to the class. May be in
+    future, `Py++` will generate code, that will register all those aliases.
+    """
+
+    def __init__(self, *arguments, **keywords):
+        declarations.typedef_t.__init__(self, *arguments, **keywords )
+        decl_wrapper.decl_wrapper_t.__init__( self )
+        self.__is_directive = None
+
+    @property
+    def is_directive( self ):
+        if None is self.__is_directive:
+            dpath = declarations.declaration_path( self )
+            if len( dpath ) != 4:
+                self.__is_directive = False
+            else:
+                self.__is_directive = dpath[:3] == ['::', 'pyplusplus', 'aliases']
+        return self.__is_directive
diff --git a/pyplusplus/decl_wrappers/user_text.py b/pyplusplus/decl_wrappers/user_text.py
new file mode 100644
index 0000000..804631b
--- /dev/null
+++ b/pyplusplus/decl_wrappers/user_text.py
@@ -0,0 +1,21 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 few classes, used by :class:`decl_wrapper.class_t` class to keep user code"
+
+class user_text_t(object):
+    "keeps reference to user code that belongs to declaration section"
+    def __init__( self, text ):
+        object.__init__( self )
+        self.text = text
+
+class class_user_text_t( user_text_t ):
+    "keeps reference to user code that belongs to registration section"
+    def __init__( self, text, works_on_instance=True ):
+        """works_on_instance: If true, the custom code can be applied directly to obj inst.
+           Ex: ObjInst."CustomCode"
+        """
+        user_text_t.__init__( self, text )
+        self.works_on_instance = works_on_instance
diff --git a/pyplusplus/decl_wrappers/variable_wrapper.py b/pyplusplus/decl_wrappers/variable_wrapper.py
new file mode 100644
index 0000000..077c10b
--- /dev/null
+++ b/pyplusplus/decl_wrappers/variable_wrapper.py
@@ -0,0 +1,239 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 class that configure global and member variable exposing"""
+
+from . import decl_wrapper
+from . import python_traits
+from . import call_policies
+from . import python_traits
+from pyplusplus import messages
+from pygccxml import declarations
+
+class variable_t(decl_wrapper.decl_wrapper_t, declarations.variable_t):
+    """defines a set of properties, that will instruct `Py++` how to expose the variable"""
+
+    def __init__(self, *arguments, **keywords):
+        declarations.variable_t.__init__(self, *arguments, **keywords )
+        decl_wrapper.decl_wrapper_t.__init__( self )
+        self._getter_call_policies = None
+        self._setter_call_policies = None
+        self._apply_smart_ptr_wa = False
+        self._is_read_only = None
+        self._use_make_functions = None
+        self._expose_address = None
+        self._expose_value = None
+
+    __call_policies_doc__ = \
+    """There are usecase, when exporting member variable forces `Py++` to
+    create accessors functions. Sometime, those functions requires call policies.
+    To be more specific: when you export member variable that has reference or
+    pointer type, you need to tell Boost.Python library how to manage object
+    life-time. In all cases, `Py++` will give reasonable default value. I am
+    sure, that there are use cases, when you will have to change it. You should
+    use this property to change it.
+    """
+
+    def get_getter_call_policies( self ):
+        if None is self._getter_call_policies:
+            if self.apply_smart_ptr_wa:
+                value_policy = ''
+                if self.is_read_only:
+                   value_policy = call_policies.copy_const_reference
+                else:
+                    value_policy = call_policies.copy_non_const_reference
+                self._getter_call_policies = call_policies.return_value_policy( value_policy )
+            elif self.use_make_functions:
+                self._getter_call_policies = call_policies.return_internal_reference()
+            else:
+                pass
+        return self._getter_call_policies
+    def set_getter_call_policies( self, call_policies ):
+        self._getter_call_policies = call_policies
+    getter_call_policies = property( get_getter_call_policies, set_getter_call_policies
+                                     , doc=__call_policies_doc__ )
+
+    def get_setter_call_policies( self ):
+        if None is self._getter_call_policies:
+            if self.apply_smart_ptr_wa or self.use_make_functions:
+                self._setter_call_policies = call_policies.default_call_policies()
+        return self._setter_call_policies
+    def set_setter_call_policies( self, call_policies ):
+        self._setter_call_policies = call_policies
+    setter_call_policies = property( get_setter_call_policies, set_setter_call_policies
+                                     , doc=__call_policies_doc__ )
+
+    __use_make_functions_doc__ = \
+    """
+    Generate code using `make_getter` and `make_setter` functions
+
+    Basically you don't need to use this, untill you have one of the following
+    use-cases:
+
+      * member variable is smart pointer - in this case Boost.Python has small
+        problem to expose it right. Using get/set functions is a work-around.
+
+      * member variable defined custom r-value converter - may be you don't know
+        but the conversion is applied only on functions arguments. So you need to
+        use make_getter/make_setter functions, allow users to enjoy from the conversion.
+
+    Setting :attr:`apply_smart_ptr_wa` and/or :attr:`use_make_functions` to "True"
+    will tell `Py++` to generate such code.
+    """
+
+    def get_apply_smart_ptr_wa( self ):
+        return self._apply_smart_ptr_wa
+    def set_apply_smart_ptr_wa( self, value):
+        self._apply_smart_ptr_wa = value
+    apply_smart_ptr_wa = property( get_apply_smart_ptr_wa, set_apply_smart_ptr_wa
+                                     , doc=__use_make_functions_doc__ )
+
+    def get_use_make_functions( self ):
+        return self._use_make_functions
+    def set_use_make_functions( self, value ):
+        self._use_make_functions = value
+    use_make_functions = property( get_use_make_functions, set_use_make_functions
+                                   , doc=__use_make_functions_doc__)
+
+    def __should_be_exposed_by_address_only(self):
+        type_ = declarations.remove_alias( self.type )
+        type_ = declarations.remove_const( type_ )
+        type_ = declarations.remove_pointer( type_ )
+        if not declarations.class_traits.is_my_case( type_ ):
+            return False
+        cls = declarations.class_traits.get_declaration( type_ )
+        if cls.class_type == declarations.CLASS_TYPES.UNION:
+            return True
+        elif not cls.name:
+            return True
+        else:
+            return False
+
+    __expose_address_doc__ = \
+    """There are some cases when Boost.Python doesn't provide a convenient way
+    to expose the variable to Python. For example:
+
+    double* x[10];
+    //or
+    char* buffer; //in case you want to modify the buffer in place
+
+    In this cases `Py++` doesn't help too. In these cases it is possible to expose
+    the actual address of the variable. After that, you can use built-in "ctypes"
+    package to edit the content of the variable.
+    """
+    def get_expose_address( self ):
+        if None is self._expose_address:
+            self._expose_address = self.__should_be_exposed_by_address_only()
+        return self._expose_address
+    def set_expose_address( self, value ):
+        self._expose_address = value
+    expose_address = property( get_expose_address, set_expose_address
+                               , doc= __expose_address_doc__ )
+
+    __expose_value_doc__ = \
+    """Boost.Python is not able to expose unions. Using ctypes module
+    it is possible to get access to the data stored in a variable, which
+    has some union type.
+
+    This property controls whether `Py++` should expose the variable value
+    or not. In case, this variable has type union, this property will be False.
+    """
+    def get_expose_value( self ):
+        if None is self._expose_value:
+            self._expose_value = not self.__should_be_exposed_by_address_only()
+        return self._expose_value
+    def set_expose_value( self, value ):
+        self._expose_value = value
+    expose_value = property( get_expose_value, set_expose_value
+                             , doc= __expose_value_doc__ )
+
+    def __find_out_is_read_only(self):
+        type_ = declarations.remove_alias( self.type )
+
+        if isinstance( type_, declarations.const_t ):
+            return True
+
+        if declarations.is_pointer( type_ ):
+            type_ = declarations.remove_pointer( type_ )
+
+        if declarations.is_reference( type_ ):
+            type_ = declarations.remove_reference( type_ )
+
+        if isinstance( type_, declarations.const_t ):
+            return True
+
+        if self.apply_smart_ptr_wa:
+            return False #all smart pointers has assign operator
+
+        if isinstance( type_, declarations.declarated_t ) \
+           and isinstance( type_.declaration, declarations.class_t ) \
+           and not declarations.has_public_assign( type_.declaration ):
+            return True
+        return False
+
+    def get_is_read_only( self ):
+        if None is self._is_read_only:
+            self._is_read_only = self.__find_out_is_read_only()
+        return self._is_read_only
+    def set_is_read_only( self, v ):
+        self._is_read_only = v
+    is_read_only = property( get_is_read_only, set_is_read_only )
+
+    def _exportable_impl( self ):
+        if not self.parent.name and self.is_wrapper_needed():
+            #return messages.W1057 % str( self )
+            return messages.W1058 % str( self )
+        if not self.name:
+            return messages.W1033
+        if self.bits == 0 and self.name == "":
+            return messages.W1034
+        if not self.expose_address:
+            if declarations.is_array( self.type ) and declarations.array_size( self.type ) < 1:
+                return messages.W1045
+        type_ = declarations.remove_alias( self.type )
+        type_ = declarations.remove_const( type_ )
+        if declarations.is_pointer( type_ ):
+            if not self.expose_address and self.type_qualifiers.has_static:
+                return messages.W1035
+            if not self.expose_address and python_traits.is_immutable( type_.base ):
+                return messages.W1036
+
+            units = declarations.decompose_type( type_ )
+            ptr2functions = [unit for unit in units if isinstance( unit, declarations.calldef_type_t )]
+            if ptr2functions:
+                return messages.W1037
+        type_ = declarations.remove_pointer( type_ )
+        if declarations.class_traits.is_my_case( type_ ):
+            cls = declarations.class_traits.get_declaration( type_ )
+            if not cls.name:
+                return messages.W1038
+            #if cls.class_type == declarations.CLASS_TYPES.UNION:
+            #    return messages.W1061 % ( str( self ), str( cls ) )
+        if isinstance( self.parent, declarations.class_t ):
+            if self.access_type != declarations.ACCESS_TYPES.PUBLIC:
+                return messages.W1039
+        if declarations.is_array( type_ ):
+            item_type = declarations.array_item_type( type_ )
+            if declarations.is_pointer( item_type ):
+                item_type_no_ptr = declarations.remove_pointer( item_type )
+                if python_traits.is_immutable( item_type_no_ptr ):
+                    return messages.W1056
+        return ''
+
+    def is_wrapper_needed(self):
+        """returns an explanation( list of str ) why wrapper is needed.
+
+        If wrapper is not needed than [] will be returned.
+        """
+        explanation = []
+        if self.bits:
+            explanation.append( messages.W1024 % self.name )
+        if declarations.is_pointer( self.type ):
+            explanation.append( messages.W1025 % self.name )
+        if declarations.is_reference( self.type ):
+            explanation.append( messages.W1026 % self.name )
+        if declarations.is_array( self.type ):
+            explanation.append( messages.W1027 % self.name)
+        return explanation
diff --git a/pyplusplus/file_writers/__init__.py b/pyplusplus/file_writers/__init__.py
new file mode 100644
index 0000000..841aaef
--- /dev/null
+++ b/pyplusplus/file_writers/__init__.py
@@ -0,0 +1,50 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 package contains few classes, which write :class:`code_creators.module_t` to files.
+"""
+
+import types
+from .writer import writer_t
+from .single_file import single_file_t
+from .multiple_files import multiple_files_t
+from .balanced_files import balanced_files_t
+from .class_multiple_files import class_multiple_files_t
+from .md5sum_repository import repository_t
+from .md5sum_repository import cached_repository_t
+
+def has_pypp_extenstion( fname ):
+    """returns True if file has `Py++` specific extension, otherwise False"""
+    for ext in ( multiple_files_t.HEADER_EXT, multiple_files_t.SOURCE_EXT ):
+        if fname.endswith( ext ):
+            return True
+    return False
+
+def write_file( data, file_path, encoding='ascii' ):
+    """writes data to file"""
+    if isinstance( data, str ):
+        writer_t.write_file( data, file_path, encoding=encoding )
+    else:
+        sf = single_file_t( data, file_path, encoding=encoding )
+        sf.write()
+
+def write_multiple_files( extmodule, dir_path, files_sum_repository=None, encoding='ascii' ):
+    """writes extmodule to multiple files"""
+    mfs = multiple_files_t( extmodule, dir_path, files_sum_repository=files_sum_repository, encoding=encoding )
+    mfs.write()
+    return mfs.written_files
+
+def write_balanced_files( extmodule, dir_path, number_of_buckets, files_sum_repository=None, encoding='ascii' ):
+    """writes extmodule to fixed number of multiple .cpp files"""
+    mfs = balanced_files_t( extmodule, dir_path, number_of_buckets, files_sum_repository=files_sum_repository, encoding=encoding )
+    mfs.write()
+    return mfs.written_files
+
+def write_class_multiple_files( extmodule, dir_path, huge_classes, files_sum_repository, encoding='ascii' ):
+    """writes extmodule to multiple files and splits huge classes to few source files"""
+    mfs = class_multiple_files_t( extmodule, dir_path, huge_classes, files_sum_repository=files_sum_repository, encoding=encoding )
+    mfs.write()
+    return mfs.written_files
diff --git a/pyplusplus/file_writers/balanced_files.py b/pyplusplus/file_writers/balanced_files.py
new file mode 100644
index 0000000..ccce66e
--- /dev/null
+++ b/pyplusplus/file_writers/balanced_files.py
@@ -0,0 +1,62 @@
+# Copyright 2004 Giovanni Beltrame
+# Distributed under the 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 a class that writes :class:`code_creators.bpmodule_t` to multiple files"""
+
+import os
+import math
+from . import multiple_files
+from pyplusplus import messages
+from pyplusplus import _logging_
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+from pyplusplus import code_creators
+from pyplusplus.utils import split_sequence
+
+#TODO: to add namespace_alias_t classes
+class balanced_files_t(multiple_files.multiple_files_t):
+    """
+    This class implements classic strategy of dividing classes to files
+    one class in one header + source files.
+    """
+    HEADER_EXT = '.pypp.hpp'
+    SOURCE_EXT = '.pypp.cpp'
+
+    def __init__( self
+                  , extmodule
+                  , directory_path
+                  , number_of_buckets
+                  , write_main=True
+                  , files_sum_repository=None
+                  , encoding='ascii'):
+        """Constructor.
+
+        :param extmodule: The root of a code creator tree
+        :type extmodule: :class:`code_creators.bpmodule_t`
+        :param directory_path: The output directory where the source files are written
+        :type directory_path: str
+
+        :param write_main:  if it is True, the class will write out a main file
+            that calls all the registration methods.
+        :type write_main: boolean
+        """
+        multiple_files.multiple_files_t.__init__( self, extmodule, directory_path, write_main, files_sum_repository, encoding)
+        self.number_of_buckets = number_of_buckets
+
+    def split_classes( self ):
+        class_creators = [x for x in self.extmodule.body.creators if isinstance(x, ( code_creators.class_t, code_creators.class_declaration_t ) )]
+
+        class_creators = [cc for cc in class_creators if not cc.declaration.already_exposed]
+
+        buckets = split_sequence(class_creators, len(class_creators)/self.number_of_buckets )
+        if len(buckets) > self.number_of_buckets:
+            buckets[len(buckets)-2] += buckets[len(buckets)-1]
+            buckets = buckets[:len(buckets)-1]
+
+        for index, bucket in enumerate( buckets ):
+            self.split_creators( bucket
+                                 , '_classes_%d' % (index+1)
+                                 , 'register_classes_%d' % (index+1)
+                                 , -1 )
diff --git a/pyplusplus/file_writers/class_multiple_files.py b/pyplusplus/file_writers/class_multiple_files.py
new file mode 100644
index 0000000..faf725e
--- /dev/null
+++ b/pyplusplus/file_writers/class_multiple_files.py
@@ -0,0 +1,264 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 a class that writes :class:`code_creators.bpmodule_t` to multiple files,
+the class also splits huge C++ classes to few source files.
+"""
+
+import os
+from . import writer
+from . import multiple_files
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+from pyplusplus import code_creators
+from pyplusplus import utils as pypp_utils
+
+class class_multiple_files_t(multiple_files.multiple_files_t):
+    """
+    This class will split code, generated for huge classes, to few files.
+    The following strategy will be used:
+
+      * New directory, named after a class alias, will be created.
+
+      * `Py++` will generate
+
+        * wrapper header - header that will contain code generated for class wrappers
+        * classes h/cpp - will contain registration code for internal classes
+        * `memfun` h/cpp - will contain registration code for member functions
+
+    The main class registration function will be placed in "%(class alias)s_main"
+    header and source files.
+    """
+
+    def __init__( self
+                  , extmodule
+                  , directory_path
+                  , huge_classes
+                  , num_of_functions_per_file=20
+                  , files_sum_repository=None
+                  , encoding='ascii'):
+        multiple_files.multiple_files_t.__init__(self
+                                                 , extmodule
+                                                 , directory_path
+                                                 , files_sum_repository=files_sum_repository
+                                                 , encoding=encoding)
+        self.huge_classes = huge_classes
+        self.num_of_functions_per_file = num_of_functions_per_file
+        self.internal_splitters = [
+            self.split_internal_enums
+            , self.split_internal_unnamed_enums
+            , self.split_internal_classes
+            , self.split_internal_memfuns
+            , self.split_internal_v_memfuns
+            , self.split_internal_pv_memfuns
+            , self.split_internal_protected_memfuns
+            #not supported yet
+            #, self.split_internal_member_variables
+        ]
+
+    def create_base_fname( self, class_creator, pattern ):
+        return "_%s__%s" % ( class_creator.alias, pattern )
+
+    def wrapper_header( self, class_creator ):
+        return self.create_base_fname( class_creator, 'wrapper' + self.HEADER_EXT )
+
+    def write_wrapper( self, class_creator ):
+        answer = []
+        if self.extmodule.license:
+            answer.append( self.extmodule.license.create() )
+
+        creators = [class_creator]
+        if class_creator.wrapper:
+            creators.append( class_creator.wrapper )
+
+        answer.append( self.create_include_code( creators ) )
+        answer.append( '' )
+        answer.append( self.create_namespaces_code( creators ) )
+
+        if class_creator.wrapper:
+            answer.append( class_creator.wrapper.create() )
+            class_creator.wrapper.create = lambda: ''
+
+        answer.append( '' )
+        answer.append( class_creator.create_typedef_code() )
+
+        code = os.linesep.join( answer )
+        wrapper_code = self.create_header( self.create_base_fname(class_creator, 'wrapper'), code )
+        header_file = os.path.join( self.directory_path, self.wrapper_header(class_creator) )
+        self.write_file( header_file, wrapper_code )
+
+    def split_internal_creators( self, class_creator, creators, pattern ):
+        file_path = os.path.join( self.directory_path
+                                  , self.create_base_fname( class_creator, pattern ) )
+
+        function_name = 'register_%(cls_alias)s_%(pattern)s' \
+                        % { 'cls_alias' : class_creator.alias, 'pattern' : pattern }
+
+        function_decl = 'void %(fname)s( %(exposer_type)s& %(var_name)s )' \
+                        % { 'fname' : function_name
+                            , 'exposer_type' : class_creator.typedef_name
+                            , 'var_name' : class_creator.class_var_name }
+
+        #writting header file
+        header_code = [ '#include "%s"' % self.wrapper_header( class_creator ) ]
+        header_code.append( '' )
+        header_code.append( function_decl + ';' )
+        self.write_file( file_path + self.HEADER_EXT
+                         , self.create_header( class_creator.alias + '_' + pattern
+                                               , os.linesep.join(header_code) ) )
+
+        #writting source file
+        source_code = []
+        if self.extmodule.license:
+            source_code.append( self.extmodule.license.create() )
+
+        #relevant header file
+        head_headers = [ self.create_base_fname( class_creator, pattern + self.HEADER_EXT ) ]
+        source_code.append( self.create_include_code( creators, tail_headers=head_headers ) )
+
+        source_code.append( '' )
+        source_code.append( self.create_namespaces_code( creators ) )
+
+        for creator in creators:
+            for decl_creator in self.associated_decl_creators( creator ):
+                source_code.append( '' )
+                source_code.append( decl_creator.create() )
+                if not isinstance( decl_creator, self.ref_count_creators ):
+                    decl_creator.create = lambda: ''
+
+        # Write the register() function...
+        source_code.append( '' )
+        source_code.append( '%s{' % function_decl )
+        source_code.append( '' )
+        for index, creator in enumerate( creators ):
+            source_code.append( code_creators.code_creator_t.indent( creator.create() ) )
+            source_code.append( '' )
+            if 0 == index:
+                creator.create = lambda: function_name + '(%s);' % class_creator.class_var_name
+            else:
+                creator.create = lambda: ''
+        source_code.append( '}' )
+        self.write_file( file_path + self.SOURCE_EXT, os.linesep.join( source_code ) )
+
+    def split_internal_enums( self, class_creator ):
+        """Write all enumerations into a separate .h/.cpp file.
+        """
+        enums_creators = [x for x in class_creator.creators if isinstance(x, code_creators.enum_t )]
+        self.split_internal_creators( class_creator, enums_creators, 'enums' )
+        return 'enums'
+
+    def split_internal_unnamed_enums( self, class_creator ):
+        creators = [x for x in class_creator.creators if isinstance(x, code_creators.unnamed_enum_t )]
+        self.split_internal_creators( class_creator, creators, 'unnamed_enums' )
+        return 'unnamed_enums'
+
+    def split_internal_calldefs( self, class_creator, calldef_types, pattern ):
+        creators = [x for x in class_creator.creators if isinstance(x, calldef_types )]
+        grouped_creators = pypp_utils.split_sequence( creators, self.num_of_functions_per_file )
+        if len( grouped_creators ) == 1:
+            for creator in creators:
+                creator.works_on_instance = False
+            self.split_internal_creators( class_creator, creators, pattern )
+            return pattern
+        else:
+            patterns = []
+            for index, group in enumerate( grouped_creators ):
+                pattern_tmp = pattern + str( index )
+                patterns.append( pattern_tmp )
+                for creator in group:
+                    creator.works_on_instance = False
+                self.split_internal_creators( class_creator, group, pattern_tmp )
+            return patterns
+
+    def split_internal_memfuns( self, class_creator ):
+        calldef_types = ( code_creators.mem_fun_t, code_creators.mem_fun_overloads_t )
+        return self.split_internal_calldefs( class_creator, calldef_types, 'memfuns' )
+
+    def split_internal_v_memfuns( self, class_creator ):
+        calldef_types = ( code_creators.mem_fun_v_t )
+        return self.split_internal_calldefs( class_creator, calldef_types, 'memfuns_virtual' )
+
+    def split_internal_pv_memfuns( self, class_creator ):
+        calldef_types = ( code_creators.mem_fun_pv_t )
+        return self.split_internal_calldefs( class_creator, calldef_types, 'memfuns_pvirtual' )
+
+    def split_internal_protected_memfuns( self, class_creator ):
+        calldef_types = (
+            code_creators.mem_fun_protected_t
+            , code_creators.mem_fun_protected_s_t
+            , code_creators.mem_fun_protected_v_t
+            , code_creators.mem_fun_protected_pv_t )
+        return self.split_internal_calldefs( class_creator, calldef_types, 'protected_memfuns' )
+
+    def split_internal_classes( self, class_creator ):
+        class_types = ( code_creators.class_t, code_creators.class_declaration_t )
+        creators = [x for x in class_creator.creators if isinstance(x, class_types )]
+        self.split_internal_creators( class_creator, creators, 'classes' )
+        return 'classes'
+
+    def split_internal_member_variables( self, class_creator ):
+        creators = [x for x in class_creator.creators if isinstance(x, code_creators.member_variable_base_t)]
+        self.split_internal_creators( class_creator, creators, 'memvars' )
+        return 'memvars'
+
+    def split_class_impl( self, class_creator):
+        if not class_creator.declaration in self.huge_classes:
+            return super( class_multiple_files_t, self ).split_class_impl( class_creator )
+
+        class_creator.declaration.always_expose_using_scope = True
+
+        function_name = 'register_%s_class' % class_creator.alias
+        file_path = os.path.join( self.directory_path, class_creator.alias )
+        # Write the .h file...
+        header_name = file_path + self.HEADER_EXT
+        self.write_file( header_name
+                         , self.create_header( class_creator.alias
+                                               , self.create_function_code( function_name ) ) )
+
+        self.write_wrapper( class_creator )
+
+        tail_headers = []
+        for splitter in self.internal_splitters:
+            pattern = splitter( class_creator )
+            if not pattern:
+                continue
+            if isinstance( pattern, str ):
+                tail_headers.append( self.create_base_fname( class_creator, pattern + self.HEADER_EXT ) )
+            else:
+                assert( isinstance( pattern, list ) )
+                for p in pattern:
+                    tail_headers.append( self.create_base_fname( class_creator, p + self.HEADER_EXT ) )
+        #writting source file
+        source_code = []
+        if self.extmodule.license:
+            source_code.append( self.extmodule.license.create() )
+
+        source_code.append( self.create_include_code( [class_creator], tail_headers=tail_headers ) )
+
+        source_code.append( '' )
+        source_code.append( self.create_namespaces_code( [class_creator] ) )
+
+        for creator in class_creator.associated_decl_creators:
+            source_code.append( '' )
+            source_code.append( creator.create() )
+            if not isinstance( creator, self.ref_count_creators ):
+                creator.create = lambda: ''
+
+        # Write the register() function...
+        source_code.append( '' )
+        source_code.append( 'void %s(){' % function_name )
+        source_code.append( '' )
+        source_code.append( class_creator.create() )
+        source_code.append( '' )
+        source_code.append( '}' )
+        self.write_file( file_path + self.SOURCE_EXT, os.linesep.join( source_code ) )
+
+        # Replace the create() method so that only the register() method is called
+        # (this is called later for the main source file).
+        class_creator.create = lambda: function_name +'();'
+        self.include_creators.append( code_creators.include_t( header_name ) )
+        self.split_header_names.append(header_name)
+        self.split_method_names.append(function_name)
diff --git a/pyplusplus/file_writers/md5sum_repository.py b/pyplusplus/file_writers/md5sum_repository.py
new file mode 100644
index 0000000..749e6f1
--- /dev/null
+++ b/pyplusplus/file_writers/md5sum_repository.py
@@ -0,0 +1,100 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 interface for repository of generated files hash"""
+
+import os
+try:
+    from hashlib import md5
+except:
+    from md5 import new as md5
+
+
+def get_md5_text_value( text ):
+    m = md5()
+    data = text
+    if isinstance(text, str):
+        data = text.encode()
+    m.update( data )
+    return m.hexdigest() 
+
+def get_md5_file_value( fpath ):
+    if not os.path.exists( fpath ):
+        return None #file does not exist
+    f = open( fpath, 'rb' )
+    fcontent = f.read()
+    f.close()
+    return get_md5_text_value( fcontent )
+
+class repository_t( object ):
+    def __init__( self ):
+        object.__init__( self )
+        
+    def get_file_value( self, fpath ):
+        return NotImplementedError( self.__class__.__name__ )
+
+    def get_text_value( self, fpath ):
+        return NotImplementedError( self.__class__.__name__ )
+
+    def update_value( self, fpath, hash_value ):
+        return NotImplementedError( self.__class__.__name__ )
+        
+    def save_values( self ):
+        return NotImplementedError( self.__class__.__name__ )
+
+class dummy_repository_t( repository_t ):
+    def __init__( self ):
+        repository_t.__init__( self )
+        
+    def get_file_value( self, fpath ):
+        return get_md5_file_value( fpath )
+        
+    def get_text_value( self, text ):
+        return get_md5_text_value( text )
+        
+    def update_value( self, fpath, hash_value ):
+        pass
+        
+    def save_values( self ):
+        pass
+
+class cached_repository_t( repository_t ):
+    separator = ' '
+    hexdigest_len = 32
+    hexdigest_separator_len = 33
+    
+    def __init__( self, file_name ):
+        repository_t.__init__( self )
+        self.__repository = {}
+        self.__repository_file = file_name
+        if os.path.exists( self.__repository_file ):
+            f = open( self.__repository_file, 'r' )
+            for line in f:
+                if len(line) < self.hexdigest_separator_len:
+                    continue
+                hexdigest = line[:self.hexdigest_len]
+                fname = line[self.hexdigest_separator_len:].rstrip()
+                self.__repository[ fname ] = hexdigest
+            f.close()
+
+    def get_file_value( self, fpath ):
+        try:
+            return self.__repository[ fpath ]
+        except KeyError:
+            return None
+    
+    def get_text_value( self, text ):
+        return get_md5_text_value( text )
+
+    def update_value( self, fpath, hash_value ):
+        self.__repository[ fpath ] = hash_value
+        
+    def save_values( self ):
+        lines = []
+        for fpath, hexdigest in self.__repository.items():
+            lines.append( '%s%s%s%s' % ( hexdigest, self.separator, fpath, os.linesep ) )        
+        f = open( self.__repository_file, 'w+' )
+        f.writelines( lines )
+        f.close()
diff --git a/pyplusplus/file_writers/multiple_files.py b/pyplusplus/file_writers/multiple_files.py
new file mode 100644
index 0000000..6a5a48b
--- /dev/null
+++ b/pyplusplus/file_writers/multiple_files.py
@@ -0,0 +1,407 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 a class that writes :class:`code_creators.bpmodule_t` to multiple files"""
+
+import os
+from . import writer
+from pyplusplus import messages
+from pyplusplus import _logging_
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+from pyplusplus import code_creators
+
+#TODO: to add namespace_alias_t classes
+class multiple_files_t(writer.writer_t):
+    """
+    This class implements classic strategy of dividing classes to files
+    one class in one header + source files.
+    """
+    HEADER_EXT = '.pypp.hpp'
+    SOURCE_EXT = '.pypp.cpp'
+
+    def __init__(self, extmodule, directory_path, write_main=True, files_sum_repository=None, encoding='ascii'):
+        """
+        :param extmodule: code creators tree root
+        :type extmodule: :class:`code_creators.bpmodule_t`
+        :param directory_path: generated source files directory
+        :type directory_path: str
+        :param write_main:  if True, the class will write out a main file that calls all the registration methods.
+        :type write_main: boolean
+        """
+        writer.writer_t.__init__( self, extmodule, files_sum_repository, encoding=encoding )
+        self.__directory_path = directory_path
+        self.create_dir( directory_path )
+        self.include_creators = []  # List of include_t creators that contain the generated headers
+        self.split_header_names = []  # List of include file names for split files
+        self.split_method_names = []  # List of methods from the split files
+        self.write_main = write_main
+        self.written_files = []
+        self.ref_count_creators = ( code_creators.opaque_type_registrator_t, )
+        self.__predefined_include_creators \
+            = [creator for creator in self.extmodule.creators if isinstance( creator, code_creators.include_t )]
+        self.__value_traits = [x for x in self.extmodule.creators if isinstance(x, code_creators.value_traits_t)]
+
+
+    def write_file( self, fpath, content ):
+        if fpath in self.written_files:
+            msg = ['`Py++` is going to write different content to the same file(%s).' % fpath]
+            msg.append('The following is a short list of possible explanations for this behaviour:' )
+            msg.append('* `Py++` bug, in this case, please report it' )
+            msg.append('* module_builder_t contains two or more classes with the same alias')
+            msg.append('* module_builder_t contains two or more classes with the same wrapper alias')
+            msg.append('Please carefully review `Py++` warning messages. It should contain an additional information.')
+            raise RuntimeError( os.linesep.join(msg) )
+
+        self.written_files.append( fpath )
+        writer.writer_t.write_file( fpath, content, self.files_sum_repository, self.encoding )
+
+    def create_dir( self, directory_path ):
+        """Create the output directory if it doesn't already exist.
+        """
+        if os.path.exists( directory_path ) and not os.path.isdir(directory_path):
+            raise RuntimeError( 'directory_path should contain path to directory.' )
+        if not os.path.exists( directory_path ):
+            os.makedirs( directory_path )
+
+    def _get_directory_path(self):
+        return self.__directory_path
+    directory_path = property( _get_directory_path,
+                               doc="""The name of the output directory.
+                               @type: str
+                               """ )
+
+    def get_unique_creators( self, creators ):
+        unique_creators = []
+        unique_creator_ids = set()
+        for creator in creators:
+            if not id( creator ) in unique_creator_ids:
+                unique_creator_ids.add( id( creator ) )
+                unique_creators.append( creator )
+        return unique_creators
+
+    def associated_decl_creators( self, creator ):
+        """ references to all class declaration code creators. """
+        if not isinstance( creator, code_creators.registration_based_t ):
+            return []
+
+        associated_creators = creator.associated_decl_creators[:]
+
+        internal_creators = []
+        if isinstance( creator, code_creators.compound_t ):
+            internal_creators.extend(
+                [creator for creator in code_creators.make_flatten( creator.creators ) if isinstance( creator, code_creators.registration_based_t )] )
+
+        for internal_creator in internal_creators:
+            associated_creators.extend( internal_creator.associated_decl_creators )
+        #now associated_creators contains all code creators associated with the creator
+        #We should leave only creators, defined in the global namespace
+        associated_creators = [associated_creator for associated_creator in associated_creators if associated_creator.parent is self.extmodule]
+        return associated_creators
+
+    def create_function_code( self, function_name ):
+        return "void %s();" % function_name
+
+    def create_header( self, file_name, code ):
+        """
+        return the content of a header file.
+
+        :param file_name: A string that uniquely identifies the file name
+        :type file_name: str
+        :rtype: str
+        """
+        tmpl = os.linesep.join([
+                    "#ifndef %(file_name)s_hpp__pyplusplus_wrapper"
+                  , "#define %(file_name)s_hpp__pyplusplus_wrapper"
+                  , ''
+                  , "%(code)s"
+                  , ''
+                  , "#endif//%(file_name)s_hpp__pyplusplus_wrapper" ])
+
+        content = ''
+        if self.extmodule.license:
+            content = self.extmodule.license.create() + os.linesep
+        content = content + tmpl % { 'file_name' : file_name, 'code' : code }
+        return content
+
+    def find_out_value_traits_header( self, code_creator ):
+        if not isinstance( code_creator, ( code_creators.class_t, code_creators.class_declaration_t ) ):
+            return None
+        if None is code_creator.declaration.indexing_suite:
+            return None
+        if not isinstance( code_creator.declaration.indexing_suite, decl_wrappers.indexing_suite2_t ):
+            return None
+
+        #sometimes, for some reason I expose containers as regular classes ( hash_map )
+        #and in this case I do generate include to
+        classes = ( code_creators.indexing_suite1_t, code_creators.indexing_suite2_t )
+        for cont_code_creator in code_creator.creators:
+            if isinstance( cont_code_creator, classes ):
+                break
+        else:
+            return None
+
+        try:
+            element_type = code_creator.declaration.indexing_suite.element_type
+            class_traits = declarations.class_traits
+            if not class_traits.is_my_case( element_type ):
+                return None
+            value_class = class_traits.get_declaration( element_type )
+            if value_class.less_than_comparable and value_class.equality_comparable:
+                return None #`Py++` doesn't create value traits for class that has
+                            # = and < operators available
+            return self.create_value_traits_header_name( value_class )
+        except RuntimeError as error:
+            decls_logger = _logging_.loggers.declarations
+            if not messages.filter_disabled_msgs([messages.W1042], code_creator.declaration.disabled_messages ):
+                return #user disabled property warning
+            decls_logger.warning( "%s;%s" % ( code_creator.declaration, messages.W1042 ) )
+
+    def create_include_code( self, creators, head_headers=None, tail_headers=None ):
+        answer = []
+        normalize = code_creators.include_directories_t.normalize
+        unique_headers = code_creators.code_creator_t.unique_headers
+
+        if head_headers:
+            answer.extend( ['#include "%s"' % normalize( header ) for header in head_headers] )
+
+        dependend_on_headers = []
+        for creator in creators:
+            dependend_on_headers.extend( creator.get_system_files( recursive=True, language='C++' ) )
+
+        dependend_on_headers = unique_headers( list(map( normalize, dependend_on_headers )) )
+
+        for include_cc in self.__predefined_include_creators:
+            if include_cc.is_system:
+                if include_cc.header in dependend_on_headers:
+                    answer.append( include_cc.create() )
+            else:# user header file - always include
+                answer.append( include_cc.create() )
+
+        for user_header in self.get_user_headers( creators ):
+            answer.append( '#include "%s"' % user_header )
+
+        for creator in creators:
+            header = self.find_out_value_traits_header( creator )
+            if header:
+                answer.append( '#include "%s"' % header )
+
+        if tail_headers:
+            answer.extend( ['#include "%s"' % normalize( header ) for header in tail_headers] )
+
+        return os.linesep.join( answer )
+
+    def create_namespaces_code( self, creators ):
+        # Write all 'global' namespace_alias_t and namespace_using_t creators first...
+        ns_types = ( code_creators.namespace_alias_t, code_creators.namespace_using_t )
+        ns_creators = [x for x in self.extmodule.creators if isinstance( x, ns_types )]
+
+        ns_creators.extend( [x for x in self.extmodule.body.creators if isinstance( x, ns_types )] )
+        if not ns_creators:
+            return ''
+        else:
+            return os.linesep.join( [creator.create() for creator in ns_creators] )
+
+    def create_source( self, file_name, function_name, registration_creators ):
+        """
+        return the content of a cpp file.
+
+        :param file_name: The base name of the corresponding include file (without extension)
+        :type file_name: str
+
+        :param function_name: "register" function name
+        :type function_name: str
+
+        :param creators: "register" function code creators
+        :type creators: list of :class:`code_creators.code_creator_t`
+        :rtype: str
+        """
+        declaration_creators = []
+        for rc in registration_creators:
+            declaration_creators.extend( self.associated_decl_creators( rc ) )
+        declaration_creators = self.get_unique_creators( declaration_creators )
+
+        creators = registration_creators + declaration_creators
+
+        answer = []
+        if self.extmodule.license:
+            answer.append( self.extmodule.license.create() )
+
+        head_headers = [ file_name + self.HEADER_EXT ]
+        answer.append( self.create_include_code( creators, tail_headers=head_headers ) )
+
+        answer.append( '' )
+        answer.append( self.create_namespaces_code( creators ) )
+
+        # Write wrapper classes...
+        for creator in declaration_creators:
+            answer.append( '' )
+            answer.append( creator.create() )
+            if not isinstance( creator, self.ref_count_creators ):
+                creator.create = lambda: ''
+
+        # Write the register() function...
+        answer.append( '' )
+        answer.append( 'void %s(){' % function_name )
+        answer.append( '' )
+        for creator in registration_creators:
+            answer.append( code_creators.code_creator_t.indent( creator.create() ) )
+            answer.append( '' )
+        answer.append( '}' )
+        return os.linesep.join( answer )
+
+    def split_class_impl( self, class_creator):
+        function_name = 'register_%s_class' % class_creator.alias
+        file_path = os.path.join( self.directory_path, class_creator.alias )
+        # Write the .h file...
+        header_name = file_path + self.HEADER_EXT
+        self.write_file( header_name
+                         , self.create_header( class_creator.alias
+                                               , self.create_function_code( function_name ) ) )
+
+        # Write the .cpp file...
+        cpp_code = self.create_source( class_creator.alias, function_name, [class_creator] )
+
+        self.write_file( file_path + self.SOURCE_EXT, cpp_code )
+
+        # Replace the create() method so that only the register() method is called
+        # (this is called later for the main source file).
+        class_creator.create = lambda: function_name +'();'
+        self.include_creators.append( code_creators.include_t( header_name ) )
+        self.split_header_names.append(header_name)
+        self.split_method_names.append(function_name)
+
+    def split_class( self, class_creator):
+        """Write the .h/.cpp file for one class.
+
+        Writes a .h/.cpp file for the given class. The files use the class name
+        as base file name.
+
+        :param class_creator: The class creator for one particular class
+        :type class_creator: class_t
+        """
+        try:
+            if class_creator.declaration.already_exposed:
+                return
+            self.split_class_impl( class_creator )
+        except IOError as error:
+            msg = [ 'Failed to write code for class "%s" into file.;' % class_creator.declaration.name ]
+            msg.append( "May be the class name is too long?." )
+            msg.append( "Error: %s'" % str(error) )
+            self.logger.error( os.linesep.join( msg ) )
+            raise
+
+    def split_classes( self ):
+        # Obtain a list of all class creators...
+        class_creators = [x for x in self.extmodule.body.creators if isinstance(x, ( code_creators.class_t, code_creators.class_declaration_t ) )]
+        # ...and write a .h/.cpp file for each class
+        for cls in class_creators: self.split_class(cls)
+
+    def create_value_traits_header_name( self, value_class ):
+        return "_" + value_class.alias + "__value_traits" + self.HEADER_EXT
+
+    def split_value_traits( self, value_traits ):
+        """
+        Write the value_traits class to header file, that will be included
+        from files, that uses indexing suite 2
+        """
+        if value_traits.declaration.already_exposed:
+            return
+
+        header_name = self.create_value_traits_header_name( value_traits.declaration )
+        file_path = os.path.join( self.directory_path, header_name )
+        self.write_file( file_path
+                        , self.create_header( header_name.replace( '.', '_' )
+                                              , value_traits.create() ) )
+        value_traits.create = lambda: ''
+
+    def split_values_traits( self ):
+        for trait in self.__value_traits: self.split_value_traits(trait)
+
+    def split_creators( self, creators, pattern, function_name, registrator_pos ):
+        """Write non-class creators into a particular .h/.cpp file.
+
+        :param creators: The code creators that should be written
+        :type creators: list of :class:`code_creators.code_creator_t`
+
+        :param pattern: Name pattern that is used for constructing the final output file name
+        :type pattern: str
+
+        :param function_name: "register" function name
+        :type function_name: str
+
+        :param registrator_pos: The position of the code creator that creates the code to invoke the "register" function.
+        :type registrator_pos: int
+        """
+        if not creators:
+            return
+        file_pattern = self.extmodule.body.name + pattern
+        file_path = os.path.join( self.directory_path, file_pattern )
+        header_name = file_path + self.HEADER_EXT
+        self.write_file( header_name
+                         , self.create_header( file_pattern, self.create_function_code( function_name ) ) )
+        self.write_file( file_path + self.SOURCE_EXT
+                         , self.create_source( file_pattern, function_name, creators ))
+
+        for creator in creators:
+            creator.create = lambda: ''
+        self.extmodule.body.adopt_creator(
+            code_creators.custom_text_t( function_name + '();' )
+            , registrator_pos)
+        self.include_creators.append( code_creators.include_t( header_name ) )
+        self.split_header_names.append(header_name)
+        self.split_method_names.append(function_name)
+
+    def split_enums( self ):
+        """Write all enumerations into a separate .h/.cpp file.
+        """
+        enums_creators = [x for x in self.extmodule.body.creators if isinstance(x, code_creators.enum_t )]
+
+        self.split_creators( enums_creators, '_enumerations', 'register_enumerations', 0 )
+
+    def split_global_variables( self ):
+        """Write all global variables into a separate .h/.cpp file.
+        """
+        creators = [x for x in self.extmodule.body.creators if isinstance(x, code_creators.global_variable_t )]
+        creators.extend( [x for x in self.extmodule.body.creators if isinstance(x, code_creators.unnamed_enum_t )] )
+        self.split_creators( creators, '_global_variables', 'register_global_variables', -1 )
+
+    def split_free_functions( self ):
+        """Write all free functions into a separate .h/.cpp file.
+        """
+        free_functions = ( code_creators.free_function_t, code_creators.free_fun_overloads_t )
+        creators = [x for x in self.extmodule.body.creators if isinstance(x, free_functions )]
+        self.split_creators( creators, '_free_functions', 'register_free_functions', -1 )
+
+    def write(self):
+        """
+        writes out the module.
+
+        Creates a separate source/header combo for each class and for enumerations,
+        globals and free functions.
+        If :meth:`write_main` is True it writes out a main file that calls all the registration methods.
+        After this call :meth:`split_header_names` and :meth:`split_method_names`
+        will contain all the header files and registration methods used.  This
+        can be used by user code to create custom registration methods if main is not written.
+        """
+
+        self.write_code_repository( self.__directory_path )
+        self.save_exposed_decls_db( self.__directory_path )
+
+        self.extmodule.do_include_dirs_optimization()
+
+        self.split_values_traits()
+        self.split_classes()
+        self.split_enums()
+        self.split_global_variables()
+        self.split_free_functions()
+
+        if self.write_main:
+            self.include_creators.sort( key=lambda ic: ic.header )
+            for creator in self.include_creators:
+                self.extmodule.adopt_include( creator )
+            main_cpp = os.path.join( self.directory_path, self.extmodule.body.name + '.main.cpp' )
+            self.write_file( main_cpp, self.extmodule.create() + os.linesep )
+        self.files_sum_repository.save_values()
diff --git a/pyplusplus/file_writers/single_file.py b/pyplusplus/file_writers/single_file.py
new file mode 100644
index 0000000..9feee18
--- /dev/null
+++ b/pyplusplus/file_writers/single_file.py
@@ -0,0 +1,33 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 a class that writes :class:`code_creators.module_t` to single file"""
+
+import os
+from . import writer
+
+class single_file_t(writer.writer_t):
+    """generates all code into single cpp file"""
+
+    def __init__(self, extmodule, file_name, encoding='ascii'):
+        writer.writer_t.__init__(self, extmodule, encoding=encoding)
+        self.__fname = file_name
+
+    @property
+    def file_name(self):
+        return self.__fname
+    
+    def write(self):        
+        target_dir = os.path.dirname( self.file_name )
+        if not target_dir:
+            target_dir = os.getcwd()
+        if not os.path.exists( target_dir ):
+            os.makedirs( target_dir )
+        headers = self.get_user_headers( [self.extmodule] )
+        for header in headers:
+            self.extmodule.add_include( header )
+        self.write_code_repository( target_dir )
+        self.write_file( self.file_name, self.extmodule.create(), encoding=self.encoding )
+        self.save_exposed_decls_db( target_dir )
diff --git a/pyplusplus/file_writers/writer.py b/pyplusplus/file_writers/writer.py
new file mode 100644
index 0000000..fbe7611
--- /dev/null
+++ b/pyplusplus/file_writers/writer.py
@@ -0,0 +1,167 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 interface for all classes that writes :class:`code_creators.module_t` to file(s)"""
+
+import os
+import time
+import codecs
+from . import md5sum_repository
+from pyplusplus import utils
+from pyplusplus import _logging_
+from pyplusplus import code_creators
+from pyplusplus import code_repository
+
+class writer_t(object):
+    """Base class for all module/code writers.
+
+    All writers should have similar usage::
+
+      w = writer_class(module, file, ...)
+      w.write()
+    """
+    logger = _logging_.loggers.file_writer
+
+    def __init__(self, extmodule, files_sum_repository=None, encoding='ascii'):
+        object.__init__(self)
+        self.__extmodule = extmodule
+        self.__files_sum_repository = files_sum_repository
+        self.__encoding=encoding
+        if None is files_sum_repository:
+            self.__files_sum_repository = md5sum_repository.dummy_repository_t()
+        self.__exposed_decls_db = utils.exposed_decls_db_t()
+        self.__exposed_decls_db.register_decls( extmodule.global_ns
+                                                , extmodule.specially_exposed_decls )
+
+    def makedirs_for_file( self, file_path ):
+        destination_dir = os.path.dirname( file_path )
+        if destination_dir == "":
+            return
+
+        if not os.path.exists( destination_dir ):
+            os.makedirs( destination_dir )
+
+    @property
+    def encoding( self ):
+        """encoding name used to write generated code to files"""
+        return self.__encoding
+
+    @property
+    def extmodule(self):
+        """The root of the code creator tree ( code_creators.module_t )"""
+        return self.__extmodule
+
+    @property
+    def files_sum_repository( self ):
+        return self.__files_sum_repository
+
+    def write(self):
+        """ Main write method.  Should be overridden by derived classes. """
+        raise NotImplementedError()
+
+    @staticmethod
+    def create_backup(fpath):
+        """creates backup of the file"""
+        if not os.path.exists( fpath ):
+            return
+        backup_fpath = fpath + '~'
+        if os.path.exists( backup_fpath ):
+            os.remove( backup_fpath )
+        os.rename( fpath, backup_fpath )
+
+    def write_code_repository(self, dir):
+        """creates files defined in :mod:`code_repository` package"""
+        visited = set()
+        system_files = self.extmodule.get_system_files( recursive=True )
+        for cr in code_repository.all:
+            if cr.file_name not in system_files:
+                #check whether file from code repository is used
+                continue
+            if cr.file_name in visited:
+                continue
+
+            destination_path = os.path.normpath( os.path.join( dir, cr.file_name ) )
+            self.makedirs_for_file( destination_path )
+            self.write_file( destination_path, cr.code )
+            visited.add( cr.file_name )
+
+            for fdepend in code_repository.i_depend_on_them( cr.file_name ):
+                if fdepend.file_name not in visited:
+                    destination_path = os.path.normpath( os.path.join( dir, fdepend.file_name ) )
+                    self.makedirs_for_file( destination_path )
+                    self.write_file( destination_path, fdepend.code )
+                    visited.add( fdepend.file_name )
+
+    @staticmethod
+    def write_file( fpath, content, files_sum_repository=None, encoding='ascii' ):
+        """Write a source file.
+
+        This method writes the string content into the specified file.
+        An additional fixed header is written at the top of the file before
+        content.
+
+        :param fpath: File name
+        :type fpath: str
+        :param content: The content of the file
+        :type content: str
+        """
+        fname = os.path.split( fpath )[1]
+        writer_t.logger.debug( 'write code to file "%s" - started' % fpath )
+        start_time = time.clock()
+        fcontent_new = []
+        if os.path.splitext( fpath )[1] == '.py':
+            fcontent_new.append( '# This file has been generated by Py++.' )
+        else:
+            fcontent_new.append( '// This file has been generated by Py++.' )
+        fcontent_new.append( os.linesep * 2 )
+        fcontent_new.append( content )
+        fcontent_new.append( os.linesep ) #keep gcc happy
+        fcontent_new = ''.join( fcontent_new )
+        if not isinstance( fcontent_new, str ):
+            fcontent_new = str( fcontent_new, encoding )
+
+        new_hash_value = None
+        curr_hash_value = None
+        if files_sum_repository:
+            new_hash_value  = files_sum_repository.get_text_value( fcontent_new )
+            curr_hash_value = files_sum_repository.get_file_value( fname )
+            if new_hash_value == curr_hash_value:
+                writer_t.logger.debug( 'file was not changed( hash ) - done( %f seconds )'
+                                       % ( time.clock() - start_time ) )
+                return
+
+        if None is curr_hash_value and os.path.exists( fpath ):
+            #It could be a first time the user uses files_sum_repository, don't force him
+            #to recompile the code
+            #small optimization to cut down compilation time
+            f = codecs.open( fpath, 'rb', encoding )
+            fcontent = f.read()
+            f.close()
+            if fcontent == fcontent_new:
+                writer_t.logger.debug( 'file was not changed( content ) - done( %f seconds )'
+                                       % ( time.clock() - start_time ) )
+                return
+
+        writer_t.logger.debug( 'file changed or it does not exist' )
+
+        writer_t.create_backup( fpath )
+        f = codecs.open( fpath, 'w+b', encoding )
+        f.write( fcontent_new )
+        f.close()
+        if new_hash_value:
+            files_sum_repository.update_value( fname, new_hash_value )
+        writer_t.logger.info( 'file "%s" - updated( %f seconds )' % ( fname, time.clock() - start_time ) )
+
+    def get_user_headers( self, creators ):
+        headers = []
+        creators = [creator for creator in creators if isinstance( creator, code_creators.declaration_based_t )]
+        for creator in creators:
+            headers.extend( creator.get_user_headers() )
+        return code_creators.code_creator_t.unique_headers( headers )
+
+    def save_exposed_decls_db( self, file_path ):
+        self.__exposed_decls_db.save( file_path )
+
+
diff --git a/pyplusplus/function_transformers/__init__.py b/pyplusplus/function_transformers/__init__.py
new file mode 100644
index 0000000..33a120d
--- /dev/null
+++ b/pyplusplus/function_transformers/__init__.py
@@ -0,0 +1,74 @@
+# Helper classes for wrapper function creation
+
+"""This sub-package implements function transformation functionality"""
+
+from .transformer import transformer_t
+from . import transformers
+from .function_transformation import function_transformation_t
+
+def output( *args, **keywd ):
+    def creator( function ):
+        return transformers.output_t( function, *args, **keywd )
+    return creator
+
+def input( *args, **keywd ):
+    def creator( function ):
+        return transformers.input_t( function, *args, **keywd )
+    return creator
+
+def inout( *args, **keywd ):
+    def creator( function ):
+        return transformers.inout_t( function, *args, **keywd )
+    return creator
+
+def input_static_array( *args, **keywd ):
+    def creator( function ):
+        return transformers.input_static_array_t( function, *args, **keywd )
+    return creator
+
+def output_static_array( *args, **keywd ):
+    def creator( function ):
+        return transformers.output_static_array_t( function, *args, **keywd )
+    return creator
+ 
+def inout_static_array( *args, **keywd ):
+    def creator( function ):
+        return transformers.inout_static_array_t( function, *args, **keywd )
+    return creator
+
+def input_static_matrix( *args, **keywd ):
+    def creator( function ):
+        return transformers.input_static_matrix_t( function, *args, **keywd )
+    return creator
+
+def output_static_matrix( *args, **keywd ):
+    def creator( function ):
+        return transformers.output_static_matrix_t( function, *args, **keywd )
+    return creator
+
+def inout_static_matrix( *args, **keywd ):
+    def creator( function ):
+        return transformers.inout_static_matrix_t( function, *args, **keywd )
+    return creator
+
+def modify_type( *args, **keywd ):
+    def creator( function ):
+        return transformers.type_modifier_t( function, *args, **keywd )
+    return creator
+
+def input_c_buffer( *args, **keywd ):
+    def creator( function ):
+        return transformers.input_c_buffer_t( function, *args, **keywd )
+    return creator
+
+def transfer_ownership( *args, **keywd ):
+    def creator( function ):
+        return transformers.transfer_ownership_t( function, *args, **keywd )
+    return creator
+
+def from_address( *args, **keywd ):
+    def creator( function ):
+        return transformers.from_address_t( function, *args, **keywd )
+    return creator
+
+
diff --git a/pyplusplus/function_transformers/controllers.py b/pyplusplus/function_transformers/controllers.py
new file mode 100644
index 0000000..eca5103
--- /dev/null
+++ b/pyplusplus/function_transformers/controllers.py
@@ -0,0 +1,443 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the 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 controller classes which help to define the function transformation
+
+The idea behind implementation of "Function Transformation" functionality is simple:
+`Py++` defines few templates. Transformers are just editors for the templates.
+In most cases, transformers don't directly edit the template, but use controller
+classes for this purpose. Controller classes provide an abstraction of the templates.
+"""
+
+import string
+from . import templates
+from pygccxml import declarations
+
+class variable_t( object ):
+    """defines C++ variable"""
+    def __init__( self, type, name, initialize_expr='' ):
+        """
+        :param type: type of the variable
+        :type type: instance of :class:`pygccxml.declarations.type_t`
+        
+        :param name: name( str ) of the variable
+        
+        :param initialize_expr: an expression that initialize the variable
+        """
+        self.__name = name
+        self.__type = type
+        self.__initialize_expr = initialize_expr
+        
+    @property
+    def name( self ):
+        "variable name"
+        return self.__name
+        
+    @property 
+    def type( self ):
+        "variable type"
+        return self.__type
+        
+    @property 
+    def initialize_expr( self ):
+        "initialize expression"
+        return self.__initialize_expr
+        
+    def declare_var_string( self ):
+        return templates.substitute( "$type $name$initialize_expr;"
+                                     , name=self.name
+                                     , type=self.type
+                                     , initialize_expr=self.initialize_expr )
+
+class variables_manager_t( object ):
+    """function wrapper variables manager
+    
+    Almost every time we define new transformer, we need to define variables.
+    It is important to keep the variable names unique. This class will ensure this.
+    Every time you declare new variable, it will return the unique variable name.
+    The name will be built from the original variable name and some index, which
+    will make the variable to be unique.
+    """
+    def __init__( self ):
+        object.__init__( self )
+        self.__variables = [] #variables
+        self.__names_in_use = set()
+    
+    @property
+    def variables( self ):
+        "list of all declared variables"
+        return self.__variables
+        
+    def declare_variable( self, type, name, initialize_expr='' ):
+        """declare variable
+        
+        :param type: type of the variable
+        :type type: instance of :class:`pygccxml.declarations.type_t`
+        
+        :param name: name( str ) of the variable
+        
+        :param initialize_expr: an expression that initialize the variable
+
+        :returns: the variable name, which is unique in a whole scope, based on "name" argument
+        
+        :rtype: str
+        """
+        unique_name = self.__create_unique_var_name( name )
+        self.__variables.append( variable_t( type, unique_name, initialize_expr ) )
+        return unique_name
+    
+    def register_name( self, name ):
+        """register predefined variable name
+        
+        There are use cases, where it is convenience to define variables within
+        a template. In such cases, the only thing that should be done is registering
+        a unique name of the variable.
+        """
+        return self.__create_unique_var_name( name )
+        
+    def __create_unique_var_name( self, name ):
+        n = 2
+        unique_name = name
+        while 1:
+            if unique_name in self.__names_in_use:
+                unique_name = "%s%d" % ( name, n )
+                n += 1
+            else:
+                self.__names_in_use.add( unique_name )
+                return unique_name
+
+def create_variables_manager( function ):
+    vm = variables_manager_t()
+    for arg in function.arguments: vm.register_name( arg.name )
+    return vm
+
+class controller_base_t( object ):
+    """base class for all controller classes"""
+    
+    def __init__( self, function ):
+        self.__function = function
+
+    @property
+    def function( self ):
+        return self.__function
+
+    def apply( self, transformations ):
+        """asks all transformations to configure the controller"""
+        raise NotImplementedError()
+
+class sealed_fun_controller_t( controller_base_t ): 
+    """base class for free and member function controllers"""
+    def __init__( self, function ):
+        controller_base_t.__init__( self, function )
+        self.__vars_manager = create_variables_manager( function )
+        self.__wrapper_args = [ arg.clone() for arg in function.arguments ]
+
+        initialize_expr = ''
+        result_type = self.function.return_type
+        if declarations.is_reference( self.function.return_type ):
+            initialize_expr = ' = 0'
+            result_type = declarations.pointer_t( declarations.remove_reference( self.function.return_type ) )
+        self.__result_var = variable_t( result_type
+                                        , self.register_variable_name( 'result' )
+                                        , initialize_expr=initialize_expr )
+        self.__return_variables = []
+        self.__pre_call = []
+        self.__post_call = []
+        self.__arg_expressions = [ arg.name for arg in function.arguments ]
+
+    @property
+    def variables( self ):
+        return self.__vars_manager.variables
+        
+    def declare_variable( self, type, name, initialize_expr='' ):
+        return self.__vars_manager.declare_variable( type, name, initialize_expr)
+    
+    def register_variable_name( self, name ):
+        return self.__vars_manager.register_name( name )
+        
+    @property 
+    def result_variable( self ):
+        return self.__result_var
+    
+    @property
+    def template( self ):
+        return templates.sealed_fun.body
+        
+    @property
+    def wrapper_args( self ):
+        return [_f for _f in self.__wrapper_args if _f]
+
+    def find_wrapper_arg( self, name ):
+        for arg in self.wrapper_args:
+            if arg.name == name:
+                return arg
+        return None
+
+    def remove_wrapper_arg( self, name ):
+        arg = self.find_wrapper_arg( name )
+        if not arg:
+            raise LookupError( "Unable to remove '%s' argument - not found!" % name ) 
+        self.__wrapper_args[ self.__wrapper_args.index(arg) ] = None
+
+    @property
+    def arg_expressions( self ):
+        return self.__arg_expressions
+
+    def modify_arg_expression( self, index, expression ):
+        self.arg_expressions[ index ] = expression
+    
+    @property
+    def wrapper_return_type( self ):
+        return_vars_count = len( self.return_variables )
+        if not declarations.is_void( self.function.return_type ):
+            return_vars_count += 1
+        if 0 == return_vars_count:
+            return self.function.return_type #return type is void
+        elif 1 == return_vars_count:
+            return declarations.dummy_type_t( 'boost::python::object' )
+        else:
+            return declarations.dummy_type_t( 'boost::python::tuple' )
+        
+    @property
+    def return_variables( self ):
+        return self.__return_variables
+    
+    def return_variable( self, variable_name ):
+        self.__return_variables.append( variable_name )
+    
+    @property
+    def pre_call( self ):
+        return self.__pre_call
+        
+    def add_pre_call_code( self, code ):
+        self.__pre_call.append( code )
+        
+    @property
+    def post_call( self ):
+        return self.__post_call
+    
+    def add_post_call_code( self, code ):
+        self.__post_call.append( code )
+    
+class mem_fun_controller_t( sealed_fun_controller_t ):
+    def __init__( self, function ):
+        sealed_fun_controller_t.__init__( self, function )
+        
+        inst_arg_type = declarations.declarated_t( self.function.parent )
+        if self.function.has_const:
+            inst_arg_type = declarations.const_t( inst_arg_type )
+        inst_arg_type = declarations.reference_t( inst_arg_type )
+        
+        self.__inst_arg = None
+        if not self.function.has_static:
+            self.__inst_arg = declarations.argument_t( name=self.register_variable_name( 'inst' )
+                                                       , type=inst_arg_type )
+
+    def apply( self, transformations ):
+        for t in transformations: t.configure_mem_fun( self )
+
+    @property 
+    def inst_arg( self ):
+        return self.__inst_arg
+
+class free_fun_controller_t( sealed_fun_controller_t ):
+    def __init__( self, function ):
+        sealed_fun_controller_t.__init__( self, function )
+
+    def apply( self, transformations ):
+        for t in transformations: t.configure_free_fun( self )
+
+
+class virtual_mem_fun_controller_t( controller_base_t ):
+    class override_fun_controller_t( controller_base_t ):
+        def __init__( self, function ):
+            controller_base_t.__init__( self, function )
+            self.__py_vars_manager = create_variables_manager( function )
+            self.__py_function_var \
+                = self.__py_vars_manager.register_name( 'func_' + function.alias )
+            self.__py_pre_call = []
+            self.__py_post_call = []
+            self.__py_result_var = variable_t( declarations.dummy_type_t( 'boost::python::object' )
+                                               , self.register_py_variable_name( 'py_result' ) )
+    
+            self.__py_arg_expressions = [ arg.name for arg in function.arguments ]
+
+        @property
+        def template( self ):
+            return templates.virtual_mem_fun.override
+
+        @property
+        def py_variables( self ):
+            return self.__py_vars_manager.variables
+            
+        def declare_py_variable( self, type, name, initialize_expr='' ):
+            return self.__py_vars_manager.declare_variable( type, name, initialize_expr)
+        
+        def register_py_variable_name( self, name ):
+            return self.__py_vars_manager.register_name( name )
+            
+        @property
+        def py_function_var( self ):
+            return self.__py_function_var
+        
+        @property
+        def py_pre_call( self ):
+            return self.__py_pre_call
+            
+        def add_py_pre_call_code( self, code ):
+            self.__py_pre_call.append( code )
+            
+        @property
+        def py_post_call( self ):
+            return self.__py_post_call
+        
+        def add_py_post_call_code( self, code ):
+            self.__py_post_call.append( code )
+    
+        @property
+        def py_result_variable( self ):
+            return self.__py_result_var
+        
+        @property
+        def py_arg_expressions( self ):
+            return [_f for _f in self.__py_arg_expressions if _f]
+    
+        def remove_py_arg( self, index ):
+            self.__py_arg_expressions[ index ] = None
+            
+        def modify_py_arg_expression( self, index, expression ):
+            self.arg_expressions[ index ] = expression
+    
+    class default_fun_controller_t( sealed_fun_controller_t ):
+        def __init__( self, function ):
+            sealed_fun_controller_t.__init__( self, function )
+            
+            inst_arg_type = declarations.declarated_t( self.function.parent )
+            if self.function.has_const:
+                inst_arg_type = declarations.const_t( inst_arg_type )
+            inst_arg_type = declarations.reference_t( inst_arg_type )
+            
+            self.__inst_arg = declarations.argument_t( name=self.register_variable_name( 'inst' )
+                                                       , type=inst_arg_type )
+
+        @property 
+        def inst_arg( self ):
+            return self.__inst_arg
+        
+        @property
+        def template( self ):
+            return templates.virtual_mem_fun.default
+
+    def __init__( self, function ):
+        controller_base_t.__init__( self, function )
+        self.__override_cntrl = self.override_fun_controller_t( function )
+        self.__default_cntrl = self.default_fun_controller_t( function )
+
+    def apply( self, transformations ):
+        for t in transformations: t.configure_virtual_mem_fun( self )
+
+    @property
+    def override_controller( self ):
+        return self.__override_cntrl
+
+    @property
+    def default_controller( self ):
+        return self.__default_cntrl
+
+class pure_virtual_mem_fun_controller_t( virtual_mem_fun_controller_t ):
+    def __init__( self, function ):
+        virtual_mem_fun_controller_t.__init__(self, function)
+        
+    class override_fun_controller_t( virtual_mem_fun_controller_t.override_fun_controller_t ):
+        def __init__( self, function ):
+            virtual_mem_fun_controller_t.override_fun_controller_t.__init__(self, function)
+            
+        @property
+        def template( self ):
+            return templates.pure_virtual_mem_fun.override
+
+    class default_fun_controller_t( virtual_mem_fun_controller_t.default_fun_controller_t ):
+        def __init__( self, function ):
+            virtual_mem_fun_controller_t.default_fun_controller_t.__init__(self,function)   
+
+        @property
+        def template( self ):
+            return templates.pure_virtual_mem_fun.default
+
+#TODO: FT for constructor
+
+#~ class constructor_controller_t( controller_base_t ):
+    #~ def __init__( self, function ):
+        #~ controller_base_t.__init__( self, function )
+        #~ self.__vars_manager = create_variables_manager( function )
+        #~ self.__wrapper_args = [ arg.clone() for arg in function.arguments ]
+        #~ self.__result_var = variable_t( self.wrapper_return_type
+                                        #~ , self.register_variable_name( 'result' ) )
+        #~ self.__pre_call = []
+        #~ self.__post_call = []
+        #~ self.__arg_expressions = [ arg.name for arg in function.arguments ]
+        
+    #~ @property
+    #~ def variables( self ):
+        #~ return self.__vars_manager.variables
+        
+    #~ def declare_variable( self, type, name, initialize_expr='' ):
+        #~ return self.__vars_manager.declare_variable( type, name, initialize_expr)
+    
+    #~ def register_variable_name( self, name ):
+        #~ return self.__vars_manager.register_name( name )
+        
+    #~ @property 
+    #~ def result_variable( self ):
+        #~ return self.__result_var
+    
+    #~ @property
+    #~ def template( self ):
+        #~ return templates.constructor.body
+        
+    #~ @property
+    #~ def wrapper_args( self ):
+        #~ return filter( None, self.__wrapper_args )
+
+    #~ def find_wrapper_arg( self, name ):
+        #~ for arg in self.wrapper_args:
+            #~ if arg.name == name:
+                #~ return arg
+        #~ return None
+
+    #~ def remove_wrapper_arg( self, name ):
+        #~ arg = self.find_wrapper_arg( name )
+        #~ if not arg:
+            #~ raise LookupError( "Unable to remove '%s' argument - not found!" % name ) 
+        #~ self.__wrapper_args[ self.__wrapper_args.index(arg) ] = None
+
+    #~ @property
+    #~ def arg_expressions( self ):
+        #~ return self.__arg_expressions
+
+    #~ def modify_arg_expression( self, index, expression ):
+        #~ self.arg_expressions[ index ] = expression
+    
+    #~ @property
+    #~ def wrapper_return_type( self ):
+        #~ return declarations.dummy_type_t( 'std::auto_ptr< %s >' % self.function.parent.decl_string )
+            
+    #~ @property
+    #~ def pre_call( self ):
+        #~ return self.__pre_call
+        
+    #~ def add_pre_call_code( self, code ):
+        #~ self.__pre_call.append( code )
+        
+    #~ @property
+    #~ def post_call( self ):
+        #~ return self.__post_call
+    
+    #~ def add_post_call_code( self, code ):
+        #~ self.__post_call.append( code )
+
+    #~ def apply( self, transformations ):
+        #~ map( lambda t: t.configure_mem_fun( self ), transformations )
+
diff --git a/pyplusplus/function_transformers/function_transformation.py b/pyplusplus/function_transformers/function_transformation.py
new file mode 100644
index 0000000..3083eea
--- /dev/null
+++ b/pyplusplus/function_transformers/function_transformation.py
@@ -0,0 +1,73 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the 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 :class:function_transformation_t class"""
+
+import hashlib
+from . import controllers
+from pygccxml import declarations
+from pyplusplus import code_repository
+
+class function_transformation_t:
+    """the class holds function transformation definition - all transformations that should be applied"""
+    def __init__(self, function, transformer_creator, **keywd):
+        self.__function = function
+        self.__controller = None
+        if isinstance( function.parent, declarations.class_t ):
+            if declarations.VIRTUALITY_TYPES.NOT_VIRTUAL == function.virtuality:
+                self.__controller = controllers.mem_fun_controller_t( function )
+            elif declarations.VIRTUALITY_TYPES.PURE_VIRTUAL == function.virtuality:
+                self.__controller = controllers.pure_virtual_mem_fun_controller_t( function )
+            else:
+                self.__controller = controllers.virtual_mem_fun_controller_t( function )
+        else:
+            self.__controller = controllers.free_fun_controller_t( function )
+        self.__transformers = [tr_creator( function ) for tr_creator in transformer_creator]
+        self.__thread_safe = keywd.get( 'thread_safe', False )
+        self.__controller.apply( self.__transformers )
+        self.__unique_name = None
+        self.__alias = keywd.get( 'alias', None )
+
+    @property
+    def unique_name( self ):
+        if None is self.__unique_name:
+            obj = hashlib.md5()
+            if self.__function.mangled: # free functions don't have a mangled value
+                obj.update( self.__function.mangled.encode() )
+            else:
+                obj.update( self.__function.decl_string.encode() )
+                obj.update( self.__function.location.file_name.encode() )
+                obj.update( str( self.__function.location.line ).encode() )
+            self.__unique_name = self.__function.name + '_' + obj.hexdigest ()
+        return self.__unique_name
+
+    @property
+    def alias( self ):
+        if None is self.__alias:
+            if self.__function.overloads:
+                self.__alias = self.unique_name
+            else:
+                self.__alias = self.__function.alias
+        return self.__alias
+
+    @property
+    def transformers( self ):
+        return self.__transformers
+
+    @property
+    def controller( self ):
+        return self.__controller
+
+    def required_headers( self ):
+        headers = []
+        for transformer in self.transformers:
+            headers.extend( transformer.required_headers() )
+        if self.__function.call_policies:
+            headers.append( code_repository.call_policies.file_name )
+        return headers
+
+    @property
+    def thread_safe( self ):
+        return self.__thread_safe
diff --git a/pyplusplus/function_transformers/templates.py b/pyplusplus/function_transformers/templates.py
new file mode 100644
index 0000000..c1705c1
--- /dev/null
+++ b/pyplusplus/function_transformers/templates.py
@@ -0,0 +1,109 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+# Matthias Baas is an initial author of the templates.
+
+"""defines few templates, which will be used to create a function-wrapper
+definition."""
+
+import os
+from string import Template
+
+
+class sealed_fun: 
+    body = Template( os.linesep.join([
+          'static $return_type $unique_function_name( $arg_declarations ){'
+        , '    $declare_variables'
+        , '    $pre_call'
+        , '    $save_result$function_name($arg_expressions);'
+        , '    $post_call'
+        , '    $return'
+        , '}'
+    ]))
+
+class virtual_mem_fun:    
+    override = Template( os.linesep.join([
+          'virtual $return_type $function_name( $arg_declarations )$constness $throw{'
+        , '    namespace bpl = boost::python;'
+        , '    if( bpl::override $py_function_var = this->get_override( "$function_alias" ) ){'
+        , '        $declare_py_variables'
+        , '        $py_pre_call'
+        , '        ${save_py_result}bpl::call<bpl::object>( $py_function_var.ptr()$py_arg_expressions );'
+        , '        $py_post_call'
+        , '        $py_return'
+        , '    }'
+        , '    else{'
+        , '        $cpp_return$wrapped_class::$function_name( $cpp_arg_expressions );'
+        , '    }'
+        , '}'
+    ]))
+    
+    default = Template( os.linesep.join([
+          'static $return_type $unique_function_name( $arg_declarations ){'
+        , '    $declare_variables'
+        , '    $pre_call'
+        , '    if( dynamic_cast< $wrapper_class $wrapped_inst_constness* >( boost::addressof( $wrapped_inst ) ) ){'
+        , '        $save_result$wrapped_inst.$wrapped_class::$function_name($arg_expressions);'
+        , '    }'
+        , '    else{'
+        , '        $save_result$wrapped_inst.$function_name($arg_expressions);'
+        , '    }'
+        , '    $post_call'
+        , '    $return'
+        , '}'
+    ]))
+
+class pure_virtual_mem_fun:    
+    override = Template( os.linesep.join([
+          'virtual $return_type $function_name( $arg_declarations )$constness $throw{'
+        , '    namespace bpl = boost::python;'
+        , '    if( bpl::override $py_function_var = this->get_override( "$function_alias" ) ){'
+        , '        $declare_py_variables'
+        , '        $py_pre_call'
+        , '        ${save_py_result}bpl::call<bpl::object>( $py_function_var.ptr()$py_arg_expressions );'
+        , '        $py_post_call'
+        , '        $py_return'
+        , '    }'
+        , '    else{'
+        , '          PyErr_SetString(PyExc_NotImplementedError, "Attempted calling Pure Virtual function that is not implemented :$function_name");'
+        , '          boost::python::throw_error_already_set();'
+        , '    }'
+        , '}'
+    ]))
+    
+    default = Template( os.linesep.join([
+          'static $return_type $unique_function_name( $arg_declarations ){'
+        , '    $declare_variables'
+        , '    $pre_call'
+        , '    if( dynamic_cast< $wrapper_class $wrapped_inst_constness* >( boost::addressof( $wrapped_inst ) ) ){'
+        , '          PyErr_SetString(PyExc_NotImplementedError, "Attempted calling Pure Virtual function that is not implemented :$function_name");'
+        , '          boost::python::throw_error_already_set();'
+        , '    }'
+        , '    else{'
+        , '        $save_result$wrapped_inst.$function_name($arg_expressions);'
+        , '    }'
+        , '    $post_call'
+        , '    $return'
+        , '}'
+    ]))  
+    
+#TODO: FT for constructor
+#~ class constructor:
+    #~ #User cannot apply transformation on constructor of abstract class
+    #~ #It is not possible to create an instance of such class
+    #~ body = Template( os.linesep.join([
+          #~ 'std::auto_ptr<$exposed_class> $unique_function_name( $arg_declarations ){'
+        #~ , '    $declare_variables'
+        #~ , '    $pre_call'
+        #~ , '    std::auto_ptr<$exposed_class> $result( new $exposed_class($arg_expressions) );'
+        #~ , '    $post_call'
+        #~ , '    return $result;'
+        #~ , '}'
+    #~ ]))
+
+
+def substitute( text, **keywd ):
+    return Template( text ).substitute( **keywd )
+    
diff --git a/pyplusplus/function_transformers/transformer.py b/pyplusplus/function_transformers/transformer.py
new file mode 100644
index 0000000..b0cabb1
--- /dev/null
+++ b/pyplusplus/function_transformers/transformer.py
@@ -0,0 +1,93 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the 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 :class:transformer_t class"""
+
+import sys, os.path, copy, re, types
+from pygccxml import declarations, parser
+
+return_ = -1
+#return_ is a spacial const, which represent an index of return type
+
+class transformer_t(object):
+    """Base class for a function transformer."""
+
+    USE_1_BASED_INDEXING = False
+
+    def __init__(self, function):
+        """:param function: reference to function declaration"""
+        object.__init__( self )
+        self.__function = function
+
+    @property
+    def function( self ):
+        """reference to the function, for which a wrapper will be generated"""
+        return self.__function
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        raise NotImplementedError( self.__class__.__name__ )
+
+    def get_argument( self, reference ):
+        """returns reference to the desired argument
+
+        :param reference: name( str ) or index( int ) of the argument
+        """
+        if isinstance( reference, str ):
+            found = [arg for arg in self.function.arguments if arg.name == reference]
+            if len( found ) == 1:
+                return found[0]
+            raise RuntimeError( "Argument with name \"%s\" was not found" % reference )
+        else:
+           assert isinstance( reference, int )
+           if transformer_t.USE_1_BASED_INDEXING:
+               reference += 1
+           return self.function.arguments[ reference ]
+
+    def get_type( self, reference ):
+        """returns type of the desired argument or return type of the function
+
+        :param reference: name( str ) or index( int ) of the argument
+        """
+        global return_
+        if isinstance( reference, int ) and reference == return_:
+            return self.function.return_type
+        else:
+            return self.get_argument( reference ).type
+
+    def configure_mem_fun( self, controller ):
+        """Transformers should override the method, in order to define custom
+        transformation for non-virtual member function.
+
+        :param controller: instance of :class:`mem_fun_controller_t` class
+        """
+        raise NotImplementedError(self.__class__.__name__)
+
+    def configure_free_fun( self, controller ):
+        """
+        transformers should override the method, in order to define custom
+        transformation for free function.
+
+        :param controller: instance of :class:`free_fun_controller_t` class
+        """
+        raise NotImplementedError(self.__class__.__name__)
+
+    def configure_virtual_mem_fun( self, controller ):
+        """Transformers should override the method, in order to define custom
+        transformation for virtual member function.
+
+        :param controller: instance of :class:`virtual_mem_fun_controller_t` class
+        """
+        raise NotImplementedError(self.__class__.__name__)
+
+#TODO: FT for constructor
+    #~ def configure_constructor( self, controller ):
+        #~ """Transformers should override the method, in order to define custom
+        #~ transformation for constructor.
+
+        #~ :param controller: instance of L{constructor_controller_t} class
+        #~ """
+        #~ raise NotImplementedError(self.__class__.__name__)
+
diff --git a/pyplusplus/function_transformers/transformers.py b/pyplusplus/function_transformers/transformers.py
new file mode 100644
index 0000000..ac5a8f6
--- /dev/null
+++ b/pyplusplus/function_transformers/transformers.py
@@ -0,0 +1,965 @@
+# Copyright 2006 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+# Initial author: Matthias Baas
+
+"""defines few argument transformation classes"""
+
+import os
+import string
+from . import transformer
+from . import controllers
+from pygccxml import declarations
+from pyplusplus import code_repository
+
+#TODO: pointers should be checked for NULL
+
+def is_ref_or_ptr( type_ ):
+    return declarations.is_pointer( type_ ) or declarations.is_reference( type_ )
+
+def is_ptr_or_array( type_ ):
+    return declarations.is_pointer( type_ ) or declarations.is_array( type_ )
+
+def remove_ref_or_ptr( type_ ):
+    if declarations.is_pointer( type_ ):
+        return declarations.remove_pointer( type_ )
+    elif declarations.is_reference( type_ ):
+        return declarations.remove_reference( type_ )
+    else:
+        raise TypeError( 'Type should be reference or pointer, got %s.' % type_ )
+
+
+# output_t
+class output_t( transformer.transformer_t ):
+    """Handles a single output variable.
+
+    The specified variable is removed from the argument list and is turned
+    into a return value.
+
+    void get_value(int& v) -> v = get_value()
+    """
+
+    def __init__(self, function, arg_ref):
+        transformer.transformer_t.__init__( self, function )
+        """Constructor.
+
+        The specified argument must be a reference or a pointer.
+
+        :param arg_ref: Index of the argument that is an output value
+        :type arg_ref: int
+        """
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+
+        if not is_ref_or_ptr( self.arg.type ):
+            raise ValueError( '%s\nin order to use "output" transformation, argument %s type must be a reference or a pointer (got %s).' ) \
+                  % ( function, self.arg_ref.name, arg.type)
+
+    def __str__(self):
+        return "output(%d)"%(self.arg.name)
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return [ code_repository.convenience.file_name ]
+
+    def __configure_sealed( self, controller ):
+        #removing arg from the function wrapper definition
+        controller.remove_wrapper_arg( self.arg.name )
+        #declaring new variable, which will keep result
+        var_name = controller.declare_variable( remove_ref_or_ptr( self.arg.type ), self.arg.name )
+        #adding just declared variable to the original function call expression
+        controller.modify_arg_expression( self.arg_index, var_name )
+        #adding the variable to return variables list
+        controller.return_variable( var_name )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def __configure_v_mem_fun_override( self, controller ):
+        controller.remove_py_arg( self.arg_index )
+        tmpl = string.Template(
+            '$name = boost::python::extract< $type >( pyplus_conv::get_out_argument( $py_result, "$name" ) );' )
+        store_py_result_in_arg = tmpl.substitute( name=self.arg.name
+                                                  , type=remove_ref_or_ptr( self.arg.type ).decl_string
+                                                  , py_result=controller.py_result_variable.name )
+        controller.add_py_post_call_code( store_py_result_in_arg )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        self.__configure_v_mem_fun_default( controller.default_controller )
+        self.__configure_v_mem_fun_override( controller.override_controller )
+
+# input_t
+class type_modifier_t(transformer.transformer_t):
+    """Change/modify type of the argument.
+
+    Right now compiler should be able to use implicit conversion
+    """
+
+    def __init__(self, function, arg_ref, modifier):
+        """Constructor.
+
+        modifier is callable, which take the type of the argument and should return new type
+        
+        :param arg_ref: Index of the argument which will be transformed
+        :type arg_ref: int
+        """
+        transformer.transformer_t.__init__( self, function )
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+        self.modifier = modifier
+
+    def __str__(self):
+        return "type_modifier(%s)" % self.arg.name
+
+    def __configure_sealed( self, controller ):
+        w_arg = controller.find_wrapper_arg( self.arg.name )
+        w_arg.type = self.modifier( self.arg.type )
+        if not declarations.is_convertible( w_arg.type, self.arg.type ):
+            casting_code = 'reinterpret_cast< %s >( %s )' % ( self.arg.type, w_arg.name )
+            controller.modify_arg_expression(self.arg_index, casting_code)
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        self.__configure_v_mem_fun_default( controller.default_controller )
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return []
+
+# input_t
+class input_t(type_modifier_t):
+    """Handles a single input variable.
+
+    The reference on the specified variable is removed.
+
+    void set_value(int& v) -> void set_value(int v)
+    """
+
+    def __init__(self, function, arg_ref):
+        """
+        :param arg_ref: Index of the argument that is an input value
+        :type arg_ref: int
+        """
+        type_modifier_t.__init__( self, function, arg_ref, remove_ref_or_ptr )
+
+        if not is_ref_or_ptr( self.arg.type ):
+            raise ValueError( '%s\nin order to use "input" transformation, argument %s type must be a reference or a pointer (got %s).' ) \
+                  % ( function, self.arg_ref.name, arg.type)
+
+    def __str__(self):
+        return "input(%s)"%(self.arg.name)
+
+# from_address_t
+class from_address_t(type_modifier_t):
+    """Handles a single input variable.
+
+    Replaces the actual argument type with some integral type, so you
+    could use :mod:`ctypes` package.
+
+    void do_something(int** image) -> do_something(unsigned int image_address)
+    """
+
+    def __init__(self, function, arg_ref):
+        """Constructor.
+
+        The specified argument must be a reference or a pointer.
+
+        :param arg_ref: Index of the argument that is an output value
+        :type arg_ref: int
+        """
+        modifier = lambda type_: declarations.FUNDAMENTAL_TYPES[ 'unsigned int' ]
+        type_modifier_t.__init__( self, function, arg_ref, modifier )
+
+        if not is_ptr_or_array( self.arg.type ):
+            raise ValueError( '%s\nin order to use "from_address_t" transformation, argument %s type must be a pointer or a array (got %s).' ) \
+                  % ( function, self.arg_ref.name, arg.type)
+
+    def __str__(self):
+        return "from_address(%s)"%(self.arg.name)
+
+# inout_t
+class inout_t(transformer.transformer_t):
+    """Handles a single input/output variable.
+
+    void do_something(int& v) -> v = do_something(v)
+    """
+
+    def __init__(self, function, arg_ref):
+        """Constructor.
+
+        The specified argument must be a reference or a pointer.
+
+        :param arg_ref: Index of the argument that is an in/out value
+        :type arg_ref: int
+        """
+        transformer.transformer_t.__init__( self, function )
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+
+        if not is_ref_or_ptr( self.arg.type ):
+            raise ValueError( '%s\nin order to use "inout" transformation, argument %s type must be a reference or a pointer (got %s).' ) \
+                  % ( function, self.arg_ref.name, arg.type)
+
+    def __str__(self):
+        return "inout(%s)"%(self.arg.name)
+
+    def __configure_sealed(self, controller):
+        w_arg = controller.find_wrapper_arg( self.arg.name )
+        w_arg.type = remove_ref_or_ptr( self.arg.type )
+        #adding the variable to return variables list
+        controller.return_variable( w_arg.name )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def __configure_v_mem_fun_override( self, controller ):
+        tmpl = string.Template(
+            '$name = boost::python::extract< $type >( pyplus_conv::get_out_argument( $py_result, "$name" ) );' )
+        store_py_result_in_arg = tmpl.substitute( name=self.arg.name
+                                                  , type=remove_ref_or_ptr( self.arg.type ).decl_string
+                                                  , py_result=controller.py_result_variable.name )
+        controller.add_py_post_call_code( store_py_result_in_arg )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        self.__configure_v_mem_fun_override( controller.override_controller )
+        self.__configure_v_mem_fun_default( controller.default_controller )
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return [ code_repository.convenience.file_name ]
+
+
+_seq2arr = string.Template( os.linesep.join([
+              'pyplus_conv::ensure_uniform_sequence< $type >( $pylist, $array_size );'
+            , 'pyplus_conv::copy_sequence( $pylist, pyplus_conv::array_inserter( $native_array, $array_size ) );']))
+
+_seq2vector = string.Template( os.linesep.join([
+                 'pyplus_conv::ensure_uniform_sequence< $type >( $pylist );'
+               , 'pyplus_conv::copy_sequence( $pylist, std::back_inserter( $native_array), boost::type< $type >() );']))
+
+_arr2seq = string.Template(
+            'pyplus_conv::copy_container( $native_array, $native_array + $array_size, pyplus_conv::list_inserter( $pylist ) );' )
+
+class input_static_array_t(transformer.transformer_t):
+    """Handles an input array with fixed size.
+
+    void do_something(double* v) ->  do_something(object v2)
+
+    where v2 is a Python sequence
+    """
+
+    def __init__(self, function, arg_ref, size):
+        """Constructor.
+
+        :param arg_ref: Index of the argument that is an input array
+        :type arg_ref: int
+        :param size: The fixed size of the input array        
+        :type size: int
+        """
+        transformer.transformer_t.__init__( self, function )
+
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+
+        if not is_ptr_or_array( self.arg.type ):
+            raise ValueError( '%s\nin order to use "input_array" transformation, argument %s type must be a array or a pointer (got %s).' ) \
+                  % ( function, self.arg.name, self.arg.type)
+
+        self.array_size = size
+        self.array_item_type = declarations.remove_const( declarations.array_item_type( self.arg.type ) )
+
+    def __str__(self):
+        return "input_array(%s,%d)"%( self.arg.name, self.array_size)
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return [ code_repository.convenience.file_name ]
+
+    def __configure_sealed(self, controller):
+        global _seq2arr
+        w_arg = controller.find_wrapper_arg( self.arg.name )
+        w_arg.type = declarations.dummy_type_t( "boost::python::object" )
+
+        # Declare a variable that will hold the C array...
+        native_array = controller.declare_variable( self.array_item_type
+                                                    , "native_" + self.arg.name
+                                                    , '[%d]' % self.array_size )
+
+        copy_pylist2arr = _seq2arr.substitute( type=self.array_item_type
+                                                , pylist=w_arg.name
+                                                , array_size=self.array_size
+                                                , native_array=native_array )
+
+        controller.add_pre_call_code( copy_pylist2arr )
+
+        controller.modify_arg_expression( self.arg_index, native_array )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def __configure_v_mem_fun_override( self, controller ):
+        global _arr2seq
+        pylist = controller.declare_py_variable( declarations.dummy_type_t( 'boost::python::list' )
+                                                 , 'py_' + self.arg.name )
+
+        copy_arr2pylist = _arr2seq.substitute( native_array=self.arg.name
+                                                , array_size=self.array_size
+                                                , pylist=pylist )
+
+        controller.add_py_pre_call_code( copy_arr2pylist )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        self.__configure_v_mem_fun_override( controller.override_controller )
+        self.__configure_v_mem_fun_default( controller.default_controller )
+
+
+# s - static
+class output_static_array_t(transformer.transformer_t):
+    """Handles an output array of a fixed size.
+
+    void get_vec3(double* v) -> v = get_vec3()
+    # v will be a list with 3 floats
+    """
+
+    def __init__(self, function, arg_ref, size):
+        """Constructor.
+
+        :param arg_ref: Index of the argument that is an output array
+        :type arg_ref: int        
+        :param size: The fixed size of the output array
+        :type size: int
+        """
+        transformer.transformer_t.__init__( self, function )
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+
+        if not is_ptr_or_array( self.arg.type ):
+            raise ValueError( '%s\nin order to use "output_array" transformation, argument %s type must be a array or a pointer (got %s).' ) \
+                  % ( function, self.arg.name, self.arg.type)
+
+        self.array_size = size
+        self.array_item_type = declarations.array_item_type( self.arg.type )
+
+    def __str__(self):
+        return "output_array(%s,%d)"%( self.arg.name, self.array_size)
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return [ code_repository.convenience.file_name ]
+
+    def __configure_sealed(self, controller):
+        global _arr2seq
+        #removing arg from the function wrapper definition
+        controller.remove_wrapper_arg( self.arg.name )
+
+        # Declare a variable that will hold the C array...
+        native_array = controller.declare_variable( self.array_item_type
+                                                    , "native_" + self.arg.name
+                                                    , '[%d]' % self.array_size )
+
+        #adding just declared variable to the original function call expression
+        controller.modify_arg_expression( self.arg_index, native_array )
+
+        # Declare a Python list which will receive the output...
+        pylist = controller.declare_variable( declarations.dummy_type_t( "boost::python::list" )
+                                              , 'py_' + self.arg.name )
+
+        copy_arr2pylist = _arr2seq.substitute( native_array=native_array
+                                               , array_size=self.array_size
+                                               , pylist=pylist )
+
+        controller.add_post_call_code( copy_arr2pylist )
+
+        #adding the variable to return variables list
+        controller.return_variable( pylist )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def __configure_v_mem_fun_override( self, controller ):
+        global _seq2arr
+        seq = controller.declare_py_variable( declarations.dummy_type_t( 'boost::python::object' )
+                                              , 'py_' + self.arg.name )
+        controller.remove_py_arg( self.arg_index )
+        tmpl = string.Template( '$seq = pyplus_conv::get_out_argument( $py_result, "$name" );' )
+        get_ref_to_seq = tmpl.substitute( seq=seq
+                                          , py_result=controller.py_result_variable.name
+                                          , name=self.arg.name )
+        controller.add_py_post_call_code( get_ref_to_seq )
+
+        copy_pylist2arr = _seq2arr.substitute( type=self.array_item_type
+                                               , pylist=seq
+                                               , array_size=self.array_size
+                                               , native_array=self.arg.name )
+        controller.add_py_post_call_code( copy_pylist2arr )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        self.__configure_v_mem_fun_override( controller.override_controller )
+        self.__configure_v_mem_fun_default( controller.default_controller )
+
+# inout_static_array_t
+class inout_static_array_t(transformer.transformer_t):
+    """Handles an input/output array with fixed size.
+
+    void do_something(double* v) ->  v2 = do_something(object v2)
+
+    where v2 is a Python sequence
+    """
+
+    def __init__(self, function, arg_ref, size):
+        """Constructor.
+
+        :param arg_ref: Index of the argument that is an input/output array
+        :type arg_ref: int
+        :param size: The fixed size of the input/output array
+        :type size: int
+        """
+        transformer.transformer_t.__init__( self, function )
+
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+
+        if not is_ptr_or_array( self.arg.type ):
+            raise ValueError( '%s\nin order to use "inout_array" transformation, argument %s type must be a array or a pointer (got %s).' ) \
+                  % ( function, self.arg.name, self.arg.type)
+
+        self.array_size = size
+        self.array_item_type = declarations.remove_const( declarations.array_item_type( self.arg.type ) )
+
+    def __str__(self):
+        return "inout_array(%s,%d)"%( self.arg.name, self.array_size)
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return [ code_repository.convenience.file_name ]
+
+    def __configure_sealed(self, controller):
+        global _seq2arr
+        global _arr2seq
+        w_arg = controller.find_wrapper_arg( self.arg.name )
+        w_arg.type = declarations.dummy_type_t( "boost::python::object" )
+
+        # Declare a variable that will hold the C array...
+        native_array = controller.declare_variable( self.array_item_type
+                                                    , "native_" + self.arg.name
+                                                    , '[%d]' % self.array_size )
+
+        copy_pylist2arr = _seq2arr.substitute( type=self.array_item_type
+                                                , pylist=w_arg.name
+                                                , array_size=self.array_size
+                                                , native_array=native_array )
+
+        controller.add_pre_call_code( copy_pylist2arr )
+        controller.modify_arg_expression( self.arg_index, native_array )
+        
+        # Declare a Python list which will receive the output...
+        pylist = controller.declare_variable( declarations.dummy_type_t( "boost::python::list" )
+                                              , 'py_' + self.arg.name )
+
+        copy_arr2pylist = _arr2seq.substitute( native_array=native_array
+                                              , array_size=self.array_size
+                                              , pylist=pylist )
+        controller.add_post_call_code( copy_arr2pylist )
+
+        #adding the variable to return variables list
+        controller.return_variable( pylist )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def __configure_v_mem_fun_override( self, controller ):
+        global _arr2seq
+        pylist = controller.declare_py_variable( declarations.dummy_type_t( 'boost::python::list' )
+                                                 , 'py_' + self.arg.name )
+
+        copy_arr2pylist = _arr2seq.substitute( native_array=self.arg.name
+                                                , array_size=self.array_size
+                                                , pylist=pylist )
+
+        controller.add_py_pre_call_code( copy_arr2pylist )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        self.__configure_v_mem_fun_override( controller.override_controller )
+        self.__configure_v_mem_fun_default( controller.default_controller )
+
+_pymatrix2cmatrix = string.Template( os.linesep.join([
+   'pyplus_conv::ensure_uniform_sequence< boost::python::list >( $pymatrix, $rows );'
+ , 'for( size_t $row = 0; $row < $rows; ++$row ){'
+ , '    pyplus_conv::ensure_uniform_sequence< $type >( $pymatrix[$row], $columns );'
+ , '    pyplus_conv::copy_sequence( $pymatrix[$row], pyplus_conv::array_inserter( $native_matrix[$row], $columns ) );'
+ , '}']))
+
+
+_cmatrix2pymatrix = string.Template( os.linesep.join([
+    'for (int $row = 0; $row < $rows; ++$row ){'
+  , '    boost::python::list $pyrow;'
+  , '    pyplus_conv::copy_container( $native_matrix[$row]'
+  , '                                 , $native_matrix[$row] + $columns'
+  , '                                 , pyplus_conv::list_inserter( $pyrow ) );'
+  , '    $pymatrix.append( $pyrow ); '
+  , '}' ]))
+
+
+# input_static_matrix_t
+class input_static_matrix_t(transformer.transformer_t):
+    """Handles an input matrix with fixed size.
+
+    is_identity(double m[3][3]) ->  is_identity(object m)
+    # m must be a sequence of 3 sequences of 3 floats
+    """
+
+    def __init__(self, function, arg_ref, rows, columns):
+        """Constructor.
+
+        :param rows, columns: The fixed size of the input matrix
+        :type rows, columns: int
+        """
+        transformer.transformer_t.__init__( self, function )
+
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+
+        if not is_ptr_or_array( self.arg.type ):
+            raise ValueError( '%s\nin order to use "input_matrix" transformation, argument %s type must be a array or a pointer (got %s).' ) \
+                  % ( function, self.arg.name, self.arg.type)
+
+        self.rows = rows
+        self.columns = columns
+        self.matrix_item_type = declarations.remove_const( declarations.array_item_type( declarations.array_item_type( self.arg.type ) ) )
+
+    def __str__(self):
+        return "input_matrix(%s,%d,%d)"%( self.arg.name, self.rows, self.columns)
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return [ code_repository.convenience.file_name ]
+
+    def __configure_sealed(self, controller):
+        global _pymatrix2cmatrix
+        w_arg = controller.find_wrapper_arg( self.arg.name )
+        w_arg.type = declarations.dummy_type_t( "boost::python::object" )
+
+        # Declare a variable that will hold the C matrix...
+        native_matrix = controller.declare_variable( self.matrix_item_type
+                                                    , "native_" + self.arg.name
+                                                    , '[%d][%d]' % (self.rows, self.columns) )
+
+        conversion_code = _pymatrix2cmatrix.substitute( type=self.matrix_item_type
+                                                        , pymatrix=w_arg.name
+                                                        , columns='%d' % self.columns
+                                                        , row=controller.register_variable_name( "row" )
+                                                        , rows='%d' % self.rows
+                                                        , native_matrix=native_matrix )
+
+        controller.add_pre_call_code( conversion_code )
+
+        controller.modify_arg_expression( self.arg_index, native_matrix )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def __configure_v_mem_fun_override( self, controller ):       
+        global _arr2seq
+        pylist = controller.declare_py_variable( declarations.dummy_type_t( 'boost::python::list' )
+                                                 , 'py_' + self.arg.name )
+
+        #TODO: may be a better idea is move this loop to the generated code.
+        for i in range(0, self.rows):
+            copy_arr2pylist = _arr2seq.substitute( native_array=self.arg.name+'[%d]'%i
+                                                   , array_size=self.columns
+                                                   , pylist=pylist )
+
+            controller.add_py_pre_call_code( copy_arr2pylist )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        raise RuntimeError( '"input_static_matrix" transformation does not support virtual functions yet.' )
+        #self.__configure_v_mem_fun_override( controller.override_controller )
+        #self.__configure_v_mem_fun_default( controller.default_controller )
+
+# output_static_matrix_t
+class output_static_matrix_t(transformer.transformer_t):
+    """Handles an output matrix with fixed size.
+
+    get_matrix(double m[3][3]) ->  m = get_matrix()
+    # m will be a sequence of 3 sequences of 3 floats
+    """
+
+    def __init__(self, function, arg_ref, rows, columns):
+        """Constructor.
+
+        :param arg_ref: Index of the argument that is an output matrix
+        :type arg_ref: int
+        :param rows, columns: The fixed size of the output matrix
+        :type rows, columns: int
+        
+        """
+        transformer.transformer_t.__init__( self, function )
+
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+
+        if not is_ptr_or_array( self.arg.type ):
+            raise ValueError( '%s\nin order to use "output_matrix" transformation, argument %s type must be a array or a pointer (got %s).' ) \
+                  % ( function, self.arg.name, self.arg.type)
+
+        self.rows = rows
+        self.columns = columns
+        self.matrix_item_type = declarations.remove_const( declarations.array_item_type( declarations.array_item_type( self.arg.type ) ) )
+
+    def __str__(self):
+        return "output_matrix(%s,%d,%d)"%( self.arg.name, self.rows, self.columns)
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return [ code_repository.convenience.file_name ]
+
+    def __configure_sealed(self, controller):
+        global _cmatrix2pymatrix
+        #removing arg from the function wrapper definition
+        controller.remove_wrapper_arg( self.arg.name )
+
+        # Declare a variable that will hold the C matrix...
+        native_matrix = controller.declare_variable( self.matrix_item_type
+                                                    , "native_" + self.arg.name
+                                                    , '[%d][%d]' % (self.rows, self.columns ) )
+        #adding just declared variable to the original function call expression
+        controller.modify_arg_expression( self.arg_index, native_matrix )
+
+        # Declare a Python list which will receive the output...
+        pymatrix = controller.declare_variable( declarations.dummy_type_t( "boost::python::list" )
+                                              , 'py_' + self.arg.name )
+
+        conversion_code = _cmatrix2pymatrix.substitute( pymatrix=pymatrix
+                                                        , columns='%d' % self.columns
+                                                        , row=controller.register_variable_name( "row" )
+                                                        , pyrow=controller.register_variable_name( "pyrow" )
+                                                        , rows='%d' % self.rows
+                                                        , native_matrix=native_matrix )
+
+        controller.add_post_call_code( conversion_code )
+        
+        #adding the variable to return variables list
+        controller.return_variable( pymatrix )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def __configure_v_mem_fun_override( self, controller ):
+        global _seq2arr
+        seq = controller.declare_py_variable( declarations.dummy_type_t( 'boost::python::object' )
+                                              , 'py_' + self.arg.name )
+        controller.remove_py_arg( self.arg_index )
+        tmpl = string.Template( '$seq = pyplus_conv::get_out_argument( $py_result, "$name" );' )
+        get_ref_to_seq = tmpl.substiture( seq=seq
+                                          , py_result=controller.py_result_variable_name
+                                          , name=self.arg.name )
+        controller.add_py_post_call_code( get_ref_to_seq )
+
+        #TODO: may be a better idea is move this loop to the generated code.
+        for i in range(0, self.rows):
+            copy_pylist2arr = _seq2arr.substitute( type=self.matrix_item_type
+                                                   , pylist=seq
+                                                   , array_size=self.columns
+                                                   , native_array=self.arg.name+'[%d]'%i )
+            controller.add_py_post_call_code( copy_pylist2arr )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        raise RuntimeError( '"output_static_matrix" transformation does not support virtual functions yet.' )
+        #self.__configure_v_mem_fun_override( controller.override_controller )
+        #self.__configure_v_mem_fun_default( controller.default_controller )
+
+# inout_static_matrix_t
+class inout_static_matrix_t(transformer.transformer_t):
+    """Handles an input/output matrix with fixed size.
+
+    transpose_matrix(double m[2][3]) ->  m = transpose_matrix(object m)
+    # m must be a sequence of 2 sequences of 3 floats
+    """
+
+    def __init__(self, function, arg_ref, rows, columns):
+        """Constructor.
+
+        :param arg_ref: Index of the argument that is an input/output matrix
+        :type arg_ref: int
+        :param rows,columns: The fixed size of the input/output matrix
+        :type rows,columns: int
+        """
+        transformer.transformer_t.__init__( self, function )
+
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+
+        if not is_ptr_or_array( self.arg.type ):
+            raise ValueError( '%s\nin order to use "inout_matrix" transformation, argument %s type must be a array or a pointer (got %s).' ) \
+                  % ( function, self.arg.name, self.arg.type)
+
+        self.rows = rows
+        self.columns = columns
+        self.matrix_item_type = declarations.remove_const( declarations.array_item_type( declarations.array_item_type( self.arg.type ) ) )
+
+    def __str__(self):
+        return "inout_matrix(%s,%d,%d)"%( self.arg.name, self.rows, self.columns)
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return [ code_repository.convenience.file_name ]
+
+    def __configure_sealed(self, controller):
+        global _pymatrix2cmatrix
+        global _cmatrix2pymatrix
+        w_arg = controller.find_wrapper_arg( self.arg.name )
+        w_arg.type = declarations.dummy_type_t( "boost::python::object" )
+
+        # Declare a variable that will hold the C matrix...
+        native_matrix = controller.declare_variable( self.matrix_item_type
+                                                    , "native_" + self.arg.name
+                                                    , '[%d][%d]' % (self.rows, self.columns) )
+
+        conversion_code = _pymatrix2cmatrix.substitute( type=self.matrix_item_type
+                                                        , pymatrix=w_arg.name
+                                                        , columns='%d' % self.columns
+                                                        , row=controller.register_variable_name( "row" )
+                                                        , rows='%d' % self.rows
+                                                        , native_matrix=native_matrix )
+
+        controller.add_pre_call_code( conversion_code )
+
+        controller.modify_arg_expression( self.arg_index, native_matrix )
+
+
+        #adding just declared variable to the original function call expression
+        controller.modify_arg_expression( self.arg_index, native_matrix )
+
+        # Declare a Python list which will receive the output...
+        pymatrix = controller.declare_variable( declarations.dummy_type_t( "boost::python::list" )
+                                              , 'py_' + self.arg.name )
+
+        conversion_code = _cmatrix2pymatrix.substitute( pymatrix=pymatrix
+                                                        , columns='%d' % self.columns
+                                                        , row=controller.register_variable_name( "row" )
+                                                        , pyrow=controller.register_variable_name( "pyrow" )
+                                                        , rows='%d' % self.rows
+                                                        , native_matrix=native_matrix )
+
+        controller.add_post_call_code( conversion_code )
+        
+        #adding the variable to return variables list
+        controller.return_variable( pymatrix )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def __configure_v_mem_fun_override( self, controller ):
+        global _mat2seq
+        pylist = controller.declare_py_variable( declarations.dummy_type_t( 'boost::python::list' )
+                                                 , 'py_' + self.arg.name )
+
+        copy_mat2pylist = _mat2seq.substitute( native_matrix=self.arg.name
+                                               , rows=self.rows
+                                               , columns=self.columns
+                                               , pylist=pylist )
+
+        controller.add_py_pre_call_code( copy_arr2pylist )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        raise RuntimeError( '"output_static_matrix" transformation does not support virtual functions yet.' )
+        #self.__configure_v_mem_fun_override( controller.override_controller )
+        #self.__configure_v_mem_fun_default( controller.default_controller )
+
+# input_c_buffer_t
+class input_c_buffer_t(transformer.transformer_t):
+    """
+    handles an input of C buffer:
+
+    void write( byte \\*buffer, int size ) -> void write( python sequence )
+    """
+
+    def __init__(self, function, buffer_arg_ref, size_arg_ref):
+        """Constructor.
+
+        :param buffer_arg_ref: "reference" to the buffer argument
+        :param buffer_arg_ref: "reference" to argument, which holds buffer size
+        """
+        transformer.transformer_t.__init__( self, function )
+
+        self.buffer_arg = self.get_argument( buffer_arg_ref )
+        self.buffer_arg_index = self.function.arguments.index( self.buffer_arg )
+
+        self.size_arg = self.get_argument( size_arg_ref )
+        self.size_arg_index = self.function.arguments.index( self.size_arg )
+
+        if not is_ptr_or_array( self.buffer_arg.type ):
+            raise ValueError( '%s\nin order to use "input_c_buffer" transformation, "buffer" argument %s type must be a array or a pointer (got %s).' ) \
+                  % ( function, self.buffer_arg.name, self.buffer_arg.type)
+
+        if not declarations.is_integral( self.size_arg.type ):
+            raise ValueError( '%s\nin order to use "input_c_buffer" transformation, "size" argument %s type must be an integral type (got %s).' ) \
+                  % ( function, self.size_arg.name, self.size_arg.type)
+
+        self.buffer_item_type = declarations.remove_const( declarations.array_item_type( self.buffer_arg.type ) )
+
+    def __str__(self):
+        return "input_c_buffer(buffer arg=%s, size arg=%s)" \
+               % ( self.buffer_arg.name, self.size_arg.name)
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return [ code_repository.convenience.file_name, '<vector>', '<iterator>' ]
+
+    def __configure_sealed(self, controller):
+        global _seq2arr
+        w_buffer_arg = controller.find_wrapper_arg( self.buffer_arg.name )
+        w_buffer_arg.type = declarations.dummy_type_t( "boost::python::object" )
+
+        controller.remove_wrapper_arg( self.size_arg.name )
+
+        size_var = controller.declare_variable(
+                          declarations.remove_const( self.size_arg.type )
+                        , self.size_arg.name
+                        , ' = boost::python::len(%s)' % w_buffer_arg.name )
+
+        # Declare a variable that will hold the C array...
+        buffer_var = controller.declare_variable(
+                          declarations.dummy_type_t( "std::vector< %s >" % self.buffer_item_type.decl_string )
+                        , "native_" + self.buffer_arg.name )
+
+        controller.add_pre_call_code( '%s.reserve( %s );' % ( buffer_var, size_var ) )
+
+        copy_pylist2arr = _seq2vector.substitute( type=self.buffer_item_type
+                                                  , pylist=w_buffer_arg.name
+                                                  , native_array=buffer_var )
+
+        controller.add_pre_call_code( copy_pylist2arr )
+
+        controller.modify_arg_expression( self.buffer_arg_index, '&%s[0]' % buffer_var )
+        controller.modify_arg_expression( self.size_arg_index, '%s' % size_var )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def __configure_v_mem_fun_override( self, controller ):
+        raise NotImplementedError()
+        #global _arr2seq
+        #pylist = controller.declare_py_variable( declarations.dummy_type_t( 'boost::python::list' )
+                                                 #, 'py_' + self.arg.name )
+
+        #copy_arr2pylist = _arr2seq.substitute( native_array=self.arg.name
+                                                #, array_size=self.array_size
+                                                #, pylist=pylist )
+
+        #controller.add_py_pre_call_code( copy_arr2pylist )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        self.__configure_v_mem_fun_override( controller.override_controller )
+        self.__configure_v_mem_fun_default( controller.default_controller )
+
+class transfer_ownership_t(type_modifier_t):
+    """see http://boost.org/libs/python/doc/v2/faq.html#ownership
+    """
+    def __init__(self, function, arg_ref):
+        """Constructor.
+        
+        :param arg_ref: Index of the argument on which to transfer ownership
+        :type arg_ref: int
+        """
+        transformer.transformer_t.__init__( self, function )
+        self.arg = self.get_argument( arg_ref )
+        self.arg_index = self.function.arguments.index( self.arg )
+        if not declarations.is_pointer( self.arg.type ):
+            raise ValueError( '%s\nin order to use "transfer_ownership" transformation, argument %s type must be a pointer (got %s).' ) \
+                  % ( function, self.arg_ref.name, arg.type)
+
+    def __str__(self):
+        return "transfer_ownership(%s)" % self.arg.name
+
+    def __configure_sealed( self, controller ):
+        w_arg = controller.find_wrapper_arg( self.arg.name )
+        naked_type = declarations.remove_pointer( self.arg.type )
+        naked_type = declarations.remove_declarated( naked_type )
+        w_arg.type = declarations.dummy_type_t( 'std::auto_ptr< %s >' % naked_type.decl_string )
+        controller.modify_arg_expression(self.arg_index, w_arg.name + '.release()' )
+
+    def __configure_v_mem_fun_default( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_mem_fun( self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_free_fun(self, controller ):
+        self.__configure_sealed( controller )
+
+    def configure_virtual_mem_fun( self, controller ):
+        raise NotImplementedError(self.__class__.__name__)
+
+#TODO: FT for constructor
+    #~ def configure_constructor( self, controller ):
+        #~ self.__configure_sealed( controller )
+
+    def required_headers( self ):
+        """Returns list of header files that transformer generated code depends on."""
+        return []
+
diff --git a/pyplusplus/messages/__init__.py b/pyplusplus/messages/__init__.py
new file mode 100644
index 0000000..8aa2fd6
--- /dev/null
+++ b/pyplusplus/messages/__init__.py
@@ -0,0 +1,43 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 package defines all user messages( warnings + errors ), which will be
+reported to user.
+"""
+
+from . import warnings_
+from .warnings_ import *
+
+def find_out_message_id( msg ):
+    return msg.identifier
+
+DISABLE_MESSAGES = [
+    W1000, W1001, W1002, W1011, W1012, W1013, W1015, W1019, W1030, W1034, W1039
+]
+#Messages kept by DISABLE_MESSAGES list will not be reported
+
+def disable( *args ):
+    DISABLE_MESSAGES.extend( args )
+
+def filter_disabled_msgs( msgs, disable_messages=None ):
+    report = []
+
+    skip_them = DISABLE_MESSAGES[:]
+    if disable_messages:
+        skip_them.extend( disable_messages )
+
+    skip_them = [_f for _f in map( find_out_message_id, skip_them ) if _f]
+
+    for msg in msgs:
+        msg_id = find_out_message_id( msg )
+        if msg_id and msg_id not in skip_them:
+            report.append( msg )
+
+    return report
+
+
+
+
+
diff --git a/pyplusplus/messages/warnings_.py b/pyplusplus/messages/warnings_.py
new file mode 100644
index 0000000..865d9b2
--- /dev/null
+++ b/pyplusplus/messages/warnings_.py
@@ -0,0 +1,293 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 package defines all user messages (warnings + errors), which will be
+reported to user.
+"""
+
+class message_type(str):
+    """implementation details"""
+    def __new__(self, value, identifier=None):
+        return str.__new__(self, value )
+
+    def __init__(self, value, identifier=None):
+        self.__identifier = identifier
+
+    @property
+    def identifier( self ):
+        return self.__identifier
+
+    def __mod__( self, values ):
+        str_value = super( message_type, self ).__str__()
+        return self.__class__( str_value % values, self.identifier )
+
+class warning( message_type ):
+    prefix = 'warning'
+
+class compilation_error( message_type ):
+    prefix = 'compilation error'
+
+class execution_error( message_type ):
+    prefix = 'execution error'
+
+class code_generation_error( message_type ):
+    prefix = 'code generation error'
+
+
+W0000 = warning( '%s' ) #general message, usefull in few cases
+
+W1000 = compilation_error(
+            '`Py++`, by default, does not expose internal compilers declarations. '
+            'Names of those declarations usually start with "__".' )
+
+W1001 = compilation_error(
+            '`Py++`, by default, does not expose internal declarations. '
+            'GCC-XML reports that these declaration belong to "<internal>" header.' )
+
+W1002 = compilation_error(
+            '`Py++`, by default, does not expose compiler generated declarations.' )
+
+W1003 = warning(
+            'Virtual functions that returns const reference cannot be overridden from Python. '
+            'Reason: boost::python::override::operator()(...) saves the result of the marshaling '
+            '(from Python to C++) on the stack. Thus operator() returns reference '
+            'to a temporary variable. Consider to use "Function Transformation" functionality '
+            'to solve the problem.' )
+
+W1004 = compilation_error(
+            'Boost.Python library can not expose function, which takes as argument/returns '
+            'pointer to function. '
+            ' See http://www.boost.org/libs/python/doc/v2/faq.html#funcptr for more information.' )
+
+W1005 = compilation_error(
+            '`Py++` cannot expose function that takes as argument/returns instance of non-public class. '
+            'Generated code will not compile.' )
+
+W1006 = compilation_error(
+            '`Py++` need your help to expose function that takes as argument/returns C++ arrays. '
+            'Take a look on "Function Transformation" functionality and define the transformation.' )
+
+W1007 = warning(
+            'The function has more than %d arguments ( %d ). '
+            'You should adjust BOOST_PYTHON_MAX_ARITY macro. '
+            'For more information see: http://www.boost.org/libs/python/doc/v2/configuration.html' )
+
+W1008 = warning(
+            'The function returns non-const reference to "Python immutable" type. '
+            'The value cannot be modified from Python. ' )
+
+W1009 = execution_error(
+            'The function takes as argument (name=%s, pos=%d) non-const reference '
+            'to Python immutable type - function could not be called from Python. '
+            'Take a look on "Function Transformation" functionality and define the transformation.' )
+
+W1010 = execution_error(
+            'The function introduces registration order problem. '
+            'For more information about the problem read "registration order" document.'
+            'Problematic functions list: %s' )
+
+W1011 = warning( "`Py++` doesn't export private not virtual functions." )
+
+W1012 = compilation_error( '`Py++` does not exports compiler generated constructors.' )
+
+W1013 = compilation_error( "`Py++` doesn't export private constructor." )
+
+W1014 = compilation_error(
+            '"%s" is not supported. '
+            'See Boost.Python documentation: http://www.boost.org/libs/python/doc/v2/operators.html#introduction.' )
+
+W1015 = compilation_error( "`Py++` doesn't export private operators." )
+
+W1016 = warning(
+            '`Py++` does not exports non-const casting operators with user defined type as return value. '
+            'This could be changed in future.' )
+
+W1017 = compilation_error( "`Py++` doesn't export non-public casting operators." )
+
+W1018 = compilation_error( '`Py++` can not expose anonymous class "%s", declared in a namespace.' )
+
+W1019 = compilation_error( '`Py++` can not expose private class.' )
+
+W1020 = warning( "`Py++` will generate class wrapper - hand written code should be added to the wrapper class" )
+
+W1021 = warning( "`Py++` will generate class wrapper - hand written code should be added to the wrapper class null constructor body" )
+
+W1022 = warning( "`Py++` will generate class wrapper - hand written code should be added to the wrapper class copy constructor body" )
+
+W1023 = warning(
+            "`Py++` will generate class wrapper - there are few functions that should be redefined in class wrapper. "
+            "The functions are: %s." )
+
+W1024 = warning( '`Py++` will generate class wrapper - class contains "%s" - bit field member variable' )
+
+W1025 = warning( '`Py++` will generate class wrapper - class contains "%s" - T* member variable' )
+
+W1026 = warning( '`Py++` will generate class wrapper - class contains "%s" - T& member variable' )
+
+W1027 = warning( '`Py++` will generate class wrapper - class contains "%s" - array member variable' )
+
+W1028 = warning( '`Py++` will generate class wrapper - class contains definition of nested class "%s", which requires wrapper class' )
+
+W1029 = warning( "`Py++` will generate class wrapper - hand written code should be added to the wrapper class constructor body" )
+
+W1030 = warning( '`Py++` will generate class wrapper - class contains "%s" - [pure] virtual member function' )
+
+W1031 = warning( '`Py++` will generate class wrapper - user asked to expose non - public member function "%s"' )
+
+W1032 = execution_error(
+            "Boost.Python library does not support enums with duplicate values. "
+            "You can read more about this here: "
+            "http://boost.org/libs/python/todo.html#support-for-enums-with-duplicate-values . "
+            "The quick work around is to add new class variable to the exported enum, from Python. " )
+
+W1033 = compilation_error( "`Py++` can not expose anonymous variables" )
+
+W1034 = compilation_error( "`Py++` can not expose alignment bit." )
+
+W1035 = compilation_error( "`Py++` can not expose static pointer member variables. This could be changed in future." )
+
+W1036 = compilation_error( "`Py++` can not expose pointer to Python immutable member variables. This could be changed in future." )
+
+W1037 = compilation_error(
+            "Boost.Python library can not expose variables, which are pointer to function."
+            " See http://www.boost.org/libs/python/doc/v2/faq.html#funcptr for more information." )
+
+W1038 = compilation_error( "`Py++` can not expose variables of with anonymous type." )
+
+W1039 = compilation_error( "`Py++` doesn't expose private or protected member variables." )
+
+W1040 = execution_error(
+            'The declaration is unexposed, but there are other declarations, which refer to it. '
+            'This could cause "no to_python converter found" run time error. '
+            'Declarations: %s' )
+
+W1041 = warning(
+            'Property "%s" could not be created. There is another exposed declaration with the same name( alias )." '
+            'The property will make it inaccessible.' )
+
+W1042 = warning(
+            '`Py++` can not find out container value_type( mapped_type ). '
+            'The container class is template instantiation declaration and not definition. '
+            'This container class will be exported, but there is a possibility, that '
+            'generated code will not compile or will lack some functionality. '
+            'The solution to the problem is to create a variable of the class.' )
+
+W1043 = warning( '`Py++` created an ugly alias ("%s") for template instantiated class.' )
+
+W1044 = warning( '`Py++` created an ugly alias ("%s") for function wrapper.' )
+
+W1045 = compilation_error(
+            '`Py++` does not expose static arrays with unknown size. '
+            'You can fix this by setting array size to the actual one.'
+            'For more information see "array_t" class documentation.' )
+
+W1046 = warning(
+            'The virtual function was declared with empty throw. '
+            'Adding the ability to override the function from Python breaks the exception specification. '
+            'The function wrapper can throw any exception. '
+            'In case of exception in run-time, the behaviour of the program is undefined! ' )
+
+W1047 = warning(
+            'There are two or more classes that use same alias("%s"). '
+            'Duplicated aliases causes few problems, but the main one is that some '
+            'of the classes will not be exposed to Python.'
+            'Other classes : %s' )
+
+W1048 = warning(
+            'There are two or more aliases within "pyplusplus::aliases" namespace for '
+            'the class. `Py++` selected "%s" as class alias. Other aliases: %s' )
+
+W1049 = warning(
+            'This method could not be overriden in Python - method returns reference '
+            'to local variable!' )
+
+W1050 = compilation_error(
+            'The function returns "%s" type. You have to specify a call policies.'
+            'Be sure to take a look on `Py++` defined call policies' )
+
+W1051 = warning(
+            'The function takes as argument (name=%s, pos=%d) "%s" type. '
+            'You have to specify a call policies or to use "Function Transformation" '
+            'functionality.' )
+
+W1052 = warning(
+            '`Py++` will not expose free operator "%s" - all classes, this operator works on, are excluded.' )
+
+W1053 = warning(
+            '`Py++` will not expose function "%s" - the function has variable-argument list, spicified by ellipsis (...).' )
+
+W1054 = compilation_error( '`Py++` can not expose unions.' )
+
+W1055 = warning( "`Py++` will generate class wrapper - hand written code should be added to the wrapper class destructor body" )
+
+W1056 = compilation_error( "`Py++` can not expose array of pointers of Python immutable types. Take a look on 'ctypes integration' feature." )
+
+W1057 = compilation_error( '`Py++` can not expose "%s" - it does not belong to named class.' )
+
+W1058 = compilation_error( '`Py++` can not expose "%s" it belongs to anonymous class'
+                           ' and requires additional code to expose.'
+                           ' This could be changed in future.')
+
+W1059 = compilation_error( '`Py++` can not expose "%s" - it requires additional code to expose.'
+                           ' This could be changed in future.')
+
+W1060 = compilation_error( '`Py++` can not expose "%s" - it has name, `Py++` only exposes anonymous unions.'
+                           ' This could be changed in future.')
+
+W1061 = compilation_error( '`Py++` can not expose "%s" - its type is "%s".'
+                           ' This could be changed in future.')
+
+W1062 = compilation_error( '"%s" contains "fake constructor" "%s", that was excluded.'
+                           ' `Py++` will not generate "__init__" method, based on that function.')
+
+W1063 = compilation_error( '"%s" contains "fake constructor" "%s", that is exportable.'
+                           ' `Py++` will not generate "__init__" method, based on that function.')
+
+W1064 = compilation_error( '`Py++` can not expose "%s" as "fake constructor" of "%s".'
+                           ' Only the following function types supported: %s' )
+
+W1065 = code_generation_error(
+            'There are two or more classes that use same class wrapper alias("%s"). '
+            'Duplicated class wrapper aliases causes few problems, but the main one is that during '
+            'files generation `Py++` uses class wrapper aliases for the file names. '
+            '`Py++` will rewrite the file content and at best will introduce compile time error. '
+            'The worst case scenario: you will discover the problem during run-time.'
+            'Use `wrapper_alias` property to change class wrapper alias value'
+            'Other classes : %s' )
+
+warnings = globals()
+
+all_warning_msgs = []
+
+for identifier, explanation in list(warnings.items()):
+    if len( identifier ) != 5:
+        continue
+    if identifier[0] != 'W':
+        continue
+    try:
+        int( identifier[1:] )
+    except:
+        continue
+    msg = '%s %s: %s' % ( explanation.__class__.prefix, identifier, str(explanation) )
+    msg_inst = explanation.__class__( msg, identifier )
+    globals()[ identifier ] = msg_inst
+    all_warning_msgs.append( msg_inst )
+
+
+del warnings
+del identifier
+del explanation
+
+
+if __name__ == '__main__':
+    x = W1051 % ( 'xxxxxxxx', 122, 'yyyyyyyyyy' )
+    print(x)
+    print(x.__class__.__name__)
+
+    print('\n\n\n')
+
+    y = W1000
+    print(y)
+
diff --git a/pyplusplus/module_builder/__init__.py b/pyplusplus/module_builder/__init__.py
new file mode 100644
index 0000000..846eb74
--- /dev/null
+++ b/pyplusplus/module_builder/__init__.py
@@ -0,0 +1,55 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 package provides simple and convenient interface to `Py++` functionality.
+"""
+
+from .boost_python_builder import builder_t as module_builder_t
+from .ctypes_builder import ctypes_module_builder_t
+
+#aliases for functionality located in pygccxml.parser module
+from pygccxml.parser import COMPILATION_MODE
+from pygccxml.parser import create_cached_source_fc
+from pygccxml.parser import create_gccxml_fc
+from pygccxml.parser import create_source_fc
+from pygccxml.parser import create_text_fc
+from pygccxml.parser import directory_cache_t
+from pygccxml.parser import file_cache_t
+from pygccxml.parser import file_configuration_t
+from pygccxml.declarations import mdecl_wrapper_t
+
+#aliases for functionality located in decl_wrappers package
+
+from pyplusplus.decl_wrappers import calldef_t
+from pyplusplus.decl_wrappers import member_function_t
+from pyplusplus.decl_wrappers import constructor_t
+from pyplusplus.decl_wrappers import destructor_t
+from pyplusplus.decl_wrappers import member_operator_t
+from pyplusplus.decl_wrappers import casting_operator_t
+from pyplusplus.decl_wrappers import free_function_t
+from pyplusplus.decl_wrappers import free_operator_t
+from pyplusplus.decl_wrappers import class_declaration_t
+from pyplusplus.decl_wrappers import class_t
+from pyplusplus.decl_wrappers import enumeration_t
+from pyplusplus.decl_wrappers import namespace_t
+from pyplusplus.decl_wrappers import typedef_t
+from pyplusplus.decl_wrappers import variable_t
+from pyplusplus.decl_wrappers import scopedef_t
+
+from pyplusplus.decl_wrappers import print_declarations
+
+from pyplusplus.decl_wrappers import doc_extractor_i
+
+from . import call_policies
+
+from pygccxml import utils as __pygccxml_utils
+from pyplusplus import _logging_ as __pyplusplus_logging
+
+def set_logger_level( level ):
+    for l in __pygccxml_utils.loggers.all_loggers:
+        l.setLevel( level )
+    for l in __pyplusplus_logging.loggers.all:
+        l.setLevel( level )
diff --git a/pyplusplus/module_builder/boost_python_builder.py b/pyplusplus/module_builder/boost_python_builder.py
new file mode 100644
index 0000000..2428459
--- /dev/null
+++ b/pyplusplus/module_builder/boost_python_builder.py
@@ -0,0 +1,438 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import time
+import types
+import warnings
+from . import module_builder
+
+from pygccxml import parser
+from pygccxml.utils import utils as pygccxml_utils
+from pygccxml import declarations as decls_package
+
+from pyplusplus import utils
+from pyplusplus import _logging_
+from pyplusplus import decl_wrappers
+from pyplusplus import file_writers
+from pyplusplus import code_creators
+from pyplusplus import creators_factory
+
+class builder_t(module_builder.module_builder_t):
+    """
+    This class provides users with simple and intuitive interface to `Py++`
+    and/or pygccxml functionality. If this is your first attempt to use `Py++`
+    consider to read tutorials. 
+    """
+
+    def __init__( self
+                  , files
+                  , gccxml_path=''
+                  , xml_generator_path=''
+                  , working_directory='.'
+                  , include_paths=None
+                  , define_symbols=None
+                  , undefine_symbols=None
+                  , start_with_declarations=None
+                  , compilation_mode=None
+                  , cache=None
+                  , optimize_queries=True
+                  , ignore_gccxml_output=False
+                  , indexing_suite_version=1
+                  , cflags=""
+                  , encoding='ascii'
+                  , compiler=None
+                  , gccxml_config=None
+                  , xml_generator_config=None):
+        """
+        :param files: list of files, declarations from them you want to export
+        :type files: list of strings or :class:`parser.file_configuration_t` instances
+
+        :param xml_generator_path: path to gccxml/castxml binary. If you don't pass this argument,
+                            pygccxml parser will try to locate it using your environment PATH variable
+        :type xml_generator_path: str
+
+        :param include_paths: additional header files location. You don't have to
+                              specify system and standard directories.
+        :type include_paths: list of strings
+
+        :param define_symbols: list of symbols to be defined for preprocessor.
+        :param define_symbols: list of strings
+
+        :param undefine_symbols: list of symbols to be undefined for preprocessor.
+        :param undefine_symbols: list of strings
+
+        :param cflags: Raw string to be added to xml generator command line.
+
+        :param xml_generator_config: instance of pygccxml.parser.xml_generator_configuration_t class, holds
+                              xml generator configuration. You can use this
+                              argument instead of passing the compiler configuration separately.
+
+        :param gccxml_path: DEPRECATED
+        :param gccxml_config: DEPRECATED
+        """
+        module_builder.module_builder_t.__init__( self, global_ns=None, encoding=encoding )
+
+        # handle deprecated parameters
+        if not gccxml_path == '' and xml_generator_path == '':
+            xml_generator_path = gccxml_path
+        if gccxml_config and not xml_generator_config:
+            xml_generator_config = gccxml_config
+
+        if not xml_generator_config:
+            xml_generator_config = parser.xml_generator_configuration_t( xml_generator_path=xml_generator_path
+                                             , working_directory=working_directory
+                                             , include_paths=include_paths
+                                             , define_symbols=define_symbols
+                                             , undefine_symbols=undefine_symbols
+                                             , start_with_declarations=start_with_declarations
+                                             , ignore_gccxml_output=ignore_gccxml_output
+                                             , cflags=cflags
+                                             , compiler=compiler)
+
+        #may be in future I will add those directories to user_defined_directories to self.__code_creator.
+        self.__parsed_files = list(map( pygccxml_utils.normalize_path
+                                   , parser.project_reader_t.get_os_file_names( files ) ))
+        tmp = [os.path.split( file_ )[0] for file_ in self.__parsed_files]
+        self.__parsed_dirs = [_f for _f in tmp if _f]
+
+        self.global_ns = self.__parse_declarations( files
+                                                    , xml_generator_config
+                                                    , compilation_mode
+                                                    , cache
+                                                    , indexing_suite_version)
+        self.global_ns.decls(recursive=True, allow_empty=True)._code_generator = decl_wrappers.CODE_GENERATOR_TYPES.CTYPES
+
+        self.__code_creator = None
+        if optimize_queries:
+            self.run_query_optimizer()
+
+        self.__declarations_code_head = []
+        self.__declarations_code_tail = []
+
+        self.__registrations_code_head = []
+        self.__registrations_code_tail = []
+
+
+
+    def register_module_dependency( self, other_module_generated_code_dir ):
+        """
+        `already_exposed` solution is pretty good when you mix hand-written
+        modules with `Py++` generated. It doesn't work/scale for "true"
+        multi-module development. This is exactly the reason why `Py++`
+        offers "semi automatic" solution.
+
+        For every exposed module, `Py++` generates `exposed_decl.pypp.txt` file.
+        This file contains the list of all parsed declarations and whether they
+        were included or excluded. Later, when you work on another module, you
+        can tell `Py++` that the current module depends on the previously
+        generated one. `Py++` will load `exposed_decl.pypp.txt` file and update
+        the declarations.
+        """
+
+        db = utils.exposed_decls_db_t()
+        db.load( other_module_generated_code_dir )
+        db.update_decls( self.global_ns )
+
+
+    def __parse_declarations( self, files, xml_generator_config, compilation_mode, cache, indexing_suite_version ):
+        if None is xml_generator_config:
+            xml_generator_config = parser.xml_generator_configuration_t()
+        if None is compilation_mode:
+            compilation_mode = parser.COMPILATION_MODE.FILE_BY_FILE
+        start_time = time.clock()
+        self.logger.debug( 'parsing files - started' )
+        reader = parser.project_reader_t( xml_generator_config, cache, decl_wrappers.dwfactory_t() )
+        decls = reader.read_files( files, compilation_mode )
+
+        self.logger.debug( 'parsing files - done( %f seconds )' % ( time.clock() - start_time ) )
+        self.logger.debug( 'settings declarations defaults - started' )
+
+        global_ns = decls_package.matcher.get_single(
+                decls_package.namespace_matcher_t( name='::' )
+                , decls )
+        if indexing_suite_version != 1:
+            for cls in global_ns.classes():
+                cls.indexing_suite_version = indexing_suite_version
+            for cls in global_ns.decls(decl_type=decls_package.class_declaration_t):
+                cls.indexing_suite_version = indexing_suite_version
+
+        start_time = time.clock()
+        self.__apply_decls_defaults(decls)
+        self.logger.debug( 'settings declarations defaults - done( %f seconds )'
+                           % ( time.clock() - start_time ) )
+        return global_ns
+
+    def __filter_by_location( self, flatten_decls ):
+        for decl in flatten_decls:
+            if not decl.location:
+                continue
+            fpath = pygccxml_utils.normalize_path( decl.location.file_name )
+            if pygccxml_utils.contains_parent_dir( fpath, self.__parsed_dirs ):
+                continue
+            if fpath in self.__parsed_files:
+                continue
+            found = False
+            for pfile in self.__parsed_files:
+                if fpath.endswith( pfile ):
+                    found = True
+                    break
+            if not found:
+                decl.exclude()
+
+    def __apply_decls_defaults(self, decls):
+        flatten_decls = decls_package.make_flatten( decls )
+        self.__filter_by_location( flatten_decls )
+        call_policies_resolver = creators_factory.built_in_resolver_t()
+        calldefs = [decl for decl in flatten_decls if isinstance( decl, decls_package.calldef_t )]
+        for calldef in calldefs:
+            calldef.set_call_policies( call_policies_resolver( calldef ) )
+        mem_vars = [decl for decl in flatten_decls if isinstance( decl, decls_package.variable_t )
+                                        and isinstance( decl.parent, decls_package.class_t )]
+        for mem_var in mem_vars:
+            mem_var.set_getter_call_policies( call_policies_resolver( mem_var, 'get' ) )
+        for mem_var in mem_vars:
+            mem_var.set_setter_call_policies( call_policies_resolver( mem_var, 'set' ) )
+
+    @property
+    def declarations_code_head( self ):
+        "A list of the user code, which will be added to the head of the declarations section."
+        return self.__declarations_code_head
+
+    @property
+    def declarations_code_tail( self ):
+        "A list of the user code, which will be added to the tail of the declarations section."
+        return self.__declarations_code_tail
+
+    @property
+    def registrations_code_head( self ):
+        "A list of the user code, which will be added to the head of the registrations section."
+        return self.__registrations_code_head
+
+    @property
+    def registrations_code_tail( self ):
+        "A list of the user code, which will be added to the tail of the registrations section."
+        return self.__registrations_code_tail
+
+    def build_code_creator( self
+                       , module_name
+                       , boost_python_ns_name='bp'
+                       , call_policies_resolver_=None
+                       , types_db=None
+                       , target_configuration=None
+                       , enable_indexing_suite=True
+                       , doc_extractor=None):
+        """
+        Creates :class:`code_creators.bpmodule_t` code creator.
+
+        :param module_name: module name
+        :type module_name: str
+
+        :param boost_python_ns_name: boost::python namespace alias, by default it is `bp`
+        :type boost_python_ns_name: str
+
+        :param call_policies_resolver_: callable, that will be invoked on every calldef object. It should return call policies.
+        :type call_policies_resolver_: callable
+
+        :param doc_extractor: callable, that takes as argument reference to declaration and returns documentation string
+        :type doc_extractor: callable or None
+        """
+
+        creator = creators_factory.bpcreator_t( self.global_ns
+                                                , module_name
+                                                , boost_python_ns_name
+                                                , call_policies_resolver_
+                                                , types_db
+                                                , target_configuration
+                                                , enable_indexing_suite )
+        self.__code_creator = creator.create()
+        self.__code_creator.replace_included_headers(self.__parsed_files)
+        self.__code_creator.update_documentation( doc_extractor )
+        return self.__code_creator
+
+    @property
+    def code_creator( self ):
+        "reference to :class:`code_creators.bpmodule_t` instance"
+        if not self.__code_creator:
+            raise RuntimeError( "self.module is equal to None. Did you forget to call build_code_creator function?" )
+        return self.__code_creator
+
+    def has_code_creator( self ):
+        """
+        Function, that will return True if build_code_creator function has been
+        called and False otherwise
+        """
+        return not ( None is self.__code_creator )
+
+    def add_declaration_code( self, code, tail=True ):
+        """adds the user code to the generated one"""
+        if tail:
+            self.__declarations_code_tail.append( code )
+        else:
+            self.__declarations_code_head.append( code )
+
+    def add_registration_code( self, code, tail=True ):
+        """adds the user code to the generated one"""
+        if tail:
+            self.__registrations_code_tail.append( code )
+        else:
+            self.__registrations_code_head.append( code )
+
+    def add_constants( self, **keywds ):
+        """
+        adds code that exposes some constants to Python.
+
+        For example:
+        .. code-block:: python
+
+           mb.add_constants( version='"1.2.3"' )
+           # or
+           constants = dict( version:'"1.2.3"' )
+           mb.add_constants( \\*\\*constants )
+
+        will generate the following code:
+
+        .. code-block:: c++
+
+           boost::python::scope().attr("version") = "1.2.3";
+
+        """
+        tmpl = 'boost::python::scope().attr("%(name)s") = %(value)s;'
+        for name, value in list(keywds.items()):
+            if not isinstance( value, str ):
+                value = str( value )
+            self.add_registration_code( tmpl % dict( name=name, value=value) )
+
+
+    def __merge_user_code( self ):
+        for code in self.__declarations_code_tail:
+            self.code_creator.add_declaration_code( code, -1 )
+
+        for code in self.__declarations_code_head:
+            self.code_creator.add_declaration_code( code, 0 )
+
+        body = self.code_creator.body
+
+        for code in self.__registrations_code_tail:
+            body.adopt_creator( code_creators.custom_text_t( code ), -1 )
+
+        for code in self.__registrations_code_head:
+            body.adopt_creator( code_creators.custom_text_t( code ), 0 )
+
+
+    def write_module( self, file_name ):
+        """
+        Writes module to a single file
+
+        :param file_name: file name
+        :type file_name: string
+
+        """
+        self.__merge_user_code()
+        file_writers.write_file( self.code_creator, file_name, encoding=self.encoding )
+
+    def __work_on_unused_files( self, dir_name, written_files, on_unused_file_found ):
+        all_files = os.listdir( dir_name )
+        all_files = [os.path.join( dir_name, fname ) for fname in all_files]
+        all_files = list(filter( file_writers.has_pypp_extenstion, all_files ))
+
+        unused_files = set( all_files ).difference( set( written_files ) )
+        for fpath in unused_files:
+            try:
+                if on_unused_file_found is os.remove:
+                    self.logger.info( 'removing file "%s"' % fpath )
+                on_unused_file_found( fpath )
+            except Exception as error:
+                self.logger.exception( "Exception was catched, while executing 'on_unused_file_found' function."  )
+
+    def split_module( self
+                      , dir_name
+                      , huge_classes=None
+                      , on_unused_file_found=os.remove
+                      , use_files_sum_repository=False):
+        """
+        writes module to multiple files
+
+        :param dir_name: directory name
+        :type dir_name: str
+
+        :param huge_classes: list that contains reference to classes, that should be split
+
+        :param on_unused_file_found: callable object that represents the action that should be taken on
+                                     file, which is no more in use
+
+        :param use_files_sum_repository: `Py++` can generate file, which will contain `md5` sum of every generated file.
+                                          Next time you generate code, md5sum will be loaded from the file and compared.
+                                          This could speed-up code generation process by 10-15%.
+        """
+        self.__merge_user_code()
+
+        files_sum_repository = None
+        if use_files_sum_repository:
+            cache_file = os.path.join( dir_name, self.code_creator.body.name + '.md5.sum' )
+            files_sum_repository = file_writers.cached_repository_t( cache_file )
+
+        written_files = []
+        if None is huge_classes:
+            written_files = file_writers.write_multiple_files(
+                                self.code_creator
+                                , dir_name
+                                , files_sum_repository=files_sum_repository
+                                , encoding=self.encoding)
+        else:
+            written_files = file_writers.write_class_multiple_files(
+                                self.code_creator
+                                , dir_name
+                                , huge_classes
+                                , files_sum_repository=files_sum_repository
+                                , encoding=self.encoding)
+        self.__work_on_unused_files( dir_name, written_files, on_unused_file_found )
+
+        return written_files
+
+    def balanced_split_module( self
+                               , dir_name
+                               , number_of_files
+                               , on_unused_file_found=os.remove
+                               , use_files_sum_repository=False):
+        """
+        Writes module to fixed number of multiple cpp files
+
+        :param number_of_files: the desired number of generated cpp files
+        :type number_of_files: int
+
+        :param dir_name: directory name
+        :type dir_name: string
+
+        :param on_unused_file_found: callable object that represents the action that should be taken on
+                                     file, which is no more in use
+
+        :param use_files_sum_repository: `Py++` can generate file, which will contain md5 sum of every generated file.
+                                          Next time you generate code, md5sum will be loaded from the file and compared.
+                                          This could speed-up code generation process by 10-15%.
+        """
+        self.__merge_user_code()
+
+        files_sum_repository = None
+        if use_files_sum_repository:
+            cache_file = os.path.join( dir_name, self.code_creator.body.name + '.md5.sum' )
+            files_sum_repository = file_writers.cached_repository_t( cache_file )
+
+        written_files = file_writers.write_balanced_files( self.code_creator
+                                                           , dir_name
+                                                           , number_of_buckets=number_of_files
+                                                           , files_sum_repository=files_sum_repository
+                                                           , encoding=self.encoding)
+
+        self.__work_on_unused_files( dir_name, written_files, on_unused_file_found )
+
+        return written_files
+
+    def _get_BOOST_PYTHON_MAX_ARITY( self ):
+        return decl_wrappers.calldef_t.BOOST_PYTHON_MAX_ARITY
+    def _set_BOOST_PYTHON_MAX_ARITY( self, value ):
+        decl_wrappers.calldef_t.BOOST_PYTHON_MAX_ARITY = value
+    BOOST_PYTHON_MAX_ARITY = property( _get_BOOST_PYTHON_MAX_ARITY, _set_BOOST_PYTHON_MAX_ARITY )
diff --git a/pyplusplus/module_builder/call_policies.py b/pyplusplus/module_builder/call_policies.py
new file mode 100644
index 0000000..f58a393
--- /dev/null
+++ b/pyplusplus/module_builder/call_policies.py
@@ -0,0 +1,26 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from pyplusplus.decl_wrappers import default_call_policies
+from pyplusplus.decl_wrappers import return_arg
+from pyplusplus.decl_wrappers import return_self
+from pyplusplus.decl_wrappers import return_internal_reference
+from pyplusplus.decl_wrappers import with_custodian_and_ward
+from pyplusplus.decl_wrappers import with_custodian_and_ward_postcall
+from pyplusplus.decl_wrappers import return_value_policy_t
+from pyplusplus.decl_wrappers import copy_const_reference
+from pyplusplus.decl_wrappers import copy_non_const_reference
+from pyplusplus.decl_wrappers import manage_new_object
+from pyplusplus.decl_wrappers import reference_existing_object
+from pyplusplus.decl_wrappers import return_by_value
+from pyplusplus.decl_wrappers import return_opaque_pointer
+from pyplusplus.decl_wrappers import return_value_policy
+from pyplusplus.decl_wrappers import return_pointee_value
+from pyplusplus.decl_wrappers import return_addressof
+from pyplusplus.decl_wrappers import custom_call_policies
+from pyplusplus.decl_wrappers import convert_array_to_tuple
+from pyplusplus.decl_wrappers import memory_managers
+from pyplusplus.decl_wrappers import return_range
+from pyplusplus.decl_wrappers import return_range_t
diff --git a/pyplusplus/module_builder/ctypes_builder.py b/pyplusplus/module_builder/ctypes_builder.py
new file mode 100644
index 0000000..1840dac
--- /dev/null
+++ b/pyplusplus/module_builder/ctypes_builder.py
@@ -0,0 +1,162 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import time
+import types
+import warnings
+from . import module_builder
+from . import ctypes_decls_dependencies
+
+from pygccxml import binary_parsers
+from pygccxml import parser
+from pygccxml import declarations as decls_package
+
+from pyplusplus import utils
+from pyplusplus import _logging_
+from pyplusplus import decl_wrappers
+from pyplusplus import file_writers
+from pyplusplus import code_creators
+from pyplusplus import creators_factory
+
+class ctypes_module_builder_t(module_builder.module_builder_t):
+    """
+    """
+    def __init__( self
+                  , files
+                  , exported_symbols_file
+                  , gccxml_generator_config=None
+                  , xml_generator_config=None
+                  , optimize_queries=True
+                  , encoding='ascii' ):
+        """
+        :param files: list of files, declarations from them you want to export
+        :type files: list of strings or :class:`parser.file_configuration_t` instances
+        """
+        if gccxml_generator_config and not xml_generator_config:
+            xml_generator_config = gccxml_generator_config
+
+        module_builder.module_builder_t.__init__( self, global_ns=None, encoding=encoding )
+
+        self.global_ns = self.__parse_declarations( files, xml_generator_config )
+        self.global_ns.decls(recursive=True, allow_empty=True)._code_generator = decl_wrappers.CODE_GENERATOR_TYPES.CTYPES
+        self.__blob2decl = binary_parsers.merge_information( self.global_ns, exported_symbols_file )
+
+        self.__apply_defaults()
+
+        self.__code_creator = None
+        if optimize_queries:
+            self.run_query_optimizer()
+
+        self.__treat_char_ptr_as_binary_data = None
+
+        self.__module_code_head = []
+        self.__module_code_tail = []
+
+    def __parse_declarations( self, files, xml_generator_config, compilation_mode=None, cache=None ):
+        if None is xml_generator_config:
+            xml_generator_config = parser.xml_generator_configuration_t()
+        if None is compilation_mode:
+            compilation_mode = parser.COMPILATION_MODE.FILE_BY_FILE
+        start_time = time.clock()
+        self.logger.debug( 'parsing files - started' )
+        reader = parser.project_reader_t( xml_generator_config, cache, decl_wrappers.dwfactory_t() )
+        decls = reader.read_files( files, compilation_mode )
+
+        self.logger.debug( 'parsing files - done( %f seconds )' % ( time.clock() - start_time ) )
+
+        return decls_package.matcher.get_single( decls_package.namespace_matcher_t( name='::' )
+                                                 , decls )
+
+    def __include_declarations( self ):
+        self.global_ns.exclude()
+        #include exported declarations
+        included_decls = set( self.__blob2decl.values() )
+        to_be_included = ctypes_decls_dependencies.find_out_dependencies( included_decls )
+        to_be_included.update( included_decls )
+        for d in to_be_included: d.include()
+
+    def __apply_defaults( self ):
+        self.__include_declarations()
+        anonymous_classes = self.global_ns.classes( '', recursive=True, allow_empty=True )
+        anonymous_classes.alias = '_'
+        #TODO: check whether the anonymous class unique or not
+        #if 1 == len( anonymous.parent.classes( '', recursive=False ) ):
+        anonymous_vars = self.global_ns.vars( '', recursive=True, allow_empty=True )
+        anonymous_vars.alias = '_'
+
+    def __get_treat_char_ptr_as_binary_data(self):
+        if self.has_code_creator():
+            return self.code_creator.treat_char_ptr_as_binary_data
+        else:
+            return self.__treat_char_ptr_as_binary_data
+    def __set_treat_char_ptr_as_binary_data( self, value ):
+        self.__treat_char_ptr_as_binary_data = value
+        if self.has_code_creator():
+            self.code_creator.treat_char_ptr_as_binary_data = value
+            
+    treat_char_ptr_as_binary_data = property( __get_treat_char_ptr_as_binary_data, __set_treat_char_ptr_as_binary_data,
+                                              doc="""If True, Py++ will generate "POINTER( char )", instead of "c_char_p" for "char*" type. By default it is False""" )
+
+    @property
+    def module_code_head( self ):
+        "A list of the user code, which will be added to the top of the module"
+        return self.__module_code_head
+
+    @property
+    def module_code_tail( self ):
+        "A list of the user code, which will be added to the bottom of the module"
+        return self.__module_code_tail
+
+    def add_module_code( self, code, tail=True ):
+        """adds the user code to the generated one"""
+        if tail:
+            self.__module_code_tail.append( code )
+        else:
+            self.__module_code_head.append( code )
+
+    def build_code_creator( self, library_path, doc_extractor=None ):
+        creator = creators_factory.ctypes_creator_t( self.global_ns
+                                                    , library_path
+                                                    , self.__blob2decl )
+        self.__code_creator = creator.create()
+        self.__code_creator.update_documentation( doc_extractor )
+        if self.__treat_char_ptr_as_binary_data != None:
+            self.__code_creator.treat_char_ptr_as_binary_data = self.__treat_char_ptr_as_binary_data
+        return self.__code_creator
+
+    @property
+    def code_creator( self ):
+        "reference to :class:`code_creators.ctypes_module_t` instance"
+        if not self.__code_creator:
+            raise RuntimeError( "self.module is equal to None. Did you forget to call build_code_creator function?" )
+        return self.__code_creator
+
+    def has_code_creator( self ):
+        """
+        Returns True if build_code_creator function has been called and False otherwise
+        """
+        return not ( None is self.__code_creator )
+
+    def __merge_user_code( self ):
+        for code in self.module_code_tail:
+            self.code_creator.adopt_creator( code_creators.custom_text_t( code ) )
+
+        for code in self.module_code_head:
+            self.code_creator.adopt_creator( code_creators.custom_text_t( code ), 0 )
+
+    def write_module( self, file_name ):
+        """
+        Writes module to single file
+
+        :param file_name: file name
+        :type file_name: string
+
+        """
+        self.__merge_user_code()
+        file_writers.write_file( self.code_creator, file_name, encoding=self.encoding )
+
+
diff --git a/pyplusplus/module_builder/ctypes_decls_dependencies.py b/pyplusplus/module_builder/ctypes_decls_dependencies.py
new file mode 100644
index 0000000..4105c94
--- /dev/null
+++ b/pyplusplus/module_builder/ctypes_decls_dependencies.py
@@ -0,0 +1,56 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the 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 algorithm, which calculates from exported symbols, all declaration
+that should be exposed too.
+"""
+
+from pygccxml import declarations
+
+decls_traits = ( declarations.class_traits
+                 , declarations.enum_traits 
+                 , declarations.class_declaration_traits )
+                 
+i_depend_on_them = declarations.dependency_info_t.i_depend_on_them
+
+def get_decl_dependencies(decl):    
+    dependencies = set()
+    for dependency in i_depend_on_them( decl ):
+        for traits in decls_traits:
+            if traits.is_my_case( dependency ):
+                dd = traits.get_declaration( dependency )
+                dependencies.add( dd )
+    return dependencies
+
+def get_parent_classes( decl ):
+    classes = set()
+    parent = decl.parent
+    while True:
+        if isinstance( parent, declarations.namespace_t ):
+            break
+        classes.add( parent )
+        parent = parent.parent
+    return classes
+        
+def find_out_dependencies( included_decls ):
+    dependencies = set()
+    for d in included_decls:
+        dependencies.update( get_parent_classes(d) )
+        dependencies.update( get_decl_dependencies( d ) )
+        
+    visited = set()
+    while dependencies:
+        d = dependencies.pop()
+        if d in visited:
+            continue
+        visited.add( d )
+        if isinstance( d, declarations.class_t ):
+            for var in d.vars( recursive=False, allow_empty=True ):
+                dependencies.update( get_decl_dependencies( var ) )
+            dependencies.update( [hi.related_class for hi in d.recursive_bases] )
+            dependencies.update( get_parent_classes( d ) )
+    return visited
diff --git a/pyplusplus/module_builder/module_builder.py b/pyplusplus/module_builder/module_builder.py
new file mode 100644
index 0000000..b97ca0a
--- /dev/null
+++ b/pyplusplus/module_builder/module_builder.py
@@ -0,0 +1,320 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import sys
+
+from pyplusplus import _logging_
+from pyplusplus import decl_wrappers
+
+class module_builder_t(object):
+    """base class for different module builders."""
+
+    def __init__( self, global_ns=None, encoding='ascii' ):
+        """
+        """
+        object.__init__( self )
+        self.logger = _logging_.loggers.module_builder
+        self.__encoding = encoding
+        self.__global_ns = global_ns
+
+    def __get_global_ns( self ):
+        if not self.__global_ns:
+            raise RuntimeError( "Reference to global namespace declaration was not set." )
+        return self.__global_ns
+    def __set_global_ns( self, global_ns ):
+        self.__global_ns = global_ns
+
+    global_ns = property( __get_global_ns, __set_global_ns
+                          ,  doc="""reference to global namespace""" )
+
+    @property
+    def encoding( self ):
+        return self.__encoding
+
+    def run_query_optimizer(self):
+        """
+        It is possible to optimize time that takes to execute queries. In most cases
+        this is done from the :meth:`__init__` method. But there are use-case,
+        when you need to disable optimizer and run it later.
+        """
+        self.global_ns.init_optimizer()
+
+    def print_declarations(self, decl=None, detailed=True, recursive=True, writer=sys.stdout.write):
+        """
+        This function will print detailed description of all declarations or
+        some specific one.
+
+        :param decl: optional, if passed, then only it will be printed
+        :type decl: instance of :class:`decl_wrappers.decl_wrapper_t` class
+        """
+        if None is decl:
+            decl = self.global_ns
+        decl_wrappers.print_declarations( decl, detailed, recursive, writer )
+
+    #select decl(s) interfaces
+    def decl( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.decl( name=name
+                                    , function=function
+                                    , header_dir=header_dir
+                                    , header_file=header_file
+                                    , recursive=recursive)
+
+    def decls( self, name=None, function=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.decls( name=name
+                                     , function=function
+                                     , header_dir=header_dir
+                                     , header_file=header_file
+                                     , recursive=recursive
+                                     , allow_empty=allow_empty)
+
+    def class_( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.class_( name=name
+                                      , function=function
+                                      , header_dir=header_dir
+                                      , header_file=header_file
+                                      , recursive=recursive)
+
+    def classes( self, name=None, function=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.classes( name=name
+                                       , function=function
+                                       , header_dir=header_dir
+                                       , header_file=header_file
+                                       , recursive=recursive
+                                       , allow_empty=allow_empty)
+
+    def variable( self, name=None, function=None, type=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.variable( name=name
+                                        , function=function
+                                        , type=type
+                                        , header_dir=header_dir
+                                        , header_file=header_file
+                                        , recursive=recursive)
+    var = variable
+
+    def variables( self, name=None, function=None, type=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.variables( name=name
+                                         , function=function
+                                         , type=type
+                                         , header_dir=header_dir
+                                         , header_file=header_file
+                                         , recursive=recursive
+                                         , allow_empty=allow_empty)
+    vars = variables
+
+    def calldef( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.calldef( name=name
+                                       , function=function
+                                       , return_type=return_type
+                                       , arg_types=arg_types
+                                       , header_dir=header_dir
+                                       , header_file=header_file
+                                       , recursive=recursive )
+
+    def calldefs( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.calldefs( name=name
+                                        , function=function
+                                        , return_type=return_type
+                                        , arg_types=arg_types
+                                        , header_dir=header_dir
+                                        , header_file=header_file
+                                        , recursive=recursive
+                                        , allow_empty=allow_empty)
+
+    def operator( self, name=None, symbol=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.operator( name=name
+                                        , symbol=symbol
+                                        , return_type=return_type
+                                        , arg_types=arg_types
+                                        , header_dir=header_dir
+                                        , header_file=header_file
+                                        , recursive=recursive )
+
+    def operators( self, name=None, symbol=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.operators( name=name
+                                         , symbol=symbol
+                                         , return_type=return_type
+                                         , arg_types=arg_types
+                                         , header_dir=header_dir
+                                         , header_file=header_file
+                                         , recursive=recursive
+                                         , allow_empty=allow_empty )
+
+    def member_function( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.member_function( name=name
+                                               , function=function
+                                               , return_type=return_type
+                                               , arg_types=arg_types
+                                               , header_dir=header_dir
+                                               , header_file=header_file
+                                               , recursive=recursive )
+    mem_fun = member_function
+
+    def member_functions( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.member_functions( name=name
+                                                , function=function
+                                                , return_type=return_type
+                                                , arg_types=arg_types
+                                                , header_dir=header_dir
+                                                , header_file=header_file
+                                                , recursive=recursive
+                                                , allow_empty=allow_empty)
+
+    mem_funs = member_functions
+
+    def constructor( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.constructor( name=name
+                                           , function=function
+                                           , return_type=return_type
+                                           , arg_types=arg_types
+                                           , header_dir=header_dir
+                                           , header_file=header_file
+                                           , recursive=recursive )
+
+    def constructors( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.constructors( name=name
+                                            , function=function
+                                            , return_type=return_type
+                                            , arg_types=arg_types
+                                            , header_dir=header_dir
+                                            , header_file=header_file
+                                            , recursive=recursive
+                                            , allow_empty=allow_empty)
+
+    def member_operator( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.member_operator( name=name
+                                               , symbol=symbol
+                                               , function=function
+                                               , return_type=return_type
+                                               , arg_types=arg_types
+                                               , header_dir=header_dir
+                                               , header_file=header_file
+                                               , recursive=recursive )
+
+    def member_operators( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.member_operators( name=name
+                                                , symbol=symbol
+                                                , function=function
+                                                , return_type=return_type
+                                                , arg_types=arg_types
+                                                , header_dir=header_dir
+                                                , header_file=header_file
+                                                , recursive=recursive
+                                                , allow_empty=allow_empty )
+
+    def casting_operator( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.casting_operator( name=name
+                                                , function=function
+                                                , return_type=return_type
+                                                , arg_types=arg_types
+                                                , header_dir=header_dir
+                                                , header_file=header_file
+                                                , recursive=recursive )
+
+    def casting_operators( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.casting_operators( name=name
+                                                 , function=function
+                                                 , return_type=return_type
+                                                 , arg_types=arg_types
+                                                 , header_dir=header_dir
+                                                 , header_file=header_file
+                                                 , recursive=recursive
+                                                 , allow_empty=allow_empty)
+
+    def enumeration( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.enumeration( name=name
+                                           , function=function
+                                           , header_dir=header_dir
+                                           , header_file=header_file
+                                           , recursive=recursive)
+    enum = enumeration
+
+    def enumerations( self, name=None, function=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.scopedef_t` class documentation"""
+        return self.global_ns.enumerations( name=name
+                                            , function=function
+                                            , header_dir=header_dir
+                                            , header_file=header_file
+                                            , recursive=recursive
+                                            , allow_empty=allow_empty)
+
+    enums = enumerations
+
+    def namespace( self, name=None, function=None, recursive=None ):
+        """Please see :class:`decl_wrappers.namespace_t` class documentation"""
+        return self.global_ns.namespace( name=name
+                                         , function=function
+                                         , recursive=recursive )
+
+    def namespaces( self, name=None, function=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.namespace_t` class documentation"""
+        return self.global_ns.namespaces( name=name
+                                          , function=function
+                                          , recursive=recursive
+                                          , allow_empty=allow_empty )
+
+    def free_function( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.namespace_t` class documentation"""
+        return self.global_ns.free_function( name=name
+                                             , function=function
+                                             , return_type=return_type
+                                             , arg_types=arg_types
+                                             , header_dir=header_dir
+                                             , header_file=header_file
+                                             , recursive=recursive )
+    free_fun = free_function
+
+    def free_functions( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.namespace_t` class documentation"""
+        return self.global_ns.free_functions( name=name
+                                              , function=function
+                                              , return_type=return_type
+                                              , arg_types=arg_types
+                                              , header_dir=header_dir
+                                              , header_file=header_file
+                                              , recursive=recursive
+                                              , allow_empty=allow_empty)
+    free_funs = free_functions
+
+    def free_operator( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ):
+        """Please see :class:`decl_wrappers.namespace_t` class documentation"""
+        return self.global_ns.free_operator( name=name
+                                             , symbol=symbol
+                                             , function=function
+                                             , return_type=return_type
+                                             , arg_types=arg_types
+                                             , header_dir=header_dir
+                                             , header_file=header_file
+                                             , recursive=recursive )
+
+    def free_operators( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ):
+        """Please see :class:`decl_wrappers.namespace_t` class documentation"""
+        return self.global_ns.free_operators( name=name
+                                              , symbol=symbol
+                                              , function=function
+                                              , return_type=return_type
+                                              , arg_types=arg_types
+                                              , header_dir=header_dir
+                                              , header_file=header_file
+                                              , recursive=recursive
+                                              , allow_empty=allow_empty )
diff --git a/pyplusplus/utils/__init__.py b/pyplusplus/utils/__init__.py
new file mode 100644
index 0000000..a53ec0d
--- /dev/null
+++ b/pyplusplus/utils/__init__.py
@@ -0,0 +1,203 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+"""
+This module is a collection of unrelated algorithms, that works on code creators
+tree.
+"""
+import os
+import math
+from pygccxml import declarations
+from pyplusplus import code_creators  
+
+class missing_call_policies:
+    @staticmethod
+    def _selector( creator ):
+        if not isinstance( creator, code_creators.declaration_based_t ):
+            return False
+        if not isinstance( creator.declaration, declarations.calldef_t ):
+            return False
+        if isinstance( creator.declaration, declarations.constructor_t ):
+            return False
+        return hasattr(creator, 'call_policies') and not creator.call_policies
+
+    @staticmethod    
+    def print_( extmodule ):
+        creators = list(filter( missing_call_policies._selector
+                           , code_creators.make_flatten_generator( extmodule.creators ) ))
+        for creator in creators:
+            print(creator.declaration.__class__.__name__, ': ', declarations.full_name( creator.declaration ))
+            print('  *** MISSING CALL POLICY', creator.declaration.function_type().decl_string)
+            print() 
+
+    @staticmethod    
+    def exclude( extmodule ):
+        creators = list(filter( missing_call_policies._selector
+                           , code_creators.make_flatten_generator( extmodule.creators ) ))
+        for creator in creators:
+            creator.parent.remove_creator( creator )
+    
+def split_sequence(seq, bucket_size):
+    #split sequence to buckets, where every will contain maximum bucket_size items
+    bucket_size = int(bucket_size)
+    seq_len = len( seq )
+    if seq_len <= bucket_size:
+        return [ seq ] 
+    buckets = []
+    num_of_buckets = int( math.ceil( float( seq_len ) / bucket_size ) )
+    for i in range(num_of_buckets):
+        from_ = i * bucket_size
+        to = min( ( i + 1) * bucket_size, seq_len )
+        buckets.append( seq[ from_ : to ] )
+    return buckets
+    
+
+class exposed_decls_db_t( object ):
+    DEFAULT_FILE_NAME = 'exposed_decl.pypp.txt'
+    class row_t( declarations.decl_visitor_t ):
+        FIELD_DELIMITER = '@'                
+        EXPOSED_DECL_SIGN = '+'
+        UNEXPOSED_DECL_SIGN = '~'
+        CALLDEF_SIGNATURE_DELIMITER = '#'
+                
+        def __init__( self, decl_or_string ):
+            self.key = ''
+            self.signature = ''
+            self.exposed_sign = ''
+            self.normalized_name = ''                        
+            if isinstance( decl_or_string, declarations.declaration_t ):
+                self.__init_from_decl( decl_or_string )
+            else:
+                self.__init_from_str( decl_or_string )
+
+        def find_out_normalized_name( self, decl ):
+            if decl.name: 
+                return decl.partial_name
+            elif decl.location:#unnamed enums, classes, unions
+                return str( decl.location.as_tuple() )
+            elif isinstance( decl, declarations.namespace_t ):
+                return '' #I don't really care about unnamed namespaces
+            else: #this should nevere happen
+                raise RuntimeError( "Unable to create normalized name for declaration: " + str(decl))
+
+        def __init_from_str( self, row ):
+            self.exposed_sign, self.key, self.normalized_name, self.signature \
+                = row.split( self.FIELD_DELIMITER )
+
+        def update_key( self, cls ):
+            self.key = cls.__name__
+            
+        def __init_from_decl( self, decl ):
+            if decl.ignore:
+                self.exposed_sign = self.UNEXPOSED_DECL_SIGN
+            else:
+                self.exposed_sign = self.EXPOSED_DECL_SIGN
+            
+            self.update_key( decl.__class__ )
+            
+            self.signature = decl.create_decl_string( with_defaults=False )
+            if isinstance( decl, declarations.calldef_t ):
+                self.signature = self.signature + decl.function_type().decl_string
+                
+            self.normalized_name = self.find_out_normalized_name( decl )
+            
+        def __str__( self ):
+            return self.FIELD_DELIMITER.join([ self.exposed_sign
+                                               , self.key
+                                               , self.normalized_name
+                                               , self.signature])
+        
+        def does_refer_same_decl( self, other ):
+            return self.key == other.key \
+                   and self.signature == other.signature \
+                   and self.normalized_name == other.normalized_name
+        
+    def __init__( self ):
+        self.__registry = {} # key : { name : set(row) }
+        self.__row_delimiter = os.linesep
+        
+    def save( self, fpath ):
+        if os.path.isdir( fpath ):
+            fpath = os.path.join( fpath, self.DEFAULT_FILE_NAME )
+        f = open( fpath, 'w+b' )
+        for name2rows in self.__registry.values():
+            for rows in name2rows.values():
+                for row in rows:
+                    f.write( ('%s%s' % ( str(row), self.__row_delimiter )).encode('ascii') )
+        f.close()
+
+    def load( self, fpath ):
+        if os.path.isdir( fpath ):
+            fpath = os.path.join( fpath, self.DEFAULT_FILE_NAME )        
+        f = open( fpath, 'r+b' )
+        for line in f:
+            line = line.decode('ascii')
+            row = self.row_t( line.replace( self.__row_delimiter, '' ) )            
+            self.__update_registry( row )
+    
+    def __update_registry( self, row ):        
+        if row.key not in self.__registry:            
+            self.__registry[ row.key ] = { row.normalized_name : [row] }
+        else:       
+            if row.normalized_name not in self.__registry[ row.key ]:
+                self.__registry[ row.key ][row.normalized_name] = [row]
+            else:
+                self.__registry[ row.key ][row.normalized_name].append(row)
+    
+    def __find_row_in_registry( self, row ):
+        try:
+            decls = [rrow for rrow in self.__registry[ row.key ][ row.normalized_name ] if rrow.does_refer_same_decl( row )]
+            if decls:
+                return decls[0]
+            else:
+                return None
+        except KeyError:
+            return None
+        
+    def __find_in_registry( self, decl ):
+        row = self.row_t( decl )
+        found = self.__find_row_in_registry( row )
+        if found:
+            return found        
+        if isinstance( decl, declarations.class_t ):
+            row.update_key( declarations.class_declaration_t )
+            found = self.__find_row_in_registry( row )
+            if found:
+                return found        
+        if isinstance( decl, declarations.class_declaration_t ):
+            row.update_key( declarations.class_t )
+            found = self.__find_row_in_registry( row )
+            if found:
+                return found        
+        return None
+        
+    def is_exposed( self, decl ):
+        row = self.__find_in_registry( decl)
+        return row and self.row_t.EXPOSED_DECL_SIGN == row.exposed_sign
+        
+    def update_decls( self, global_ns ):
+        for decl in global_ns.decls():
+            row = self.__find_in_registry( decl )
+            if not row:
+                continue
+            if self.row_t.EXPOSED_DECL_SIGN == row.exposed_sign:
+                decl.ignore = False
+                decl.already_exposed = True
+            else:
+                decl.ignore = True
+                decl.already_exposed = False
+
+    def register_decls( self, global_ns, special_decls ):
+        """register decls in the database
+        
+        global_ns - reference to the global namespace object 
+        special_decls - set of declarations, which were exposed, even so they 
+        were not ``included``. For example std containers.
+        """        
+        for decl in global_ns.decls():
+            row = self.row_t( decl )
+            if decl in special_decls:
+                row.exposed_sign = row.EXPOSED_DECL_SIGN    
+            self.__update_registry( row )
diff --git a/scripts/freeze.py b/scripts/freeze.py
new file mode 100644
index 0000000..a28b3b0
--- /dev/null
+++ b/scripts/freeze.py
@@ -0,0 +1,36 @@
+import os
+import sys
+#~ from cx_Freeze import setup, Executable
+
+sys.path.append( '..' )
+sys.path.append( '../../pygccxml_dev' )
+
+import pygccxml
+import pyplusplus
+
+#~ import encodings
+#~ encodings_modules = os.listdir( os.path.dirname( encodings.__file__ ) )
+#~ encodings_modules = set([ os.path.splitext( m )[0] for m in encodings_modules ])
+#~ encodings_modules = map( lambda m: 'encodings.%s.py' % m, encodings_modules )
+
+#~ executable = Executable( "wrap_library.py"
+                         #~ , path=['../../pygccxml_dev', '..' ]
+                         #~ , includes=encodings_modules
+                         #~ , packages=['pygccxml','pyplusplus','encodings'] + encodings_modules )
+
+#~ setup( name = "wrap_library",
+        #~ version = "0.1",
+        #~ description=r"generates ctypes code from the .dll\.so files",
+        #~ executables=[executable] )
+
+    #~ import modulefinder
+    #~ import win32com
+    #~ root = os.path.dirname( sys.executable )
+    #~ modulefinder.AddPackagePath("win32com", os.path.join(root, 'Lib', 'site-packages', 'win32com' ) )
+    #~ modulefinder.AddPackagePath("win32com", os.path.join(root, 'Lib', 'site-packages', 'win32comext' ) )
+
+
+from distutils.core import setup
+import py2exe
+setup( console=["wrap_library.py"] )
+#print py2exe cmd: python freeze.py py2exe
diff --git a/scripts/pyplusplus_gui b/scripts/pyplusplus_gui
new file mode 100644
index 0000000..f11060d
--- /dev/null
+++ b/scripts/pyplusplus_gui
@@ -0,0 +1,12 @@
+#!/usr/bin/python
+#
+# Call the graphical interface for pyplusplus.
+#
+
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from pyplusplus.gui import show_demo
+show_demo()
diff --git a/scripts/pyplusplus_gui.pyw b/scripts/pyplusplus_gui.pyw
new file mode 100644
index 0000000..863951a
--- /dev/null
+++ b/scripts/pyplusplus_gui.pyw
@@ -0,0 +1,12 @@
+#!/usr/bin/python
+#
+# Call the graphical interface for pyplusplus.
+#
+
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from pyplusplus.gui import show_demo
+show_demo()
\ No newline at end of file
diff --git a/scripts/wrap_library.py b/scripts/wrap_library.py
new file mode 100644
index 0000000..fc05f78
--- /dev/null
+++ b/scripts/wrap_library.py
@@ -0,0 +1,86 @@
+import os
+import sys
+import types
+
+try:
+    import pygccxml
+except ImportError as err:
+    sys.path.append( '../../pygccxml_dev' )
+    import pygccxml
+
+try:
+    import pyplusplus
+except ImportError as err:
+    sys.path.append( '..' )
+    import pyplusplus
+    
+import optparse
+
+parser = optparse.OptionParser()
+parser.add_option( '-c'
+                   , '--compiler-config'
+                   , dest="compiler_config"
+                   , help="pygccxml configuration file for GCCXML"
+                   , type="string"
+                   , action="store"
+                   , default=os.path.abspath( os.path.join( os.curdir, 'gccxml.cfg' ) ) )
+
+parser.add_option( '-g'
+                   , '--generate-config'
+                   , dest="generate_config"
+                   , help="generates an example of the compiler configuration file (gccxml.cfg) in the current working directory"
+                   , action="store_true"
+                   , default=False )
+
+parser.add_option( '-s'
+                   , '--source-file'
+                   , dest="source_file"
+                   , help="source file name - should be specified"
+                   , type="string"
+                   , action="store" )
+
+parser.add_option( '-d'
+                   , '--shared-library'
+                   , dest="shared_library"
+                   , help=r"shared\dynamic library file name  - should be specified"
+                   , type="string"
+                   , action="store" )
+
+parser.add_option( '-o'
+                   , '--output-file'
+                   , dest="output_file"
+                   , help="output file name, if not specified stdout will be used"
+                   , type="string"
+                   , action="store"
+                   , default=sys.stdout )
+
+def generate_code( options ):
+    gccxml = pygccxml.parser.load_gccxml_configuration( options.compiler_config )
+    #~ import pdb
+    #~ pdb.set_trace()
+    fc = pygccxml.parser.create_source_fc( options.source_file )    
+    mb = pyplusplus.module_builder.ctypes_module_builder_t( [ fc ], options.shared_library, gccxml )
+    mb.build_code_creator( options.shared_library )
+    if isinstance( options.output_file, str ):    
+        mb.write_module( options.output_file )
+    else:
+        print(mb.code_creator.create())
+
+if __name__ == '__main__':
+    options, unused = parser.parse_args(sys.argv[1:])
+    
+    if options.generate_config:
+        f_path = os.path.abspath( os.path.join( os.curdir, 'gccxml.cfg' ) )
+        f = file( f_path, 'w+' )
+        f.write( pygccxml.parser.gccxml_configuration_example )
+        f.close()
+        print('file: "%s" was generated' % f_path)
+    else:
+        if None is options.source_file:
+            parser.error("You have to specify source file")
+        if None is options.shared_library:
+            parser.error(r"You have to specify shared\dynamic library file")
+        else:
+            generate_code( options )
+        
+        
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..db5a367
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+# Copyright 2015 Mark Moll
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+
+from setuptools import setup
+
+setup(name = "pyplusplus",
+      version = "1.6.0",
+       author="Roman Yakovenko",
+       author_email="roman yakovenko at gmail.com",
+       maintainer="Mark Moll",
+       maintainer_email="mark moll at gmail.com",
+       description="Py++ is a framework of components for creating a C++ code generator using the Boost.Python library",
+       url="https://bitbucket.org/ompl/pyplusplus",
+       download_url="https://bitbucket.org/ompl/pyplusplus/get/tip.zip",
+       license="Boost",
+       keywords="C++, declaration parser, python bindings",
+       packages=['pyplusplus',
+                 'pyplusplus.file_writers',
+                 'pyplusplus.code_creators',
+                 'pyplusplus.creators_factory',
+                 'pyplusplus.code_repository',
+                 'pyplusplus.code_repository.indexing_suite',
+                 'pyplusplus.decl_wrappers',
+                 'pyplusplus.module_builder',
+                 'pyplusplus.utils',
+                 'pyplusplus.function_transformers',
+                 'pyplusplus._logging_',
+                 'pyplusplus.messages'],
+      install_requires=['pygccxml'],
+      classifiers=[
+          "Development Status :: 5 - Production/Stable",
+          "Environment :: Console",
+          "Intended Audience :: Developers",
+          "Operating System :: MacOS :: MacOS X",
+          "Operating System :: Microsoft :: Windows",
+          "Operating System :: POSIX",
+          "Programming Language :: Python",
+          "Topic :: Software Development"]
+)
diff --git a/unittests/__init__.py b/unittests/__init__.py
new file mode 100644
index 0000000..dbce334
--- /dev/null
+++ b/unittests/__init__.py
@@ -0,0 +1,6 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+ 
\ No newline at end of file
diff --git a/unittests/abstract_classes_tester.py b/unittests/abstract_classes_tester.py
new file mode 100644
index 0000000..9560a67
--- /dev/null
+++ b/unittests/abstract_classes_tester.py
@@ -0,0 +1,32 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'abstract_classes'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+        
+    def run_tests(self, module):        
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/abstract_tester.py b/unittests/abstract_tester.py
new file mode 100644
index 0000000..ce1cd5b
--- /dev/null
+++ b/unittests/abstract_tester.py
@@ -0,0 +1,49 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'abstract'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def create_circle(self, module):
+        class circle( module.shape ):
+            def __init__(self):
+                module.shape.__init__( self )
+            
+            def color(self):
+                return module.colors.green
+            
+        return circle()
+    
+    def run_tests( self, module):
+        sh = module.shape()
+        sq = module.square()
+        cr = self.create_circle(module)
+        self.failIfNotRaisesAny( sh.color )
+        self.assertTrue( sq.color() == module.colors.red)
+        self.assertTrue( module.call(sq) == module.colors.red)
+        self.assertTrue( cr.color() == module.colors.green )
+        self.assertTrue( module.call(cr) == module.colors.green )         
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/algorithms_tester.py b/unittests/algorithms_tester.py
new file mode 100644
index 0000000..302905b
--- /dev/null
+++ b/unittests/algorithms_tester.py
@@ -0,0 +1,328 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import pygccxml
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus import code_creators
+from pyplusplus import creators_factory
+from pyplusplus import module_builder
+from pyplusplus import utils as pypp_utils
+from pyplusplus import function_transformers as ft
+
+class indent_tester_t(unittest.TestCase):
+    def test( self ):
+        indent = code_creators.code_creator_t.indent
+        self.assertTrue( '    abc' == indent('abc') )
+
+class make_flatten_tester_t(unittest.TestCase):
+    def test(self):
+        mb = module_builder.module_builder_t(
+                [ module_builder.create_text_fc( 'namespace enums{ enum { OK=1 }; }' ) ]
+                , xml_generator_config=autoconfig.xml_generator_config)
+        mb.namespace( name='::enums' ).include()
+        mb.build_code_creator('dummy')
+        flatten = code_creators.make_flatten(mb.code_creator.creators)
+        self.assertTrue( [inst for inst in flatten if isinstance( inst, code_creators.unnamed_enum_t )] )
+
+class creator_finder_tester_t( unittest.TestCase ):
+    def test_find_by_declaration(self):
+        mb = module_builder.module_builder_t(
+            [ module_builder.create_text_fc( 'namespace enums{ enum color{ red = 1}; }' )]
+            , xml_generator_config=autoconfig.xml_generator_config)
+        mb.namespace( name='::enums' ).include()
+        enum_matcher = declarations.match_declaration_t( name='color' )
+        mb.build_code_creator( 'dummy' )
+        enum_found = code_creators.creator_finder.find_by_declaration(
+                        enum_matcher
+                        , mb.code_creator.creators )
+        self.assertTrue( enum_found )
+
+    def test_find_by_class_instance(self):
+        mb = module_builder.module_builder_t(
+            [ module_builder.create_text_fc( 'namespace enums{ enum color{ red = 1}; }' )]
+            , xml_generator_config=autoconfig.xml_generator_config)
+        mb.namespace( name='::enums' ).include()
+        mb.build_code_creator('dummy')
+        enum_found = code_creators.creator_finder.find_by_class_instance(
+            code_creators.enum_t
+            , mb.code_creator.creators
+            , recursive=True)
+        self.assertTrue( enum_found )
+
+class class_organizer_tester_t(unittest.TestCase):
+    def __init__(self, *args ):
+        unittest.TestCase.__init__(self, *args)
+
+    def _findout_base_classes(self, class_inst ):
+        answer = []
+        for base in class_inst.bases:
+            answer.append( base.related_class )
+            answer.extend( self._findout_base_classes( base.related_class ) )
+        return answer
+
+    def test(self):
+        config = autoconfig.xml_generator_config
+        code = []
+        code.append('struct a{};')
+        code.append('struct b{};')
+        code.append('struct c{};')
+        code.append('struct d : public a{};')
+        code.append('struct e : public a, public b{};')
+        code.append('struct f{};')
+        code.append('struct g : public d, public f{};')
+        code.append('struct h : public f{};')
+        code.append('struct i : public h, public g{};')
+        code.append('struct j{};')
+        code.append('struct k{};')
+
+        global_ns = parser.parse_string( os.linesep.join( code ), config )
+        decls = global_ns[0].declarations
+        dorder = creators_factory.findout_desired_order( decls )
+        self.assertTrue( len( code ) == len( dorder ), 'all classes should stay within the list' )
+        for i in range( 1, len(dorder) ):
+            bases = set( self._findout_base_classes( dorder[i] ) )
+            exported = set( dorder[:i])
+            self.assertTrue( bases.issubset( exported )
+                             , 'for derived class %s not all base classes have been exported' % dorder[i].name )
+
+class exclude_function_with_array_arg_tester_t( unittest.TestCase ):
+    def test(self):
+        mb = module_builder.module_builder_t(
+            [ module_builder.create_text_fc( 'namespace arr{ struct x{ x( int arr[3][3], int ){} x( const x arr[3][3], int ){} }; }' )]
+            , xml_generator_config=autoconfig.xml_generator_config)
+        arr = mb.namespace( name='arr' )
+        mem_funs = arr.calldefs( 'x', arg_types=[None,None] )
+        for x in mem_funs:
+            self.assertTrue( x.exportable == False )
+
+class readme_tester_t( unittest.TestCase ):
+    CODE = \
+    """
+    namespace xxx{
+        int do_smth(int);
+        typedef int Int;
+        struct data_t{
+            data_t& operator--(int a);
+        };
+    }
+    """
+    def test(self):
+        mb = module_builder.module_builder_t(
+            [ module_builder.create_text_fc( self.CODE )]
+            , xml_generator_config=autoconfig.xml_generator_config)
+        xxx = mb.namespace( name='xxx' )
+        fun = xxx.calldef( 'do_smth' )
+        self.assertTrue( fun.readme() == [] )
+        minus_minus = xxx.operator( symbol='--' )
+        self.assertTrue( 1 == len( minus_minus.readme() ), os.linesep.join( minus_minus.readme() ) )
+
+
+class use_function_signature_bug_tester_t( unittest.TestCase ):
+    CODE = \
+    """
+    struct base{
+        void f();
+    };
+
+    struct derived : public base {
+        void f(int i);
+        using base::f;
+    };
+    """
+    def test(self):
+        mb = module_builder.module_builder_t(
+            [ module_builder.create_text_fc( self.CODE )]
+            , xml_generator_config=autoconfig.xml_generator_config)
+        d = mb.class_( 'derived' )
+        f = d.mem_fun( 'f' )
+        self.assertTrue( f.create_with_signature == True )
+
+class class_multiple_files_tester_t(unittest.TestCase):
+    CLASS_DEF = \
+    """
+    namespace tester{
+
+    struct op_struct{};
+
+    op_struct* get_opaque();
+
+    void check_overload( int i=0, int j=1, int k=2 );
+
+    struct x{
+        enum EColor{ red, blue };
+        enum EFruit{ apple, orange };
+
+        x(){}
+        x( int ){}
+
+        void do_nothing(){}
+
+        int do_something(){ return 1; }
+
+        void check_overload( int i=0, int j=1, int k=2 );
+
+        op_struct* get_opaque();
+
+        int m_dummy;
+
+        struct x_nested{};
+
+        float* get_rate(){
+            return 0;
+        }
+
+        virtual void get_size( int& i, int& j ){
+            i = 0;
+            j = 0;
+        }
+    };
+    }
+    """
+    def test(self):
+        mb = module_builder.module_builder_t(
+                [ module_builder.create_text_fc( self.CLASS_DEF ) ]
+                , xml_generator_config=autoconfig.xml_generator_config)
+        mb.namespace( name='::tester' ).include()
+        x = mb.class_( 'x' )
+        x.add_registration_code( '//hello world reg' )
+        x.add_declaration_code( '//hello world decl' )
+        nested = x.class_( 'x_nested' )
+        nested.add_declaration_code( '//hello nested decl' )
+        nested.add_registration_code( '//hello nested reg', False )
+        mb.calldefs( 'check_overload' ).use_overload_macro = True
+        mb.calldefs( 'get_opaque' ).call_policies \
+          = module_builder.call_policies.return_value_policy( module_builder.call_policies.return_opaque_pointer )
+        mb.class_( 'op_struct' ).exclude()
+        mb.mem_fun( 'get_rate' ).call_policies \
+            = module_builder.call_policies.return_value_policy( module_builder.call_policies.return_pointee_value )
+        mb.mem_fun( 'get_size' ).add_transformation( ft.output(0) )
+        mb.build_code_creator('x_class_multi')
+        mb.split_module( autoconfig.build_dir
+                        , [ mb.class_( '::tester::x' ) ]
+                        , on_unused_file_found=lambda fpath: fpath
+                        , use_files_sum_repository=True)
+
+
+class split_sequence_tester_t(unittest.TestCase):
+    def test(self):
+        seq = [ 1,2,3 ]
+        split = pypp_utils.split_sequence
+        self.assertTrue( [[1],[2],[3]] == split( seq, 1 ) )
+        self.assertTrue( [[1,2],[3]] == split( seq, 2 ) )
+        self.assertTrue( [[1,2,3]] == split( seq, 3 ) )
+        self.assertTrue( [[1,2,3]] == split( seq, 4 ) )
+
+class doc_extractor_tester_t( unittest.TestCase ):
+    def test( self ):
+        escaped_doc = module_builder.doc_extractor_i.escape_doc('Hello "Py++"')
+        self.assertTrue( escaped_doc == '"Hello \\"Py++\\""' )
+
+class exclude_erronious_tester_t( unittest.TestCase ):
+    def test(self):
+
+        code = """
+            namespace xyz{
+
+                struct good{};
+
+                typedef void (*ff1)( int, int );
+
+                void f_bad( ff1 );
+
+            }
+        """
+
+        mb = module_builder.module_builder_t(
+                [ module_builder.create_text_fc( code ) ]
+                , xml_generator_config=autoconfig.xml_generator_config)
+
+        xyz = mb.namespace( name='xyz' )
+        xyz.include()
+
+        xyz.exclude(compilation_errors=True)
+
+        self.assertTrue( xyz.ignore == False )
+        self.assertTrue( xyz.class_( 'good' ).ignore == False )
+        self.assertTrue( xyz.free_fun( 'f_bad' ).ignore == True )
+
+class exclude_ellipsis_tester_t( unittest.TestCase ):
+    def test(self):
+
+        code = """
+            namespace xyz{
+                void do_smth( int, ... );
+            }
+        """
+
+        mb = module_builder.module_builder_t(
+                [ module_builder.create_text_fc( code ) ]
+                , xml_generator_config=autoconfig.xml_generator_config)
+
+        do_smth = mb.free_fun( 'do_smth' )
+
+        self.assertTrue( do_smth.exportable == False )
+        print(do_smth.why_not_exportable())
+
+class constructors_code_tester_t( unittest.TestCase ):
+    def test(self):
+
+        code = """
+            namespace xyz{
+                struct Y;
+
+                struct X{
+                    X();
+                    X( const X& );
+                    X( Y* );
+                };
+            }
+        """
+
+        mb = module_builder.module_builder_t(
+                [ module_builder.create_text_fc( code ) ]
+                , xml_generator_config=autoconfig.xml_generator_config)
+
+        x = mb.class_( 'X' )
+        x.include()
+        x.constructors().body = '    //all constructors body'
+        x.null_constructor_body = '    //null constructor body'
+        x.copy_constructor_body = '    //copy constructor body'
+
+        mb.build_code_creator( 'XXX' )
+        code = mb.code_creator.create()
+        tmp = code.split( x.null_constructor_body )
+        self.assertTrue( len( tmp ) == 2 )
+        tmp = code.split( x.copy_constructor_body )
+        self.assertTrue( len( tmp ) == 2 )
+        tmp = code.split( '    //all constructors body' )
+        self.assertTrue( len( tmp ) == 2 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(doc_extractor_tester_t))
+    suite.addTest( unittest.makeSuite(class_organizer_tester_t))
+    suite.addTest( unittest.makeSuite(indent_tester_t))
+    suite.addTest( unittest.makeSuite(make_flatten_tester_t))
+    suite.addTest( unittest.makeSuite(creator_finder_tester_t))
+    suite.addTest( unittest.makeSuite(exclude_function_with_array_arg_tester_t))
+    suite.addTest( unittest.makeSuite(class_multiple_files_tester_t))
+    suite.addTest( unittest.makeSuite(readme_tester_t))
+    suite.addTest( unittest.makeSuite(split_sequence_tester_t))
+    suite.addTest( unittest.makeSuite(exclude_erronious_tester_t))
+    suite.addTest( unittest.makeSuite(use_function_signature_bug_tester_t))
+    suite.addTest( unittest.makeSuite(exclude_ellipsis_tester_t))
+    suite.addTest( unittest.makeSuite(constructors_code_tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/already_exposed_tester.py b/unittests/already_exposed_tester.py
new file mode 100644
index 0000000..8ec4662
--- /dev/null
+++ b/unittests/already_exposed_tester.py
@@ -0,0 +1,58 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import pygccxml
+from pyplusplus import utils
+from pyplusplus import module_builder
+import fundamental_tester_base
+
+class tester_t( unittest.TestCase ):
+    def test(self):
+        fpath = os.path.join( autoconfig.data_directory, 'already_exposed_to_be_exported.hpp' )
+        mb = module_builder.module_builder_t( [module_builder.create_source_fc( fpath )]
+                                              , xml_generator_config=autoconfig.xml_generator_config )
+
+        mb.global_ns.exclude()
+        mb.namespace( 'already_exposed' ).include()
+        mb.build_code_creator( 'already_exposed' )
+
+        already_exposed_dir = os.path.join( autoconfig.build_directory, 'already_exposed' )
+        mb.write_module( os.path.join( already_exposed_dir, 'already_exposed.cpp' ) )
+
+        #-----------------------------------------------------------------------
+
+        fpath = os.path.join( autoconfig.data_directory, 'already_exposed_2to_be_exported.hpp' )
+        mb = module_builder.module_builder_t( [module_builder.create_source_fc( fpath )]
+                                              , xml_generator_config=autoconfig.xml_generator_config )
+
+        mb.global_ns.exclude()
+        mb.namespace( 'to_be_exposed' ).include()
+        mb.build_code_creator( 'to_be_exposed' )
+
+        mb.register_module_dependency( already_exposed_dir )
+
+        mb.build_code_creator( 'to_be_exposed' )
+        to_be_exposed_dir = os.path.join( autoconfig.build_directory, 'to_be_exposed' )
+        mb.write_module( os.path.join( to_be_exposed_dir, 'to_be_exposed.cpp' ) )
+
+        body = mb.code_creator.body
+        self.assertTrue( 2 == len( body.creators ) )
+        ae_derived_code = body.creators[0].create()
+        self.assertTrue( mb.class_( 'ae_base' ).decl_string in ae_derived_code )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/arrays_bug_tester.py b/unittests/arrays_bug_tester.py
new file mode 100644
index 0000000..03b07bc
--- /dev/null
+++ b/unittests/arrays_bug_tester.py
@@ -0,0 +1,60 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'arrays_bug'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.add_registration_code( 'pyplusplus::containers::static_sized::register_array_1< int, 10 >( "X1" );' )
+        mb.add_registration_code( 'pyplusplus::containers::static_sized::register_array_1< int, 10 >( "X2" );' )
+
+    def run_tests( self, module):
+        m = module.arrays_bug
+        c = m.container()
+        x = c.items[0].values[0]
+        c.items[0].values[0] = 1
+        y = c.items[0]
+        c.items[0] = m.item()
+
+        self.assertTrue( id(module.X1) == id(module.X2) == id( c.items[0].values.__class__ ) )
+
+        i = m.nc_item()
+        i.value = 10
+        self.assertEqual(i.value, 10)
+
+        c = m.nc_item_container()
+        self.assertEqual(len(c.items), 10)
+        self.assertEqual(c.items[0].value, 1)
+        self.assertEqual(c.items[9].value, 10)
+        try:
+            c.items[0] = m.nc_item()
+            raise RuntimeError('The assignment on previous line should have failed')
+        except TypeError:
+            pass
+        c.items[0].value = 100
+        self.assertEqual(c.items[0].value, 100)
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/autoconfig.py b/unittests/autoconfig.py
new file mode 100644
index 0000000..e54cda1
--- /dev/null
+++ b/unittests/autoconfig.py
@@ -0,0 +1,98 @@
+#! /usr/bin/python
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import subprocess
+
+this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) )
+
+data_directory = os.path.join( this_module_dir_path, 'data' )
+build_directory = os.path.join( this_module_dir_path, 'temp' )
+build_dir = build_directory
+
+if not os.path.exists( build_dir ):
+    os.mkdir( build_dir )
+
+sys.path.append( os.path.dirname( this_module_dir_path ) )
+
+from environment import scons, boost, python, xml_generator_config, indexing_suite
+
+import pygccxml
+
+class scons_config:
+    libs = [ python.lib ]
+    libpath =  [ boost.libdir ] + [ python.libdir ]
+    cpppath = [ boost.include, python.include, build_directory, data_directory ] #indexing_suite.include ]
+    include_dirs = cpppath + [data_directory] + xml_generator_config.include_paths
+    compiler_path = xml_generator_config.compiler_path
+    if xml_generator_config.compiler == 'msvc9':
+        libpath.append( r'C:\Program Files\Microsoft Visual Studio 9.0\VC\lib' )
+        libpath.append( r'C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib' )
+        include_dirs.append( r'C:\Program Files\Microsoft Visual Studio 9.0\VC\include' )
+        include_dirs.append( r'C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include' )
+
+    @staticmethod
+    def create_sconstruct():
+        msvc_compiler = ''
+        if 'posix' != os.name:
+            msvc_compiler = str( pygccxml.utils.native_compiler.get_version()[1] )
+        else:
+            scons_config.libs.append( boost.lib )
+        code = [
+               "import os"
+            ,  "import sys"
+            , "env = Environment()"
+            , "if 'posix' != os.name:"
+            , "    env['MSVS'] = {'VERSION': '%s'}" % msvc_compiler
+            , "    env['MSVS_VERSION'] = '%s'" % msvc_compiler
+            , "    Tool('msvc')(env)"
+            , "t = env.SharedLibrary( target=r'%(target)s'"
+            , "    , source=[ %(sources)s ]"
+            , "    , LIBS=[ %s ]" % ','.join( [ 'r"%s"' % lib for lib in scons_config.libs ] )
+            , "    , LIBPATH=[ %s ]" % ','.join( [ 'r"%s"' % path for path in scons_config.libpath ] )
+            , "    , CPPPATH=[ %s ]" % ','.join( [ 'r"%s"' % path for path in scons_config.include_dirs] )
+            , "    , CCFLAGS=[ %s ]" % ','.join( [ 'r"%s"' % flag for flag in scons.ccflags ] )
+            , "    , CXX=[ \"{0}\" ]".format(scons_config.compiler_path)
+            , "    , SHLIBPREFIX=''"
+            , "    , SHLIBSUFFIX='%s'" % scons.suffix #explicit better then implicit
+            , ")" ]
+            #~ , "if 'linux' not in sys.platform:"
+            #~ , "    env.AddPostAction(t, 'mt.exe -nologo -manifest %(target)s.pyd.manifest -outputresource:%(target)s.pyd;2'  )" ]
+        return os.linesep.join( code )
+
+    @staticmethod
+    def compile( cmd, cwd=build_directory ) :
+        print('\n' + cmd)
+        process = subprocess.Popen( args=cmd
+                                    , shell=True
+                                    , stdin=subprocess.PIPE
+                                    , stdout=subprocess.PIPE
+                                    , stderr=subprocess.STDOUT
+                                    , cwd=cwd )
+        process.stdin.close()
+
+        while process.poll() is None:
+            line = process.stdout.readline().decode('utf-8')
+            if line.strip():
+                print(line.rstrip())
+        for line in process.stdout.readlines():
+            if line.strip():
+                print(line.rstrip())
+        if process.returncode:
+            raise RuntimeError( "unable to compile extension. See output for the errors." )
+
+
+#I need this in order to allow Python to load just compiled modules
+sys.path.append( build_dir )
+
+os.chdir( build_dir )
+
+if 'nt' == os.name:
+    PATH = os.environ.get( 'PATH', '' )
+    PATH=PATH + ';' + ';'.join( scons_config.libpath )
+    os.environ['PATH'] = PATH
diff --git a/unittests/balanced_files_tester.py b/unittests/balanced_files_tester.py
new file mode 100644
index 0000000..9e84415
--- /dev/null
+++ b/unittests/balanced_files_tester.py
@@ -0,0 +1,88 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+from pyplusplus import utils
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'balanced_files'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=1
+            , *args )
+        self.files = []
+
+    def customize( self, mb ):
+        mb.global_ns.exclude()
+
+        nm_t = declarations.remove_declarated( mb.global_ns.typedef( 'naive_matrix_t' ).type )
+        nm_t.include()
+
+        exposed_db = utils.exposed_decls_db_t()
+
+        exposed_db.register_decls( mb.global_ns, [] )
+        exposed_db.save( autoconfig.build_dir )
+        mb.register_module_dependency( autoconfig.build_dir )
+
+        sm = mb.global_ns.namespace( name='split_module' )
+        sm.include()
+        sm.class_( 'op_struct' ).exclude()
+
+        mb.free_function( 'check_overload' ).add_declaration_code( '//hello check_overload' )
+        mb.free_function( 'get_opaque' ).add_declaration_code( '//hello get_opaque' )
+
+        mb.calldefs( 'check_overload' ).use_overload_macro = True
+        mb.calldefs( 'get_opaque' ).call_policies \
+          = call_policies.return_value_policy( call_policies.return_opaque_pointer )
+
+        mb.class_( 'op_struct' ).exclude()
+        item = mb.class_( 'item_t' )
+        item.add_declaration_code( '//hello world' )
+        nested = item.class_( 'nested_t' )
+        nested.add_declaration_code( '//hello nested decl' )
+        nested.add_registration_code( '//hello nested reg', False )
+        mb.free_fun( 'create_empty_mapping' ).include()
+
+    def generate_source_files( self, mb ):
+        files = mb.balanced_split_module( autoconfig.build_dir, 2, on_unused_file_found=lambda fpath: fpath )
+        self.files = [fname for fname in files if fname.endswith( 'cpp' )]
+
+    def get_source_files( self ):
+        return self.files
+
+    def run_tests(self, module):
+        module.get_opaque()
+        item = module.item_t()
+        item.get_opaque()
+        module.check_overload()
+        item.check_overload()
+        item = module.TestClass1()
+        if item.func() != 1: raise Exception
+        item = module.TestClass2()
+        if item.func() != 2: raise Exception
+        item = module.TestClass3()
+        if item.func() != 3: raise Exception
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/bool_by_ref_tester.py b/unittests/bool_by_ref_tester.py
new file mode 100644
index 0000000..6709357
--- /dev/null
+++ b/unittests/bool_by_ref_tester.py
@@ -0,0 +1,58 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import math
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'bool_by_ref'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):        
+        set_flag = mb.mem_fun( '::tests::listener::listen' )
+        set_flag.add_transformation( ft.inout(2) )
+        
+        set_flag = mb.mem_fun( '::tests::listener::listenPV' )
+        set_flag.add_transformation( ft.inout(2) )
+       
+    def run_tests(self, module):
+        class list1 ( module.listener ):
+            def __init__ ( self ):
+                module.listener.__init__(self)
+            def listen( self, id, name,  skip):
+                print("Python: listen called with", id, name, skip)
+                return skip + 1 ## Test always returns True...
+            def listenPV( self, id, name,  skip):
+                print("Python: listenPV called with", id, name, skip)
+                return skip + 1 ## Test always returns True...
+
+        c = list1()
+        ret = module.callListener( c )
+        print(ret)
+        ret = module.callListenerPV ( c )
+        print(ret)
+        
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/bpmodule_tester.py b/unittests/bpmodule_tester.py
new file mode 100644
index 0000000..ef1e2d3
--- /dev/null
+++ b/unittests/bpmodule_tester.py
@@ -0,0 +1,32 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'bpmodule'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+    
+    def run_tests( self, module):
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/bug_covariant_returns_tester.py b/unittests/bug_covariant_returns_tester.py
new file mode 100644
index 0000000..574de28
--- /dev/null
+++ b/unittests/bug_covariant_returns_tester.py
@@ -0,0 +1,40 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+from pyplusplus.module_builder.call_policies import *
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'bug_covariant_returns'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.mem_funs( 'f' ).call_policies = return_value_policy(manage_new_object)
+        mb.decl( 'DObjectState' ).opaque = True
+        saveState = mb.mem_funs( lambda f: f.name == 'saveState' and 'FObjectState' in f.decl_string )
+        saveState.call_policies = return_value_policy(manage_new_object)
+        
+    def run_tests( self, module):
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/call_policies_tester.py b/unittests/call_policies_tester.py
new file mode 100644
index 0000000..7f65d84
--- /dev/null
+++ b/unittests/call_policies_tester.py
@@ -0,0 +1,137 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus.module_builder import call_policies
+
+get_size_code = """
+struct raw_data_size_t{
+    ssize_t
+    operator()( boost::python::object self ){
+        boost::python::object raw_data = self.attr( "raw_data" );
+        return boost::python::len( raw_data );
+    }
+};
+"""
+
+get_size_code = """
+struct raw_data_size_t{
+    ssize_t
+    operator()( boost::python::tuple args ){
+        boost::python::object self = args[0];
+        call_policies::return_range_image_t& image
+            = boost::python::extract<call_policies::return_range_image_t&>( self );
+        return image.raw_data.size();
+    }
+};
+"""
+
+get_create_images_size = """
+struct get_create_images_size_t{
+    ssize_t
+    operator()( boost::python::object self ){
+        return 3;
+    }
+};
+"""
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'call_policies'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.calldef( 'return_second_arg' ).call_policies = call_policies.return_arg( 2 )
+        mb.calldef( 'return_self' ).call_policies = call_policies.return_self()
+
+        mb.class_( 'impl_details_t' ).opaque = True
+
+        mb.calldef( 'get_opaque' ).call_policies \
+            = call_policies.return_value_policy( call_policies.return_opaque_pointer )
+
+        mb.calldef( 'get_fundamental_ptr_value' ).call_policies \
+            = call_policies.return_value_policy( call_policies.return_pointee_value )
+
+        mb.calldef( 'get_fundamental_ptr_value_null' ).call_policies \
+            = call_policies.return_value_policy( call_policies.return_pointee_value )
+
+        mb.calldef( 'create_arr_3' ).call_policies \
+            = call_policies.convert_array_to_tuple( 3, call_policies.memory_managers.delete_ )
+
+        image = mb.class_('return_range_image_t')
+        image.add_declaration_code( get_size_code )
+        image.add_declaration_code( get_create_images_size )
+        get_raw_data = image.mem_fun( 'get_raw_data' )
+        get_raw_data.call_policies \
+            = call_policies.return_range( get_raw_data, 'raw_data_size_t' )
+        get_raw_data_const = image.mem_fun( 'get_raw_data_const' )
+        get_raw_data_const.call_policies \
+            = call_policies.return_range( get_raw_data_const, 'raw_data_size_t' )
+        create_images = image.mem_fun( 'create_images' )
+        create_images.call_policies \
+            = call_policies.return_range( create_images
+                                          , 'get_create_images_size_t'
+                                          , call_policies.return_value_policy(call_policies.reference_existing_object) )
+
+        mb.calldef( '::call_policies::immutable_by_ref_t::get_value' ).call_policies \
+            = call_policies.return_value_policy( call_policies.copy_non_const_reference )
+
+    def run_tests(self, module):
+        self.assertTrue( module.compare( module.my_address() ) )
+
+        x = module.return_second_arg( 1, 2, 3)
+        self.assertTrue( x == 2 )
+
+        x = module.dummy()
+        y = module.return_self( x, 0 )
+        self.assertTrue( x.id() == y.id() )
+
+        y = module.copy_const_reference( x )
+        self.assertTrue( x.id() != y.id() )
+
+        cont = module.container()
+        self.assertTrue( 1977 == cont[1977] )
+
+        self.assertTrue( 0.5 == module.get_fundamental_ptr_value() )
+
+        self.assertTrue( None is module.get_fundamental_ptr_value_null() )
+
+        module.get_impl_details()
+
+        module.get_opaque()
+
+        x = module.arrays()
+        for i in range( 4 ):
+            arr3 = x.create_arr_3()
+            self.assertTrue( arr3 == (0,1,2) )
+
+        image = module.return_range_image_t()
+        raw_data = image.get_raw_data()
+        self.assertTrue( ['1', '\0', '2']==list( raw_data ) )
+        raw_data[1] = 'x'
+        self.assertTrue( raw_data[1] == image.raw_data[1] )
+        for index, img in enumerate( image.create_images() ):
+            print(index, img)
+
+        ibr = module.immutable_by_ref_t()
+        self.assertTrue( ibr.get_value() == ibr.value )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/casting_tester.py b/unittests/casting_tester.py
new file mode 100644
index 0000000..f7bc031
--- /dev/null
+++ b/unittests/casting_tester.py
@@ -0,0 +1,43 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'casting'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+    def customize( self, mb ):
+        mb.class_("float_vector").add_registration_code("def( bp::init< const casting::float_vector& >() )")
+
+    def run_tests( self, module):
+        x_inst = module.x()
+        x_inst.value = 25
+        self.assertTrue( 25 == module.identity(x_inst) )
+        self.assertTrue( 25 == module.x_value(25) )
+        self.assertTrue( 1 == module.x_value(True) )
+        self.assertTrue( 0 == module.x_value(False) )
+        fv = module.float_vector( 5.0 )
+
+        cc = module.get_value_a( 78 );
+        self.assertTrue( cc == -78 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/class_order2_tester.py b/unittests/class_order2_tester.py
new file mode 100644
index 0000000..c08ab94
--- /dev/null
+++ b/unittests/class_order2_tester.py
@@ -0,0 +1,32 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'class_order2'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def run_tests(self, module):      
+        print("module has been loaded")
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/class_order3_tester.py b/unittests/class_order3_tester.py
new file mode 100644
index 0000000..80c2a84
--- /dev/null
+++ b/unittests/class_order3_tester.py
@@ -0,0 +1,33 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'class_order3'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+   
+    def run_tests(self, module):      
+        cont = module.container()       
+        self.assertTrue( cont.my_fruit == module.consts.apple )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/class_order4_tester.py b/unittests/class_order4_tester.py
new file mode 100644
index 0000000..71a9149
--- /dev/null
+++ b/unittests/class_order4_tester.py
@@ -0,0 +1,33 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'class_order4'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+   
+    def run_tests(self, module):      
+        cont = module.container(1)       
+        self.assertTrue( cont.my_fruit == cont.apple )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/class_order_tester.py b/unittests/class_order_tester.py
new file mode 100644
index 0000000..e40f1a3
--- /dev/null
+++ b/unittests/class_order_tester.py
@@ -0,0 +1,47 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import code_creators 
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'class_order'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        mb.build_code_creator( self.EXTENSION_NAME )
+        extmodule = mb.code_creator
+        matcher = declarations.match_declaration_t( name='item', type=declarations.class_t )
+        item_creator = code_creators.creator_finder.find_by_declaration( matcher, extmodule.body.creators )[0]
+        extmodule.body.remove_creator(item_creator)
+        #This will add item creator to be last exported class
+        extmodule.body.adopt_creator(item_creator)
+
+        mb.calldefs().use_keywords = False
+
+    def run_tests(self, module):      
+        item_ = module.item(1,2)
+        cont = module.container( item_ );
+        self.assertTrue( 3 == cont.my_item.m_value )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/classes_tester.py b/unittests/classes_tester.py
new file mode 100644
index 0000000..542005e
--- /dev/null
+++ b/unittests/classes_tester.py
@@ -0,0 +1,69 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'classes'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.classes().expose_this = True
+        mb.classes().expose_sizeof = True
+        mb.class_( 'fundamental2' ).alias = 'FUNDAMENTAL2'
+        apple = mb.class_( 'apple' )
+        self.assertTrue( apple.alias == 'the_tastest_fruit' )
+        apple.alias = 'apple'
+        apple.add_registration_code( "/*head*/", works_on_instance=False, tail=False )
+        apple.add_registration_code( "/*tail*/", works_on_instance=False, tail=True )
+
+        protected_static_t = mb.class_( 'protected_static_t' )
+        self.assertTrue( 'PROTECTED_STATIC' in protected_static_t.alias)
+        protected_static_t.alias = 'protected_static_t'
+        mb.operators()
+
+    def run_tests(self, module):
+        self.failIfRaisesAny( module.fundamental1 )
+        self.failIfRaisesAny( module.FUNDAMENTAL2 )
+
+        self.failIfRaisesAny( module.apple )
+        self.assertTrue( isinstance( module.apple(), module.fruit ) )
+
+        self.failIfRaisesAny( module.noncopyable1 )
+
+        self.failIfRaisesAny( module.abstract )
+
+        self.failIfRaisesAny( module.constructor1 )
+        self.failIfRaisesAny( module.constructor1, 1, 2 )
+        self.failIfRaisesAny( module.constructor1, 3, module.constructor1() )
+
+        self.failIfRaisesAny( module.scope_based_exposer )
+        self.failIfRaisesAny( lambda: module.scope_based_exposer.EColor.red )
+
+        self.assertTrue( 24 == module.protected_static_t.identity(24) )
+        self.assertTrue( 29 == module.protected_static_t.identity(29) )
+        self.assertTrue( -24 == module.protected_static_t().invert_sign(24) )
+        self.assertTrue( 67 == module.protected_static_t().invert_sign(-67) )
+        self.assertTrue( module.protected_static_t().this )
+        self.assertTrue( module.protected_static_t().sizeof )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/constructors_bug_tester.py b/unittests/constructors_bug_tester.py
new file mode 100644
index 0000000..6d10abb
--- /dev/null
+++ b/unittests/constructors_bug_tester.py
@@ -0,0 +1,33 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'constructors_bug'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+            
+    def run_tests( self, module):
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/convenience_tester.py b/unittests/convenience_tester.py
new file mode 100644
index 0000000..da02258
--- /dev/null
+++ b/unittests/convenience_tester.py
@@ -0,0 +1,47 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+from pyplusplus import code_repository
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'convenience'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.add_registration_code( 'bp::def( "ensure_sequence", &pyplusplus::convenience::ensure_sequence );' )
+        mb.add_registration_code( 'bp::def( "ensure_int_sequence", &pyplusplus::convenience::ensure_uniform_sequence<int> );' )
+        mb.build_code_creator( self.EXTENSION_NAME )
+
+        mb.code_creator.add_include( code_repository.convenience.file_name, system=True )
+
+    def run_tests(self, module):
+        self.failIfRaisesAny( module.ensure_sequence, [1,2,3], -1 )
+        self.failIfRaisesAny( module.ensure_sequence, [1,2,3], 3 )
+        self.failIfNotRaisesAny( module.ensure_sequence, self, 1 )
+        self.failIfRaisesAny( module.ensure_int_sequence, [1,2,3], -1 )
+        self.failIfRaisesAny( module.ensure_int_sequence, [1,2,3], 3 )
+        self.failIfNotRaisesAny( module.ensure_int_sequence, [self], 1 )
+        self.failIfNotRaisesAny( module.ensure_int_sequence, [1,2.1,3] , 3 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/cp_return_addressof_tester.py b/unittests/cp_return_addressof_tester.py
new file mode 100644
index 0000000..b83db7b
--- /dev/null
+++ b/unittests/cp_return_addressof_tester.py
@@ -0,0 +1,42 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import ctypes
+import unittest
+import fundamental_tester_base
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'cp_return_addressof'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.classes().always_expose_using_scope = True
+        mb.calldef( 'get_buffer' ).call_policies \
+            = call_policies.return_value_policy( call_policies.return_addressof )
+
+    def run_tests(self, module):
+        image = module.image_t()
+        buffer_type = ctypes.c_int * 5
+        buffer = buffer_type.from_address( image.get_buffer() )
+        self.assertTrue( [0,1,2,3,4] == list( buffer ) )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/cppexceptions_tester.py b/unittests/cppexceptions_tester.py
new file mode 100644
index 0000000..380dd3e
--- /dev/null
+++ b/unittests/cppexceptions_tester.py
@@ -0,0 +1,74 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+TRANSLATE_CODE = \
+"""
+void translate(boost::python::object py_class, cppexceptions::custom_exception_t const& e){
+    std::cout << "I am here";
+    boost::python::object py_custom_exception = py_class(e);
+    boost::python::object type = py_custom_exception.attr( "__class__" );
+    PyErr_SetObject( type.ptr(), py_custom_exception.ptr() );
+}
+
+"""
+
+REGISTER_CODE = \
+"""
+    boost::python::object py_class = custom_exception_t_exposer;
+    boost::python::register_exception_translator<cppexceptions::custom_exception_t>( 
+            boost::bind( &translate, py_class, _2 ) );
+
+"""
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'cppexceptions'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        #mb.class_( 'custom_exception_t' ).add_code( REGISTER_CODE, False)
+        #mb.build_code_creator( tester_t.EXTENSION_NAME )
+
+        #mb.code_creator.add_include( "boost/bind.hpp" )
+        #mb.code_creator.add_include( "iostream" )
+        #translate = code_creators.custom_text_t( TRANSLATE_CODE )
+        #mb.code_creator.adopt_creator( translate, -1 )
+        custom_exception = mb.class_( 'custom_exception_t' )        
+        custom_exception.translate_exception_to_string( 'PyExc_RuntimeError', 'exc.what().c_str()' )
+        
+    def run_tests( self, module):
+        try:
+            module.throw_custom_exception()
+        except RuntimeError as error:
+            self.assertTrue( "profe of concept" in str( error ) )
+        #custom_exception_t = module.custom_exception_t
+        #bases = list( custom_exception_t.__bases__ ) + [RuntimeError]
+        #custom_exception_t.__bases__ = tuple( bases )
+        #custom_exception_t.__str__ = custom_exception_t.what
+        #try:
+            #module.throw_custom_exception()
+        #except RuntimeError, error:
+            #self.assertTrue( str(error) == "profe of concept" )
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/ctypes_tester.py b/unittests/ctypes_tester.py
new file mode 100644
index 0000000..8219f15
--- /dev/null
+++ b/unittests/ctypes_tester.py
@@ -0,0 +1,273 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import ctypes
+import shutil
+import unittest
+import autoconfig
+from pyplusplus.module_builder import ctypes_module_builder_t
+
+class ctypes_base_tester_t(unittest.TestCase):
+
+    _module_ref_ = None
+    def __init__( self, base_name, *args, **keywd ):
+        unittest.TestCase.__init__( self, *args, **keywd )
+        self.__base_name = base_name
+
+    @property
+    def base_name( self ):
+        return self.__base_name
+
+    @property
+    def project_dir( self ):
+        return os.path.join( autoconfig.data_directory, 'ctypes', self.base_name )
+
+    @property
+    def header( self ):
+        return os.path.join( self.project_dir, self.base_name + '.h' )
+
+    @property
+    def symbols_file( self ):
+        ext = '.so'
+        prefix = 'lib'
+        if 'nt' == os.name:
+            prefix = ''
+            ext = '.map'
+        return os.path.join( self.project_dir, 'binaries', prefix + self.base_name + ext )
+
+    @property
+    def library_file( self ):
+        if 'nt' == os.name:
+            return os.path.join( self.project_dir, 'binaries', self.base_name + '.dll' )
+        else:
+            return self.symbols_file
+
+    def customize(self, mb ):
+        pass
+
+    def __build_scons_cmd( self ):
+        cmd = autoconfig.scons.cmd_build + ' ' + self.base_name
+        if autoconfig.xml_generator_config.compiler == 'msvc71':
+            cmd  = cmd + ' use_msvc71=True'
+        return cmd
+
+    def setUp( self ):
+        if self.base_name in sys.modules:
+            return sys.modules[ self.base_name ]
+
+        binaries_dir = os.path.dirname( self.symbols_file )
+        if os.path.exists( binaries_dir ):
+            print('\nrmdir ', binaries_dir)
+            shutil.rmtree( binaries_dir )
+
+        autoconfig.scons_config.compile( self.__build_scons_cmd(), cwd=autoconfig.this_module_dir_path )
+        mb = ctypes_module_builder_t( [self.header], self.symbols_file, autoconfig.xml_generator_config )
+        self.customize( mb )        
+        mb.build_code_creator( self.library_file )
+        mb.write_module( os.path.join( self.project_dir, 'binaries', self.base_name + '.py' ) )
+        sys.path.insert( 0, os.path.join( self.project_dir, 'binaries' ) )
+        __import__( self.base_name )
+
+    @property
+    def module_ref(self):
+        return sys.modules[ self.base_name ]
+
+
+
+
+class issues_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'issues', *args, **keywd )
+
+    def test_return_by_value(self):
+        x = self.module_ref.return_by_value_t()
+        result = x.add( 32, 2 ).result
+        self.assertTrue( 34 == result, "Expected result 34, got %d" % result)
+
+    def test_free_fun_add( self ):
+        self.assertTrue( 1977 == self.module_ref.add( 77, 1900 ) )
+
+
+class enums_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'enums', *args, **keywd )
+
+    def customize( self, mb ):
+        mb.enums().include()
+
+    def test(self):
+        self.assertTrue( self.module_ref.Chisla.nol == 0 )
+        self.assertTrue( self.module_ref.Chisla.odin == 1 )
+        self.assertTrue( self.module_ref.Chisla.dva == 2 )
+        self.assertTrue( self.module_ref.Chisla.tri == 3 )
+
+class opaque_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'opaque', *args, **keywd )
+
+    def customize( self, mb ):
+        mb.class_( 'user_data_t' ).opaque = True
+
+    def test(self):
+        self.assertRaises( RuntimeError, self.module_ref.user_data_t )
+        udt = self.module_ref.create()
+        self.assertTrue( 1977 == self.module_ref.read_user_data(udt) )
+        self.module_ref.destroy( udt )
+
+class include_algorithm_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'include_algorithm', *args, **keywd )
+
+    def customize( self, mb ):
+        self.assertTrue( mb.global_ns.class_( 'io_marker_t' ).ignore == False )
+
+    def test(self):
+        self.assertTrue( self.module_ref.io_marker_t )
+
+class anonymous_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'anonymous', *args, **keywd )
+
+    def customize( self, mb ):
+        mb.class_( 'rgbai' ).include()
+
+    def test(self):
+        c = self.module_ref.color()
+        c.r
+        c.val
+
+class variables_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'variables', *args, **keywd )
+
+    def customize( self, mb ):
+        pass
+
+    def test(self):
+        self.module_ref.init()
+        self.assertTrue( self.module_ref.j.value == 87 )
+        self.assertTrue( self.module_ref.data.i == 1900 )
+
+        self.assertTrue( self.module_ref.data.j == 7 )
+        self.assertTrue( self.module_ref.data_ptr.contents.i == 11 )
+
+        self.module_ref.j.value = 78
+        self.assertTrue( self.module_ref.get_value_j() == 78 )
+
+        self.module_ref.data.i = 987
+        self.assertTrue( self.module_ref.get_value_data() == 987 )
+
+        self.module_ref.data.j = 8
+        self.assertTrue( self.module_ref.get_value_data_j() == 0 )
+
+        self.module_ref.data.j = 5
+        self.assertTrue( self.module_ref.get_value_data_j() == 5 )
+
+        self.module_ref.data_ptr.contents.i = 34
+        self.assertTrue( self.module_ref.get_value_data_p() == 34 )
+
+
+class function_ptr_as_variable_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'function_ptr_as_variable', *args, **keywd )
+
+    def customize( self, mb ):
+        mb.global_ns.typedef('do_smth_fun_t').include()
+
+    @staticmethod
+    def identity(v):
+        return v
+        
+    def test(self):
+        info = self.module_ref.info()
+        info.do_smth_fun = self.module_ref.do_smth_fun_t(self.identity)
+        self.assertTrue( 21 == self.module_ref.execute_callback( info, 21 ) )
+        
+class varargs_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'varargs', *args, **keywd )
+
+    def customize( self, mb ):
+        pass
+
+    def test(self):
+        self.assertTrue( 21 == self.module_ref.sum_ints( 3, 5,7,9) )
+
+class circular_references_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'circular_references', *args, **keywd )
+
+    def customize( self, mb ):
+        pass
+
+    def test(self):
+        bar = self.module_ref.bar_t()
+        foo = self.module_ref.foo_t()
+
+        #TODO: add typedefs
+        #TODO: sort structs and classes by dependencies
+        pass #just test that module could be loaded
+
+
+class char_ptr_as_binary_data_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'char_ptr_as_binary_data', *args, **keywd )
+
+    def customize( self, mb ):
+        mb.treat_char_ptr_as_binary_data = True
+
+    def test(self):
+        data = self.module_ref.get_empty()
+        self.assertTrue( data.contents.size == 0 )
+        self.assertTrue( not data.contents.bytes )
+
+        data = self.module_ref.get_hello_world()
+        self.assertTrue( data.contents.size == len( "hello world" ) )
+        self.assertTrue( data.contents.bytes[0:data.contents.size + 1] == "hello\0world\0" )
+
+class user_code_tester_t( ctypes_base_tester_t ):
+    def __init__( self, *args, **keywd ):
+        ctypes_base_tester_t.__init__( self, 'user_code', *args, **keywd )
+        self.module_top_code = "top = 'top'"
+        self.module_bottom_code = "bottom = 'bottom'"
+        
+    def customize(self, mb ):
+        mb.add_module_code( self.module_top_code, tail=False )
+        mb.add_module_code( self.module_bottom_code, tail=True )
+
+    def test(self):
+        self.assertTrue( self.module_ref.top == "top" )
+        self.assertTrue( self.module_ref.bottom == "bottom" )
+        content = []
+        for line in file( self.module_ref.__file__ ):
+            if line.lstrip().startswith( '#' ) or not line.strip():
+                continue
+            else:
+                content.append( line.rstrip() )
+        self.assertTrue( content[0] == self.module_top_code )
+        self.assertTrue( content[-1] == self.module_bottom_code )
+        
+def create_suite():
+    #part of this functionality is going to be deprecated
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(enums_tester_t))
+    suite.addTest( unittest.makeSuite(opaque_tester_t))
+    suite.addTest( unittest.makeSuite(include_algorithm_tester_t))
+    suite.addTest( unittest.makeSuite(anonymous_tester_t))
+    suite.addTest( unittest.makeSuite(variables_tester_t))
+    suite.addTest( unittest.makeSuite(varargs_tester_t))
+    suite.addTest( unittest.makeSuite(circular_references_tester_t))
+    suite.addTest( unittest.makeSuite(function_ptr_as_variable_tester_t))
+    suite.addTest( unittest.makeSuite(char_ptr_as_binary_data_tester_t))
+    suite.addTest( unittest.makeSuite(user_code_tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/custom_smart_ptr_classes_tester.py b/unittests/custom_smart_ptr_classes_tester.py
new file mode 100644
index 0000000..e5c1928
--- /dev/null
+++ b/unittests/custom_smart_ptr_classes_tester.py
@@ -0,0 +1,181 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+EXPECTED_ERROR_INFO = "I don't have time to find out what is going wrong"
+EXPECTED_FAILURE_INFO = EXPECTED_ERROR_INFO
+
+
+MODULE_SPTR_DECL_CODE = \
+"""
+# include <boost/python/converter/from_python.hpp>
+# include <boost/python/converter/rvalue_from_python_data.hpp>
+# include <boost/python/converter/registered.hpp>
+
+using namespace controllers;
+
+namespace smart_ptrs{
+
+    controller_i* get_pointer( my_smart_ptr_t< controller_i > const& p ){
+        return p.get();
+    }
+
+    add_x_t* get_pointer( my_smart_ptr_t< add_x_t > const& p ){
+        return p.get();
+    }
+
+}
+
+namespace boost{ namespace python{
+
+    using namespace converter;
+
+    template <>
+    struct pointee< smart_ptrs::my_smart_ptr_t< controller_i > >{
+        typedef controller_i type;
+    };
+
+    template <>
+    struct pointee< smart_ptrs::my_smart_ptr_t< add_x_t > >{
+        typedef add_x_t type;
+    };
+
+
+template <class T>
+struct my_smart_ptr_from_python
+{
+    my_smart_ptr_from_python()
+    {
+        converter::registry::insert(&convertible, &construct, type_id<smart_ptrs::my_smart_ptr_t<T> >());
+    }
+
+ private:
+    static void* convertible(PyObject* p)
+    {
+        if (p == Py_None)
+            return p;
+
+        return converter::get_lvalue_from_python(p, registered<T>::converters);
+    }
+
+    static void construct(PyObject* source, rvalue_from_python_stage1_data* data)
+    {
+        void* const storage = ((converter::rvalue_from_python_storage<smart_ptrs::my_smart_ptr_t<T> >*)data)->storage.bytes;
+        // Deal with the "None" case.
+        if (data->convertible == source)
+            new (storage) smart_ptrs::my_smart_ptr_t<T>();
+        else{
+            std::cout << "before new (storage) smart_ptrs::my_smart_ptr_t<T>( static_cast< T* >(data->convertible) );" << std::endl;
+            new (storage) smart_ptrs::my_smart_ptr_t<T>( static_cast< T* >(data->convertible) );
+        }
+        data->convertible = storage;
+    }
+};
+
+    template <class T>
+    struct ptr_to_python {
+        static PyObject *convert(smart_ptrs::my_smart_ptr_t<T> const &p) {
+            return incref(object(smart_ptrs::my_smart_ptr_t<T>(p)).ptr());
+        }
+    };
+
+    //Then you need to do this for each class you register:
+    //to_python_converter<ptr<T>, ptr_to_python<T> >();
+    //You could automate this in a custom def visitor:
+
+    struct smart_ptr_stuff : def_visitor<smart_ptr_stuff> {
+        friend class def_visitor_access;
+        template <typename Class>
+        void visit(Class &c) const {
+            typedef typename Class::wrapped_type T;
+            to_python_converter<smart_ptrs::my_smart_ptr_t<T>, ptr_to_python<T> >();
+        }
+    };
+
+
+}}// namespace boost::python converter
+"""
+
+MODULE_SPTR_REG_CODE = \
+"""
+    boost::python::my_smart_ptr_from_python<controllers::add_x_t>();
+
+    bp::register_ptr_to_python< smart_ptrs::my_smart_ptr_t< controllers::controller_i > >();
+
+    //bp::register_ptr_to_python< smart_ptrs::my_smart_ptr_t< controllers::add_x_t > >();
+
+    bp::implicitly_convertible< smart_ptrs::my_smart_ptr_t< controllers::add_x_t >, smart_ptrs::my_smart_ptr_t< controllers::controller_i > >();
+
+"""
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'custom_smart_ptr_classes'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.classes( lambda cls: 'ptr' in cls.name).exclude()
+        mb.add_declaration_code( MODULE_SPTR_DECL_CODE )
+        mb.add_registration_code( MODULE_SPTR_REG_CODE )
+        add_x_t = mb.class_( 'add_x_t' )
+        add_x_t.held_type = 'smart_ptrs::my_smart_ptr_t< controllers::add_x_t >'
+        add_x_t.add_registration_code( 'def(boost::python::smart_ptr_stuff())' )
+
+        mb.build_code_creator( self.EXTENSION_NAME )
+        mb.code_creator.add_include( 'iostream' )
+
+
+    def create_identity_value( self, module, v ):
+        class identity_value_t( module.value_i ):
+            def __init__( self, v ):
+                module.value_i.__init__( self )
+                self.value = v
+
+            def get_value(self):
+                return self.value
+
+        return identity_value_t(v)
+
+    def create_add_5_value( self, module, v ):
+        class add_5_value_t( module.value_plus_x_t ):
+            def __init__( self, v ):
+                module.value_plus_x_t.__init__( self, v )
+
+            def get_plus_value(self):
+                print("I am here")
+                return 5
+        return add_5_value_t( v )
+
+    def run_tests(self, module):
+        self.fail( "The test fails with Segmentation fault error." )
+        add_0 = module.add_x_t( 23 )
+        print('>',1)
+        self.assertTrue( 23 == add_0.get_value() )
+        print('>',2)
+        self.assertTrue( 23 == module.val_get_value( add_0 ) )
+        print('>',3)
+        self.assertTrue( 23 == module.const_ref_get_value( add_0 ) )
+        print('>',4)
+        self.assertTrue( 23 == module.ref_get_value( add_0 ) )
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/custom_string_tester.py b/unittests/custom_string_tester.py
new file mode 100644
index 0000000..ab2c80d
--- /dev/null
+++ b/unittests/custom_string_tester.py
@@ -0,0 +1,88 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+auto_convert_code = \
+"""
+namespace bp = boost::python;
+
+struct PyStringToUTF16{
+
+    typedef custom_strings::utf16_t string_type;
+
+    static void* convertible(PyObject* obj){
+        if( PyUnicode_Check(obj) ){
+            return obj;
+        }
+        else{
+            return 0;
+        }
+    }
+
+    static void
+    construct( PyObject* obj, bp::converter::rvalue_from_python_stage1_data* data){
+        typedef bp::converter::rvalue_from_python_storage<string_type> string_storage_t;
+        string_storage_t* the_storage = reinterpret_cast<string_storage_t*>( data );
+        void* memory_chunk = the_storage->storage.bytes;
+
+        bp::object py_str( bp::handle<>( bp::borrowed( obj ) ) );
+        std::wstring c_str = bp::extract<std::wstring>( py_str );
+        new (memory_chunk) string_type(c_str);
+        data->convertible = memory_chunk;        
+    }
+};
+"""
+
+register_auto_convert_code = \
+"""
+bp::converter::registry::push_back( &PyStringToUTF16::convertible
+                                    , &PyStringToUTF16::construct
+                                    , bp::type_id<PyStringToUTF16::string_type>() );
+
+"""
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'custom_string'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+            
+    def customize( self, mb ):
+        mb.add_declaration_code( auto_convert_code )
+        mb.add_registration_code( register_auto_convert_code )
+        mb.constructors().allow_implicit_conversion = False
+        mb.variable( 'm_name' ).use_make_functions = True
+        mb.variable( 'm_123' ).use_make_functions = True
+        mb.class_( 'name_t' ).add_properties();
+        
+    def run_tests( self, module):
+        #self.assertTrue( "1" == module.utf16_to_string( "1" ) )
+        #print("TESTING: ",module.utf16_to_wstring( "22" ))
+        self.assertTrue( "22" == module.utf16_to_wstring( "22" ) )
+        n = module.name_t()
+        n.m_name = '456'
+        self.assertTrue( '456' == module.utf16_to_wstring( n.m_name ) )
+        self.assertTrue( '123' == module.utf16_to_string( n.m_123 ) )
+        
+        n.name = '11'
+        self.assertTrue( '11' == module.utf16_to_wstring( n.m_name ) )
+        
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/data/abstract_classes_to_be_exported.hpp b/unittests/data/abstract_classes_to_be_exported.hpp
new file mode 100644
index 0000000..8473e26
--- /dev/null
+++ b/unittests/data/abstract_classes_to_be_exported.hpp
@@ -0,0 +1,23 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __abstract_classes_to_be_exported_hpp__
+#define __abstract_classes_to_be_exported_hpp__
+
+namespace abstract_classes{
+    
+struct base{
+    virtual int do_smth() = 0;
+};
+
+struct derived : public base{
+    virtual int do_smth_else() = 0;
+};
+
+
+}//classes 
+
+#endif//__classes_to_be_exported_hpp__
+
diff --git a/unittests/data/abstract_to_be_exported.hpp b/unittests/data/abstract_to_be_exported.hpp
new file mode 100644
index 0000000..0d59386
--- /dev/null
+++ b/unittests/data/abstract_to_be_exported.hpp
@@ -0,0 +1,38 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __abstract_to_be_exported_hpp__
+#define __abstract_to_be_exported_hpp__
+
+namespace abstract {
+
+enum colors{ red, green, blue};
+
+class shape{
+public:
+    shape(){}
+    virtual ~shape() {}
+public:    
+    virtual colors color() const = 0;
+};
+
+class square : public shape{
+public:
+
+    virtual ~square(){}
+    
+public:
+    virtual colors color() const 
+    { return red; }
+    
+};
+
+colors call(shape *s){ 
+    return s->color(); 
+}
+  
+}
+
+#endif//__abstract_to_be_exported_hpp__
diff --git a/unittests/data/already_exposed_2to_be_exported.hpp b/unittests/data/already_exposed_2to_be_exported.hpp
new file mode 100644
index 0000000..3601d4e
--- /dev/null
+++ b/unittests/data/already_exposed_2to_be_exported.hpp
@@ -0,0 +1,24 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __already_exposed_2to_be_exported_hpp__
+#define __already_exposed_2to_be_exported_hpp__
+
+#include "already_exposed_to_be_exported.hpp"
+#include <vector>
+#include <string>
+
+namespace to_be_exposed{
+
+struct ae_derived : public already_exposed::ae_base
+{};
+
+inline std::vector< std::string > do_nothing(){
+    return std::vector< std::string >();
+}
+
+}
+
+#endif//__already_exposed_2to_be_exported_hpp__
diff --git a/unittests/data/already_exposed_to_be_exported.hpp b/unittests/data/already_exposed_to_be_exported.hpp
new file mode 100644
index 0000000..9ccf313
--- /dev/null
+++ b/unittests/data/already_exposed_to_be_exported.hpp
@@ -0,0 +1,24 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __already_exposed_to_be_exported_hpp__
+#define __already_exposed_to_be_exported_hpp__
+
+#include <vector>
+#include <string>
+
+namespace already_exposed{
+
+struct ae_t{};
+
+enum ae_e { x1, x2 };
+
+struct ae_base{};
+
+void do_smth( const std::vector< std::string >& );
+    
+}
+    
+#endif//__already_exposed_to_be_exported_hpp__
diff --git a/unittests/data/arrays_bug_to_be_exported.hpp b/unittests/data/arrays_bug_to_be_exported.hpp
new file mode 100644
index 0000000..48ce695
--- /dev/null
+++ b/unittests/data/arrays_bug_to_be_exported.hpp
@@ -0,0 +1,37 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost 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/noncopyable.hpp>
+
+#ifndef __arrays_bug_to_be_exported_hpp__
+#define __arrays_bug_to_be_exported_hpp__
+
+struct arrays_bug{
+
+struct array_of_arrays{
+    double* f[4];
+};
+
+struct item{ int values[10]; };
+
+struct container{ item items[10]; };
+
+struct const_item{ const int values[10]; };
+
+struct const_container{ const const_item items[10]; };
+
+struct nc_item : boost::noncopyable { int value; };
+
+struct nc_item_container{
+    nc_item items[10];
+    nc_item_container()
+    {
+        for(unsigned i = 0; i < 10; ++i) items[i].value = i + 1;
+    }
+};
+
+};
+
+#endif//__arrays_bug_to_be_exported_hpp__
diff --git a/unittests/data/balanced_files_to_be_exported.hpp b/unittests/data/balanced_files_to_be_exported.hpp
new file mode 100644
index 0000000..94cacb6
--- /dev/null
+++ b/unittests/data/balanced_files_to_be_exported.hpp
@@ -0,0 +1,90 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __split_module_to_be_exported_hpp__
+#define __split_module_to_be_exported_hpp__
+
+#include "boost/shared_ptr.hpp"
+//#include BOOST_HASH_MAP_HEADER
+#include <map>
+#include <vector>
+#include <string>
+
+namespace split_module{
+
+typedef std::vector< std::vector< int > > naive_matrix_t;
+
+class TestClass1 {
+
+public:
+   int func() {
+      return 1;
+   }
+
+};
+
+class TestClass2 {
+
+public:
+   int func() {
+      return 2;
+   }
+
+};
+
+class TestClass3 {
+
+public:
+   int func() {
+      return 3;
+   }
+};
+
+
+inline naive_matrix_t create_zero_matrix( unsigned int x ){
+    return naive_matrix_t();
+};
+
+
+struct op_struct{};
+
+inline op_struct* get_opaque(){
+    return 0;
+}
+
+inline void check_overload( int i=0, int j=1, int k=2 ){
+}
+
+
+struct item_t{
+
+    enum EColor{ red, blue };
+    enum EFruit{ apple, orange };
+
+    item_t(){}
+    item_t( int ){}
+
+    void do_nothing(){}
+    int do_something(){ return 1; }
+
+    op_struct* get_opaque(){ return 0; }
+
+    void check_overload( int i=0, int j=1, int k=2 ){}
+
+    int m_dummy;
+
+    struct nested_t{};
+};
+
+//typedef BOOST_STD_EXTENSION_NAMESPACE::hash_map< std::string, boost::shared_ptr< item_t > > str2item_t;
+typedef std::map< std::string, boost::shared_ptr< item_t > > str2item_t;
+inline str2item_t create_empty_mapping(){
+    return str2item_t();
+}
+
+}
+
+
+#endif//__split_module_to_be_exported_hpp__
diff --git a/unittests/data/bool_by_ref_to_be_exported.hpp b/unittests/data/bool_by_ref_to_be_exported.hpp
new file mode 100644
index 0000000..0de0871
--- /dev/null
+++ b/unittests/data/bool_by_ref_to_be_exported.hpp
@@ -0,0 +1,40 @@
+#include <stdexcept>
+#include <iostream>
+
+namespace tests{
+
+class listener {
+    public:
+        virtual void listen(int id, const std::string& name, int& skip) { 
+            throw std::runtime_error ( std::string ("Virtual function listener::listen called!") ); 
+        }
+        virtual void listenPV(int id, const std::string& name, int& skip) = 0;
+};
+
+bool callListener ( listener* myListener) {
+    int skip = 10;
+    std::cout << "C++: Calling myListener->listen\n";
+    myListener->listen(100, "test", skip);
+    if (skip == 10)   
+        throw std::runtime_error( "PROBLEM in C++: Called Returned with same value " );
+    else 
+        std::cout << "C++: Called OK " << skip <<"\n";
+
+    return skip;
+}
+
+
+bool callListenerPV ( listener* myListener) {
+    int skip = 10;
+    std::cout << "C++: Calling myListener->listen\n";
+    myListener->listenPV(100, "test", skip);
+    if (skip == 10){   
+        throw std::runtime_error( "PROBLEM in C++: Called Returned with same value " );
+    }
+    else 
+        std::cout << "C++: Called OK " << skip <<"\n";
+    return skip;
+}
+
+
+}
diff --git a/unittests/data/bpmodule_to_be_exported.hpp b/unittests/data/bpmodule_to_be_exported.hpp
new file mode 100644
index 0000000..3b5b8cc
--- /dev/null
+++ b/unittests/data/bpmodule_to_be_exported.hpp
@@ -0,0 +1,6 @@
+#ifndef __bpmodule_to_be_exported_hpp__
+#define __bpmodule_to_be_exported_hpp__
+
+#endif//__bpmodule_to_be_exported_hpp__
+
+
diff --git a/unittests/data/bug_covariant_returns_to_be_exported.hpp b/unittests/data/bug_covariant_returns_to_be_exported.hpp
new file mode 100644
index 0000000..3976be3
--- /dev/null
+++ b/unittests/data/bug_covariant_returns_to_be_exported.hpp
@@ -0,0 +1,73 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __bug_virtual_functions_overload_to_be_exported_hpp__
+#define __bug_virtual_functions_overload_to_be_exported_hpp__
+
+struct data_t {
+    int i;
+};
+
+struct more_data_t : public data_t{
+};
+
+struct algorithm_t{
+    algorithm_t(){};
+    virtual data_t* f(){ 
+        data_t* d = new data_t();
+        d->i = 0;
+        return d;
+    }
+};
+
+class better_algorithm_t : public algorithm_t{
+public:
+    better_algorithm_t(){};
+    virtual more_data_t* f(){ 
+        more_data_t* d = new more_data_t();
+        d->i = 1;
+        return d;
+    }
+
+};
+
+
+struct FObjectState {};
+    
+struct DObjectState;
+
+
+struct FSerializable {
+public:
+    virtual FObjectState* saveState() const = 0;
+};
+
+struct DSerializable {
+public:
+    virtual DObjectState* saveState() const = 0;
+};
+
+
+class FMachinePart : public FSerializable {
+};
+
+class DMachinePart : public DSerializable {
+};
+
+
+class FComponent : public FMachinePart {
+public:
+    // methods inherited from Serializable interface
+    virtual FObjectState* saveState() const{ return 0; }
+};
+
+
+class DComponent : public DMachinePart {
+public:
+    // methods inherited from Serializable interface
+    virtual DObjectState* saveState() const{ return 0; }
+};
+
+#endif//__bug_virtual_functions_overload_to_be_exported_hpp__
diff --git a/unittests/data/call_policies_to_be_exported.cpp b/unittests/data/call_policies_to_be_exported.cpp
new file mode 100644
index 0000000..db06846
--- /dev/null
+++ b/unittests/data/call_policies_to_be_exported.cpp
@@ -0,0 +1,4 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/unittests/data/call_policies_to_be_exported.hpp b/unittests/data/call_policies_to_be_exported.hpp
new file mode 100644
index 0000000..e5f8dd7
--- /dev/null
+++ b/unittests/data/call_policies_to_be_exported.hpp
@@ -0,0 +1,136 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __call_policies_to_be_exported_hpp__
+#define __call_policies_to_be_exported_hpp__
+
+#include <string>
+
+namespace call_policies{
+
+struct dummy{
+    size_t id() { return (size_t)( this ); }
+};
+
+namespace return_arg{
+
+inline void return_second_arg( int, int x, int )
+{ ; }
+
+}
+
+namespace return_self{
+
+inline const dummy& return_self( const dummy& x , int y )
+{ return x; }
+
+}
+
+namespace return_value_policy{
+
+inline const dummy& copy_const_reference( const dummy& x)
+{ return x; }
+
+struct container{
+    int operator[]( int i ) const { return i; }
+};
+
+}
+
+namespace void_ptr{
+
+inline void* my_address(){
+    return (void*)( &my_address );
+}
+
+inline bool compare( void* ptr ){
+    return ptr == my_address();
+}
+
+}
+
+namespace opaque{
+    struct impl_details_t{};
+
+    inline impl_details_t* get_impl_details(){
+        return (impl_details_t*)( 0x11223344 );
+    }
+
+    typedef struct opaque_ *opaque_pointer;
+    opaque_pointer get_opaque(){ return 0; }
+
+}
+
+namespace fundamental_ptr{
+
+inline float* get_fundamental_ptr_value(){
+    static float x = 0.5;
+    return &x;
+}
+
+inline float* get_fundamental_ptr_value_null(){
+    return (float*)(0);
+}
+
+}
+
+struct arrays{
+    int* create_arr_3(){
+        int* arr3 = new int[3];
+        for( int i = 0 ; i < 3; ++i ){
+            arr3[i] = i;
+        }
+        return arr3;
+    }
+};
+
+struct return_range_image_t{
+    return_range_image_t()
+    : raw_data( "" )
+    {
+        raw_data += '1';
+        raw_data += '\0';
+        raw_data += '2';
+    }
+
+    ~return_range_image_t(){}
+
+    std::string raw_data;
+
+    const char* get_raw_data_const() const{
+        return raw_data.c_str();
+    }
+
+    char* get_raw_data(){
+        return &raw_data.at(0);
+    }
+
+    return_range_image_t* create_images(){
+        return_range_image_t* images = new return_range_image_t[3];
+        return_range_image_t x;
+        x.raw_data = "0";
+        images[0] = x;
+        return_range_image_t y;
+        y.raw_data = "1";
+        images[1] = y;
+        return_range_image_t  z;
+        z.raw_data = "2";
+        images[2] = z;
+        return images;
+    }
+};
+
+
+struct immutable_by_ref_t{
+    immutable_by_ref_t() : value ( 2977 ){};
+
+    int& get_value(){ return value; }
+
+    int value;
+};
+
+}
+
+#endif//__call_policies_to_be_exported_hpp__
diff --git a/unittests/data/casting_to_be_exported.hpp b/unittests/data/casting_to_be_exported.hpp
new file mode 100644
index 0000000..80bcc23
--- /dev/null
+++ b/unittests/data/casting_to_be_exported.hpp
@@ -0,0 +1,74 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __casting_to_be_exported_hpp__
+#define __casting_to_be_exported_hpp__
+
+namespace casting{ 
+
+struct conversion_constructor_t{
+   conversion_constructor_t( int a=2, int b=0 )
+   : value_a( a* (-1) ), value_b( b * (-1) )
+   {}
+   int value_a;
+   bool value_b;
+};
+
+int get_value_a( int a ){
+    conversion_constructor_t cc( a );
+    return cc.value_a;
+}
+
+
+struct y{};
+    
+struct x{
+    x() 
+    : value(0)
+    {}
+    
+    explicit x( int i )
+    : value( i )
+    {}
+    
+    x( bool b )
+    : value( b )
+    {}
+    
+    operator int() const { return value; }
+    
+    operator y(){ return y(); }
+    
+    int value;
+};
+
+struct zzzz{
+    operator y const() const { return y(); }
+};
+
+int identity( int z ){ return z; }
+
+int x_value(const x& d ){ return d.value; }
+
+
+struct vector{
+    vector(){}
+    vector( double ){}
+    vector( const vector& ){}
+};
+
+struct float_vector{
+    float_vector(){}
+    float_vector( const float_vector& ){}
+    float_vector( const vector& ){}
+    float_vector( float ){}
+};
+
+inline void do_nothing(){
+    float_vector( 5.0 );
+}
+}
+
+#endif//__casting_to_be_exported_hpp__
diff --git a/unittests/data/class_order2_to_be_exported.hpp b/unittests/data/class_order2_to_be_exported.hpp
new file mode 100644
index 0000000..f850054
--- /dev/null
+++ b/unittests/data/class_order2_to_be_exported.hpp
@@ -0,0 +1,29 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __class_order2_to_be_exported_hpp__
+#define __class_order2_to_be_exported_hpp__
+
+namespace class_order2{ 
+
+struct S1;
+struct S2;
+    
+struct S1{
+    void do_smth( S2* s2=0 ){};
+    //void do_smth( int i, S2* s2=NULL ){};
+    void do_smth( double d, S2* s2=(S2*)(0) ){};
+};
+
+struct S2{
+    void do_smth( S1* S1=0 ){};
+    //void do_smth( int i, S1* S1=NULL ){};
+    void do_smth( double d, S1* s1=(S1*)(0) ){};
+};
+
+
+}
+
+#endif//__class_order2_to_be_exported_hpp__
diff --git a/unittests/data/class_order3_to_be_exported.hpp b/unittests/data/class_order3_to_be_exported.hpp
new file mode 100644
index 0000000..25633c7
--- /dev/null
+++ b/unittests/data/class_order3_to_be_exported.hpp
@@ -0,0 +1,26 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __class_order3_to_be_exported_hpp__
+#define __class_order3_to_be_exported_hpp__
+
+namespace class_order3{ 
+
+struct consts{
+    enum fruits{ apple, orange };
+};
+
+struct container{
+    explicit container( consts::fruits x = consts::apple )
+    : my_fruit( x )
+    {}
+    
+    consts::fruits my_fruit;        
+};    
+
+}
+
+#endif//__class_order3_to_be_exported_hpp__
+
diff --git a/unittests/data/class_order4_to_be_exported.hpp b/unittests/data/class_order4_to_be_exported.hpp
new file mode 100644
index 0000000..8cf6985
--- /dev/null
+++ b/unittests/data/class_order4_to_be_exported.hpp
@@ -0,0 +1,28 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __class_order4_to_be_exported_hpp__
+#define __class_order4_to_be_exported_hpp__
+
+namespace class_order4{ 
+    
+struct container{
+    enum fruits{ apple, orange };
+    
+    container()
+    : my_fruit(orange)
+    {}
+
+    explicit container( int, fruits x = apple )
+    : my_fruit( x )
+    {}
+    
+    fruits my_fruit;        
+};    
+
+}
+
+#endif//__class_order4_to_be_exported_hpp__
+
diff --git a/unittests/data/class_order_to_be_exported.hpp b/unittests/data/class_order_to_be_exported.hpp
new file mode 100644
index 0000000..bd1ddd5
--- /dev/null
+++ b/unittests/data/class_order_to_be_exported.hpp
@@ -0,0 +1,31 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __class_order_to_be_exported_hpp__
+#define __class_order_to_be_exported_hpp__
+
+namespace class_order{ 
+
+struct item{
+    item( int i, int j )
+    : m_value( i + j )
+    {}
+    
+    int m_value;
+};
+
+struct container{
+public:    
+
+    explicit container( const item& x = item( 2, 1 ) )
+    : my_item( x )
+    {}
+
+    item my_item;        
+};    
+
+}
+
+#endif//__class_order_to_be_exported_hpp__
\ No newline at end of file
diff --git a/unittests/data/classes_to_be_exported.hpp b/unittests/data/classes_to_be_exported.hpp
new file mode 100644
index 0000000..e8f7063
--- /dev/null
+++ b/unittests/data/classes_to_be_exported.hpp
@@ -0,0 +1,120 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __classes_to_be_exported_hpp__
+#define __classes_to_be_exported_hpp__
+
+namespace classes{
+
+namespace fundamentals{
+
+struct fundamental1{};
+
+struct fundamental2{};
+
+}
+
+namespace hierarchical{
+
+struct fruit{};
+
+struct apple : public fruit{};
+
+}
+
+namespace noncopyables{
+
+class noncopyable1{
+public:
+    noncopyable1(){}
+private:
+    noncopyable1( const noncopyable1& );
+};
+
+}
+
+namespace abstracts{
+
+class abstract{
+public:
+    abstract(){}
+    abstract(int){}
+    abstract(int, double, const abstract&){}
+public:
+
+    virtual int pure_virtual(const abstract& ) const = 0;
+
+    virtual bool overloaded_virtual(){ return true;}
+    virtual bool overloaded_virtual(int){ return true;}
+
+    virtual int overloaded_pure_virtual(int) const = 0;
+    virtual void overloaded_pure_virtual(double) const = 0;
+
+    virtual int some_virtual(){ return 1; }
+};
+
+}
+
+namespace constructors{
+
+struct constructor1{
+    constructor1(){}
+    constructor1( const constructor1& ){}
+    constructor1(int x, int y){}
+    constructor1(int y, const constructor1& x ){}
+
+    constructor1( const double ){}
+    struct internal_data{};
+    constructor1( const internal_data ){}
+};
+
+}
+
+namespace scope_based{
+struct scope_based_exposer{
+    enum EColor{ red, green, blue };
+    scope_based_exposer(EColor c=blue){}
+};
+}
+
+namespace protected_static{
+class protected_static_t{
+protected:
+    static int identity(int x){ return x; }
+
+    int invert_sign(int x){ return -1*x; }
+private:
+    int i;
+};
+};
+
+namespace non_public_hierarchy{
+
+struct protected_base{};
+struct protected_derived : protected protected_base{};
+
+}
+
+union Word
+{
+       short word;
+       struct
+       {
+               char low, high;
+       };
+};
+
+}//classes
+
+namespace pyplusplus{ namespace aliases{
+
+typedef classes::hierarchical::apple the_tastest_fruit;
+
+typedef classes::protected_static::protected_static_t PROTECTED_STATIC_T_1;
+typedef classes::protected_static::protected_static_t PROTECTED_STATIC_T_2;
+
+}}
+
+#endif//__classes_to_be_exported_hpp__
diff --git a/unittests/data/constructors_bug_to_be_exported.hpp b/unittests/data/constructors_bug_to_be_exported.hpp
new file mode 100644
index 0000000..2825f76
--- /dev/null
+++ b/unittests/data/constructors_bug_to_be_exported.hpp
@@ -0,0 +1,28 @@
+// Copyright 2004-2007 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __constructors_bug_to_be_exported_hpp__
+#define __constructors_bug_to_be_exported_hpp__
+
+struct Joint{};
+struct Actor{};
+
+class JointCallback {    
+public:
+
+    class JointBreakCallback {
+        public:
+            virtual void onBreak(Joint*, float, Actor*, Actor*) {}
+    };
+
+    void onBreak(Joint* j, float impulse, Actor* a, Actor* b) {
+        mCallback->onBreak(j,impulse, a,b);
+    }
+
+    JointBreakCallback*	mCallback;
+};
+
+
+#endif//__constructors_bug_to_be_exported_hpp__
diff --git a/unittests/data/convenience_to_be_exported.hpp b/unittests/data/convenience_to_be_exported.hpp
new file mode 100644
index 0000000..9d22878
--- /dev/null
+++ b/unittests/data/convenience_to_be_exported.hpp
@@ -0,0 +1,10 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __convenience_to_be_exported_hpp__
+#define __convenience_to_be_exported_hpp__
+
+
+#endif//__convenience_to_be_exported_hpp__
diff --git a/unittests/data/cp_return_addressof_to_be_exported.hpp b/unittests/data/cp_return_addressof_to_be_exported.hpp
new file mode 100644
index 0000000..703dd73
--- /dev/null
+++ b/unittests/data/cp_return_addressof_to_be_exported.hpp
@@ -0,0 +1,28 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __cp_return_addressof_to_be_exported_hpp__
+#define __cp_return_addressof_to_be_exported_hpp__
+
+#include <string>
+
+struct image_t{
+    image_t()
+    : buffer( new int[5] )
+    {
+        for( int i = 0; i < 5; ++i ){
+            buffer[i] = i;
+        }
+    }
+
+    ~image_t(){ delete[] buffer; }
+
+    int* get_buffer() const { return buffer; }
+
+private:
+    int* buffer;
+};
+
+#endif//__cp_return_addressof_to_be_exported_hpp__
diff --git a/unittests/data/cppexceptions_to_be_exported.hpp b/unittests/data/cppexceptions_to_be_exported.hpp
new file mode 100644
index 0000000..e7c55df
--- /dev/null
+++ b/unittests/data/cppexceptions_to_be_exported.hpp
@@ -0,0 +1,32 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __cppexceptions_to_be_exported_hpp__
+#define __cppexceptions_to_be_exported_hpp__
+
+#include <string>
+
+namespace cppexceptions{ 
+
+struct custom_exception_t{
+    custom_exception_t( const std::string& error )
+    : m_error( error )
+    {}
+        
+    const std::string& what() const{
+        return m_error;
+    }
+
+private:
+    const std::string m_error;
+};
+    
+inline void throw_custom_exception(){
+    throw custom_exception_t( "profe of concept" );
+}
+
+}
+
+#endif//__cppexceptions_to_be_exported_hpp__
diff --git a/unittests/data/ctypes/anonymous/anonymous.cpp b/unittests/data/ctypes/anonymous/anonymous.cpp
new file mode 100644
index 0000000..6fec95f
--- /dev/null
+++ b/unittests/data/ctypes/anonymous/anonymous.cpp
@@ -0,0 +1,4 @@
+#include "anonymous.h"
+
+void do_smth( color ){}
+void do_smth2( some_struct* ){}
diff --git a/unittests/data/ctypes/anonymous/anonymous.h b/unittests/data/ctypes/anonymous/anonymous.h
new file mode 100644
index 0000000..c7004fa
--- /dev/null
+++ b/unittests/data/ctypes/anonymous/anonymous.h
@@ -0,0 +1,36 @@
+#pragma once
+#include "libconfig.h"
+
+
+struct EXPORT_SYMBOL rgbai{
+    struct {
+        float r,g,b,a;
+    };
+    int i;
+};
+
+struct EXPORT_SYMBOL color{
+    union{
+        struct {
+            float r,g,b,a;
+        };
+        float val[4];
+    };
+};
+
+struct {
+    int x;
+} unnamed_struct_with_mem_var_x;
+
+typedef struct
+{
+  rgbai m_rgbai;	  
+  union {
+    void *vtable;         /* Pointer to function pointers structure.  */
+  } ptr_vtable;
+} some_struct;
+
+void EXPORT_SYMBOL do_smth2( some_struct* );
+
+void EXPORT_SYMBOL do_smth( color );
+
diff --git a/unittests/data/ctypes/anonymous/sconscript b/unittests/data/ctypes/anonymous/sconscript
new file mode 100644
index 0000000..9d5f689
--- /dev/null
+++ b/unittests/data/ctypes/anonymous/sconscript
@@ -0,0 +1,5 @@
+Import('*')
+
+target_name = 'anonymous'
+shlib = env.SharedLibrary( target=target_name, source=[ target_name + '.cpp' ] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/char_ptr_as_binary_data/char_ptr_as_binary_data.cpp b/unittests/data/ctypes/char_ptr_as_binary_data/char_ptr_as_binary_data.cpp
new file mode 100644
index 0000000..3210e92
--- /dev/null
+++ b/unittests/data/ctypes/char_ptr_as_binary_data/char_ptr_as_binary_data.cpp
@@ -0,0 +1,15 @@
+#include "char_ptr_as_binary_data.h"
+
+EXPORT_SYMBOL data_t* get_empty(){
+    data_t* x = new data_t();
+    x->size = 0;
+    x->bytes = 0;
+    return x;
+}
+
+EXPORT_SYMBOL data_t* get_hello_world(){
+    data_t* x = new data_t();
+    x->size = 11;
+    x->bytes = "hello\0world";
+    return x;
+}
diff --git a/unittests/data/ctypes/char_ptr_as_binary_data/char_ptr_as_binary_data.h b/unittests/data/ctypes/char_ptr_as_binary_data/char_ptr_as_binary_data.h
new file mode 100644
index 0000000..09c6110
--- /dev/null
+++ b/unittests/data/ctypes/char_ptr_as_binary_data/char_ptr_as_binary_data.h
@@ -0,0 +1,11 @@
+#include "libconfig.h"
+
+struct EXPORT_SYMBOL data_t{
+    unsigned int size;
+    char const * bytes;
+};
+
+EXPORT_SYMBOL data_t* get_empty();
+EXPORT_SYMBOL data_t* get_hello_world();
+
+
diff --git a/unittests/data/ctypes/char_ptr_as_binary_data/sconscript b/unittests/data/ctypes/char_ptr_as_binary_data/sconscript
new file mode 100644
index 0000000..631b3bd
--- /dev/null
+++ b/unittests/data/ctypes/char_ptr_as_binary_data/sconscript
@@ -0,0 +1,7 @@
+Import('*')
+
+target_name = 'char_ptr_as_binary_data'
+shlib = env.SharedLibrary( target=target_name
+                           , source=[ target_name + '.cpp' ]
+                           , CPPPATH=['#data'] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/circular_references/circular_references.cpp b/unittests/data/ctypes/circular_references/circular_references.cpp
new file mode 100644
index 0000000..e085986
--- /dev/null
+++ b/unittests/data/ctypes/circular_references/circular_references.cpp
@@ -0,0 +1,4 @@
+#include "circular_references.h"
+
+void use_bar( bar_t* ){
+}
diff --git a/unittests/data/ctypes/circular_references/circular_references.h b/unittests/data/ctypes/circular_references/circular_references.h
new file mode 100644
index 0000000..a61127a
--- /dev/null
+++ b/unittests/data/ctypes/circular_references/circular_references.h
@@ -0,0 +1,19 @@
+#include "libconfig.h"
+
+struct foo_t;
+struct bar_t;
+
+typedef int (*foo_func_type)( struct foo_t* );
+typedef int (*bar_func_type)( struct bar_t* );
+
+struct EXPORT_SYMBOL foo_t{
+    foo_func_type* f_foo;
+    bar_func_type* f_bar;
+};
+
+struct EXPORT_SYMBOL bar_t{
+    int a, b;
+    struct foo_t foo;
+};
+
+void EXPORT_SYMBOL use_bar( bar_t* );
diff --git a/unittests/data/ctypes/circular_references/sconscript b/unittests/data/ctypes/circular_references/sconscript
new file mode 100644
index 0000000..e20d468
--- /dev/null
+++ b/unittests/data/ctypes/circular_references/sconscript
@@ -0,0 +1,7 @@
+Import('*')
+
+target_name = 'circular_references'
+shlib = env.SharedLibrary( target=target_name
+                           , source=[ target_name + '.cpp' ]
+                           , CPPPATH=['#data'] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/enums/enums.cpp b/unittests/data/ctypes/enums/enums.cpp
new file mode 100644
index 0000000..21373c3
--- /dev/null
+++ b/unittests/data/ctypes/enums/enums.cpp
@@ -0,0 +1 @@
+#include "enums.h"
diff --git a/unittests/data/ctypes/enums/enums.h b/unittests/data/ctypes/enums/enums.h
new file mode 100644
index 0000000..026151b
--- /dev/null
+++ b/unittests/data/ctypes/enums/enums.h
@@ -0,0 +1,2 @@
+#include "enums_to_be_exported.hpp"
+
diff --git a/unittests/data/ctypes/enums/sconscript b/unittests/data/ctypes/enums/sconscript
new file mode 100644
index 0000000..df92f8f
--- /dev/null
+++ b/unittests/data/ctypes/enums/sconscript
@@ -0,0 +1,7 @@
+Import('*')
+
+target_name = 'enums'
+shlib = env.SharedLibrary( target=target_name
+                           , source=[ target_name + '.cpp' ]
+                           , CPPPATH=['#data'] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/function_ptr_as_variable/function_ptr_as_variable.cpp b/unittests/data/ctypes/function_ptr_as_variable/function_ptr_as_variable.cpp
new file mode 100644
index 0000000..0c9c2a5
--- /dev/null
+++ b/unittests/data/ctypes/function_ptr_as_variable/function_ptr_as_variable.cpp
@@ -0,0 +1,5 @@
+#include "function_ptr_as_variable.h"
+
+EXPORT_SYMBOL int execute_callback(struct info* info, int v) {
+    return info->do_smth_fun(v);
+}
diff --git a/unittests/data/ctypes/function_ptr_as_variable/function_ptr_as_variable.h b/unittests/data/ctypes/function_ptr_as_variable/function_ptr_as_variable.h
new file mode 100644
index 0000000..5b884fc
--- /dev/null
+++ b/unittests/data/ctypes/function_ptr_as_variable/function_ptr_as_variable.h
@@ -0,0 +1,11 @@
+#include "libconfig.h"
+#include <stdio.h>
+
+typedef int do_smth_fun_t(int);
+
+struct EXPORT_SYMBOL info {
+   do_smth_fun_t* do_smth_fun;
+};
+
+EXPORT_SYMBOL int execute_callback(struct info* info, int);
+
diff --git a/unittests/data/ctypes/function_ptr_as_variable/sconscript b/unittests/data/ctypes/function_ptr_as_variable/sconscript
new file mode 100644
index 0000000..8cbec5b
--- /dev/null
+++ b/unittests/data/ctypes/function_ptr_as_variable/sconscript
@@ -0,0 +1,7 @@
+Import('*')
+
+target_name = 'function_ptr_as_variable'
+shlib = env.SharedLibrary( target=target_name
+                           , source=[ target_name + '.cpp' ]
+                           , CPPPATH=['#data'] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/include_algorithm/include_algorithm.cpp b/unittests/data/ctypes/include_algorithm/include_algorithm.cpp
new file mode 100644
index 0000000..c35ff75
--- /dev/null
+++ b/unittests/data/ctypes/include_algorithm/include_algorithm.cpp
@@ -0,0 +1,5 @@
+#include "include_algorithm.h"
+
+void do_nothing( io_file_t* ){
+    return;
+}
diff --git a/unittests/data/ctypes/include_algorithm/include_algorithm.h b/unittests/data/ctypes/include_algorithm/include_algorithm.h
new file mode 100644
index 0000000..b276f63
--- /dev/null
+++ b/unittests/data/ctypes/include_algorithm/include_algorithm.h
@@ -0,0 +1,11 @@
+#pragma once
+
+#include "libconfig.h"
+
+struct EXPORT_SYMBOL io_marker_t{};
+
+struct EXPORT_SYMBOL io_file_t{
+    io_marker_t* io_marker;
+};
+
+void EXPORT_SYMBOL do_nothing( io_file_t* );
diff --git a/unittests/data/ctypes/include_algorithm/sconscript b/unittests/data/ctypes/include_algorithm/sconscript
new file mode 100644
index 0000000..ff3fb46
--- /dev/null
+++ b/unittests/data/ctypes/include_algorithm/sconscript
@@ -0,0 +1,5 @@
+Import('*')
+
+target_name = 'include_algorithm'
+shlib = env.SharedLibrary( target=target_name, source=[ target_name + '.cpp' ] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/opaque/opaque.cpp b/unittests/data/ctypes/opaque/opaque.cpp
new file mode 100644
index 0000000..c4140e3
--- /dev/null
+++ b/unittests/data/ctypes/opaque/opaque.cpp
@@ -0,0 +1,16 @@
+#include "opaque.h"
+
+user_data_t* create(){
+    user_data_t *x = new user_data_t();
+    x->i = 1977;
+    return x;
+};
+
+int read_user_data(user_data_t* y){
+    return y->i;
+}
+
+void destroy(user_data_t* x){
+    delete x;
+}
+
diff --git a/unittests/data/ctypes/opaque/opaque.h b/unittests/data/ctypes/opaque/opaque.h
new file mode 100644
index 0000000..1604449
--- /dev/null
+++ b/unittests/data/ctypes/opaque/opaque.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "libconfig.h"
+
+struct EXPORT_SYMBOL user_data_t{
+    int i;
+};
+
+
+EXPORT_SYMBOL user_data_t* create();
+int EXPORT_SYMBOL read_user_data(user_data_t*);
+void EXPORT_SYMBOL destroy(user_data_t*);
diff --git a/unittests/data/ctypes/opaque/sconscript b/unittests/data/ctypes/opaque/sconscript
new file mode 100644
index 0000000..3507608
--- /dev/null
+++ b/unittests/data/ctypes/opaque/sconscript
@@ -0,0 +1,5 @@
+Import('*')
+
+target_name = 'opaque'
+shlib = env.SharedLibrary( target=target_name, source=[ target_name + '.cpp' ] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/templates/sconscript b/unittests/data/ctypes/templates/sconscript
new file mode 100644
index 0000000..1455df6
--- /dev/null
+++ b/unittests/data/ctypes/templates/sconscript
@@ -0,0 +1,7 @@
+Import('*')
+
+target_name = 'templates'
+shlib = env.SharedLibrary( target=target_name
+                           , source=[ target_name + '.cpp' ]
+                           , CPPPATH=['#data'] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/templates/templates.cpp b/unittests/data/ctypes/templates/templates.cpp
new file mode 100644
index 0000000..9a43948
--- /dev/null
+++ b/unittests/data/ctypes/templates/templates.cpp
@@ -0,0 +1,5 @@
+#include "templates.h"
+
+void EXPORT_SYMBOL init( value_t<int>& x){
+    x.value = 2009;
+}
diff --git a/unittests/data/ctypes/templates/templates.h b/unittests/data/ctypes/templates/templates.h
new file mode 100644
index 0000000..b77335f
--- /dev/null
+++ b/unittests/data/ctypes/templates/templates.h
@@ -0,0 +1,11 @@
+#include "libconfig.h"
+
+template< class ValueType >
+struct value_t{
+    ValueType get_value(){ return value;}
+    ValueType value;
+};
+
+void EXPORT_SYMBOL init( value_t<int>& );
+
+template class EXPORT_SYMBOL value_t<int>;
diff --git a/unittests/data/ctypes/user_code/sconscript b/unittests/data/ctypes/user_code/sconscript
new file mode 100644
index 0000000..f230f92
--- /dev/null
+++ b/unittests/data/ctypes/user_code/sconscript
@@ -0,0 +1,7 @@
+Import('*')
+
+target_name = 'user_code'
+shlib = env.SharedLibrary( target=target_name
+                           , source=[ target_name + '.cpp' ]
+                           , CPPPATH=['#data'] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/user_code/user_code.cpp b/unittests/data/ctypes/user_code/user_code.cpp
new file mode 100644
index 0000000..44a9915
--- /dev/null
+++ b/unittests/data/ctypes/user_code/user_code.cpp
@@ -0,0 +1,5 @@
+#include "user_code.h"
+
+EXPORT_SYMBOL void init(){
+}
+
diff --git a/unittests/data/ctypes/user_code/user_code.h b/unittests/data/ctypes/user_code/user_code.h
new file mode 100644
index 0000000..d80bd67
--- /dev/null
+++ b/unittests/data/ctypes/user_code/user_code.h
@@ -0,0 +1,11 @@
+#include "libconfig.h"
+
+struct EXPORT_SYMBOL data_t{
+    int i;
+    unsigned int j : 3;
+};
+
+EXPORT_SYMBOL int j;
+
+EXPORT_SYMBOL void init();
+
diff --git a/unittests/data/ctypes/varargs/sconscript b/unittests/data/ctypes/varargs/sconscript
new file mode 100644
index 0000000..f5bdf19
--- /dev/null
+++ b/unittests/data/ctypes/varargs/sconscript
@@ -0,0 +1,7 @@
+Import('*')
+
+target_name = 'varargs'
+shlib = env.SharedLibrary( target=target_name
+                           , source=[ target_name + '.cpp' ]
+                           , CPPPATH=['#data'] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/varargs/varargs.cpp b/unittests/data/ctypes/varargs/varargs.cpp
new file mode 100644
index 0000000..2d50b6e
--- /dev/null
+++ b/unittests/data/ctypes/varargs/varargs.cpp
@@ -0,0 +1,15 @@
+#include "varargs.h"
+#include <stdio.h>
+#include <stdarg.h>
+
+EXPORT_SYMBOL unsigned long sum_ints( int count, ... ){
+    va_list vl;
+    unsigned long result = 0;
+    va_start( vl, count );
+    // Step through the list.
+    for( int i = 0; i < count; ++i ){
+        result += va_arg( vl, int );
+    }
+    va_end( vl );
+    return result;
+}
diff --git a/unittests/data/ctypes/varargs/varargs.h b/unittests/data/ctypes/varargs/varargs.h
new file mode 100644
index 0000000..20d1763
--- /dev/null
+++ b/unittests/data/ctypes/varargs/varargs.h
@@ -0,0 +1,3 @@
+#include "libconfig.h"
+
+EXPORT_SYMBOL unsigned long sum_ints( int count, ... );
diff --git a/unittests/data/ctypes/variables/sconscript b/unittests/data/ctypes/variables/sconscript
new file mode 100644
index 0000000..52306b5
--- /dev/null
+++ b/unittests/data/ctypes/variables/sconscript
@@ -0,0 +1,7 @@
+Import('*')
+
+target_name = 'variables'
+shlib = env.SharedLibrary( target=target_name
+                           , source=[ target_name + '.cpp' ]
+                           , CPPPATH=['#data'] )
+env.Alias( target_name, shlib )
diff --git a/unittests/data/ctypes/variables/variables.cpp b/unittests/data/ctypes/variables/variables.cpp
new file mode 100644
index 0000000..3fc7ee0
--- /dev/null
+++ b/unittests/data/ctypes/variables/variables.cpp
@@ -0,0 +1,27 @@
+#include "variables.h"
+
+EXPORT_SYMBOL void init(){
+    data.i = 1900;
+    data.j = 7;
+    data_ptr = new data_t();
+    data_ptr->i = 11;
+    j = 87;
+}
+
+EXPORT_SYMBOL int get_value_j(){
+    return j;
+}
+
+EXPORT_SYMBOL int get_value_data(){
+    return data.i;
+}
+
+EXPORT_SYMBOL int get_value_data_p(){
+    return data_ptr->i;
+}
+
+EXPORT_SYMBOL int get_value_data_j(){
+    return data.j;
+}
+
+
diff --git a/unittests/data/ctypes/variables/variables.h b/unittests/data/ctypes/variables/variables.h
new file mode 100644
index 0000000..6f2a773
--- /dev/null
+++ b/unittests/data/ctypes/variables/variables.h
@@ -0,0 +1,18 @@
+#include "libconfig.h"
+
+struct EXPORT_SYMBOL data_t{
+    int i;
+    unsigned int j : 3;
+};
+
+EXPORT_SYMBOL int j;
+EXPORT_SYMBOL data_t data;
+EXPORT_SYMBOL data_t* data_ptr;
+
+EXPORT_SYMBOL void init();
+EXPORT_SYMBOL int get_value_j();
+EXPORT_SYMBOL int get_value_data();
+EXPORT_SYMBOL int get_value_data_p();
+EXPORT_SYMBOL int get_value_data_j();
+
+
diff --git a/unittests/data/custom_smart_ptr.h b/unittests/data/custom_smart_ptr.h
new file mode 100644
index 0000000..c273f0a
--- /dev/null
+++ b/unittests/data/custom_smart_ptr.h
@@ -0,0 +1,108 @@
+#ifndef __my_smart_ptr_t__
+#define __my_smart_ptr_t__
+
+#include <assert.h>
+
+namespace smart_ptrs{
+
+template<class T> class my_smart_ptr_t {
+protected:
+	T* pRep;
+	unsigned int* pUseCount;
+public:
+
+	my_smart_ptr_t()
+    : pRep(0), pUseCount(0)
+    {}
+
+    //What will happen if rep is NULL? -> bug
+	explicit my_smart_ptr_t(T* rep)
+    : pRep(rep), pUseCount( new unsigned int(1) )
+	{}
+
+    template<class Y>
+	my_smart_ptr_t(const my_smart_ptr_t<Y>& r)
+    : pRep(0), pUseCount(0)
+    {
+		pRep = r.get();
+		pUseCount = r.useCountPointer();
+		if(pUseCount){
+			++(*pUseCount);
+		}
+    }
+
+    template< class Y>
+	my_smart_ptr_t& operator=(const my_smart_ptr_t<Y>& r){
+		if( pRep == r.pRep ){
+			return *this;
+	    }
+
+		release();
+
+		pRep = r.get();
+		pUseCount = r.useCountPointer();
+		if(pUseCount){
+			++(*pUseCount);
+		}
+		return *this;
+	}
+
+	virtual ~my_smart_ptr_t() {
+        release();
+	}
+
+	inline T& operator*() const {
+	    assert(pRep); return *pRep;
+	}
+
+	inline T* operator->() const {
+	    assert(pRep); return pRep;
+	}
+
+	inline T* get() const {
+	    return pRep;
+	}
+
+	inline unsigned int* useCountPointer() const {
+	    return pUseCount;
+	}
+
+	inline T* getPointer() const {
+	    return pRep;
+	}
+
+protected:
+
+    inline void release(void){
+		bool destroyThis = false;
+
+		if( pUseCount ){
+			if( --(*pUseCount) == 0){
+				destroyThis = true;
+	        }
+		}
+		if (destroyThis){
+			destroy();
+	    }
+    }
+
+    virtual void destroy(void){
+        delete pRep;
+        delete pUseCount;
+    }
+};
+
+template<class T, class U> inline bool operator==(my_smart_ptr_t<T> const& a, my_smart_ptr_t<U> const& b)
+{
+	return a.get() == b.get();
+}
+
+template<class T, class U> inline bool operator!=(my_smart_ptr_t<T> const& a, my_smart_ptr_t<U> const& b)
+{
+	return a.get() != b.get();
+}
+
+}
+
+#endif //__my_smart_ptr_t__
+
diff --git a/unittests/data/custom_smart_ptr_classes_to_be_exported.hpp b/unittests/data/custom_smart_ptr_classes_to_be_exported.hpp
new file mode 100644
index 0000000..6ac6ea7
--- /dev/null
+++ b/unittests/data/custom_smart_ptr_classes_to_be_exported.hpp
@@ -0,0 +1,119 @@
+#include "custom_smart_ptr.h"
+
+namespace controllers{
+
+struct controller_i{
+public:
+    virtual ~controller_i() { }
+    virtual int get_value(void) const = 0;
+};
+
+typedef smart_ptrs::my_smart_ptr_t<controller_i> controller_ptr_i;
+
+struct multiply_x_t : controller_i{
+    multiply_x_t( int value )
+    : m_value( value )
+    {}
+
+    virtual int get_value(void) const{
+        return  m_value * get_multiply_value();
+    }
+
+    virtual int get_multiply_value() const{
+        return 1;
+    }
+
+private:
+    int m_value;
+};
+
+typedef smart_ptrs::my_smart_ptr_t<multiply_x_t> multiply_x_ptr_t;
+
+struct add_x_t : controller_i{
+    add_x_t( int value )
+    : m_value( value )
+    {}
+
+    virtual int get_value(void) const{
+        return  m_value + get_add_value();
+    }
+
+    virtual int get_add_value() const{
+        return 0;
+    }
+
+private:
+    int m_value;
+};
+
+
+struct add_x_ptr_t : public smart_ptrs::my_smart_ptr_t< add_x_t >{
+
+    explicit add_x_ptr_t(add_x_t* rep)
+    : smart_ptrs::my_smart_ptr_t<add_x_t>(rep)
+    {}
+
+    add_x_ptr_t(const add_x_ptr_t& r)
+    : smart_ptrs::my_smart_ptr_t<add_x_t>(r)
+    {}
+
+    //added by me( Roman ), to allow implicit conversion between add_x_ptr_t and add_x_ptr_t
+    //operator smart_ptrs::my_smart_ptr_t<resource_t>() const {
+    //    return smart_ptrs::my_smart_ptr_t<resource_t>( *this );
+    //}
+
+    /// Operator used to convert a add_x_ptr_t to a add_x_ptr_t
+    add_x_ptr_t& operator=(const add_x_ptr_t& r){
+
+        if( pRep == static_cast<add_x_t*>(r.getPointer()) ){
+            return *this;
+        }
+
+        release();
+
+        pRep = static_cast<add_x_t*>(r.getPointer());
+        pUseCount = r.useCountPointer();
+
+        if (pUseCount){
+            ++(*pUseCount);
+        }
+
+        return *this;
+    }
+};
+
+add_x_ptr_t create_sptr_add_x(){
+    return add_x_ptr_t( new add_x_t(12) );
+}
+
+}
+
+
+
+//not supported
+//add_x_ptr_t create_shared_resource(){
+//    return add_x_ptr_t( new add_x_t() );
+//}
+
+inline int
+ref_get_value( controllers::controller_ptr_i& a ){
+    return a->get_value();
+}
+
+//inline int
+//val_get_value( smart_ptrs::my_smart_ptr_t< controllers::add_x_t > a ){
+//    return a->get_value();
+//}
+
+
+inline int
+val_get_value( controllers::controller_ptr_i a ){
+    return a->get_value();
+}
+
+inline int
+const_ref_get_value( const controllers::controller_ptr_i& a ){
+    return a->get_value();
+}
+
+
diff --git a/unittests/data/custom_string_to_be_exported.hpp b/unittests/data/custom_string_to_be_exported.hpp
new file mode 100644
index 0000000..dfdede4
--- /dev/null
+++ b/unittests/data/custom_string_to_be_exported.hpp
@@ -0,0 +1,57 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __custom_string_to_be_exported_hpp__
+#define __custom_string_to_be_exported_hpp__
+
+#include <string>
+
+namespace custom_strings{
+
+class utf16_t{
+public:
+    utf16_t() {}
+    explicit utf16_t(std::string const& value) : m_value_a(value) {}
+    explicit utf16_t(std::wstring const& value) : m_value_w(value) {}   
+    
+    utf16_t( const utf16_t& other )
+    : m_value_a( other.m_value_a ), m_value_w( other.m_value_w )
+    {}
+      
+    utf16_t& operator=( const utf16_t& other ){
+        m_value_a = other.m_value_a;
+        m_value_w = other.m_value_w;
+        return *this;
+    }
+    
+    std::string const& value_a() const { return m_value_a; }
+    std::wstring const& value_w() const { return m_value_w; }
+
+private:    
+    std::wstring m_value_w;
+    std::string m_value_a;
+};
+
+struct name_t{
+    name_t() : m_123( "123" ){}
+    
+    const utf16_t& get_name() const { return m_name; }
+    void set_name(const utf16_t& n) { m_name = n; }
+        
+    utf16_t m_name;
+    const utf16_t m_123;
+};
+
+inline std::string utf16_to_string( const utf16_t& x ){
+    return x.value_a();
+}
+
+inline std::wstring utf16_to_wstring( const utf16_t& x ){
+    return x.value_w();
+}
+
+}
+
+#endif//__custom_string_to_be_exported_hpp__
diff --git a/unittests/data/declarations_order_bug_false_to_be_exported.hpp b/unittests/data/declarations_order_bug_false_to_be_exported.hpp
new file mode 100644
index 0000000..0ada45e
--- /dev/null
+++ b/unittests/data/declarations_order_bug_false_to_be_exported.hpp
@@ -0,0 +1,49 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __declarations_order_bug_false_to_be_exported_hpp__
+#define __declarations_order_bug_false_to_be_exported_hpp__
+
+
+struct declarations_order_bug_false{
+
+struct tester_t{
+    tester_t() 
+    {}
+        
+    const char* do_smth( bool ){
+        return "do_smth( bool )";        
+    }
+    
+    const char* do_smth( int ){
+        return "do_smth( int )";
+    }
+    
+    const char* operator+=(const char *){
+        return "operator+=(const char *)";
+    }
+   
+    const char* append(const char*){
+        return "append(const char *)";
+    }
+
+    const char* append(const char*, int){
+        return "append(const char*, int)";
+    }
+
+    const char* operator+=(const char){
+        return "operator+=(const char)";
+    }
+
+    const char* append(const char){
+        return "append(const char)";
+    }
+};
+    
+};
+
+
+#endif//__declarations_order_bug_false_to_be_exported_hpp__
+
diff --git a/unittests/data/declarations_order_bug_true_to_be_exported.hpp b/unittests/data/declarations_order_bug_true_to_be_exported.hpp
new file mode 100644
index 0000000..cdb6c71
--- /dev/null
+++ b/unittests/data/declarations_order_bug_true_to_be_exported.hpp
@@ -0,0 +1,49 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __declarations_order_bug_true_to_be_exported_hpp__
+#define __declarations_order_bug_true_to_be_exported_hpp__
+
+
+struct declarations_order_bug_true{
+
+struct tester_t{
+    tester_t() 
+    {}
+        
+    const char* do_smth( bool ){
+        return "do_smth( bool )";        
+    }
+    
+    const char* do_smth( int ){
+        return "do_smth( int )";
+    }
+    
+    const char* operator+=(const char *){
+        return "operator+=(const char *)";
+    }
+   
+    const char* append(const char*){
+        return "append(const char *)";
+    }
+
+    const char* append(const char*, int){
+        return "append(const char*, int)";
+    }
+
+    const char* operator+=(const char){
+        return "operator+=(const char)";
+    }
+
+    const char* append(const char){
+        return "append(const char)";
+    }
+};
+    
+};
+
+
+#endif//__declarations_order_bug_true_to_be_exported_hpp__
+
diff --git a/unittests/data/deepcopy_to_be_exported.hpp b/unittests/data/deepcopy_to_be_exported.hpp
new file mode 100644
index 0000000..8e95043
--- /dev/null
+++ b/unittests/data/deepcopy_to_be_exported.hpp
@@ -0,0 +1,34 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __deepcopy_to_be_exported_hpp__
+#define __deepcopy_to_be_exported_hpp__
+
+#include <stddef.h>
+#include <vector>
+
+namespace deepcopy{
+
+struct item_t{
+    item_t(){
+        id = (size_t)( this );
+    }
+    size_t id;
+};
+
+typedef std::vector< item_t > items_t;
+
+inline items_t create_items(){
+    items_t items;
+    items.push_back( item_t() );
+    items.push_back( item_t() );
+    items.push_back( item_t() );
+    return items;
+}
+
+}//statics
+
+
+#endif//__deepcopy_to_be_exported_hpp__
diff --git a/unittests/data/default_args_to_be_exported.hpp b/unittests/data/default_args_to_be_exported.hpp
new file mode 100644
index 0000000..d82b8d3
--- /dev/null
+++ b/unittests/data/default_args_to_be_exported.hpp
@@ -0,0 +1,18 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost 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_args_to_be_exported_hpp__
+#define __default_args_to_be_exported_hpp__
+
+namespace default_args{
+
+struct data{
+    int sum( int i=0 ){ return i; }
+    int sum( int a, int b, int c=1, int d=2 ){ return a + b + c + d; }
+};
+
+}
+
+#endif//__default_args_to_be_exported_hpp__
diff --git a/unittests/data/derive_from_deque_to_be_exported.hpp b/unittests/data/derive_from_deque_to_be_exported.hpp
new file mode 100644
index 0000000..2a1f5b4
--- /dev/null
+++ b/unittests/data/derive_from_deque_to_be_exported.hpp
@@ -0,0 +1,45 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __derive_from_deque_to_be_exported_hpp__
+#define __derive_from_deque_to_be_exported_hpp__
+
+#include <iostream>
+#include <vector>
+#include <deque>
+
+
+struct A{
+    A(int a, int b)
+    : a_(a),b_(b)
+    {}
+
+    int a_;
+    int b_;
+
+    int compute(){return a_ + b_;}
+};
+
+struct C : A{
+
+    C(int a, int b)
+    : A(a,b)
+    {}
+};
+
+namespace pyplusplus{ namespace aliases{
+
+    typedef std::deque< C > CDeque;
+    void instantiate( std::deque<C> d){
+    }
+} }
+
+struct F : public std::deque<C>
+{
+    F(){}
+    int dlugosc() {return this->size();}
+};
+
+#endif//__derive_from_deque_to_be_exported_hpp__
diff --git a/unittests/data/duplicate_aliases_to_be_exported.cpp b/unittests/data/duplicate_aliases_to_be_exported.cpp
new file mode 100644
index 0000000..da84134
--- /dev/null
+++ b/unittests/data/duplicate_aliases_to_be_exported.cpp
@@ -0,0 +1,13 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "duplicate_aliases_to_be_exported.hpp"
+
+namespace duplicate_aliases{
+
+
+}//duplicate_aliases
+
+
diff --git a/unittests/data/duplicate_aliases_to_be_exported.hpp b/unittests/data/duplicate_aliases_to_be_exported.hpp
new file mode 100644
index 0000000..2a3a255
--- /dev/null
+++ b/unittests/data/duplicate_aliases_to_be_exported.hpp
@@ -0,0 +1,22 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __duplicate_aliases_to_be_exported_hpp__
+#define __duplicate_aliases_to_be_exported_hpp__
+
+namespace duplicate_aliases{ 
+
+struct duplicate_aliases_1{};
+struct duplicate_aliases_2{};
+struct duplicate_aliases_3{
+    
+    struct i_duplicate_aliases_4{};
+    struct i_duplicate_aliases_5{};
+        
+};    
+    
+}
+
+#endif//__duplicate_aliases_to_be_exported_hpp__
diff --git a/unittests/data/embeded_to_be_exported.hpp b/unittests/data/embeded_to_be_exported.hpp
new file mode 100644
index 0000000..6439a6e
--- /dev/null
+++ b/unittests/data/embeded_to_be_exported.hpp
@@ -0,0 +1,13 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __embeded_to_be_exported_hpp__
+#define __embeded_to_be_exported_hpp__
+
+struct item_t{
+    int i;
+};
+
+#endif//__embeded_to_be_exported_hpp__
diff --git a/unittests/data/enums_exported_expected.hpp b/unittests/data/enums_exported_expected.hpp
new file mode 100644
index 0000000..291f3d2
--- /dev/null
+++ b/unittests/data/enums_exported_expected.hpp
@@ -0,0 +1,17 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost 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/python.hpp>
+#include "enums_to_be_exported.hpp"
+
+BOOST_PYTHON_MODULE(pyenums){
+    //exporting members of namespace "::enums"
+    boost::python::enum_<enums::color>("Color")
+        .value("RED", enums::red)
+        .value("BLUE", enums::blue)
+        .export_values()
+        .value("green", enums::green)
+        ;
+}
\ No newline at end of file
diff --git a/unittests/data/enums_to_be_exported.hpp b/unittests/data/enums_to_be_exported.hpp
new file mode 100644
index 0000000..c61a7bb
--- /dev/null
+++ b/unittests/data/enums_to_be_exported.hpp
@@ -0,0 +1,36 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __enums_to_be_exported_hpp__
+#define __enums_to_be_exported_hpp__
+
+#include "libconfig.h"
+
+enum EXPORT_SYMBOL Chisla{ nol, odin, dva, tri };
+
+namespace enums{
+
+enum EXPORT_SYMBOL color{
+    red = 1
+    , green = 2
+    , blue = 4 };
+
+enum EXPORT_SYMBOL numbers{
+    zero = 0
+    , noll = 0
+};
+
+struct EXPORT_SYMBOL struct_with_enum{
+    enum fruits{
+        lemon, orange, apple
+    };
+};
+
+inline int EXPORT_SYMBOL to_int( int x=red ){ return x; }
+
+}
+
+
+#endif//__enums_to_be_exported_hpp__
diff --git a/unittests/data/factory_to_be_exported.cpp b/unittests/data/factory_to_be_exported.cpp
new file mode 100644
index 0000000..6abfb35
--- /dev/null
+++ b/unittests/data/factory_to_be_exported.cpp
@@ -0,0 +1,22 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "factory_to_be_exported.hpp"
+
+namespace factory{
+
+class concrete : public abstract{
+    virtual int run( ) const{
+        return 1;
+    }
+};
+
+ 
+std::auto_ptr<abstract> create(){
+    return std::auto_ptr<abstract>( new concrete() );
+}
+
+    
+}
\ No newline at end of file
diff --git a/unittests/data/factory_to_be_exported.hpp b/unittests/data/factory_to_be_exported.hpp
new file mode 100644
index 0000000..21a05bd
--- /dev/null
+++ b/unittests/data/factory_to_be_exported.hpp
@@ -0,0 +1,22 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __factory_to_be_exported_hpp__
+#define __factory_to_be_exported_hpp__
+
+#include <memory>
+    
+namespace factory{
+ 
+class abstract{
+public:
+    virtual int run() const = 0;
+};
+
+std::auto_ptr<abstract> create();
+    
+}
+
+#endif//__factory_to_be_exported_hpp__
diff --git a/unittests/data/filesystem_to_be_exported.hpp b/unittests/data/filesystem_to_be_exported.hpp
new file mode 100644
index 0000000..2edb9fb
--- /dev/null
+++ b/unittests/data/filesystem_to_be_exported.hpp
@@ -0,0 +1,14 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __filesystem_to_be_exported_hpp__
+#define __filesystem_to_be_exported_hpp__
+
+#include "boost/filesystem/path.hpp"
+#include "boost/filesystem/operations.hpp"
+#include "boost/filesystem/convenience.hpp"
+#include "boost/filesystem/exception.hpp"
+
+#endif//__filesystem_to_be_exported_hpp__
diff --git a/unittests/data/final_classes_to_be_exported.hpp b/unittests/data/final_classes_to_be_exported.hpp
new file mode 100644
index 0000000..ad9c5f6
--- /dev/null
+++ b/unittests/data/final_classes_to_be_exported.hpp
@@ -0,0 +1,24 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __final_classes_to_be_exported_hpp__
+#define __final_classes_to_be_exported_hpp__
+
+#include <string>
+
+namespace final_classes{
+
+class Foo{
+public:
+    virtual void bar() {}
+private:
+    Foo() {}
+};
+
+
+} 
+
+#endif//__final_classes_to_be_exported_hpp__
+
diff --git a/unittests/data/finalizables_to_be_exported.hpp b/unittests/data/finalizables_to_be_exported.hpp
new file mode 100644
index 0000000..8dae5c5
--- /dev/null
+++ b/unittests/data/finalizables_to_be_exported.hpp
@@ -0,0 +1,24 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __finalizables_to_be_exported_hpp__
+#define __finalizables_to_be_exported_hpp__
+
+namespace finalizables{
+
+struct function_t{
+    virtual int year(){ return 2004; } 
+};
+
+struct whole_class_t{
+    virtual int month(){ return 12; } 
+    virtual int day(){ return 16; } 
+protected:
+    void do_smth(){};
+};
+
+}
+
+#endif//__finalizables_to_be_exported_hpp__
diff --git a/unittests/data/free_function_ignore_bug_to_be_exported.hpp b/unittests/data/free_function_ignore_bug_to_be_exported.hpp
new file mode 100644
index 0000000..8e49de1
--- /dev/null
+++ b/unittests/data/free_function_ignore_bug_to_be_exported.hpp
@@ -0,0 +1,27 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __free_function_ignore_bug_to_be_exported_hpp__
+#define __free_function_ignore_bug_to_be_exported_hpp__
+
+#include <string>
+
+namespace free_function_ignore_bug{ 
+
+inline void do_nothing(){}
+    
+inline void do_nothing(int, int){}
+
+struct some_dummy_struct_t{};
+
+some_dummy_struct_t** return_some_dummy_struct_ptr_ptr(){
+    return 0;
+}
+
+void fill_some_dummy_struct_ptr_ptr(some_dummy_struct_t**){}
+
+}
+
+#endif//__user_text_to_be_exported_hpp__
diff --git a/unittests/data/free_functions_to_be_exported.hpp b/unittests/data/free_functions_to_be_exported.hpp
new file mode 100644
index 0000000..61acd91
--- /dev/null
+++ b/unittests/data/free_functions_to_be_exported.hpp
@@ -0,0 +1,27 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __free_functions_to_be_exported_hpp__
+#define __free_functions_to_be_exported_hpp__
+
+#include <stddef.h>
+
+namespace free_functions{
+
+inline int one(){ 
+    return 1; 
+}
+
+inline int plus(int a, const int b=21){ 
+    return a+b; 
+}
+
+inline void do_smth( size_t , int ){
+}
+
+}
+
+#endif//__free_functions_to_be_exported_hpp__
+
diff --git a/unittests/data/free_operators_to_be_exported.hpp b/unittests/data/free_operators_to_be_exported.hpp
new file mode 100644
index 0000000..e35db78
--- /dev/null
+++ b/unittests/data/free_operators_to_be_exported.hpp
@@ -0,0 +1,57 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __free_operators_to_be_exported_hpp__
+#define __free_operators_to_be_exported_hpp__
+
+namespace free_operators{
+
+struct number{
+    int i;
+    
+    number operator*( int ii ) const {
+        number n2 = { i * ii };
+        return n2;
+    }
+};
+
+struct rational{
+    int x, y;
+};
+
+number operator+( const number& x, int y ){ 
+    number z;
+    z.i = x.i + y;
+    return z;
+}
+
+bool operator!( const number& x ){
+    return !x.i;
+}
+
+number operator*( const number& n,  double i ){
+    number n2 = { n.i * i };
+    return n2;
+}
+
+number operator*( double i, const number& n ){
+    number n2 = { n.i * i };
+    return n2;
+}
+
+rational operator*( int i, const rational& r ){
+    rational rr = { r.x * i, r.y };
+    return rr;
+}
+
+bool operator!( const rational& x ){
+    return !x.x;
+}
+
+
+}
+    
+
+#endif//__free_operators_to_be_exported_hpp__
diff --git a/unittests/data/ft_constructor_to_be_exported.hpp b/unittests/data/ft_constructor_to_be_exported.hpp
new file mode 100644
index 0000000..332c300
--- /dev/null
+++ b/unittests/data/ft_constructor_to_be_exported.hpp
@@ -0,0 +1,37 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __ft_constructor_to_be_exported_hpp__
+#define __ft_constructor_to_be_exported_hpp__
+
+#include "boost/noncopyable.hpp"
+
+namespace ft_constructor{
+
+struct resources_t{
+    resources_t(){
+        std::cout << "created";
+    }
+    ~resources_t(){
+        std::cout << "destroyed";
+    }
+};
+
+struct holder_t : public boost::noncopyable{
+    holder_t(resources_t* r=0)
+    : resource( r )
+    {}
+        
+    ~holder_t(){ delete resource; }
+    
+    const resources_t* get_resource() const { return resource; }
+    
+private:
+    resources_t* resource;
+};
+
+}
+
+#endif//__ft_constructor_to_be_exported_hpp__
diff --git a/unittests/data/ft_from_address_to_be_exported.hpp b/unittests/data/ft_from_address_to_be_exported.hpp
new file mode 100644
index 0000000..d874f63
--- /dev/null
+++ b/unittests/data/ft_from_address_to_be_exported.hpp
@@ -0,0 +1,46 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __ft_from_address_to_be_exported_hpp__
+#define __ft_from_address_to_be_exported_hpp__
+
+#include <stdexcept>
+
+inline unsigned long
+sum_matrix( unsigned int* matrix, unsigned int rows, unsigned int columns ){
+    if( !matrix ){
+        throw std::runtime_error( "matrix is null" );
+    }
+    unsigned long result = 0;
+    for( unsigned int r = 0; r < rows; ++r ){
+        for( unsigned int c = 0; c < columns; ++c ){
+            result += *matrix;
+            ++matrix;
+        }
+    }
+    return result;
+}
+
+struct ptr_ptr_t{
+
+    ptr_ptr_t()
+    : value( new double( 5.9 ) )
+    {}
+
+    ~ptr_ptr_t(){
+        delete value;
+    }
+
+    void get_v_address( double** v ){
+        if( !v ){
+            throw std::runtime_error( "null pointer" );
+            *v = value;
+        }
+    }
+
+    double* value;
+};
+
+#endif//__ft_from_address_to_be_exported_hpp__
diff --git a/unittests/data/ft_inout_bugs_to_be_exported.hpp b/unittests/data/ft_inout_bugs_to_be_exported.hpp
new file mode 100644
index 0000000..303419a
--- /dev/null
+++ b/unittests/data/ft_inout_bugs_to_be_exported.hpp
@@ -0,0 +1,24 @@
+
+namespace tests{
+    
+inline void set_flag( bool value, bool& flag ){
+    flag = value;
+}
+
+struct base{
+    virtual void set_flag( bool value, bool& flag ){
+        flag = value;
+    }    
+};
+
+struct inventor : base{
+    virtual void set_flag( bool value, bool& flag ){
+        flag = !value;
+    }    
+};
+
+inline void call_set_flag( base& x, bool value, bool& flag ){
+    x.set_flag( value, flag );
+}
+
+}
diff --git a/unittests/data/ft_inout_static_array_to_be_exported.hpp b/unittests/data/ft_inout_static_array_to_be_exported.hpp
new file mode 100644
index 0000000..4996874
--- /dev/null
+++ b/unittests/data/ft_inout_static_array_to_be_exported.hpp
@@ -0,0 +1,55 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __ft_inout_static_array_to_be_exported_hpp__
+#define __ft_inout_static_array_to_be_exported_hpp__
+
+#include <cmath>
+#include <string>
+#include <iostream>
+
+
+int sum_and_fill( int v[3], int value ){
+    int result = v[0] + v[1] + v[2];
+    v[0] = value;
+    v[1] = value;
+    v[2] = value;
+    return result;
+}
+
+struct point3d_t{
+    
+    point3d_t()
+    : x( 0 ), y(0), z(0)
+    {}
+        
+    int initialize( int v[3] ){
+        x = v[0];
+        y = v[1];
+        z = v[2];
+        return x*y*z;
+    }
+    
+    virtual void position( int v[3] ){
+        v[0] = x;
+        v[1] = y;
+        v[2] = z;        
+    }        
+
+    void swap( int v[3] ){
+        std::swap( x, v[0] );
+        std::swap( y, v[1] );
+        std::swap( z, v[2] );
+    }
+
+    virtual void swap_derived( int v[3] ){
+        this->swap( v );
+    }
+    
+    int x, y, z;
+};
+
+
+#endif//__ft_inout_static_array_to_be_exported_hpp__
diff --git a/unittests/data/ft_inout_static_matrix_to_be_exported.hpp b/unittests/data/ft_inout_static_matrix_to_be_exported.hpp
new file mode 100644
index 0000000..5ff5a00
--- /dev/null
+++ b/unittests/data/ft_inout_static_matrix_to_be_exported.hpp
@@ -0,0 +1,28 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __ft_inout_static_matrix_to_be_exported_hpp__
+#define __ft_inout_static_matrix_to_be_exported_hpp__
+
+#include <cmath>
+#include <string>
+#include <iostream>
+
+namespace ft{
+    
+int sum_and_fill( int m[2][3], int value ){
+    int result = 0;
+    for( int r = 0; r < 2; ++r ){
+        for( int c = 0; c < 3; ++c ){
+            result += m[r][c];
+            m[r][c] *= value;
+        }
+    }
+    return result;
+}
+
+}
+
+#endif//__ft_inout_static_matrix_to_be_exported_hpp__
diff --git a/unittests/data/ft_input_static_matrix_to_be_exported.hpp b/unittests/data/ft_input_static_matrix_to_be_exported.hpp
new file mode 100644
index 0000000..b32fa1d
--- /dev/null
+++ b/unittests/data/ft_input_static_matrix_to_be_exported.hpp
@@ -0,0 +1,42 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __ft_input_static_matrix_to_be_exported_hpp__
+#define __ft_input_static_matrix_to_be_exported_hpp__
+
+#include <cmath>
+#include <string>
+#include <iostream>
+
+namespace ft{
+    
+template< int rows, int columns >
+int sum_impl( const int m[rows][columns] ){
+    int result = 0;
+    for( int r = 0; r < rows; ++r ){
+    	for( int c = 0; c < columns; ++c ){
+    		result += m[r][c];
+    	}
+    }
+    return result;
+}
+
+int sum( int m[2][3]){
+	return sum_impl<2, 3>( m );
+}
+
+int sum_const( int m[2][3]){
+	return sum_impl<2, 3>( m );
+}
+
+struct matrix_sum_t{
+    virtual int calculate( const int m[3][5] ) const{
+    	return sum_impl<3,5>( m );
+    }
+};
+
+}
+
+#endif//__ft_input_static_matrix_to_be_exported_hpp__
diff --git a/unittests/data/ft_output_static_matrix_to_be_exported.hpp b/unittests/data/ft_output_static_matrix_to_be_exported.hpp
new file mode 100644
index 0000000..a32e77f
--- /dev/null
+++ b/unittests/data/ft_output_static_matrix_to_be_exported.hpp
@@ -0,0 +1,25 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __ft_output_static_matrix_to_be_exported_hpp__
+#define __ft_output_static_matrix_to_be_exported_hpp__
+
+#include <cmath>
+#include <string>
+#include <iostream>
+
+namespace ft{
+    
+void filler( int m[2][3], int value ){
+    for( int r = 0; r < 2; ++r ){
+    	for( int c = 0; c < 3; ++c ){
+    		m[r][c] = value;
+    	}
+    }
+}
+
+}
+
+#endif//__ft_output_static_matrix_to_be_exported_hpp__
diff --git a/unittests/data/function_adaptor_to_be_exported.hpp b/unittests/data/function_adaptor_to_be_exported.hpp
new file mode 100644
index 0000000..f32f3dc
--- /dev/null
+++ b/unittests/data/function_adaptor_to_be_exported.hpp
@@ -0,0 +1,65 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __function_adaptor_to_be_exported_hpp__
+#define __function_adaptor_to_be_exported_hpp__
+
+//#include <boost/preprocessor/facilities/identity.hpp>
+//I need it for BOOST_PP_IDENTITY macro
+
+#define PYPP_IDENTITY( X ) X
+
+struct foo_t{
+    int get_zero() const{ return 0; }
+    static int get_two(){ return 2; }
+};
+
+inline int get_one(){ return 1; }
+
+struct base_t{
+protected:
+    virtual int get_zero() const { return 0; }
+    virtual int get_two() const { return 2; }
+
+};
+
+struct derived_t : public base_t{
+protected:
+    virtual int get_two() const { return 22; }
+};
+
+
+struct base3_t{
+protected:
+    virtual int get_zero() const = 0;
+
+};
+
+struct base4_t{
+    virtual int get_zero() const = 0;
+
+};
+
+class Foo
+{
+public:
+    Foo() { }
+    virtual ~Foo() { }
+public:
+    virtual int virtual_public()
+    {
+        return 1;
+    }
+    int call_virtual_protected(){
+        return virtual_protected();
+    }
+protected:
+    virtual int virtual_protected()
+    {
+        return 2;
+    }
+};
+
+#endif//__function_adaptor_to_be_exported_hpp__
diff --git a/unittests/data/function_transformations_to_be_exported.hpp b/unittests/data/function_transformations_to_be_exported.hpp
new file mode 100644
index 0000000..86b9127
--- /dev/null
+++ b/unittests/data/function_transformations_to_be_exported.hpp
@@ -0,0 +1,300 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __function_transformations_to_be_exported_hpp__
+#define __function_transformations_to_be_exported_hpp__
+
+#include <cmath>
+#include <string>
+#include <iostream>
+
+namespace ft2{
+    
+void hello_world( std::string& hw ){
+    hw = "hello world!";
+}
+    
+//used to check output transformer
+struct calculator_t{
+    calculator_t(){
+    }
+
+    virtual ~calculator_t(){
+    }
+    
+    int assign_0_1_2( int& one, int& two ){
+        one = 1;
+        two = 2;
+        return 0;
+    }
+    
+    void assign_1_2( int& one, int& two ){
+        assign_0_1_2( one, two );
+    }
+    
+    calculator_t* clone_and_assign_5( int& five ){
+        five = 5;
+        return new calculator_t();
+    }
+};
+
+//used to check input\inout transformers
+struct window_t{
+    window_t()
+    : height( 0 )
+      , width( 0 )
+    {}
+    
+    void resize( int& h, int& w ){
+        height = h;
+        width = w;
+    }
+    
+    int resize_in_out( int& h, int& w){
+        height *= h; 
+        h = height;
+        width *= w;
+        w = width;
+        return h*w;
+    }
+    
+    int height;
+    int width;
+};
+
+struct point3d_t{
+    
+    point3d_t()
+    : x( 0 ), y(0), z(0)
+    {}
+        
+    int initialize( int v[3] ){
+        x = v[0];
+        y = v[1];
+        z = v[2];
+        return x*y*z;
+    }
+    
+    void position( int v[3] ){
+        v[0] = x;
+        v[1] = y;
+        v[2] = z;        
+    }        
+    
+    static void distance( const point3d_t& pt, double& dist ){
+        dist = sqrt( double( pt.x*pt.x + pt.y*pt.y + pt.z*pt.z ) );
+    }
+    
+    int x, y, z;
+};
+    
+}
+
+namespace ft{
+
+struct image_t{
+
+    image_t( unsigned int h, unsigned int w )
+    : m_height( h )
+      , m_width( w )
+    {}
+
+    // Made the method 'virtual' for now because func transformers
+    // are currently only taken into account on virtual functions.
+    virtual void get_size( unsigned int& h, unsigned int& w ){
+        h = m_height;
+        w = m_width;
+    }
+
+    // Return only one value
+    virtual void get_one_value(unsigned int& h) {
+        h = m_height;
+    }
+
+    // Like get_size() but with a return type and an additional argument
+    // that has to be kept in the signature
+    virtual int get_size2( unsigned int& h, unsigned int& w, int noref=0 ){
+        h = m_height;
+        w = m_width;
+	return noref;
+    }
+
+    // A method with an input argument
+    virtual int input_arg(int& in){
+      return in;
+    }
+
+    // A method taking an input array of fixed size
+    virtual int fixed_input_array(int v[3]) {
+      return v[0]+v[1]+v[2];
+    }
+
+    // A method with a output array of fixed size
+    virtual void fixed_output_array(int v[3]) {
+      v[0] = 1;
+      v[1] = 2;
+      v[2] = 3;
+    }
+
+    unsigned int m_width;
+    unsigned int m_height;
+
+};
+
+// Provide an instance created in C++ (i.e. this is not a wrapper instance)
+image_t cpp_instance(12,13);
+image_t& get_cpp_instance() {
+  return cpp_instance;
+}
+
+inline void
+get_image_size( image_t& img, unsigned int& h, unsigned int& w ){
+    img.get_size( h, w );
+}
+
+// This is used for calling img.get_one_value() on an instance passed
+// in by Python.
+unsigned int get_image_one_value( image_t& img ) {
+  unsigned int v;
+  img.get_one_value(v);
+  return v;
+}
+
+// This is used for calling img.fixed_output_array() on an instance passed
+// in by Python.
+int image_fixed_output_array( image_t& img) {
+  int v[3];
+  img.fixed_output_array(v);
+  return v[0]+v[1]+v[2];
+}
+
+//////////////////////////////////////////////////////////////////////
+
+// A class without any virtual members
+struct no_virtual_members_t
+{
+  bool member(int& v) { v=17; return true; }
+};
+
+struct ft_private_destructor_t{
+	static void get_value( int& x ){ x = 21; }
+private:
+	~ft_private_destructor_t(){}
+};
+
+struct bug_render_target_t{
+    
+    static float get_static_statistics( bug_render_target_t& inst ){
+        float x,y;
+        inst.get_statistics( x, y );
+        return x+y;
+    }
+    
+	virtual void get_statistics( float& x, float& y ) const{
+		x = 1.1;;
+		y = 1.2;
+	}
+	
+	struct frame_stats_t{
+		float x, y;
+	};
+	
+	virtual frame_stats_t get_statistics(){
+		frame_stats_t fs;
+		fs.x = 1.1;
+		fs.y = 1.2;
+        return fs;
+	}
+};
+
+struct modify_type_tester_t{
+    int do_nothing( int& v ){
+        return v;
+    }
+    
+    modify_type_tester_t* clone(int& c){
+        return new modify_type_tester_t();
+    }
+    
+};
+
+struct input_c_buffer_tester_t{
+	std::string write( char* buffer, int dummy, int size ) const {
+		return std::string( buffer, size );
+	}
+	
+	static std::string write_s( int dummy, char* buffer, int size ){
+		return std::string( buffer, size );
+	}
+
+};
+
+struct transfer_ownership_tester_t{
+    struct resources_t{
+        resources_t(){
+            std::cout << "created";
+        }
+        ~resources_t(){
+            std::cout << "destroyed";
+        }
+    };
+    void tester(resources_t* r){
+        delete r;
+    }
+};
+
+struct render_queue_listener_t{
+	virtual void 
+	render_queue_ended( int group_id
+					    , const std::string& invocation
+						, bool& repeat_this_invocation ) = 0;
+};
+
+}
+
+namespace ft_bugs{
+
+class C {};
+
+class A {
+public:
+    
+    static const A& get_a(){ static A a; return a; }
+
+protected:
+    virtual ~A(){};
+};
+
+class B {
+public:
+    virtual C* h(A const & x){ return 0;}
+    virtual C& h2(A const & x){ return c;}
+private:
+    C c;
+};
+
+}
+
+
+namespace ft_bugs2{
+
+class A2 {
+protected:
+    virtual ~A2(){};
+};
+
+class B2 {};
+
+class C2 {
+public:
+  B2& g(A2 const & x, int n){ return b; }
+private:
+    B2 b;
+};
+
+
+}
+
+#endif//__function_transformations_to_be_exported_hpp__
diff --git a/unittests/data/global_variables_to_be_exported.cpp b/unittests/data/global_variables_to_be_exported.cpp
new file mode 100644
index 0000000..a51d3d9
--- /dev/null
+++ b/unittests/data/global_variables_to_be_exported.cpp
@@ -0,0 +1,29 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "global_variables_to_be_exported.hpp"
+
+namespace global_variables{
+
+const color const_var = red;
+color non_const_var = blue;
+
+data garray[10];
+double arr_of_doubles[100];
+
+void init_garray(){
+    for( int i =0; i < 10; ++i ){
+        garray[i].value = -i;
+    }
+}
+
+int some_value = -7;
+int get_some_value(){ return some_value; }
+size_t get_some_value_address(){ return size_t( &some_value ); }
+
+}
+
+
+const char someSin[3] = "AB";
diff --git a/unittests/data/global_variables_to_be_exported.hpp b/unittests/data/global_variables_to_be_exported.hpp
new file mode 100644
index 0000000..65b5f5a
--- /dev/null
+++ b/unittests/data/global_variables_to_be_exported.hpp
@@ -0,0 +1,35 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __global_variables_to_be_exported_hpp__
+#define __global_variables_to_be_exported_hpp__
+
+#include <cstdlib>
+
+namespace global_variables{
+
+enum color{ red, green, blue };
+
+extern const color const_var;
+extern color non_const_var;
+
+struct data{ int value; };
+extern data garray[10];
+
+extern double arr_of_doubles[100];
+void init_garray();
+
+extern int some_value;
+
+int get_some_value();
+
+size_t get_some_value_address();
+
+}
+
+
+extern const char someSin[3];
+
+#endif//__global_variables_to_be_exported_hpp__
diff --git a/unittests/data/hierarchy3_to_be_exported.hpp b/unittests/data/hierarchy3_to_be_exported.hpp
new file mode 100644
index 0000000..81ed1b2
--- /dev/null
+++ b/unittests/data/hierarchy3_to_be_exported.hpp
@@ -0,0 +1,24 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __hierarchy3_to_be_exported_hpp__
+#define __hierarchy3_to_be_exported_hpp__
+
+namespace hierarchy3{
+
+struct grandpa_t{
+   virtual int gp_pure(int i) = 0;
+};
+
+struct father_t : public grandpa_t{
+   virtual int gp_pure(int i){ return i; }
+};
+
+struct son_t : public father_t
+{};
+
+}
+
+#endif//__hierarchy3_to_be_exported_hpp__
diff --git a/unittests/data/include_exclude_bug_to_be_exported.hpp b/unittests/data/include_exclude_bug_to_be_exported.hpp
new file mode 100644
index 0000000..e85d116
--- /dev/null
+++ b/unittests/data/include_exclude_bug_to_be_exported.hpp
@@ -0,0 +1,398 @@
+// Copyright 2004-2007 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//This file is base on OgreAny.h file, just slightly modified to remove dependencies.
+
+/*
+-----------------------------------------------------------------------------
+This source file is part of OGRE
+    (Object-oriented Graphics Rendering Engine)
+For the latest info, see http://www.ogre3d.org/
+
+Copyright (c) 2000-2006 Torus Knot Software Ltd
+Also see acknowledgements in Readme.html
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU Lesser General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) Any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+Any WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place - Suite 330, Boston, MA 02111-1307, USA, or go to
+http://www.gnu.org/copyleft/lesser.txt.
+
+You may alternatively use this source under the terms of a specific version of
+the OGRE Unrestricted License provided you have obtained such a license from
+Torus Knot Software Ltd.
+-----------------------------------------------------------------------------
+*/
+// -- Based on boost::any, original copyright information follows --
+// 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)
+// -- End original copyright --
+
+#ifndef __OGRE_ANY_H__
+#define __OGRE_ANY_H__
+
+#include <string>
+#include <algorithm>
+#include <stdexcept>
+#include <typeinfo>
+
+
+namespace Ogre
+{
+	/** Variant type that can hold Any other type.
+	*/
+    class Any
+    {
+    public: // constructors
+
+        Any()
+          : mContent(0)
+        {
+        }
+
+        template<typename ValueType>
+        explicit Any(const ValueType & value)
+          : mContent(new holder<ValueType>(value))
+        {
+        }
+
+        Any(const Any & other)
+          : mContent(other.mContent ? other.mContent->clone() : 0)
+        {
+        }
+
+        virtual ~Any()
+        {
+            delete mContent;
+        }
+
+    public: // modifiers
+
+        Any& swap(Any & rhs)
+        {
+            std::swap(mContent, rhs.mContent);
+            return *this;
+        }
+
+        template<typename ValueType>
+        Any& operator=(const ValueType & rhs)
+        {
+            Any(rhs).swap(*this);
+            return *this;
+        }
+
+        Any & operator=(const Any & rhs)
+        {
+            Any(rhs).swap(*this);
+            return *this;
+        }
+
+    public: // queries
+
+        bool isEmpty() const
+        {
+            return !mContent;
+        }
+
+        const std::type_info& getType() const
+        {
+            return mContent ? mContent->getType() : typeid(void);
+        }
+
+		inline friend std::ostream& operator <<
+			( std::ostream& o, const Any& v )
+		{
+			if (v.mContent)
+				v.mContent->writeToStream(o);
+			return o;
+		}
+
+
+    protected: // types
+
+        class placeholder
+        {
+        public: // structors
+    
+            virtual ~placeholder()
+            {
+            }
+
+        public: // queries
+
+            virtual const std::type_info& getType() const = 0;
+
+            virtual placeholder * clone() const = 0;
+    
+			virtual void writeToStream(std::ostream& o) = 0;
+
+        };
+
+        template<typename ValueType>
+        class holder : public placeholder
+        {
+        public: // structors
+
+            holder(const ValueType & value)
+              : held(value)
+            {
+            }
+
+        public: // queries
+
+            virtual const std::type_info & getType() const
+            {
+                return typeid(ValueType);
+            }
+
+            virtual placeholder * clone() const
+            {
+                return new holder(held);
+            }
+
+			virtual void writeToStream(std::ostream& o)
+			{
+				o << held;
+			}
+
+
+        public: // representation
+
+            ValueType held;
+
+        };
+
+
+
+    protected: // representation
+        placeholder * mContent;
+
+        template<typename ValueType>
+        friend ValueType * any_cast(Any *);
+
+
+    public: 
+
+	    template<typename ValueType>
+    	ValueType operator()() const
+    	{
+			if (!mContent) 
+			{
+				throw std::runtime_error( "Bad cast from uninitialised Any" );
+			}
+			else if(getType() == typeid(ValueType))
+			{
+             	return static_cast<Any::holder<ValueType> *>(mContent)->held;
+			}
+			else
+			{
+                throw std::runtime_error( "Bad cast from specific type" );
+			}
+		}
+
+		
+
+    };
+
+
+	/** Specialised Any class which has built in arithmetic operators, but can 
+		hold only types which support operator +,-,* and / .
+	*/
+	class AnyNumeric : public Any
+	{
+	public:
+		AnyNumeric()
+		: Any()
+		{
+		}
+
+		template<typename ValueType>
+		AnyNumeric(const ValueType & value)
+			
+		{
+			mContent = new numholder<ValueType>(value);
+		}
+
+		AnyNumeric(const AnyNumeric & other)
+            : Any()
+		{
+			mContent = other.mContent ? other.mContent->clone() : 0; 
+		}
+	protected:
+		class numplaceholder : public Any::placeholder
+		{
+		public: // structors
+
+			~numplaceholder()
+			{
+			}
+			virtual Any::placeholder* add(Any::placeholder* rhs) = 0;
+			virtual Any::placeholder* subtract(Any::placeholder* rhs) = 0;
+			virtual Any::placeholder* multiply(Any::placeholder* rhs) = 0;
+			virtual Any::placeholder* multiply(double factor) = 0;
+			virtual Any::placeholder* divide(Any::placeholder* rhs) = 0;
+		};
+
+		template<typename ValueType>
+		class numholder : public numplaceholder
+		{
+		public: // structors
+
+			numholder(const ValueType & value)
+				: held(value)
+			{
+			}
+
+		public: // queries
+
+			virtual const std::type_info & getType() const
+			{
+				return typeid(ValueType);
+			}
+
+			virtual placeholder * clone() const
+			{
+				return new numholder(held);
+			}
+
+			virtual placeholder* add(placeholder* rhs)
+			{
+				return new numholder(held + static_cast<numholder*>(rhs)->held);
+			}
+			virtual placeholder* subtract(placeholder* rhs)
+			{
+				return new numholder(held - static_cast<numholder*>(rhs)->held);
+			}
+			virtual placeholder* multiply(placeholder* rhs)
+			{
+				return new numholder(held * static_cast<numholder*>(rhs)->held);
+			}
+			virtual placeholder* multiply(double factor)
+			{
+				return new numholder(held * factor);
+			}
+			virtual placeholder* divide(placeholder* rhs)
+			{
+				return new numholder(held / static_cast<numholder*>(rhs)->held);
+			}
+			virtual void writeToStream(std::ostream& o)
+			{
+				o << held;
+			}
+
+		public: // representation
+
+			ValueType held;
+
+		};
+
+		/// Construct from holder
+		AnyNumeric(placeholder* pholder)
+		{
+			mContent = pholder;
+		}
+
+	public:
+		AnyNumeric & operator=(const AnyNumeric & rhs)
+		{
+			AnyNumeric(rhs).swap(*this);
+			return *this;
+		}
+		AnyNumeric operator+(const AnyNumeric& rhs) const
+		{
+			return AnyNumeric(
+				static_cast<numplaceholder*>(mContent)->add(rhs.mContent));
+		}
+		AnyNumeric operator-(const AnyNumeric& rhs) const
+		{
+			return AnyNumeric(
+				static_cast<numplaceholder*>(mContent)->subtract(rhs.mContent));
+		}
+		AnyNumeric operator*(const AnyNumeric& rhs) const
+		{
+			return AnyNumeric(
+				static_cast<numplaceholder*>(mContent)->multiply(rhs.mContent));
+		}
+		AnyNumeric operator*(double factor) const
+		{
+			return AnyNumeric(
+				static_cast<numplaceholder*>(mContent)->multiply(factor));
+		}
+		AnyNumeric operator/(const AnyNumeric& rhs) const
+		{
+			return AnyNumeric(
+				static_cast<numplaceholder*>(mContent)->divide(rhs.mContent));
+		}
+		AnyNumeric& operator+=(const AnyNumeric& rhs)
+		{
+			*this = AnyNumeric(
+				static_cast<numplaceholder*>(mContent)->add(rhs.mContent));
+			return *this;
+		}
+		AnyNumeric& operator-=(const AnyNumeric& rhs)
+		{
+			*this = AnyNumeric(
+				static_cast<numplaceholder*>(mContent)->subtract(rhs.mContent));
+			return *this;
+		}
+		AnyNumeric& operator*=(const AnyNumeric& rhs)
+		{
+			*this = AnyNumeric(
+				static_cast<numplaceholder*>(mContent)->multiply(rhs.mContent));
+			return *this;
+		}
+		AnyNumeric& operator/=(const AnyNumeric& rhs)
+		{
+			*this = AnyNumeric(
+				static_cast<numplaceholder*>(mContent)->divide(rhs.mContent));
+			return *this;
+		}
+
+
+
+
+	};
+
+
+    template<typename ValueType>
+    ValueType * any_cast(Any * operand)
+    {
+        return operand && operand->getType() == typeid(ValueType)
+                    ? &static_cast<Any::holder<ValueType> *>(operand->mContent)->held
+                    : 0;
+    }
+
+    template<typename ValueType>
+    const ValueType * any_cast(const Any * operand)
+    {
+        return any_cast<ValueType>(const_cast<Any *>(operand));
+    }
+
+    template<typename ValueType>
+    ValueType any_cast(const Any & operand)
+    {
+        const ValueType * result = any_cast<ValueType>(&operand);
+        if(!result)
+		{
+            throw std::runtime_error( "Bad cast from specific type" );
+		}
+        return *result;
+    }
+
+
+}
+
+#endif//__OGRE_ANY_H__
diff --git a/unittests/data/index_operator_to_be_exported.hpp b/unittests/data/index_operator_to_be_exported.hpp
new file mode 100644
index 0000000..b4a92a7
--- /dev/null
+++ b/unittests/data/index_operator_to_be_exported.hpp
@@ -0,0 +1,21 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __index_operator_to_be_exported_hpp__
+#define __index_operator_to_be_exported_hpp__
+
+namespace operators{
+
+struct container{
+    
+    int operator[]( int index ){    
+        return index % 2;
+    }
+    
+};
+}
+    
+
+#endif//__index_operator_to_be_exported_hpp__
diff --git a/unittests/data/indexing_suite2_shared_ptr_value_traits_to_be_exported.cpp b/unittests/data/indexing_suite2_shared_ptr_value_traits_to_be_exported.cpp
new file mode 100644
index 0000000..067d000
--- /dev/null
+++ b/unittests/data/indexing_suite2_shared_ptr_value_traits_to_be_exported.cpp
@@ -0,0 +1,34 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "indexing_suite2_shared_ptr_value_traits_to_be_exported.hpp"
+
+
+namespace samples
+{
+
+boost::shared_ptr<A> func()
+{
+    return boost::shared_ptr<A>(new A());
+}
+
+std::vector<A> funcVector()
+{
+    std::vector<A> items;
+    items.push_back(A());
+    items.push_back(A());
+    return items;
+}
+
+std::vector<boost::shared_ptr<A> > funcVectorShared()
+{
+    std::vector<boost::shared_ptr<A> > items;
+    items.push_back(boost::shared_ptr<A>(new A()));
+    items.push_back(boost::shared_ptr<A>(new A()));
+    return items;
+}
+
+}
+
diff --git a/unittests/data/indexing_suite2_shared_ptr_value_traits_to_be_exported.hpp b/unittests/data/indexing_suite2_shared_ptr_value_traits_to_be_exported.hpp
new file mode 100644
index 0000000..7e20c54
--- /dev/null
+++ b/unittests/data/indexing_suite2_shared_ptr_value_traits_to_be_exported.hpp
@@ -0,0 +1,26 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __indexing_suite2_shared_ptr_value_traits_to_be_exported_hpp__
+#define __indexing_suite2_shared_ptr_value_traits_to_be_exported_hpp__
+
+#include <vector>
+#include <boost/shared_ptr.hpp>
+
+namespace samples
+{
+
+class A
+{};
+
+boost::shared_ptr<A> func();
+
+std::vector<A> funcVector();
+
+std::vector<boost::shared_ptr<A> > funcVectorShared();
+
+}
+
+#endif//__indexing_suite2_shared_ptr_value_traits_to_be_exported_hpp__
diff --git a/unittests/data/indexing_suite_v1_to_be_exported.hpp b/unittests/data/indexing_suite_v1_to_be_exported.hpp
new file mode 100644
index 0000000..93dc0e5
--- /dev/null
+++ b/unittests/data/indexing_suite_v1_to_be_exported.hpp
@@ -0,0 +1,23 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __indexing_suite_v1__to_be_exported_hpp__
+#define __indexing_suite_v1__to_be_exported_hpp__
+
+#include <vector>
+#include "boost/shared_ptr.hpp"
+
+typedef std::vector< boost::shared_ptr< unsigned short* > > ushort_sptr_ptr_t;
+
+inline ushort_sptr_ptr_t get_empty(){
+    ushort_sptr_ptr_t x;    
+    typedef unsigned short ushort;
+    ushort * y = new ushort(5);
+    ushort ** yy = new ushort*( y ); 
+    x.push_back( boost::shared_ptr< unsigned short* >( yy ) );
+    return x;
+}
+
+#endif//__indexing_suite_v1__to_be_exported_hpp__
diff --git a/unittests/data/indexing_suites2_support_to_be_exported.hpp b/unittests/data/indexing_suites2_support_to_be_exported.hpp
new file mode 100644
index 0000000..1ce32fa
--- /dev/null
+++ b/unittests/data/indexing_suites2_support_to_be_exported.hpp
@@ -0,0 +1,21 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __indexing_suites2_to_be_exported_hpp__
+#define __indexing_suites2_to_be_exported_hpp__
+
+#include <vector>
+
+struct foo{
+    int bar;
+};
+
+typedef std::vector< foo > foo_vector;
+
+foo_vector get_foos(){    
+    return foo_vector();
+}
+
+#endif//__indexing_suites2_to_be_exported_hpp__
diff --git a/unittests/data/indexing_suites2_to_be_exported.hpp b/unittests/data/indexing_suites2_to_be_exported.hpp
new file mode 100644
index 0000000..fbdd018
--- /dev/null
+++ b/unittests/data/indexing_suites2_to_be_exported.hpp
@@ -0,0 +1,158 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __indexing_suites2_to_be_exported_hpp__
+#define __indexing_suites2_to_be_exported_hpp__
+
+#if defined( __GNUC__ )
+    #include <ext/hash_set>
+    #include <ext/hash_map>
+    #define HASH_XXX_NS __gnu_cxx
+#else
+    #include <hash_set>
+    #include <hash_map>
+	#if defined( __GCCXML__ ) && !defined( __PYGCCXML_MSVC9__ )
+		#define HASH_XXX_NS std
+	#else
+		#define HASH_XXX_NS stdext
+	#endif//GCCXML
+#endif
+
+#include <iostream>
+#include <vector>
+#include <string>
+#include <map>
+#include <set>
+
+namespace indexing_suites2 {
+
+typedef std::vector< std::string > strings_t;
+
+inline void do_nothing( const strings_t& ){}
+
+struct item_t{
+    item_t() : value( -1 ){}
+    explicit item_t( int v) : value( v ){}
+
+    bool operator==(item_t const& item) const {
+        return value == item.value;
+    }
+
+    bool operator!=(item_t const& item) const {
+        return value != item.value;
+    }
+
+    int value;
+};
+
+
+typedef std::vector<item_t> items_t;
+
+typedef std::vector<item_t*> items_ptr_t;
+inline items_ptr_t create_items_ptr(){
+    items_ptr_t items;
+    items.push_back( new item_t(0) );
+    items.push_back( new item_t(1) );
+    items.push_back( new item_t(2) );
+    items.push_back( new item_t(3) );
+    items.push_back( new item_t(4) );
+    return items;
+}
+
+inline item_t get_value( const std::vector<item_t>& vec, unsigned int index ){
+    return vec.at(index);
+}
+
+inline void set_value( std::vector<item_t>& vec, unsigned int index, item_t value ){
+    vec.at(index);
+    vec[index] = value;
+}
+
+typedef std::vector<float> fvector;
+fvector empty_fvector(){ return fvector(); }
+
+HASH_XXX_NS::hash_map< int, int > get_int_mapping(){
+    HASH_XXX_NS::hash_map< int, int > x;
+    x[ 1 ] = 1;
+    return x;
+}
+
+HASH_XXX_NS::hash_multimap< int, int > get_int_multimapping(){
+    HASH_XXX_NS::hash_multimap< int, int > x;
+    x.insert( HASH_XXX_NS::hash_multimap< int, int >::value_type( 1,1) );
+    return x;
+}
+
+typedef std::map< std::string, std::string > name2value_t;
+inline std::string get_first_name( name2value_t const * names ){
+    if( !names ){
+        return "";
+    }
+    else{
+        return names->begin()->first;
+    }
+}
+
+
+typedef std::multimap< int, int > multimap_ints_t;
+inline multimap_ints_t create_multimap_ints(){
+    return multimap_ints_t();
+}
+
+typedef std::set< std::string > set_strings_t;
+inline set_strings_t create_set_strings(){
+    return set_strings_t();
+}
+
+struct protected_item_t{
+    protected_item_t() : value( -1 ){}
+    explicit protected_item_t( int v) : value( v ){}
+
+    int value;
+protected:
+    bool operator==(protected_item_t const& item) const {
+        return value == item.value;
+    }
+
+    bool operator!=(protected_item_t const& item) const {
+        return value != item.value;
+    }
+    
+};
+
+
+typedef std::vector<protected_item_t> protected_items_t;
+
+typedef std::vector<protected_item_t> protected_items_ptr_t;
+inline protected_items_t create_protected_items(){
+    protected_items_t items;
+    items.push_back( protected_item_t(0) );
+    items.push_back( protected_item_t(1) );
+    items.push_back( protected_item_t(2) );
+    items.push_back( protected_item_t(3) );
+    items.push_back( protected_item_t(4) );
+    return items;
+}
+
+}
+
+std::ostream& operator<<( std::ostream& o, const indexing_suites2::set_strings_t& x){
+    for( indexing_suites2::set_strings_t::const_iterator index = x.begin(); index != x.end(); ++index ){
+        o << *index << ',';
+    }
+    return o;
+}
+
+std::set<int> ffff( ) {
+    return std::set<int>();
+}
+
+
+namespace pyplusplus{ namespace aliases{
+    typedef std::vector<indexing_suites2::item_t*> items_ptr_t;
+    typedef std::vector<indexing_suites2::protected_item_t*> protected_items_ptr_t;
+}}
+
+#endif//__indexing_suites2_to_be_exported_hpp__
diff --git a/unittests/data/indexing_suites_to_be_exported.hpp b/unittests/data/indexing_suites_to_be_exported.hpp
new file mode 100644
index 0000000..e333217
--- /dev/null
+++ b/unittests/data/indexing_suites_to_be_exported.hpp
@@ -0,0 +1,63 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __indexing_suites_to_be_exported_hpp__
+#define __indexing_suites_to_be_exported_hpp__
+
+#include <vector>
+#include <string>
+
+namespace indexing_suites {
+
+typedef std::vector< std::string > strings_t;
+
+inline void do_nothing( const strings_t& ){}
+
+inline strings_t get_names(){
+    strings_t names;
+    names.push_back( "a" );
+    names.push_back( "a" );
+    names.push_back( "a" );
+    return names;
+}
+
+struct item_t{    
+    item_t() : value( -1 ){}
+    
+    bool operator==(item_t const& item) const { 
+        return value == item.value; 
+    }
+    
+    bool operator!=(item_t const& item) const { 
+        return value != item.value; 
+    }    
+    
+    int value;
+};
+
+
+typedef std::vector<item_t> items_t;
+
+typedef std::vector<item_t*> items_ptr_t;
+
+inline item_t get_value( const std::vector<item_t>& vec, unsigned int index ){
+    return vec.at(index);
+}
+
+inline item_t get_ptr_value( const std::vector<item_t*>& vec, unsigned int index ){
+    return *vec.at(index);
+}
+
+inline void set_value( std::vector<item_t>& vec, unsigned int index, item_t value ){
+    vec.at(index);
+    vec[index] = value;
+}
+
+typedef std::vector<int> ivector;
+ivector empty_ivector(){ return ivector(); }
+
+}
+
+#endif//__indexing_suites_to_be_exported_hpp__
diff --git a/unittests/data/indexing_suites_v2_bug_a_to_be_exported.hpp b/unittests/data/indexing_suites_v2_bug_a_to_be_exported.hpp
new file mode 100644
index 0000000..095b2c3
--- /dev/null
+++ b/unittests/data/indexing_suites_v2_bug_a_to_be_exported.hpp
@@ -0,0 +1,27 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __indexing_suites_v2_bug_to_be_exported_hpp__
+#define __indexing_suites_v2_bug_to_be_exported_hpp__
+
+#include <stddef.h>
+#include <vector>
+
+namespace indexing_suites2 {
+
+std::vector<double> create_vector(){
+    std::vector<double> ret;
+    for(size_t i = 0; i < 10; i++)
+        ret.push_back(i);
+    return ret;
+}
+
+}
+
+namespace pyplusplus{ namespace aliases{
+    typedef std::vector< double > numbers_t;
+}}
+
+#endif//__indexing_suites_v2_bug_to_be_exported_hpp__
diff --git a/unittests/data/indexing_suites_v2_bug_b_to_be_exported.hpp b/unittests/data/indexing_suites_v2_bug_b_to_be_exported.hpp
new file mode 100644
index 0000000..095b2c3
--- /dev/null
+++ b/unittests/data/indexing_suites_v2_bug_b_to_be_exported.hpp
@@ -0,0 +1,27 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __indexing_suites_v2_bug_to_be_exported_hpp__
+#define __indexing_suites_v2_bug_to_be_exported_hpp__
+
+#include <stddef.h>
+#include <vector>
+
+namespace indexing_suites2 {
+
+std::vector<double> create_vector(){
+    std::vector<double> ret;
+    for(size_t i = 0; i < 10; i++)
+        ret.push_back(i);
+    return ret;
+}
+
+}
+
+namespace pyplusplus{ namespace aliases{
+    typedef std::vector< double > numbers_t;
+}}
+
+#endif//__indexing_suites_v2_bug_to_be_exported_hpp__
diff --git a/unittests/data/inner_base_class_to_be_exported.hpp b/unittests/data/inner_base_class_to_be_exported.hpp
new file mode 100644
index 0000000..87e621d
--- /dev/null
+++ b/unittests/data/inner_base_class_to_be_exported.hpp
@@ -0,0 +1,19 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __inner_base_class_to_be_exported_hpp__
+#define __inner_base_class_to_be_exported_hpp__
+
+struct foo1_t{
+    struct foo2_t;
+};
+
+struct foo3_t : public foo1_t
+{};
+
+struct foo1_t::foo2_t : public foo3_t
+{};
+
+#endif//__inner_base_class_to_be_exported_hpp__
diff --git a/unittests/data/inner_class_bug_to_be_exported.hpp b/unittests/data/inner_class_bug_to_be_exported.hpp
new file mode 100644
index 0000000..b62fcd6
--- /dev/null
+++ b/unittests/data/inner_class_bug_to_be_exported.hpp
@@ -0,0 +1,27 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __inner_class_bug_to_be_exported_hpp__
+#define __inner_class_bug_to_be_exported_hpp__
+
+namespace inner_classes {
+
+struct main_t{
+
+    void main_method(){}
+    virtual void main_method2(){}
+    virtual void main_method3() = 0;
+
+    struct inner_t{
+        inner_t( int ){}
+        void inner_method(){}
+        virtual void inner_method2(){}
+        virtual void inner_method3() = 0;
+    };
+};
+    
+}
+
+#endif//__inner_class_bug_to_be_exported_hpp__
diff --git a/unittests/data/inner_tmpl_class_to_be_exported.hpp b/unittests/data/inner_tmpl_class_to_be_exported.hpp
new file mode 100644
index 0000000..8a73270
--- /dev/null
+++ b/unittests/data/inner_tmpl_class_to_be_exported.hpp
@@ -0,0 +1,28 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __inner_tmpl_class_to_be_exported_hpp__
+#define __inner_tmpl_class_to_be_exported_hpp__
+
+#include <string>
+
+namespace inner_tmpl_class{
+    
+struct Outer {
+    template <typename T>
+    struct Inner{
+        Inner(T t_) :  t( t_ )
+        {}
+            
+        T t;
+    };
+ 
+    typedef Inner<int> Inner_int;
+    Inner_int f() { return Inner_int(23); }
+};
+
+} 
+
+#endif//__inner_tmpl_class_to_be_exported_hpp__
diff --git a/unittests/data/internal_classes_to_be_exported.hpp b/unittests/data/internal_classes_to_be_exported.hpp
new file mode 100644
index 0000000..4821a01
--- /dev/null
+++ b/unittests/data/internal_classes_to_be_exported.hpp
@@ -0,0 +1,20 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __internal_classes_to_be_exported_hpp__
+#define __internal_classes_to_be_exported_hpp__
+
+namespace internal_classes{
+
+struct external_t{
+    struct internal_t{
+        virtual int do_nothing() const { return 1; }
+    };
+};
+    
+}//internal_classes
+
+#endif//__internal_classes_to_be_exported_hpp__
+
diff --git a/unittests/data/libconfig.h b/unittests/data/libconfig.h
new file mode 100644
index 0000000..dfd240c
--- /dev/null
+++ b/unittests/data/libconfig.h
@@ -0,0 +1,15 @@
+#if defined _WIN32 || defined __CYGWIN__
+    #define IMPORT_SYMBOL __declspec(dllimport)
+    #define EXPORT_SYMBOL __declspec(dllexport)
+    #define PRIVATE_SYMBOL
+#else
+    #if __GNUC__ >= 4
+        #define IMPORT_SYMBOL __attribute__ ((visibility("default")))
+        #define EXPORT_SYMBOL __attribute__ ((visibility("default")))
+        #define PRIVATE_SYMBOL  __attribute__ ((visibility("hidden")))
+    #else
+        #define IMPORT_SYMBOL
+        #define EXPORT_SYMBOL
+        #define PRIVATE_SYMBOL
+  #endif
+#endif
diff --git a/unittests/data/mailing_list_help_to_be_exported.hpp b/unittests/data/mailing_list_help_to_be_exported.hpp
new file mode 100644
index 0000000..6d0da70
--- /dev/null
+++ b/unittests/data/mailing_list_help_to_be_exported.hpp
@@ -0,0 +1,20 @@
+#ifndef __mailing_list_help_hpp__
+#define __mailing_list_help_hpp__
+
+#include <string>
+
+class foo
+{
+public:
+
+    foo() {std::strcpy(buffer, "good bye cruel world!\0\0");}
+    char buffer[24];
+};
+
+class bar
+{
+public:
+    foo f;
+};
+
+#endif//__mailing_list_help_hpp__
diff --git a/unittests/data/make_constructor_to_be_exported.hpp b/unittests/data/make_constructor_to_be_exported.hpp
new file mode 100644
index 0000000..1bdef62
--- /dev/null
+++ b/unittests/data/make_constructor_to_be_exported.hpp
@@ -0,0 +1,45 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost 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_constructor_to_be_exported_hpp__
+#define __make_constructor_to_be_exported_hpp__
+
+#include <memory>
+
+namespace mc{
+
+struct numbers_t{
+    numbers_t()
+    : x( 0 )
+      , y( 0 )
+    {}
+    ~numbers_t(){}
+
+    static std::auto_ptr<numbers_t> create( int i, int j, int k, int m ){
+        std::auto_ptr<numbers_t> n( new numbers_t() );
+        n->x = i + j;
+        n->y = k + m;
+        return n;
+    }
+
+    int x;
+    int y;
+};
+
+inline std::auto_ptr<numbers_t> create( int i, int j){
+    std::auto_ptr<numbers_t> n( new numbers_t() );
+    n->x = i;
+    n->y = j;
+    return n;
+}
+
+inline std::auto_ptr<numbers_t> create( double, double, double, double, double){
+    return std::auto_ptr<numbers_t>();
+}
+
+
+}
+
+#endif//__make_constructor_to_be_exported_hpp__
diff --git a/unittests/data/mem_fun_with_exception_to_be_exported.hpp b/unittests/data/mem_fun_with_exception_to_be_exported.hpp
new file mode 100644
index 0000000..f6a3ce3
--- /dev/null
+++ b/unittests/data/mem_fun_with_exception_to_be_exported.hpp
@@ -0,0 +1,23 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __mem_fun_with_exception_to_be_exported_hpp__
+#define __mem_fun_with_exception_to_be_exported_hpp__
+
+#include <stdexcept>
+
+namespace mem_fun_with_exception{ 
+
+struct data_t{
+public:
+    virtual void do_nothing() throw( std::exception )
+    {}
+};
+
+}
+
+#endif//__mem_fun_with_exception_to_be_exported_hpp__
+
+
diff --git a/unittests/data/mem_var_compile_error_bug_to_be_exported.hpp b/unittests/data/mem_var_compile_error_bug_to_be_exported.hpp
new file mode 100644
index 0000000..6e2122c
--- /dev/null
+++ b/unittests/data/mem_var_compile_error_bug_to_be_exported.hpp
@@ -0,0 +1,74 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __mem_var_compile_error_bug_to_be_exported_hpp__
+#define __mem_var_compile_error_bug_to_be_exported_hpp__
+
+#include <map>
+#include <stddef.h>
+
+namespace sptCore
+{
+
+//! \brief Representation of connection between two 3d points
+//! \author ShaXbee
+class Path
+{
+
+public:
+    //! Return reversed path
+    Path* reverse() const { return NULL; }
+
+    float length() const { return _length; }
+    float frontRoll() const { return _frontRoll; }
+    float backRoll() const { return _backRoll; }
+
+    typedef std::pair<Path*, Path*> Pair;
+
+private:
+    float _length;
+    float _frontRoll;
+    float _backRoll;
+
+}; // class sptCore::Path
+
+//! \brief Abstract representation of Tracking in Scenery
+//! \author Zbyszek "ShaXbee" Mandziejewicz
+class RailTracking
+{
+
+public:
+    virtual ~RailTracking() { };
+
+    //! Get tracking exit for given entry point
+    //! Throws UnknownEntryException if there is no exit for given entry
+    virtual void getExit() const = 0;
+
+    //! Get path that begins at given position
+    //! Throws UnknownEntryException if there is no path for given entry
+    virtual Path* getPath() const = 0;
+
+}; // class sptCore::RailTracking
+
+class Track: public RailTracking
+{
+
+public:
+    virtual ~Track() { };
+
+    virtual void getExit() const{}
+    virtual Path* getPath() const{return NULL;}
+
+    virtual Path* getDefaultPath() const { return NULL; };
+
+private:
+    // Py++: Removing this line makes wrapper compilable
+    Path::Pair _path;
+
+};
+
+} // namespace sptCore
+
+#endif//__mem_var_compile_error_bug_to_be_exported_hpp__
diff --git a/unittests/data/member_functions_to_be_exported.cpp b/unittests/data/member_functions_to_be_exported.cpp
new file mode 100644
index 0000000..3f89cd1
--- /dev/null
+++ b/unittests/data/member_functions_to_be_exported.cpp
@@ -0,0 +1,9 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "member_functions_to_be_exported.hpp"
+
+namespace member_functions{ 
+}
diff --git a/unittests/data/member_functions_to_be_exported.hpp b/unittests/data/member_functions_to_be_exported.hpp
new file mode 100644
index 0000000..142fb0a
--- /dev/null
+++ b/unittests/data/member_functions_to_be_exported.hpp
@@ -0,0 +1,187 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __member_functions_to_be_exported_hpp__
+#define __member_functions_to_be_exported_hpp__
+
+#include <string>
+
+namespace member_functions{
+
+struct protected_mf_t{
+protected:
+    static int x(){ return 1;}
+};
+
+struct protected_base_t{
+protected:
+    int regular( int x ){ return x; }
+    int regular_overloaded( int x ){ return x * x; }
+    int regular_overloaded( int x, int y ){ return x * y; }
+
+    int regular_const( int x ) const { return x; }
+    int regular_const_overloaded( int x ) const { return x * x; }
+    int regular_const_overloaded( int x, int y) const { return x * y; }
+
+//virtual
+
+    virtual int virtual_( int x ){ return x; }
+    virtual int virtual_overloaded( int x ){ return x * x; }
+    virtual int virtual_overloaded( int x, int y ){ return x * y; }
+
+    virtual int virtual_const( int x ) const { return x; }
+    virtual int virtual_const_overloaded( int x ) const { return x * x; }
+    virtual int virtual_const_overloaded( int x, int y ) const { return x * y; }
+
+//pure virtual
+    virtual int pure_virtual( int x ) = 0;
+    virtual int pure_virtual_overloaded( int x ) = 0;
+    virtual int pure_virtual_overloaded( int x, int y ) = 0;
+
+    virtual int pure_virtual_const( int x ) const =  0;
+    virtual int pure_virtual_const_overloaded( int x ) const = 0;
+    virtual int pure_virtual_const_overloaded( int x, int y ) const = 0;
+};
+
+struct protected_public_derived_t : public protected_base_t{
+
+    virtual int pure_virtual( int x ) { return x;}
+    virtual int pure_virtual_overloaded( int x ) { return x * x; }
+    virtual int pure_virtual_overloaded( int x, int y ){ return x * y; }
+
+    virtual int pure_virtual_const( int x ) const { return x; }
+    virtual int pure_virtual_const_overloaded( int x ) const { return x * x; }
+    virtual int pure_virtual_const_overloaded( int x, int y ) const { return x * y; }
+};
+
+struct protected_protected_derived_t : public protected_base_t{
+
+    virtual int pure_virtual( int x ) { return x;}
+    virtual int pure_virtual_overloaded( int x ) { return x * x; }
+    virtual int pure_virtual_overloaded( int x, int y ){ return x * y; }
+
+    virtual int pure_virtual_const( int x ) const { return x; }
+    virtual int pure_virtual_const_overloaded( int x ) const { return x * x; }
+    virtual int pure_virtual_const_overloaded( int x, int y ) const { return x * y; }
+};
+
+
+struct public_base_t{
+public:
+    int regular( int x ){ return x; }
+    int regular_overloaded( int x ){ return x * x; }
+    int regular_overloaded( int x, int y ){ return x * y; }
+
+    int regular_const( int x ) const { return x; }
+    int regular_const_overloaded( int x ) const { return x * x; }
+    int regular_const_overloaded( int x, int y) const { return x * y; }
+
+//virtual
+
+    virtual int virtual_( int x ){ return x; }
+    virtual int virtual_overloaded( int x ){ return x * x; }
+    virtual int virtual_overloaded( int x, int y ){ return x * y; }
+
+    virtual int virtual_const( int x ) const { return x; }
+    virtual int virtual_const_overloaded( int x ) const { return x * x; }
+    virtual int virtual_const_overloaded( int x, int y ) const { return x * y; }
+
+//pure virtual
+    virtual int pure_virtual( int x ) = 0;
+    virtual int pure_virtual_overloaded( int x ) = 0;
+    virtual int pure_virtual_overloaded( int x, int y ) = 0;
+
+    virtual int pure_virtual_const( int x ) const =  0;
+    virtual int pure_virtual_const_overloaded( int x ) const = 0;
+    virtual int pure_virtual_const_overloaded( int x, int y ) const = 0;
+};
+
+struct public_derived_t : public public_base_t{
+
+    virtual int pure_virtual( int x ) { return x;}
+    virtual int pure_virtual_overloaded( int x ) { return x * x; }
+    virtual int pure_virtual_overloaded( int x, int y ){ return x * y; }
+
+    virtual int pure_virtual_const( int x ) const { return x; }
+    virtual int pure_virtual_const_overloaded( int x ) const { return x * x; }
+    virtual int pure_virtual_const_overloaded( int x, int y ) const { return x * y; }
+};
+
+
+struct private_base_t{
+    void remove_gcc_warning(){}
+private:
+    int regular( int x ){ return x; }
+    int regular_overloaded( int x ){ return x * x; }
+    int regular_overloaded( int x, int y ){ return x * y; }
+
+    int regular_const( int x ) const { return x; }
+    int regular_const_overloaded( int x ) const { return x * x; }
+    int regular_const_overloaded( int x, int y) const { return x * y; }
+
+//virtual
+
+    virtual int virtual_( int x ){ return x; }
+    virtual int virtual_overloaded( int x ){ return x * x; }
+    virtual int virtual_overloaded( int x, int y ){ return x * y; }
+
+    virtual int virtual_const( int x ) const { return x; }
+    virtual int virtual_const_overloaded( int x ) const { return x * x; }
+    virtual int virtual_const_overloaded( int x, int y ) const { return x * y; }
+
+//pure virtual
+    virtual int pure_virtual( int x ) = 0;
+    virtual int pure_virtual_overloaded( int x ) = 0;
+    virtual int pure_virtual_overloaded( int x, int y ) = 0;
+
+    virtual int pure_virtual_const( int x ) const =  0;
+    virtual int pure_virtual_const_overloaded( int x ) const = 0;
+    virtual int pure_virtual_const_overloaded( int x, int y ) const = 0;
+};
+
+struct private_derived_t : public private_base_t{
+
+    virtual int pure_virtual( int x ) { return x;}
+    virtual int pure_virtual_overloaded( int x ) { return x * x; }
+    virtual int pure_virtual_overloaded( int x, int y ){ return x * y; }
+
+    virtual int pure_virtual_const( int x ) const { return x; }
+    virtual int pure_virtual_const_overloaded( int x ) const { return x * x; }
+    virtual int pure_virtual_const_overloaded( int x, int y ) const { return x * y; }
+};
+
+struct callable_t{
+    int operator()( int i, int j ) const { return i + j; }
+    int operator()( int i, int j, int k ) const { return i + j + k; }
+};
+
+struct immutable_by_ref_t{
+    virtual std::string identity( std::string const & x ) = 0;
+
+    static std::string
+    call_identity( immutable_by_ref_t& imm, std::string const & x ){
+        return imm.identity( x );
+    }
+};
+
+
+struct mem_fun_environment_t{
+    template< class T>
+    T get_value(const std::string& x){ return T(); }
+};
+
+inline void instantiate_mem_fun_environment(){
+    mem_fun_environment_t env;
+    int i = env.get_value<int>("");
+}
+
+struct mem_fun_constness_t{
+    static int do_smth( int, const int ){ return 0; }
+    void do_smth_mem( int, const int ){}
+};
+}
+
+#endif//__member_functions_to_be_exported_hpp__
+
diff --git a/unittests/data/member_variables_to_be_exported.cpp b/unittests/data/member_variables_to_be_exported.cpp
new file mode 100644
index 0000000..fc81407
--- /dev/null
+++ b/unittests/data/member_variables_to_be_exported.cpp
@@ -0,0 +1,54 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "member_variables_to_be_exported.hpp"
+
+namespace member_variables{
+
+const array_t::variable_t array_t::vars[] = { array_t::variable_t(), array_t::variable_t(), array_t::variable_t() };
+array_t::variable_t array_t::vars_nonconst[] = { array_t::variable_t(), array_t::variable_t(), array_t::variable_t() };
+    
+int point::instance_count = 0;
+const point::color point::default_color = point::red;
+
+unsigned int get_a(const bit_fields_t& inst){
+    return inst.a;
+}
+
+void set_a( bit_fields_t& inst, unsigned int new_value ){
+    inst.a = new_value;
+}
+
+unsigned int get_b(const bit_fields_t& inst){
+    return inst.b;
+}
+
+namespace pointers{
+
+std::auto_ptr<tree_node_t> create_tree(){
+    std::auto_ptr<tree_node_t> root( new tree_node_t() );
+    root->data = new data_t();
+    root->data->value = 0;
+
+    root->left = new tree_node_t( root.get() );
+    root->left->data = new data_t();
+    root->left->data->value = 1;
+
+    return root;
+}
+
+}
+
+namespace statics{
+    std::string mem_var_str_t::class_name( "mem_var_str_t" );
+}
+
+
+namespace ctypes{
+    int xxx = 1997;
+    int* image_t::none_image = &xxx;
+}
+
+}
diff --git a/unittests/data/member_variables_to_be_exported.hpp b/unittests/data/member_variables_to_be_exported.hpp
new file mode 100644
index 0000000..a4cb222
--- /dev/null
+++ b/unittests/data/member_variables_to_be_exported.hpp
@@ -0,0 +1,195 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __member_variables_to_be_exported_hpp__
+#define __member_variables_to_be_exported_hpp__
+#include <memory>
+#include <string>
+#include <iostream>
+
+namespace member_variables{
+
+struct point{
+    enum color{ red, green, blue };
+
+    point()
+    : prefered_color( blue )
+      , x( -1 )
+      , y( 2 )
+    {++instance_count;}
+
+    point( const point& other )
+    : prefered_color( other.prefered_color )
+      , x( other.x )
+      , y( other.y )
+    {}
+
+    ~point()
+    { --instance_count; }
+
+    int x;
+    int y;
+    const color prefered_color;
+    static int instance_count;
+    static const color default_color;
+};
+
+struct bit_fields_t{
+    bit_fields_t()
+    : b(28){}
+    unsigned int a : 1;
+    unsigned int : 0;
+    const unsigned int b : 11;
+};
+
+unsigned int get_a(const bit_fields_t& inst);
+void set_a( bit_fields_t& inst, unsigned int new_value );
+unsigned int get_b(const bit_fields_t& inst);
+
+struct status_bits_t{
+    int bcr : 3;
+    int status : 3;
+};
+
+struct status_bits_keeper_t{
+
+    int get_sb_bcr(){ return status_bits.bcr; }
+    int get_sb_status(){ return status_bits.status; }
+
+    status_bits_t status_bits;
+};
+
+struct array_t{
+    array_t()
+    {
+        for( int i = 0; i < 10; ++i ){
+            ivars[i] = -i;
+        }
+    }
+
+    struct variable_t{
+        variable_t() : value(-9){}
+        int value;
+    };
+
+    int get_ivars_item( int index ){
+        return ivars[index];
+    }
+
+    static const variable_t vars[3];
+    static variable_t vars_nonconst[3];
+    int ivars[10];
+    int ivars2[10];
+};
+
+namespace pointers{
+
+struct data_t{
+    data_t() : value( 201 ) {}
+    int value;
+    static char* reserved;
+};
+
+struct tree_node_t{
+
+    data_t *data;
+    tree_node_t *left;
+    tree_node_t *right;
+    const tree_node_t *parent;
+
+    tree_node_t(const tree_node_t* parent=0)
+    : data(0)
+      , left( 0 )
+      , right( 0 )
+      , parent( parent )
+    {}
+
+    ~tree_node_t(){
+        std::cout << "\n~tree_node_t";
+    }
+};
+
+std::auto_ptr<tree_node_t> create_tree();
+
+}
+
+namespace reference{
+
+enum EFruit{ apple, orange };
+
+struct fundamental_t{
+    fundamental_t( EFruit& fruit, const int& i )
+    : m_fruit( fruit ), m_i( i )
+    {}
+
+    EFruit& m_fruit;
+    const int& m_i;
+};
+
+struct A{};
+
+
+struct B {
+ B( A& a_ ): a( a_ ){}
+ A& a;
+};
+
+struct C {
+ C( A& a_ ): a( a_ ){}
+ const A& a;
+};
+
+}
+
+namespace statics{
+
+struct mem_var_str_t{
+    static std::string class_name;
+    std::string identity(std::string x){ return x; }
+};
+
+}
+
+namespace bugs{
+struct allocator_ {
+   void * (*alloc) (unsigned);
+   void (*dispose) (void *p);
+};
+
+typedef struct allocator_ *allocator_t;
+
+struct faulty {
+   allocator_t allocator;
+};
+
+}
+
+namespace ctypes{
+    struct image_t{
+        image_t(){
+            data = new int[5];
+            for(int i=0; i<5; i++){
+                data[i] = i;
+            }
+        }
+        int* data;
+
+        static int* none_image;
+    };
+
+    class Andy{
+    protected:
+        Andy() : userData(NULL) {}
+
+        virtual ~Andy()    {}
+
+    public:
+        void * userData;
+    };
+
+}
+
+}
+#endif//__member_variables_to_be_exported_hpp__
diff --git a/unittests/data/module_body_to_be_exported.hpp b/unittests/data/module_body_to_be_exported.hpp
new file mode 100644
index 0000000..9c71bca
--- /dev/null
+++ b/unittests/data/module_body_to_be_exported.hpp
@@ -0,0 +1,14 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __module_body_to_be_exported_hpp__
+#define __module_body_to_be_exported_hpp__
+
+namespace mb{
+    struct item_t{};    
+}
+
+#endif//__module_body_to_be_exported_hpp__
+
diff --git a/unittests/data/namespaces_to_be_exported.hpp b/unittests/data/namespaces_to_be_exported.hpp
new file mode 100644
index 0000000..01fa0d4
--- /dev/null
+++ b/unittests/data/namespaces_to_be_exported.hpp
@@ -0,0 +1,10 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __namespaces_to_be_exported_hpp__
+#define __namespaces_to_be_exported_hpp__
+
+#endif//__namespaces_to_be_exported_hpp__
+
diff --git a/unittests/data/no_init_to_be_exported.hpp b/unittests/data/no_init_to_be_exported.hpp
new file mode 100644
index 0000000..53259c0
--- /dev/null
+++ b/unittests/data/no_init_to_be_exported.hpp
@@ -0,0 +1,77 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __no_init_to_be_exported_hpp__
+#define __no_init_to_be_exported_hpp__
+
+#include "boost/shared_ptr.hpp"
+
+namespace no_init_ns{
+
+struct value_i{
+public:
+    virtual ~value_i() { }
+    virtual int get_value(void) const = 0;
+};
+
+struct value_plus_x_t : value_i{
+    value_plus_x_t( int value )
+    : m_value( value )
+    {}
+
+    virtual int get_value(void) const{
+        return  m_value + get_plus_value();
+    }
+
+    virtual int get_plus_value() const{
+        return 0;
+    }
+
+private:
+    int m_value;
+};
+
+inline int
+get_value( const boost::shared_ptr< value_i >& v ){
+    if( v ){
+        return v->get_value();
+    }
+    else{
+        return -1;
+    }
+}
+
+struct event_t{
+    template< class TData >
+    event_t( TData& ){};
+};
+
+struct map_iterator_t{
+    map_iterator_t( int i ){}
+    map_iterator_t( const map_iterator_t& ){}
+private:
+    map_iterator_t(){};
+};
+/*
+class Data{
+private:
+    Data(){}
+};
+
+class Value : public Data{
+public:
+    int get1() { return 1; }
+};
+
+class Primitive : public Value
+{};
+
+class Boolean : public Primitive{
+    bool value;
+};
+*/
+}
+
+#endif//__no_init_to_be_exported_hpp__
diff --git a/unittests/data/non_overridable_to_be_exported.cpp b/unittests/data/non_overridable_to_be_exported.cpp
new file mode 100644
index 0000000..4d5dc8a
--- /dev/null
+++ b/unittests/data/non_overridable_to_be_exported.cpp
@@ -0,0 +1,13 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "non_overridable_to_be_exported.hpp"
+
+namespace non_overridable{
+
+
+}//non_overridable
+
+
diff --git a/unittests/data/non_overridable_to_be_exported.hpp b/unittests/data/non_overridable_to_be_exported.hpp
new file mode 100644
index 0000000..08379c4
--- /dev/null
+++ b/unittests/data/non_overridable_to_be_exported.hpp
@@ -0,0 +1,47 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __non_overridable_to_be_exported_hpp__
+#define __non_overridable_to_be_exported_hpp__
+#include <string>
+
+namespace non_overridables{ 
+
+struct non_overridable_v_t{
+
+    
+    static bool test( const non_overridable_v_t& impl ){
+        return impl.void_ptr() ? true : false;
+    }
+
+    
+    virtual const void* void_ptr() const {
+        return this;
+    }
+    
+    virtual std::string& string_ref() const {
+        static std::string x( "string_ref" );
+        return x;
+    }        
+    
+};
+
+struct non_overridable_pv_t{
+
+    static bool test( const non_overridable_pv_t& impl ){
+        return impl.void_ptr() ? true : false;
+    }
+    
+    virtual void* void_ptr() const = 0;
+    
+    virtual std::string& string_ref() const = 0;
+    
+};
+
+
+
+}
+
+#endif//__non_overridable_to_be_exported_hpp__
diff --git a/unittests/data/noncopyable_to_be_exported.hpp b/unittests/data/noncopyable_to_be_exported.hpp
new file mode 100644
index 0000000..500235b
--- /dev/null
+++ b/unittests/data/noncopyable_to_be_exported.hpp
@@ -0,0 +1,78 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __noncopyable_to_be_exported_hpp__
+#define __noncopyable_to_be_exported_hpp__
+
+#include "boost/noncopyable.hpp"
+
+namespace noncopyables{ 
+
+class a_t{
+public:
+
+    static char get_a(){ return 'a'; }
+
+private:
+    a_t(){};
+    ~a_t(){};
+};
+
+class b_t{
+    ~b_t(){}
+public:
+   
+    static char get_b(){ return 'b'; }
+
+};
+
+class c_t : public boost::noncopyable{
+public:  
+    static char get_c(){ return 'c'; }
+
+};
+
+class d_t{  
+private:
+    d_t( const d_t& );    
+public:  
+    d_t(){}
+    ~d_t(){}
+    static char get_d(){ return 'd'; }
+
+};
+
+class dd_t : public d_t{
+public:
+    dd_t(){}
+    ~dd_t(){}
+    static char get_dd(){ return 'D'; }        
+};
+
+struct e_t{
+    virtual void do_smth() = 0;
+private:
+    c_t c;    
+};
+
+struct f_t{
+    f_t() : i(0){}
+    virtual void do_smth() = 0;
+private:
+    const int i;    
+};
+
+struct g_t{    
+    enum E{e};
+    g_t() : e_(e){}
+    virtual void do_smth() = 0;
+private:
+    const E e_;    
+};
+
+
+}
+
+#endif//__noncopyable_to_be_exported_hpp__
\ No newline at end of file
diff --git a/unittests/data/operators_bug_to_be_exported.hpp b/unittests/data/operators_bug_to_be_exported.hpp
new file mode 100644
index 0000000..37a5f04
--- /dev/null
+++ b/unittests/data/operators_bug_to_be_exported.hpp
@@ -0,0 +1,72 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __operators_bug_to_be_exported_hpp__
+#define __operators_bug_to_be_exported_hpp__
+
+#include <string>
+
+namespace operators_bug{
+
+template< typename derived_type, typename value_type >
+struct number{
+    
+    value_type value;
+    
+    friend derived_type operator+( const derived_type& y, const derived_type& x ){ 
+        derived_type tmp;
+        tmp.value = y.value + x.value; 
+        return tmp;
+    }
+protected:    
+    bool operator==( const derived_type& other ){ return value == other.value; }
+};
+
+struct integral : public number< integral, int >{
+    integral operator+( int x ){
+        integral tmp;
+        tmp.value = value + x; 
+        return tmp;
+    }
+    integral operator++( ){
+        integral tmp;
+        tmp.value = value + 1; 
+        return tmp;
+    }
+    
+};
+
+struct integral2 : public number< integral, int >{
+    //in this case no operator should be redefined
+};
+
+struct vector
+{
+  double x;
+  static const vector one;
+
+  vector(double ax) : x(ax) {}
+  vector operator+(const vector& other) const { return vector(x+other.x); }
+
+  virtual void trigger_wrapper() {}
+};
+
+
+struct call_copy_constructor_t{
+    explicit call_copy_constructor_t( const std::string& x )
+    {}
+        
+    call_copy_constructor_t( const call_copy_constructor_t& x ){};
+        
+    call_copy_constructor_t& operator=( const call_copy_constructor_t& x ){
+        return *this;
+    }
+    
+    virtual void do_nothing(){}
+};
+}
+    
+
+#endif//__operators_bug_to_be_exported_hpp__
diff --git a/unittests/data/operators_to_be_exported.hpp b/unittests/data/operators_to_be_exported.hpp
new file mode 100644
index 0000000..9e912dc
--- /dev/null
+++ b/unittests/data/operators_to_be_exported.hpp
@@ -0,0 +1,97 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __operators_to_be_exported_hpp__
+#define __operators_to_be_exported_hpp__
+
+#include "boost/rational.hpp"
+#include <iostream>
+#include <vector>
+
+namespace pyplusplus{ namespace rational{
+
+typedef boost::rational< long int > pyrational;
+
+struct helper{
+
+    void instantiate(){
+        sizeof( pyrational );
+        boost::gcd<long int>( 1, 1);
+        boost::lcm<long int>( 1, 1);
+        std::cout << pyrational( 1,1);
+        pyrational x(1,1);
+        x = pyrational( 2, 3 );
+
+    }
+};
+
+struct XXX{
+    friend std::ostream& operator<<(std::ostream& s, XXX const& x);
+};
+
+inline std::ostream& operator<<(std::ostream& s, XXX const& x){
+    return s << "<XXX instance at " << &x << ">";
+}
+
+//Boost.Python does not support member operator<<
+struct YYY{
+    std::ostream& operator<<(std::ostream& s) const{
+        return s;
+        //return s << "<YYY instance at " << reinterpret_cast<unsigned long>( this )<< ">";
+    }
+};
+
+typedef std::vector< pyrational > rationals_t;
+
+inline rationals_t&
+operator+=( rationals_t& v, const pyrational& n ){
+    for( rationals_t::iterator i = v.begin(); i != v.end(); ++i ){
+        *i += n;
+    }
+    return v;
+}
+
+inline rationals_t create_randome_rationals(){
+    return rationals_t();
+}
+
+
+} }
+
+
+namespace Geometry{
+
+    namespace PointsUtils{
+        struct VecOfInts{};
+    }
+
+    class Class {
+        int i;
+    };
+
+    //this one should not be generated
+    extern PointsUtils::VecOfInts&
+    operator += ( PointsUtils::VecOfInts &vec, const Class&){
+        return vec;
+    }
+}
+
+namespace Geometry2{
+
+    namespace PointsUtils2{
+        typedef std::vector<int> VecOfInts2;
+    }
+
+    class Class2 {
+        int i;
+    };
+
+    extern PointsUtils2::VecOfInts2&
+    operator += ( PointsUtils2::VecOfInts2 &vec, const Class2&){
+        return vec;
+    }
+}
+
+#endif//__operators_to_be_exported_hpp__
diff --git a/unittests/data/optional_bug_to_be_exported.hpp b/unittests/data/optional_bug_to_be_exported.hpp
new file mode 100644
index 0000000..180601e
--- /dev/null
+++ b/unittests/data/optional_bug_to_be_exported.hpp
@@ -0,0 +1,18 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __optional_bug_to_be_exported_hpp__
+#define __optional_bug_to_be_exported_hpp__
+
+namespace optional_bug{ 
+
+struct data{
+    data(){}
+    data( int a, int b, int c=0, int d=0  ){}
+};
+
+}
+
+#endif//__optional_bug_to_be_exported_hpp__
diff --git a/unittests/data/optional_to_be_exported.hpp b/unittests/data/optional_to_be_exported.hpp
new file mode 100644
index 0000000..8a70cf1
--- /dev/null
+++ b/unittests/data/optional_to_be_exported.hpp
@@ -0,0 +1,36 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __optional_to_be_exported_hpp__
+#define __optional_to_be_exported_hpp__
+
+namespace optional_args{
+    
+struct data
+{
+    data(int i=0, int j=1) 
+    : m_i( i ), m_j( j )
+    {}
+        
+    int m_i;
+    int m_j;
+
+};
+
+struct data2
+{
+    data2(int i, int j=1) 
+    : m_i( i ), m_j( j )
+    {}
+        
+    int m_i;
+    int m_j;
+
+};
+
+}//optional_args 
+
+#endif//__optional_to_be_exported_hpp__
+
diff --git a/unittests/data/overloads_macro_to_be_exported.hpp b/unittests/data/overloads_macro_to_be_exported.hpp
new file mode 100644
index 0000000..5e417d5
--- /dev/null
+++ b/unittests/data/overloads_macro_to_be_exported.hpp
@@ -0,0 +1,45 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __overloads_macro_to_be_exported_hpp__
+#define __overloads_macro_to_be_exported_hpp__
+
+namespace overloads_macro{
+
+struct calculator_t{
+
+    double add( int i, int j ){
+        return i + j;
+    }
+
+    double add( int i, int j, int k ){
+        return i * j + k;
+    }
+
+    double add( double i, double j ){
+        return i + j;
+    }
+
+
+};
+
+double add( int i, int j ){
+    return i + j;
+}
+
+double add( int i, int j, int k ){
+    return i * j + k;
+}
+
+double add( double i, double j ){
+    return i + j;
+}
+
+
+
+}
+
+
+#endif//__enums_to_be_exported_hpp__
diff --git a/unittests/data/override_bug_to_be_exported.hpp b/unittests/data/override_bug_to_be_exported.hpp
new file mode 100644
index 0000000..ca6f4b9
--- /dev/null
+++ b/unittests/data/override_bug_to_be_exported.hpp
@@ -0,0 +1,103 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __final_classes_to_be_exported_hpp__
+#define __final_classes_to_be_exported_hpp__
+
+#include <string>
+
+namespace override_bug{
+
+class A
+{
+  public:
+
+   virtual int foo() const {return int('a');}
+   int foo( int a, int b ) { return a + b;}
+
+   int ddd(){ return 111;}
+   virtual ~A(){}
+};
+
+class B: public A
+{
+};
+
+class D: public B
+{
+public:
+    int foo( int a, int b ){ return a*b; }
+};
+
+inline int invoke_foo( const A& a ){
+    return a.foo();
+};
+
+class Base1
+{
+public:
+   virtual int eval_a() { return 1; }
+   virtual int eval_b() { return 10; }
+   virtual int eval_c() { return 100; }
+   virtual int eval_d() { return 1000; }
+   virtual int eval_e() { return 10000; }
+};
+
+class Derived2: public Base1
+{
+protected:
+   virtual int eval_a() { return 2; }
+   virtual int eval_b() { return 20; }
+   virtual int eval_c() { return 200; }
+   virtual int eval_d() { return 2000; }
+   virtual int eval_e() { return 20000; }
+};
+
+class Derived3: public Derived2
+{
+};
+
+int eval(Base1* obj) {
+   return
+      obj->eval_a()
+    + obj->eval_b()
+    + obj->eval_c()
+    + obj->eval_d()
+    + obj->eval_e()
+    ;
+}
+
+
+struct AA
+{
+  public:
+   virtual void do_smth(int& i) const { i = 'a' ;}
+   virtual ~AA(){}
+};
+
+struct BB: public AA
+{
+    virtual void do_smth(int& i, int& j) const { i = j = 'b' ;}
+};
+
+class XX
+{
+    virtual void do_smth(int& i, int& j) const = 0;
+};
+
+class YY : public XX{
+    public:
+        virtual void do_smth() {};
+};
+
+class ZZ : private YY{
+public:
+    void do_nothing() {}
+};
+
+}
+
+#endif//__final_classes_to_be_exported_hpp__
+
diff --git a/unittests/data/overriden_virtual_functions_bug_to_be_exported.hpp b/unittests/data/overriden_virtual_functions_bug_to_be_exported.hpp
new file mode 100644
index 0000000..cd34817
--- /dev/null
+++ b/unittests/data/overriden_virtual_functions_bug_to_be_exported.hpp
@@ -0,0 +1,26 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __overriden_virtual_functions_bug_to_be_exported_hpp__
+#define __overriden_virtual_functions_bug_to_be_exported_hpp__
+
+namespace vector3{
+
+struct window_t{
+protected:
+    virtual void on_mouse_leaves( int ){};
+};
+
+struct button_based_t : public window_t{
+protected:    
+    virtual void on_mouse_leaves( int ){};    
+};
+
+struct checkbox_t : public button_based_t{
+};
+
+}
+
+#endif//__overriden_virtual_functions_bug_to_be_exported_hpp__
diff --git a/unittests/data/particleuniverse.xml.bz2 b/unittests/data/particleuniverse.xml.bz2
new file mode 100644
index 0000000..fc42c81
Binary files /dev/null and b/unittests/data/particleuniverse.xml.bz2 differ
diff --git a/unittests/data/pointer_as_arg_to_be_exported.hpp b/unittests/data/pointer_as_arg_to_be_exported.hpp
new file mode 100644
index 0000000..6b59015
--- /dev/null
+++ b/unittests/data/pointer_as_arg_to_be_exported.hpp
@@ -0,0 +1,22 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __pointer_as_arg_to_be_exported_hpp__
+#define __pointer_as_arg_to_be_exported_hpp__
+
+#include <string>
+
+namespace pointer_as_arg{ 
+
+struct data{};
+    
+inline int
+test_for_null( data* d=0 ){
+    return d ? 1 : 0;
+}    
+
+}
+
+#endif//__pointer_as_arg_to_be_exported_hpp__
\ No newline at end of file
diff --git a/unittests/data/pointer_to_function_as_argument_to_be_exported.hpp b/unittests/data/pointer_to_function_as_argument_to_be_exported.hpp
new file mode 100644
index 0000000..d73bfd8
--- /dev/null
+++ b/unittests/data/pointer_to_function_as_argument_to_be_exported.hpp
@@ -0,0 +1,26 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __pointer_to_function_as_argument_to_be_exported_hpp_
+#define __pointer_to_function_as_argument_to_be_exported_hpp_
+
+namespace fixme{
+
+struct dummy{};
+
+typedef bool ( *do_smth )( const dummy& );
+
+struct other_dummy{
+
+    //this function should not be exported at all
+    void do_nothing( do_smth new_do_smth );
+    
+    //this function should not be exported at all to
+    do_smth current_do_nothing();      
+};
+
+}
+#endif //__pointer_to_function_as_argument_to_be_exported_hpp_
+
diff --git a/unittests/data/precompiled_header_to_be_exported.hpp b/unittests/data/precompiled_header_to_be_exported.hpp
new file mode 100644
index 0000000..0884722
--- /dev/null
+++ b/unittests/data/precompiled_header_to_be_exported.hpp
@@ -0,0 +1,18 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __precompiled_header_to_be_exported_hpp__
+#define __precompiled_header_to_be_exported_hpp__
+
+namespace enums{ 
+
+enum color{ red, green, blue}; 
+    
+inline int to_int( int x=red ){ return x; }
+
+}
+
+
+#endif//__precompiled_header_to_be_exported_hpp__
diff --git a/unittests/data/private_assign_to_be_exported.hpp b/unittests/data/private_assign_to_be_exported.hpp
new file mode 100644
index 0000000..292002b
--- /dev/null
+++ b/unittests/data/private_assign_to_be_exported.hpp
@@ -0,0 +1,35 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __private_assign_to_be_exported_hpp__
+#define __private_assign_to_be_exported_hpp__
+#include <memory>
+#include "boost/shared_ptr.hpp"
+
+namespace private_assign{
+
+class item_t{
+public:
+    item_t() : m_value ( 24 ) {}
+
+private:
+    item_t& operator=( const item_t& other ){
+        m_value = other.m_value;
+    }
+
+public:
+    int m_value;
+};
+
+struct container_t{
+    container_t(){
+        m_item.m_value = 23;
+    }
+    item_t m_item;
+};
+
+}
+
+#endif//__smart_pointers_to_be_exported_hpp__
diff --git a/unittests/data/properties_to_be_exported.hpp b/unittests/data/properties_to_be_exported.hpp
new file mode 100644
index 0000000..75a97ed
--- /dev/null
+++ b/unittests/data/properties_to_be_exported.hpp
@@ -0,0 +1,60 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __properties_to_be_exported_hpp__
+#define __properties_to_be_exported_hpp__
+
+namespace properties{
+
+struct properties_tester_t{
+
+    struct nested{
+        int n;
+    };
+
+    properties_tester_t()
+    : m_count( 0 )
+    {}
+
+    int count() const
+    { return m_count; }
+
+    void set_count( int x )
+    { m_count = x; }
+
+    const nested& get_nested() const
+    { return m_nested; }
+
+    void set_nested( nested x )
+    { m_nested = x; }
+
+    int m_count;
+    nested m_nested;
+};
+
+struct properties_finder_tester_t{
+
+    int count() const { return 0; }
+    void set_count( int ){}
+
+    int get_size() const { return 0; }
+    void set_size( int ){}
+
+    int getWidth() const { return 0; }
+    void setWidth(int) {}
+
+    int GetHeight() const { return 0; }
+    void SetHeight(int){}
+
+    int GetType() const { return 0; }
+
+    float get() const{ return 0.1; }
+    void set(float){}
+
+};
+}
+
+
+#endif//__properties_to_be_exported_hpp__
diff --git a/unittests/data/protected_bug_to_be_exported.hpp b/unittests/data/protected_bug_to_be_exported.hpp
new file mode 100644
index 0000000..4edea1e
--- /dev/null
+++ b/unittests/data/protected_bug_to_be_exported.hpp
@@ -0,0 +1,66 @@
+template<class T>
+class ref_ptr
+{
+};
+
+template<class T>
+class buffered_value
+{
+public:
+    buffered_value() {}
+    buffered_value(unsigned int size) {}
+    buffered_value& operator = (const buffered_value& rhs) {}
+};
+
+class Referenced
+{
+public:
+    Referenced() {}
+    Referenced(const Referenced&) {}
+protected:
+    virtual ~Referenced() {}
+};
+
+class Object : public Referenced
+{
+public:
+    Object() {}
+    virtual const char* className() const = 0;
+
+protected:
+    virtual ~Object() {}
+};
+
+class Shader : public Object
+{
+public:
+
+    virtual const char* className() const  { return "Shader"; }
+
+    Shader() {}
+    Shader(const char *source ) {}
+
+protected:
+    class PerContextShader : public Referenced
+    {
+        public:
+            PerContextShader(const Shader* shader, unsigned int contextID) {}
+
+        protected:
+            ~PerContextShader() {}
+
+        private:
+            PerContextShader() {}
+            PerContextShader(const PerContextShader&) {}
+            PerContextShader& operator=(const PerContextShader&) {}
+    };
+
+protected:
+    virtual ~Shader() {}
+
+    PerContextShader* getPCS(unsigned int contextID) const {}
+
+protected:
+    mutable buffered_value< ref_ptr<PerContextShader> > _pcsList;
+};
+ 
diff --git a/unittests/data/protected_to_be_exported.hpp b/unittests/data/protected_to_be_exported.hpp
new file mode 100644
index 0000000..e07bf09
--- /dev/null
+++ b/unittests/data/protected_to_be_exported.hpp
@@ -0,0 +1,50 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __protected_to_be_exported_hpp__
+#define __protected_to_be_exported_hpp__
+
+namespace protected_{ 
+
+struct protected_t{
+protected:
+    int get_1(){ return 1; }
+};
+
+struct protected_s_t{
+protected:
+    static int get_2(){ return 2; }
+};
+    
+
+struct protected_v_t{
+protected:
+    virtual int get_i(){ return 10; }
+};
+
+struct protected_v_derived_t : public protected_v_t{
+};
+
+}
+
+class Thing
+{
+protected:
+   virtual ~Thing() {}
+};
+
+class Callback
+{
+public:
+   Callback() { }
+   virtual void execute(const Thing& t) { }
+protected:
+   virtual ~Callback() {}
+};
+
+
+#endif//__protected_to_be_exported_hpp__
+
+
diff --git a/unittests/data/recursive_to_be_exported.hpp b/unittests/data/recursive_to_be_exported.hpp
new file mode 100644
index 0000000..c5453ab
--- /dev/null
+++ b/unittests/data/recursive_to_be_exported.hpp
@@ -0,0 +1,24 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __recursive__to_be_exported_hpp__
+#define __recursive__to_be_exported_hpp__
+
+namespace recursive{
+
+struct fields_t{
+    fields_t()
+    : skip_a(112)
+    {}
+    
+    const unsigned int skip_a : 11;    
+    unsigned int : 0;
+    unsigned int skip_b : 1;        
+    
+};
+
+}
+
+#endif//__recursive__to_be_exported_hpp__
\ No newline at end of file
diff --git a/unittests/data/refee_refer_to_be_exported.hpp b/unittests/data/refee_refer_to_be_exported.hpp
new file mode 100644
index 0000000..a8c80b7
--- /dev/null
+++ b/unittests/data/refee_refer_to_be_exported.hpp
@@ -0,0 +1,24 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __refee_refer_to_be_exported_hpp__
+#define __refee_refer_to_be_exported_hpp__
+
+#include <memory>
+
+struct refee_t{
+    int i;
+};
+
+struct refer_t{
+    refee_t& refee;
+};
+
+inline std::auto_ptr<refer_t> make_refer(refee_t* refee){
+    refer_t tmp = { *refee };
+    return std::auto_ptr<refer_t>(new refer_t(tmp));
+}
+
+#endif//__refee_refer_to_be_exported_hpp__
diff --git a/unittests/data/regression1_to_be_exported.hpp b/unittests/data/regression1_to_be_exported.hpp
new file mode 100644
index 0000000..c4a3877
--- /dev/null
+++ b/unittests/data/regression1_to_be_exported.hpp
@@ -0,0 +1,57 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __regression_1_to_be_exported_hpp__
+#define __regression_1_to_be_exported_hpp__
+
+namespace regression_1{
+
+struct data{
+    int a;
+};
+
+class updater_i{
+public:
+    virtual void update_by_ref( data& d ) = 0;
+    virtual void update_by_ptr( data* d ) = 0;
+};
+
+class some_updater : public updater_i{
+public:
+    virtual void update_by_ref( data& d )
+    { d.a = 10; }
+    
+    virtual void update_by_ptr( data* d ){ 
+        if( d ){
+            d->a = 101; 
+        }
+    }
+
+};
+
+class updater_holder{
+public:
+
+    void set_updater( updater_i * new_updater )
+    { m_updater = new_updater; }
+
+    void update_by_ref()
+    { m_updater->update_by_ref( m_data ); }
+
+    void update_by_ptr()
+    { m_updater->update_by_ptr( &m_data ); }
+
+    const data& get_data() const
+    { return m_data; }
+
+private:
+    data m_data;
+    updater_i* m_updater;
+};
+
+}
+
+#endif//__regression_1_to_be_exported_hpp__
+
diff --git a/unittests/data/regression2_to_be_exported.hpp b/unittests/data/regression2_to_be_exported.hpp
new file mode 100644
index 0000000..0a795a0
--- /dev/null
+++ b/unittests/data/regression2_to_be_exported.hpp
@@ -0,0 +1,19 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __regression_2_to_be_exported_hpp__
+#define __regression_2_to_be_exported_hpp__
+
+namespace regression_2{
+
+struct x{
+protected:
+    char get_a(){ return 'a'; }
+};
+    
+}
+
+#endif//__regression_2_to_be_exported_hpp__
+
diff --git a/unittests/data/regression3_to_be_exported.hpp b/unittests/data/regression3_to_be_exported.hpp
new file mode 100644
index 0000000..376cf2b
--- /dev/null
+++ b/unittests/data/regression3_to_be_exported.hpp
@@ -0,0 +1,41 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __regression_3_to_be_exported_hpp__
+#define __regression_3_to_be_exported_hpp__
+
+namespace regression_3{
+
+class base{
+public:
+    base(){}
+    virtual ~base(){}
+    virtual int get_value() const = 0;
+private:
+    base( const base& );
+    base& operator=( const base& );
+};
+    
+class middle : public base{
+public:
+    virtual void set_value(int) = 0;
+};
+
+class final : public middle{
+public:
+    virtual int get_value() const{ return m_value; } 
+    virtual void set_value(int v){ m_value = v; }
+private:
+    int m_value;
+};
+
+inline int get_value( const base& b ){ return b.get_value(); }
+
+inline void set_value( middle& m, int value ){ m.set_value( value ); }
+
+}
+
+#endif//__regression_3_to_be_exported_hpp__
+
diff --git a/unittests/data/return_auto_ptr_to_be_exported.hpp b/unittests/data/return_auto_ptr_to_be_exported.hpp
new file mode 100644
index 0000000..97e3ec2
--- /dev/null
+++ b/unittests/data/return_auto_ptr_to_be_exported.hpp
@@ -0,0 +1,52 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __return_auto_ptr_to_be_exported_hpp__
+#define __return_auto_ptr_to_be_exported_hpp__
+#include "boost/shared_ptr.hpp"
+#include <memory>
+
+
+namespace smart_pointers{
+
+struct r_input_t{
+    r_input_t(unsigned int rows, unsigned int cols)
+    :  m_rows(rows)
+       , m_cols(cols)
+    {}
+        
+    unsigned int rows() const {return m_rows;}
+    unsigned int cols() const {return m_cols;}
+
+private:
+    unsigned int m_rows;
+    unsigned int m_cols;
+};
+
+
+class generic_input_t
+{
+public:
+    // Pure virtual function to convert to the required type
+    virtual std::auto_ptr<r_input_t> create_r_input() = 0;
+
+    virtual boost::shared_ptr<r_input_t> create_r_input_shared() = 0;
+};
+
+
+// Function which converts generic_input_t to r_input_t
+std::auto_ptr<r_input_t> process_input(generic_input_t& input)
+{
+    return input.create_r_input();
+}
+
+boost::shared_ptr<r_input_t> process_input_shared(generic_input_t& input)
+{
+    return input.create_r_input_shared();
+}
+
+}    
+
+#endif//__return_auto_ptr_to_be_exported_hpp__
diff --git a/unittests/data/return_ref_to_ptr_to_be_exported.hpp b/unittests/data/return_ref_to_ptr_to_be_exported.hpp
new file mode 100644
index 0000000..11b5ea1
--- /dev/null
+++ b/unittests/data/return_ref_to_ptr_to_be_exported.hpp
@@ -0,0 +1,27 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __return_ref_to_ptr_to_be_exported_hpp__
+#define __return_ref_to_ptr_to_be_exported_hpp__
+
+struct number_t{
+    int m_value;
+};
+
+
+struct numbers_t{
+    numbers_t()
+    : m_number( new number_t() )
+    {}
+
+    typedef number_t * value_type;
+    const value_type& operator[]( int index ) const {
+        return m_number;
+    }
+    number_t* m_number;
+};
+
+
+#endif//__return_ref_to_ptr_to_be_exported_hpp__
diff --git a/unittests/data/selection_bug_to_be_exported.hpp b/unittests/data/selection_bug_to_be_exported.hpp
new file mode 100644
index 0000000..cf9c7c4
--- /dev/null
+++ b/unittests/data/selection_bug_to_be_exported.hpp
@@ -0,0 +1,27 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __selection_bug_to_be_exported_hpp__
+#define __selection_bug_to_be_exported_hpp__
+
+#include "libconfig.h"
+#include <stdio.h>
+
+class A{
+public:
+   void g() { printf("A::g()\n"); }
+   virtual void foo() = 0;
+};
+
+class B : public A{
+   virtual void foo() { printf("B:foo()\n"); }
+};
+
+void free_func(A *a){
+   a->foo();
+}
+
+
+#endif//__selection_bug_to_be_exported_hpp__
diff --git a/unittests/data/smart_pointers_to_be_exported.cpp b/unittests/data/smart_pointers_to_be_exported.cpp
new file mode 100644
index 0000000..00207e3
--- /dev/null
+++ b/unittests/data/smart_pointers_to_be_exported.cpp
@@ -0,0 +1,48 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "smart_pointers_to_be_exported.hpp"
+
+namespace smart_pointers{
+
+data_a_ptr create_auto(){ return data_a_ptr( new data() ); }
+data_s_ptr create_shared(){ return data_s_ptr( new data() ); }
+
+int ref_auto( data_a_ptr& a ){ return a->get_value(); }
+int ref_shared( data_s_ptr& a ){ return a->get_value(); }
+
+int val_auto( data_a_ptr a ){ return a->get_value(); }
+int val_shared( data_s_ptr a ){ return a->get_value(); }
+
+int const_ref_auto( const data_a_ptr& a ){ return a->get_value(); }
+int const_ref_shared( const data_s_ptr& a ){ return a->get_value(); }
+
+int ref_auto_base_value( base_a_ptr& a ){ return a->get_base_value(); }
+int ref_shared_base_value( base_s_ptr& a ){ return a->get_base_value(); }
+
+int val_auto_base_value( base_a_ptr a ){ return a->get_base_value(); }
+int val_shared_base_value( base_s_ptr a ){ return a->get_base_value(); }
+
+int const_ref_auto_base_value( const base_a_ptr& a ){ return a->get_base_value(); }
+int const_ref_shared_base_value( const base_s_ptr& a ){ return a->get_base_value(); }
+
+
+
+int ref_auto_some_value( base_a_ptr& a ){ return a->get_some_value(); }
+int ref_shared_some_value( base_s_ptr& a ){ return a->get_some_value(); }
+
+int val_auto_some_value( base_a_ptr a ){ return a->get_some_value(); }
+int val_shared_some_value( base_s_ptr a ){ return a->get_some_value(); }
+
+int const_ref_auto_some_value( const base_a_ptr& a ){ return a->get_some_value(); }
+int const_ref_shared_some_value( const base_s_ptr& a ){ return a->get_some_value(); }
+
+namespace autoptr_init_bug{
+std::auto_ptr< B > createB(int value, std::auto_ptr<A> a){
+    return std::auto_ptr< B >( new B( value, a ) );
+}
+}
+
+}
diff --git a/unittests/data/smart_pointers_to_be_exported.hpp b/unittests/data/smart_pointers_to_be_exported.hpp
new file mode 100644
index 0000000..8cc94e7
--- /dev/null
+++ b/unittests/data/smart_pointers_to_be_exported.hpp
@@ -0,0 +1,105 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __smart_pointers_to_be_exported_hpp__
+#define __smart_pointers_to_be_exported_hpp__
+#include <memory>
+#include "boost/shared_ptr.hpp"
+
+namespace smart_pointers{
+
+struct base{
+    base() : base_value(19) {}
+    int base_value;
+    virtual int get_base_value(){ return base_value; }
+    virtual int get_some_value() = 0;
+};
+
+struct data : base{
+    data() : value(11){}
+    int value;
+    virtual int get_value(){ return value; }
+    virtual int get_some_value(){ return 23; }
+};
+
+typedef std::auto_ptr< base > base_a_ptr;
+typedef boost::shared_ptr< base > base_s_ptr;
+
+typedef std::auto_ptr< data > data_a_ptr;
+typedef boost::shared_ptr< data > data_s_ptr;
+
+data_a_ptr create_auto();
+data_s_ptr create_shared();
+
+int ref_auto( data_a_ptr& a );
+int ref_shared( data_s_ptr& a );
+
+int val_auto( data_a_ptr a );
+int val_shared( data_s_ptr a );
+
+int const_ref_auto( const data_a_ptr& a );
+int const_ref_shared( const data_s_ptr& a );
+
+int ref_auto_base_value( base_a_ptr& a );
+int ref_shared_base_value( base_s_ptr& a );
+
+int val_auto_base_value( base_a_ptr a );
+int val_shared_base_value( base_s_ptr a );
+
+int const_ref_auto_base_value( const base_a_ptr& a );
+int const_ref_shared_base_value( const base_s_ptr& a );
+
+int ref_auto_some_value( base_a_ptr& a );
+int ref_shared_some_value( base_s_ptr& a );
+
+int val_auto_some_value( base_a_ptr a );
+int val_shared_some_value( base_s_ptr a );
+
+int const_ref_auto_some_value( const base_a_ptr& a );
+int const_ref_shared_some_value( const base_s_ptr& a );
+
+struct shared_data_buffer_t{
+    shared_data_buffer_t()
+    : size( 0 )
+    {}
+    int size;
+};
+
+struct shared_data_buffer_holder_t{
+    typedef boost::shared_ptr<shared_data_buffer_t> holder_impl_t;
+    shared_data_buffer_holder_t()
+    : buffer( new shared_data_buffer_t() )
+      , const_buffer( new shared_data_buffer_t() )
+    {}
+
+    holder_impl_t buffer;
+    const holder_impl_t const_buffer;
+};
+
+namespace autoptr_init_bug{
+
+struct A{
+   A(int value) : m_value(value) {}
+   int m_value;
+};
+
+struct B{
+   B(int value, std::auto_ptr<A> a) : m_value(value), m_a(a.release() ) {}
+
+   int m_value;
+
+   int get_a_value(){ return m_a->m_value; }
+
+private:
+   std::auto_ptr<A> m_a;
+};
+
+std::auto_ptr< B > createB(int value, std::auto_ptr<A> a);
+
+}
+
+}
+
+#endif//__smart_pointers_to_be_exported_hpp__
diff --git a/unittests/data/special_operators_to_be_exported.hpp b/unittests/data/special_operators_to_be_exported.hpp
new file mode 100644
index 0000000..74a8862
--- /dev/null
+++ b/unittests/data/special_operators_to_be_exported.hpp
@@ -0,0 +1,53 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __special_operators_to_be_exported_hpp__
+#define __special_operators_to_be_exported_hpp__
+
+#include <string>
+
+namespace special_operators{ 
+
+struct operators_t{
+    
+    operator int() const { return 28; }
+    
+    operator double() { return 3.5; }
+    
+    operator const char* () const { return "hello world"; }
+    
+    int operator()(){ return 11; }
+};
+
+struct to_string_t{
+    operator std::string() const { return "hello world"; }
+};
+
+struct to_wstring_t{
+    operator std::wstring() const { return L"hello world"; }
+};
+
+struct call_t{
+    int operator()( int x, int y ){ return x + y; }
+    double operator()( double x){ return x; }
+    
+    virtual bool operator()( bool x){ return x; }
+};
+
+struct base_call_t{
+    virtual int operator()( int x, int y ) const = 0;
+};
+
+struct derive_call_t : base_call_t{
+    virtual int operator()( int x, int y ) const { return x + y; }
+};
+
+int virtual_call( base_call_t& x, int arg1, int arg2 ){ 
+    return x( arg1, arg2 );
+}
+
+}
+
+#endif//__special_operators_to_be_exported_hpp__
diff --git a/unittests/data/split_module_bug_to_be_exported.cpp b/unittests/data/split_module_bug_to_be_exported.cpp
new file mode 100644
index 0000000..811b910
--- /dev/null
+++ b/unittests/data/split_module_bug_to_be_exported.cpp
@@ -0,0 +1,3 @@
+#include "split_module_bug_to_be_exported.hpp"
+
+void do_smth(std::vector< image_t > &images){}
diff --git a/unittests/data/split_module_bug_to_be_exported.hpp b/unittests/data/split_module_bug_to_be_exported.hpp
new file mode 100644
index 0000000..6dd8cd1
--- /dev/null
+++ b/unittests/data/split_module_bug_to_be_exported.hpp
@@ -0,0 +1,25 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __split_module_bug_to_be_exported_hpp__
+#define __split_module_bug_to_be_exported_hpp__
+
+#include <vector>
+
+typedef struct opaque_ *opaque_pointer;
+
+inline opaque_pointer get_opaque(){ return 0; }
+inline opaque_pointer get_opaque2(){ return 0; }
+
+typedef std::vector<int> int_vector;
+inline int_vector get_vector(){ return int_vector(); }
+
+struct image_t{
+    int i;
+};
+
+void do_smth(std::vector< image_t > &images);
+
+#endif//__split_module_to_be_exported_hpp__
diff --git a/unittests/data/split_module_indexing_suite_bug_to_be_exported.hpp b/unittests/data/split_module_indexing_suite_bug_to_be_exported.hpp
new file mode 100644
index 0000000..ffc285e
--- /dev/null
+++ b/unittests/data/split_module_indexing_suite_bug_to_be_exported.hpp
@@ -0,0 +1,30 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __split_module_indexing_suite_bug_to_be_exported_hpp__
+#define __split_module_indexing_suite_bug_to_be_exported_hpp__
+
+#include <string>
+#include <boost/any.hpp>
+#include <map>
+#include <vector>
+
+
+struct generic_string_map_t
+{
+public:
+    generic_string_map_t() {};
+
+    std::vector<std::string> get_value(std::string key) const{
+        return std::vector<std::string>();
+    }
+
+private:
+    std::map<std::string, boost::any> m_fields;
+
+};
+
+
+#endif//__split_module_indexing_suite_bug_to_be_exported_hpp__
diff --git a/unittests/data/split_module_to_be_exported.hpp b/unittests/data/split_module_to_be_exported.hpp
new file mode 100644
index 0000000..8c18e15
--- /dev/null
+++ b/unittests/data/split_module_to_be_exported.hpp
@@ -0,0 +1,71 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __split_module_to_be_exported_hpp__
+#define __split_module_to_be_exported_hpp__
+
+#include "boost/shared_ptr.hpp"
+//#include BOOST_HASH_MAP_HEADER
+#include <map>
+#include <vector>
+#include <string>
+
+namespace split_module{
+
+typedef std::vector< std::vector< int > > naive_matrix_t;
+
+inline naive_matrix_t create_zero_matrix( unsigned int x ){
+    return naive_matrix_t();
+}
+
+
+struct op_struct{};
+
+inline op_struct* get_opaque(){
+    return 0;
+}
+
+inline void check_overload( int i=0, int j=1, int k=2 ){
+}
+
+
+struct item_t{
+
+    enum EColor{ red, blue };
+    enum EFruit{ apple, orange };
+
+    item_t(){}
+    item_t( int ){}
+
+    void do_nothing(){}
+    int do_something(){ return 1; }
+
+    op_struct* get_opaque(){ return 0; }
+
+    void check_overload( int i=0, int j=1, int k=2 ){}
+
+    int m_dummy;
+
+    struct nested_t{};
+};
+
+//typedef BOOST_STD_EXTENSION_NAMESPACE::hash_map< std::string, boost::shared_ptr< item_t > > str2item_t;
+typedef std::map< std::string, boost::shared_ptr< item_t > > str2item_t;
+inline str2item_t create_empty_mapping(){
+    return str2item_t();
+}
+
+class CodeInject
+{
+public:
+CodeInject(int value_) : value(value_) {}
+
+int value;
+};
+
+}
+
+
+#endif//__split_module_to_be_exported_hpp__
diff --git a/unittests/data/statics_to_be_exported.cpp b/unittests/data/statics_to_be_exported.cpp
new file mode 100644
index 0000000..c591fd4
--- /dev/null
+++ b/unittests/data/statics_to_be_exported.cpp
@@ -0,0 +1,14 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "statics_to_be_exported.hpp"
+
+namespace statics{
+
+int data::instances = 0;
+
+}//statics 
+
+
diff --git a/unittests/data/statics_to_be_exported.hpp b/unittests/data/statics_to_be_exported.hpp
new file mode 100644
index 0000000..f274435
--- /dev/null
+++ b/unittests/data/statics_to_be_exported.hpp
@@ -0,0 +1,38 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __statics_to_be_exported_hpp__
+#define __statics_to_be_exported_hpp__
+
+namespace statics{
+
+struct data{
+
+    data(){
+        instances += 1;
+    }
+    
+    ~data(){
+        instances -= 1;
+    }
+
+public:
+
+    static int instances_count(){
+        return instances;
+    }
+
+private:
+    static int instances;
+};
+
+inline int data_instances_count(){
+    return data::instances_count();
+}
+
+}//statics 
+
+#endif//__statics_to_be_exported_hpp__
+
diff --git a/unittests/data/std_pair_to_be_exported.hpp b/unittests/data/std_pair_to_be_exported.hpp
new file mode 100644
index 0000000..55ef882
--- /dev/null
+++ b/unittests/data/std_pair_to_be_exported.hpp
@@ -0,0 +1,22 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __std_pair_to_be_exported_hpp__
+#define __std_pair_to_be_exported_hpp__
+
+#include <utility>
+
+struct tester_t{
+    tester_t(int a, int b){
+       pair_.first = a;
+       pair_.second = b;
+    }
+
+    int compute(){return pair_.first + pair_.second;}
+
+    std::pair<int, int> pair_;
+};
+#endif//__std_pair_to_be_exported_hpp__
+
diff --git a/unittests/data/templates_to_be_exported.hpp b/unittests/data/templates_to_be_exported.hpp
new file mode 100644
index 0000000..d8169c0
--- /dev/null
+++ b/unittests/data/templates_to_be_exported.hpp
@@ -0,0 +1,31 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __enums_to_be_exported_hpp__
+#define __enums_to_be_exported_hpp__
+
+#include "boost/rational.hpp"
+
+class C{
+public:
+    
+    template<typename T>
+    T get_value() const{
+        return static_cast<T>(m_value);
+    }
+ 
+private:
+    int m_value;
+};
+
+struct instantiator_t{
+    instantiator_t(){
+        boost::gcd<long int>( 1, 1);
+        C c;
+        c.get_value<int>();
+    }
+};
+
+#endif//__enums_to_be_exported_hpp__
diff --git a/unittests/data/temporary_variable_to_be_exported.hpp b/unittests/data/temporary_variable_to_be_exported.hpp
new file mode 100644
index 0000000..08d93b6
--- /dev/null
+++ b/unittests/data/temporary_variable_to_be_exported.hpp
@@ -0,0 +1,90 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __temporary_variable_to_be_exported_hpp__
+#define __temporary_variable_to_be_exported_hpp__
+
+#include <string>
+
+namespace temporary_variables{ 
+
+struct named_item_t{  
+    
+    named_item_t() : m_name( "no name" ) {}
+        
+    virtual const 
+    std::string& name() const
+    { return m_name; }
+    
+private:
+    std::string m_name;    
+};
+
+const std::string& get_name( const named_item_t& ni ){
+    return ni.name();
+}
+
+struct pure_virtual_t{
+    virtual const std::string& name() const = 0;
+    virtual std::string& name_ref() = 0;
+};
+
+
+const std::string& get_name( const pure_virtual_t& ni ){
+    return ni.name();
+}
+
+std::string& get_name_ref( pure_virtual_t& ni ){
+    return ni.name_ref();
+}
+
+
+struct virtual_t{
+
+    virtual_t() : m_name( "no name" ){}
+    virtual const std::string& name() const { return m_name; }
+    virtual std::string& name_ref() { return m_name; }
+    
+protected:
+
+    virtual const std::string& name_protected() const { return m_name; }
+
+private:
+    
+    virtual const std::string& name_private() const { return m_name; }
+
+public:
+
+    std::string m_name;
+};
+
+struct virtual2_t{
+    virtual2_t() : m_name( "no name" ){}
+protected:
+
+    virtual const std::string& name_protected_pure() const = 0;
+    virtual const std::string& name_protected() const { return m_name; }
+
+private:
+    
+    virtual const std::string& name_private_pure() const = 0;
+    virtual const std::string& name_private() const { return m_name; }
+
+public:
+
+    std::string m_name;
+};
+
+const std::string& get_name( const virtual_t& ni ){
+    return ni.name();
+}
+
+std::string& get_name_ref( virtual_t& ni ){
+    return ni.name_ref();
+}
+
+}
+
+#endif//__temporary_variable_to_be_exported_hpp__
diff --git a/unittests/data/throw_to_be_exported.cpp b/unittests/data/throw_to_be_exported.cpp
new file mode 100644
index 0000000..050c42f
--- /dev/null
+++ b/unittests/data/throw_to_be_exported.cpp
@@ -0,0 +1,13 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "throw_to_be_exported.hpp"
+
+namespace throw_exceptions{
+
+
+}//throw_exceptions
+
+
diff --git a/unittests/data/throw_to_be_exported.hpp b/unittests/data/throw_to_be_exported.hpp
new file mode 100644
index 0000000..8439b62
--- /dev/null
+++ b/unittests/data/throw_to_be_exported.hpp
@@ -0,0 +1,29 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __throw_to_be_exported_hpp__
+#define __throw_to_be_exported_hpp__
+
+namespace throw_exceptions{ 
+
+struct my_exception{
+};
+
+inline void raise_nothing() throw() {};
+inline void raise_nothing(int) throw() {};
+inline void raise_always() throw( my_exception ){};
+inline void raise_always(int) throw( my_exception ){};
+
+struct mem_fun_throw_exception_t{
+    void raise_nothing() throw() {};
+    virtual void raise_nothing(int) throw() {};
+    virtual void raise_always() throw( my_exception ){};
+    virtual void raise_always(int) throw( my_exception ){};
+};
+
+    
+}
+
+#endif//__throw_to_be_exported_hpp__
diff --git a/unittests/data/tnfox_bugs_to_be_exported.hpp b/unittests/data/tnfox_bugs_to_be_exported.hpp
new file mode 100644
index 0000000..e9b44b7
--- /dev/null
+++ b/unittests/data/tnfox_bugs_to_be_exported.hpp
@@ -0,0 +1,32 @@
+#include <string>
+#include <iostream>
+
+namespace FX {
+
+struct FXWinShellLink
+{
+	struct Header
+	{
+		unsigned int length;
+		char guid[16];
+		union Flags
+		{
+			struct impl
+			{
+				unsigned int hasItemIdList : 1;
+				unsigned int pointsToFileOrDir : 1;
+				unsigned int hasDescription : 1;
+				unsigned int hasRelativePath : 1;
+				unsigned int hasWorkingDir : 1;
+				unsigned int hasCmdLineArgs : 1;
+				unsigned int hasCustomIcon : 1;
+				unsigned int useWorkingDir : 1;		// Seems to need to be set to enable working dir
+				unsigned int unused : 24;
+			};
+			unsigned int raw;
+		} flags;
+    };
+};
+
+} // namespace
+
diff --git a/unittests/data/transfer_ownership_old_to_be_exported.hpp b/unittests/data/transfer_ownership_old_to_be_exported.hpp
new file mode 100644
index 0000000..8011900
--- /dev/null
+++ b/unittests/data/transfer_ownership_old_to_be_exported.hpp
@@ -0,0 +1,9 @@
+#ifndef __transfer_ownership_old_to_be_exported_hpp__
+#define __transfer_ownership_old_to_be_exported_hpp__
+
+#include <iostream>
+
+#include "transfer_ownership_to_be_exported.hpp"
+
+
+#endif//__transfer_ownership_old_to_be_exported_hpp__
diff --git a/unittests/data/transfer_ownership_to_be_exported.hpp b/unittests/data/transfer_ownership_to_be_exported.hpp
new file mode 100644
index 0000000..9662f27
--- /dev/null
+++ b/unittests/data/transfer_ownership_to_be_exported.hpp
@@ -0,0 +1,40 @@
+#ifndef __transfer_ownership_to_be_exported_hpp__
+#define __transfer_ownership_to_be_exported_hpp__
+
+struct event_t
+{
+    virtual ~event_t(){}
+    void invoke(){
+        notify();
+    }
+protected:
+    virtual void notify() = 0;
+};
+
+struct do_nothing_t : event_t{
+protected:
+    virtual void notify(){};
+};
+
+struct simulator_t{
+    
+    void schedule(event_t *event) {
+        m_event = event;
+    };
+
+    const event_t* get_event(){
+        return m_event;
+    }
+    
+    void run() {
+        m_event->invoke();
+        delete m_event;
+        m_event = 0;
+    };
+
+private:
+    event_t* m_event;
+};
+
+
+#endif//__transfer_ownership_to_be_exported_hpp__
diff --git a/unittests/data/unions_to_be_exported.hpp b/unittests/data/unions_to_be_exported.hpp
new file mode 100644
index 0000000..0b2cb8d
--- /dev/null
+++ b/unittests/data/unions_to_be_exported.hpp
@@ -0,0 +1,35 @@
+namespace unions{
+
+struct data_t{
+    union actual_data_t{
+        int i;
+        double d;
+    };
+    actual_data_t data;
+    
+    double get_d() const{ return data.d; }
+    int get_i() const{ return data.i; }
+    
+    void set_d( double d ){ data.d = d; }
+    void set_i( int i ){ data.i = i; }
+};
+
+}
+
+namespace anonymous_unions{
+
+struct data2_t{
+    union{
+        int i;
+        double d;
+    };
+    
+    double get_d() const{ return d; }
+    int get_i() const{ return i; }
+    
+    void set_d( double _d ){ d = _d; }
+    void set_i( int _i ){ i = _i; }
+    
+};
+    
+}
diff --git a/unittests/data/unnamed_classes_to_be_exported.hpp b/unittests/data/unnamed_classes_to_be_exported.hpp
new file mode 100644
index 0000000..73818b6
--- /dev/null
+++ b/unittests/data/unnamed_classes_to_be_exported.hpp
@@ -0,0 +1,30 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __unnamed_enums_to_be_exported_hpp__
+#define __unnamed_enums_to_be_exported_hpp__
+
+#include "libconfig.h"
+
+namespace unnamed_enums{
+
+struct EXPORT_SYMBOL color{
+    union{
+        struct {
+            float r,g,b,a;
+        };
+        float val[4];
+    };
+};
+
+struct {
+    int x;
+} unnamed_struct_with_mem_var_x;
+
+void EXPORT_SYMBOL do_smth( color ){}
+
+}
+
+#endif//__unnamed_enums_to_be_exported_hpp__
diff --git a/unittests/data/unnamed_enums_to_be_exported.hpp b/unittests/data/unnamed_enums_to_be_exported.hpp
new file mode 100644
index 0000000..f0de9b0
--- /dev/null
+++ b/unittests/data/unnamed_enums_to_be_exported.hpp
@@ -0,0 +1,26 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __unnamed_enums_to_be_exported_hpp__
+#define __unnamed_enums_to_be_exported_hpp__
+
+namespace unnamed_enums{ 
+
+enum{ OK=1, CANCEL=0 }; 
+
+struct enum_holder_t{
+    enum {ZERO=0, ONE=1, TWO=2 };
+};
+
+struct enum_user_t{
+  void do_smth1(unsigned param=enum_holder_t::ZERO){};
+  void do_smth2(int param=enum_holder_t::ONE){};
+  void do_smth3(char param=enum_holder_t::TWO){};
+};
+
+
+}
+
+#endif//__unnamed_enums_to_be_exported_hpp__
diff --git a/unittests/data/user_text_to_be_exported.hpp b/unittests/data/user_text_to_be_exported.hpp
new file mode 100644
index 0000000..a3c283a
--- /dev/null
+++ b/unittests/data/user_text_to_be_exported.hpp
@@ -0,0 +1,17 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __user_text_to_be_exported_hpp__
+#define __user_text_to_be_exported_hpp__
+
+#include <string>
+
+namespace user_text{ 
+
+struct data{};
+
+}
+
+#endif//__user_text_to_be_exported_hpp__
diff --git a/unittests/data/vector3_to_be_exported.cpp b/unittests/data/vector3_to_be_exported.cpp
new file mode 100644
index 0000000..a9c63d1
--- /dev/null
+++ b/unittests/data/vector3_to_be_exported.cpp
@@ -0,0 +1,14 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "vector3_to_be_exported.hpp"
+
+namespace vector3{
+
+const Vector3 Vector3::ZERO = Vector3( 0,0,0);
+
+}//statics 
+
+
diff --git a/unittests/data/vector3_to_be_exported.hpp b/unittests/data/vector3_to_be_exported.hpp
new file mode 100644
index 0000000..64d0c22
--- /dev/null
+++ b/unittests/data/vector3_to_be_exported.hpp
@@ -0,0 +1,317 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __vector3_to_be_exported_hpp__
+#define __vector3_to_be_exported_hpp__
+
+#include <iostream>
+
+namespace vector3{
+
+class Vector3
+{
+public:
+    union {
+        struct {
+            float x, y, z;
+        };
+        float val[3];
+    };
+
+public:
+    inline Vector3()
+    {
+    }
+
+    inline Vector3( const float fX, const float fY, const float fZ )
+        : x( fX ), y( fY ), z( fZ )
+    {
+    }
+
+    inline explicit Vector3( const float afCoordinate[3] )
+        : x( afCoordinate[0] ),
+        y( afCoordinate[1] ),
+        z( afCoordinate[2] )
+    {
+    }
+
+    inline explicit Vector3( const int afCoordinate[3] )
+    {
+        x = (float)afCoordinate[0];
+        y = (float)afCoordinate[1];
+        z = (float)afCoordinate[2];
+    }
+
+    inline explicit Vector3( float* const r )
+        : x( r[0] ), y( r[1] ), z( r[2] )
+    {
+    }
+
+    inline explicit Vector3( const float scaler )
+        : x( scaler )
+        , y( scaler )
+        , z( scaler )
+    {
+    }
+
+
+    inline Vector3( const Vector3& rkVector )
+        : x( rkVector.x ), y( rkVector.y ), z( rkVector.z )
+    {
+    }
+
+    friend
+    std::ostream& operator<<(std::ostream& out, const Vector3& v ){
+        out << "( " << v.x << "," << v.y << "," << v.z << " )";
+        return out;
+    }
+
+    inline float operator [] ( const unsigned int i ) const
+    {
+        return *(&x+i);
+    }
+
+    inline float& operator [] ( const unsigned int i )
+    {
+        return *(&x+i);
+    }
+
+    /** Assigns the value of the other vector.
+        @param
+            rkVector The other vector
+    */
+    inline Vector3& operator = ( const Vector3& rkVector )
+    {
+        x = rkVector.x;
+        y = rkVector.y;
+        z = rkVector.z;
+
+        return *this;
+    }
+
+    inline Vector3& operator = ( const float fScaler )
+    {
+        x = fScaler;
+        y = fScaler;
+        z = fScaler;
+
+        return *this;
+    }
+
+    inline bool operator == ( const Vector3& rkVector ) const
+    {
+        return ( x == rkVector.x && y == rkVector.y && z == rkVector.z );
+    }
+
+    inline bool operator != ( const Vector3& rkVector ) const
+    {
+        return ( x != rkVector.x || y != rkVector.y || z != rkVector.z );
+    }
+
+    // arithmetic operations
+    inline Vector3 operator + ( const Vector3& rkVector ) const
+    {
+        Vector3 kSum;
+
+        kSum.x = x + rkVector.x;
+        kSum.y = y + rkVector.y;
+        kSum.z = z + rkVector.z;
+
+        return kSum;
+    }
+
+    inline Vector3 operator - ( const Vector3& rkVector ) const
+    {
+        Vector3 kDiff;
+
+        kDiff.x = x - rkVector.x;
+        kDiff.y = y - rkVector.y;
+        kDiff.z = z - rkVector.z;
+
+        return kDiff;
+    }
+
+    inline Vector3 operator * ( const float fScalar ) const
+    {
+        Vector3 kProd;
+
+        kProd.x = fScalar*x;
+        kProd.y = fScalar*y;
+        kProd.z = fScalar*z;
+
+        return kProd;
+    }
+
+    inline Vector3 operator * ( const Vector3& rhs) const
+    {
+        Vector3 kProd;
+
+        kProd.x = rhs.x * x;
+        kProd.y = rhs.y * y;
+        kProd.z = rhs.z * z;
+
+        return kProd;
+    }
+
+    inline Vector3 operator / ( const float fScalar ) const
+    {
+        Vector3 kDiv;
+
+        float fInv = 1.0 / fScalar;
+        kDiv.x = x * fInv;
+        kDiv.y = y * fInv;
+        kDiv.z = z * fInv;
+
+        return kDiv;
+    }
+
+    inline Vector3 operator / ( const Vector3& rhs) const
+    {
+        Vector3 kDiv;
+
+        kDiv.x = x / rhs.x;
+        kDiv.y = y / rhs.y;
+        kDiv.z = z / rhs.z;
+
+        return kDiv;
+    }
+
+
+    inline Vector3 operator - () const
+    {
+        Vector3 kNeg;
+
+        kNeg.x = -x;
+        kNeg.y = -y;
+        kNeg.z = -z;
+
+        return kNeg;
+    }
+
+    // overloaded operators to help Vector3
+    inline friend Vector3 operator * ( const float fScalar, const Vector3& rkVector )
+    {
+        Vector3 kProd;
+
+        kProd.x = fScalar * rkVector.x;
+        kProd.y = fScalar * rkVector.y;
+        kProd.z = fScalar * rkVector.z;
+
+        return kProd;
+    }
+
+    inline friend Vector3 operator + (const Vector3& lhs, const float rhs)
+    {
+        Vector3 ret(rhs);
+        return ret += lhs;
+    }
+
+    inline friend Vector3 operator + (const float lhs, const Vector3& rhs)
+    {
+        Vector3 ret(lhs);
+        return ret += rhs;
+    }
+
+    inline friend Vector3 operator - (const Vector3& lhs, const float rhs)
+    {
+        return lhs - Vector3(rhs);
+    }
+
+    inline friend Vector3 operator - (const float lhs, const Vector3& rhs)
+    {
+        Vector3 ret(lhs);
+        return ret -= rhs;
+    }
+
+    // arithmetic updates
+    inline Vector3& operator += ( const Vector3& rkVector )
+    {
+        x += rkVector.x;
+        y += rkVector.y;
+        z += rkVector.z;
+
+        return *this;
+    }
+
+    inline Vector3& operator += ( const float fScalar )
+    {
+        x += fScalar;
+        y += fScalar;
+        z += fScalar;
+        return *this;
+    }
+
+    inline Vector3& operator -= ( const Vector3& rkVector )
+    {
+        x -= rkVector.x;
+        y -= rkVector.y;
+        z -= rkVector.z;
+
+        return *this;
+    }
+
+    inline Vector3& operator -= ( const float fScalar )
+    {
+        x -= fScalar;
+        y -= fScalar;
+        z -= fScalar;
+        return *this;
+    }
+
+    inline Vector3& operator *= ( const float fScalar )
+    {
+        x *= fScalar;
+        y *= fScalar;
+        z *= fScalar;
+        return *this;
+    }
+
+    inline Vector3& operator *= ( const Vector3& rkVector )
+    {
+        x *= rkVector.x;
+        y *= rkVector.y;
+        z *= rkVector.z;
+
+        return *this;
+    }
+
+    inline Vector3& operator /= ( const float fScalar )
+    {
+        float fInv = 1.0 / fScalar;
+
+        x *= fInv;
+        y *= fInv;
+        z *= fInv;
+
+        return *this;
+    }
+
+    inline Vector3& operator /= ( const Vector3& rkVector )
+    {
+        x /= rkVector.x;
+        y /= rkVector.y;
+        z /= rkVector.z;
+
+        return *this;
+    }
+
+    inline float squaredLength () const
+    {
+        return x * x + y * y + z * z;
+    }
+
+    Vector3 do_smth( const Vector3& x = ZERO ){
+        return x;
+    }
+    // special points
+    static const Vector3 ZERO;
+
+};
+
+
+
+}
+
+#endif//__class_order_to_be_exported_hpp__
diff --git a/unittests/data/vector_with_shared_data_to_be_exported.cpp b/unittests/data/vector_with_shared_data_to_be_exported.cpp
new file mode 100644
index 0000000..4348fc2
--- /dev/null
+++ b/unittests/data/vector_with_shared_data_to_be_exported.cpp
@@ -0,0 +1,12 @@
+#include "vector_with_shared_data_to_be_exported.hpp"
+
+namespace samples{
+
+std::vector< boost::shared_ptr<data> > do_smth(){
+    std::vector< boost::shared_ptr<data> > result;
+    result.push_back( boost::shared_ptr<data>( new data() ) );
+    result.push_back( boost::shared_ptr<data>( new data() ) );
+    return result;
+}
+
+} 
diff --git a/unittests/data/vector_with_shared_data_to_be_exported.hpp b/unittests/data/vector_with_shared_data_to_be_exported.hpp
new file mode 100644
index 0000000..071e83f
--- /dev/null
+++ b/unittests/data/vector_with_shared_data_to_be_exported.hpp
@@ -0,0 +1,19 @@
+#ifndef __vector_with_shared_data_hpp__
+#define __vector_with_shared_data_hpp__
+
+#include <vector>
+#include <boost/shared_ptr.hpp>
+
+namespace samples{
+
+class data{};
+
+std::vector< boost::shared_ptr<data> > do_smth();
+
+} 
+
+namespace pyplusplus{ namespace aliases{
+    typedef std::vector< boost::shared_ptr<samples::data> > shared_data_container_t;
+} }
+
+#endif//__vector_with_shared_data_hpp__
diff --git a/unittests/data/virtual_inheritance_to_be_exported.hpp b/unittests/data/virtual_inheritance_to_be_exported.hpp
new file mode 100644
index 0000000..4552e5e
--- /dev/null
+++ b/unittests/data/virtual_inheritance_to_be_exported.hpp
@@ -0,0 +1,17 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef __virtual_inheritance_to_be_exported_hpp__
+#define __virtual_inheritance_to_be_exported_hpp__
+
+struct base{
+    virtual void do_smth() {}
+};
+
+struct derived : virtual public base
+{
+};    
+
+#endif//__virtual_inheritance_to_be_exported_hpp__
diff --git a/unittests/declarations_order_bug_tester.py b/unittests/declarations_order_bug_tester.py
new file mode 100644
index 0000000..9ed5b82
--- /dev/null
+++ b/unittests/declarations_order_bug_tester.py
@@ -0,0 +1,60 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus.module_builder import call_policies
+from pyplusplus.creators_factory import sort_algorithms
+
+class tester_base_t(fundamental_tester_base.fundamental_tester_base_t):
+    def __init__( self, name, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( self, name, *args )
+    
+    def customize( self, mb ):
+        sort_algorithms.USE_CALLDEF_ORGANIZER = self.USE_CALLDEF_ORGANIZER
+        mb.build_code_creator( self.EXTENSION_NAME )
+        
+    def tearDown( self ):
+        sort_algorithms.USE_CALLDEF_ORGANIZER = False
+
+class tester_true_t(tester_base_t):
+    USE_CALLDEF_ORGANIZER = True    
+    EXTENSION_NAME = 'declarations_order_bug_true'
+    
+    def __init__( self, *args ):
+        tester_base_t.__init__( self, tester_true_t.EXTENSION_NAME, *args )
+
+    def run_tests( self, module):
+        tester = module.declarations_order_bug_true.tester_t()
+        self.assertTrue( tester.do_smth( True ) == "do_smth( bool )" )
+        self.assertTrue( tester.do_smth( int(0) ) == "do_smth( bool )" )
+        self.assertTrue( tester.append( chr(10) ) == "append(const char *)" )
+
+class tester_false_t(tester_base_t):
+    USE_CALLDEF_ORGANIZER = False
+    EXTENSION_NAME = 'declarations_order_bug_false'
+
+    def __init__( self, *args ):
+        tester_base_t.__init__( self, tester_false_t.EXTENSION_NAME, *args )
+
+    def run_tests( self, module):
+        tester = module.declarations_order_bug_false.tester_t()
+        self.assertTrue( tester.do_smth( True ) == "do_smth( int )" )
+        self.assertTrue( tester.do_smth( int(0) ) == "do_smth( int )" )
+        self.assertTrue( tester.append( chr(10) ) == "append(const char)" )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_true_t))
+    suite.addTest( unittest.makeSuite(tester_false_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/deepcopy_tester.py b/unittests/deepcopy_tester.py
new file mode 100644
index 0000000..99b2317
--- /dev/null
+++ b/unittests/deepcopy_tester.py
@@ -0,0 +1,41 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import copy
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'deepcopy'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=2
+            , *args )
+
+    def customize( self, mb ):
+        pass
+
+    def run_tests( self, module):
+        items = module.create_items()
+        for i in items:
+            print(i.id)
+        self.failIfNotRaisesAny( copy.deepcopy,  items )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/default_args_tester.py b/unittests/default_args_tester.py
new file mode 100644
index 0000000..86f20f6
--- /dev/null
+++ b/unittests/default_args_tester.py
@@ -0,0 +1,37 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'default_args'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def run_tests( self, module):
+        d = module.data()
+        self.assertTrue( d.sum() == 0 )
+        self.assertTrue( d.sum( 1, 2 ) == 6 )
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/derive_from_deque_tester.py b/unittests/derive_from_deque_tester.py
new file mode 100644
index 0000000..f3d9d91
--- /dev/null
+++ b/unittests/derive_from_deque_tester.py
@@ -0,0 +1,45 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'derive_from_deque'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=2
+            , *args)
+
+    def customize(self, mb):
+        pass
+        #~ mb.class_( 'deque<C>' ).include()
+
+
+    def run_tests( self, module):
+        c = module.C( 1,2)
+        f = module.F()
+        f.append(c)
+        c2 = f[0]
+        self.assertTrue( c2.a_ == c.a_ and c2.b_ == c.b_ )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/duplicate_aliases_tester.py b/unittests/duplicate_aliases_tester.py
new file mode 100644
index 0000000..adb12bb
--- /dev/null
+++ b/unittests/duplicate_aliases_tester.py
@@ -0,0 +1,39 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'duplicate_aliases'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+    
+    def customize(self, mb):
+        classes = mb.classes( lambda decl: 'duplicate_aliases' in decl.name )
+        classes.alias = 'duplicate_aliases'
+        classes.wrapper_alias = 'wrapper_duplicate_aliases'
+    
+    def run_tests( self, module):
+        #check compilation
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/dwrapper_printer_tester.py b/unittests/dwrapper_printer_tester.py
new file mode 100644
index 0000000..b5a546e
--- /dev/null
+++ b/unittests/dwrapper_printer_tester.py
@@ -0,0 +1,42 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import pygccxml
+from pyplusplus import module_builder
+
+class tester_t(unittest.TestCase):
+    def _get_files( self ):
+        files = [
+            'enums_to_be_exported.hpp'
+            , 'free_functions_to_be_exported.hpp'
+            , 'free_operators_to_be_exported.hpp'
+            , 'global_variables_to_be_exported.hpp'
+            , 'index_operator_to_be_exported.hpp'
+            , 'member_functions_to_be_exported.hpp'
+        ]
+        return [os.path.join( autoconfig.data_directory, f ) for f in files]
+
+    def test(self):
+        mb = module_builder.module_builder_t( self._get_files()
+                                              , xml_generator_config=autoconfig.xml_generator_config
+                                              , include_paths=[autoconfig.boost.include]
+                                              , undefine_symbols=['__MINGW32__'] )
+        writer = lambda decl: None
+        module_builder.print_declarations( mb.global_ns, writer=writer )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/embeded_tester.py b/unittests/embeded_tester.py
new file mode 100644
index 0000000..0d6f5c3
--- /dev/null
+++ b/unittests/embeded_tester.py
@@ -0,0 +1,64 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+from pyplusplus.module_builder.call_policies import *
+
+clone_def_code = """
+
+namespace bpl = boost::python;
+
+bpl::object clone_item( const item_t& item ){
+    std::auto_ptr< item_t > new_item( new item_t() );
+    new_item->i = item.i;
+    return bpl::object( new_item );
+}
+
+"""
+
+clone_reg_code = """
+
+def("clone_item", &clone_item );
+
+    bp::register_ptr_to_python< std::auto_ptr< item_t > >();
+
+"""
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'embeded'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.add_declaration_code( clone_def_code )
+        mb.add_registration_code( clone_reg_code, True )
+        
+    def run_tests( self, module):
+        item = module.item_t()
+        item.i = 78
+        
+        item2 = module.clone_item(item)
+        self.assertTrue( item2.i == item.i )        
+        self.assertTrue( sys.getrefcount( item2 ) == 2 ) #one for boost.python second for current scope
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/enums_tester.py b/unittests/enums_tester.py
new file mode 100644
index 0000000..1fd4981
--- /dev/null
+++ b/unittests/enums_tester.py
@@ -0,0 +1,50 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'enums'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        mb.enum( 'Chisla' ).include()
+        
+        color = mb.enumeration( 'color' )
+        color.alias = 'Color'
+        color.value_aliases['red'] = 'RED'
+        color.value_aliases['blue']= 'BLUE'
+        color.export_values = ['red', 'blue']
+
+    def get_green( self, module):
+        module.green
+
+    def run_tests(self, module):        
+        self.assertTrue( module.Color.RED == 1 )
+        self.assertTrue( module.Color.green == 2 )
+        self.assertTrue( module.Color.BLUE == 4 )
+        self.assertTrue( module.RED )
+        self.assertTrue( module.BLUE )
+        self.failIfNotRaisesAny( lambda: self.get_green( module ) )
+        self.assertTrue( 1 == module.to_int( 1 ) )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/exposed_decls_db_tester.py b/unittests/exposed_decls_db_tester.py
new file mode 100644
index 0000000..e7e1742
--- /dev/null
+++ b/unittests/exposed_decls_db_tester.py
@@ -0,0 +1,101 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import pygccxml
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus import decl_wrappers
+from pyplusplus import code_creators
+from pyplusplus import creators_factory
+from pyplusplus import module_builder
+from pyplusplus import utils as pypp_utils
+from pyplusplus import function_transformers as ft
+
+class tester_t(unittest.TestCase):
+    CODE = """
+    namespace ns{
+        enum AAA{ aaa=1 };
+        struct XXX{
+            struct yyy{};
+            enum bbb{ b=2 };
+            void fff();
+        };
+
+        int VVV;
+        void FFF( int );
+    }
+    namespace ns_skip{
+        enum a123{ a1=1 };
+        struct b123{
+            struct c123{};
+        };
+        int fff();
+        int i;
+    }
+
+    struct yyy{
+        struct{ int i;};
+    };
+
+    struct zzz{
+        union{
+           int x; float y;
+        };
+    };
+
+    namespace{
+        int xxxx;
+    }
+    """
+    def __init__(self, *args ):
+        unittest.TestCase.__init__(self, *args)
+
+    def test(self):
+        db = pypp_utils.exposed_decls_db_t()
+        config = autoconfig.xml_generator_config
+
+        reader = parser.project_reader_t( config, None, decl_wrappers.dwfactory_t() )
+        decls = reader.read_files( [parser.create_text_fc(self.CODE)] )
+
+        global_ns = declarations.get_global_namespace( decls )
+        ns = global_ns.namespace( 'ns' )
+        ns_skip = global_ns.namespace( 'ns_skip' )
+
+        global_ns.exclude()
+        ns.include()
+
+        db.register_decls( global_ns, [] )
+
+        for x in ns.decls(recursive=True):
+            self.assertTrue( db.is_exposed( x ) == True )
+
+        for x in ns_skip.decls(recursive=True):
+            self.assertTrue( db.is_exposed( x ) == False )
+
+        db.save( os.path.join( autoconfig.build_dir, 'exposed.db.pypp' ) )
+
+        db2 = pypp_utils.exposed_decls_db_t()
+        db2.load( os.path.join( autoconfig.build_dir, 'exposed.db.pypp' ) )
+        for x in ns.decls(recursive=True):
+            self.assertTrue( db.is_exposed( x ) == True )
+
+        ns_skip = global_ns.namespace( 'ns_skip' )
+        for x in ns_skip.decls(recursive=True):
+            self.assertTrue( db.is_exposed( x ) == False )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/factory_tester.py b/unittests/factory_tester.py
new file mode 100644
index 0000000..a7529ce
--- /dev/null
+++ b/unittests/factory_tester.py
@@ -0,0 +1,34 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'factory'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+
+    def run_tests(self, module):        
+        conrete_inst = module.create()
+        self.assertTrue( 1 == conrete_inst.run() )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/final_classes_tester.py b/unittests/final_classes_tester.py
new file mode 100644
index 0000000..7847713
--- /dev/null
+++ b/unittests/final_classes_tester.py
@@ -0,0 +1,38 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'final_classes'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.namespace( 'final_classes' ).include()
+        mb.mem_fun('bar').virtuality = declarations.FUNCTION_VIRTUALITY_TYPES.NOT_VIRTUAL
+
+    def run_tests(self, module):
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/finalizables_tester.py b/unittests/finalizables_tester.py
new file mode 100644
index 0000000..70d1a32
--- /dev/null
+++ b/unittests/finalizables_tester.py
@@ -0,0 +1,61 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'finalizables'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        try:
+            find = code_creators.creator_finder.find_by_declaration_single
+            matcher = declarations.match_declaration_t( name='year'
+                                                        , type=declarations.member_function_t)
+            found = find( matcher, mb.code_creator.body.creators )
+            self.assertTrue( found )
+            self.assertTrue( found.is_finalizable() )
+            found.finalize()
+            #from now should be only one instances that references year function
+            found = find( matcher, mb.code_creator.creators )
+            self.assertTrue( found )
+            self.assertTrue( not found.is_finalizable() )
+            
+            matcher = declarations.match_declaration_t( name='whole_class_t'
+                                                        , type=declarations.class_t)
+            found = find( matcher, mb.code_creator.body.creators )
+            self.assertTrue( found )
+            self.assertTrue( found.is_finalizable() )
+            found.finalize()
+            #from now should be only one instances that references whole_class_t class
+            found = find( matcher, mb.code_creator.creators )
+            self.assertTrue( found )
+            self.assertTrue( not found.is_finalizable() )
+        except:
+            pass
+            
+    def run_tests(self, module):        
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/free_function_ignore_bug_tester.py b/unittests/free_function_ignore_bug_tester.py
new file mode 100644
index 0000000..7ab324b
--- /dev/null
+++ b/unittests/free_function_ignore_bug_tester.py
@@ -0,0 +1,48 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'free_function_ignore_bug'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        do_nothing = mb.free_functions( 'do_nothing' )
+        do_nothing.exclude()  
+
+        x = mb.free_fun( 'fill_some_dummy_struct_ptr_ptr' )
+        self.assertTrue( '1051' in ''.join( x.readme() ) )
+        x.exclude()
+        x = mb.free_fun( 'return_some_dummy_struct_ptr_ptr' )
+        self.assertTrue( '1050' in ''.join( x.readme() ) )
+        x.exclude()
+
+        
+        mb.build_code_creator(self.EXTENSION_NAME)
+        code = mb.code_creator.create()
+        self.assertTrue( 'do_nothing' not in code )
+        
+    def run_tests(self, module):        
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/free_functions_tester.py b/unittests/free_functions_tester.py
new file mode 100644
index 0000000..9e96e61
--- /dev/null
+++ b/unittests/free_functions_tester.py
@@ -0,0 +1,37 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'free_functions'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        mb.calldef( 'one' ).alias = 'ONE'
+        mb.calldef('plus' ).create_with_signature = True
+
+    def run_tests(self, module):        
+        self.assertTrue( module.ONE() == 1 )
+        self.assertTrue( module.plus( 1, 2 ) == 3 )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/free_operators_tester.py b/unittests/free_operators_tester.py
new file mode 100644
index 0000000..e9f47f6
--- /dev/null
+++ b/unittests/free_operators_tester.py
@@ -0,0 +1,39 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'free_operators'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+    
+    def customize( self, mb ):
+        mb.class_( 'rational' ).exclude()
+    
+    def run_tests(self, module):     
+        n = module.number()
+        self.assertTrue( not n )
+        n.i = 2
+        n2 = n + 1
+        self.assertTrue( 3 == n2.i )
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/ft_from_address_tester.py b/unittests/ft_from_address_tester.py
new file mode 100644
index 0000000..4c15e5b
--- /dev/null
+++ b/unittests/ft_from_address_tester.py
@@ -0,0 +1,66 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import math
+import ctypes
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'ft_from_address'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.global_ns.calldefs().create_with_signature = True
+        mb.calldef( 'sum_matrix' ).add_transformation( ft.from_address(0) )
+        ptr_ptr = mb.class_( 'ptr_ptr_t' )
+        ptr_ptr.var( 'value' ).expose_address = True
+        ptr_ptr.mem_fun( 'get_v_address' ).add_transformation( ft.from_address(0 ) )
+
+    def run_tests(self, module):
+        rows = 10
+        columns = 7
+        matrix_type = ctypes.c_uint * columns * rows
+        sum = 0
+        counter = 0
+        matrix = matrix_type()
+        for r in range( rows ):
+            for c in range( columns ):
+                matrix[r][c] = counter
+                sum += counter
+                counter += 1
+        result = module.sum_matrix( ctypes.addressof( matrix ), rows, columns )
+        self.assertTrue( result == sum )
+
+        ptr = module.ptr_ptr_t()
+        double_ptr_type = ctypes.POINTER( ctypes.c_double )
+        value = double_ptr_type.from_address( ptr.value )
+        self.assertTrue( value.contents.value == 5.9 )
+        d_ptr = double_ptr_type(ctypes.c_double(0.0) )
+        d_ptr_ptr = ctypes.pointer( d_ptr )
+        ptr.get_v_address( ctypes.addressof( d_ptr ) )
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/ft_inout_static_array_tester.py b/unittests/ft_inout_static_array_tester.py
new file mode 100644
index 0000000..2af94e4
--- /dev/null
+++ b/unittests/ft_inout_static_array_tester.py
@@ -0,0 +1,70 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import math
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+
+def remove_const_ref(type):
+    """Converts "T const&" into "T &" """
+    if declarations.type_traits.is_reference(type):
+        t = declarations.cpptypes.reference_t(declarations.type_traits.remove_const(type.base))
+        return t
+    return type
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'ft_inout_static_array'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.global_ns.calldefs().create_with_signature = True
+        
+        sum_and_fill = mb.global_ns.calldef( 'sum_and_fill' )
+        sum_and_fill.add_transformation( ft.inout_static_array( 'v', 3 ) )
+        
+        point3d = mb.class_( 'point3d_t' )
+        point3d.add_wrapper_code( '' )
+        
+        swap = point3d.calldefs( lambda d: 'swap' in d.name )
+        swap.add_transformation( ft.inout_static_array( 'v', 3 ) )
+
+        
+        point3d.mem_fun( 'initialize' ).add_transformation( ft.input_static_array(0, size=3) )
+        point3d.mem_fun( 'position' ).add_transformation( ft.output_static_array(0, size=3) )
+        
+    def run_tests(self, module):
+        """Run the actual unit tests.
+        """
+        point3d = module.point3d_t()
+        result = point3d.initialize( [ 1,2,3 ] )
+        self.assertTrue( result== 1*2*3 and point3d.x == 1 and point3d.y==2 and point3d.z==3 )
+        self.assertTrue( [1,2,3] == point3d.position() )
+        
+        self.assertTrue( ( 12, [10,10,10] ) == module.sum_and_fill( [2,4,6], 10 ) )
+        self.assertTrue( [1,2,3] == point3d.swap( [4,5,6] )
+                         and [4,5,6] == point3d.position() )
+        
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/ft_inout_static_matrix_tester.py b/unittests/ft_inout_static_matrix_tester.py
new file mode 100644
index 0000000..64c09c8
--- /dev/null
+++ b/unittests/ft_inout_static_matrix_tester.py
@@ -0,0 +1,49 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import math
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'ft_inout_static_matrix'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.global_ns.calldefs().create_with_signature = True
+        
+        sum_and_fill = mb.free_fun( 'sum_and_fill' )
+        sum_and_fill.add_transformation( ft.inout_static_matrix('m', rows=2, columns=3) )
+        
+        #calculate = mb.mem_fun( 'calculate' )
+        #calculate.add_transformation( ft.input_static_matrix('m', rows=3, columns=5) )
+               
+    def run_tests(self, module):
+        """Run the actual unit tests"""
+        m = [ [1, 2, 3], [4,5,6] ]
+        result = module.sum_and_fill( m, -1 )
+        self.assertTrue( 21 == result[0] )
+        self.assertTrue( [ [-1, -2, -3], [-4,-5,-6] ] == result[1])
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/ft_inout_tester.py b/unittests/ft_inout_tester.py
new file mode 100644
index 0000000..d91730f
--- /dev/null
+++ b/unittests/ft_inout_tester.py
@@ -0,0 +1,79 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import math
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'ft_inout_bugs'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):        
+        #~ mb.global_ns.exclude()
+        #~ mb.namespace( 'tests' ).include()
+        set_flag = mb.calldefs( 'set_flag' )
+        set_flag.add_transformation( ft.inout(1) )
+        
+        call_set_flag = mb.calldefs( 'call_set_flag' )
+        call_set_flag.add_transformation( ft.inout(2) )
+        
+    def create_py_inventor( self, module ):
+        class pyinventor( module.base ):
+            def __init__( self ):
+                module.base.__init__( self )
+                
+            def set_flag( self, value, flag ):
+                flag = not value
+                return flag
+        return pyinventor()
+        
+    def run_tests(self, module):
+        x = False
+        self.assertTrue( True == module.set_flag( True, x ) )
+        self.assertTrue( False == module.set_flag( False, x ) )
+        b = module.base()
+        self.assertTrue( True == b.set_flag( True, x ) )
+        self.assertTrue( False == b.set_flag( False, x ) )
+
+        self.assertTrue( True == module.call_set_flag( b, True, x ) )
+        self.assertTrue( False == module.call_set_flag( b, False, x ) )
+       
+        inventor = module.inventor()        
+        self.assertTrue( False == inventor.set_flag( True, x ) )
+        self.assertTrue( True == inventor.set_flag( False, x ) )
+        
+        self.assertTrue( False == module.call_set_flag( inventor, True, x ) )
+        self.assertTrue( True == module.call_set_flag( inventor, False, x ) )
+        
+        inventor = self.create_py_inventor( module )      
+        self.assertTrue( False == inventor.set_flag( True, x ) )
+        self.assertTrue( True == inventor.set_flag( False, x ) )
+        
+        self.assertTrue( False == module.call_set_flag( inventor, True, x ) )
+        self.assertTrue( True == module.call_set_flag( inventor, False, x ) )
+        
+        
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/ft_input_static_matrix_tester.py b/unittests/ft_input_static_matrix_tester.py
new file mode 100644
index 0000000..1df1a28
--- /dev/null
+++ b/unittests/ft_input_static_matrix_tester.py
@@ -0,0 +1,51 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import math
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'ft_input_static_matrix'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.global_ns.calldefs().create_with_signature = True
+        mb.free_funs( 'sum_impl' ).exclude()
+        
+        sum = mb.free_fun( 'sum' )
+        sum.add_transformation( ft.input_static_matrix('m', rows=2, columns=3) )
+
+        sum = mb.free_funs( lambda d: d.name in ('sum', 'sum_const' ) )
+        sum.add_transformation( ft.input_static_matrix('m', rows=2, columns=3) )
+        
+        #calculate = mb.mem_fun( 'calculate' )
+        #calculate.add_transformation( ft.input_static_matrix('m', rows=3, columns=5) )
+               
+    def run_tests(self, module):
+        """Run the actual unit tests"""
+        m = [ [1, 2, 3], [4,5,6] ]
+        self.assertTrue( 21 == module.sum( m ) )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/ft_output_static_matrix_tester.py b/unittests/ft_output_static_matrix_tester.py
new file mode 100644
index 0000000..8390062
--- /dev/null
+++ b/unittests/ft_output_static_matrix_tester.py
@@ -0,0 +1,47 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import math
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'ft_output_static_matrix'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.global_ns.calldefs().create_with_signature = True
+        
+        sum = mb.free_fun( 'filler' )
+        sum.add_transformation( ft.output_static_matrix('m', rows=2, columns=3) )
+
+        
+        #calculate = mb.mem_fun( 'calculate' )
+        #calculate.add_transformation( ft.input_static_matrix('m', rows=3, columns=5) )
+               
+    def run_tests(self, module):
+        """Run the actual unit tests"""
+        self.assertTrue( [[23,23,23],[23,23,23]] == module.filler( 23 ) )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/function_adaptor_tester.py b/unittests/function_adaptor_tester.py
new file mode 100644
index 0000000..e600142
--- /dev/null
+++ b/unittests/function_adaptor_tester.py
@@ -0,0 +1,84 @@
+# -*- coding: utf-8 -*-
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'function_adaptor'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        for suffix in [ 'zero', 'one', 'two' ]:
+            funs = mb.calldefs( 'get_' + suffix )
+            funs.adaptor = 'PYPP_IDENTITY'
+            funs.create_with_signature = False
+            mfuns = mb.global_ns.mem_funs( 'get_' + suffix, allow_empty=True )
+            mfuns.add_default_precall_code( '//add_default_precall_code' )
+            mfuns.add_override_precall_code( '//add_override_precall_code' )
+            mfuns.add_override_native_precall_code( '//add_override_native_precall_code' )
+        mb.class_('base3_t' ).add_wrapper_code( '//just a comment to force Py++ create wrapper' )
+        mb.mem_fun( '::derived_t::get_two' ).alias = 'get2'
+        Foo = mb.class_('Foo')
+        for f in [ 'virtual_public', 'virtual_protected' ]:
+            f = Foo.mem_fun( f )
+            f.add_default_precall_code( '//add_default_precall_code' )
+            f.add_override_precall_code( '//add_override_precall_code' )
+            f.add_override_native_precall_code( '//add_override_native_precall_code' )
+
+    def create_foo_derived(self, module):
+        class pyfoo( module.Foo ):
+            def __init__( self ):
+                module.Foo.__init__( self )
+
+            def virtual_protected( self ):
+                return 3
+        return pyfoo( );
+
+    def create_foo_derived2(self, module):
+        class pyfoo2( module.Foo ):
+            def __init__( self ):
+                module.Foo.__init__( self )
+
+            def virtual_protected( self ):
+                return module.Foo.virtual_protected( self )
+        return pyfoo2( );
+
+    def run_tests( self, module):
+        foo = module.foo_t()
+        self.assertTrue( foo.get_zero() == 0 )
+        self.assertTrue( foo.get_two() == 2 )
+        self.assertTrue( module.foo_t.get_two() == 2 )
+        self.assertTrue( module.get_one() == 1 )
+
+        pyfoo = self.create_foo_derived( module )
+        self.assertTrue( pyfoo.virtual_public() == 1 )
+        self.assertTrue( pyfoo.virtual_protected() == 3 )
+        self.assertTrue( pyfoo.call_virtual_protected() == 3 )
+
+        pyfoo2 = self.create_foo_derived2( module )
+        self.assertTrue( pyfoo2.virtual_public() == 1 )
+        self.assertTrue( pyfoo2.virtual_protected() == 2 )
+        self.assertTrue( pyfoo2.call_virtual_protected() == 2 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/function_transformations_tester.py b/unittests/function_transformations_tester.py
new file mode 100644
index 0000000..1494089
--- /dev/null
+++ b/unittests/function_transformations_tester.py
@@ -0,0 +1,297 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import math
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+
+def remove_const_ref(type):
+    """Converts "T const&" into "T &" """
+    if declarations.type_traits.is_reference(type):
+        t = declarations.cpptypes.reference_t(declarations.type_traits.remove_const(type.base))
+        return t
+    return type
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'function_transformations'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        
+        mb.global_ns.calldefs().create_with_signature = True
+        
+        hello_world = mb.free_fun( 'hello_world' )
+        hello_world.add_transformation( ft.output(0) )
+        
+        calc = mb.class_('calculator_t' )
+        assign_funs = calc.mem_funs( lambda decl: decl.name.startswith( 'assign' ) )
+        assign_funs.add_transformation( ft.output(0), ft.output(1) )
+        
+        clone_and_assign_5 = calc.mem_fun( 'clone_and_assign_5' )
+        clone_and_assign_5.add_transformation( ft.output(0) )
+        clone_and_assign_5.call_policies = call_policies.return_value_policy( call_policies.manage_new_object )
+            
+        window = mb.class_( 'window_t' )
+        window.mem_fun( 'resize' ).add_transformation( ft.input(0), ft.input(1) )
+        window.mem_fun( 'resize_in_out' ).add_transformation( ft.inout(0), ft.inout(1) )
+        
+        point3d = mb.class_( 'point3d_t' )
+        point3d.add_wrapper_code( '' )
+        point3d.mem_fun( 'initialize' ).add_transformation( ft.input_static_array(0, size=3) )
+        point3d.mem_fun( 'position' ).add_transformation( ft.output_static_array(0, size=3) )
+        distance = point3d.mem_fun( 'distance' )
+        distance.add_transformation( ft.output(1) )
+        distance.transformations[0].controller.add_pre_call_code( '//dddddddddddddd' )
+        distance.transformations[0].controller.add_post_call_code( '//qqqqqqqqqqqqq' )
+        
+        image = mb.class_( "image_t" )
+        image.always_expose_using_scope = True
+        image.member_function( "get_size" )
+        image.member_function( "get_size" ).add_transformation( ft.output(0), ft.output(1) )
+        image.member_function( "get_one_value" ).add_transformation( ft.output(0) )
+        image.member_function( "get_size2" ).add_transformation( ft.output(0), ft.output(1) )
+        image.member_function( "input_arg" ).add_transformation( ft.input(0) )
+        image.member_function( "fixed_input_array" ).add_transformation( ft.input_static_array(0,3) )
+        image.member_function( "fixed_output_array" ).add_transformation( ft.output_static_array(0,3) )
+        mb.free_function("get_cpp_instance").call_policies \
+            = call_policies.return_value_policy(call_policies.reference_existing_object)
+        mb.variable( "cpp_instance" ).exclude()
+
+        cls = mb.class_("no_virtual_members_t")
+        cls.member_function("member").add_transformation( ft.output(0) )
+
+        cls = mb.class_("ft_private_destructor_t")
+        cls.member_function("get_value").add_transformation( ft.output(0) )
+
+        mb.decls(lambda decl: decl.name.startswith("_")).exclude()
+
+        cls = mb.class_("bug_render_target_t")
+        cls.mem_fun("get_statistics", arg_types=['float &']*2).add_transformation( ft.output(0), ft.output(1) )
+        
+        cls = mb.class_( 'modify_type_tester_t' )
+        do_nothing = cls.mem_fun( 'do_nothing' )
+        do_nothing.add_transformation( ft.modify_type(0, declarations.remove_reference ) )
+
+        clone = cls.mem_fun( 'clone' )
+        clone.call_policies = call_policies.return_value_policy( call_policies.manage_new_object )
+        clone.add_transformation( ft.modify_type(0, declarations.remove_reference ) )
+        
+        cls = mb.class_( 'input_c_buffer_tester_t')
+        write_mf = cls.mem_fun( 'write' )
+        write_mf.add_transformation( ft.input_c_buffer( 'buffer', 'size' ) )
+        write_s = cls.mem_fun( 'write_s' )
+        write_s.add_transformation( ft.input_c_buffer( 'buffer', 'size' ) )
+        
+        resource = mb.class_( 'resources_t' )
+        resource.held_type = 'std::auto_ptr< %s >' % resource.decl_string
+        transfer_ownership_tester = mb.class_( 'transfer_ownership_tester_t' )
+        tester = transfer_ownership_tester.mem_fun( 'tester' )
+        tester.add_transformation( ft.transfer_ownership( 0 ) )
+        
+        render_queue_listener_t = mb.class_( 'render_queue_listener_t' )
+        render_queue_ended = render_queue_listener_t.mem_fun( 'render_queue_ended' )
+        render_queue_ended.add_transformation( ft.inout(2) )
+
+        ft_bugs = mb.namespace( 'ft_bugs' )
+        h = ft_bugs.mem_fun( 'h' )
+        h.add_transformation( ft.modify_type(0, remove_const_ref ) )
+        h.call_policies = call_policies.return_internal_reference()
+
+        h2 = ft_bugs.mem_fun( 'h2' )
+        h2.add_transformation( ft.modify_type(0, remove_const_ref ) )
+        h2.call_policies = call_policies.return_internal_reference()
+
+        ft_bugs.class_( 'B' ).always_expose_using_scope = True
+        ft_bugs.mem_fun( 'get_a' ).call_policies \
+            = call_policies.return_value_policy( call_policies.reference_existing_object )
+
+        ft_bugs2 = mb.namespace( 'ft_bugs2' )
+        g = ft_bugs2.mem_fun( 'g' )
+        g.add_transformation( ft.modify_type(0, remove_const_ref ) )
+        g.call_policies = call_policies.return_internal_reference()
+
+        
+    def run_tests(self, module):
+        """Run the actual unit tests.
+        """
+
+        ####### Do the tests directly on the wrapper C++ class ########
+        calc = module.calculator_t()
+        self.assertTrue( ( 0, 1, 2 ) == calc.assign_0_1_2() )
+        self.assertTrue( ( 1, 2 ) == calc.assign_1_2() )
+        calc2, five = calc.clone_and_assign_5()
+        self.assertTrue( five == 5 )
+        self.assertTrue( calc2 )
+        #test make_object function
+        self.assertTrue( sys.getrefcount( calc ) == sys.getrefcount( calc2 ) )
+
+        window = module.window_t()
+        window.height = 0
+        window.width = 0
+        window.resize( 1, 2 )
+        self.assertTrue( window.height==1 and window.width==2 )
+        square, h, w = window.resize_in_out( 3, 7 )
+        self.assertTrue( square == 1*3*2*7 and h==3 and w==2*7 )
+        self.assertTrue( window.height==3 and window.width==2*7 )
+        
+        point3d = module.point3d_t()
+        result = point3d.initialize( [ 1,2,3 ] )
+        self.assertTrue( result== 1*2*3 and point3d.x == 1 and point3d.y==2 and point3d.z==3 )
+        self.assertTrue( [1,2,3] == point3d.position() )
+        self.assertTrue( module.point3d_t.distance( point3d ) == math.sqrt( 1*1 + 2*2 + 3*3 ) )
+        
+        self.assertTrue( module.hello_world() == "hello world!" )
+        img = module.image_t( 2, 6)
+
+        # Check a method that returns two values by reference
+        self.assertEqual(img.get_size(), (2,6))
+
+        # Check a method that only returns one value by reference
+        self.assertEqual(img.get_one_value(), 2)
+
+        # Check if the C++ class can also be passed back to C++
+        self.assertEqual(module.get_image_one_value(img), 2)
+
+        # Check get_size2()
+        self.assertEqual(img.get_size2(), (0,2,6))
+        self.assertEqual(img.get_size2(1), (1,2,6))
+
+        # Check the input_arg method
+        self.assertEqual(img.input_arg(5), 5)
+
+        # Check the fixed_input_array method
+        self.assertEqual(img.fixed_input_array([1,2,3]), 6)
+        self.assertEqual(img.fixed_input_array((1,2,3)), 6)
+
+        # Check the fixed_output_array method
+        self.assertEqual(img.fixed_output_array(), [1,2,3])
+
+        self.assertEqual(module.ft_private_destructor_t.get_value(), 21)
+
+        ####### Do the tests on a class derived in Python ########
+
+        class py_image1_t(module.image_t):
+            def __init__(self, h, w):
+                module.image_t.__init__(self, h, w)
+                self.fixed_output_array_mode = 0
+
+            # Override a virtual method
+            def get_one_value(self):
+                return self.m_height+1
+
+            def fixed_output_array(self):
+                from named_tuple import named_tuple
+                # Produce a correct return value
+                if self.fixed_output_array_mode==0:
+                    return named_tuple( ('v', (2,5,7)) )
+                # Produce the wrong type
+                elif self.fixed_output_array_mode==1:
+                    return 5
+                # Produce a sequence with the wrong number of items
+                elif self.fixed_output_array_mode==2:
+                    return named_tuple( ('v', (2,5)) )
+
+        pyimg1 = py_image1_t(3,7)
+
+        # Check a method that returns two values by reference
+        self.assertEqual(pyimg1.get_size(), (3,7))
+
+        # Check a method that only returns one value by reference
+        self.assertEqual(pyimg1.get_one_value(), 4)
+
+        # Check if the Python class can also be passed back to C++
+        self.assertEqual(module.get_image_one_value(pyimg1), 4)
+
+        # Check if fixed_output_array() is correctly called from C++
+        self.assertEqual(module.image_fixed_output_array(pyimg1), 14)
+        pyimg1.fixed_output_array_mode = 1
+        self.assertRaises(TypeError, lambda : module.image_fixed_output_array(pyimg1))
+        pyimg1.fixed_output_array_mode = 2
+        self.assertRaises(ValueError, lambda : module.image_fixed_output_array(pyimg1))
+
+        class py_image2_t(module.image_t):
+            def __init__(self, h, w):
+                module.image_t.__init__(self, h, w)
+
+            # Override a virtual method and invoke the inherited method
+            def get_one_value(self):
+                return module.image_t.get_one_value(self)+2
+
+        pyimg2 = py_image2_t(4,8)
+
+        # Check the derived get_one_value() method
+        self.assertEqual(pyimg2.get_one_value(), 6)
+
+        # Check if the Python class can also be passed back to C++
+        self.assertEqual(module.get_image_one_value(pyimg2), 6)
+
+        ####### Do the tests on a class instantiated in C++ ########
+
+        cppimg = module.get_cpp_instance()
+
+        # Check a method that returns two values by reference
+        self.assertEqual(cppimg.get_size(), (12,13))
+
+        # Check a method that only returns one value by reference
+        self.assertEqual(cppimg.get_one_value(), 12)
+
+        # Check if the C++ class can also be passed back to C++
+        self.assertEqual(module.get_image_one_value(cppimg), 12)
+
+        ######### Test no_virtual_members_t ########
+
+        cls = module.no_virtual_members_t()
+        self.assertEqual(cls.member(), (True, 17))
+
+        class py_bug_render_target_t( module.bug_render_target_t ):
+            def __init__( self ):
+                module.bug_render_target_t.__init__( self )
+                
+            def get_statistics( self ):
+                from named_tuple import named_tuple
+                return named_tuple( ( 'x', 2.0 ), ( 'y', 3.0 ) )
+        tmp = py_bug_render_target_t()
+        
+        tmp.get_statistics()
+        self.assertTrue( 2.0 + 3.0 == module.bug_render_target_t.get_static_statistics( tmp ) )
+        
+        tmp = module.modify_type_tester_t()
+        self.assertTrue( 123 == tmp.do_nothing(123) )
+        self.assertTrue( tmp != tmp.clone(123) )
+
+        tmp = module.input_c_buffer_tester_t()
+        hw = 'hello world'
+        dummy = 11
+        self.assertTrue( 'hello world' == tmp.write( list( hw ), dummy ) )
+        self.assertTrue( 'hello world' == tmp.write_s( dummy, tuple( list( hw ) ) ) )
+
+        tmp = module.transfer_ownership_tester_t()
+        resource = tmp.resources_t();
+        tmp.tester( resource )
+
+        b = module.B()
+        self.assertTrue( b.h( module.A.get_a() ) == None )
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/fundamental_tester_base.py b/unittests/fundamental_tester_base.py
new file mode 100644
index 0000000..097ffe0
--- /dev/null
+++ b/unittests/fundamental_tester_base.py
@@ -0,0 +1,164 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import pygccxml
+from pygccxml import parser
+from pyplusplus import utils
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+LICENSE = """// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)"""
+
+class fundamental_tester_base_t( unittest.TestCase ):
+    SUFFIX_TO_BE_EXPORTED = '_to_be_exported.hpp'
+
+    def __init__(self, module_name, *args, **keywd ):
+        unittest.TestCase.__init__(self, *args)
+        self.__module_name = module_name
+        self.__to_be_exported_header \
+            = os.path.join( autoconfig.data_directory
+                            , self.__module_name + self.SUFFIX_TO_BE_EXPORTED )
+
+        self.__generated_source_file_name = os.path.join( autoconfig.build_dir
+                                                          , self.__module_name + '.cpp' )
+        self.__generated_scons_file_name = os.path.join( autoconfig.build_dir
+                                                          , self.__module_name + '.scons' )
+
+        self.__indexing_suite_version = keywd.get( 'indexing_suite_version', 1 )
+
+    def failIfRaisesAny(self, callableObj, *args, **kwargs):
+        try:
+            callableObj(*args, **kwargs)
+        except Exception as error:
+            self.fail( 'exception has been raised during execution. exception: ' + str(error) )
+
+    def failIfNotRaisesAny(self, callableObj, *args, **kwargs):
+        was_exception = False
+        try:
+            callableObj(*args, **kwargs)
+        except:
+            was_exception = True
+        self.assertTrue(was_exception, 'exception has not been raised during execution.')
+
+    def __test_already_exposed( self, mb ):
+        exposed_db = utils.exposed_decls_db_t()
+        exposed_db.load( autoconfig.build_dir )
+        irrelevant_decl_types = ( declarations.typedef_t
+                                  , declarations.namespace_t
+                                  , declarations.free_operator_t )
+        specially_exposed_decls = mb.code_creator.specially_exposed_decls
+        for d in mb.decls():
+            if not d.exportable:
+                continue
+            elif isinstance( d, declarations.free_operator_t ):
+                continue
+            elif d.ignore:
+                if d in specially_exposed_decls:
+                    continue
+                if exposed_db.is_exposed( d ):
+                    i = 0
+                self.assertTrue( not exposed_db.is_exposed( d )
+                                 , '''Declaration "%s" is NOT exposed, but for some reason it is marked as such.'''
+                                   % str( d ) )
+            elif d.parent \
+                 and isinstance( d.parent, declarations.class_t ) \
+                 and d.parent.indexing_suite:
+                continue
+            else:
+                self.assertTrue( exposed_db.is_exposed( d )
+                                 , '''Declaration "%s" is exposed, but for some reason it isn't marked as such.'''
+                                   % str( d ) )
+
+    def customize(self, generator):
+        pass
+
+    def get_source_files( self ):
+        sources = [ self.__generated_source_file_name ]
+        to_be_exported_cpp = os.path.splitext( self.__to_be_exported_header )[0] + '.cpp'
+        if os.path.exists( to_be_exported_cpp ):
+            sources.append( to_be_exported_cpp  )
+        return sources
+
+    def generate_source_files( self, mb ):
+        mb.write_module( self.__generated_source_file_name )
+
+    def run_tests(self, module):
+        raise NotImplementedError()
+
+    def _create_extension_source_file(self):
+        global LICENSE
+
+        if os.path.exists( self.__generated_source_file_name + '.xml' ):
+            os.remove( self.__generated_source_file_name + '.xml' )
+
+        test_header_cfg \
+            = pygccxml.parser.create_cached_source_fc( self.__to_be_exported_header
+                                                       , self.__generated_source_file_name + '.xml' )
+
+        mb = module_builder.module_builder_t( [ test_header_cfg ]
+                                              #, undefine_symbols=['__MINGW32__']
+                                              , indexing_suite_version=self.__indexing_suite_version
+                                              , xml_generator_config=autoconfig.xml_generator_config)
+        for decl in mb.decls():
+            decl.documentation = '"documentation"'
+        self.customize( mb )
+        doc_extractor = lambda decl: decl.documentation
+        if not mb.has_code_creator():
+            mb.build_code_creator( self.__module_name, doc_extractor=doc_extractor )
+        mb.code_creator.std_directories.extend( autoconfig.scons_config.cpppath )
+        mb.code_creator.user_defined_directories.append( autoconfig.data_directory )
+        mb.code_creator.precompiled_header = "boost/python.hpp"
+        mb.code_creator.license = LICENSE
+        self.generate_source_files( mb )
+        self.__test_already_exposed( mb )
+
+    def _create_sconstruct(self, sources ):
+        sources_str = []
+        for source in sources:
+            sources_str.append( "r'%s'" % source )
+        sources_str = ','.join( sources_str )
+        sconstruct_script = autoconfig.scons_config.create_sconstruct()\
+                            % { 'target' : self.__module_name
+                                , 'sources' : sources_str }
+        sconstruct_file = open( self.__generated_scons_file_name, 'w+b' )
+        sconstruct_file.write( sconstruct_script.encode('ascii') )
+        sconstruct_file.close()
+
+    def _clean_build( self, sconstruct_file ):
+        cmd = autoconfig.scons.cmd_clean % sconstruct_file
+        output = os.popen( cmd )
+        scons_reports = []
+        while True:
+            data = output.readline()
+            scons_reports.append( data )
+            if not data:
+                break
+        exit_status = output.close()
+        scons_msg = ''.join(scons_reports)
+        scons_msg = scons_msg.strip()
+        if exit_status:
+            raise RuntimeError( "unable to clean extension. error: %s" % scons_msg )
+
+    def test(self):
+        pypp = None
+        try:
+            self._create_extension_source_file()
+            sources = self.get_source_files()
+            self._create_sconstruct(sources)
+            autoconfig.scons_config.compile( autoconfig.scons.cmd_build + ' --file=%s' % self.__generated_scons_file_name )
+            pypp = __import__( self.__module_name )
+            self.run_tests(pypp)
+        finally:
+            if self.__module_name in sys.modules:
+                del sys.modules[self.__module_name]
+            del pypp
+            #self._clean_build(self.__generated_scons_file_name)
diff --git a/unittests/global_variables_tester.py b/unittests/global_variables_tester.py
new file mode 100644
index 0000000..a0e6272
--- /dev/null
+++ b/unittests/global_variables_tester.py
@@ -0,0 +1,53 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import ctypes
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'global_variables'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.variable('non_const_var').alias = 'NonConstVar'
+        mb.variable( 'some_value' ).expose_address = True
+
+    def run_tests(self, module):
+        self.assertTrue( module.NonConstVar == module.color.blue )
+        self.assertTrue( module.const_var == module.color.red )
+        module.init_garray()
+        self.assertTrue( 10 == len( module.garray ) )
+        for index in range( 10 ):
+            self.assertTrue( -index == module.garray[index].value )
+        self.assertTrue( 3 == len( module.someSin )
+                         and module.someSin[0] == 'A'
+                         and module.someSin[1] == 'B'
+                         and module.someSin[2] == '\0' )
+
+        self.assertTrue( module.some_value == module.get_some_value_address() )
+        self.assertTrue( -7 == module.get_some_value() )
+        x = ctypes.c_int.from_address( module.some_value )
+        self.assertTrue( x.value == module.get_some_value() )
+        x.value = 9
+        self.assertTrue( x.value == module.get_some_value() == 9)
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/gui_tester.py b/unittests/gui_tester.py
new file mode 100644
index 0000000..8e8562b
--- /dev/null
+++ b/unittests/gui_tester.py
@@ -0,0 +1,13 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+from pyplusplus import gui
+
+if __name__ == "__main__":
+    gui.show_demo()
\ No newline at end of file
diff --git a/unittests/gui_wizard_tester.py b/unittests/gui_wizard_tester.py
new file mode 100644
index 0000000..c99dab9
--- /dev/null
+++ b/unittests/gui_wizard_tester.py
@@ -0,0 +1,32 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import autoconfig
+
+import os
+from pygccxml import parser
+from pyplusplus import module_builder
+
+#Configurating GCC-XML parser
+#Basically you should copy here your makefile configuration
+parser_configuration = parser.config_t(
+                            #path to GCC-XML binary
+                            gccxml_path=r"c:/tools/gccxml/bin/gccxml.exe"
+                            , working_directory=r"D:\pygccxml_sources\source\pyplusplus\unittests\data"
+                            , include_paths=['D:/pygccxml_sources/source/pyplusplus/gui']
+                            , define_symbols=[]
+                            , compiler=pygccxml.utils.native_compiler.get_gccxml_compiler() )
+
+#Creating an instance of class that will help you to expose your declarations
+mb = module_builder.module_builder_t( [r"D:\pygccxml_sources\source\pyplusplus\unittests\data\call_policies_to_be_exported.hpp"], parser_configuration )
+
+#Well, don't you want to see what is going on?
+mb.print_declarations()
+
+#Creating code creator. After this step you should not modify/customize declarations.
+mb.build_code_creator( module_name='pyplusplus' )
+
+#Writing code to file.
+mb.write_module( './bindings.cpp' )
diff --git a/unittests/hierarchy3_tester.py b/unittests/hierarchy3_tester.py
new file mode 100644
index 0000000..db69fcd
--- /dev/null
+++ b/unittests/hierarchy3_tester.py
@@ -0,0 +1,44 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'hierarchy3'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        mb.build_code_creator( 'hierarchy3' )
+        find = code_creators.creator_finder.find_by_declaration_single
+        matcher = declarations.match_declaration_t( name='son_t'
+                                                    , type=declarations.class_t)
+        found = find( matcher, mb.code_creator.body.creators )
+        self.assertTrue( found )
+        self.assertTrue( found.wrapper )
+        #self.assertTrue( 0 == len( found.creators ) )
+            
+    def run_tests(self, module):        
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/include_exclude_bug_tester.py b/unittests/include_exclude_bug_tester.py
new file mode 100644
index 0000000..4376769
--- /dev/null
+++ b/unittests/include_exclude_bug_tester.py
@@ -0,0 +1,36 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'include_exclude_bug'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.mem_fun( '::Ogre::Any::swap' ).exclude()
+        
+    def run_tests( self, module):
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/index_operator_tester.py b/unittests/index_operator_tester.py
new file mode 100644
index 0000000..36cfd15
--- /dev/null
+++ b/unittests/index_operator_tester.py
@@ -0,0 +1,34 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'index_operator'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def run_tests(self, module):        
+        cont = module.container()
+        self.assertTrue( cont[3] == 1 )
+        self.assertTrue( cont[0] == 0 )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/indexing_suite2_shared_ptr_value_traits_tester.py b/unittests/indexing_suite2_shared_ptr_value_traits_tester.py
new file mode 100644
index 0000000..13ace59
--- /dev/null
+++ b/unittests/indexing_suite2_shared_ptr_value_traits_tester.py
@@ -0,0 +1,39 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'indexing_suite2_shared_ptr_value_traits'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=2
+            , *args)
+
+    def customize(self, generator):
+        pass
+
+    def run_tests( self, module):
+        pass
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/indexing_suite_v1_tester.py b/unittests/indexing_suite_v1_tester.py
new file mode 100644
index 0000000..c89fd46
--- /dev/null
+++ b/unittests/indexing_suite_v1_tester.py
@@ -0,0 +1,49 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+from pyplusplus import utils
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'indexing_suite_v1'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=1
+            , *args )
+        self.files = []
+
+    def customize( self, mb ):
+        v = mb.class_( lambda x: x.name.startswith( 'vector' ) )
+        v.exclude()
+
+    def run_tests(self, module):
+        x = module.get_empty()
+        try:
+            for i in x:
+                print(i)
+            self.fail( "TypeError exception was not raised" )
+        except TypeError:
+            pass
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/indexing_suites2_support_tester.py b/unittests/indexing_suites2_support_tester.py
new file mode 100644
index 0000000..159c33a
--- /dev/null
+++ b/unittests/indexing_suites2_support_tester.py
@@ -0,0 +1,48 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'indexing_suites2_support'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=2
+            , *args)
+
+    def customize(self, generator):
+        fvector = generator.global_ns.typedef( 'foo_vector' )
+        fvector = declarations.remove_declarated( fvector.type )
+        fvector.indexing_suite.call_policies \
+            =  module_builder.call_policies.return_internal_reference()
+
+    def run_tests( self, module):
+        v = module.foo_vector()
+        f = module.foo()
+        f.bar = 0
+        v.append(f)
+        self.assertTrue( v[0].bar == 0 )
+        v[0].bar = 10
+        self.assertTrue( v[0].bar == 10 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/indexing_suites2_tester.py b/unittests/indexing_suites2_tester.py
new file mode 100644
index 0000000..b9bc54d
--- /dev/null
+++ b/unittests/indexing_suites2_tester.py
@@ -0,0 +1,106 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'indexing_suites2'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=2
+            , *args)
+
+    def customize(self, generator):
+        items = generator.global_ns.typedef( 'items_t' )
+        items = declarations.remove_declarated( items.type )
+        items.alias = "items_t"
+        items.include()
+
+        strings = generator.global_ns.typedef( 'strings_t' )
+        strings = declarations.remove_declarated( strings.type )
+        strings.include()
+        
+        fvector = generator.global_ns.typedef( 'fvector' )
+        fvector = declarations.remove_declarated( fvector.type )
+        fvector.indexing_suite.disable_method( 'extend' )
+        fvector.indexing_suite.disable_methods_group( 'reorder' )
+        #fvector.indexing_suite.call_policies = module_builder.call_policies.default_call_policies()
+        items_ptr = generator.global_ns.typedefs( 'items_ptr_t' )[0]
+        items_ptr = declarations.remove_declarated( items_ptr.type )
+        self.assertTrue( items_ptr.indexing_suite.call_policies.__class__
+                         is module_builder.call_policies.return_internal_reference().__class__ )
+       
+    def run_tests( self, module):
+        fv = module.fvector()
+        self.assertTrue( not hasattr( fv, 'extend' ) )
+        self.assertTrue( not hasattr( fv, 'sort' ) )
+        self.assertTrue( not hasattr( fv, 'reverse' ) )
+        items = module.items_t()
+        item = module.item_t()
+        item.value = 1977
+        items.append( item )
+        self.assertTrue( module.get_value( items, 0 ).value == 1977 )
+        self.assertTrue( len( items ) == 1 )
+        
+        name2value = module.name2value_t()
+        name2value[ "x" ] = "y"
+        self.assertTrue( len(name2value) == 1 )
+        self.assertTrue( "x" == module.get_first_name( name2value ) )
+        for kv in name2value:
+            self.assertTrue( kv.key == "x" and kv.value == "y" )
+        for k, v in name2value:
+            self.assertTrue( k == "x" and v == "y" )
+        #~ for k, v in name2value.iteritems():
+            #~ self.assertTrue( k == "x" and v == "y" )
+            
+        items_ptr = module.items_ptr_t()
+        items_ptr.append( item )
+        self.assertTrue( items_ptr[0].value == 1977 )
+        for i in items_ptr:
+            self.assertTrue( i.value == 1977 )
+            
+        items_ptr2 = module.create_items_ptr()
+        prev_value = -1
+        for i in items_ptr2:
+            self.assertTrue( prev_value + 1 == i.value )
+            prev_value = i.value
+            
+        set_of_strings = module.create_set_strings()
+        set_of_strings.add("s")
+        set_of_strings.add("s1")
+        set_of_strings.add("s")
+        
+        x = module.get_int_mapping()
+        self.assertTrue( x[1] == 1 )
+        try:
+            x = module.get_int_multimapping()
+            self.assertTrue( x[1] == 1 )
+        except TypeError:
+            pass
+
+        protected_items = module.create_protected_items()
+        values = [protected_item.value for protected_item in protected_items];
+        values.sort()
+        self.assertTrue( [0,1,2,3,4]==values )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/indexing_suites_tester.py b/unittests/indexing_suites_tester.py
new file mode 100644
index 0000000..73ee806
--- /dev/null
+++ b/unittests/indexing_suites_tester.py
@@ -0,0 +1,57 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'indexing_suites'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    @staticmethod
+    def matcher( item, decl ):
+        if not declarations.vector_traits.is_my_case( decl ):
+            return False
+        element_type = declarations.vector_traits.element_type(decl)
+        if item is element_type:
+            return True
+        return False
+    
+    def customize(self, generator):
+        item = generator.class_( 'item_t' )
+        items = generator.class_( lambda decl: self.matcher( item, decl ) )
+        items.alias = "items_t"
+       
+    def run_tests( self, module):
+        items = module.items_t()
+        item = module.item_t()
+        item.value = 1977
+        items.append( item )
+        self.assertTrue( module.get_value( items, 0 ).value == 1977 )
+        self.assertTrue( len( items ) == 1 )
+        names = module.get_names()
+        self.assertTrue( len( names ) == 3 )
+        self.assertTrue( names[0] == names[1] == names[2]== "a" )
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/indexing_suites_v2_bug_tester.py b/unittests/indexing_suites_v2_bug_tester.py
new file mode 100644
index 0000000..a0dcceb
--- /dev/null
+++ b/unittests/indexing_suites_v2_bug_tester.py
@@ -0,0 +1,53 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+if 'posix' == os.name:
+    try:
+        from ctypes import RTLD_NOW, RTLD_GLOBAL
+    except ImportError:
+        RTLD_NOW = 2
+        RTLD_GLOBAL = 256
+    sys.setdlopenflags(RTLD_NOW | RTLD_GLOBAL)
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( self, self.EXTENSION_NAME, indexing_suite_version=2, *args  )
+
+    def run_tests(self, module):
+        v = module.create_vector()
+        for i in v:
+            i += 1
+        for i in v:
+            i += 1
+
+class tester_a_t(tester_t):
+    EXTENSION_NAME = 'indexing_suites_v2_bug_a'
+    def __init__( self, *args ):
+        tester_t.__init__( self, *args )
+
+
+class tester_b_t(tester_t):
+    EXTENSION_NAME = 'indexing_suites_v2_bug_b'
+    def __init__( self, *args ):
+        tester_t.__init__( self, *args )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_a_t))
+    suite.addTest( unittest.makeSuite(tester_b_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/inner_base_class_tester.py b/unittests/inner_base_class_tester.py
new file mode 100644
index 0000000..f1c7144
--- /dev/null
+++ b/unittests/inner_base_class_tester.py
@@ -0,0 +1,41 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'inner_base_class'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.build_code_creator( self.EXTENSION_NAME )
+        foo3 = mb.code_creator.body.creators[0]
+        del mb.code_creator.body.creators[0]
+        mb.code_creator.body.creators[0].adopt_creator( foo3, 0)
+        #mb.class_( 'foo2_t' ).bases[0].access_type = declarations.ACCESS_TYPES.PRIVATE
+        #mb.class_( 'foo3_t' ).bases[0].access_type = declarations.ACCESS_TYPES.PRIVATE
+        
+    def run_tests(self, module):        
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/inner_class_bug_tester.py b/unittests/inner_class_bug_tester.py
new file mode 100644
index 0000000..4afd43c
--- /dev/null
+++ b/unittests/inner_class_bug_tester.py
@@ -0,0 +1,38 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'inner_class_bug'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+    
+    def run_tests( self, module):
+        main = module.main_t()
+        main.main_method()
+        main.main_method2()
+        inner = module.main_t.inner_t( 12 )
+        inner.inner_method()
+        inner.inner_method2()
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/inner_tmpl_class_tester.py b/unittests/inner_tmpl_class_tester.py
new file mode 100644
index 0000000..77342d7
--- /dev/null
+++ b/unittests/inner_tmpl_class_tester.py
@@ -0,0 +1,35 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'inner_tmpl_class'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+            
+    def run_tests( self, module):
+        o = module.Outer()
+        i = o.f()
+        self.assertTrue( i.t == 23 )
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/internal_classes_tester.py b/unittests/internal_classes_tester.py
new file mode 100644
index 0000000..a29230a
--- /dev/null
+++ b/unittests/internal_classes_tester.py
@@ -0,0 +1,32 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'internal_classes'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def run_tests(self, module):        
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/mailing_list_help_tester.py b/unittests/mailing_list_help_tester.py
new file mode 100644
index 0000000..052dc1d
--- /dev/null
+++ b/unittests/mailing_list_help_tester.py
@@ -0,0 +1,47 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'mailing_list_help'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        foo = mb.class_( 'foo' )
+        foo.add_wrapper_code( 'static std::string get_buffer(const foo& x) { return std::string(x.buffer); }' )
+        foo.add_registration_code( 'def("__str__", &foo_wrapper::get_buffer)' )
+        #bar = mb.class_( 'bar' )
+        #bar.var( 'f' ).use_make_functions = True
+        
+    def run_tests( self, module):
+        f1 = module.foo()
+        print('f1.buffer: ', f1.buffer)
+        print('str(f1):', str(f1))
+        b1 = module.bar()
+        print('b1.f.buffer:', b1.f.buffer)
+        print('b1.f:', b1.f)
+        print('str(b1.f):', str(b1.f))
+        
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/make_constructor_tester.py b/unittests/make_constructor_tester.py
new file mode 100644
index 0000000..c2144c3
--- /dev/null
+++ b/unittests/make_constructor_tester.py
@@ -0,0 +1,42 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'make_constructor'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mc = mb.namespace( 'mc' )
+        numbers = mc.class_( 'numbers_t' )
+        numbers.add_fake_constructors( mc.calldefs( 'create' ) )
+        numbers.add_fake_constructors( mc.calldefs(lambda d: d.name.startswith('~') ) )
+        mc.calldef( 'create', arg_types=[None]*5 ).exclude()
+
+    def run_tests(self, module):
+        n = module.numbers_t( 1,2,3,4)
+        self.assertTrue( n.x == 1+2 and n.y == 3+4)
+        n = module.numbers_t( 10, 18)
+        self.assertTrue( n.x == 10 and n.y == 18)
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/mdecl_wrapper_tester.py b/unittests/mdecl_wrapper_tester.py
new file mode 100644
index 0000000..7f89f42
--- /dev/null
+++ b/unittests/mdecl_wrapper_tester.py
@@ -0,0 +1,110 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import pygccxml
+from pygccxml import declarations
+from pyplusplus import module_builder
+
+class tester_t(unittest.TestCase):
+    def _get_files( self ):
+        files = [
+            'enums_to_be_exported.hpp'
+            , 'free_functions_to_be_exported.hpp'
+            , 'free_operators_to_be_exported.hpp'
+            , 'global_variables_to_be_exported.hpp'
+            , 'index_operator_to_be_exported.hpp'
+            , 'member_functions_to_be_exported.hpp'
+        ]
+        return [os.path.join( autoconfig.data_directory, f ) for f in files]
+
+    def test(self):
+        mb = module_builder.module_builder_t( self._get_files()
+                                              , xml_generator_config=autoconfig.xml_generator_config
+                                              , include_paths=[autoconfig.boost.include]
+                                              , undefine_symbols=['__MINGW32__'])
+        classes = [d for d in declarations.make_flatten( mb.global_ns ) if isinstance( d, module_builder.class_t )]
+
+        mdw = module_builder.mdecl_wrapper_t( classes )
+        #check set to property functionality
+        for d in mdw:
+            d.always_expose_using_scope = False
+
+        mdw.always_expose_using_scope = True
+
+        all_true = True
+        for d in mdw:
+            all_true &= d.always_expose_using_scope
+
+        self.assertTrue( all_true )
+
+        #check call method functionality
+        for d in mdw:
+            d.ignore = True
+
+        mdw.include()
+
+        all_false = False
+        for d in mdw:
+            all_true |= d.ignore
+
+        self.assertTrue( not all_false )
+
+        #check for exception:
+        try:
+            mdw.call_policies = None
+            self.fail( "Runtime error has not been raised." )
+        except RuntimeError as err:
+            pass
+
+    def test__getitem__( self ):
+        mb = module_builder.module_builder_t( self._get_files()
+                                              , xml_generator_config=autoconfig.xml_generator_config
+                                              , include_paths=[autoconfig.boost.include]
+                                              , undefine_symbols=['__MINGW32__'])
+
+        public_bases = mb.classes( 'public_base_t' )
+        self.assertTrue( 1 == len( public_bases ) )
+
+        public_bases.include()
+        self.assertTrue( public_bases[0].ignore == False )
+
+        mb.global_ns[ 'public_base_t' ].exclude()
+
+        self.assertTrue( public_bases[0].ignore == True )
+
+    #def test__getitem__2( self ):
+        #mb = module_builder.module_builder_t( self._get_files()
+                                              #, gccxml_path=autoconfig.gccxml.executable
+                                              #, include_paths=[autoconfig.boost.include]
+                                              #, undefine_symbols=['__MINGW32__'] )
+
+        #mem_funs = mb.classes( 'public_base_t' ).member_functions('regular')
+        #print len(mem_funs)
+        ##self.assertTrue( 1 == len( public_bases ) )
+
+        #mem_funs.include()
+        #for mf in mem_funs:
+            #self.assertTrue( mf.ignore == False )
+
+        #mb.global_ns[ 'public_base_t' ]['regular'].exclude()
+
+        #for mf in mem_funs:
+            #self.assertTrue( mf.ignore == False )
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/mem_fun_with_exception_tester.py b/unittests/mem_fun_with_exception_tester.py
new file mode 100644
index 0000000..ecb7493
--- /dev/null
+++ b/unittests/mem_fun_with_exception_tester.py
@@ -0,0 +1,38 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'mem_fun_with_exception'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize( self, mb ):
+        mb.calldefs().create_with_signature = True 
+        
+    def run_tests(self, module):        
+        d = module.data_t()
+        d.do_nothing()
+
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/mem_var_compile_error_bug_tester.py b/unittests/mem_var_compile_error_bug_tester.py
new file mode 100644
index 0000000..9f01bc0
--- /dev/null
+++ b/unittests/mem_var_compile_error_bug_tester.py
@@ -0,0 +1,47 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'mem_var_compile_error_bug'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        opaqueDecls = {
+                'Path': ['reverse'],
+                'RailTracking': ['getPath'],
+                'Track': ['getPath', 'getDefaultPath']
+                }
+
+        mb.class_('Path').include()
+
+        for decl in list(opaqueDecls.items()):
+            cls = mb.class_(decl[0])
+            for methodName in decl[1]:
+                cls.member_function(methodName).call_policies = call_policies.return_value_policy(call_policies.return_opaque_pointer);
+
+    def run_tests(self, module):
+        pass
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/member_functions_tester.py b/unittests/member_functions_tester.py
new file mode 100644
index 0000000..fc47a75
--- /dev/null
+++ b/unittests/member_functions_tester.py
@@ -0,0 +1,150 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'member_functions'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        names = [
+            'protected_protected_derived_t'
+            , 'protected_public_derived_t'
+            , 'protected_base_t'
+            , 'public_derived_t'
+            , 'public_base_t'
+            , 'private_derived_t'
+            , 'private_base_t'
+        ]
+
+        mb.classes( lambda decl: decl.name in names ).always_expose_using_scope = True
+        #will reporoduce bug
+        mb.class_('callable_t').always_expose_using_scope = True
+        mb.BOOST_PYTHON_MAX_ARITY = 1
+        mb.free_function( 'instantiate_mem_fun_environment' ).exclude()
+        
+        env = mb.class_( 'mem_fun_environment_t' )
+        get_value = env.member_function( 'get_value', return_type='int' )
+        get_value.alias = 'get_value_int' 
+        get_value.name = get_value.demangled_name
+        get_value.create_with_signature = True
+        
+        mb.run_query_optimizer()
+        
+        mb.class_('mem_fun_constness_t' ).always_expose_using_scope = True
+        
+        mb.mem_funs().add_override_precall_code( '/*override precall code*/' )
+        mb.mem_funs().add_default_precall_code( '/*default precall code*/' )
+        
+    def create_py_immutable_by_ref( self, module ):
+        class py_immutable_by_ref( module.immutable_by_ref_t ):
+            def __init__( self ):
+                module.immutable_by_ref_t.__init__( self )
+
+            def identity( self, x ):
+                return x*2
+
+        return py_immutable_by_ref()
+
+    def create_test_class_inst(self, class_ ):
+        class tester_impl_t( class_ ):
+            def __init__(self):
+                class_.__init__( self )
+
+            def pure_virtual(self, x):
+                return x + x
+
+            def pure_virtual_overloaded( self, *args ):
+                assert 1 <= len(args) <= 2
+                if 1 == len( args ):
+                    return args[0] + args[0]
+                else:
+                    return args[0] + args[1]
+
+            def pure_virtual_const( self, x ):
+                return x + x
+
+            def pure_virtual_const_overloaded( self, *args ):
+                assert 1 <= len(args) <= 2
+                if 1 == len( args ):
+                    return args[0] + args[0]
+                else:
+                    return args[0] + args[1]
+
+        return tester_impl_t()
+
+    def _test_instance( self, inst, class_defined_in_cpp):
+        self.assertTrue( 23 == inst.regular( 23 ) )
+        self.assertTrue( 9 == inst.regular_overloaded( 3 ) )
+        self.assertTrue( 15 == inst.regular_overloaded( 3, 5 ) )
+
+        self.assertTrue( 23 == inst.regular_const( 23 ) )
+        self.assertTrue( 9 == inst.regular_const_overloaded( 3 ) )
+        self.assertTrue( 15 == inst.regular_const_overloaded( 3, 5 ) )
+
+        self.assertTrue( 23 == inst.virtual_( 23 ) )
+        self.assertTrue( 9 == inst.virtual_overloaded( 3 ) )
+        self.assertTrue( 15 == inst.virtual_overloaded( 3, 5 ) )
+
+        self.assertTrue( 23 == inst.virtual_const( 23 ) )
+        self.assertTrue( 9 == inst.virtual_const_overloaded( 3 ) )
+        self.assertTrue( 15 == inst.virtual_const_overloaded( 3, 5 ) )
+
+        if class_defined_in_cpp:
+            self.assertTrue( 23 == inst.pure_virtual( 23 ) )
+            self.assertTrue( 9 == inst.pure_virtual_overloaded( 3 ) )
+            self.assertTrue( 15 == inst.pure_virtual_overloaded( 3, 5 ) )
+
+            self.assertTrue( 23 == inst.pure_virtual_const( 23 ) )
+            self.assertTrue( 9 == inst.pure_virtual_const_overloaded( 3 ) )
+            self.assertTrue( 15 == inst.pure_virtual_const_overloaded( 3, 5 ) )
+        else:
+            self.assertTrue( 46 == inst.pure_virtual( 23 ) )
+            self.assertTrue( 6 == inst.pure_virtual_overloaded( 3 ) )
+            self.assertTrue( 8 == inst.pure_virtual_overloaded( 3, 5 ) )
+
+            self.assertTrue( 46 == inst.pure_virtual_const( 23 ) )
+            self.assertTrue( 6 == inst.pure_virtual_const_overloaded( 3 ) )
+            self.assertTrue( 8 == inst.pure_virtual_const_overloaded( 3, 5 ) )
+
+    def run_tests(self, module):
+        derived = module.protected_public_derived_t()
+        self._test_instance( derived, True )
+        derived = module.protected_protected_derived_t()
+        self._test_instance( derived, True )
+        derived = self.create_test_class_inst( module.protected_base_t )
+        self._test_instance( derived, False )
+        derived = self.create_test_class_inst( module.public_derived_t )
+        self._test_instance( derived, False )
+        derived = self.create_test_class_inst( module.public_base_t )
+        self._test_instance( derived, False )
+
+        x = self.create_py_immutable_by_ref(module)
+        self.assertTrue( x.identity( '11' ) == '1111' )
+        self.assertTrue( module.immutable_by_ref_t.call_identity(x, '11') == '1111' )
+        
+        env = module.mem_fun_environment_t()
+        env.get_value_int("xxx")
+        
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/member_variables_tester.py b/unittests/member_variables_tester.py
new file mode 100644
index 0000000..904fce0
--- /dev/null
+++ b/unittests/member_variables_tester.py
@@ -0,0 +1,134 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import ctypes
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'member_variables'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.variable( 'prefered_color' ).alias = 'PreferedColor'
+        mb.classes().always_expose_using_scope = True
+        image = mb.class_( 'image_t' )
+        image.var( 'data' ).expose_address = True
+        image.var( 'none_image' ).expose_address = True
+        mb.class_( 'Andy' ).var('userData').expose_address = True
+
+    def change_default_color( self, module ):
+        module.point.default_color = module.point.color.blue
+
+    def change_prefered_color( self, module ):
+        xypoint = module.point()
+        xypoint.PreferedColor = module.point.color.blue
+
+    def set_b( self, bf, value ):
+        bf.b = value
+
+    def run_tests(self, module):
+        sbk = module.status_bits_keeper_t()
+        sb = sbk.status_bits
+        sb.bcr = 2
+        self.assertTrue( sbk.get_sb_bcr() == 2 )
+
+        self.failIfRaisesAny( module.point )
+        xypoint = module.point()
+        self.assertTrue( module.point.instance_count == 1)
+        self.assertTrue( xypoint.instance_count == 1)
+        self.assertTrue( module.point.default_color == module.point.color.red)
+        self.assertTrue( xypoint.default_color == module.point.color.red)
+        self.assertTrue( xypoint.x == -1)
+        self.assertTrue( xypoint.y == 2 )
+        self.assertTrue( xypoint.PreferedColor == xypoint.color.blue )
+        self.assertRaises( Exception, self.change_default_color )
+        self.assertRaises( Exception, self.change_prefered_color )
+
+        bf = module.bit_fields_t()
+        module.set_a( bf, 1 )
+        self.assertTrue( 1 == bf.a )
+        self.assertTrue( bf.b == module.get_b( bf ) )
+        self.failIfNotRaisesAny( lambda: self.set_b( bf, 23 ) )
+
+        tree = module.create_tree()
+        self.assertTrue( tree.parent is None )
+        self.assertTrue( tree.data.value == 0 )
+        self.assertTrue( tree.right is None )
+        self.assertTrue( tree.left )
+        self.assertTrue( tree.left.data.value == 1 )
+
+        tree.right = module.create_tree()
+        self.assertTrue( tree.right.parent is None )
+        self.assertTrue( tree.right.data.value == 0 )
+        self.assertTrue( tree.right.right is None )
+        self.assertTrue( tree.right.left )
+        self.assertTrue( tree.right.left.data.value == 1 )
+
+        mem_var_str = module.mem_var_str_t()
+        mem_var_str.identity( module.mem_var_str_t.class_name )
+
+        image = module.image_t()
+
+        data_type = ctypes.POINTER( ctypes.c_int )
+        data = data_type.from_address( image.data )
+        for j in range(5):
+            self.assertTrue( j == data[j] )
+
+        int_array = ctypes.c_int * 5
+        array = int_array()
+        for i in range( 5 ):
+            array[i] = 2*i
+        image.data = ctypes.addressof(array)
+        data = data_type.from_address( image.data )
+        for j in range(5):
+            self.assertTrue( j*2 == data[j] )
+
+        data_type = ctypes.POINTER( ctypes.c_int )
+        data = data_type.from_address( module.image_t.none_image )
+        self.assertTrue( 1997 == data.contents.value )
+
+        array = module.array_t()
+        self.assertTrue( len( array.ivars ) == 10 )
+
+        ivars = array.ivars
+        del array #testing call policies
+        for i in range(20):
+            for index in range(10):
+                self.assertTrue( ivars[index] == -index )
+
+        array = module.array_t()
+        for index in range( len(array.ivars) ):
+            array.ivars[index] = index * index
+            self.assertTrue( array.get_ivars_item( index ) == index * index )
+
+        #~ import pdb
+        #~ pdb.set_trace()
+
+        self.assertTrue( len( module.array_t.vars ) == 3 )
+        for i in range( len( module.array_t.vars ) ):
+            self.assertTrue( module.array_t.vars[i].value == -9 )
+
+        self.assertTrue( len( module.array_t.vars_nonconst ) == 3 )
+        for i in range( len( module.array_t.vars_nonconst ) ):
+            self.assertTrue( module.array_t.vars_nonconst[i].value == -9 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/module_body_tester.py b/unittests/module_body_tester.py
new file mode 100644
index 0000000..1607aa6
--- /dev/null
+++ b/unittests/module_body_tester.py
@@ -0,0 +1,49 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'module_body'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb):
+        item = mb.class_( 'item_t' )
+        item.include()
+        item.add_declaration_code( "int get11( const mb::item_t& item ){ return 11;}" )
+        item.add_registration_code( 'def( "get11", &get11 )' )
+        item.add_wrapper_code( '//this is wrapper code' )
+
+        mb.add_declaration_code( "int get1(){ return 1;} ")
+        mb.add_declaration_code( "//this is a comment", False )
+        mb.add_registration_code( 'bp::def( "get1", &get1 );' )
+        mb.add_registration_code( '//this is another comment', False )
+
+        mb.build_code_creator( self.EXTENSION_NAME )
+
+        mb.add_constants( version='"0.0.0"')
+
+    def run_tests(self, module):
+        self.assertTrue( 1 == module.get1() )
+        self.assertTrue( 11 == module.item_t().get11() )
+        self.assertTrue( "0.0.0" == module.version )
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/module_properties_tester.py b/unittests/module_properties_tester.py
new file mode 100644
index 0000000..b57968b
--- /dev/null
+++ b/unittests/module_properties_tester.py
@@ -0,0 +1,37 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+from pyplusplus import code_creators 
+from pyplusplus import creators_factory
+
+class tester_t(unittest.TestCase):
+    def __init__(self, *args ):
+        unittest.TestCase.__init__(self, *args)
+   
+    #~ def test_precompiled_header(self):
+        #~ extmodule = module_creator.create( [], 'X' )
+        #~ self.assertTrue( not extmodule.precompiled_header )
+        #~ extmodule.precompiled_header = 'boost/python.hpp'
+        #~ self.assertTrue( isinstance( extmodule.precompiled_header
+                                     #~ , code_creators.precompiled_header_t ) )
+        #~ extmodule.precompiled_header \
+            #~ = code_creators.precompiled_header_t( 'boost/date_time.hpp' )
+        #~ self.assertTrue( isinstance( extmodule.precompiled_header
+                                     #~ , code_creators.precompiled_header_t ) )
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/namespaces_tester.py b/unittests/namespaces_tester.py
new file mode 100644
index 0000000..fe84d34
--- /dev/null
+++ b/unittests/namespaces_tester.py
@@ -0,0 +1,32 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'namespaces'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+    
+    def run_tests(self, module):        
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/no_init_tester.py b/unittests/no_init_tester.py
new file mode 100644
index 0000000..26e9ade
--- /dev/null
+++ b/unittests/no_init_tester.py
@@ -0,0 +1,65 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'no_init'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        cls = mb.class_( 'value_plus_x_t' )
+        cls.add_registration_code( 'bp::register_ptr_to_python< boost::shared_ptr< no_init_ns::value_plus_x_t > >();', False )
+
+    def create_identity_value( self, module, v ):
+        class identity_value_t( module.value_i ):
+            def __init__( self, v ):
+                module.value_i.__init__( self )
+                self.value = v
+
+            def get_value(self):
+                return self.value
+
+        return identity_value_t(v)
+
+    def create_plus_5_value( self, module, v ):
+        class plus_5_value_t( module.value_plus_x_t ):
+            def __init__( self, v ):
+                module.value_plus_x_t.__init__( self, v )
+
+            def get_plus_value(self):
+                print("I am here")
+                return 5
+        return plus_5_value_t( v )
+
+    def run_tests(self, module):
+        identity_value = self.create_identity_value( module, 23 )
+        self.assertTrue( 23 == module.get_value( identity_value ) )
+        self.assertTrue( -1 == module.get_value( None ) )
+        plus_5_value = self.create_plus_5_value( module, 23 )
+        print(plus_5_value.get_value())
+        print(module.get_value( plus_5_value ))
+        self.assertTrue( 28 == module.get_value( plus_5_value ) )
+
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/non_overridable_tester.py b/unittests/non_overridable_tester.py
new file mode 100644
index 0000000..e7b712e
--- /dev/null
+++ b/unittests/non_overridable_tester.py
@@ -0,0 +1,63 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import ctypes
+import unittest
+import fundamental_tester_base
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'non_overridable'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+    
+    def customize( self, mb ):
+        mb.mem_funs( 'string_ref' ).call_policies \
+            = call_policies.return_value_policy( call_policies.copy_non_const_reference )
+        
+        non_overridable_pv_t = mb.class_( 'non_overridable_pv_t' )
+        non_overridable_pv_t.mem_fun( 'void_ptr' ).mark_as_non_overridable( reason='xxx void*' )
+        
+    def create_pv_derived(self, module):
+        class py_pv_t( module.non_overridable_pv_t ):
+            def __init__( self ):
+                module.non_overridable_pv_t.__init__( self )
+            
+            def void_ptr( self ):
+                return ctypes.c_void_p( id(self) )
+        return py_pv_t()
+    
+    def create_v_derived(self, module):
+        class py_v_t( module.non_overridable_v_t ):
+            def __init__( self ):
+                module.non_overridable_v_t.__init__( self )
+            
+            def void_ptr( self ):
+                return ctypes.c_void_p( id(self) )
+        return py_v_t()
+    
+    def run_tests( self, module):
+        x = self.create_pv_derived(module)
+        self.assertRaises( RuntimeError, module.non_overridable_pv_t.test, x )
+
+        y = self.create_v_derived(module)
+        self.assertRaises( ReferenceError, module.non_overridable_v_t.test, y )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/noncopyable_tester.py b/unittests/noncopyable_tester.py
new file mode 100644
index 0000000..13bf531
--- /dev/null
+++ b/unittests/noncopyable_tester.py
@@ -0,0 +1,36 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'noncopyable'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+        
+    def run_tests(self, module):      
+        self.assertTrue( module.a_t.get_a() == 'a' )
+        self.assertTrue( module.b_t.get_b() == 'b' )
+        self.assertTrue( module.c_t.get_c() == 'c' )
+        self.assertTrue( module.d_t.get_d() == 'd' )
+        self.assertTrue( module.dd_t.get_dd() == 'D' )
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/ogre_generate_tester.py b/unittests/ogre_generate_tester.py
new file mode 100644
index 0000000..6ca7d09
--- /dev/null
+++ b/unittests/ogre_generate_tester.py
@@ -0,0 +1,62 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import shutil
+import logging
+import unittest
+import autoconfig
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus import messages
+from pyplusplus import code_creators
+from pyplusplus import creators_factory
+from pyplusplus import module_builder
+from pyplusplus import utils as pypp_utils
+from pyplusplus import function_transformers as ft
+
+class ogre_generate_tester_t(unittest.TestCase):
+    def test(self):
+        module_builder.set_logger_level( logging.CRITICAL )
+        messages.disable( *messages.all_warning_msgs )
+
+        ogre_file = autoconfig.data_directory.replace( 'pyplusplus_dev', 'pygccxml_dev' )
+        ogre_file = parser.create_gccxml_fc( os.path.join( ogre_file, 'ogre.1.7.xml' ) )
+
+        mb = module_builder.module_builder_t(
+                [ ogre_file ]
+                , xml_generator_config=autoconfig.xml_generator_config
+                , indexing_suite_version=2)
+
+        mb.global_ns.exclude()
+        mb.namespace('Ogre').include()
+
+        x = mb.global_ns.decls( lambda d: 'Animation*' in d.name and 'MapIterator' in d.name )
+        for y in x:
+            print(y.name)
+            print(y.partial_name)
+            print(declarations.full_name( y, with_defaults=False ))
+
+        target_dir = os.path.join( autoconfig.build_directory, 'ogre' )
+        #~ if os.path.exists( target_dir ):
+            #~ shutil.rmtree( target_dir )
+        #~ os.mkdir( target_dir )
+
+        mb.build_code_creator( 'Ogre3d' )
+        mb.split_module( target_dir )
+
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(ogre_generate_tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/operators_bug_tester.py b/unittests/operators_bug_tester.py
new file mode 100644
index 0000000..d35be91
--- /dev/null
+++ b/unittests/operators_bug_tester.py
@@ -0,0 +1,48 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'operators_bug'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        mb.classes().redefine_operators = True
+        mb.add_declaration_code( 'const operators_bug::vector operators_bug::vector::one(1);' )
+        tg = code_creators.target_configuration_t( )
+        #tg.boost_python_has_wrapper_held_type = False
+        mb.build_code_creator( self.EXTENSION_NAME, target_configuration=tg )
+        mb.constructors().allow_implicit_conversion = False
+    
+    def run_tests(self, module):     
+        i = module.integral()
+        i.value = 25
+        j = i + i
+        v = module.vector( 2 ) + module.vector.one
+        self.assertTrue( v.x == 3 )
+        
+        call_copy_constructor = module.call_copy_constructor_t( "" )
+        call_copy_constructor2 = module.call_copy_constructor_t( call_copy_constructor )
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/operators_tester.py b/unittests/operators_tester.py
new file mode 100644
index 0000000..e739c13
--- /dev/null
+++ b/unittests/operators_tester.py
@@ -0,0 +1,123 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'operators'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.global_ns.exclude()
+
+        mb.free_function( 'create_randome_rationals' ).include()
+
+        xxx = mb.class_( 'XXX' )
+        xxx.include()
+        xxx_ref = declarations.reference_t( declarations.const_t( declarations.declarated_t( xxx ) ) )
+        oper = mb.global_ns.free_operator( '<<', arg_types=[None, xxx_ref] )
+        oper.include()
+
+        mb.class_( 'YYY' ).include()
+
+        rational = mb.class_('rational<long>')
+        rational.include()
+        rational.alias = "pyrational"
+
+        #Test query api.
+        #artificial declarations come back
+        #rational.operator( '=' )
+        #rational.operator( name='operator=' )
+        #rational.operator( symbol='=' )
+        rational.operators( '=' )
+        rational.operators( name='operator=' )
+        rational.operators( symbol='=' )
+        #artificial declarations come back
+        #rational.member_operator( '=' )
+        #rational.member_operator( name='operator=' )
+        #rational.member_operator( symbol='=' )
+        rational.member_operators( '=' )
+        rational.member_operators( name='operator=' )
+        rational.member_operators( symbol='=' )
+        mb.global_ns.free_operators( '<<' )
+        mb.global_ns.free_operators( name='operator<<' )
+        mb.global_ns.free_operators( symbol='<<' )
+
+        r_assign = rational.calldef( 'assign', recursive=False )
+        r_assign.call_policies = call_policies.return_self()
+
+        foperators = mb.free_operators( lambda decl: 'rational<long>' in decl.decl_string )
+        foperators.include()
+
+        bad_rational = mb.class_('bad_rational' )
+        bad_rational.include()
+        mb.namespace( 'Geometry' ).include()
+        mb.namespace( 'Geometry' ).class_( 'VecOfInts' ).exclude()
+
+        mb.namespace( 'Geometry2' ).include()
+
+    def run_tests(self, module):
+        pyrational = module.pyrational
+        self.assertTrue( pyrational( 28, 7) == 4 )
+        self.assertTrue( pyrational( 28, 7) == pyrational( 4 ) )
+
+        r1 = pyrational( 5, 7 )
+
+        r1 += pyrational( 4, 11 )
+        r2 = pyrational( 5*11 + 7*4, 7*11 )
+        self.assertTrue( r1 == r2 )
+
+        r1 -= pyrational( 5, 7)
+        self.assertTrue( r1 == pyrational( 4, 11) )
+
+        r1 *= 2
+        self.assertTrue( r1 == pyrational( 8, 11) )
+
+        r1 /= 3
+        self.assertTrue( r1 == pyrational( 8, 33) )
+
+        r2 = not r1
+        self.assertTrue( r2 == False )
+
+        self.assertTrue( 0 < r1 )
+
+        r1 = pyrational( 5, 7 )
+        self.assertTrue( r1.assign( 17 ) == pyrational( 17, 1 ) )
+
+        x = module.XXX()
+        print(str( x ))
+
+        y = module.YYY()
+        print(str( y ))
+
+        vec = module.vector_less__int__greater_()
+        ins_cls_2 = module.Class2()
+        vec += ins_cls_2
+
+        ins_cls_1 = module.Class()
+        def tmp():
+            vec += ins_cls_1
+        self.failIfNotRaisesAny( tmp )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/optional_bug_tester.py b/unittests/optional_bug_tester.py
new file mode 100644
index 0000000..118f2ab
--- /dev/null
+++ b/unittests/optional_bug_tester.py
@@ -0,0 +1,32 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'optional_bug'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+    
+    def run_tests(self, module):        
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/optional_tester.py b/unittests/optional_tester.py
new file mode 100644
index 0000000..806ac6c
--- /dev/null
+++ b/unittests/optional_tester.py
@@ -0,0 +1,41 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'optional'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.calldefs().use_default_arguments = False
+
+    def run_tests(self, module):        
+        d = module.data()
+        self.assertTrue( d.m_i == 0 )
+        self.assertTrue( d.m_j == 1 )
+
+        d2 = module.data(0)
+        self.assertTrue( d2.m_i == 0 )
+        self.assertTrue( d2.m_j == 1 )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/overloads_macro_tester.py b/unittests/overloads_macro_tester.py
new file mode 100644
index 0000000..0117a44
--- /dev/null
+++ b/unittests/overloads_macro_tester.py
@@ -0,0 +1,51 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'overloads_macro'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        calc = mb.class_( 'calculator_t' )
+        calc.always_expose_using_scope = True
+        calc.member_functions( 'add' ).set_use_overload_macro( True )
+        add_doubles = calc.member_function( 'add', arg_types=['double', 'double'] )
+        add_doubles.set_use_overload_macro( False )
+
+        mb.free_functions( 'add' ).set_use_overload_macro( True )
+        add_doubles = mb.free_function( 'add', arg_types=['double', 'double'] )
+        add_doubles.set_use_overload_macro( False )
+
+
+    def run_tests(self, module):
+        calc = module.calculator_t()
+        self.assertTrue( 3 == calc.add( 1, 2 ) )
+        self.assertTrue( 9 == calc.add( 3, 2, 3 ) )
+        self.assertTrue( 3 == calc.add( 1.5, 1.5 ) )
+        self.assertTrue( 3 == module.add( 1, 2 ) )
+        self.assertTrue( 9 == module.add( 3, 2, 3 ) )
+        self.assertTrue( 3 == module.add( 1.5, 1.5 ) )
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/override_bug_tester.py b/unittests/override_bug_tester.py
new file mode 100644
index 0000000..ec7caf3
--- /dev/null
+++ b/unittests/override_bug_tester.py
@@ -0,0 +1,77 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import function_transformers as FT
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'override_bug'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.class_("Derived2").member_functions("eval_c").exclude()
+        mb.class_( 'BB' ).include()
+        do_smth = mb.mem_fun( '::override_bug::AA::do_smth' )
+        do_smth.add_transformation( FT.output(0), alias='do_smth_a' )
+        do_smth = mb.mem_fun( '::override_bug::BB::do_smth' )
+        do_smth.add_transformation( FT.output(0), FT.output(1), alias='do_smth_b' )
+        mb.class_( 'XX' ).mem_fun( 'do_smth' ).exclude()
+
+    def run_tests(self, module):
+        class C( module.B ):
+            def __init__( self ):
+                module.B.__init__( self )
+            def foo( self ):
+                return ord( 'c' )
+        self.assertTrue( ord('c') == module.invoke_foo( C() ) )
+
+        class Derived4(module.Derived3):
+            def __init__( self ):
+                module.Derived3.__init__( self )
+            def eval_a(self):
+                return 3
+            def eval_c(self):
+                return 300 # ignored because eval_c excluded
+
+        self.assertTrue( 22223 == module.eval( Derived4() ) )
+
+        bb = module.BB()
+        print(dir( bb ))
+        x = bb.do_smth_b()
+        self.assertTrue( x[0] == x[1] == ord( 'b' ) )
+
+        # Notes:
+        # would return 22222 before any patch, since Derived3 wouldn't have a wrapper
+        # would return 22123 with my original "ignore" handling and a list
+        # instead of a set, because eval_c would be excluded naively
+        # would return 22323 if ignore flag wouldn't be considered
+        # would return ????3 (1s in some locations and 2s in others because of
+        # hashing) if set wouldn't be replaced by a list
+        # would return 11113 if protected virtual methods wouldn't be included
+
+        b = module.B()
+        self.assertTrue( 7 == b.foo( 3,4))
+        
+        d = module.D()
+        self.assertTrue( 12 == d.foo(3,4) )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/overriden_virtual_functions_bug_tester.py b/unittests/overriden_virtual_functions_bug_tester.py
new file mode 100644
index 0000000..747e620
--- /dev/null
+++ b/unittests/overriden_virtual_functions_bug_tester.py
@@ -0,0 +1,40 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'overriden_virtual_functions_bug'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb):        
+        checkbox = mb.class_('checkbox_t')
+        button_based = mb.class_( 'button_based_t')
+        
+        redefined = checkbox.redefined_funcs()
+        self.assertTrue( 1 == len(redefined) )
+        self.assertTrue( redefined[0].parent is button_based )
+        
+    def run_tests(self, module):        
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/particle_universe_generate_tester.py b/unittests/particle_universe_generate_tester.py
new file mode 100644
index 0000000..503a9a3
--- /dev/null
+++ b/unittests/particle_universe_generate_tester.py
@@ -0,0 +1,58 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import shutil
+import logging
+import unittest
+import autoconfig
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus import messages
+from pyplusplus import code_creators
+from pyplusplus import creators_factory
+from pyplusplus import module_builder
+from pyplusplus import utils as pypp_utils
+from pyplusplus import function_transformers as ft
+
+class ogre_generate_tester_t(unittest.TestCase):
+    def test(self):
+        module_builder.set_logger_level( logging.CRITICAL )
+        messages.disable( *messages.all_warning_msgs )
+
+        xml_file = parser.create_gccxml_fc( os.path.join( autoconfig.data_directory, 'particleuniverse.xml' ) )
+
+        mb = module_builder.module_builder_t(
+                [ xml_file ]
+                , xml_generator_config=autoconfig.xml_generator_config
+                , indexing_suite_version=2)
+
+        mb.global_ns.exclude()
+        mb.namespace('ParticleUniverse').include()
+        mb.namespace('Ogre').include()
+        mb.namespace('Ogre').classes().already_exposed = True
+
+        target_dir = os.path.join( autoconfig.build_directory, 'particle_universe' )
+        #~ if os.path.exists( target_dir ):
+            #~ shutil.rmtree( target_dir )
+        #~ os.mkdir( target_dir )
+        psp = mb.class_( '::ParticleUniverse::ParticleScriptParser' )
+        declarations.print_declarations( psp )
+        mb.build_code_creator( 'PU' )
+        mb.split_module( target_dir )
+
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(ogre_generate_tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/pointer_as_arg_tester.py b/unittests/pointer_as_arg_tester.py
new file mode 100644
index 0000000..1117e18
--- /dev/null
+++ b/unittests/pointer_as_arg_tester.py
@@ -0,0 +1,34 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'pointer_as_arg'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+        
+    def run_tests(self, module):        
+        d = module.data()
+        self.assertTrue( module.test_for_null( d ) )
+        self.assertTrue( not module.test_for_null() )
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/pointer_to_function_as_argument.py b/unittests/pointer_to_function_as_argument.py
new file mode 100644
index 0000000..e14e723
--- /dev/null
+++ b/unittests/pointer_to_function_as_argument.py
@@ -0,0 +1,33 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+#this is compilation test
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'pointer_to_function_as_argument'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+        
+    def run_tests(self, module):        
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/precompiled_header_tester.py b/unittests/precompiled_header_tester.py
new file mode 100644
index 0000000..c3e43f6
--- /dev/null
+++ b/unittests/precompiled_header_tester.py
@@ -0,0 +1,47 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'precompiled_header'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        #add precompiled header
+        mb.build_code_creator( self.EXTENSION_NAME )
+        stdafx = code_creators.include_t( 'stdafx.h' )
+        mb.code_creator.adopt_creator( stdafx, 0 )
+
+        f = open( os.path.join( autoconfig.build_dir, 'stdafx.h' ), 'w+' )
+        f.write( '//this should be the first header file\n' )
+        f.close()
+
+    def run_tests(self, module):
+        lines = open( os.path.join( autoconfig.build_dir, 'precompiled_header.cpp' ) ).readlines()
+        lines = [l for l in lines if l.startswith( '#include' )]
+        self.assertTrue( '#include "stdafx.h"' in lines[0] )
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/private_assign_tester.py b/unittests/private_assign_tester.py
new file mode 100644
index 0000000..d8ffa1d
--- /dev/null
+++ b/unittests/private_assign_tester.py
@@ -0,0 +1,34 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'private_assign'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+        
+    def run_tests(self, module):        
+        cont = module.container_t()
+        self.assertTrue( cont.m_item.m_value == 23 )
+        cont.m_item.m_value = 11
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/properties_tester.py b/unittests/properties_tester.py
new file mode 100644
index 0000000..4e7654c
--- /dev/null
+++ b/unittests/properties_tester.py
@@ -0,0 +1,58 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'properties'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        cls = mb.class_( 'properties_tester_t' )
+        count = cls.member_function( 'count' )
+        set_count = cls.member_function( 'set_count' )
+        count.exclude()
+        set_count.exclude()
+        cls.add_property( "count", count, set_count )
+        cls.add_property( "count_ro", count )
+
+        get_nested = cls.member_function( 'get_nested' )
+        get_nested.call_policies = call_policies.return_internal_reference()
+        set_nested = cls.member_function( 'set_nested' )
+        cls.add_property( "nested_", get_nested, set_nested )
+
+        cls.add_property( "nested_ro", get_nested )
+
+        cls = mb.class_( 'properties_finder_tester_t' )
+        cls.add_properties( exclude_accessors=True )
+        self.assertTrue( 6 == len( cls.properties ) )
+        self.assertTrue( cls.name in [pr.name for pr in cls.properties] )
+
+    def run_tests(self, module):
+        pt = module.properties_tester_t()
+        self.assertTrue( pt.count == 0 )
+        pt.count = 21
+        self.assertTrue( pt.m_count == 21 )
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/protected_bug_tester.py b/unittests/protected_bug_tester.py
new file mode 100644
index 0000000..0de1916
--- /dev/null
+++ b/unittests/protected_bug_tester.py
@@ -0,0 +1,47 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'protected_bug'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        access_type_matcher = declarations.access_type_matcher_t
+        mb.global_ns.include()
+        mb.classes( access_type_matcher('protected') ).exclude()
+        mb.vars( access_type_matcher('protected') ).exclude()
+        mb.class_( lambda d: d.name.startswith( 'buffered_value' ) ).exclude()
+        for cls in mb.classes():
+            if declarations.has_destructor(cls) \
+               and cls.calldef(lambda d: d.name.startswith('~'), recursive=False).access_type == 'protected':
+                print('protected destructor: ', str( cls ))
+                cls.constructors().exclude()
+                cls.noncopyable =  True
+            
+    def run_tests( self, module):
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/protected_tester.py b/unittests/protected_tester.py
new file mode 100644
index 0000000..ba7a4f8
--- /dev/null
+++ b/unittests/protected_tester.py
@@ -0,0 +1,83 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import function_transformers as ft
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'protected'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        def tt( type_ ):
+            type_ = declarations.remove_reference( type_ )
+            type_ = declarations.remove_const( type_ )
+            return declarations.reference_t( type_ )
+        mb.classes().always_expose_using_scope = True
+        mb.calldefs().create_with_signature = True
+        mb.class_( 'Callback' ).add_wrapper_code( '//hhhh' )
+        execute = mb.class_( 'Callback' ).mem_fun( 'execute' )
+        execute.add_transformation( ft.modify_type(0, tt ) )
+        #execute.exclude()
+
+    def create_protected_s_derived_no_override( self, module ):
+        class derived(module.protected_v_t):
+            def __init__( self ):
+                module.protected_v_t.__init__( self )
+        return derived()
+
+    def create_protected_s_derived( self, module ):
+        class derived(module.protected_v_t):
+            def __init__( self ):
+                module.protected_v_t.__init__( self )
+                
+            def get_i(self):
+                return 20
+                #todo: fix it
+                #return super( derived, self ).get_i() * 2
+                
+        return derived()
+
+
+    def run_tests(self, module):        
+        protected = module.protected_t()
+        self.assertTrue( protected.get_1() == 1 )
+
+        protected_s = module.protected_s_t()
+        self.assertTrue( protected_s.get_2() == 2 )
+        self.assertTrue( module.protected_s_t.get_2() == 2 )
+
+        protected_v = module.protected_v_t()
+        self.assertTrue( protected_v.get_i() == 10 )
+
+        protected_v_no_override = self.create_protected_s_derived_no_override( module )
+        self.assertTrue( protected_v_no_override.get_i() == 10 )
+
+        protected_v_override = self.create_protected_s_derived( module )
+        self.assertTrue( protected_v_override.get_i() == 20 )
+
+        protected_v_d = module.protected_v_derived_t()
+        self.assertTrue( protected_v_d.get_i() == 10 )
+
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/recursive_tester.py b/unittests/recursive_tester.py
new file mode 100644
index 0000000..3a92b93
--- /dev/null
+++ b/unittests/recursive_tester.py
@@ -0,0 +1,53 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'recursive'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        matcher = ~declarations.namespace_matcher_t()
+        matcher = matcher & declarations.regex_matcher_t( '.*skip.*' )
+
+        decls = mb.decls( matcher )
+        decls.ignore = True
+        
+        mb.build_code_creator( self.EXTENSION_NAME )
+
+        matcher = declarations.match_declaration_t( name='skip_a' )        
+        found = code_creators.creator_finder.find_by_declaration( matcher
+                                                                  , mb.code_creator.creators )
+        self.assertTrue( not found, "'skip_a' declaration should not be exported" )
+        
+        matcher = declarations.match_declaration_t( name='skip_b' )        
+        found = code_creators.creator_finder.find_by_declaration( matcher
+                                                                  , mb.code_creator.creators )
+        self.assertTrue( not found, "'skip_b' declaration should not be exported" )                                                          
+       
+    def run_tests(self, module):  
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/refee_refer_tester.py b/unittests/refee_refer_tester.py
new file mode 100644
index 0000000..c29f208
--- /dev/null
+++ b/unittests/refee_refer_tester.py
@@ -0,0 +1,37 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'refee_refer'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def run_tests(self, module):
+        refee = module.refee_t();
+        refee.i = 19888
+
+        refer = module.make_refer( refee )
+        self.assertTrue( refer.get_refee().i == 19888 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/regression1_tester.py b/unittests/regression1_tester.py
new file mode 100644
index 0000000..74f43ef
--- /dev/null
+++ b/unittests/regression1_tester.py
@@ -0,0 +1,63 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import module_builder
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'regression1'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize( self, mb ):
+        set_updater = mb.calldef( 'set_updater' )
+        set_updater.call_policies = module_builder.call_policies.with_custodian_and_ward( 1, 2 )
+   
+    def create_other_updater(self, module):
+        class other_updater( module.updater_i ):
+            def __init__( self ):
+                module.updater_i.__init__( self )
+            
+            def update_by_ref( self, d ):
+                d.a = -1
+                
+            def update_by_ptr( self, d ):
+                d.a = -101
+                
+        return other_updater()
+        
+    def run_tests( self, module):
+        update_holder = module.updater_holder()
+        updater = module.some_updater()
+        update_holder.set_updater( updater )
+        update_holder.update_by_ref()
+        self.assertTrue( 10 == update_holder.get_data().a )
+        update_holder.update_by_ptr()
+        self.assertTrue( 101 == update_holder.get_data().a )
+
+        other_updater = self.create_other_updater( module )
+        update_holder.set_updater( other_updater )
+        update_holder.update_by_ref()
+        self.assertTrue( -1 == update_holder.get_data().a )
+        update_holder.update_by_ptr()
+        self.assertTrue( -101 == update_holder.get_data().a )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/regression2_tester.py b/unittests/regression2_tester.py
new file mode 100644
index 0000000..c6750fa
--- /dev/null
+++ b/unittests/regression2_tester.py
@@ -0,0 +1,40 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'regression2'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize( self, mb ):
+        matcher = ~declarations.namespace_matcher_t()
+        matcher = matcher & declarations.declaration_matcher_t( name='get_a' )
+        decls = mb.decls( matcher )
+        decls.ignore = True
+    
+    def run_tests(self, module):        
+        x_inst = module.x()
+        self.failIf( hasattr( x_inst, 'get_a' ) )
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/regression3_tester.py b/unittests/regression3_tester.py
new file mode 100644
index 0000000..f8b5884
--- /dev/null
+++ b/unittests/regression3_tester.py
@@ -0,0 +1,59 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators 
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'regression3'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+        
+    def create_python_final(self, class_ ):
+        class tester_impl_t( class_ ):
+            def __init__(self):
+                class_.__init__( self )
+                self.value = 21
+                
+            def get_value(self):
+                return self.value
+            
+            def set_value( self, i ):
+                self.value = i
+                
+        return tester_impl_t()
+
+    def run_tests(self, module):        
+        final_inst = module.final()
+        final_inst.set_value( -2 )
+        self.assertTrue( module.get_value( final_inst ) == -2 )
+        self.assertTrue( final_inst.get_value() == -2 )
+        
+        inst = self.create_python_final( module.middle )
+        self.assertTrue( module.get_value( inst ) == 21 )
+        self.assertTrue( inst.get_value() == 21 )
+        inst.set_value( -2 )
+        self.assertTrue( module.get_value( inst ) == -2 )
+        self.assertTrue( inst.get_value() == -2 )
+
+
+                
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/return_auto_ptr_tester.py b/unittests/return_auto_ptr_tester.py
new file mode 100644
index 0000000..58123bb
--- /dev/null
+++ b/unittests/return_auto_ptr_tester.py
@@ -0,0 +1,61 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+from pyplusplus import messages
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'return_auto_ptr'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+   
+    def customize( self, mb ):
+        r_input = mb.class_( 'r_input_t' )
+        r_input.held_type = 'std::auto_ptr< %s >' % r_input.decl_string
+   
+    def create_py_input( self, module, rows, cols ):
+        class py_input_t( module.generic_input_t ):
+            def __init__( self, rows, cols ):
+                module.generic_input_t.__init__( self )
+                self.rows = rows
+                self.cols = cols
+            
+            def create_r_input( self ):
+                return module.r_input_t( self.rows, self.cols )
+
+            def create_r_input_shared( self ):
+                return module.r_input_t( self.rows, self.cols )
+
+        return py_input_t(rows, cols)
+        
+    def run_tests( self, module):
+        a = self.create_py_input( module, 3, 7 )
+        c = a.create_r_input()
+        self.assertTrue( c.rows() == 3 and c.cols() == 7 )
+        b = module.process_input(a)
+        self.assertTrue( b.rows() == 3 and b.cols() == 7 )
+        c = a.create_r_input_shared()
+        self.assertTrue( c.rows() == 3 and c.cols() == 7 )
+        b = module.process_input_shared(a)
+        self.assertTrue( b.rows() == 3 and b.cols() == 7 )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/return_ref_to_ptr_tester.py b/unittests/return_ref_to_ptr_tester.py
new file mode 100644
index 0000000..01ba760
--- /dev/null
+++ b/unittests/return_ref_to_ptr_tester.py
@@ -0,0 +1,37 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'return_ref_to_ptr'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb ):
+        mb.class_('numbers_t').operator('[]').call_policies = call_policies.return_internal_reference()
+
+    def run_tests(self, module):
+        numbers = module.numbers_t()
+        n = numbers[1]
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/sconstruct b/unittests/sconstruct
new file mode 100644
index 0000000..e178b93
--- /dev/null
+++ b/unittests/sconstruct
@@ -0,0 +1,44 @@
+import os
+import sys
+
+vars = Variables()
+
+vars.Add( BoolVariable( 'use_msvc71', 'use msvc71 compiler', False ) )
+
+env = Environment(variables=vars)
+
+if 'win32' in sys.platform:
+    if os.path.exists( r'E:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib' ):
+        env.Append( LIBPATH=[ r'E:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib'
+                             , r'E:\Program Files\Microsoft Visual Studio 9.0\VC\lib'] )
+        env.Append( CPPPATH=[r"E:\Program Files\Microsoft SDKs\Windows\v6.0A\Include"
+                            , r"E:\Program Files\Microsoft Visual Studio 9.0\VC\include"])
+
+    env.AppendUnique( CCFLAGS=[ r"/MD",r"/EHsc",r"/GR",r"/Zc:wchar_t",r"/Zc:forScope" ] )
+    env.AppendUnique( LINKFLAGS=[r"/MAP:${TARGET.base}.map", r"/MAPINFO:EXPORTS"] )
+
+    if env[ 'use_msvc71' ]:
+        env['MSVS'] = {'VERSION': '7.1'}
+        env['MSVS_VERSION'] = '7.1'
+        Tool('msvc')(env)
+
+
+env.AppendUnique( CPPPATH=['#data'] )
+
+scripts = [ 'enums'
+            , 'opaque'
+            , 'include_algorithm'
+            , 'anonymous'
+            , 'variables'
+            , 'varargs'
+            , 'templates'
+            , 'circular_references'
+            , 'function_ptr_as_variable'
+            , 'user_code'
+            , 'char_ptr_as_binary_data' ]
+
+for s in scripts:
+    SConscript( 'data/ctypes/%s/sconscript' % s
+                , variant_dir='data/ctypes/%s/binaries' % s
+                , duplicate=0
+                , exports=["env"] )
diff --git a/unittests/selection_bug_tester.py b/unittests/selection_bug_tester.py
new file mode 100644
index 0000000..c09b6cf
--- /dev/null
+++ b/unittests/selection_bug_tester.py
@@ -0,0 +1,39 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'selection_bug'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        mb.class_( 'A' ).include()
+        mb.class_( 'B' ).include()
+        
+        #~ mb.member_functions(lambda decl:decl.virtuality == "virtual").include()
+        #~ mb.member_functions(lambda decl:decl.virtuality != "virtual").exclude()
+        mb.mem_funs( lambda decl: decl.virtuality == "not virtual" ).exclude()
+    def run_tests(self, module):        
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/smart_pointers_tester.py b/unittests/smart_pointers_tester.py
new file mode 100644
index 0000000..f94438e
--- /dev/null
+++ b/unittests/smart_pointers_tester.py
@@ -0,0 +1,120 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+from pyplusplus import messages
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'smart_pointers'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        base = mb.class_( 'base' )
+        shared_ptrs = mb.decls( lambda decl: decl.name.startswith( 'shared_ptr<' ) )
+        shared_ptrs.disable_warnings( messages.W1040 )
+        mb.variable( 'buffer' ).apply_smart_ptr_wa = True
+        mb.variable( 'const_buffer' ).apply_smart_ptr_wa = True
+
+
+        A = mb.class_('A' )
+        A.held_type = 'std::auto_ptr< %s >' % A.decl_string
+        B = mb.class_( 'B' )
+        B.constructors().exclude()
+        B.add_fake_constructors( mb.free_function( 'createB' ) )
+
+
+    def create_py_derived( self, module ):
+        class py_derived_t( module.base ):
+            def __init__( self ):
+                module.base.__init__( self )
+
+            def get_some_value( self ):
+                return 28
+
+        return py_derived_t()
+
+    def run_tests( self, module):
+        da = module.create_auto()
+        py_derived = self.create_py_derived( module )
+
+        self.assertTrue( 11 == da.value )
+        ds = module.create_shared()
+        self.assertTrue( 11 == ds.value )
+
+        self.assertTrue( 11 == module.ref_auto(da) )
+        self.assertTrue( 11 == module.ref_shared(ds) )
+
+        #why? because in this case held type could not be set
+        #self.assertTrue( 11 == module.ref_shared(py_derived) )
+
+        self.assertTrue( 11 == module.val_auto(da) )
+        self.assertTrue( 11 == module.val_shared(ds) )
+
+        da = module.create_auto()
+
+        self.assertTrue( 11 == module.const_ref_auto(da) )
+        self.assertTrue( 11 == module.const_ref_shared(ds) )
+
+        #TODO: find out why this fails
+        #self.assertTrue( 19 == module.ref_auto_base_value(da) )
+        #self.assertTrue( 19 == module.ref_shared_base_value(ds) )
+
+        da = module.create_auto()
+
+        self.assertTrue( 19 == module.const_ref_auto_base_value(da) )
+        self.assertTrue( 19 == module.const_ref_shared_base_value(ds) )
+        self.assertTrue( 19 == module.const_ref_shared_base_value(py_derived) )
+
+        da = module.create_auto()
+
+        self.assertTrue( 19 == module.val_auto_base_value(da) )
+        self.assertTrue( 19 == module.val_shared_base_value(ds) )
+        self.assertTrue( 19 == module.val_shared_base_value(py_derived) )
+
+        da = module.create_auto()
+
+        self.assertTrue( 23 == module.val_auto_some_value(da) )
+        self.assertTrue( 28 == module.val_shared_some_value(py_derived) )
+
+        da = module.create_auto()
+
+        self.assertTrue( 23 == module.const_ref_auto_some_value(da) )
+        self.assertTrue( 28 == module.const_ref_shared_some_value(py_derived) )
+
+        holder1 = module.shared_data_buffer_holder_t()
+        self.assertTrue( holder1.buffer.size == 0 )
+
+        holder2 = module.shared_data_buffer_holder_t()
+        holder2.buffer.size = 2
+
+        holder1.buffer = holder2.buffer
+        self.assertTrue( holder1.buffer.size == 2 )
+        holder1.buffer.size = 3
+        self.assertTrue( holder2.buffer.size == 3 )
+
+        a = module.A( 23 )
+        b = module.B( 21, a )
+
+        self.assertTrue( b.get_a_value() == 23 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/special_operators_tester.py b/unittests/special_operators_tester.py
new file mode 100644
index 0000000..c5118f8
--- /dev/null
+++ b/unittests/special_operators_tester.py
@@ -0,0 +1,59 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'special_operators'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+    
+    def create_python_call( self, module ):
+        class python_call_t( module.base_call_t ):
+            def __init__( self ):
+                module.base_call_t.__init__( self )
+            def __call__( self, x, y ):
+                return x * y
+        return python_call_t()
+    
+    def run_tests( self, module):
+        opers = module.operators_t()
+        self.assertTrue( 28 == int( opers ) )
+        self.assertTrue( 3.5 == float( opers ) )
+        self.assertTrue( "hello world" == str( opers ) )
+        to_string = module.to_string_t()
+        try:
+            self.assertTrue( "hello world" == str(to_string) )
+        except:
+            self.assertTrue( "hello world" == to_string.as__scope_std_scope_string() )
+        to_wstring = module.to_wstring_t()
+        self.assertTrue( "hello world" == str( to_wstring ) )
+        call = module.call_t()
+        self.assertTrue( 7 == call( 2, 5 ) )
+        self.assertTrue( 3.5 == call( 3.5 ) )
+        python_call = self.create_python_call( module )
+        self.assertTrue( 12 == module.virtual_call( python_call, 3, 4 ) )
+
+        derived_call = module.derive_call_t()
+        self.assertTrue( 7 == module.virtual_call( derived_call, 3, 4 ) )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/split_module_bug_tester.py b/unittests/split_module_bug_tester.py
new file mode 100644
index 0000000..2bd0518
--- /dev/null
+++ b/unittests/split_module_bug_tester.py
@@ -0,0 +1,55 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import fundamental_tester_base
+
+from pyplusplus import module_builder
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'split_module_bug'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=2
+            , *args )
+        self.files = []
+
+    def customize( self, mb ):
+        opaque_cp = call_policies.return_value_policy( call_policies.return_opaque_pointer )
+        mb.calldefs( 'get_opaque' ).call_policies = opaque_cp
+        mb.calldefs( 'get_opaque2' ).call_policies = opaque_cp
+
+    def generate_source_files( self, mb ):
+        files = mb.split_module( autoconfig.build_dir, on_unused_file_found=lambda fpath: fpath )
+        self.files = [fname for fname in files if fname.endswith( 'cpp' )]
+        self.files.append( os.path.join( autoconfig.data_directory
+                                         , self.EXTENSION_NAME + '_to_be_exported.cpp' ) )
+        print(self.files)
+
+
+    def get_source_files( self ):
+        return self.files
+
+    def run_tests(self, module):
+        module.get_opaque()
+        module.get_opaque2()
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/split_module_indexing_suite_bug_tester.py b/unittests/split_module_indexing_suite_bug_tester.py
new file mode 100644
index 0000000..2c8750c
--- /dev/null
+++ b/unittests/split_module_indexing_suite_bug_tester.py
@@ -0,0 +1,56 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+import fundamental_tester_base
+
+from pyplusplus import module_builder
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'split_module_indexing_suite_bug'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=2
+            , *args )
+        self.files = []
+
+    def customize( self, mb ):
+        #~ find out what does happen here
+        #string = mb.class_( lambda cls: cls.partial_name.startswith( 'basic_string<' )
+        #                                and 'wchar_t' not in cls.partial_name )
+        #string.alias = 'string'
+        pass
+        
+    def generate_source_files( self, mb ):
+        files = mb.split_module( autoconfig.build_dir, on_unused_file_found=lambda fpath: fpath )
+        self.files = [fname for fname in files if fname.endswith( 'cpp' )]
+        #~ self.files.append( os.path.join( autoconfig.data_directory
+                                         #~ , self.EXTENSION_NAME + '_to_be_exported.cpp' ) )
+        print(self.files)
+
+
+    def get_source_files( self ):
+        return self.files
+
+    def run_tests(self, module):
+        pass
+        
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/split_module_tester.py b/unittests/split_module_tester.py
new file mode 100644
index 0000000..5734f8a
--- /dev/null
+++ b/unittests/split_module_tester.py
@@ -0,0 +1,82 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+from pyplusplus import utils
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'split_module'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=2
+            , *args )
+        self.files = []
+
+    def customize( self, mb ):
+        mb.global_ns.exclude()
+
+        nm_t = declarations.remove_declarated( mb.global_ns.typedef( 'naive_matrix_t' ).type ) 
+        nm_t.include()
+
+        exposed_db = utils.exposed_decls_db_t()
+        
+        exposed_db.register_decls( mb.global_ns, [] )
+        exposed_db.save( autoconfig.build_dir )
+        mb.register_module_dependency( autoconfig.build_dir )
+        
+        sm = mb.global_ns.namespace( name='split_module' )
+        sm.include()
+        sm.class_( 'op_struct' ).exclude()
+
+        mb.free_function( 'check_overload' ).add_declaration_code( '//hello check_overload' )
+        mb.free_function( 'get_opaque' ).add_declaration_code( '//hello get_opaque' )
+        
+        mb.calldefs( 'check_overload' ).use_overload_macro = True
+        mb.calldefs( 'get_opaque' ).call_policies \
+          = call_policies.return_value_policy( call_policies.return_opaque_pointer )
+
+        mb.class_( 'op_struct' ).exclude()
+        item = mb.class_( 'item_t' )
+        item.add_declaration_code( '//hello world' )
+        nested = item.class_( 'nested_t' )
+        nested.add_declaration_code( '//hello nested decl' )
+        nested.add_registration_code( '//hello nested reg', False )
+        mb.free_fun( 'create_empty_mapping' ).include()
+
+    def generate_source_files( self, mb ):
+        files = mb.split_module( autoconfig.build_dir, on_unused_file_found=lambda fpath: fpath )
+        self.files = [fname for fname in files if fname.endswith( 'cpp' )]
+        print(self.files)
+
+    def get_source_files( self ):
+        return self.files
+
+    def run_tests(self, module):
+        module.get_opaque()
+        item = module.item_t()
+        item.get_opaque()
+        module.check_overload()
+        item.check_overload()
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/statics_tester.py b/unittests/statics_tester.py
new file mode 100644
index 0000000..d49e0b6
--- /dev/null
+++ b/unittests/statics_tester.py
@@ -0,0 +1,37 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'statics'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+       
+    def run_tests( self, module):
+        self.assertTrue( module.data.instances_count() == 0 )
+        self.assertTrue( module.data_instances_count() == 0 )
+        d = module.data()
+        self.assertTrue( module.data.instances_count() == 1 )
+        self.assertTrue( module.data_instances_count() == 1 )
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/std_pair_tester.py b/unittests/std_pair_tester.py
new file mode 100644
index 0000000..179a91a
--- /dev/null
+++ b/unittests/std_pair_tester.py
@@ -0,0 +1,35 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'std_pair'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.class_( 'pair< int, int >' ).include()
+
+    def run_tests( self, module):
+        pass
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/templates_tester.py b/unittests/templates_tester.py
new file mode 100644
index 0000000..12b6380
--- /dev/null
+++ b/unittests/templates_tester.py
@@ -0,0 +1,46 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'templates'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        mb.global_ns.exclude()
+        gcd = mb.free_functions( 'gcd' )[0]
+        gcd.include()
+        c = mb.class_('C')
+        c.include()
+        for f in [gcd, c.mem_fun( 'get_value' )]:
+            f.alias = f.name
+            try:
+                f.name = f.demangled_name
+            except:
+                pass
+            #f.create_with_signature = True
+            
+    def run_tests(self, module):        
+        pass
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/temporary_variable_tester.py b/unittests/temporary_variable_tester.py
new file mode 100644
index 0000000..206ebd3
--- /dev/null
+++ b/unittests/temporary_variable_tester.py
@@ -0,0 +1,78 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators 
+from pyplusplus import module_builder
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'temporary_variable'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb):
+        functions = mb.calldefs( lambda decl: not decl.call_policies 
+                                             and 'name' in decl.alias )
+        functions.call_policies \
+            = module_builder.call_policies.return_value_policy( module_builder.call_policies.copy_non_const_reference )
+
+    def _create_derived_from_named_item(self, extmodule):
+        class apple_t( extmodule.named_item_t ):
+            def __init__( self ):
+                extmodule.named_item_t.__init__( self )
+            def name( self ): #this function will be never called
+                return "apple"
+        return apple_t()
+    
+    def _create_derived_from_pure_virtual(self, extmodule):
+        class python_pure_virtual_t( extmodule.pure_virtual_t ):
+            def __init__( self ):
+                extmodule.pure_virtual_t.__init__( self )
+            def name( self ): #this function will be never called
+                return "name"
+            def name_ref( self ): #this function will be never called
+                return "name_ref"
+        return python_pure_virtual_t()
+
+    def _create_derived_from_virtual(self, extmodule):
+        class python_virtual_t( extmodule.virtual_t ):
+            def __init__( self ):
+                extmodule.virtual_t.__init__( self )
+            def name( self ): #this function will be never called
+                return "name"
+            def name_ref( self ): #this function will be never called
+                return "name_ref"
+        return python_virtual_t()
+        
+    def run_tests(self, extmodule):   
+        apple = self._create_derived_from_named_item( extmodule )
+        self.assertTrue( extmodule.get_name( apple ) == 'no name' )
+        pv = self._create_derived_from_pure_virtual( extmodule )
+
+        self.failIfNotRaisesAny( extmodule.get_name, pv )
+        self.failIfNotRaisesAny( extmodule.get_name_ref, pv )
+        
+        virtual = self._create_derived_from_virtual( extmodule )
+        self.assertTrue( extmodule.get_name( virtual ) == 'no name' )
+        self.assertTrue( extmodule.get_name_ref( virtual ) == 'no name' )
+        
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/test_all.py b/unittests/test_all.py
new file mode 100644
index 0000000..623cfe1
--- /dev/null
+++ b/unittests/test_all.py
@@ -0,0 +1,373 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+from __future__ import print_function
+import os
+import re
+import sys
+import time
+import shutil
+import subprocess
+
+import autoconfig
+
+import classes_tester
+import abstract_classes_tester
+import algorithms_tester
+import module_body_tester
+import enums_tester
+import free_functions_tester
+import fundamental_tester_base
+import unnamed_enums_tester
+import namespaces_tester
+import classes_tester
+import global_variables_tester
+import member_variables_tester
+import member_functions_tester
+import call_policies_tester
+import pointer_to_function_as_argument
+import operators_tester
+import abstract_tester
+import statics_tester
+import regression1_tester
+import casting_tester
+import finalizables_tester
+import free_operators_tester
+import operators_bug_tester
+import smart_pointers_tester
+import special_operators_tester
+import module_properties_tester
+import internal_classes_tester
+import temporary_variable_tester
+import recursive_tester
+import class_order_tester
+import class_order2_tester
+import class_order3_tester
+import class_order4_tester
+import noncopyable_tester
+import regression2_tester
+import regression3_tester
+import optional_tester
+import index_operator_tester
+import dwrapper_printer_tester
+import mdecl_wrapper_tester
+import user_text_tester
+import free_function_ignore_bug_tester
+import optional_bug_tester
+import pointer_as_arg_tester
+import factory_tester
+import private_assign_tester
+import protected_tester
+import protected_bug_tester
+import indexing_suites_tester
+import indexing_suites2_tester
+import hierarchy3_tester
+import vector3_tester
+import default_args_tester
+import unnamed_classes_tester
+import cppexceptions_tester
+import no_init_tester
+import overloads_macro_tester
+import split_module_tester
+import properties_tester
+import arrays_bug_tester
+import convenience_tester
+import inner_class_bug_tester
+import declarations_order_bug_tester
+import function_transformations_tester
+import throw_tester
+import duplicate_aliases_tester
+import non_overridable_tester
+import exposed_decls_db_tester
+import already_exposed_tester
+import bpmodule_tester
+import custom_smart_ptr_classes_tester
+import custom_string_tester
+import final_classes_tester
+import templates_tester
+import deepcopy_tester
+import override_bug_tester
+import mem_fun_with_exception_tester
+import overriden_virtual_functions_bug_tester
+import split_module_bug_tester
+import tnfox_bugs_tester
+import transfer_ownership_old_tester
+import transfer_ownership_tester
+import unicode_bug
+import include_exclude_bug_tester
+import vector_with_shared_data_tester
+import constructors_bug_tester
+import precompiled_header_tester
+import balanced_files_tester
+import ft_inout_tester
+import split_module_indexing_suite_bug_tester
+import inner_tmpl_class_tester
+import bug_covariant_returns_tester
+import embeded_tester
+import unions_tester
+import cp_return_addressof_tester
+import make_constructor_tester
+import return_auto_ptr_tester
+import ctypes_tester
+import refee_refer_tester
+import indexing_suites_v2_bug_tester
+import virtual_inheritance_tester
+import indexing_suite_v1_tester
+import derive_from_deque_tester
+import std_pair_tester
+import mem_var_compile_error_bug_tester
+import return_ref_to_ptr_tester
+import function_adaptor_tester
+import selection_bug_tester
+#import ogre_generate_tester
+import ft_from_address_tester
+import indexing_suites2_support_tester
+import ft_input_static_matrix_tester
+import ft_output_static_matrix_tester
+import ft_inout_static_matrix_tester
+import ft_inout_static_array_tester
+import inner_base_class_tester
+import indexing_suite2_shared_ptr_value_traits_tester
+
+testers = [
+    algorithms_tester
+    , module_body_tester
+    , enums_tester
+    , free_functions_tester
+    , unnamed_enums_tester
+    , namespaces_tester
+    , classes_tester
+    , global_variables_tester
+    , member_variables_tester
+    , member_functions_tester
+    , call_policies_tester
+    , pointer_to_function_as_argument
+    , operators_tester
+    , abstract_tester
+    , statics_tester
+    , regression1_tester
+    , casting_tester
+    , finalizables_tester
+    , free_operators_tester
+    , operators_bug_tester
+    , smart_pointers_tester
+    , special_operators_tester
+    , module_properties_tester
+    , internal_classes_tester
+    , temporary_variable_tester
+    , recursive_tester
+    , class_order_tester
+    , noncopyable_tester
+    , regression2_tester
+    , regression3_tester
+    , class_order2_tester
+    , class_order3_tester
+    , class_order4_tester
+    , optional_tester
+    , index_operator_tester
+    , dwrapper_printer_tester
+    , mdecl_wrapper_tester
+    , user_text_tester
+    , free_function_ignore_bug_tester
+    , optional_bug_tester
+    , pointer_as_arg_tester
+    , factory_tester
+    , private_assign_tester
+    , protected_tester
+    , indexing_suites_tester
+    , hierarchy3_tester
+    , vector3_tester
+    , default_args_tester
+    , abstract_classes_tester
+    , indexing_suites2_tester
+    , unnamed_classes_tester
+    , cppexceptions_tester
+    , no_init_tester
+    , overloads_macro_tester
+    , split_module_tester
+    , properties_tester
+    , arrays_bug_tester
+    , convenience_tester
+    , inner_class_bug_tester
+    , declarations_order_bug_tester
+    , function_transformations_tester
+    , throw_tester
+    , duplicate_aliases_tester
+    , non_overridable_tester
+    , exposed_decls_db_tester
+    , already_exposed_tester
+    , bpmodule_tester
+    , custom_smart_ptr_classes_tester
+    , custom_string_tester
+    , final_classes_tester
+    , mem_fun_with_exception_tester
+    , overriden_virtual_functions_bug_tester
+    , split_module_bug_tester
+    , tnfox_bugs_tester
+    , transfer_ownership_old_tester
+#    , transfer_ownership_tester
+    , unicode_bug
+    , include_exclude_bug_tester
+    , vector_with_shared_data_tester
+    , templates_tester
+    , constructors_bug_tester
+    , precompiled_header_tester
+    , balanced_files_tester
+    , ft_inout_tester
+    , deepcopy_tester
+    , override_bug_tester
+    , split_module_indexing_suite_bug_tester
+    , inner_tmpl_class_tester
+    , bug_covariant_returns_tester
+    , embeded_tester
+    , unions_tester
+    , cp_return_addressof_tester
+    , make_constructor_tester
+    , return_auto_ptr_tester
+    , protected_bug_tester
+#    , ctypes_tester
+    , refee_refer_tester
+    , indexing_suites_v2_bug_tester
+#    , virtual_inheritance_tester
+    , indexing_suite_v1_tester
+    , derive_from_deque_tester
+    , std_pair_tester
+    , mem_var_compile_error_bug_tester
+    , return_ref_to_ptr_tester
+    , function_adaptor_tester
+    , selection_bug_tester
+    , ft_from_address_tester
+    , indexing_suites2_support_tester
+    , ft_input_static_matrix_tester
+    , ft_output_static_matrix_tester
+    , ft_inout_static_matrix_tester
+    , ft_inout_static_array_tester
+    , inner_base_class_tester
+#    , indexing_suite2_shared_ptr_value_traits_tester
+#    , ogre_generate_tester too much time
+]
+
+class module_runner_t( object ):
+    bottom_line_re = re.compile( 'Ran\s(?P<num_of_tests>\d+)\stests?\sin\s(?P<seconds>\d+\.?\d*)s')
+    test_name_re = re.compile( '(?P<name>.+ \(.+\))\s\.\.\.' )
+    failed_test_re = re.compile( 'FAIL\:\s(?P<name>.+ \(.+\))' )
+    error_test_re = re.compile( 'ERROR\:\s(?P<name>.+ \(.+\))' )
+
+    def __init__( self, module ):
+        self.module = module
+        self.output = None
+
+        self.test_results = {} #test name : result
+        self.num_of_tests = 0
+        self.total_run_time = 0
+        self.exit_status = None
+
+    def __call__( self ):
+        print(os.linesep, '<*> start %s tester' % os.path.basename( self.module.__file__))
+
+        test_file_name = self.module.__file__
+        if test_file_name.endswith( 'pyc' ):
+            test_file_name = test_file_name[:-1]
+        try:
+            self.output = self.__check_output( test_file_name )
+            self.exit_status = 0
+        except subprocess.CalledProcessError as e:
+            self.output = e.output
+            self.exit_status = e.returncode
+        print(self.output)
+        self.__update()
+        print('<***> finish %s tester' % os.path.basename( self.module.__file__))
+
+    def __create_unique_name( self, name ):
+        if '__main__.' in name:
+            name = name.replace( '__main__',
+                                 os.path.splitext( os.path.basename( self.module.__file__) )[0] )
+        return name
+
+    def __update( self ):
+        match_found = self.bottom_line_re.search( self.output )
+        if match_found:
+            self.num_of_tests += int( match_found.group( 'num_of_tests' ) )
+            self.total_run_time += float( match_found.group( 'seconds' ) )
+
+        uname = self.__create_unique_name
+        for match_found in self.test_name_re.finditer( self.output ):
+            self.test_results[ uname( match_found.group( 'name' ) ) ] = 'ok'
+
+        for match_found in self.failed_test_re.finditer( self.output ):
+            hint = ''
+            if hasattr( self.module, 'EXPECTED_FAILURE_INFO' ):
+                hint = " - EXPECTED. " + self.module.EXPECTED_FAILURE_INFO
+            self.test_results[ uname( match_found.group( 'name' ) ) ] = 'FAIL' + hint
+
+        for match_found in self.error_test_re.finditer( self.output ):
+            hint = ''
+            if hasattr( self.module, 'EXPECTED_ERROR_INFO' ):
+                hint = " - EXPECTED. " + self.module.EXPECTED_ERROR_INFO
+            self.test_results[ uname( match_found.group( 'name' ) ) ] = 'ERROR' + hint
+
+        assert( self.num_of_tests == len( self.test_results ) )
+
+    def __check_output( self, test_file_name ):
+        # Python 2.6 doesn't have subprocess.check_output, use Popen instead
+        cmd = [sys.executable, test_file_name]
+        subproc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+        result = ''.join(l.decode() for l in subproc.stdout.readlines())
+        if subproc.returncode:
+            ex = subprocess.CalledProcessError(subproc.returncode, cmd)
+            ex.output = result
+            raise ex
+        return result
+
+
+class process_tester_runner_t( object ):
+
+    def __init__( self, modules ):
+        self.__m_runners = [ module_runner_t(m) for m in modules ]
+        self.__total_time = 0
+
+    def __dump_statistics( self ):
+        num_of_tests = 0
+        test_results = {}
+        total_tests_only_run_time = 0
+        exit_status = 0
+        for stat in self.__m_runners:
+            num_of_tests += stat.num_of_tests
+            total_tests_only_run_time += stat.total_run_time
+            test_results.update( stat.test_results )
+            exit_status = max( exit_status, stat.exit_status )
+        test_failed = len( [result for result in list(test_results.values()) if result != 'ok'] )
+
+        for name, result in test_results.items():
+            if result != 'ok':
+                print('! ', end=' ')
+            print(name, ' - ', result)
+        print('----------------------------------------------------------------------')
+        print('Final exit status: ', exit_status)
+        print('Ran %d test in %fs. Multi-processing overhead: %fs.' \
+               % ( num_of_tests, self.__total_time, self.__total_time - total_tests_only_run_time ))
+        print(' ')
+        if test_failed:
+            print(os.linesep.join(['FAILED  (failures=%d)' % test_failed, 'False']))
+        else:
+            print('ok')
+        return exit_status
+
+    def __call__( self ):
+        start_time = time.time()
+        for index, tester in enumerate( self.__m_runners ):
+            print('\n\n{[<@>]}running tests completion: %d%%' % int( index * 100.0 // len(self.__m_runners) ))
+            print('--------------------------------^^^^^\n\n')
+            if os.path.exists( os.path.join( autoconfig.build_directory, 'indexing_suite' ) ):
+                shutil.rmtree( os.path.join( autoconfig.build_directory, 'indexing_suite' ) )
+            tester()
+        self.__total_time = time.time() - start_time
+        return self.__dump_statistics()
+
+
+if __name__ == "__main__":
+    runner = process_tester_runner_t( testers )
+    sys.exit(runner())
+
diff --git a/unittests/throw_tester.py b/unittests/throw_tester.py
new file mode 100644
index 0000000..41d1a80
--- /dev/null
+++ b/unittests/throw_tester.py
@@ -0,0 +1,34 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'throw'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+       
+    def run_tests( self, module):
+        #check compilation
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/tnfox_bugs_tester.py b/unittests/tnfox_bugs_tester.py
new file mode 100644
index 0000000..8b7fa92
--- /dev/null
+++ b/unittests/tnfox_bugs_tester.py
@@ -0,0 +1,33 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+#this is compilation test
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'tnfox_bugs'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+        
+    def run_tests(self, module):        
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/transfer_ownership_old_tester.py b/unittests/transfer_ownership_old_tester.py
new file mode 100644
index 0000000..f811f23
--- /dev/null
+++ b/unittests/transfer_ownership_old_tester.py
@@ -0,0 +1,101 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+from pyplusplus.module_builder import call_policies
+from pyplusplus import function_transformers as ft
+
+
+impl_conv_code = \
+"""
+boost::python::implicitly_convertible< std::auto_ptr< %(from)s >, std::auto_ptr< %(to)s > >();
+"""
+
+register_sptr = \
+"""
+boost::python::register_ptr_to_python< %s >();
+"""
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'transfer_ownership_old'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        event_clss = mb.classes( lambda cls: cls.name in ( 'event_t', 'do_nothing_t' ) )
+        for cls in event_clss:
+            cls.exposed_class_type = cls.EXPOSED_CLASS_TYPE.WRAPPER            
+            cls.held_type = 'std::auto_ptr< %s >' % cls.wrapper_alias
+            cls.add_registration_code( register_sptr % 'std::auto_ptr< %s >' % cls.decl_string, False )
+            cls.add_registration_code( impl_conv_code % { 'from' : cls.wrapper_alias
+                                                          , 'to' : cls.decl_string }
+                                       , False)
+            for base in cls.recursive_bases:
+                if base.access_type == 'public':
+                    cls.add_registration_code( #from class to its base
+                        impl_conv_code % { 'from' : cls.decl_string
+                                           , 'to' : base.related_class.decl_string }
+                        , False)
+                        
+                    cls.add_registration_code( #from wrapper to clas base class
+                        impl_conv_code % { 'from' : cls.wrapper_alias
+                                            , 'to' : base.related_class.decl_string }
+                        , False)
+
+        simulator = mb.class_( 'simulator_t' )
+        simulator.mem_fun( 'get_event' ).call_policies \
+            = call_policies.return_internal_reference()
+        schedule = mb.mem_fun( 'schedule' )
+        schedule.add_transformation( ft.transfer_ownership(0), alias='schedule' )
+        
+    def run_tests( self, module):
+        class py_event_t( module.event_t ):
+            def __init__( self, container ):
+                module.event_t.__init__( self )
+                self.container = container
+                
+            def notify( self ):
+                print('notify')
+                self.container.append( 1 )
+                print('1 was append')
+                
+        print('test started')
+        notify_data = []
+        simulator = module.simulator_t()
+        print('simulator created')
+        event = py_event_t( notify_data )
+        print('py_event_t created: ', id( event ))
+        simulator.schedule( event )        
+        print('event was shceduled')
+        print('event refcount: ', sys.getrefcount( event ))
+        print('simulator refcount: ', sys.getrefcount( simulator ))
+        #~ del event
+        print('event was deleted')
+        event = simulator.get_event()
+        print('event was restored via saved reference in simulator: ', id( event ))
+        print('event refcount: ', sys.getrefcount( simulator.get_event() ))
+        print('call event.notify(): ', simulator.get_event().notify())
+        print('call simulator.run()')
+        simulator.run()
+        self.assertTrue( notify_data[0] == 1 )
+        
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/transfer_ownership_tester.py b/unittests/transfer_ownership_tester.py
new file mode 100644
index 0000000..fbfee9b
--- /dev/null
+++ b/unittests/transfer_ownership_tester.py
@@ -0,0 +1,106 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+from pyplusplus import function_transformers as ft
+from pyplusplus.module_builder import call_policies
+
+decref_code = \
+"""if (this->m_pyobj) {
+    //Py_DECREF(this->m_pyobj);
+    this->m_pyobj = 0;
+}"""
+
+incref_code = \
+"""
+        if( !this->m_pyobj) {
+            this->m_pyobj = boost::python::detail::wrapper_base_::get_owner(*this);
+            Py_INCREF(this->m_pyobj);
+        }
+"""
+
+impl_conv_code = \
+"""
+boost::python::implicitly_convertible< std::auto_ptr< %(from)s >, std::auto_ptr< %(to)s > >();
+"""
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'transfer_ownership'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        event_clss = mb.classes( lambda cls: cls.name in ( 'event_t', 'do_nothing_t' ) )
+        for cls in event_clss:
+            cls.add_destructor_code( decref_code )
+            cls.add_wrapper_code( 'PyObject* m_pyobj;' )
+            cls.set_constructors_body( 'm_pyobj=0;' )
+            cls.mem_fun( 'notify' ).add_override_precall_code( incref_code )
+            cls.mem_fun( 'notify' ).add_default_precall_code( incref_code )
+
+            cls.held_type = 'std::auto_ptr< %s >' % cls.wrapper_alias
+            cls.add_registration_code( impl_conv_code % { 'from' : cls.wrapper_alias
+                                                          , 'to' : cls.decl_string }
+                                       , False)
+            for base in cls.recursive_bases:
+                if base.access_type == 'public':
+                    cls.add_registration_code( #from class to its base
+                        impl_conv_code % { 'from' : cls.decl_string
+                                           , 'to' : base.related_class.decl_string }
+                        , False)
+
+                    cls.add_registration_code( #from wrapper to clas base class
+                        impl_conv_code % { 'from' : cls.wrapper_alias
+                                            , 'to' : base.related_class.decl_string }
+                        , False)
+
+        schedule = mb.mem_fun( 'schedule' )
+        schedule.add_transformation( ft.transfer_ownership(0), alias='schedule' )
+        simulator = mb.class_( 'simulator_t' )
+        simulator.mem_fun( 'get_event' ).call_policies \
+            = call_policies.return_internal_reference()
+
+    def run_tests( self, module):
+        class py_event_t( module.event_t ):
+            def __init__( self, container ):
+                module.event_t.__init__( self )
+                self.container = container
+
+            def notify( self ):
+                self.container.append( 1 )
+
+        print('1')
+        notify_data = []
+        simulator = module.simulator_t()
+        print('2')
+        event = py_event_t( notify_data )
+        print('3')
+        simulator.schedule( event )
+        print('refcount: ', sys.getrefcount( event ))
+        print('4')
+        del event
+        print('5')
+        simulator.run()
+        print('6')
+        self.assertTrue( notify_data[0] == 1 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/unicode_bug.py b/unittests/unicode_bug.py
new file mode 100644
index 0000000..0a61d4e
--- /dev/null
+++ b/unittests/unicode_bug.py
@@ -0,0 +1,37 @@
+# -*- coding: UTF-8 -*-
+
+import os
+import unittest
+import autoconfig
+import pygccxml
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus import code_creators
+from pyplusplus import creators_factory
+from pyplusplus import module_builder
+from pyplusplus import utils as pypp_utils
+from pyplusplus import function_transformers as ft
+
+
+class tester_t( unittest.TestCase ):
+    def test(self):
+        mb = module_builder.module_builder_t(
+                        [ module_builder.create_text_fc( 'struct x{};' ) ]
+                        , xml_generator_config=autoconfig.xml_generator_config
+                        , encoding='UTF-8')
+
+        mb.build_code_creator( module_name='unicode_bug' )
+        mb.code_creator.license = "//абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
+        mb.write_module( os.path.join( autoconfig.build_dir, 'unicode_bug.cpp' ) )
+
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/unions_tester.py b/unittests/unions_tester.py
new file mode 100644
index 0000000..da200e5
--- /dev/null
+++ b/unittests/unions_tester.py
@@ -0,0 +1,59 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import ctypes
+import unittest
+import fundamental_tester_base
+
+class actual_data_t( ctypes.Union ):
+    _fields_ = [( "i", ctypes.c_int ), ( 'd', ctypes.c_double )]
+
+#this is compilation test
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'unions'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize(self, mb):
+        mb.add_declaration_code('extern "C"{ int mmm( int i, int j ){ return i + j; } }' )
+
+    def run_tests(self, module):
+        obj = module.data_t()
+        actual_data = actual_data_t.from_address( obj.data )
+        obj.set_d( 4.0 )
+        self.assertTrue( actual_data.d == 4.0 )
+        obj.set_i( 1977 )
+        self.assertTrue( actual_data.i == 1977 )
+        actual_data.i = 18
+        self.assertTrue( obj.get_i() == 18 )
+        actual_data.d = 12.12
+        self.assertTrue( obj.get_d() == 12.12 )
+
+        obj2 = module.data2_t()
+        obj2.set_d( 4.0 )
+        self.assertTrue( obj2.d == 4.0 )
+        obj2.set_i( 1977 )
+        self.assertTrue( obj2.i == 1977 )
+
+        if 'nt' != os.name:
+            mdll = ctypes.cdll.LoadLibrary( module.__file__ )
+            self.assertTrue( 4 == mdll.mmm( 1, 3 ) )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/unnamed_classes_tester.py b/unittests/unnamed_classes_tester.py
new file mode 100644
index 0000000..656e571
--- /dev/null
+++ b/unittests/unnamed_classes_tester.py
@@ -0,0 +1,35 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import code_creators
+
+class unnamed_enums_tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'unnamed_classes'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , unnamed_enums_tester_t.EXTENSION_NAME
+            , *args )
+
+    def run_tests(self, module):
+        color = module.color()
+        r,g,b,a = color.r, color.g, color.b, color.a
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(unnamed_enums_tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/unnamed_enums_tester.py b/unittests/unnamed_enums_tester.py
new file mode 100644
index 0000000..18e3e58
--- /dev/null
+++ b/unittests/unnamed_enums_tester.py
@@ -0,0 +1,40 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators 
+
+class unnamed_enums_tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'unnamed_enums'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , unnamed_enums_tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        enum_user_t = mb.class_( 'enum_user_t' )
+        for do_smth in enum_user_t.mem_funs( lambda x: x.name.startswith( 'do_smth' ) ):
+            do_smth.arguments[0].default_value \
+                = 'unnamed_enums::enum_holder_t::' + do_smth.arguments[0].default_value
+
+    def run_tests(self, module):        
+        self.assertTrue( module.OK == 1 )
+        self.assertTrue( module.CANCEL == 0 )
+
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(unnamed_enums_tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/user_text_tester.py b/unittests/user_text_tester.py
new file mode 100644
index 0000000..0ccaa25
--- /dev/null
+++ b/unittests/user_text_tester.py
@@ -0,0 +1,42 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'user_text'
+    
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__( 
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+                                                                    
+    def customize(self, mb ):
+        data = mb.class_( 'data' )
+        class_code = "/*class code*/"
+        data.add_registration_code( class_code, False )
+        wrapper_code = "/*wrapper code*/" 
+        data.add_wrapper_code( wrapper_code )
+        mb.build_code_creator( self.EXTENSION_NAME )
+        code = mb.code_creator.create()
+        self.assertTrue( ( class_code in code ) and ( wrapper_code in code ) )
+        
+    def run_tests(self, module):        
+        pass
+    
+def create_suite():
+    suite = unittest.TestSuite()    
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
\ No newline at end of file
diff --git a/unittests/vector3_tester.py b/unittests/vector3_tester.py
new file mode 100644
index 0000000..2d32afe
--- /dev/null
+++ b/unittests/vector3_tester.py
@@ -0,0 +1,49 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+from pyplusplus import code_creators
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'vector3'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        vec3 = mb.class_( 'Vector3' )
+        vec3.always_expose_using_scope = True
+        #mb.calldefs().use_keywords = False
+        vec3.add_registration_code( 'add_property( "val", &vector3::Vector3::val)' )
+        vec3.add_registration_code( 'add_property( "x", &vector3::Vector3::x)' )
+        vec3.add_registration_code( 'add_property( "y", &vector3::Vector3::y)' )
+        vec3.add_registration_code( 'add_property( "z", &vector3::Vector3::z)' )
+        mb.operator( lambda o: o.symbol == '<<' and 'Vector3' in o.decl_string ).include()
+
+    def run_tests( self, module):
+        v3 = module.Vector3()
+        self.assertTrue( v3.ZERO == v3.do_smth() )
+        #test copy constructor
+        self.assertTrue( module.Vector3(v3.ZERO) == v3.do_smth() )
+
+        x = module.Vector3( 1,2,3)
+        self.assertTrue( '( 1,2,3 )' == str(x) )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/vector_with_shared_data_tester.py b/unittests/vector_with_shared_data_tester.py
new file mode 100644
index 0000000..3a2a734
--- /dev/null
+++ b/unittests/vector_with_shared_data_tester.py
@@ -0,0 +1,59 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import autoconfig
+from pyplusplus import utils
+import fundamental_tester_base
+from pygccxml import declarations
+from pyplusplus import module_builder
+from pyplusplus.module_builder import call_policies
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'vector_with_shared_data'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , indexing_suite_version=2
+            , *args )
+        self.files = []
+
+    def customize( self, mb ):
+        mb.global_ns.exclude()
+        mb.namespace( 'samples' ).include()
+        do_smth = mb.free_fun( 'do_smth' )
+        v = declarations.remove_declarated( do_smth.return_type )
+        v.indexing_suite.disable_method( 'sort' )
+        v.indexing_suite.disable_method( 'count' )
+        v.indexing_suite.disable_method( 'index' )
+        v.indexing_suite.disable_method( 'contains' )
+        
+    def generate_source_files( self, mb ):
+        files = mb.split_module( autoconfig.build_dir, on_unused_file_found=lambda fpath: fpath )
+        self.files = [fname for fname in files if fname.endswith( 'cpp' )]
+        self.files.append( os.path.join( autoconfig.data_directory
+                                         , self.EXTENSION_NAME + '_to_be_exported.cpp' ) )
+
+    def get_source_files( self ):
+        return self.files
+
+    def run_tests(self, module):
+        x = module.do_smth()
+        self.assertTrue( len(x) == 2 )
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()
diff --git a/unittests/virtual_inheritance_tester.py b/unittests/virtual_inheritance_tester.py
new file mode 100644
index 0000000..d0e329e
--- /dev/null
+++ b/unittests/virtual_inheritance_tester.py
@@ -0,0 +1,37 @@
+# Copyright 2004-2008 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import unittest
+import fundamental_tester_base
+
+EXPECTED_ERROR_INFO = "Boost.Python doesn't support virtual inheritance"
+
+class tester_t(fundamental_tester_base.fundamental_tester_base_t):
+    EXTENSION_NAME = 'virtual_inheritance'
+
+    def __init__( self, *args ):
+        fundamental_tester_base.fundamental_tester_base_t.__init__(
+            self
+            , tester_t.EXTENSION_NAME
+            , *args )
+
+    def customize( self, mb ):
+        mb.classes().always_expose_using_scope = True
+
+    def run_tests( self, module):
+        pass
+
+def create_suite():
+    suite = unittest.TestSuite()
+    suite.addTest( unittest.makeSuite(tester_t))
+    return suite
+
+def run_suite():
+    unittest.TextTestRunner(verbosity=2).run( create_suite() )
+
+if __name__ == "__main__":
+    run_suite()

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



More information about the debian-science-commits mailing list