diff mbox series

[2/6] ir: Introduce internal pretty representation for anonymous classes

Message ID 878sam7msi.fsf@redhat.com
State Committed
Headers show
Series Fix subtle ABI artifact representation issues | expand

Commit Message

Dodji Seketeli Nov. 27, 2020, 5:05 p.m. UTC
Hello,

There are two views for internal pretty representation of anonymous
classes.

1/ When we look at the anonymous class itself, we use its 'flat
representation' i.e:

    'class {int blah; char bleh;}'

2/ When we look at a pointer or a reference to the anonymous class we
use its generic anonymous internal name, i.e:

   '__anonymous_struct__*'

As a general rule, libabigail always use the keyword 'class' to prefix
the name of classes for internal purposes, independent from the fact
that the type is a struct or a class.  That is a pre-requisite to be
able to canonicalize classes and structs together.  In other words, if
a class and a struct are structurally equal, they are going to be
considered equivalent by the canonicalization process.

Currently however, in the view 1/ of the pretty representation of
anonymous classes, a struct and a class will have different
representations.  For instance, and empty anonymous struct would be
represented as 'struct {}', whereas an empty anonymous class would be
represented as 'class {}'.  This prevents these two be considered
equivalent by the canonicalization process.  This leads to spurious
change reports later down the road.

In the view 2/ we have a similar but different problem: the qualified
names of the anonymous classes are not taken into account when
representing pointer or references to said anonymous classes.  Only
their unqualified generic anonymous internal names are taken into
account in the representation.  This leads to pointers/references to
anonymous classes being wrongly considered equivalent even when they
belong to different namespaces.

This patch corrects the issues related to both views 1/ and 2/.  It
should make libabigail correctly consider some anonymous classes as
equivalent (view 1) and correctly consider pointers/references to
anonymous classes as different when they belong to different
namespaces (view 2).

A number of reference tests are adjusted accordingly.

	* include/abg-fwd.h (get_class_or_union_flat_representation):
	Introduce an "internal" parameter.
	* src/abg-ir.cc (get_class_or_union_flat_representation):
	Introduce an "internal" parameter.  In the flat representation of
	a class for internal purposes, always use the prefix "class" even
	if this is a struct.
	(get_type_name): To build an internal name for a
	reference or pointer to an anonymous type, consider the namespace
	name of said type.
	(equals): In the overload for decl_base, take the namespace name
	of anonymous decls into account when comparing them.
	({var_decl, union_decl}::get_pretty_representation): Adjust calls
	to get_class_or_union_flat_representation to pass a proper
	"internal" argument.
	* src/abg-default-reporter.cc (default_reporter::report): Adjust
	the call to get_class_or_union_flat_representation to pass an
	"internal" argument set to 'false'.
	* tests/data/test-annotate/libtest23.so.abi: Adjust.
	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
	* tests/data/test-read-dwarf/libtest23.so.abi: Likewise.
	* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
	* tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
	* tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
---
 include/abg-fwd.h                             |    3 +
 src/abg-default-reporter.cc                   |    2 +
 src/abg-ir.cc                                 |   40 +-
 tests/data/test-annotate/libtest23.so.abi     |  140 +-
 .../test-read-dwarf/PR22122-libftdc.so.abi    | 5745 ++++++-------
 tests/data/test-read-dwarf/libtest23.so.abi   |  138 +-
 .../test-read-dwarf/test-libandroid.so.abi    |  196 +-
 .../test-read-dwarf/test10-pr18818-gcc.so.abi |  226 +-
 .../test-read-dwarf/test11-pr18828.so.abi     | 4550 +++++------
 .../test-read-dwarf/test12-pr18844.so.abi     | 7086 ++++++++---------
 .../test9-pr18818-clang.so.abi                |  340 +-
 11 files changed, 9294 insertions(+), 9172 deletions(-)
diff mbox series

Patch

diff --git a/include/abg-fwd.h b/include/abg-fwd.h
index 46a5748c..ca4f85fc 100644
--- a/include/abg-fwd.h
+++ b/include/abg-fwd.h
@@ -996,18 +996,21 @@  string
 get_class_or_union_flat_representation(const class_or_union& cou,
 				       const string& indent,
 				       bool one_line,
+				       bool internal,
 				       bool qualified_name = true);
 
 string
 get_class_or_union_flat_representation(const class_or_union* cou,
 				       const string& indent,
 				       bool one_line,
+				       bool internal,
 				       bool qualified_name = true);
 
 string
 get_class_or_union_flat_representation(const class_or_union_sptr& cou,
 				       const string& indent,
 				       bool one_line,
+				       bool internal,
 				       bool qualified_name = true);
 
 bool
diff --git a/src/abg-default-reporter.cc b/src/abg-default-reporter.cc
index dc48f4b8..5d4acaa6 100644
--- a/src/abg-default-reporter.cc
+++ b/src/abg-default-reporter.cc
@@ -1409,11 +1409,13 @@  default_reporter::report(const union_diff& d, ostream& out,
       out << indent << "type changed from:\n"
 	  << get_class_or_union_flat_representation(first, indent + "  ",
 						    /*one_line=*/true,
+						    /*internal=*/false,
 						    /*qualified_names=*/false)
 	  << "\n"
 	  << indent << "to:\n"
 	  << get_class_or_union_flat_representation(second, indent + "  ",
 						    /*one_line=*/true,
+						    /*internal=*/false,
 						    /*qualified_names=*/false)
 	  << "\n";
     }
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index ddca7d25..5198686e 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -4121,7 +4121,8 @@  equals(const decl_base& l, const decl_base& r, change_kind* k)
       && l.get_is_anonymous()
       && !l.get_has_anonymous_parent()
       && r.get_is_anonymous()
-      && !r.get_has_anonymous_parent())
+      && !r.get_has_anonymous_parent()
+      && (l.get_qualified_parent_name() == r.get_qualified_parent_name()))
     // Both decls are anonymous and their scope are *NOT* anonymous.
     // So we consider the decls to have equivalent names (both
     // anonymous, remember).  We are still in the fast path here.
@@ -7201,7 +7202,17 @@  get_type_name(const type_base* t, bool qualified, bool internal)
   // name for internal purpose.  This to allow them to be compared
   // among themselves during type canonicalization.
   if (internal && d->get_is_anonymous())
-    return get_generic_anonymous_internal_type_name(d);
+    {
+      string r;
+      if (qualified)
+	{
+	  r = d->get_qualified_parent_name();
+	  if (!r.empty())
+	    r += "::";
+	}
+      r += get_generic_anonymous_internal_type_name(d);
+      return t->get_environment()->intern(r);
+    }
 
   if (qualified)
     return d->get_qualified_name(internal);
@@ -7728,6 +7739,7 @@  string
 get_class_or_union_flat_representation(const class_or_union& cou,
 				       const string& indent,
 				       bool one_line,
+				       bool internal,
 				       bool qualified_names)
 {
   string repr;
@@ -7736,7 +7748,7 @@  get_class_or_union_flat_representation(const class_or_union& cou,
   if (class_decl* clazz = is_class_type(&cou))
     {
       repr = indent;
-      if (clazz->is_struct())
+      if (!internal && clazz->is_struct())
 	repr += "struct";
       else
 	repr += "class";
@@ -7776,19 +7788,19 @@  get_class_or_union_flat_representation(const class_or_union& cou,
 	repr +=
 	  get_class_or_union_flat_representation
 	  (anonymous_data_member_to_class_or_union(*dm),
-	   real_indent, one_line, qualified_names);
+	   real_indent, one_line, internal, qualified_names);
       else
 	{
 	  if (one_line)
 	    {
 	      if (dm != dmems.begin())
 		repr += real_indent;
-	      repr += (*dm)->get_pretty_representation(/*internal=*/false,
+	      repr += (*dm)->get_pretty_representation(internal,
 						       qualified_names);
 	    }
 	  else
 	    repr +=
-	      real_indent+ (*dm)->get_pretty_representation(/*internal=*/false,
+	      real_indent+ (*dm)->get_pretty_representation(internal,
 							    qualified_names);
 	}
       repr += ";";
@@ -7822,11 +7834,12 @@  string
 get_class_or_union_flat_representation(const class_or_union* cou,
 				       const string& indent,
 				       bool one_line,
+				       bool internal,
 				       bool qualified_names)
 {
   if (cou)
     return get_class_or_union_flat_representation(*cou, indent, one_line,
-						  qualified_names);
+						  internal, qualified_names);
   return "";
 }
 
@@ -7850,10 +7863,12 @@  string
 get_class_or_union_flat_representation(const class_or_union_sptr& cou,
 				       const string& indent,
 				       bool one_line,
+				       bool internal,
 				       bool qualified_names)
 {return get_class_or_union_flat_representation(cou.get(),
 					       indent,
 					       one_line,
+					       internal,
 					       qualified_names);}
 
 /// By looking at the language of the TU a given ABI artifact belongs
@@ -16629,13 +16644,13 @@  var_decl::get_pretty_representation(bool internal, bool qualified_name) const
 	  result +=
 	    get_class_or_union_flat_representation
 	    (is_class_or_union_type(get_type()),
-	     "", /*one_line=*/true);
+	     "", /*one_line=*/true, internal);
 	}
       else if (data_member_has_anonymous_type(this))
 	{
 	  result += get_class_or_union_flat_representation
 	    (is_class_or_union_type(get_type()),
-	     "", /*one_line=*/true);
+	     "", /*one_line=*/true, internal);
 	  result += " ";
 	  if (member_of_anonymous_class || !qualified_name)
 	    // It doesn't make sense to name the member of an
@@ -20295,7 +20310,9 @@  class_decl::get_pretty_representation(bool internal,
   // if an anonymous class is named by a typedef, then consider that
   // it has a name, which is the typedef name.
   if (get_is_anonymous())
-    return get_class_or_union_flat_representation(this, "",/*one_line=*/true);
+    return get_class_or_union_flat_representation(this, "",
+						  /*one_line=*/true,
+						  internal);
 
   string result = cl;
   if (qualified_name)
@@ -22061,7 +22078,8 @@  union_decl::get_pretty_representation(bool internal,
   string repr;
   if (get_is_anonymous())
     repr = get_class_or_union_flat_representation(this, "",
-						  /*one_line=*/true);
+						  /*one_line=*/true,
+						  internal);
   else
     {
       repr = "union ";
diff --git a/tests/data/test-annotate/libtest23.so.abi b/tests/data/test-annotate/libtest23.so.abi
index 64554677..edfa60c9 100644
--- a/tests/data/test-annotate/libtest23.so.abi
+++ b/tests/data/test-annotate/libtest23.so.abi
@@ -39,24 +39,24 @@ 
         <var-decl name='reg_save_area' type-id='type-id-5' visibility='default'/>
       </data-member>
     </class-decl>
+    <!-- struct {} -->
+    <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' id='type-id-6'/>
     <!-- double -->
-    <type-decl name='double' size-in-bits='64' id='type-id-6'/>
+    <type-decl name='double' size-in-bits='64' id='type-id-7'/>
     <!-- float -->
-    <type-decl name='float' size-in-bits='32' id='type-id-7'/>
+    <type-decl name='float' size-in-bits='32' id='type-id-8'/>
     <!-- int -->
-    <type-decl name='int' size-in-bits='32' id='type-id-8'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-9'/>
     <!-- long double -->
-    <type-decl name='long double' size-in-bits='128' id='type-id-9'/>
+    <type-decl name='long double' size-in-bits='128' id='type-id-10'/>
     <!-- long int -->
-    <type-decl name='long int' size-in-bits='64' id='type-id-10'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-11'/>
     <!-- long long int -->
-    <type-decl name='long long int' size-in-bits='64' id='type-id-11'/>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-12'/>
     <!-- long long unsigned int -->
-    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-12'/>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-13'/>
     <!-- short int -->
-    <type-decl name='short int' size-in-bits='16' id='type-id-13'/>
-    <!-- struct {} -->
-    <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' id='type-id-14'/>
+    <type-decl name='short int' size-in-bits='16' id='type-id-14'/>
     <!-- unsigned int -->
     <type-decl name='unsigned int' size-in-bits='32' id='type-id-4'/>
     <!-- unsigned long int -->
@@ -90,7 +90,7 @@ 
       </member-type>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int __count -->
-        <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/>
+        <var-decl name='__count' type-id='type-id-9' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- union {} __value -->
@@ -101,43 +101,43 @@ 
     <class-decl name='tm' size-in-bits='448' is-struct='yes' visibility='default' filepath='/usr/include/time.h' line='133' column='1' id='type-id-29'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- int tm::tm_sec -->
-        <var-decl name='tm_sec' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='135' column='1'/>
+        <var-decl name='tm_sec' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='135' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='32'>
         <!-- int tm::tm_min -->
-        <var-decl name='tm_min' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='136' column='1'/>
+        <var-decl name='tm_min' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='136' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- int tm::tm_hour -->
-        <var-decl name='tm_hour' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='137' column='1'/>
+        <var-decl name='tm_hour' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='137' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- int tm::tm_mday -->
-        <var-decl name='tm_mday' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='138' column='1'/>
+        <var-decl name='tm_mday' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='138' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int tm::tm_mon -->
-        <var-decl name='tm_mon' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='139' column='1'/>
+        <var-decl name='tm_mon' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='139' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- int tm::tm_year -->
-        <var-decl name='tm_year' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='140' column='1'/>
+        <var-decl name='tm_year' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='140' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- int tm::tm_wday -->
-        <var-decl name='tm_wday' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='141' column='1'/>
+        <var-decl name='tm_wday' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='141' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='224'>
         <!-- int tm::tm_yday -->
-        <var-decl name='tm_yday' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='142' column='1'/>
+        <var-decl name='tm_yday' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='142' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- int tm::tm_isdst -->
-        <var-decl name='tm_isdst' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='143' column='1'/>
+        <var-decl name='tm_isdst' type-id='type-id-9' visibility='default' filepath='/usr/include/time.h' line='143' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- long int tm::tm_gmtoff -->
-        <var-decl name='tm_gmtoff' type-id='type-id-10' visibility='default' filepath='/usr/include/time.h' line='146' column='1'/>
+        <var-decl name='tm_gmtoff' type-id='type-id-11' visibility='default' filepath='/usr/include/time.h' line='146' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
         <!-- const char* tm::tm_zone -->
@@ -149,11 +149,11 @@ 
     <!-- typedef const __int32_t* wctrans_t -->
     <typedef-decl name='wctrans_t' type-id='type-id-32' filepath='/usr/include/wctype.h' line='186' column='1' id='type-id-33'/>
     <!-- typedef int __int32_t -->
-    <typedef-decl name='__int32_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-34'/>
+    <typedef-decl name='__int32_t' type-id='type-id-9' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-34'/>
     <!-- __FILE* -->
     <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-35'/>
     <!-- __anonymous_struct__1* -->
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-36'/>
     <!-- char& -->
     <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-37'/>
     <!-- char* -->
@@ -177,15 +177,15 @@ 
     <!-- const char** -->
     <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-46'/>
     <!-- const int -->
-    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-47'/>
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-47'/>
     <!-- const long int -->
-    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-48'/>
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-48'/>
     <!-- const mbstate_t -->
     <qualified-type-def type-id='type-id-26' const='yes' id='type-id-49'/>
     <!-- const mbstate_t* -->
     <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
     <!-- const short int -->
-    <qualified-type-def type-id='type-id-13' const='yes' id='type-id-51'/>
+    <qualified-type-def type-id='type-id-14' const='yes' id='type-id-51'/>
     <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> > -->
     <qualified-type-def type-id='type-id-52' const='yes' id='type-id-53'/>
     <!-- const std::basic_string<char, std::char_traits<char>, std::allocator<char> >& -->
@@ -682,7 +682,7 @@ 
             <!-- parameter of type 'typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' -->
             <parameter type-id='type-id-58'/>
             <!-- int -->
-            <return type-id='type-id-8'/>
+            <return type-id='type-id-9'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
@@ -828,7 +828,7 @@ 
             <!-- implicit parameter of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >*' -->
             <parameter type-id='type-id-68' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
-            <parameter type-id='type-id-8' is-artificial='yes'/>
+            <parameter type-id='type-id-9' is-artificial='yes'/>
             <!-- void -->
             <return type-id='type-id-19'/>
           </function-decl>
@@ -2052,7 +2052,7 @@ 
             <!-- parameter of type 'const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&' -->
             <parameter type-id='type-id-54'/>
             <!-- int -->
-            <return type-id='type-id-8'/>
+            <return type-id='type-id-9'/>
           </function-decl>
         </member-function>
         <member-function access='public' const='yes'>
@@ -2067,7 +2067,7 @@ 
             <!-- parameter of type 'const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&' -->
             <parameter type-id='type-id-54'/>
             <!-- int -->
-            <return type-id='type-id-8'/>
+            <return type-id='type-id-9'/>
           </function-decl>
         </member-function>
         <member-function access='public' const='yes'>
@@ -2086,7 +2086,7 @@ 
             <!-- parameter of type 'typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' -->
             <parameter type-id='type-id-58'/>
             <!-- int -->
-            <return type-id='type-id-8'/>
+            <return type-id='type-id-9'/>
           </function-decl>
         </member-function>
         <member-function access='public' const='yes'>
@@ -2097,7 +2097,7 @@ 
             <!-- parameter of type 'const char*' -->
             <parameter type-id='type-id-30'/>
             <!-- int -->
-            <return type-id='type-id-8'/>
+            <return type-id='type-id-9'/>
           </function-decl>
         </member-function>
         <member-function access='public' const='yes'>
@@ -2112,7 +2112,7 @@ 
             <!-- parameter of type 'const char*' -->
             <parameter type-id='type-id-30'/>
             <!-- int -->
-            <return type-id='type-id-8'/>
+            <return type-id='type-id-9'/>
           </function-decl>
         </member-function>
         <member-function access='public' const='yes'>
@@ -2129,7 +2129,7 @@ 
             <!-- parameter of type 'typedef std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' -->
             <parameter type-id='type-id-58'/>
             <!-- int -->
-            <return type-id='type-id-8'/>
+            <return type-id='type-id-9'/>
           </function-decl>
         </member-function>
       </class-decl>
@@ -2139,7 +2139,7 @@ 
       <!-- typedef unsigned long int std::size_t -->
       <typedef-decl name='size_t' type-id='type-id-15' filepath='/usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h' line='1857' column='1' id='type-id-78'/>
       <!-- typedef long int std::ptrdiff_t -->
-      <typedef-decl name='ptrdiff_t' type-id='type-id-10' filepath='/usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h' line='1858' column='1' id='type-id-80'/>
+      <typedef-decl name='ptrdiff_t' type-id='type-id-11' filepath='/usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h' line='1858' column='1' id='type-id-80'/>
       <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > -->
       <class-decl name='reverse_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-103'/>
       <!-- class std::reverse_iterator<__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > -->
@@ -2246,7 +2246,7 @@ 
     <!-- wint_t btowc(int) -->
     <function-decl name='btowc' filepath='/usr/include/wchar.h' line='353' column='1' visibility='default' binding='global' size-in-bits='64'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-9'/>
       <!-- typedef wint_t -->
       <return type-id='type-id-21'/>
     </function-decl>
@@ -2262,7 +2262,7 @@ 
       <!-- parameter of type 'wchar_t*' -->
       <parameter type-id='type-id-75'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-9'/>
       <!-- parameter of type '__FILE*' -->
       <parameter type-id='type-id-35'/>
       <!-- wchar_t* -->
@@ -2284,16 +2284,16 @@ 
       <!-- parameter of type '__FILE*' -->
       <parameter type-id='type-id-35'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int fwide(__FILE*, int) -->
     <function-decl name='fwide' filepath='/usr/include/wchar.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'>
       <!-- parameter of type '__FILE*' -->
       <parameter type-id='type-id-35'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-9'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int fwprintf(__FILE*, const wchar_t*, ...) -->
     <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2303,7 +2303,7 @@ 
       <parameter type-id='type-id-64'/>
       <parameter is-variadic='yes'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int fwscanf(__FILE*, const wchar_t*, ...) -->
     <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2313,7 +2313,7 @@ 
       <parameter type-id='type-id-64'/>
       <parameter is-variadic='yes'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- wint_t getwc(__FILE*) -->
     <function-decl name='getwc' filepath='/usr/include/wchar.h' line='746' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2356,7 +2356,7 @@ 
       <!-- parameter of type 'const mbstate_t*' -->
       <parameter type-id='type-id-50'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*) -->
     <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2397,7 +2397,7 @@ 
       <parameter type-id='type-id-64'/>
       <parameter is-variadic='yes'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int swscanf(const wchar_t*, const wchar_t*, ...) -->
     <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2407,7 +2407,7 @@ 
       <parameter type-id='type-id-64'/>
       <parameter is-variadic='yes'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- wint_t ungetwc(wint_t, __FILE*) -->
     <function-decl name='ungetwc' filepath='/usr/include/wchar.h' line='789' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2427,7 +2427,7 @@ 
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
       <parameter type-id='type-id-74'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int vfwscanf(__FILE*, const wchar_t*, typedef __va_list_tag __va_list_tag*) -->
     <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2438,7 +2438,7 @@ 
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
       <parameter type-id='type-id-74'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int vswprintf(wchar_t*, size_t, const wchar_t*, typedef __va_list_tag __va_list_tag*) -->
     <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='625' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2451,7 +2451,7 @@ 
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
       <parameter type-id='type-id-74'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int vswscanf(const wchar_t*, const wchar_t*, typedef __va_list_tag __va_list_tag*) -->
     <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='701' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2462,7 +2462,7 @@ 
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
       <parameter type-id='type-id-74'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int vwprintf(const wchar_t*, typedef __va_list_tag __va_list_tag*) -->
     <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='620' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2471,7 +2471,7 @@ 
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
       <parameter type-id='type-id-74'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int vwscanf(const wchar_t*, typedef __va_list_tag __va_list_tag*) -->
     <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='697' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2480,7 +2480,7 @@ 
       <!-- parameter of type 'typedef __va_list_tag __va_list_tag*' -->
       <parameter type-id='type-id-74'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- size_t wcrtomb(char*, wchar_t, mbstate_t*) -->
     <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2509,7 +2509,7 @@ 
       <!-- parameter of type 'const wchar_t*' -->
       <parameter type-id='type-id-64'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int wcscoll(const wchar_t*, const wchar_t*) -->
     <function-decl name='wcscoll' filepath='/usr/include/wchar.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2518,7 +2518,7 @@ 
       <!-- parameter of type 'const wchar_t*' -->
       <parameter type-id='type-id-64'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- wchar_t* wcscpy(wchar_t*, const wchar_t*) -->
     <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2578,7 +2578,7 @@ 
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-24'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t) -->
     <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2620,7 +2620,7 @@ 
       <!-- parameter of type 'wchar_t**' -->
       <parameter type-id='type-id-76'/>
       <!-- double -->
-      <return type-id='type-id-6'/>
+      <return type-id='type-id-7'/>
     </function-decl>
     <!-- float wcstof(const wchar_t*, wchar_t**) -->
     <function-decl name='wcstof' filepath='/usr/include/wchar.h' line='457' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2629,7 +2629,7 @@ 
       <!-- parameter of type 'wchar_t**' -->
       <parameter type-id='type-id-76'/>
       <!-- float -->
-      <return type-id='type-id-7'/>
+      <return type-id='type-id-8'/>
     </function-decl>
     <!-- wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**) -->
     <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2649,9 +2649,9 @@ 
       <!-- parameter of type 'wchar_t**' -->
       <parameter type-id='type-id-76'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-9'/>
       <!-- long int -->
-      <return type-id='type-id-10'/>
+      <return type-id='type-id-11'/>
     </function-decl>
     <!-- unsigned long int wcstoul(const wchar_t*, wchar_t**, int) -->
     <function-decl name='wcstoul' filepath='/usr/include/wchar.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2660,7 +2660,7 @@ 
       <!-- parameter of type 'wchar_t**' -->
       <parameter type-id='type-id-76'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-9'/>
       <!-- unsigned long int -->
       <return type-id='type-id-15'/>
     </function-decl>
@@ -2680,7 +2680,7 @@ 
       <!-- parameter of type 'typedef wint_t' -->
       <parameter type-id='type-id-21'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int wmemcmp(const wchar_t*, const wchar_t*, size_t) -->
     <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2691,7 +2691,7 @@ 
       <!-- parameter of type 'typedef size_t' -->
       <parameter type-id='type-id-24'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t) -->
     <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2732,7 +2732,7 @@ 
       <parameter type-id='type-id-64'/>
       <parameter is-variadic='yes'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- int wscanf(const wchar_t*, ...) -->
     <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='642' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2740,7 +2740,7 @@ 
       <parameter type-id='type-id-64'/>
       <parameter is-variadic='yes'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- const wchar_t* wcschr(const wchar_t*, wchar_t) -->
     <function-decl name='wcschr' mangled-name='wcschr' filepath='/usr/include/wchar.h' line='224' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2796,7 +2796,7 @@ 
       <!-- parameter of type 'wchar_t**' -->
       <parameter type-id='type-id-76'/>
       <!-- long double -->
-      <return type-id='type-id-9'/>
+      <return type-id='type-id-10'/>
     </function-decl>
     <!-- long long int wcstoll(const wchar_t*, wchar_t**, int) -->
     <function-decl name='wcstoll' filepath='/usr/include/wchar.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2805,9 +2805,9 @@ 
       <!-- parameter of type 'wchar_t**' -->
       <parameter type-id='type-id-76'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-9'/>
       <!-- long long int -->
-      <return type-id='type-id-11'/>
+      <return type-id='type-id-12'/>
     </function-decl>
     <!-- long long unsigned int wcstoull(const wchar_t*, wchar_t**, int) -->
     <function-decl name='wcstoull' filepath='/usr/include/wchar.h' line='490' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2816,14 +2816,14 @@ 
       <!-- parameter of type 'wchar_t**' -->
       <parameter type-id='type-id-76'/>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-9'/>
       <!-- long long unsigned int -->
-      <return type-id='type-id-12'/>
+      <return type-id='type-id-13'/>
     </function-decl>
     <!-- char* setlocale(int, const char*) -->
     <function-decl name='setlocale' filepath='/usr/include/locale.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'>
       <!-- parameter of type 'int' -->
-      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-9'/>
       <!-- parameter of type 'const char*' -->
       <parameter type-id='type-id-30'/>
       <!-- char* -->
@@ -2841,7 +2841,7 @@ 
       <!-- parameter of type 'typedef wctype_t' -->
       <parameter type-id='type-id-31'/>
       <!-- int -->
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-9'/>
     </function-decl>
     <!-- wint_t towctrans(wint_t, wctrans_t) -->
     <function-decl name='towctrans' filepath='/usr/include/wctype.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64'>
diff --git a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
index b8e12fea..d697e447 100644
--- a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
+++ b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
@@ -303,836 +303,853 @@ 
     <qualified-type-def type-id='type-id-53' restrict='yes' id='type-id-54'/>
     <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-55'/>
     <qualified-type-def type-id='type-id-55' restrict='yes' id='type-id-56'/>
-    <reference-type-def kind='lvalue' type-id='type-id-28' size-in-bits='64' id='type-id-57'/>
-    <reference-type-def kind='rvalue' type-id='type-id-28' size-in-bits='64' id='type-id-58'/>
-    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-59'/>
-    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-60'/>
-    <qualified-type-def type-id='type-id-60' restrict='yes' id='type-id-61'/>
-    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-62'/>
-    <qualified-type-def type-id='type-id-62' restrict='yes' id='type-id-63'/>
-    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-64'/>
-    <reference-type-def kind='lvalue' type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
-    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-66'/>
-    <qualified-type-def type-id='type-id-47' const='yes' id='type-id-67'/>
-    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-45'/>
-    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/>
-    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-59'/>
+    <reference-type-def kind='lvalue' type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <reference-type-def kind='rvalue' type-id='type-id-60' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-66' restrict='yes' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-68'/>
     <qualified-type-def type-id='type-id-68' restrict='yes' id='type-id-69'/>
-    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-70'/>
-    <qualified-type-def type-id='type-id-70' restrict='yes' id='type-id-71'/>
-    <reference-type-def kind='lvalue' type-id='type-id-11' size-in-bits='64' id='type-id-72'/>
-    <reference-type-def kind='lvalue' type-id='type-id-12' size-in-bits='64' id='type-id-73'/>
-    <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-74'/>
-    <qualified-type-def type-id='type-id-42' const='yes' id='type-id-75'/>
-    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-76'/>
-    <qualified-type-def type-id='type-id-16' const='yes' id='type-id-77'/>
-    <reference-type-def kind='lvalue' type-id='type-id-77' size-in-bits='64' id='type-id-78'/>
-    <qualified-type-def type-id='type-id-34' const='yes' id='type-id-79'/>
-    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
-    <qualified-type-def type-id='type-id-81' const='yes' id='type-id-82'/>
-    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/>
-    <qualified-type-def type-id='type-id-84' const='yes' id='type-id-85'/>
-    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-86'/>
-    <qualified-type-def type-id='type-id-87' const='yes' id='type-id-88'/>
-    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-89'/>
-    <qualified-type-def type-id='type-id-89' restrict='yes' id='type-id-90'/>
-    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-91'/>
-    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-92'/>
-    <qualified-type-def type-id='type-id-27' const='yes' id='type-id-93'/>
-    <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-94'/>
-    <qualified-type-def type-id='type-id-94' restrict='yes' id='type-id-95'/>
-    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-96'/>
-    <qualified-type-def type-id='type-id-96' restrict='yes' id='type-id-97'/>
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-98'/>
-    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-99'/>
-    <qualified-type-def type-id='type-id-99' restrict='yes' id='type-id-100'/>
-    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-35'/>
-    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-102'/>
-    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
-    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-105'/>
-    <qualified-type-def type-id='type-id-105' restrict='yes' id='type-id-106'/>
-    <reference-type-def kind='lvalue' type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
-    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-109'/>
-    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-110'/>
-    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-112'/>
-    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
-    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
-    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-119'/>
+    <qualified-type-def type-id='type-id-47' const='yes' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-45'/>
+    <qualified-type-def type-id='type-id-60' const='yes' id='type-id-71'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-73' restrict='yes' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-75'/>
+    <qualified-type-def type-id='type-id-75' restrict='yes' id='type-id-76'/>
+    <reference-type-def kind='lvalue' type-id='type-id-11' size-in-bits='64' id='type-id-77'/>
+    <reference-type-def kind='lvalue' type-id='type-id-12' size-in-bits='64' id='type-id-78'/>
+    <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-79'/>
+    <qualified-type-def type-id='type-id-42' const='yes' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <qualified-type-def type-id='type-id-16' const='yes' id='type-id-82'/>
+    <reference-type-def kind='lvalue' type-id='type-id-82' size-in-bits='64' id='type-id-83'/>
+    <qualified-type-def type-id='type-id-34' const='yes' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <qualified-type-def type-id='type-id-86' const='yes' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <qualified-type-def type-id='type-id-89' const='yes' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-91'/>
+    <qualified-type-def type-id='type-id-92' const='yes' id='type-id-93'/>
+    <reference-type-def kind='lvalue' type-id='type-id-93' size-in-bits='64' id='type-id-94'/>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-97'/>
+    <qualified-type-def type-id='type-id-98' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-100'/>
+    <qualified-type-def type-id='type-id-101' const='yes' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-103'/>
+    <qualified-type-def type-id='type-id-104' const='yes' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
+    <qualified-type-def type-id='type-id-106' restrict='yes' id='type-id-107'/>
+    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-109'/>
+    <qualified-type-def type-id='type-id-27' const='yes' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/>
+    <qualified-type-def type-id='type-id-111' restrict='yes' id='type-id-112'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-113'/>
+    <qualified-type-def type-id='type-id-113' restrict='yes' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-116'/>
+    <qualified-type-def type-id='type-id-116' restrict='yes' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-119'/>
     <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-121'/>
-    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-122'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-122'/>
     <qualified-type-def type-id='type-id-122' restrict='yes' id='type-id-123'/>
-    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-124'/>
-    <qualified-type-def type-id='type-id-124' restrict='yes' id='type-id-125'/>
-    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-126'/>
-    <qualified-type-def type-id='type-id-126' restrict='yes' id='type-id-127'/>
+    <reference-type-def kind='lvalue' type-id='type-id-86' size-in-bits='64' id='type-id-124'/>
+    <reference-type-def kind='rvalue' type-id='type-id-86' size-in-bits='64' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-127'/>
+    <reference-type-def kind='lvalue' type-id='type-id-92' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-129'/>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-130'/>
+    <reference-type-def kind='lvalue' type-id='type-id-131' size-in-bits='64' id='type-id-132'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-138'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-142'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-143'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-146'/>
+    <qualified-type-def type-id='type-id-146' restrict='yes' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-148'/>
+    <qualified-type-def type-id='type-id-148' restrict='yes' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-150'/>
+    <qualified-type-def type-id='type-id-150' restrict='yes' id='type-id-151'/>
     <namespace-decl name='boost'>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'>
           <member-function access='protected' static='yes'>
             <function-decl name='optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseISt6vectorIN5mongo7BSONObjESaIS4_EEEC2Ev' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='239' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='protected' static='yes'>
             <function-decl name='construct' mangled-name='_ZN5boost15optional_detail13optional_baseIN5mongo12FTDCBSONUtil8FTDCTypeEE9constructEOS4_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-128'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-152'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='protected' static='yes'>
             <function-decl name='optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseIN5mongo12FTDCBSONUtil8FTDCTypeEEC2EOS4_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='261' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-128'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-152'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'>
           <member-type access='public'>
-            <typedef-decl name='rval_reference_type' type-id='type-id-58' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='152' column='1' id='type-id-128'/>
+            <typedef-decl name='rval_reference_type' type-id='type-id-125' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='152' column='1' id='type-id-152'/>
           </member-type>
         </class-decl>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
         <member-function access='public' static='yes'>
           <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='62' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='swap' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEE4swapERS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='181' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-61'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator=' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEaSEOS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-62'/>
+            <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='95' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator bool' mangled-name='_ZNK5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEcvbEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/operator_bool.hpp' line='12' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-72' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator!' mangled-name='_ZNK5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEntEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/operator_bool.hpp' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-72' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='get' mangled-name='_ZNK5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEE3getEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='154' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-59'/>
+            <parameter type-id='type-id-72' is-artificial='yes'/>
+            <return type-id='type-id-127'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
         <member-type access='private'>
-          <typedef-decl name='rval_reference_type' type-id='type-id-128' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='777' column='1' id='type-id-129'/>
+          <typedef-decl name='rval_reference_type' type-id='type-id-152' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='777' column='1' id='type-id-153'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='optional' mangled-name='_ZN5boost8optionalISt6vectorIN5mongo7BSONObjESaIS3_EEEC2Ev' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='786' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='optional' mangled-name='_ZN5boost8optionalIN5mongo12FTDCBSONUtil8FTDCTypeEEC2EOS3_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='799' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-129'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-153'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='std'>
-      <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-130'>
+      <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-154'>
         <underlying-type type-id='type-id-21'/>
       </enum-decl>
-      <typedef-decl name='ptrdiff_t' type-id='type-id-18' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0/bits/c++config.h' line='197' column='1' id='type-id-131'/>
+      <typedef-decl name='ptrdiff_t' type-id='type-id-18' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0/bits/c++config.h' line='197' column='1' id='type-id-155'/>
       <typedef-decl name='size_t' type-id='type-id-24' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0/bits/c++config.h' line='196' column='1' id='type-id-51'/>
-      <typedef-decl name='memory_order' type-id='type-id-130' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='63' column='1' id='type-id-132'/>
+      <typedef-decl name='memory_order' type-id='type-id-154' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='63' column='1' id='type-id-156'/>
       <namespace-decl name='__cxx11'>
-        <class-decl name='basic_stringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='3136' visibility='default' is-declaration-only='yes' id='type-id-84'>
+        <class-decl name='basic_stringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='3136' visibility='default' is-declaration-only='yes' id='type-id-101'>
           <member-type access='private'>
-            <typedef-decl name='__string_type' type-id='type-id-81' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/sstream' line='669' column='1' id='type-id-133'/>
+            <typedef-decl name='__string_type' type-id='type-id-98' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/sstream' line='669' column='1' id='type-id-157'/>
           </member-type>
           <member-function access='public'>
             <function-decl name='str' mangled-name='_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/sstream' line='765' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-86' is-artificial='yes'/>
-              <return type-id='type-id-133'/>
+              <parameter type-id='type-id-103' is-artificial='yes'/>
+              <return type-id='type-id-157'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='0'>
             <function-decl name='~basic_stringstream' mangled-name='_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/sstream' line='717' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-110' is-artificial='yes'/>
+              <parameter type-id='type-id-134' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='256' visibility='default' is-declaration-only='yes' id='type-id-81'>
+        <class-decl name='basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='256' visibility='default' is-declaration-only='yes' id='type-id-98'>
           <member-type access='private'>
-            <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-134'>
+            <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-158'>
               <underlying-type type-id='type-id-21'/>
             </enum-decl>
           </member-type>
           <member-type access='private'>
-            <typedef-decl name='size_type' type-id='type-id-136' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='82' column='1' id='type-id-135'/>
+            <typedef-decl name='size_type' type-id='type-id-160' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='82' column='1' id='type-id-159'/>
           </member-type>
           <member-type access='private'>
-            <typedef-decl name='pointer' type-id='type-id-138' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='86' column='1' id='type-id-137'/>
+            <typedef-decl name='pointer' type-id='type-id-162' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='86' column='1' id='type-id-161'/>
           </member-type>
           <member-type access='private'>
-            <typedef-decl name='const_pointer' type-id='type-id-140' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='87' column='1' id='type-id-139'/>
+            <typedef-decl name='const_pointer' type-id='type-id-164' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='87' column='1' id='type-id-163'/>
           </member-type>
           <member-type access='private'>
-            <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+            <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-165'>
               <member-function access='public' static='yes'>
                 <function-decl name='_Alloc_hider' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
-                  <parameter type-id='type-id-59' is-artificial='yes'/>
-                  <parameter type-id='type-id-137'/>
-                  <parameter type-id='type-id-141'/>
+                  <parameter type-id='type-id-166' is-artificial='yes'/>
+                  <parameter type-id='type-id-161'/>
+                  <parameter type-id='type-id-167'/>
                   <return type-id='type-id-26'/>
                 </function-decl>
               </member-function>
             </class-decl>
           </member-type>
           <member-type access='private'>
-            <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+            <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-165'/>
           </member-type>
           <member-type access='private'>
-            <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+            <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-165'/>
           </member-type>
           <member-type access='private'>
-            <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+            <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-165'/>
           </member-type>
           <member-function access='private'>
             <function-decl name='_M_data' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='134' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
-              <return type-id='type-id-137'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
+              <return type-id='type-id-161'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='c_str' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1887' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
-              <return type-id='type-id-68'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
+              <return type-id='type-id-73'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_is_local' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='169' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_dispose' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='177' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes'>
             <function-decl name='~basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='542' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_local_data' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='148' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
-              <return type-id='type-id-139'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
+              <return type-id='type-id-163'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_destroy' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='184' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-135'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-159'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='data' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1897' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
-              <return type-id='type-id-68'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
+              <return type-id='type-id-73'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='length' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='721' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
-              <return type-id='type-id-135'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
+              <return type-id='type-id-159'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='empty' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='816' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='assign' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1093' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-142'/>
-              <return type-id='type-id-143'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-168'/>
+              <return type-id='type-id-169'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='550' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-142'/>
-              <return type-id='type-id-143'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-168'/>
+              <return type-id='type-id-169'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='size' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='715' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
-              <return type-id='type-id-135'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
+              <return type-id='type-id-159'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_local_data' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <return type-id='type-id-137'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <return type-id='type-id-161'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='379' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_length' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-135'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-159'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_set_length' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-135'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-159'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='398' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-142'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-168'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct&lt;char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-28'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-95'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct_aux&lt;char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPcEEvT_S7_St12__false_type' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-28'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-95'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct&lt;char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-60'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_data' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='126' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-137'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-161'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_capacity' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-135'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-159'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='_S_copy' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-135'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-159'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='_S_copy_chars' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='340' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-60'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-144'/>
-              <return type-id='type-id-143'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-170'/>
+              <return type-id='type-id-169'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='454' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-141'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-167'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct&lt;const char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-28'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-95'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct_aux&lt;const char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPKcEEvT_S8_St12__false_type' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-28'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-95'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct&lt;const char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-68'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-73'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='_S_copy_chars' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='344' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-68'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-73'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='append' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='982' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-142'/>
-              <return type-id='type-id-143'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-168'/>
+              <return type-id='type-id-169'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator+=' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='941' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-142'/>
-              <return type-id='type-id-143'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-168'/>
+              <return type-id='type-id-169'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='444' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-135'/>
-              <parameter type-id='type-id-141'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-159'/>
+              <parameter type-id='type-id-167'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='append' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1024' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-68'/>
-              <return type-id='type-id-143'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-73'/>
+              <return type-id='type-id-169'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_check_length' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='268' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
-              <parameter type-id='type-id-135'/>
-              <parameter type-id='type-id-135'/>
-              <parameter type-id='type-id-68'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
+              <parameter type-id='type-id-159'/>
+              <parameter type-id='type-id-159'/>
+              <parameter type-id='type-id-73'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-144'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-170'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='append' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-135'/>
-              <return type-id='type-id-143'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-159'/>
+              <return type-id='type-id-169'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='substr' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='2293' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-83' is-artificial='yes'/>
-              <parameter type-id='type-id-135'/>
-              <parameter type-id='type-id-135'/>
-              <return type-id='type-id-81'/>
+              <parameter type-id='type-id-100' is-artificial='yes'/>
+              <parameter type-id='type-id-159'/>
+              <parameter type-id='type-id-159'/>
+              <return type-id='type-id-98'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='replace' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1578' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-135'/>
-              <parameter type-id='type-id-135'/>
-              <parameter type-id='type-id-68'/>
-              <parameter type-id='type-id-135'/>
-              <return type-id='type-id-143'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-159'/>
+              <parameter type-id='type-id-159'/>
+              <parameter type-id='type-id-73'/>
+              <parameter type-id='type-id-159'/>
+              <return type-id='type-id-169'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='insert' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-109' is-artificial='yes'/>
-              <parameter type-id='type-id-135'/>
-              <parameter type-id='type-id-68'/>
-              <return type-id='type-id-143'/>
+              <parameter type-id='type-id-133' is-artificial='yes'/>
+              <parameter type-id='type-id-159'/>
+              <parameter type-id='type-id-73'/>
+              <return type-id='type-id-169'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='basic_stringbuf&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='832' visibility='default' is-declaration-only='yes' id='type-id-145'/>
+        <class-decl name='basic_stringbuf&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='832' visibility='default' is-declaration-only='yes' id='type-id-171'/>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <typedef-decl name='size_type' type-id='type-id-51' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='236' column='1' id='type-id-146'/>
+          <typedef-decl name='size_type' type-id='type-id-51' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='236' column='1' id='type-id-172'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='size' mangled-name='_ZNKSt6vectorImSaImEE4sizeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='654' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
             <return type-id='type-id-52'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='resize' mangled-name='_ZNSt6vectorIcSaIcEE6resizeEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='673' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='data' mangled-name='_ZNSt6vectorIhSaIhEE4dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-119'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <return type-id='type-id-143'/>
           </function-decl>
         </member-function>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_erase_at_end' mangled-name='_ZNSt6vectorIcSaIcEE15_M_erase_at_endEPc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1436' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-147'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-173'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_check_len' mangled-name='_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1422' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
-            <parameter type-id='type-id-68'/>
-            <return type-id='type-id-146'/>
+            <parameter type-id='type-id-73'/>
+            <return type-id='type-id-172'/>
           </function-decl>
         </member-function>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_default_append' mangled-name='_ZNSt6vectorIcSaIcEE17_M_default_appendEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIhSaIhEE17_M_default_appendEm'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='_Tp_alloc_type' type-id='type-id-149' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='75' column='1' id='type-id-148'/>
+          <typedef-decl name='_Tp_alloc_type' type-id='type-id-175' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='75' column='1' id='type-id-174'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='_M_allocate' mangled-name='_ZNSt12_Vector_baseImSaImEE11_M_allocateEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='167' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-51'/>
-            <return type-id='type-id-147'/>
+            <return type-id='type-id-173'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_M_deallocate' mangled-name='_ZNSt12_Vector_baseImSaImEE13_M_deallocateEPmm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='174' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-147'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-173'/>
             <parameter type-id='type-id-51'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;unsigned char&gt;' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-150'/>
+          <typedef-decl name='rebind_alloc&lt;unsigned char&gt;' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-176'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='pointer' type-id='type-id-119' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='450' column='1' id='type-id-147'/>
+          <typedef-decl name='pointer' type-id='type-id-143' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='450' column='1' id='type-id-173'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='allocator_type' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='445' column='1' id='type-id-107'/>
+          <typedef-decl name='allocator_type' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='445' column='1' id='type-id-131'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='allocate' mangled-name='_ZNSt16allocator_traitsISaImEE8allocateERS0_m' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='490' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-108'/>
+            <parameter type-id='type-id-132'/>
             <parameter type-id='type-id-52'/>
-            <return type-id='type-id-147'/>
+            <return type-id='type-id-173'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='deallocate' mangled-name='_ZNSt16allocator_traitsISaImEE10deallocateERS0_Pmm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='516' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-108'/>
-            <parameter type-id='type-id-147'/>
+            <parameter type-id='type-id-132'/>
+            <parameter type-id='type-id-173'/>
             <parameter type-id='type-id-52'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' naming-typedef-id='type-id-150' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' naming-typedef-id='type-id-176' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='__int_type' type-id='type-id-23' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='241' column='1' id='type-id-151'/>
+          <typedef-decl name='__int_type' type-id='type-id-23' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='241' column='1' id='type-id-177'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='__atomic_base' mangled-name='_ZNSt13__atomic_baseIjEC2Ej' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='256' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-151'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-177'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='fetch_sub' mangled-name='_ZNSt13__atomic_baseIjE9fetch_subEjSt12memory_order' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-151'/>
-            <parameter type-id='type-id-132'/>
-            <return type-id='type-id-151'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-177'/>
+            <parameter type-id='type-id-156'/>
+            <return type-id='type-id-177'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load' mangled-name='_ZNKSt13__atomic_baseIjE4loadESt12memory_order' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <parameter type-id='type-id-132'/>
-            <return type-id='type-id-151'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
+            <parameter type-id='type-id-156'/>
+            <return type-id='type-id-177'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='__integral_type' type-id='type-id-23' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/atomic' line='626' column='1' id='type-id-152'/>
+          <typedef-decl name='__integral_type' type-id='type-id-23' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/atomic' line='626' column='1' id='type-id-178'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='atomic' mangled-name='_ZNSt6atomicIjEC2Ej' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/atomic' line='635' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-152'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-178'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_default_n&lt;unsigned char *, unsigned long&gt;' mangled-name='_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPhmEET_S3_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-119'/>
+            <parameter type-id='type-id-143'/>
             <parameter type-id='type-id-24'/>
-            <return type-id='type-id-119'/>
+            <return type-id='type-id-143'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__copy_m&lt;unsigned char&gt;' mangled-name='_ZNSt11__copy_moveILb1ELb1ESt26random_access_iterator_tagE8__copy_mIhEEPT_PKS3_S6_S4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h' line='373' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-92'/>
-            <parameter type-id='type-id-92'/>
-            <parameter type-id='type-id-119'/>
-            <return type-id='type-id-119'/>
+            <parameter type-id='type-id-109'/>
+            <parameter type-id='type-id-109'/>
+            <parameter type-id='type-id-143'/>
+            <return type-id='type-id-143'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;unsigned char *&gt;, unsigned char *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb1EE13__uninit_copyISt13move_iteratorIPhES3_EET0_T_S6_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-119'/>
-            <return type-id='type-id-119'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-143'/>
+            <return type-id='type-id-143'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='const_pointer' type-id='type-id-68' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='453' column='1' id='type-id-153'/>
+          <typedef-decl name='const_pointer' type-id='type-id-73' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='453' column='1' id='type-id-179'/>
         </member-type>
       </class-decl>
-      <class-decl name='allocator&lt;char&gt;' size-in-bits='8' visibility='default' is-declaration-only='yes' id='type-id-154'/>
-      <class-decl name='basic_streambuf&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='512' visibility='default' is-declaration-only='yes' id='type-id-117'>
+      <class-decl name='allocator&lt;char&gt;' size-in-bits='8' visibility='default' is-declaration-only='yes' id='type-id-180'/>
+      <class-decl name='basic_streambuf&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='512' visibility='default' is-declaration-only='yes' id='type-id-141'>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_streambuf' mangled-name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/streambuf' line='197' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-118' is-artificial='yes'/>
+            <parameter type-id='type-id-142' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='basic_istream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2240' visibility='default' is-declaration-only='yes' id='type-id-115'>
+      <class-decl name='basic_istream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2240' visibility='default' is-declaration-only='yes' id='type-id-139'>
         <member-function access='public'>
           <function-decl name='gcount' mangled-name='_ZNKSi6gcountEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/istream' line='269' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-155' is-artificial='yes'/>
-            <return type-id='type-id-156'/>
+            <parameter type-id='type-id-181' is-artificial='yes'/>
+            <return type-id='type-id-182'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_istream' mangled-name='_ZNSiD2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/istream' line='103' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-116' is-artificial='yes'/>
+            <parameter type-id='type-id-140' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='basic_iostream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2304' visibility='default' is-declaration-only='yes' id='type-id-113'>
+      <class-decl name='basic_iostream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2304' visibility='default' is-declaration-only='yes' id='type-id-137'>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_iostream' mangled-name='_ZNSdD2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/istream' line='856' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-114' is-artificial='yes'/>
+            <parameter type-id='type-id-138' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='basic_ios&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2112' visibility='default' is-declaration-only='yes' id='type-id-111'>
+      <class-decl name='basic_ios&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2112' visibility='default' is-declaration-only='yes' id='type-id-135'>
         <member-function access='public'>
           <function-decl name='rdstate' mangled-name='_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='137' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-157' is-artificial='yes'/>
-            <return type-id='type-id-158'/>
+            <parameter type-id='type-id-183' is-artificial='yes'/>
+            <return type-id='type-id-184'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='setstate' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112' is-artificial='yes'/>
-            <parameter type-id='type-id-158'/>
+            <parameter type-id='type-id-136' is-artificial='yes'/>
+            <parameter type-id='type-id-184'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='eof' mangled-name='_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='190' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-157' is-artificial='yes'/>
+            <parameter type-id='type-id-183' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='fail' mangled-name='_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='201' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-157' is-artificial='yes'/>
+            <parameter type-id='type-id-183' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112' is-artificial='yes'/>
+            <parameter type-id='type-id-136' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='StatusWith' mangled-name='_ZN5mongo10StatusWithISt6vectorINS_7BSONObjESaIS2_EEEC2ENS_6StatusE' filepath='src/mongo/base/status_with.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='StatusWith' mangled-name='_ZN5mongo10StatusWithISt6vectorINS_7BSONObjESaIS2_EEEC2ENS_10ErrorCodes5ErrorERKN10mongoutils3str6streamE' filepath='src/mongo/base/status_with.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-159'/>
-            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-185'/>
+            <parameter type-id='type-id-94'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='data' mangled-name='_ZNK5mongo14ConstDataRange4dataEv' filepath='src/mongo/base/data_range.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-68'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
+            <return type-id='type-id-73'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='length' mangled-name='_ZNK5mongo14ConstDataRange6lengthEv' filepath='src/mongo/base/data_range.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
             <return type-id='type-id-30'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='ConstDataRange' mangled-name='_ZN5mongo14ConstDataRangeC2EPKcS2_l' filepath='src/mongo/base/data_range.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
-            <parameter type-id='type-id-68'/>
-            <parameter type-id='type-id-131'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
+            <parameter type-id='type-id-73'/>
+            <parameter type-id='type-id-155'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='ConstDataRange' mangled-name='_ZN5mongo14ConstDataRangeC2EPKcml' filepath='src/mongo/base/data_range.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
             <parameter type-id='type-id-51'/>
-            <parameter type-id='type-id-131'/>
+            <parameter type-id='type-id-155'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-159'>
+          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-185'>
             <underlying-type type-id='type-id-21'/>
           </enum-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-89'>
             <member-function access='public' static='yes'>
               <function-decl name='Holder' mangled-name='_ZN5mongo12SharedBuffer6HolderC2Ejm' filepath='src/mongo/util/shared_buffer.h' line='102' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
-                <parameter type-id='type-id-160'/>
+                <parameter type-id='type-id-127' is-artificial='yes'/>
+                <parameter type-id='type-id-186'/>
                 <parameter type-id='type-id-30'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes'>
               <function-decl name='data' mangled-name='_ZN5mongo12SharedBuffer6Holder4dataEv' filepath='src/mongo/util/shared_buffer.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
-                <return type-id='type-id-60'/>
+                <parameter type-id='type-id-127' is-artificial='yes'/>
+                <return type-id='type-id-66'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes'>
               <function-decl name='isShared' mangled-name='_ZNK5mongo12SharedBuffer6Holder8isSharedEv' filepath='src/mongo/util/shared_buffer.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-66' is-artificial='yes'/>
+                <parameter type-id='type-id-91' is-artificial='yes'/>
                 <return type-id='type-id-1'/>
               </function-decl>
             </member-function>
@@ -1140,239 +1157,239 @@ 
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='SharedBuffer' mangled-name='_ZN5mongo12SharedBufferC2Ev' filepath='src/mongo/util/shared_buffer.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='allocate' mangled-name='_ZN5mongo12SharedBuffer8allocateEm' filepath='src/mongo/util/shared_buffer.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-30'/>
-            <return type-id='type-id-28'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='takeOwnership' mangled-name='_ZN5mongo12SharedBuffer13takeOwnershipEPvm' filepath='src/mongo/util/shared_buffer.h' line='149' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-122'/>
+            <parameter type-id='type-id-146'/>
             <parameter type-id='type-id-30'/>
-            <return type-id='type-id-28'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='get' mangled-name='_ZNK5mongo21SharedBufferAllocator3getEv' filepath='src/mongo/util/shared_buffer.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='realloc' mangled-name='_ZN5mongo21SharedBufferAllocator7reallocEm' filepath='src/mongo/util/shared_buffer.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-30'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <typedef-decl name='WordType' type-id='type-id-23' filepath='src/mongo/platform/atomic_word.h' line='54' column='1' id='type-id-160'/>
+          <typedef-decl name='WordType' type-id='type-id-23' filepath='src/mongo/platform/atomic_word.h' line='54' column='1' id='type-id-186'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='AtomicWord' mangled-name='_ZN5mongo10AtomicWordIjvEC2Ej' filepath='src/mongo/platform/atomic_word.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-160'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-186'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='fetchAndSubtract' mangled-name='_ZN5mongo10AtomicWordIjvE16fetchAndSubtractEj' filepath='src/mongo/platform/atomic_word.h' line='131' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-160'/>
-            <return type-id='type-id-160'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-186'/>
+            <return type-id='type-id-186'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='subtractAndFetch' mangled-name='_ZN5mongo10AtomicWordIjvE16subtractAndFetchEj' filepath='src/mongo/platform/atomic_word.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-160'/>
-            <return type-id='type-id-160'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-186'/>
+            <return type-id='type-id-186'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load' mangled-name='_ZNK5mongo10AtomicWordIjvE4loadEv' filepath='src/mongo/platform/atomic_word.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-160'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
+            <return type-id='type-id-186'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='SharedBufferAllocator' mangled-name='_ZN5mongo21SharedBufferAllocatorC2Ev' filepath='src/mongo/bson/util/builder.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='malloc' mangled-name='_ZN5mongo21SharedBufferAllocator6mallocEm' filepath='src/mongo/bson/util/builder.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-30'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEEC2Ei' filepath='src/mongo/bson/util/builder.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='grow' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE4growEi' filepath='src/mongo/bson/util/builder.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='grow_reallocate' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE15grow_reallocateEi' filepath='src/mongo/bson/util/builder.h' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE15grow_reallocateEi'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEEC2Ei' filepath='src/mongo/bson/util/builder.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEEC2Ei'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='StringBuilderImpl' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEEC2Ev' filepath='src/mongo/bson/util/builder.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='append' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE6appendENS_10StringDataE' filepath='src/mongo/bson/util/builder.h' line='469' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsENS_10StringDataE' filepath='src/mongo/bson/util/builder.h' line='439' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsEPKc' filepath='src/mongo/bson/util/builder.h' line='436' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsEi' filepath='src/mongo/bson/util/builder.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-57'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsEc' filepath='src/mongo/bson/util/builder.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-2'/>
-            <return type-id='type-id-57'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='appendIntegral&lt;int&gt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE14appendIntegralIiEERS2_T_i' filepath='src/mongo/bson/util/builder.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE14appendIntegralIiEERS2_T_i'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-57'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='copyTo' mangled-name='_ZNK5mongo10StringData6copyToEPcb' filepath='src/mongo/base/string_data.h' line='134' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
+            <parameter type-id='type-id-66'/>
             <parameter type-id='type-id-1'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKcm' filepath='src/mongo/base/string_data.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
             <parameter type-id='type-id-30'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC2EPKc'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC2EPKc'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='private'>
           <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2Ev' filepath='src/mongo/base/status.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='OK' mangled-name='_ZN5mongo6Status2OKEv' filepath='src/mongo/base/status.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <return type-id='type-id-28'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='compress' mangled-name='_ZN5mongo15BlockCompressor8compressENS_14ConstDataRangeE' filepath='src/mongo/db/ftdc/block_compressor.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15BlockCompressor8compressENS_14ConstDataRangeE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='uncompress' mangled-name='_ZN5mongo15BlockCompressor10uncompressENS_14ConstDataRangeEm' filepath='src/mongo/db/ftdc/block_compressor.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15BlockCompressor10uncompressENS_14ConstDataRangeEm'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
             <parameter type-id='type-id-30'/>
-            <return type-id='type-id-28'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='operator StringData' mangled-name='_ZN5mongo4ItoAcvNS_10StringDataEEv' filepath='src/mongo/util/itoa.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
@@ -1383,162 +1400,162 @@ 
         <parameter type-id='type-id-19'/>
         <return type-id='type-id-29'/>
       </function-decl>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <typedef-decl name='pointer' type-id='type-id-147' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='104' column='1' id='type-id-138'/>
+          <typedef-decl name='pointer' type-id='type-id-173' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='104' column='1' id='type-id-162'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-187'>
             <member-type access='public'>
-              <typedef-decl name='other' type-id='type-id-150' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='169' column='1' id='type-id-149'/>
+              <typedef-decl name='other' type-id='type-id-176' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='169' column='1' id='type-id-175'/>
             </member-type>
           </class-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-function access='public' static='yes'>
           <function-decl name='allocate' mangled-name='_ZN9__gnu_cxx13new_allocatorImE8allocateEmPKv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
-            <parameter type-id='type-id-122'/>
-            <return type-id='type-id-138'/>
+            <parameter type-id='type-id-146'/>
+            <return type-id='type-id-162'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='deallocate' mangled-name='_ZN9__gnu_cxx13new_allocatorImE10deallocateEPmm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-138'/>
+            <parameter type-id='type-id-162'/>
             <parameter type-id='type-id-52'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <typedef-decl name='size_type' type-id='type-id-146' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='106' column='1' id='type-id-136'/>
+          <typedef-decl name='size_type' type-id='type-id-172' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='106' column='1' id='type-id-160'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='const_pointer' type-id='type-id-153' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='105' column='1' id='type-id-140'/>
+          <typedef-decl name='const_pointer' type-id='type-id-179' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='105' column='1' id='type-id-164'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
     </namespace-decl>
     <function-decl name='memchr' filepath='/usr/include/string.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-146'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-122'/>
+      <return type-id='type-id-146'/>
     </function-decl>
     <function-decl name='memcmp' filepath='/usr/include/string.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-122'/>
-      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-146'/>
+      <parameter type-id='type-id-146'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='memcpy' filepath='/usr/include/string.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-123'/>
-      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-147'/>
+      <parameter type-id='type-id-147'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-122'/>
+      <return type-id='type-id-146'/>
     </function-decl>
     <function-decl name='memmove' filepath='/usr/include/string.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-122'/>
-      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-146'/>
+      <parameter type-id='type-id-146'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-122'/>
+      <return type-id='type-id-146'/>
     </function-decl>
     <function-decl name='memset' filepath='/usr/include/string.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-146'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-122'/>
+      <return type-id='type-id-146'/>
     </function-decl>
     <function-decl name='strcat' filepath='/usr/include/string.h' line='133' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-69'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-74'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strcmp' filepath='/usr/include/string.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='strcoll' filepath='/usr/include/string.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='strcpy' filepath='/usr/include/string.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-69'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-74'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strcspn' filepath='/usr/include/string.h' line='280' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='strerror' filepath='/usr/include/string.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strlen' filepath='/usr/include/string.h' line='394' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='strncat' filepath='/usr/include/string.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strncmp' filepath='/usr/include/string.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-73'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='strncpy' filepath='/usr/include/string.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strspn' filepath='/usr/include/string.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='strtok' filepath='/usr/include/string.h' line='343' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-69'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-74'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strxfrm' filepath='/usr/include/string.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='strchr' filepath='/usr/include/string.h' line='231' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <parameter type-id='type-id-16'/>
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strpbrk' filepath='/usr/include/string.h' line='310' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
-      <parameter type-id='type-id-68'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-73'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strrchr' filepath='/usr/include/string.h' line='258' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <parameter type-id='type-id-16'/>
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strstr' filepath='/usr/include/string.h' line='337' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
-      <parameter type-id='type-id-68'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-73'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='btowc' filepath='/usr/include/wchar.h' line='391' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
@@ -1549,10 +1566,10 @@ 
       <return type-id='type-id-31'/>
     </function-decl>
     <function-decl name='fgetws' filepath='/usr/include/wchar.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
+      <parameter type-id='type-id-149'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-56'/>
-      <return type-id='type-id-124'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='fputwc' filepath='/usr/include/wchar.h' line='762' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-27'/>
@@ -1560,7 +1577,7 @@ 
       <return type-id='type-id-31'/>
     </function-decl>
     <function-decl name='fputws' filepath='/usr/include/wchar.h' line='784' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-112'/>
       <parameter type-id='type-id-56'/>
       <return type-id='type-id-16'/>
     </function-decl>
@@ -1571,13 +1588,13 @@ 
     </function-decl>
     <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-56'/>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-112'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='638' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-56'/>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-112'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
@@ -1589,27 +1606,27 @@ 
       <return type-id='type-id-31'/>
     </function-decl>
     <function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='402' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-123'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-123'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='364' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-85'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='411' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-71'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-123'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='putwc' filepath='/usr/include/wchar.h' line='763' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -1622,15 +1639,15 @@ 
       <return type-id='type-id-31'/>
     </function-decl>
     <function-decl name='swprintf' filepath='/usr/include/wchar.h' line='607' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
+      <parameter type-id='type-id-149'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-112'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='648' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-112'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
@@ -1641,142 +1658,142 @@ 
     </function-decl>
     <function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='615' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-56'/>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='692' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-56'/>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='628' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
+      <parameter type-id='type-id-149'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='623' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='700' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='373' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-27'/>
-      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-123'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='wcscat' filepath='/usr/include/wchar.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-95'/>
-      <return type-id='type-id-124'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wcscmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-111'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wcscoll' filepath='/usr/include/wchar.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-111'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-95'/>
-      <return type-id='type-id-124'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wcscspn' filepath='/usr/include/wchar.h' line='255' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-111'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='858' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
+      <parameter type-id='type-id-149'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-90'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-107'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='wcslen' filepath='/usr/include/wchar.h' line='290' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-112'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-124'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='169' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-111'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='152' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-112'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-124'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='417' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-114'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-123'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='wcsspn' filepath='/usr/include/wchar.h' line='259' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-111'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='wcstod' filepath='/usr/include/wchar.h' line='453' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='wcstof' filepath='/usr/include/wchar.h' line='460' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
       <return type-id='type-id-15'/>
     </function-decl>
     <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='285' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
-      <return type-id='type-id-124'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wcstol' filepath='/usr/include/wchar.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-18'/>
     </function-decl>
     <function-decl name='wcstoul' filepath='/usr/include/wchar.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-24'/>
     </function-decl>
     <function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='199' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-112'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-30'/>
     </function-decl>
@@ -1785,89 +1802,89 @@ 
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='328' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-111'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-112'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-124'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='337' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-124'/>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-148'/>
+      <parameter type-id='type-id-111'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-124'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wmemset' filepath='/usr/include/wchar.h' line='341' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-124'/>
+      <parameter type-id='type-id-148'/>
       <parameter type-id='type-id-27'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-124'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-112'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-112'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wcschr' filepath='/usr/include/wchar.h' line='230' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
       <parameter type-id='type-id-27'/>
-      <return type-id='type-id-124'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wcspbrk' filepath='/usr/include/wchar.h' line='269' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
-      <parameter type-id='type-id-94'/>
-      <return type-id='type-id-124'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-111'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wcsrchr' filepath='/usr/include/wchar.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
       <parameter type-id='type-id-27'/>
-      <return type-id='type-id-124'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wcsstr' filepath='/usr/include/wchar.h' line='280' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
-      <parameter type-id='type-id-94'/>
-      <return type-id='type-id-124'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-111'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wmemchr' filepath='/usr/include/wchar.h' line='323' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-111'/>
       <parameter type-id='type-id-27'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-124'/>
+      <return type-id='type-id-148'/>
     </function-decl>
     <function-decl name='wcstold' filepath='/usr/include/wchar.h' line='462' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='wcstoll' filepath='/usr/include/wchar.h' line='486' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-19'/>
     </function-decl>
     <function-decl name='wcstoull' filepath='/usr/include/wchar.h' line='493' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-20'/>
     </function-decl>
     <function-decl name='setlocale' filepath='/usr/include/locale.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
-      <parameter type-id='type-id-68'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-73'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='localeconv' filepath='/usr/include/locale.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <return type-id='type-id-104'/>
+      <return type-id='type-id-121'/>
     </function-decl>
     <function-decl name='isalnum' filepath='/usr/include/ctype.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
@@ -1933,37 +1950,37 @@ 
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='atexit' filepath='/usr/include/stdlib.h' line='519' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-121'/>
+      <parameter type-id='type-id-145'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='at_quick_exit' filepath='/usr/include/stdlib.h' line='524' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-121'/>
+      <parameter type-id='type-id-145'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='atof' filepath='/usr/include/x86_64-linux-gnu/bits/stdlib-float.h' line='26' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='atoi' filepath='/usr/include/stdlib.h' line='278' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='atol' filepath='/usr/include/stdlib.h' line='283' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-18'/>
     </function-decl>
     <function-decl name='bsearch' filepath='/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h' line='20' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-122'/>
-      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-146'/>
+      <parameter type-id='type-id-146'/>
       <parameter type-id='type-id-30'/>
       <parameter type-id='type-id-30'/>
       <parameter type-id='type-id-36'/>
-      <return type-id='type-id-122'/>
+      <return type-id='type-id-146'/>
     </function-decl>
     <function-decl name='calloc' filepath='/usr/include/stdlib.h' line='468' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-30'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-122'/>
+      <return type-id='type-id-146'/>
     </function-decl>
     <function-decl name='div' filepath='/usr/include/stdlib.h' line='788' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
@@ -1975,12 +1992,12 @@ 
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='free' filepath='/usr/include/stdlib.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-146'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='getenv' filepath='/usr/include/stdlib.h' line='564' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-73'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='labs' filepath='/usr/include/stdlib.h' line='775' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-18'/>
@@ -1993,27 +2010,27 @@ 
     </function-decl>
     <function-decl name='malloc' filepath='/usr/include/stdlib.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-122'/>
+      <return type-id='type-id-146'/>
     </function-decl>
     <function-decl name='mblen' filepath='/usr/include/stdlib.h' line='862' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='mbstowcs' filepath='/usr/include/stdlib.h' line='873' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='mbtowc' filepath='/usr/include/stdlib.h' line='865' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='qsort' filepath='/usr/include/stdlib.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-146'/>
       <parameter type-id='type-id-30'/>
       <parameter type-id='type-id-30'/>
       <parameter type-id='type-id-36'/>
@@ -2027,43 +2044,43 @@ 
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='realloc' filepath='/usr/include/stdlib.h' line='480' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-146'/>
       <parameter type-id='type-id-30'/>
-      <return type-id='type-id-122'/>
+      <return type-id='type-id-146'/>
     </function-decl>
     <function-decl name='srand' filepath='/usr/include/stdlib.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-23'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='strtod' filepath='/usr/include/stdlib.h' line='164' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-63'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='strtol' filepath='/usr/include/stdlib.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-63'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-18'/>
     </function-decl>
     <function-decl name='strtoul' filepath='/usr/include/stdlib.h' line='187' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-63'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-24'/>
     </function-decl>
     <function-decl name='system' filepath='/usr/include/stdlib.h' line='716' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wcstombs' filepath='/usr/include/stdlib.h' line='876' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-95'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-112'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='wctomb' filepath='/usr/include/stdlib.h' line='869' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-60'/>
+      <parameter type-id='type-id-66'/>
       <parameter type-id='type-id-27'/>
       <return type-id='type-id-16'/>
     </function-decl>
@@ -2081,29 +2098,29 @@ 
       <return type-id='type-id-29'/>
     </function-decl>
     <function-decl name='atoll' filepath='/usr/include/stdlib.h' line='292' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-19'/>
     </function-decl>
     <function-decl name='strtoll' filepath='/usr/include/stdlib.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-63'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-19'/>
     </function-decl>
     <function-decl name='strtoull' filepath='/usr/include/stdlib.h' line='214' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-63'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-20'/>
     </function-decl>
     <function-decl name='strtof' filepath='/usr/include/stdlib.h' line='172' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-63'/>
       <return type-id='type-id-15'/>
     </function-decl>
     <function-decl name='strtold' filepath='/usr/include/stdlib.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-63'/>
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='clearerr' filepath='/usr/include/stdio.h' line='826' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2132,23 +2149,23 @@ 
     </function-decl>
     <function-decl name='fgetpos' filepath='/usr/include/stdio.h' line='798' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-117'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fgets' filepath='/usr/include/stdio.h' line='622' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-60'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='fopen' filepath='/usr/include/stdio.h' line='272' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-74'/>
       <return type-id='type-id-53'/>
     </function-decl>
     <function-decl name='fprintf' filepath='/usr/include/stdio.h' line='356' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
@@ -2158,26 +2175,26 @@ 
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fputs' filepath='/usr/include/stdio.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fread' filepath='/usr/include/stdio.h' line='709' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-147'/>
       <parameter type-id='type-id-30'/>
       <parameter type-id='type-id-30'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='freopen' filepath='/usr/include/stdio.h' line='278' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-53'/>
     </function-decl>
     <function-decl name='fscanf' filepath='/usr/include/stdio.h' line='425' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
@@ -2189,7 +2206,7 @@ 
     </function-decl>
     <function-decl name='fsetpos' filepath='/usr/include/stdio.h' line='803' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-53'/>
-      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-81'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='ftell' filepath='/usr/include/stdio.h' line='754' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2197,7 +2214,7 @@ 
       <return type-id='type-id-18'/>
     </function-decl>
     <function-decl name='fwrite' filepath='/usr/include/stdio.h' line='715' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-147'/>
       <parameter type-id='type-id-30'/>
       <parameter type-id='type-id-30'/>
       <parameter type-id='type-id-54'/>
@@ -2211,11 +2228,11 @@ 
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='perror' filepath='/usr/include/stdio.h' line='846' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='printf' filepath='/usr/include/stdio.h' line='362' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
@@ -2229,16 +2246,16 @@ 
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='puts' filepath='/usr/include/stdio.h' line='695' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='remove' filepath='/usr/include/stdio.h' line='178' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='rename' filepath='/usr/include/stdio.h' line='180' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='rewind' filepath='/usr/include/stdio.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2246,31 +2263,31 @@ 
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='scanf' filepath='/usr/include/stdio.h' line='431' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='setbuf' filepath='/usr/include/stdio.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-67'/>
       <return type-id='type-id-26'/>
     </function-decl>
     <function-decl name='setvbuf' filepath='/usr/include/stdio.h' line='336' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='sprintf' filepath='/usr/include/stdio.h' line='364' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-74'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='sscanf' filepath='/usr/include/stdio.h' line='433' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-74'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
@@ -2278,8 +2295,8 @@ 
       <return type-id='type-id-53'/>
     </function-decl>
     <function-decl name='tmpnam' filepath='/usr/include/stdio.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-60'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='ungetc' filepath='/usr/include/stdio.h' line='702' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
@@ -2288,50 +2305,50 @@ 
     </function-decl>
     <function-decl name='vfprintf' filepath='/usr/include/stdio.h' line='371' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vprintf' filepath='/usr/include/x86_64-linux-gnu/bits/stdio.h' line='36' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vsprintf' filepath='/usr/include/stdio.h' line='379' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='snprintf' filepath='/usr/include/stdio.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-74'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vfscanf' filepath='/usr/include/stdio.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vscanf' filepath='/usr/include/stdio.h' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vsnprintf' filepath='/usr/include/stdio.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vsscanf' filepath='/usr/include/stdio.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='acos' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2382,7 +2399,7 @@ 
     </function-decl>
     <function-decl name='frexp' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='103' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-14'/>
-      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-119'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='ldexp' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2400,7 +2417,7 @@ 
     </function-decl>
     <function-decl name='modf' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-14'/>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-115'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='pow' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2726,15 +2743,15 @@ 
       <return type-id='type-id-18'/>
     </function-decl>
     <function-decl name='nan' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='228' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='nanf' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='228' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-15'/>
     </function-decl>
     <function-decl name='nanl' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='228' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='nearbyint' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='315' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2797,19 +2814,19 @@ 
     <function-decl name='remquo' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='328' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-14'/>
       <parameter type-id='type-id-14'/>
-      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-119'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='remquof' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='328' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-15'/>
       <parameter type-id='type-id-15'/>
-      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-119'/>
       <return type-id='type-id-15'/>
     </function-decl>
     <function-decl name='remquol' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='328' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-17'/>
       <parameter type-id='type-id-17'/>
-      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-119'/>
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='rint' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='289' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2957,11 +2974,11 @@ 
       <return type-id='type-id-31'/>
     </function-decl>
     <function-decl name='wctrans' filepath='/usr/include/wctype.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-46'/>
     </function-decl>
     <function-decl name='wctype' filepath='/usr/include/wctype.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <return type-id='type-id-44'/>
     </function-decl>
     <function-decl name='imaxabs' filepath='/usr/include/inttypes.h' line='290' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2974,762 +2991,771 @@ 
       <return type-id='type-id-49'/>
     </function-decl>
     <function-decl name='strtoimax' filepath='/usr/include/inttypes.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-63'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-48'/>
     </function-decl>
     <function-decl name='strtoumax' filepath='/usr/include/inttypes.h' line='336' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-74'/>
       <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-63'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-50'/>
     </function-decl>
     <function-decl name='wcstoimax' filepath='/usr/include/inttypes.h' line='348' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-48'/>
     </function-decl>
     <function-decl name='wcstoumax' filepath='/usr/include/inttypes.h' line='362' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-151'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-50'/>
     </function-decl>
     <namespace-decl name='mongoutils'>
       <namespace-decl name='str'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-92'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [25]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA25_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-74'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-129' is-artificial='yes'/>
+              <parameter type-id='type-id-79'/>
+              <return type-id='type-id-128'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;int&gt;' mangled-name='_ZN10mongoutils3str6streamlsIiEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-78'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-129' is-artificial='yes'/>
+              <parameter type-id='type-id-83'/>
+              <return type-id='type-id-128'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [21]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA21_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-72'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-129' is-artificial='yes'/>
+              <parameter type-id='type-id-77'/>
+              <return type-id='type-id-128'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [24]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA24_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-73'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-129' is-artificial='yes'/>
+              <parameter type-id='type-id-78'/>
+              <return type-id='type-id-128'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
     </namespace-decl>
-    <reference-type-def kind='lvalue' type-id='type-id-82' size-in-bits='64' id='type-id-142'/>
-    <reference-type-def kind='lvalue' type-id='type-id-161' size-in-bits='64' id='type-id-141'/>
-    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-157'/>
-    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-155'/>
-    <function-type size-in-bits='64' id='type-id-101'>
-      <parameter type-id='type-id-122'/>
-      <parameter type-id='type-id-122'/>
+    <reference-type-def kind='lvalue' type-id='type-id-99' size-in-bits='64' id='type-id-168'/>
+    <reference-type-def kind='lvalue' type-id='type-id-188' size-in-bits='64' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-181'/>
+    <function-type size-in-bits='64' id='type-id-118'>
+      <parameter type-id='type-id-146'/>
+      <parameter type-id='type-id-146'/>
       <return type-id='type-id-16'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-120'>
+    <function-type size-in-bits='64' id='type-id-144'>
       <return type-id='type-id-26'/>
     </function-type>
-    <reference-type-def kind='lvalue' type-id='type-id-81' size-in-bits='64' id='type-id-143'/>
-    <reference-type-def kind='rvalue' type-id='type-id-81' size-in-bits='64' id='type-id-144'/>
-    <class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-103'/>
-    <class-decl name='tm' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-87'/>
+    <reference-type-def kind='lvalue' type-id='type-id-98' size-in-bits='64' id='type-id-169'/>
+    <reference-type-def kind='rvalue' type-id='type-id-98' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-120'/>
+    <class-decl name='tm' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-104'/>
+    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-29' visibility='default' is-declaration-only='yes' id='type-id-28'/>
     <class-decl name='__anonymous_struct__4' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-38' visibility='default' is-declaration-only='yes' id='type-id-37'/>
     <class-decl name='__anonymous_struct__6' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-41' visibility='default' is-declaration-only='yes' id='type-id-43'/>
     <namespace-decl name='std'>
-      <class-decl name='ios_base' size-in-bits='1728' visibility='default' is-declaration-only='yes' id='type-id-164'>
+      <class-decl name='ios_base' size-in-bits='1728' visibility='default' is-declaration-only='yes' id='type-id-191'>
         <member-type access='private'>
-          <typedef-decl name='iostate' type-id='type-id-130' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/ios_base.h' line='398' column='1' id='type-id-158'/>
+          <typedef-decl name='iostate' type-id='type-id-154' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/ios_base.h' line='398' column='1' id='type-id-184'/>
         </member-type>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='std'>
-      <typedef-decl name='streamsize' type-id='type-id-131' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/postypes.h' line='98' column='1' id='type-id-156'/>
+      <typedef-decl name='streamsize' type-id='type-id-155' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/postypes.h' line='98' column='1' id='type-id-182'/>
     </namespace-decl>
-    <qualified-type-def type-id='type-id-154' const='yes' id='type-id-161'/>
-    <qualified-type-def type-id='type-id-111' const='yes' id='type-id-162'/>
-    <qualified-type-def type-id='type-id-115' const='yes' id='type-id-163'/>
+    <qualified-type-def type-id='type-id-180' const='yes' id='type-id-188'/>
+    <qualified-type-def type-id='type-id-135' const='yes' id='type-id-189'/>
+    <qualified-type-def type-id='type-id-139' const='yes' id='type-id-190'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='src/mongo/db/ftdc/collector.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <typedef-decl name='clock_t' type-id='type-id-165' filepath='/usr/include/time.h' line='59' column='1' id='type-id-166'/>
-    <typedef-decl name='__clock_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='135' column='1' id='type-id-165'/>
-    <typedef-decl name='time_t' type-id='type-id-167' filepath='/usr/include/time.h' line='75' column='1' id='type-id-168'/>
-    <typedef-decl name='__time_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='139' column='1' id='type-id-167'/>
-    <qualified-type-def type-id='type-id-59' const='yes' id='type-id-169'/>
-    <reference-type-def kind='lvalue' type-id='type-id-169' size-in-bits='64' id='type-id-170'/>
-    <qualified-type-def type-id='type-id-66' restrict='yes' id='type-id-171'/>
-    <reference-type-def kind='lvalue' type-id='type-id-10' size-in-bits='64' id='type-id-172'/>
-    <qualified-type-def type-id='type-id-173' const='yes' id='type-id-174'/>
-    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-175'/>
-    <qualified-type-def type-id='type-id-176' const='yes' id='type-id-177'/>
-    <reference-type-def kind='lvalue' type-id='type-id-177' size-in-bits='64' id='type-id-178'/>
-    <qualified-type-def type-id='type-id-168' const='yes' id='type-id-179'/>
-    <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-180'/>
-    <reference-type-def kind='lvalue' type-id='type-id-181' size-in-bits='64' id='type-id-182'/>
-    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-184'/>
-    <reference-type-def kind='rvalue' type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
-    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
-    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-188'/>
-    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-191'/>
-    <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-192'/>
+    <typedef-decl name='clock_t' type-id='type-id-192' filepath='/usr/include/time.h' line='59' column='1' id='type-id-193'/>
+    <typedef-decl name='__clock_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='135' column='1' id='type-id-192'/>
+    <typedef-decl name='time_t' type-id='type-id-194' filepath='/usr/include/time.h' line='75' column='1' id='type-id-195'/>
+    <typedef-decl name='__time_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='139' column='1' id='type-id-194'/>
+    <reference-type-def kind='lvalue' type-id='type-id-58' size-in-bits='64' id='type-id-196'/>
+    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <qualified-type-def type-id='type-id-198' restrict='yes' id='type-id-199'/>
+    <reference-type-def kind='lvalue' type-id='type-id-71' size-in-bits='64' id='type-id-200'/>
+    <reference-type-def kind='lvalue' type-id='type-id-10' size-in-bits='64' id='type-id-201'/>
+    <qualified-type-def type-id='type-id-202' const='yes' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-204'/>
+    <reference-type-def kind='lvalue' type-id='type-id-87' size-in-bits='64' id='type-id-205'/>
+    <qualified-type-def type-id='type-id-206' const='yes' id='type-id-207'/>
+    <reference-type-def kind='lvalue' type-id='type-id-207' size-in-bits='64' id='type-id-208'/>
+    <qualified-type-def type-id='type-id-195' const='yes' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-210'/>
+    <reference-type-def kind='lvalue' type-id='type-id-211' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-213' size-in-bits='64' id='type-id-214'/>
+    <reference-type-def kind='rvalue' type-id='type-id-214' size-in-bits='64' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-216' size-in-bits='64' id='type-id-217'/>
+    <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-218'/>
+    <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-221'/>
+    <reference-type-def kind='lvalue' type-id='type-id-95' size-in-bits='64' id='type-id-222'/>
+    <reference-type-def kind='rvalue' type-id='type-id-95' size-in-bits='64' id='type-id-223'/>
+    <qualified-type-def type-id='type-id-130' const='yes' id='type-id-224'/>
+    <reference-type-def kind='lvalue' type-id='type-id-224' size-in-bits='64' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-226'/>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
         <member-function access='public' static='yes'>
           <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2EOS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-62'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2ERKS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='90' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-200'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator=' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEaSERKS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='127' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-200'/>
+            <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='std'>
       <namespace-decl name='__cxx11'>
-        <typedef-decl name='string' type-id='type-id-81' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stringfwd.h' line='74' column='1' id='type-id-176'/>
+        <typedef-decl name='string' type-id='type-id-98' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stringfwd.h' line='74' column='1' id='type-id-206'/>
       </namespace-decl>
       <namespace-decl name='this_thread'>
         <function-decl name='get_id' mangled-name='_ZNSt11this_thread6get_idEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='263' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <return type-id='type-id-28'/>
+          <return type-id='type-id-227'/>
         </function-decl>
         <function-decl name='yield' mangled-name='_ZNSt11this_thread5yieldEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='267' column='1' visibility='default' binding='global' size-in-bits='64'>
           <return type-id='type-id-26'/>
         </function-decl>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-227'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <typedef-decl name='const_iterator' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='233' column='1' id='type-id-193'/>
+          <typedef-decl name='const_iterator' type-id='type-id-58' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='233' column='1' id='type-id-228'/>
         </member-type>
         <member-type access='private'>
-          <typedef-decl name='iterator' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='231' column='1' id='type-id-194'/>
+          <typedef-decl name='iterator' type-id='type-id-58' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='231' column='1' id='type-id-229'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='emplace_back&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' mangled-name='_ZNSt6vectorISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS2_EESaIS5_EE12emplace_backIJS5_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='begin' mangled-name='_ZNKSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE5beginEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='556' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-193'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
+            <return type-id='type-id-228'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='empty' mangled-name='_ZNKSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE5emptyEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='743' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='begin' mangled-name='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE5beginEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='547' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-194'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <return type-id='type-id-229'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='end' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE3endEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='565' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-194'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <return type-id='type-id-229'/>
           </function-decl>
         </member-function>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_emplace_back_aux&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' mangled-name='_ZNSt6vectorISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS2_EESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS2_EESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT_'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-230'>
             <member-type access='private'>
-              <typedef-decl name='type' type-id='type-id-184' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='143' column='1' id='type-id-195'/>
+              <typedef-decl name='type' type-id='type-id-214' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='143' column='1' id='type-id-231'/>
             </member-type>
           </class-decl>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='get' mangled-name='_ZNKSt10unique_ptrINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE3getEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='304' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-147'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
+            <return type-id='type-id-173'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='release' mangled-name='_ZNSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EE7releaseEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-147'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <return type-id='type-id-173'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unique_ptr' mangled-name='_ZNSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EEC2EOS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='205' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator-&gt;' mangled-name='_ZNKSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EEptEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-147'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
+            <return type-id='type-id-173'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~unique_ptr' mangled-name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes' vtable-offset='0'>
           <function-decl name='~_Sp_counted_ptr_inplace' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EED0Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EED2Ev'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' vtable-offset='2'>
           <function-decl name='_M_dispose' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' vtable-offset='3'>
           <function-decl name='_M_destroy' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='536' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-196'/>
+          <typedef-decl name='rebind_alloc&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-232'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt;, std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS2_EEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-108'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-132'/>
+            <parameter type-id='type-id-130'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' naming-typedef-id='type-id-196' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' naming-typedef-id='type-id-232' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::FTDCCollectorInterface *&gt;' mangled-name='_ZNSt10_Head_baseILm0EPN5mongo22FTDCCollectorInterfaceELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-185'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-215'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCCollectorInterface *, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; , void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJPN5mongo22FTDCCollectorInterfaceESt14default_deleteIS1_EEEC2IS2_JS4_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-185'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-215'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='operator()' mangled-name='_ZNKSt14default_deleteIN5mongo22FTDCCollectorInterfaceEEclEPS1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <parameter type-id='type-id-184'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
+            <parameter type-id='type-id-214'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='tuple&lt;mongo::FTDCCollectorInterface *, std::default_delete&lt;mongo::FTDCCollectorInterface&gt;, void&gt;' mangled-name='_ZNSt5tupleIJPN5mongo22FTDCCollectorInterfaceESt14default_deleteIS1_EEEC2IS2_S4_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-185'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-215'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='tuple&lt;mongo::BSONObj, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo7BSONObjENS0_6Date_tEEEC2IS1_RS2_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='tuple&lt;mongo::BSONObj, mongo::Date_t, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo7BSONObjENS0_6Date_tEEEC2IS1_S2_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-233'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-234'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::Date_t &amp;&gt;' mangled-name='_ZNSt10_Head_baseILm2EN5mongo6Date_tELb0EEC2IRS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::Date_t&gt;' mangled-name='_ZNSt10_Head_baseILm2EN5mongo6Date_tELb0EEC2IS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::Date_t &amp;&gt;' mangled-name='_ZNSt11_Tuple_implILm2EJN5mongo6Date_tEEEC2IRS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::Date_t&gt;' mangled-name='_ZNSt11_Tuple_implILm1EJN5mongo6Date_tEEEC2IS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::BSONObj, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm1EJN5mongo7BSONObjENS0_6Date_tEEEC2IS1_JRS2_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::BSONObj, mongo::Date_t, void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo7BSONObjENS0_6Date_tEEEC2IS1_JS2_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::BSONObj&gt;' mangled-name='_ZNSt10_Head_baseILm1EN5mongo7BSONObjELb0EEC2IS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='fetch_add' mangled-name='_ZNSt13__atomic_baseIjE9fetch_addEjSt12memory_order' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='512' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-151'/>
-            <parameter type-id='type-id-132'/>
-            <return type-id='type-id-151'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-177'/>
+            <parameter type-id='type-id-156'/>
+            <return type-id='type-id-177'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='operator()' mangled-name='_ZNKSt14default_deleteIN5mongo14BSONObjBuilderEEclEPS1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
+            <parameter type-id='type-id-126'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; *&gt;, std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPSt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS5_EEES9_EET0_T_SC_SB_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-59'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-130'/>
+            <return type-id='type-id-130'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__23' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__23' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='operator++' mangled-name='_ZNSt13move_iteratorIPSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEEEppEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='1004' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <return type-id='type-id-222'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__destroy&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; *&gt;' mangled-name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS4_EEEEvT_S9_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_construct.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-130'/>
+            <parameter type-id='type-id-130'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <typedef-decl name='BufBuilder' type-id='type-id-28' filepath='src/mongo/bson/util/builder.h' line='365' column='1' id='type-id-181'/>
-      <class-decl name='FTDCCollectorInterface' size-in-bits='64' visibility='default' is-declaration-only='yes' id='type-id-183'/>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <typedef-decl name='BufBuilder' type-id='type-id-86' filepath='src/mongo/bson/util/builder.h' line='365' column='1' id='type-id-211'/>
+      <class-decl name='FTDCCollectorInterface' size-in-bits='64' visibility='default' is-declaration-only='yes' id='type-id-213'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public'>
           <function-decl name='add' mangled-name='_ZN5mongo23FTDCCollectorCollection3addESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE' filepath='src/mongo/db/ftdc/collector.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23FTDCCollectorCollection3addESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='collect' mangled-name='_ZN5mongo23FTDCCollectorCollection7collectEPNS_6ClientE' filepath='src/mongo/db/ftdc/collector.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23FTDCCollectorCollection7collectEPNS_6ClientE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-126'/>
+            <return type-id='type-id-95'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2Ev' filepath='src/mongo/bson/bsonobj.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2EOS0_' filepath='src/mongo/bson/bsonobj.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2EPKc' filepath='src/mongo/bson/bsonobj.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='init' mangled-name='_ZN5mongo7BSONObj4initEPKc' filepath='src/mongo/bson/bsonobj.h' line='555' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='objsize' mangled-name='_ZNK5mongo7BSONObj7objsizeEv' filepath='src/mongo/bson/bsonobj.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
             <return type-id='type-id-16'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='isValid' mangled-name='_ZNK5mongo7BSONObj7isValidEv' filepath='src/mongo/bson/bsonobj.h' line='366' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='shareOwnershipWith' mangled-name='_ZNR5mongo7BSONObj18shareOwnershipWithENS_17ConstSharedBufferE' filepath='src/mongo/bson/bsonobj.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='getServiceContext' mangled-name='_ZNK5mongo6Client17getServiceContextEv' filepath='src/mongo/db/client.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-190'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
+            <return type-id='type-id-220'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='ServiceContext' size-in-bits='2432' visibility='default' is-declaration-only='yes' id='type-id-189'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='ServiceContext' size-in-bits='2432' visibility='default' is-declaration-only='yes' id='type-id-219'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-235'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/mongo/base/string_data.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-178'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-208'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKcmNS0_14TrustedInitTagE' filepath='src/mongo/base/string_data.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
             <parameter type-id='type-id-30'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-235'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='OperationContext' size-in-bits='2176' visibility='default' is-declaration-only='yes' id='type-id-173'>
+      <class-decl name='OperationContext' size-in-bits='2176' visibility='default' is-declaration-only='yes' id='type-id-202'>
         <member-function access='public'>
           <function-decl name='lockState' mangled-name='_ZNK5mongo16OperationContext9lockStateEv' filepath='src/mongo/db/operation_context.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-175' is-artificial='yes'/>
-            <return type-id='type-id-187'/>
+            <parameter type-id='type-id-204' is-artificial='yes'/>
+            <return type-id='type-id-217'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='Locker' size-in-bits='128' visibility='default' is-declaration-only='yes' id='type-id-186'>
+      <class-decl name='Locker' size-in-bits='128' visibility='default' is-declaration-only='yes' id='type-id-216'>
         <member-function access='public'>
           <function-decl name='setShouldConflictWithSecondaryBatchApplication' mangled-name='_ZN5mongo6Locker46setShouldConflictWithSecondaryBatchApplicationEb' filepath='src/mongo/db/concurrency/locker.h' line='323' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-187' is-artificial='yes'/>
+            <parameter type-id='type-id-217' is-artificial='yes'/>
             <parameter type-id='type-id-1'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-236'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='ConstSharedBuffer' mangled-name='_ZN5mongo17ConstSharedBufferC2Ev' filepath='src/mongo/util/shared_buffer.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='release' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE7releaseEv' filepath='src/mongo/bson/util/builder.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' naming-typedef-id='type-id-181' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' naming-typedef-id='type-id-211' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='skip' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE4skipEi' filepath='src/mongo/bson/util/builder.h' line='188' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='reserveBytes' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE12reserveBytesEi' filepath='src/mongo/bson/util/builder.h' line='301' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='appendNumImpl&lt;char&gt;' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE13appendNumImplIcEEvT_' filepath='src/mongo/bson/util/builder.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-2'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='appendNum' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendNumEc' filepath='src/mongo/bson/util/builder.h' line='212' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-2'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='appendStr' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendStrENS_10StringDataEb' filepath='src/mongo/bson/util/builder.h' line='269' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
             <parameter type-id='type-id-1'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='len' mangled-name='_ZNK5mongo11_BufBuilderINS_21SharedBufferAllocatorEE3lenEv' filepath='src/mongo/bson/util/builder.h' line='275' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
             <return type-id='type-id-16'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='buf' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE3bufEv' filepath='src/mongo/bson/util/builder.h' line='193' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='claimReservedBytes' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE18claimReservedBytesEi' filepath='src/mongo/bson/util/builder.h' line='315' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='fetchAndAdd' mangled-name='_ZN5mongo10AtomicWordIjvE11fetchAndAddEj' filepath='src/mongo/platform/atomic_word.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-160'/>
-            <return type-id='type-id-160'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-186'/>
+            <return type-id='type-id-186'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderC2Ei' filepath='src/mongo/bson/bsonobjbuilder.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderC2Ei'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='subobjStart' mangled-name='_ZN5mongo14BSONObjBuilder11subobjStartENS_10StringDataE' filepath='src/mongo/bson/bsonobjbuilder.h' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder11subobjStartENS_10StringDataE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-182'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
+            <return type-id='type-id-212'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderC2ERNS_11_BufBuilderINS_21SharedBufferAllocatorEEE' filepath='src/mongo/bson/bsonobjbuilder.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderC2ERNS_11_BufBuilderINS_21SharedBufferAllocatorEEE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-182'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-212'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderD2Ev' filepath='src/mongo/bson/bsonobjbuilder.h' line='165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderD2Ev'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='owned' mangled-name='_ZNK5mongo14BSONObjBuilder5ownedEv' filepath='src/mongo/bson/bsonobjbuilder.h' line='758' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='done' mangled-name='_ZN5mongo14BSONObjBuilder4doneEv' filepath='src/mongo/bson/bsonobjbuilder.h' line='677' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='obj' mangled-name='_ZN5mongo14BSONObjBuilder3objEv' filepath='src/mongo/bson/bsonobjbuilder.h' line='665' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder3objEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='_done' mangled-name='_ZN5mongo14BSONObjBuilder5_doneEv' filepath='src/mongo/bson/bsonobjbuilder.h' line='775' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder5_doneEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-237'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeStore' mangled-name='_ZN5mongo8DataType7HandlerIcvE11unsafeStoreERKcPcPm' filepath='src/mongo/base/data_type.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-172'/>
-                <parameter type-id='type-id-60'/>
-                <parameter type-id='type-id-191'/>
+                <parameter type-id='type-id-201'/>
+                <parameter type-id='type-id-66'/>
+                <parameter type-id='type-id-221'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-237'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeStore' mangled-name='_ZN5mongo8DataType7HandlerINS_12LittleEndianIxEEvE11unsafeStoreERKS3_PcPm' filepath='src/mongo/base/data_type_endian.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-65'/>
-                <parameter type-id='type-id-60'/>
-                <parameter type-id='type-id-191'/>
+                <parameter type-id='type-id-205'/>
+                <parameter type-id='type-id-66'/>
+                <parameter type-id='type-id-221'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-237'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeLoad' mangled-name='_ZN5mongo8DataType7HandlerIivE10unsafeLoadEPiPKcPm' filepath='src/mongo/base/data_type.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-102'/>
-                <parameter type-id='type-id-68'/>
-                <parameter type-id='type-id-191'/>
+                <parameter type-id='type-id-119'/>
+                <parameter type-id='type-id-73'/>
+                <parameter type-id='type-id-221'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeStore' mangled-name='_ZN5mongo8DataType7HandlerIivE11unsafeStoreERKiPcPm' filepath='src/mongo/base/data_type.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-78'/>
-                <parameter type-id='type-id-60'/>
-                <parameter type-id='type-id-191'/>
+                <parameter type-id='type-id-83'/>
+                <parameter type-id='type-id-66'/>
+                <parameter type-id='type-id-221'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-237'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeLoad' mangled-name='_ZN5mongo8DataType7HandlerINS_12LittleEndianIyEEvE10unsafeLoadEPS3_PKcPm' filepath='src/mongo/base/data_type_endian.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59'/>
-                <parameter type-id='type-id-68'/>
-                <parameter type-id='type-id-191'/>
+                <parameter type-id='type-id-126'/>
+                <parameter type-id='type-id-73'/>
+                <parameter type-id='type-id-221'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
@@ -3737,102 +3763,102 @@ 
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;char&gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreIcEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-172'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-191'/>
+            <parameter type-id='type-id-201'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-221'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;mongo::LittleEndian&lt;char&gt; &gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreINS_12LittleEndianIcEEEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-191'/>
+            <parameter type-id='type-id-205'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-221'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeLoad&lt;int&gt;' mangled-name='_ZN5mongo8DataType10unsafeLoadIiEEvPT_PKcPm' filepath='src/mongo/base/data_type.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-102'/>
-            <parameter type-id='type-id-68'/>
-            <parameter type-id='type-id-191'/>
+            <parameter type-id='type-id-119'/>
+            <parameter type-id='type-id-73'/>
+            <parameter type-id='type-id-221'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeLoad&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZN5mongo8DataType10unsafeLoadINS_12LittleEndianIiEEEEvPT_PKcPm' filepath='src/mongo/base/data_type.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-68'/>
-            <parameter type-id='type-id-191'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-73'/>
+            <parameter type-id='type-id-221'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;int&gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreIiEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-78'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-191'/>
+            <parameter type-id='type-id-83'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-221'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreINS_12LittleEndianIiEEEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-191'/>
+            <parameter type-id='type-id-205'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-221'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <typedef-decl name='bytes_type' type-id='type-id-60' filepath='src/mongo/base/data_view.h' line='71' column='1' id='type-id-197'/>
+          <typedef-decl name='bytes_type' type-id='type-id-66' filepath='src/mongo/base/data_view.h' line='71' column='1' id='type-id-238'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='write&lt;mongo::LittleEndian&lt;char&gt; &gt;' mangled-name='_ZN5mongo8DataView5writeINS_12LittleEndianIcEEEERS0_RKT_m' filepath='src/mongo/base/data_view.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-205'/>
             <parameter type-id='type-id-51'/>
-            <return type-id='type-id-57'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='write&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZN5mongo8DataView5writeINS_12LittleEndianIiEEEERS0_RKT_m' filepath='src/mongo/base/data_view.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-205'/>
             <parameter type-id='type-id-51'/>
-            <return type-id='type-id-57'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='read&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZNK5mongo13ConstDataView4readINS_12LittleEndianIiEEEERKS0_PT_m' filepath='src/mongo/base/data_view.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
+            <parameter type-id='type-id-126'/>
             <parameter type-id='type-id-30'/>
-            <return type-id='type-id-65'/>
+            <return type-id='type-id-205'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='read&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZNK5mongo13ConstDataView4readINS_12LittleEndianIiEEEET_m' filepath='src/mongo/base/data_view.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
             <parameter type-id='type-id-51'/>
-            <return type-id='type-id-28'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-198'>
+          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-239'>
             <underlying-type type-id='type-id-21'/>
           </enum-decl>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='got' mangled-name='_ZN5mongo15BSONSizeTracker3gotEi' filepath='src/mongo/bson/bsonmisc.h' line='258' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-26'/>
           </function-decl>
@@ -3840,645 +3866,650 @@ 
       </class-decl>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' naming-typedef-id='type-id-193' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' naming-typedef-id='type-id-194' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' naming-typedef-id='type-id-228' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' naming-typedef-id='type-id-229' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-function access='public'>
           <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS3_EESt6vectorIS6_SaIS6_EEEC2ERKS7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='740' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-170'/>
+            <parameter type-id='type-id-225'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator++' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPN5mongo7BSONObjESt6vectorIS2_SaIS2_EEEppEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='761' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-57'/>
+            <return type-id='type-id-196'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-240'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt;, std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS3_EEE9constructIS6_JS6_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
     </namespace-decl>
     <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='858' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
+      <parameter type-id='type-id-149'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-95'/>
-      <parameter type-id='type-id-171'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-199'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='clock' filepath='/usr/include/time.h' line='189' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <return type-id='type-id-166'/>
+      <return type-id='type-id-193'/>
     </function-decl>
     <function-decl name='difftime' filepath='/usr/include/time.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-168'/>
-      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-195'/>
+      <parameter type-id='type-id-195'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='mktime' filepath='/usr/include/time.h' line='199' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-59'/>
-      <return type-id='type-id-168'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-195'/>
     </function-decl>
     <function-decl name='time' filepath='/usr/include/time.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-192'/>
-      <return type-id='type-id-168'/>
+      <parameter type-id='type-id-226'/>
+      <return type-id='type-id-195'/>
     </function-decl>
     <function-decl name='asctime' filepath='/usr/include/time.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-66'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-198'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='ctime' filepath='/usr/include/time.h' line='264' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-180'/>
-      <return type-id='type-id-60'/>
+      <parameter type-id='type-id-210'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='gmtime' filepath='/usr/include/time.h' line='239' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-180'/>
-      <return type-id='type-id-59'/>
+      <parameter type-id='type-id-210'/>
+      <return type-id='type-id-57'/>
     </function-decl>
     <function-decl name='localtime' filepath='/usr/include/time.h' line='243' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-180'/>
-      <return type-id='type-id-59'/>
+      <parameter type-id='type-id-210'/>
+      <return type-id='type-id-57'/>
     </function-decl>
     <function-decl name='strftime' filepath='/usr/include/time.h' line='205' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-30'/>
-      <parameter type-id='type-id-69'/>
-      <parameter type-id='type-id-171'/>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-199'/>
       <return type-id='type-id-30'/>
     </function-decl>
     <function-decl name='strnlen' filepath='/usr/include/string.h' line='401' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-73'/>
       <parameter type-id='type-id-30'/>
       <return type-id='type-id-30'/>
     </function-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='src/mongo/db/ftdc/compressor.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <typedef-decl name='is_not_reference_tag' type-id='type-id-199' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='219' column='1' id='type-id-200'/>
-    <typedef-decl name='uint32_t' type-id='type-id-23' filepath='/usr/include/stdint.h' line='51' column='1' id='type-id-201'/>
-    <typedef-decl name='uint64_t' type-id='type-id-24' filepath='/usr/include/stdint.h' line='55' column='1' id='type-id-202'/>
-    <reference-type-def kind='lvalue' type-id='type-id-203' size-in-bits='64' id='type-id-204'/>
-    <reference-type-def kind='lvalue' type-id='type-id-1' size-in-bits='64' id='type-id-205'/>
-    <qualified-type-def type-id='type-id-23' const='yes' id='type-id-206'/>
-    <reference-type-def kind='lvalue' type-id='type-id-206' size-in-bits='64' id='type-id-207'/>
-    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-208'/>
-    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-209'/>
-    <reference-type-def kind='rvalue' type-id='type-id-210' size-in-bits='64' id='type-id-211'/>
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-212'/>
+    <typedef-decl name='is_not_reference_tag' type-id='type-id-241' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='219' column='1' id='type-id-242'/>
+    <typedef-decl name='uint32_t' type-id='type-id-23' filepath='/usr/include/stdint.h' line='51' column='1' id='type-id-243'/>
+    <typedef-decl name='uint64_t' type-id='type-id-24' filepath='/usr/include/stdint.h' line='55' column='1' id='type-id-244'/>
+    <reference-type-def kind='lvalue' type-id='type-id-245' size-in-bits='64' id='type-id-246'/>
+    <reference-type-def kind='lvalue' type-id='type-id-1' size-in-bits='64' id='type-id-247'/>
+    <reference-type-def kind='rvalue' type-id='type-id-64' size-in-bits='64' id='type-id-248'/>
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <qualified-type-def type-id='type-id-23' const='yes' id='type-id-251'/>
+    <reference-type-def kind='lvalue' type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-253'/>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
+    <reference-type-def kind='rvalue' type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+    <reference-type-def kind='lvalue' type-id='type-id-257' size-in-bits='64' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-260'/>
     <namespace-decl name='boost'>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'>
           <member-function access='protected'>
             <function-decl name='destroy' mangled-name='_ZN5boost15optional_detail13optional_baseIbE7destroyEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='704' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='protected' destructor='yes'>
             <function-decl name='~optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseIbED2Ev' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='327' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='destroy_impl' mangled-name='_ZN5boost15optional_detail13optional_baseIbE12destroy_implEN4mpl_5bool_ILb0EEE' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='745' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-200'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-242'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes'>
             <function-decl name='is_initialized' mangled-name='_ZNK5boost15optional_detail13optional_baseIN5mongo12FTDCBSONUtil8FTDCTypeEE14is_initializedEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='468' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
+              <parameter type-id='type-id-250' is-artificial='yes'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'>
           <member-type access='public'>
-            <typedef-decl name='reference_type' type-id='type-id-205' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='150' column='1' id='type-id-213'/>
+            <typedef-decl name='reference_type' type-id='type-id-247' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='150' column='1' id='type-id-261'/>
           </member-type>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'>
           <member-function access='protected'>
             <function-decl name='optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseISt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS4_EEEC2EOS8_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='292' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-58'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-248'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
         <member-function access='public' static='yes'>
           <function-decl name='optional' mangled-name='_ZN5boost8optionalISt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS3_EEEC2EOS7_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='870' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-62'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
         <member-type access='private'>
-          <typedef-decl name='reference_type' type-id='type-id-213' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='774' column='1' id='type-id-214'/>
+          <typedef-decl name='reference_type' type-id='type-id-261' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='774' column='1' id='type-id-262'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='get' mangled-name='_ZN5boost8optionalIN5mongo12FTDCBSONUtil8FTDCTypeEE3getEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='1025' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-214'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <return type-id='type-id-262'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator*' mangled-name='_ZNR5boost8optionalIN5mongo12FTDCBSONUtil8FTDCTypeEEdeEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='1042' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-214'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <return type-id='type-id-262'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
     </namespace-decl>
     <namespace-decl name='std'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='tuple&lt;mongo::ConstDataRange &amp;, mongo::FTDCCompressor::CompressorState, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo14ConstDataRangeENS0_14FTDCCompressor15CompressorStateENS0_6Date_tEEEC2IJRS1_S3_RS4_EvEEDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
-            <parameter type-id='type-id-211'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-124'/>
+            <parameter type-id='type-id-256'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='tuple' mangled-name='_ZNSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS0_7BSONObjENS0_6Date_tEEEC2EOS5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='484' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <typedef-decl name='reference' type-id='type-id-216' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='229' column='1' id='type-id-215'/>
+          <typedef-decl name='reference' type-id='type-id-264' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='229' column='1' id='type-id-263'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='swap' mangled-name='_ZNSt6thread4swapERS_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1194' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-222'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator[]' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EEixEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='779' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
-            <return type-id='type-id-215'/>
+            <return type-id='type-id-263'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='clear' mangled-name='_ZNSt6vectorImSaImEE5clearEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-257'>
             <member-function access='public' static='yes'>
               <function-decl name='_M_swap_data' mangled-name='_ZNSt12_Vector_baseIN5mongo7BSONObjESaIS1_EE12_Vector_impl12_M_swap_dataERS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
-                <parameter type-id='type-id-57'/>
+                <parameter type-id='type-id-259' is-artificial='yes'/>
+                <parameter type-id='type-id-258'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;unsigned long&gt;' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-217'/>
+          <typedef-decl name='rebind_alloc&lt;unsigned long&gt;' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-265'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='value_type' type-id='type-id-24' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='447' column='1' id='type-id-218'/>
+          <typedef-decl name='value_type' type-id='type-id-24' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='447' column='1' id='type-id-266'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' naming-typedef-id='type-id-217' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' naming-typedef-id='type-id-265' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='tuple&lt;mongo::ConstDataRange, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo14ConstDataRangeENS0_6Date_tEEEC2IS1_RS2_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo12FTDCBSONUtil8FTDCTypeENS0_7BSONObjENS0_6Date_tEEEC2EOS5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='367' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCCompressor::CompressorState, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm1EJN5mongo14FTDCCompressor15CompressorStateENS0_6Date_tEEEC2IS2_JRS3_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-211'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-256'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::ConstDataRange &amp;, mongo::FTDCCompressor::CompressorState, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo14ConstDataRangeENS0_14FTDCCompressor15CompressorStateENS0_6Date_tEEEC2IRS1_JS3_RS4_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
-            <parameter type-id='type-id-211'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-124'/>
+            <parameter type-id='type-id-256'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::FTDCCompressor::CompressorState&gt;' mangled-name='_ZNSt10_Head_baseILm1EN5mongo14FTDCCompressor15CompressorStateELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-211'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-256'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::ConstDataRange&gt;' mangled-name='_ZNSt10_Head_baseILm0EN5mongo14ConstDataRangeELb0EEC2IS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-267'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='operator bool' mangled-name='_ZNKSt10unique_ptrINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEcvbEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='318' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='reset' mangled-name='_ZNSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EE5resetEPS1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='339' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-147'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-173'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator=' mangled-name='_ZNSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EEaSEOS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='249' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
+            <return type-id='type-id-222'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::ConstDataRange, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo14ConstDataRangeENS0_6Date_tEEEC2IS1_JRS2_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_default_n&lt;unsigned long *, unsigned long&gt;' mangled-name='_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPmmEET_S3_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-212'/>
+            <parameter type-id='type-id-260'/>
             <parameter type-id='type-id-24'/>
-            <return type-id='type-id-212'/>
+            <return type-id='type-id-260'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__copy_m&lt;unsigned long&gt;' mangled-name='_ZNSt11__copy_moveILb1ELb1ESt26random_access_iterator_tagE8__copy_mImEEPT_PKS3_S6_S4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h' line='373' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-209'/>
-            <parameter type-id='type-id-209'/>
-            <parameter type-id='type-id-212'/>
-            <return type-id='type-id-212'/>
+            <parameter type-id='type-id-254'/>
+            <parameter type-id='type-id-254'/>
+            <parameter type-id='type-id-260'/>
+            <return type-id='type-id-260'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;unsigned long *&gt;, unsigned long *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb1EE13__uninit_copyISt13move_iteratorIPmES3_EET0_T_S6_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-212'/>
-            <return type-id='type-id-212'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-260'/>
+            <return type-id='type-id-260'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public'>
           <function-decl name='objdata' mangled-name='_ZNK5mongo7BSONObj7objdataEv' filepath='src/mongo/bson/bsonobj.h' line='356' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-68'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
+            <return type-id='type-id-73'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='isEmpty' mangled-name='_ZNK5mongo7BSONObj7isEmptyEv' filepath='src/mongo/bson/bsonobj.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='swap' mangled-name='_ZN5mongo17ConstSharedBuffer4swapERS0_' filepath='src/mongo/bson/bsonobj.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator=' mangled-name='_ZN5mongo7BSONObjaSES0_' filepath='src/mongo/bson/bsonobj.h' line='144' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2ERKS0_' filepath='src/mongo/bson/bsonobj.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-205'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='isOK' mangled-name='_ZNK5mongo6Status4isOKEv' filepath='src/mongo/base/status_with.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='getValue' mangled-name='_ZN5mongo10StatusWithIbE8getValueEv' filepath='src/mongo/base/status_with.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-205'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-247'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-268'/>
         </member-type>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~Status' mangled-name='_ZN5mongo6StatusD2Ev' filepath='src/mongo/base/status.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='unref' mangled-name='_ZN5mongo6Status5unrefEPNS0_9ErrorInfoE' filepath='src/mongo/base/status.h' line='181' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-127'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='ref' mangled-name='_ZN5mongo6Status3refEPNS0_9ErrorInfoE' filepath='src/mongo/base/status.h' line='180' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-127'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2ERKS0_' filepath='src/mongo/base/status.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-205'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2EOS0_' filepath='src/mongo/base/status.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator=' mangled-name='_ZN5mongo6StatusaSEOS0_' filepath='src/mongo/base/status.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-210'>
+          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-255'>
             <underlying-type type-id='type-id-21'/>
           </enum-decl>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='getArrayOffset' mangled-name='_ZN5mongo14FTDCCompressor14getArrayOffsetEjjj' filepath='src/mongo/db/ftdc/compressor.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-201'/>
-            <parameter type-id='type-id-201'/>
-            <parameter type-id='type-id-201'/>
+            <parameter type-id='type-id-243'/>
+            <parameter type-id='type-id-243'/>
+            <parameter type-id='type-id-243'/>
             <return type-id='type-id-30'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='addSample' mangled-name='_ZN5mongo14FTDCCompressor9addSampleERKNS_7BSONObjENS_6Date_tE' filepath='src/mongo/db/ftdc/compressor.h' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCCompressor9addSampleERKNS_7BSONObjENS_6Date_tE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-205'/>
+            <parameter type-id='type-id-86'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='_reset' mangled-name='_ZN5mongo14FTDCCompressor6_resetERKNS_7BSONObjENS_6Date_tE' filepath='src/mongo/db/ftdc/compressor.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCCompressor6_resetERKNS_7BSONObjENS_6Date_tE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-205'/>
+            <parameter type-id='type-id-86'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='getCompressedSamples' mangled-name='_ZN5mongo14FTDCCompressor20getCompressedSamplesEv' filepath='src/mongo/db/ftdc/compressor.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCCompressor20getCompressedSamplesEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='reset' mangled-name='_ZN5mongo14FTDCCompressor5resetEv' filepath='src/mongo/db/ftdc/compressor.h' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCCompressor5resetEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='getValue' mangled-name='_ZN5mongo10StatusWithISt5tupleIJNS_14ConstDataRangeENS_6Date_tEEEE8getValueEv' filepath='src/mongo/base/status_with.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-222'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-269'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='setlen' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE6setlenEi' filepath='src/mongo/bson/util/builder.h' line='278' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='appendBuf' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendBufEPKvm' filepath='src/mongo/bson/util/builder.h' line='259' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-122'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-146'/>
             <parameter type-id='type-id-30'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='appendNumImpl&lt;unsigned int&gt;' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE13appendNumImplIjEEvT_' filepath='src/mongo/bson/util/builder.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-23'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='appendNum' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendNumEj' filepath='src/mongo/bson/util/builder.h' line='223' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-23'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-237'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-237'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-237'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeStore' mangled-name='_ZN5mongo8DataType7HandlerIjvE11unsafeStoreERKjPcPm' filepath='src/mongo/base/data_type.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-207'/>
-                <parameter type-id='type-id-60'/>
-                <parameter type-id='type-id-191'/>
+                <parameter type-id='type-id-252'/>
+                <parameter type-id='type-id-66'/>
+                <parameter type-id='type-id-221'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-237'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;unsigned int&gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreIjEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-207'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-191'/>
+            <parameter type-id='type-id-252'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-221'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreINS_12LittleEndianIjEEEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-191'/>
+            <parameter type-id='type-id-205'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-221'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='store&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo8DataType5storeINS_10FTDCVarIntEEENS_6StatusERKT_PcmPml' filepath='src/mongo/base/data_type.h' line='144' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-205'/>
+            <parameter type-id='type-id-66'/>
             <parameter type-id='type-id-30'/>
-            <parameter type-id='type-id-191'/>
-            <parameter type-id='type-id-131'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-221'/>
+            <parameter type-id='type-id-155'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='FTDCVarInt' mangled-name='_ZN5mongo10FTDCVarIntC2Em' filepath='src/mongo/db/ftdc/varint.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-202'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-244'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='write&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo8DataView5writeINS_12LittleEndianIjEEEERS0_RKT_m' filepath='src/mongo/base/data_view.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-205'/>
             <parameter type-id='type-id-51'/>
-            <return type-id='type-id-57'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-270'>
             <member-function access='public' static='yes'>
               <function-decl name='operator()' mangled-name='_ZN5mongo11DataBuilder7FreeBufclEPc' filepath='src/mongo/base/data_builder.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
-                <parameter type-id='type-id-60'/>
+                <parameter type-id='type-id-127' is-artificial='yes'/>
+                <parameter type-id='type-id-66'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
@@ -4486,940 +4517,953 @@ 
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='DataBuilder' mangled-name='_ZN5mongo11DataBuilderC2Em' filepath='src/mongo/base/data_builder.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-51'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='getCursor' mangled-name='_ZN5mongo11DataBuilder9getCursorEv' filepath='src/mongo/base/data_builder.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='size' mangled-name='_ZNK5mongo11DataBuilder4sizeEv' filepath='src/mongo/base/data_builder.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
             <return type-id='type-id-51'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='_ensureStorage' mangled-name='_ZN5mongo11DataBuilder14_ensureStorageEv' filepath='src/mongo/base/data_builder.h' line='247' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='_getSerializedSize&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo11DataBuilder18_getSerializedSizeINS_10FTDCVarIntEEEmRKT_' filepath='src/mongo/base/data_builder.h' line='235' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-205'/>
             <return type-id='type-id-51'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='reserve' mangled-name='_ZN5mongo11DataBuilder7reserveEm' filepath='src/mongo/base/data_builder.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-51'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='writeAndAdvance&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo11DataBuilder15writeAndAdvanceINS_10FTDCVarIntEEENS_6StatusERKT_' filepath='src/mongo/base/data_builder.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11DataBuilder15writeAndAdvanceINS_10FTDCVarIntEEENS_6StatusERKT_'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-205'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='resize' mangled-name='_ZN5mongo11DataBuilder6resizeEm' filepath='src/mongo/base/data_builder.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11DataBuilder6resizeEm'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-51'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='getValue' mangled-name='_ZN5mongo10StatusWithINS_9ValidatedINS_7BSONObjEEEE8getValueEv' filepath='src/mongo/base/status_with.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='DataRange' mangled-name='_ZN5mongo9DataRangeC2EPcS1_l' filepath='src/mongo/base/data_range.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-197'/>
-            <parameter type-id='type-id-197'/>
-            <parameter type-id='type-id-131'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-238'/>
+            <parameter type-id='type-id-238'/>
+            <parameter type-id='type-id-155'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='DataRangeCursor' mangled-name='_ZN5mongo15DataRangeCursorC2EPcS1_l' filepath='src/mongo/base/data_range_cursor.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-131'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-155'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
     </namespace-decl>
     <namespace-decl name='mpl_'>
-      <typedef-decl name='false_' type-id='type-id-28' filepath='src/third_party/boost-1.60.0/boost/mpl/bool_fwd.hpp' line='25' column='1' id='type-id-199'/>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-199' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <typedef-decl name='false_' type-id='type-id-271' filepath='src/third_party/boost-1.60.0/boost/mpl/bool_fwd.hpp' line='25' column='1' id='type-id-241'/>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-241' visibility='default' is-declaration-only='yes' id='type-id-271'/>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <typedef-decl name='reference' type-id='type-id-204' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='109' column='1' id='type-id-216'/>
+          <typedef-decl name='reference' type-id='type-id-246' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='109' column='1' id='type-id-264'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='value_type' type-id='type-id-218' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='103' column='1' id='type-id-203'/>
+          <typedef-decl name='value_type' type-id='type-id-266' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='103' column='1' id='type-id-245'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-272'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
     </namespace-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='src/mongo/db/ftdc/controller.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='832' id='type-id-219'>
-      <subrange length='104' type-id='type-id-4' id='type-id-220'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='832' id='type-id-273'>
+      <subrange length='104' type-id='type-id-4' id='type-id-274'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='288' id='type-id-221'>
-      <subrange length='36' type-id='type-id-4' id='type-id-222'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='288' id='type-id-275'>
+      <subrange length='36' type-id='type-id-4' id='type-id-276'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='832' id='type-id-223'>
-      <subrange length='104' type-id='type-id-4' id='type-id-220'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='832' id='type-id-277'>
+      <subrange length='104' type-id='type-id-4' id='type-id-274'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='288' id='type-id-224'>
-      <subrange length='36' type-id='type-id-4' id='type-id-222'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='288' id='type-id-278'>
+      <subrange length='36' type-id='type-id-4' id='type-id-276'/>
     </array-type-def>
-    <reference-type-def kind='rvalue' type-id='type-id-59' size-in-bits='64' id='type-id-225'/>
-    <reference-type-def kind='lvalue' type-id='type-id-223' size-in-bits='64' id='type-id-226'/>
-    <reference-type-def kind='lvalue' type-id='type-id-224' size-in-bits='64' id='type-id-227'/>
-    <reference-type-def kind='lvalue' type-id='type-id-82' size-in-bits='64' id='type-id-142'/>
-    <qualified-type-def type-id='type-id-228' const='yes' id='type-id-229'/>
-    <reference-type-def kind='lvalue' type-id='type-id-229' size-in-bits='64' id='type-id-230'/>
-    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-231'/>
-    <reference-type-def kind='lvalue' type-id='type-id-232' size-in-bits='64' id='type-id-233'/>
-    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-235'/>
-    <reference-type-def kind='lvalue' type-id='type-id-236' size-in-bits='64' id='type-id-237'/>
-    <pointer-type-def type-id='type-id-236' size-in-bits='64' id='type-id-238'/>
-    <reference-type-def kind='lvalue' type-id='type-id-81' size-in-bits='64' id='type-id-143'/>
-    <reference-type-def kind='lvalue' type-id='type-id-239' size-in-bits='64' id='type-id-240'/>
+    <reference-type-def kind='lvalue' type-id='type-id-279' size-in-bits='64' id='type-id-280'/>
+    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-281'/>
+    <qualified-type-def type-id='type-id-279' const='yes' id='type-id-282'/>
+    <reference-type-def kind='lvalue' type-id='type-id-282' size-in-bits='64' id='type-id-283'/>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-284'/>
+    <reference-type-def kind='lvalue' type-id='type-id-277' size-in-bits='64' id='type-id-285'/>
+    <reference-type-def kind='lvalue' type-id='type-id-278' size-in-bits='64' id='type-id-286'/>
+    <reference-type-def kind='lvalue' type-id='type-id-96' size-in-bits='64' id='type-id-287'/>
+    <reference-type-def kind='lvalue' type-id='type-id-99' size-in-bits='64' id='type-id-168'/>
+    <qualified-type-def type-id='type-id-288' const='yes' id='type-id-289'/>
+    <reference-type-def kind='lvalue' type-id='type-id-289' size-in-bits='64' id='type-id-290'/>
+    <qualified-type-def type-id='type-id-291' const='yes' id='type-id-292'/>
+    <reference-type-def kind='lvalue' type-id='type-id-292' size-in-bits='64' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-294'/>
+    <reference-type-def kind='rvalue' type-id='type-id-126' size-in-bits='64' id='type-id-295'/>
+    <reference-type-def kind='lvalue' type-id='type-id-296' size-in-bits='64' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-298'/>
+    <reference-type-def kind='lvalue' type-id='type-id-299' size-in-bits='64' id='type-id-300'/>
+    <reference-type-def kind='rvalue' type-id='type-id-299' size-in-bits='64' id='type-id-301'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-302'/>
+    <reference-type-def kind='lvalue' type-id='type-id-303' size-in-bits='64' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-305' size-in-bits='64' id='type-id-306'/>
+    <reference-type-def kind='lvalue' type-id='type-id-307' size-in-bits='64' id='type-id-308'/>
+    <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-309'/>
+    <reference-type-def kind='lvalue' type-id='type-id-98' size-in-bits='64' id='type-id-169'/>
+    <reference-type-def kind='lvalue' type-id='type-id-310' size-in-bits='64' id='type-id-311'/>
     <namespace-decl name='boost'>
       <namespace-decl name='filesystem'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-279'>
           <member-function access='public'>
             <function-decl name='empty' mangled-name='_ZNK5boost10filesystem4path5emptyEv' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='511' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
+              <parameter type-id='type-id-284' is-artificial='yes'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZN5boost10filesystem4pathaSERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='190' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-65'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-283'/>
+              <return type-id='type-id-280'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
     </namespace-decl>
     <namespace-decl name='std'>
-      <typedef-decl name='ostream' type-id='type-id-241' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/iosfwd' line='141' column='1' id='type-id-239'/>
-      <typedef-decl name='__alloc_rebind&lt;std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Sp_counted_ptr_inplace&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, __gnu_cxx::_Lock_policy::_S_atomic&gt; &gt;' type-id='type-id-242' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='76' column='1' id='type-id-243'/>
+      <typedef-decl name='ostream' type-id='type-id-312' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/iosfwd' line='141' column='1' id='type-id-310'/>
+      <typedef-decl name='__alloc_rebind&lt;std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Sp_counted_ptr_inplace&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, __gnu_cxx::_Lock_policy::_S_atomic&gt; &gt;' type-id='type-id-313' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='76' column='1' id='type-id-314'/>
       <namespace-decl name='__cxx11'>
-        <class-decl name='basic_ostringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='3008' visibility='default' is-declaration-only='yes' id='type-id-236'/>
+        <class-decl name='basic_ostringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='3008' visibility='default' is-declaration-only='yes' id='type-id-307'/>
       </namespace-decl>
       <namespace-decl name='chrono'>
-        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-288'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-288'>
           <member-function access='public' static='yes'>
             <function-decl name='__cast&lt;long, std::ratio&lt;1, 1000000000&gt; &gt;' mangled-name='_ZNSt6chrono20__duration_cast_implINS_8durationIlSt5ratioILl1ELl1EEEES2_ILl1ELl1000000000EElLb1ELb0EE6__castIlS5_EES4_RKNS1_IT_T0_EE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/chrono' line='159' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-65'/>
-              <return type-id='type-id-28'/>
+              <parameter type-id='type-id-290'/>
+              <return type-id='type-id-288'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-288'>
           <member-type access='public'>
-            <typedef-decl name='rep' type-id='type-id-18' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/chrono' line='243' column='1' id='type-id-244'/>
+            <typedef-decl name='rep' type-id='type-id-18' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/chrono' line='243' column='1' id='type-id-315'/>
           </member-type>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-288'/>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public'>
           <function-decl name='__shared_count' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='565' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~__shared_count' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='656' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='__shared_count&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2INSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPSA_EEvEEEESaISJ_EJSI_EEESt19_Sp_make_shared_tagPT_RKT0_DpOT1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='609' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-259'/>
+            <parameter type-id='type-id-287'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_M_swap' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE7_M_swapERS2_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='685' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-222'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-230'>
             <member-function access='public' static='yes'>
               <function-decl name='_Impl' mangled-name='_ZNSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS5_EEvEEEC2EOSD_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='111' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
-                <parameter type-id='type-id-58'/>
+                <parameter type-id='type-id-259' is-artificial='yes'/>
+                <parameter type-id='type-id-223'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes' destructor='yes' vtable-offset='0'>
               <function-decl name='~_Impl_base' mangled-name='_ZNSt6thread10_Impl_baseD0Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6thread10_Impl_baseD0Ev'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
+                <parameter type-id='type-id-259' is-artificial='yes'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes' destructor='yes' vtable-offset='0'>
               <function-decl name='~_Impl_base' mangled-name='_ZNSt6thread10_Impl_baseD2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6thread10_Impl_baseD2Ev'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
+                <parameter type-id='type-id-259' is-artificial='yes'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes' vtable-offset='2'>
               <function-decl name='_M_run' mangled-name='_ZNSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS5_EEvEEE6_M_runEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS5_EEvEEE6_M_runEv'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
+                <parameter type-id='type-id-259' is-artificial='yes'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-230'>
             <member-function access='public' static='yes'>
               <function-decl name='id' mangled-name='_ZNSt6thread2idC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='73' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
+                <parameter type-id='type-id-259' is-artificial='yes'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-230'>
           </class-decl>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='joinable' mangled-name='_ZNKSt6thread8joinableEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='169' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='_M_make_routine&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt6thread15_M_make_routineISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS5_EEvEEEESt10shared_ptrINS_5_ImplIT_EEEOSG_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='201' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
+            <return type-id='type-id-95'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='thread&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt;&gt;' mangled-name='_ZNSt6threadC2ISt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS4_EEJEEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6threadC2ISt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS4_EEJEEEOT_DpOT0_'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='result_type' type-id='type-id-246' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1505' column='1' id='type-id-245'/>
+          <typedef-decl name='result_type' type-id='type-id-317' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1505' column='1' id='type-id-316'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt;&gt;' mangled-name='_ZNSt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEvEEC2IS9_JEEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1509' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_Bind_simple' mangled-name='_ZNSt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEvEEC2EOSB_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1514' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='_M_invoke&lt;&gt;' mangled-name='_ZNSt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEvEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1526' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-246'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-95'/>
+            <return type-id='type-id-317'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator()' mangled-name='_ZNSt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEvEEclEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1517' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-245'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <return type-id='type-id-316'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='type' type-id='type-id-26' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/type_traits' line='158' column='1' id='type-id-246'/>
+          <typedef-decl name='type' type-id='type-id-26' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/type_traits' line='158' column='1' id='type-id-317'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='private' static='yes'>
           <function-decl name='shared_ptr&lt;std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt10shared_ptrINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEEEC2ISaISF_EJSE_EEESt19_Sp_make_shared_tagRKT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr.h' line='317' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-287'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-318'>
             <member-type access='public'>
-              <typedef-decl name='other' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/allocator.h' line='105' column='1' id='type-id-247'/>
+              <typedef-decl name='other' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/allocator.h' line='105' column='1' id='type-id-319'/>
             </member-type>
           </class-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' naming-typedef-id='type-id-247' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' naming-typedef-id='type-id-319' visibility='default' is-declaration-only='yes' id='type-id-95'/>
       <function-decl name='__enable_shared_from_this_helper&lt;__gnu_cxx::_Lock_policy::_S_atomic&gt;' mangled-name='_ZSt32__enable_shared_from_this_helperILN9__gnu_cxx12_Lock_policyE2EEvRKSt14__shared_countIXT_EEz' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='862' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt32__enable_shared_from_this_helperILN9__gnu_cxx12_Lock_policyE2EEvRKSt14__shared_countIXT_EEz'>
-        <parameter type-id='type-id-65' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='862' column='1'/>
+        <parameter type-id='type-id-287' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='862' column='1'/>
         <parameter is-variadic='yes'/>
         <return type-id='type-id-26'/>
       </function-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' naming-typedef-id='type-id-232' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' naming-typedef-id='type-id-303' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='lock' mangled-name='_ZNSt11unique_lockISt5mutexE4lockEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='133' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unlock' mangled-name='_ZNSt11unique_lockISt5mutexE6unlockEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <typedef-decl name='mutex_type' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='383' column='1' id='type-id-232'/>
+          <typedef-decl name='mutex_type' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='383' column='1' id='type-id-303'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='lock_guard' mangled-name='_ZNSt10lock_guardISt5mutexEC2ERS0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='385' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-233'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-304'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~lock_guard' mangled-name='_ZNSt10lock_guardISt5mutexED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='391' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-234'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-320'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='operator*' mangled-name='_ZNKSt10unique_ptrINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEdeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='288' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-246'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
+            <return type-id='type-id-317'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2176' visibility='default' is-declaration-only='yes' id='type-id-241'>
+      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2176' visibility='default' is-declaration-only='yes' id='type-id-312'>
         <member-type access='private'>
-          <typedef-decl name='__ostream_type' type-id='type-id-241' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ostream' line='71' column='1' id='type-id-248'/>
+          <typedef-decl name='__ostream_type' type-id='type-id-312' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ostream' line='71' column='1' id='type-id-321'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZNSolsEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ostream' line='170' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-249' is-artificial='yes'/>
+            <parameter type-id='type-id-322' is-artificial='yes'/>
             <parameter type-id='type-id-24'/>
-            <return type-id='type-id-250'/>
+            <return type-id='type-id-323'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Bind&lt;mongo::FTDCController *&gt;' mangled-name='_ZNSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS2_EEC2IJS6_EEEOS5_DpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1113' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-225'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
+            <parameter type-id='type-id-295'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_Bind' mangled-name='_ZNSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS2_EEC2EOS8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='__call&lt;void, 0&gt;' mangled-name='_ZNSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS2_EE6__callIvJEJLm0EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1071' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
+            <parameter type-id='type-id-95'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator()&lt;, void&gt;' mangled-name='_ZNSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS2_EEclIJEvEET0_DpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1129' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::FTDCController *&gt;' mangled-name='_ZNSt10_Head_baseILm0EPN5mongo14FTDCControllerELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-225'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-295'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__25' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__25' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCController *&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJPN5mongo14FTDCControllerEEEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-225'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-295'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__26' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__26' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='tuple&lt;mongo::FTDCController *, void&gt;' mangled-name='_ZNSt5tupleIJPN5mongo14FTDCControllerEEEC2IJS2_EvEEDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-225'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-295'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__27' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__27' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__shared_ptr' mangled-name='_ZNSt12__shared_ptrINSt6thread10_Impl_baseELN9__gnu_cxx12_Lock_policyE2EEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='876' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~__shared_ptr' mangled-name='_ZNSt12__shared_ptrINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEELN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='925' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__28' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__28' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='shared_ptr' mangled-name='_ZNSt10shared_ptrINSt6thread10_Impl_baseEEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__29' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__29' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_M_release' mangled-name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_Sp_counted_base' mangled-name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__30' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__30' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='private' static='yes'>
           <function-decl name='__wait_until_impl&lt;std::chrono::duration&lt;long, std::ratio&lt;1, 1000000000&gt; &gt; &gt;' mangled-name='_ZNSt18condition_variable17__wait_until_implINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEESt9cv_statusRSt11unique_lockISt5mutexERKNS1_10time_pointINS1_3_V212system_clockET_EE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/condition_variable' line='153' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
-            <parameter type-id='type-id-65'/>
-            <return type-id='type-id-130'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-222'/>
+            <parameter type-id='type-id-290'/>
+            <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='wait_until&lt;std::chrono::duration&lt;long, std::ratio&lt;1, 1000000000&gt; &gt; &gt;' mangled-name='_ZNSt18condition_variable10wait_untilINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEESt9cv_statusRSt11unique_lockISt5mutexERKNS1_10time_pointINS1_3_V212system_clockET_EE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/condition_variable' line='103' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
-            <parameter type-id='type-id-65'/>
-            <return type-id='type-id-130'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-222'/>
+            <parameter type-id='type-id-290'/>
+            <return type-id='type-id-154'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__31' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__31' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='unique_lock' mangled-name='_ZNSt11unique_lockISt5mutexEC2ERS0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='412' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-233'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-304'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~unique_lock' mangled-name='_ZNSt11unique_lockISt5mutexED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='447' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__32' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__32' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo7BSONObjENS0_6Date_tEEE7_M_headERS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='142' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-57'/>
-            <return type-id='type-id-57'/>
+            <parameter type-id='type-id-222'/>
+            <return type-id='type-id-124'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__33' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__34' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__33' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__34' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-324'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__35' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__36' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__37' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__35' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__36' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__37' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; &gt;' mangled-name='_ZNSt10_Head_baseILm0ESt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EELb0EEC2IS9_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__38' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__38' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; &gt;' mangled-name='_ZNSt11_Tuple_implILm0EJSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEEEC2IS9_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__39' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__39' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='tuple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; , void&gt;' mangled-name='_ZNSt5tupleIJSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEEEC2IJS9_EvEEDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__40' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__40' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='protected' static='yes'>
           <function-decl name='__shared_ptr&lt;std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt12__shared_ptrINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEELN9__gnu_cxx12_Lock_policyE2EEC2ISaISF_EJSE_EEESt19_Sp_make_shared_tagRKT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='1094' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-287'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__41' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__41' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <typedef-decl name='__allocator_type' type-id='type-id-243' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='514' column='1' id='type-id-251'/>
+          <typedef-decl name='__allocator_type' type-id='type-id-314' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='514' column='1' id='type-id-325'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='_Sp_counted_ptr_inplace&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EEC2IJSE_EEESG_DpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='517' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='_M_ptr' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE6_M_ptrEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='555' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-59'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <return type-id='type-id-259'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' vtable-offset='4'>
           <function-decl name='_M_get_deleter' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='545' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-230'/>
-            <return type-id='type-id-122'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-293'/>
+            <return type-id='type-id-146'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__42' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__42' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='__type' type-id='type-id-247' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='65' column='1' id='type-id-242'/>
+          <typedef-decl name='__type' type-id='type-id-319' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='65' column='1' id='type-id-313'/>
         </member-type>
       </class-decl>
-      <class-decl name='type_info' visibility='default' is-declaration-only='yes' id='type-id-228'>
+      <class-decl name='type_info' visibility='default' is-declaration-only='yes' id='type-id-291'>
         <member-function access='public'>
           <function-decl name='operator==' mangled-name='_ZNKSt9type_infoeqERKS_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/typeinfo' line='120' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-231' is-artificial='yes'/>
-            <parameter type-id='type-id-230'/>
+            <parameter type-id='type-id-294' is-artificial='yes'/>
+            <parameter type-id='type-id-293'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__43' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__44' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__43' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__44' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__shared_ptr&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, void&gt;' mangled-name='_ZNSt12__shared_ptrINSt6thread10_Impl_baseELN9__gnu_cxx12_Lock_policyE2EEC2INS0_5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPSB_EEvEEEEvEEOS_IT_LS3_2EE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='940' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__45' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__45' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='shared_ptr&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, void&gt;' mangled-name='_ZNSt10shared_ptrINSt6thread10_Impl_baseEEC2INS0_5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS9_EEvEEEEvEEOS_IT_E' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr.h' line='238' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__46' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__46' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEEEE9constructISF_JSE_EEEvRSG_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-108'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-132'/>
+            <parameter type-id='type-id-259'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='destroy&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEEEE7destroyISF_EEvRSG_PT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='541' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-108'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-132'/>
+            <parameter type-id='type-id-259'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__47' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__47' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS7_EEvEEEESaISG_ELN9__gnu_cxx12_Lock_policyE2EEEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/allocated_ptr.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__48' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__48' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <typedef-decl name='_Class' type-id='type-id-252' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='554' column='1' id='type-id-234'/>
+          <typedef-decl name='_Class' type-id='type-id-326' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='554' column='1' id='type-id-305'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='operator()&lt;, void&gt;' mangled-name='_ZNKSt12_Mem_fn_baseIMN5mongo14FTDCControllerEFvvELb1EEclIJEvEEvPS1_DpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='599' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <parameter type-id='type-id-235'/>
-            <return type-id='type-id-245'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
+            <parameter type-id='type-id-306'/>
+            <return type-id='type-id-316'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__49' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__49' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='__result_type' type-id='type-id-26' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='506' column='1' id='type-id-253'/>
+          <typedef-decl name='__result_type' type-id='type-id-26' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='506' column='1' id='type-id-327'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='__class_type' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='507' column='1' id='type-id-252'/>
+          <typedef-decl name='__class_type' type-id='type-id-86' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='507' column='1' id='type-id-326'/>
         </member-type>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <typedef-decl name='Milliseconds' type-id='type-id-28' filepath='src/mongo/util/duration.h' line='52' column='1' id='type-id-254'/>
+      <typedef-decl name='Milliseconds' type-id='type-id-86' filepath='src/mongo/util/duration.h' line='52' column='1' id='type-id-328'/>
       <namespace-decl name='logger'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-296'>
           <member-function access='public' static='yes'>
             <function-decl name='getGlobalDomain' mangled-name='_ZN5mongo6logger10LogManager15getGlobalDomainEv' filepath='src/mongo/logger/log_manager.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <return type-id='type-id-59'/>
+              <parameter type-id='type-id-298' is-artificial='yes'/>
+              <return type-id='type-id-298'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-296'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-296'>
           <member-function access='public'>
             <function-decl name='stream' mangled-name='_ZN5mongo6logger16LogstreamBuilder6streamEv' filepath='src/mongo/logger/logstream_builder.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <return type-id='type-id-240'/>
+              <parameter type-id='type-id-298' is-artificial='yes'/>
+              <return type-id='type-id-311'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsEPKc' filepath='src/mongo/logger/logstream_builder.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-68'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-298' is-artificial='yes'/>
+              <parameter type-id='type-id-73'/>
+              <return type-id='type-id-297'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/mongo/logger/logstream_builder.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-178'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-298' is-artificial='yes'/>
+              <parameter type-id='type-id-208'/>
+              <return type-id='type-id-297'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;mongo::Status&gt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsINS_6StatusEEERS1_RKT_' filepath='src/mongo/logger/logstream_builder.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6logger16LogstreamBuilderlsINS_6StatusEEERS1_RKT_'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-65'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-298' is-artificial='yes'/>
+              <parameter type-id='type-id-205'/>
+              <return type-id='type-id-297'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-296'>
           <member-type access='private'>
-            <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-255'>
+            <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-329'>
               <underlying-type type-id='type-id-21'/>
             </enum-decl>
           </member-type>
           <member-function access='public' static='yes'>
             <function-decl name='LogComponent' mangled-name='_ZN5mongo6logger12LogComponentC2ENS1_5ValueE' filepath='src/mongo/logger/log_component.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-255'/>
+              <parameter type-id='type-id-298' is-artificial='yes'/>
+              <parameter type-id='type-id-329'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='stdx'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-299'>
           <member-function access='public'>
             <function-decl name='thread&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt;, 0&gt;' mangled-name='_ZN5mongo4stdx6threadC2ISt5_BindIFSt7_Mem_fnIMNS_14FTDCControllerEFvvEEPS5_EEJELi0EEEOT_DpOT0_' filepath='src/mongo/stdx/thread.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-58'/>
+              <parameter type-id='type-id-302' is-artificial='yes'/>
+              <parameter type-id='type-id-223'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZN5mongo4stdx6threadaSEOS1_' filepath='src/mongo/stdx/thread.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-58'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-302' is-artificial='yes'/>
+              <parameter type-id='type-id-301'/>
+              <return type-id='type-id-300'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-330'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='reason' mangled-name='_ZNK5mongo6Status6reasonB5cxx11Ev' filepath='src/mongo/base/status.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-178'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
+            <return type-id='type-id-208'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='code' mangled-name='_ZNK5mongo6Status4codeEv' filepath='src/mongo/base/status.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-256'/>
+            <parameter type-id='type-id-88' is-artificial='yes'/>
+            <return type-id='type-id-331'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-256'>
+          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-331'>
             <underlying-type type-id='type-id-21'/>
           </enum-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-268'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' naming-typedef-id='type-id-252' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' naming-typedef-id='type-id-326' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-257'>
+          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-332'>
             <underlying-type type-id='type-id-21'/>
           </enum-decl>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='setEnabled' mangled-name='_ZN5mongo14FTDCController10setEnabledEb' filepath='src/mongo/db/ftdc/controller.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController10setEnabledEb'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-1'/>
-            <return type-id='type-id-28'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='setPeriod' mangled-name='_ZN5mongo14FTDCController9setPeriodENS_8DurationISt5ratioILl1ELl1000EEEE' filepath='src/mongo/db/ftdc/controller.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController9setPeriodENS_8DurationISt5ratioILl1ELl1000EEEE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-254'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-328'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='setMaxDirectorySizeBytes' mangled-name='_ZN5mongo14FTDCController24setMaxDirectorySizeBytesEm' filepath='src/mongo/db/ftdc/controller.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController24setMaxDirectorySizeBytesEm'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-202'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-244'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='setMaxFileSizeBytes' mangled-name='_ZN5mongo14FTDCController19setMaxFileSizeBytesEm' filepath='src/mongo/db/ftdc/controller.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController19setMaxFileSizeBytesEm'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-202'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-244'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='setMaxSamplesPerArchiveMetricChunk' mangled-name='_ZN5mongo14FTDCController34setMaxSamplesPerArchiveMetricChunkEm' filepath='src/mongo/db/ftdc/controller.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController34setMaxSamplesPerArchiveMetricChunkEm'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-30'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='setMaxSamplesPerInterimMetricChunk' mangled-name='_ZN5mongo14FTDCController34setMaxSamplesPerInterimMetricChunkEm' filepath='src/mongo/db/ftdc/controller.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController34setMaxSamplesPerInterimMetricChunkEm'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <parameter type-id='type-id-30'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='setDirectory' mangled-name='_ZN5mongo14FTDCController12setDirectoryERKN5boost10filesystem4pathE' filepath='src/mongo/db/ftdc/controller.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController12setDirectoryERKN5boost10filesystem4pathE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-283'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='addPeriodicCollector' mangled-name='_ZN5mongo14FTDCController20addPeriodicCollectorESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE' filepath='src/mongo/db/ftdc/controller.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController20addPeriodicCollectorESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='addOnRotateCollector' mangled-name='_ZN5mongo14FTDCController20addOnRotateCollectorESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE' filepath='src/mongo/db/ftdc/controller.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController20addOnRotateCollectorESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='getMostRecentPeriodicDocument' mangled-name='_ZN5mongo14FTDCController29getMostRecentPeriodicDocumentEv' filepath='src/mongo/db/ftdc/controller.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController29getMostRecentPeriodicDocumentEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='start' mangled-name='_ZN5mongo14FTDCController5startEv' filepath='src/mongo/db/ftdc/controller.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController5startEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='doLoop' mangled-name='_ZN5mongo14FTDCController6doLoopEv' filepath='src/mongo/db/ftdc/controller.h' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController6doLoopEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='stop' mangled-name='_ZN5mongo14FTDCController4stopEv' filepath='src/mongo/db/ftdc/controller.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController4stopEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' naming-typedef-id='type-id-254' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' naming-typedef-id='type-id-328' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='IdleThreadBlock' mangled-name='_ZN5mongo15IdleThreadBlockC2EPKc' filepath='src/mongo/util/concurrency/idle_thread_block.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~IdleThreadBlock' mangled-name='_ZN5mongo15IdleThreadBlockD2Ev' filepath='src/mongo/util/concurrency/idle_thread_block.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS7_EEvEEEEE9constructISG_JSF_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-259'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='destroy&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS7_EEvEEEEE7destroyISG_EEvPT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-259'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
@@ -5427,192 +5471,192 @@ 
     </namespace-decl>
     <namespace-decl name='mongoutils'>
       <namespace-decl name='str'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-92'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [104]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA104_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-226'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-129' is-artificial='yes'/>
+              <parameter type-id='type-id-285'/>
+              <return type-id='type-id-128'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [36]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA36_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-227'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-129' is-artificial='yes'/>
+              <parameter type-id='type-id-286'/>
+              <return type-id='type-id-128'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;std::__cxx11::basic_string&lt;char&gt; &gt;' mangled-name='_ZN10mongoutils3str6streamlsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-142'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-129' is-artificial='yes'/>
+              <parameter type-id='type-id-168'/>
+              <return type-id='type-id-128'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
     </namespace-decl>
-    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-249'/>
-    <reference-type-def kind='lvalue' type-id='type-id-248' size-in-bits='64' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-322'/>
+    <reference-type-def kind='lvalue' type-id='type-id-321' size-in-bits='64' id='type-id-323'/>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='src/mongo/db/ftdc/decompressor.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-259'/>
-    <qualified-type-def type-id='type-id-107' const='yes' id='type-id-260'/>
-    <reference-type-def kind='lvalue' type-id='type-id-260' size-in-bits='64' id='type-id-261'/>
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-333' size-in-bits='64' id='type-id-334'/>
+    <qualified-type-def type-id='type-id-131' const='yes' id='type-id-335'/>
+    <reference-type-def kind='lvalue' type-id='type-id-335' size-in-bits='64' id='type-id-336'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-337'/>
     <namespace-decl name='boost'>
       <namespace-decl name='detail'>
-        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-338'>
           <member-type access='public'>
-            <typedef-decl name='type' type-id='type-id-28' filepath='src/third_party/boost-1.60.0/boost/detail/reference_content.hpp' line='80' column='1' id='type-id-263'/>
+            <typedef-decl name='type' type-id='type-id-86' filepath='src/third_party/boost-1.60.0/boost/detail/reference_content.hpp' line='80' column='1' id='type-id-339'/>
           </member-type>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'>
           <member-type access='private'>
-            <typedef-decl name='internal_type' type-id='type-id-263' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='205' column='1' id='type-id-258'/>
+            <typedef-decl name='internal_type' type-id='type-id-339' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='205' column='1' id='type-id-333'/>
           </member-type>
           <member-function access='private' static='yes'>
             <function-decl name='get_object' mangled-name='_ZN5boost15optional_detail13optional_baseISt6vectorIN5mongo7BSONObjESaIS4_EEE10get_objectEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='726' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <return type-id='type-id-259'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-334'/>
             </function-decl>
           </member-function>
           <member-function access='protected' static='yes'>
             <function-decl name='get_impl' mangled-name='_ZN5boost15optional_detail13optional_baseISt6vectorIN5mongo7BSONObjESaIS4_EEE8get_implEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='711' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <return type-id='type-id-213'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-261'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'>
           <member-function access='public' static='yes'>
             <function-decl name='address' mangled-name='_ZN5boost15optional_detail15aligned_storageISt6vectorIN5mongo7BSONObjESaIS4_EEE7addressEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='139' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <return type-id='type-id-122'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-146'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
     </namespace-decl>
     <namespace-decl name='std'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='vector' mangled-name='_ZNSt6vectorImSaImEEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='253' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='emplace_back&lt;mongo::BSONObj&gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE12emplace_backIJS1_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='vector' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EEC2ERKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='318' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-287'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='end' mangled-name='_ZNKSt6vectorIN5mongo7BSONObjESaIS1_EE3endEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='574' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-193'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
+            <return type-id='type-id-228'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='vector' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EEC2EOS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='335' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='emplace_back&lt;mongo::BSONObj &amp;&gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE12emplace_backIJRS1_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~vector' mangled-name='_ZNSt6vectorIhSaIhEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='capacity' mangled-name='_ZNKSt6vectorIN5mongo7BSONObjESaIS1_EE8capacityEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='734' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
+            <parameter type-id='type-id-97' is-artificial='yes'/>
             <return type-id='type-id-52'/>
           </function-decl>
         </member-function>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_allocate_and_copy&lt;std::move_iterator&lt;mongo::BSONObj *&gt; &gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE20_M_allocate_and_copyISt13move_iteratorIPS1_EEES6_mT_S8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1221' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-147'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-95'/>
+            <return type-id='type-id-173'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='reserve' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE7reserveEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE7reserveEm'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_emplace_back_aux&lt;mongo::BSONObj&gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE19_M_emplace_back_auxIJS1_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE19_M_emplace_back_auxIJS1_EEEvDpOT_'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_emplace_back_aux&lt;mongo::BSONObj &amp;&gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE19_M_emplace_back_auxIJRS1_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE19_M_emplace_back_auxIJRS1_EEEvDpOT_'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~vector' mangled-name='_ZNSt6vectorIcSaIcEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIcSaIcEED2Ev'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~vector' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EED2Ev'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-230'>
             <member-function access='public' static='yes'>
               <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseImSaImEE12_Vector_implC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
+                <parameter type-id='type-id-259' is-artificial='yes'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
@@ -5620,557 +5664,574 @@ 
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseImSaImEEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='_M_create_storage' mangled-name='_ZNSt12_Vector_baseIN5mongo7BSONObjESaIS1_EE17_M_create_storageEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-51'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseIN5mongo7BSONObjESaIS1_EEC2EmRKS2_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='134' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-51'/>
-            <parameter type-id='type-id-261'/>
+            <parameter type-id='type-id-336'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseIN5mongo7BSONObjESaIS1_EEC2EOS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes' destructor='yes'>
           <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseIhSaIhEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;mongo::BSONObj&gt;' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-264'/>
+          <typedef-decl name='rebind_alloc&lt;mongo::BSONObj&gt;' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-340'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;mongo::BSONObj, mongo::BSONObj&gt;' mangled-name='_ZNSt16allocator_traitsISaIN5mongo7BSONObjEEE9constructIS1_JS1_EEEvRS2_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-108'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-132'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;mongo::BSONObj, mongo::BSONObj &amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaIN5mongo7BSONObjEEE9constructIS1_JRS1_EEEvRS2_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-108'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-132'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' naming-typedef-id='type-id-264' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' naming-typedef-id='type-id-340' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-318'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_allocate_and_copy&lt;std::move_iterator&lt;unsigned long *&gt; &gt;' mangled-name='_ZNSt6vectorImSaImEE20_M_allocate_and_copyISt13move_iteratorIPmEEES4_mT_S6_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1221' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-147'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-95'/>
+            <return type-id='type-id-173'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='vector' mangled-name='_ZNSt6vectorImSaImEEC2EmRKS0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='277' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
-            <parameter type-id='type-id-261'/>
+            <parameter type-id='type-id-336'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_default_initialize' mangled-name='_ZNSt6vectorImSaImEE21_M_default_initializeEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1308' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
             <parameter type-id='type-id-52'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;__gnu_cxx::__normal_iterator&lt;const mongo::BSONObj *, std::vector&lt;mongo::BSONObj, std::allocator&lt;mongo::BSONObj&gt; &gt; &gt;, mongo::BSONObj *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN5mongo7BSONObjESt6vectorIS5_SaIS5_EEEEPS5_EET0_T_SE_SD_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-59'/>
+            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-126'/>
+            <return type-id='type-id-126'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;mongo::BSONObj *&gt;, mongo::BSONObj *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPN5mongo7BSONObjEES5_EET0_T_S8_S7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-59'/>
+            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-126'/>
+            <return type-id='type-id-126'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__destroy&lt;mongo::BSONObj *&gt;' mangled-name='_ZNSt12_Destroy_auxILb0EE9__destroyIPN5mongo7BSONObjEEEvT_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_construct.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-126'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_12LittleEndianIjEEEENS_6StatusEPT_' filepath='src/mongo/base/data_range_cursor.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-126'/>
+            <return type-id='type-id-95'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_12LittleEndianIjEEEENS_10StatusWithIT_EEv' filepath='src/mongo/base/data_range_cursor.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='ConstDataRangeCursor' mangled-name='_ZN5mongo20ConstDataRangeCursorC2ENS_14ConstDataRangeE' filepath='src/mongo/base/data_range_cursor.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_10FTDCVarIntEEENS_10StatusWithIT_EEv' filepath='src/mongo/base/data_range_cursor.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_10FTDCVarIntEEENS_6StatusEPT_' filepath='src/mongo/base/data_range_cursor.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-126'/>
+            <return type-id='type-id-95'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_9ValidatedINS_7BSONObjEEEEENS_6StatusEPT_' filepath='src/mongo/base/data_range_cursor.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-126'/>
+            <return type-id='type-id-95'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_9ValidatedINS_7BSONObjEEEEENS_10StatusWithIT_EEv' filepath='src/mongo/base/data_range_cursor.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_9ValidatedINS_7BSONObjEEEEENS_10StatusWithIT_EEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-341'>
             <member-function access='public' static='yes'>
               <function-decl name='load' mangled-name='_ZN5mongo8DataType7HandlerIjvE4loadEPjPKcmPml' filepath='src/mongo/base/data_type.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-262'/>
-                <parameter type-id='type-id-68'/>
+                <parameter type-id='type-id-337'/>
+                <parameter type-id='type-id-73'/>
                 <parameter type-id='type-id-30'/>
-                <parameter type-id='type-id-191'/>
-                <parameter type-id='type-id-131'/>
-                <return type-id='type-id-28'/>
+                <parameter type-id='type-id-221'/>
+                <parameter type-id='type-id-155'/>
+                <return type-id='type-id-86'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeLoad' mangled-name='_ZN5mongo8DataType7HandlerIjvE10unsafeLoadEPjPKcPm' filepath='src/mongo/base/data_type.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-262'/>
-                <parameter type-id='type-id-68'/>
-                <parameter type-id='type-id-191'/>
+                <parameter type-id='type-id-337'/>
+                <parameter type-id='type-id-73'/>
+                <parameter type-id='type-id-221'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-341'>
             <member-function access='public' static='yes'>
               <function-decl name='load' mangled-name='_ZN5mongo8DataType7HandlerINS_10FTDCVarIntEvE4loadEPS2_PKcmPml' filepath='src/mongo/base/data_type_endian.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo8DataType7HandlerINS_9ValidatedINS_7BSONObjEEEvE4loadEPS4_PKcmPml'>
-                <parameter type-id='type-id-59'/>
-                <parameter type-id='type-id-68'/>
+                <parameter type-id='type-id-126'/>
+                <parameter type-id='type-id-73'/>
                 <parameter type-id='type-id-30'/>
-                <parameter type-id='type-id-191'/>
-                <parameter type-id='type-id-131'/>
-                <return type-id='type-id-28'/>
+                <parameter type-id='type-id-221'/>
+                <parameter type-id='type-id-155'/>
+                <return type-id='type-id-86'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-341'>
             <member-function access='public' static='yes'>
               <function-decl name='defaultConstruct' mangled-name='_ZN5mongo8DataType7HandlerINS_9ValidatedINS_7BSONObjEEEvE16defaultConstructEv' filepath='src/mongo/bson/bsonobj.h' line='772' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <return type-id='type-id-28'/>
+                <return type-id='type-id-86'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-341'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-341'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-341'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;unsigned int&gt;' mangled-name='_ZN5mongo8DataType4loadIjEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-262'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-337'/>
+            <parameter type-id='type-id-73'/>
             <parameter type-id='type-id-30'/>
-            <parameter type-id='type-id-191'/>
-            <parameter type-id='type-id-131'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-221'/>
+            <parameter type-id='type-id-155'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo8DataType4loadINS_12LittleEndianIjEEEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-73'/>
             <parameter type-id='type-id-30'/>
-            <parameter type-id='type-id-191'/>
-            <parameter type-id='type-id-131'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-221'/>
+            <parameter type-id='type-id-155'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo8DataType4loadINS_10FTDCVarIntEEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-73'/>
             <parameter type-id='type-id-30'/>
-            <parameter type-id='type-id-191'/>
-            <parameter type-id='type-id-131'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-221'/>
+            <parameter type-id='type-id-155'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='defaultConstruct&lt;mongo::BSONObj&gt;' mangled-name='_ZN5mongo8DataType16defaultConstructINS_7BSONObjEEET_v' filepath='src/mongo/base/data_type.h' line='160' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <return type-id='type-id-28'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='defaultConstruct&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZN5mongo8DataType16defaultConstructINS_9ValidatedINS_7BSONObjEEEEET_v' filepath='src/mongo/base/data_type.h' line='160' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <return type-id='type-id-28'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZN5mongo8DataType4loadINS_9ValidatedINS_7BSONObjEEEEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-73'/>
             <parameter type-id='type-id-30'/>
-            <parameter type-id='type-id-191'/>
-            <parameter type-id='type-id-131'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-221'/>
+            <parameter type-id='type-id-155'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;mongo::BSONObj&gt;' mangled-name='_ZN5mongo8DataType4loadINS_7BSONObjEEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-73'/>
             <parameter type-id='type-id-30'/>
-            <parameter type-id='type-id-191'/>
-            <parameter type-id='type-id-131'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-221'/>
+            <parameter type-id='type-id-155'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-268'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public'>
           <function-decl name='StatusWith' mangled-name='_ZN5mongo10StatusWithIbEC2ENS_10ErrorCodes5ErrorEPKc' filepath='src/mongo/base/status_with.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-210'/>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-255'/>
+            <parameter type-id='type-id-73'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' naming-typedef-id='type-id-263' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' naming-typedef-id='type-id-339' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='Validated' mangled-name='_ZN5mongo9ValidatedINS_7BSONObjEEC2Ev' filepath='src/mongo/base/data_type_validated.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-342'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='uncompress' mangled-name='_ZN5mongo16FTDCDecompressor10uncompressENS_14ConstDataRangeE' filepath='src/mongo/db/ftdc/decompressor.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo16FTDCDecompressor10uncompressENS_14ConstDataRangeE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-86'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='public' static='yes'>
           <function-decl name='validateLoad' mangled-name='_ZN5mongo9ValidatorINS_7BSONObjEE12validateLoadEPKcm' filepath='src/mongo/rpc/object_check.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-68'/>
+            <parameter type-id='type-id-73'/>
             <parameter type-id='type-id-30'/>
-            <return type-id='type-id-28'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-187'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-240'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;mongo::BSONObj, mongo::BSONObj&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorIN5mongo7BSONObjEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-125'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;mongo::BSONObj, mongo::BSONObj &amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorIN5mongo7BSONObjEE9constructIS2_JRS2_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
     </namespace-decl>
   </abi-instr>
   <abi-instr version='1.0' address-size='64' path='src/mongo/db/ftdc/file_manager.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='16' id='type-id-265'>
-      <subrange length='2' type-id='type-id-4' id='type-id-266'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='16' id='type-id-343'>
+      <subrange length='2' type-id='type-id-4' id='type-id-344'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='16' id='type-id-267'>
-      <subrange length='2' type-id='type-id-4' id='type-id-266'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='16' id='type-id-345'>
+      <subrange length='2' type-id='type-id-4' id='type-id-344'/>
     </array-type-def>
-    <reference-type-def kind='rvalue' type-id='type-id-1' size-in-bits='64' id='type-id-268'/>
-    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-270'/>
-    <qualified-type-def type-id='type-id-271' const='yes' id='type-id-272'/>
-    <reference-type-def kind='lvalue' type-id='type-id-272' size-in-bits='64' id='type-id-273'/>
-    <qualified-type-def type-id='type-id-274' const='yes' id='type-id-275'/>
-    <reference-type-def kind='lvalue' type-id='type-id-275' size-in-bits='64' id='type-id-276'/>
-    <reference-type-def kind='lvalue' type-id='type-id-267' size-in-bits='64' id='type-id-277'/>
-    <qualified-type-def type-id='type-id-278' const='yes' id='type-id-279'/>
-    <reference-type-def kind='lvalue' type-id='type-id-279' size-in-bits='64' id='type-id-280'/>
-    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-281'/>
-    <qualified-type-def type-id='type-id-154' const='yes' id='type-id-161'/>
-    <reference-type-def kind='lvalue' type-id='type-id-161' size-in-bits='64' id='type-id-141'/>
-    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-283'/>
-    <reference-type-def kind='lvalue' type-id='type-id-284' size-in-bits='64' id='type-id-285'/>
-    <reference-type-def kind='rvalue' type-id='type-id-284' size-in-bits='64' id='type-id-286'/>
-    <reference-type-def kind='lvalue' type-id='type-id-278' size-in-bits='64' id='type-id-287'/>
-    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-288'/>
-    <reference-type-def kind='rvalue' type-id='type-id-81' size-in-bits='64' id='type-id-144'/>
-    <pointer-type-def type-id='type-id-289' size-in-bits='64' id='type-id-290'/>
-    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-249'/>
-    <reference-type-def kind='lvalue' type-id='type-id-248' size-in-bits='64' id='type-id-250'/>
+    <reference-type-def kind='rvalue' type-id='type-id-1' size-in-bits='64' id='type-id-346'/>
+    <pointer-type-def type-id='type-id-347' size-in-bits='64' id='type-id-348'/>
+    <reference-type-def kind='lvalue' type-id='type-id-338' size-in-bits='64' id='type-id-349'/>
+    <pointer-type-def type-id='type-id-338' size-in-bits='64' id='type-id-350'/>
+    <reference-type-def kind='rvalue' type-id='type-id-279' size-in-bits='64' id='type-id-351'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-352'/>
+    <reference-type-def kind='lvalue' type-id='type-id-352' size-in-bits='64' id='type-id-353'/>
+    <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-355'/>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-357'/>
+    <pointer-type-def type-id='type-id-358' size-in-bits='64' id='type-id-359'/>
+    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-360'/>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <qualified-type-def type-id='type-id-362' const='yes' id='type-id-363'/>
+    <pointer-type-def type-id='type-id-363' size-in-bits='64' id='type-id-364'/>
+    <qualified-type-def type-id='type-id-365' const='yes' id='type-id-366'/>
+    <reference-type-def kind='lvalue' type-id='type-id-366' size-in-bits='64' id='type-id-367'/>
+    <qualified-type-def type-id='type-id-368' const='yes' id='type-id-369'/>
+    <reference-type-def kind='lvalue' type-id='type-id-369' size-in-bits='64' id='type-id-370'/>
+    <qualified-type-def type-id='type-id-356' const='yes' id='type-id-371'/>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-372'/>
+    <qualified-type-def type-id='type-id-358' const='yes' id='type-id-373'/>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-374'/>
+    <reference-type-def kind='lvalue' type-id='type-id-345' size-in-bits='64' id='type-id-375'/>
+    <qualified-type-def type-id='type-id-376' const='yes' id='type-id-377'/>
+    <reference-type-def kind='lvalue' type-id='type-id-377' size-in-bits='64' id='type-id-378'/>
+    <pointer-type-def type-id='type-id-377' size-in-bits='64' id='type-id-379'/>
+    <qualified-type-def type-id='type-id-180' const='yes' id='type-id-188'/>
+    <reference-type-def kind='lvalue' type-id='type-id-188' size-in-bits='64' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <reference-type-def kind='lvalue' type-id='type-id-382' size-in-bits='64' id='type-id-383'/>
+    <reference-type-def kind='rvalue' type-id='type-id-382' size-in-bits='64' id='type-id-384'/>
+    <reference-type-def kind='lvalue' type-id='type-id-376' size-in-bits='64' id='type-id-385'/>
+    <pointer-type-def type-id='type-id-376' size-in-bits='64' id='type-id-386'/>
+    <reference-type-def kind='rvalue' type-id='type-id-98' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-388'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-322'/>
+    <reference-type-def kind='lvalue' type-id='type-id-321' size-in-bits='64' id='type-id-323'/>
     <namespace-decl name='boost'>
       <namespace-decl name='filesystem'>
         <namespace-decl name='detail'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-354'>
             <member-function access='public'>
               <function-decl name='dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='860' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
+                <parameter type-id='type-id-355' is-artificial='yes'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
             <member-function access='public' destructor='yes'>
               <function-decl name='~dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='866' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
+                <parameter type-id='type-id-355' is-artificial='yes'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </namespace-decl>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-279'>
           <member-type access='private'>
-            <typedef-decl name='string_type' type-id='type-id-81' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='70' column='1' id='type-id-274'/>
+            <typedef-decl name='string_type' type-id='type-id-98' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='70' column='1' id='type-id-368'/>
           </member-type>
           <member-function access='public'>
             <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='133' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-65'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-283'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EOS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='153' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-58'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-351'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='145' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-276'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-370'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator/=' mangled-name='_ZN5boost10filesystem4pathdVERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='335' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-276'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-370'/>
+              <return type-id='type-id-280'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator+=' mangled-name='_ZN5boost10filesystem4pathpLERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='265' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-276'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-370'/>
+              <return type-id='type-id-280'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='swap' mangled-name='_ZN5boost10filesystem4path4swapERS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='374' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-57'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-280'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZN5boost10filesystem4pathaSEOS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='154' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-58'/>
-              <return type-id='type-id-57'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-351'/>
+              <return type-id='type-id-280'/>
             </function-decl>
           </member-function>
         </class-decl>
         <function-decl name='operator/' mangled-name='_ZN5boost10filesystemdvERKNS0_4pathES3_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystemdvERKNS0_4pathES3_'>
-          <parameter type-id='type-id-65' name='lhs' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1'/>
-          <parameter type-id='type-id-65' name='rhs' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1'/>
-          <return type-id='type-id-28'/>
+          <parameter type-id='type-id-283' name='lhs' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1'/>
+          <parameter type-id='type-id-283' name='rhs' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1'/>
+          <return type-id='type-id-279'/>
         </function-decl>
-        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-279'>
           <member-function access='private' static='yes'>
             <function-decl name='equal' mangled-name='_ZNK5boost10filesystem18directory_iterator5equalERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='941' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
-              <parameter type-id='type-id-65'/>
+              <parameter type-id='type-id-284' is-artificial='yes'/>
+              <parameter type-id='type-id-283'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='dereference' mangled-name='_ZNK5boost10filesystem18directory_iterator11dereferenceEv' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='933' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
-              <return type-id='type-id-291'/>
+              <parameter type-id='type-id-284' is-artificial='yes'/>
+              <return type-id='type-id-389'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='increment' mangled-name='_ZN5boost10filesystem18directory_iterator9incrementEv' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='939' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes' destructor='yes'>
             <function-decl name='~directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorD2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='909' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes'>
             <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='901' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-65'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-283'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-279'>
           <member-function access='public' static='yes'>
             <function-decl name='directory_entry' mangled-name='_ZN5boost10filesystem15directory_entryC2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='749' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes'>
             <function-decl name='directory_entry' mangled-name='_ZN5boost10filesystem15directory_entryC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='757' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem15directory_entryC2ERKS1_'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-65'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-283'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-279'>
           <member-function access='public' static='yes'>
             <function-decl name='file_status' mangled-name='_ZN5boost10filesystem11file_statusC2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='258' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes'>
             <function-decl name='file_status' mangled-name='_ZN5boost10filesystem11file_statusC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='269' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-65'/>
+              <parameter type-id='type-id-281' is-artificial='yes'/>
+              <parameter type-id='type-id-283'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
@@ -6178,1384 +6239,1386 @@ 
       </namespace-decl>
       <namespace-decl name='iterators'>
         <namespace-decl name='detail'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-356'>
             <member-type access='private'>
-              <typedef-decl name='reference' type-id='type-id-57' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='645' column='1' id='type-id-291'/>
+              <typedef-decl name='reference' type-id='type-id-280' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='645' column='1' id='type-id-389'/>
             </member-type>
             <member-function access='public'>
               <function-decl name='operator*' mangled-name='_ZNK5boost9iterators6detail20iterator_facade_baseINS_10filesystem18directory_iteratorENS3_15directory_entryENS0_25single_pass_traversal_tagERS5_lLb0ELb0EEdeEv' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='653' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-66' is-artificial='yes'/>
-                <return type-id='type-id-291'/>
+                <parameter type-id='type-id-372' is-artificial='yes'/>
+                <return type-id='type-id-389'/>
               </function-decl>
             </member-function>
             <member-function access='public'>
               <function-decl name='operator++' mangled-name='_ZN5boost9iterators6detail20iterator_facade_baseINS_10filesystem18directory_iteratorENS3_15directory_entryENS0_25single_pass_traversal_tagERS5_lLb0ELb0EEppEv' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='663' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
-                <return type-id='type-id-57'/>
+                <parameter type-id='type-id-357' is-artificial='yes'/>
+                <return type-id='type-id-280'/>
               </function-decl>
             </member-function>
           </class-decl>
-          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-356'>
             <member-function access='public' static='yes'>
               <function-decl name='postfix_increment_proxy' mangled-name='_ZN5boost9iterators6detail23postfix_increment_proxyINS_10filesystem18directory_iteratorEEC2ERKS4_' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='157' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-59' is-artificial='yes'/>
-                <parameter type-id='type-id-65'/>
+                <parameter type-id='type-id-357' is-artificial='yes'/>
+                <parameter type-id='type-id-283'/>
                 <return type-id='type-id-26'/>
               </function-decl>
             </member-function>
           </class-decl>
         </namespace-decl>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-390'>
           <member-function access='private' static='yes'>
             <function-decl name='equal&lt;boost::filesystem::directory_iterator, boost::filesystem::directory_iterator&gt;' mangled-name='_ZN5boost9iterators20iterator_core_access5equalINS_10filesystem18directory_iteratorES4_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='565' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-65'/>
-              <parameter type-id='type-id-65'/>
-              <parameter type-id='type-id-292'/>
+              <parameter type-id='type-id-283'/>
+              <parameter type-id='type-id-283'/>
+              <parameter type-id='type-id-391'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='dereference&lt;boost::filesystem::directory_iterator&gt;' mangled-name='_ZN5boost9iterators20iterator_core_access11dereferenceINS_10filesystem18directory_iteratorEEENT_9referenceERKS5_' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='547' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-65'/>
-              <return type-id='type-id-291'/>
+              <parameter type-id='type-id-283'/>
+              <return type-id='type-id-389'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='increment&lt;boost::filesystem::directory_iterator&gt;' mangled-name='_ZN5boost9iterators20iterator_core_access9incrementINS_10filesystem18directory_iteratorEEEvRT_' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='553' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-57'/>
+              <parameter type-id='type-id-280'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='detail'>
-        <typedef-decl name='sp_typeinfo' type-id='type-id-293' filepath='src/third_party/boost-1.60.0/boost/detail/sp_typeinfo.hpp' line='28' column='1' id='type-id-271'/>
+        <typedef-decl name='sp_typeinfo' type-id='type-id-392' filepath='src/third_party/boost-1.60.0/boost/detail/sp_typeinfo.hpp' line='28' column='1' id='type-id-365'/>
         <function-decl name='sp_enable_shared_from_this' mangled-name='_ZN5boost6detail26sp_enable_shared_from_thisEz' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail26sp_enable_shared_from_thisEz'>
           <parameter is-variadic='yes'/>
           <return type-id='type-id-26'/>
         </function-decl>
-        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-338'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-338'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-338'>
           <member-function access='public' destructor='yes'>
             <function-decl name='~shared_count' mangled-name='_ZN5boost6detail12shared_countD2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/shared_count.hpp' line='471' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='shared_count' mangled-name='_ZN5boost6detail12shared_countC2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/shared_count.hpp' line='121' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='swap' mangled-name='_ZN5boost6detail12shared_count4swapERS1_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/shared_count.hpp' line='516' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-57'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
+              <parameter type-id='type-id-349'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='shared_count&lt;boost::filesystem::detail::dir_itr_imp&gt;' mangled-name='_ZN5boost6detail12shared_countC2INS_10filesystem6detail11dir_itr_impEEEPT_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/shared_count.hpp' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC2INS_10filesystem6detail11dir_itr_impEEEPT_'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-59'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
+              <parameter type-id='type-id-355'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes' destructor='yes' vtable-offset='0'>
             <function-decl name='~sp_counted_base' mangled-name='_ZN5boost6detail15sp_counted_baseD2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail15sp_counted_baseD2Ev'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes' vtable-offset='2'>
             <function-decl name='dispose' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE7disposeEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE7disposeEv'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes' vtable-offset='3'>
             <function-decl name='destroy' mangled-name='_ZN5boost6detail15sp_counted_base7destroyEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail15sp_counted_base7destroyEv'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-338'>
           <member-function access='public' static='yes'>
             <function-decl name='release' mangled-name='_ZN5boost6detail15sp_counted_base7releaseEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes'>
             <function-decl name='weak_release' mangled-name='_ZN5boost6detail15sp_counted_base12weak_releaseEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='122' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes'>
             <function-decl name='sp_counted_base' mangled-name='_ZN5boost6detail15sp_counted_baseC2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='73' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-338'>
           <member-function access='public' static='yes'>
             <function-decl name='sp_counted_impl_p' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEEC2EPS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-59'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
+              <parameter type-id='type-id-355'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes' vtable-offset='4'>
             <function-decl name='get_deleter' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE11get_deleterERKSt9type_info' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE11get_deleterERKSt9type_info'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-273'/>
-              <return type-id='type-id-122'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
+              <parameter type-id='type-id-367'/>
+              <return type-id='type-id-146'/>
             </function-decl>
           </member-function>
           <member-function access='public' static='yes' vtable-offset='5'>
             <function-decl name='get_untyped_deleter' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE19get_untyped_deleterEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE19get_untyped_deleterEv'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <return type-id='type-id-122'/>
+              <parameter type-id='type-id-350' is-artificial='yes'/>
+              <return type-id='type-id-146'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='system'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-358'>
           <member-type access='private'>
-            <typedef-decl name='unspecified_bool_type' type-id='type-id-121' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='359' column='1' id='type-id-294'/>
+            <typedef-decl name='unspecified_bool_type' type-id='type-id-145' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='359' column='1' id='type-id-393'/>
           </member-type>
           <member-function access='public'>
             <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2Ev' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='322' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-359' is-artificial='yes'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator void (*)()' mangled-name='_ZNK5boost6system10error_codecvPFvvEEv' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='362' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
-              <return type-id='type-id-294'/>
+              <parameter type-id='type-id-374' is-artificial='yes'/>
+              <return type-id='type-id-393'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='message' mangled-name='_ZNK5boost6system10error_code7messageB5cxx11Ev' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='357' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
-              <return type-id='type-id-176'/>
+              <parameter type-id='type-id-374' is-artificial='yes'/>
+              <return type-id='type-id-206'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='value' mangled-name='_ZNK5boost6system10error_code5valueEv' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='354' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
+              <parameter type-id='type-id-374' is-artificial='yes'/>
               <return type-id='type-id-16'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+        <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'>
           <member-function access='protected' static='yes'>
             <function-decl name='assign' mangled-name='_ZN5boost15optional_detail13optional_baseIbE6assignEOS2_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='347' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-58'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-248'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
           <member-function access='protected' static='yes'>
             <function-decl name='assign_value' mangled-name='_ZN5boost15optional_detail13optional_baseIbE12assign_valueEObN4mpl_5bool_ILb0EEE' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='700' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
-              <parameter type-id='type-id-128'/>
-              <parameter type-id='type-id-200'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-152'/>
+              <parameter type-id='type-id-242'/>
               <return type-id='type-id-26'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+        <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
       </namespace-decl>
       <namespace-decl name='core'>
-        <typedef-decl name='typeinfo' type-id='type-id-228' filepath='src/third_party/boost-1.60.0/boost/core/typeinfo.hpp' line='134' column='1' id='type-id-293'/>
+        <typedef-decl name='typeinfo' type-id='type-id-291' filepath='src/third_party/boost-1.60.0/boost/core/typeinfo.hpp' line='134' column='1' id='type-id-392'/>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
         <member-type access='private'>
-          <typedef-decl name='element_type' type-id='type-id-263' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='345' column='1' id='type-id-269'/>
+          <typedef-decl name='element_type' type-id='type-id-339' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='345' column='1' id='type-id-347'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='get' mangled-name='_ZNK5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEE3getEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='706' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <return type-id='type-id-270'/>
+            <parameter type-id='type-id-72' is-artificial='yes'/>
+            <return type-id='type-id-348'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='shared_ptr&lt;boost::filesystem::detail::dir_itr_imp&gt;' mangled-name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2IS3_EEPT_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='360' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-355'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
     </namespace-decl>
     <namespace-decl name='std'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='difference_type' type-id='type-id-131' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator_base_types.h' line='182' column='1' id='type-id-295'/>
+          <typedef-decl name='difference_type' type-id='type-id-155' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator_base_types.h' line='182' column='1' id='type-id-394'/>
         </member-type>
       </class-decl>
       <function-decl name='__introsort_loop&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, long, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEElNS0_5__ops15_Iter_less_iterEEvT_SC_T0_T1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1935' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEElNS0_5__ops15_Iter_less_iterEEvT_SC_T0_T1_'>
-        <parameter type-id='type-id-28' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1935' column='1'/>
-        <parameter type-id='type-id-28' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1936' column='1'/>
+        <parameter type-id='type-id-58' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1935' column='1'/>
+        <parameter type-id='type-id-58' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1936' column='1'/>
         <parameter type-id='type-id-18' name='__depth_limit' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1937' column='1'/>
-        <parameter type-id='type-id-28' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1937' column='1'/>
+        <parameter type-id='type-id-362' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1937' column='1'/>
         <return type-id='type-id-26'/>
       </function-decl>
       <function-decl name='__make_heap&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_T0_'>
-        <parameter type-id='type-id-28' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
-        <parameter type-id='type-id-28' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
-        <parameter type-id='type-id-28' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='318' column='1'/>
+        <parameter type-id='type-id-58' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
+        <parameter type-id='type-id-58' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
+        <parameter type-id='type-id-362' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='318' column='1'/>
         <return type-id='type-id-26'/>
       </function-decl>
       <function-decl name='__adjust_heap&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, long, boost::filesystem::path, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEElS4_NS0_5__ops15_Iter_less_iterEEvT_T0_SD_T1_T2_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEElS4_NS0_5__ops15_Iter_less_iterEEvT_T0_SD_T1_T2_'>
-        <parameter type-id='type-id-28' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='207' column='1'/>
+        <parameter type-id='type-id-58' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='207' column='1'/>
         <parameter type-id='type-id-18' name='__holeIndex' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='207' column='1'/>
         <parameter type-id='type-id-18' name='__len' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
-        <parameter type-id='type-id-28' name='__value' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
-        <parameter type-id='type-id-28' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
+        <parameter type-id='type-id-279' name='__value' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
+        <parameter type-id='type-id-362' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
         <return type-id='type-id-26'/>
       </function-decl>
       <function-decl name='__move_median_to_first&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_SC_SC_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_SC_SC_T0_'>
-        <parameter type-id='type-id-28' name='__result' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
-        <parameter type-id='type-id-28' name='__a' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
-        <parameter type-id='type-id-28' name='__b' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
-        <parameter type-id='type-id-28' name='__c' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='79' column='1'/>
-        <parameter type-id='type-id-28' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='79' column='1'/>
+        <parameter type-id='type-id-58' name='__result' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
+        <parameter type-id='type-id-58' name='__a' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
+        <parameter type-id='type-id-58' name='__b' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
+        <parameter type-id='type-id-58' name='__c' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='79' column='1'/>
+        <parameter type-id='type-id-362' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='79' column='1'/>
         <return type-id='type-id-26'/>
       </function-decl>
       <function-decl name='__insertion_sort&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1835' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_T0_'>
-        <parameter type-id='type-id-28' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
-        <parameter type-id='type-id-28' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
-        <parameter type-id='type-id-28' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='318' column='1'/>
+        <parameter type-id='type-id-58' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
+        <parameter type-id='type-id-58' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
+        <parameter type-id='type-id-362' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='318' column='1'/>
         <return type-id='type-id-26'/>
       </function-decl>
       <function-decl name='__unguarded_linear_insert&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__ops::_Val_less_iter&gt;' mangled-name='_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops14_Val_less_iterEEvT_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1816' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops14_Val_less_iterEEvT_T0_'>
-        <parameter type-id='type-id-28' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1816' column='1'/>
-        <parameter type-id='type-id-28' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1817' column='1'/>
+        <parameter type-id='type-id-58' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1816' column='1'/>
+        <parameter type-id='type-id-362' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1817' column='1'/>
         <return type-id='type-id-26'/>
       </function-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;char&gt;' type-id='type-id-154' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-296'/>
+          <typedef-decl name='rebind_alloc&lt;char&gt;' type-id='type-id-180' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-395'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='235' column='1' id='type-id-278'/>
+          <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='235' column='1' id='type-id-376'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='assign' mangled-name='_ZNSt11char_traitsIcE6assignERcRKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='242' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-287'/>
-            <parameter type-id='type-id-280'/>
+            <parameter type-id='type-id-385'/>
+            <parameter type-id='type-id-378'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='copy' mangled-name='_ZNSt11char_traitsIcE4copyEPcPKcm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='286' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-288'/>
-            <parameter type-id='type-id-281'/>
+            <parameter type-id='type-id-386'/>
+            <parameter type-id='type-id-379'/>
             <parameter type-id='type-id-51'/>
-            <return type-id='type-id-288'/>
+            <return type-id='type-id-386'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='length' mangled-name='_ZNSt11char_traitsIcE6lengthEPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-281'/>
+            <parameter type-id='type-id-379'/>
             <return type-id='type-id-51'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='emplace_back&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' mangled-name='_ZNSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE12emplace_backIJS6_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_emplace_back_aux&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' mangled-name='_ZNSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT_'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-396'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-297'/>
+          <typedef-decl name='rebind_alloc&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-397'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt;, std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEEEE9constructIS6_JS6_EEEvRS7_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-108'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-132'/>
+            <parameter type-id='type-id-130'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' naming-typedef-id='type-id-297' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' naming-typedef-id='type-id-397' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='tuple&lt;mongo::FTDCBSONUtil::FTDCType &amp;, mongo::BSONObj, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS0_7BSONObjENS0_6Date_tEEEC2IJRS2_S3_RS4_EvEEDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-285'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-383'/>
+            <parameter type-id='type-id-125'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <typedef-decl name='reverse_iterator' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='235' column='1' id='type-id-298'/>
+          <typedef-decl name='reverse_iterator' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='235' column='1' id='type-id-398'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='emplace_back&lt;boost::filesystem::path&gt;' mangled-name='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE12emplace_backIJS2_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-351'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='rbegin' mangled-name='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE6rbeginEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='583' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-298'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <return type-id='type-id-398'/>
           </function-decl>
         </member-function>
         <member-function access='protected' static='yes'>
           <function-decl name='_M_emplace_back_aux&lt;boost::filesystem::path&gt;' mangled-name='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE19_M_emplace_back_auxIJS2_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE19_M_emplace_back_auxIJS2_EEEvDpOT_'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-351'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' naming-typedef-id='type-id-298' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' naming-typedef-id='type-id-398' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-399'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;boost::filesystem::path&gt;' type-id='type-id-28' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-299'/>
+          <typedef-decl name='rebind_alloc&lt;boost::filesystem::path&gt;' type-id='type-id-95' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-400'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;boost::filesystem::path, boost::filesystem::path&gt;' mangled-name='_ZNSt16allocator_traitsISaIN5boost10filesystem4pathEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-108'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-132'/>
+            <parameter type-id='type-id-281'/>
+            <parameter type-id='type-id-351'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' naming-typedef-id='type-id-299' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='basic_ofstream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='4096' visibility='default' is-declaration-only='yes' id='type-id-289'>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' naming-typedef-id='type-id-400' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='basic_ofstream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='4096' visibility='default' is-declaration-only='yes' id='type-id-387'>
         <member-function access='public'>
           <function-decl name='is_open' mangled-name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='778' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-290' is-artificial='yes'/>
+            <parameter type-id='type-id-388' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='close' mangled-name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='839' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-290' is-artificial='yes'/>
+            <parameter type-id='type-id-388' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='open' mangled-name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='799' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-290' is-artificial='yes'/>
-            <parameter type-id='type-id-68'/>
-            <parameter type-id='type-id-300'/>
+            <parameter type-id='type-id-388' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
+            <parameter type-id='type-id-401'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_ofstream' mangled-name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='737' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-290' is-artificial='yes'/>
+            <parameter type-id='type-id-388' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__destroy&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; *&gt;' mangled-name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS3_7BSONObjENS3_6Date_tEEEEEvT_SA_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_construct.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-130'/>
+            <parameter type-id='type-id-130'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='__destroy&lt;boost::filesystem::path *&gt;' mangled-name='_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost10filesystem4pathEEEvT_S6_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_construct.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-281'/>
+            <parameter type-id='type-id-281'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::FTDCFileManager *&gt;' mangled-name='_ZNSt10_Head_baseILm0EPN5mongo15FTDCFileManagerELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-225'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-295'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCFileManager *, std::default_delete&lt;mongo::FTDCFileManager&gt; , void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJPN5mongo15FTDCFileManagerESt14default_deleteIS1_EEEC2IS2_JS4_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-225'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-295'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__23' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__23' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='tuple&lt;mongo::FTDCFileManager *, std::default_delete&lt;mongo::FTDCFileManager&gt;, void&gt;' mangled-name='_ZNSt5tupleIJPN5mongo15FTDCFileManagerESt14default_deleteIS1_EEEC2IS2_S4_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-225'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-295'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__24' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__24' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-402'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__25' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__25' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCBSONUtil::FTDCType &amp;, mongo::BSONObj, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo12FTDCBSONUtil8FTDCTypeENS0_7BSONObjENS0_6Date_tEEEC2IRS2_JS3_RS4_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-285'/>
-            <parameter type-id='type-id-58'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-383'/>
+            <parameter type-id='type-id-125'/>
+            <parameter type-id='type-id-124'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__26' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__26' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm1EJRKN5mongo7BSONObjENS0_6Date_tEEE7_M_headERS5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='142' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-57'/>
-            <return type-id='type-id-65'/>
+            <parameter type-id='type-id-222'/>
+            <return type-id='type-id-205'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__27' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__28' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__29' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__30' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__27' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__28' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__29' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__30' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::FTDCBSONUtil::FTDCType &amp;&gt;' mangled-name='_ZNSt10_Head_baseILm0EN5mongo12FTDCBSONUtil8FTDCTypeELb0EEC2IRS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-285'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-383'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='_Head_base&lt;mongo::FTDCBSONUtil::FTDCType&gt;' mangled-name='_ZNSt10_Head_baseILm0EN5mongo12FTDCBSONUtil8FTDCTypeELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-286'/>
+            <parameter type-id='type-id-130' is-artificial='yes'/>
+            <parameter type-id='type-id-384'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__31' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__32' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__33' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__31' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__32' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__33' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-403'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__34' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__35' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__36' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__37' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__38' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__39' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__34' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__35' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__36' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__37' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__38' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__39' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-404'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__40' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__41' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__42' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__43' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__40' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__41' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__42' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__43' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-405'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__44' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__45' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__46' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__47' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__44' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__45' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__46' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__47' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;boost::filesystem::path *&gt;, boost::filesystem::path *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPN5boost10filesystem4pathEES6_EET0_T_S9_S8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-59'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-281'/>
+            <return type-id='type-id-281'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; *&gt;, std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS4_7BSONObjENS4_6Date_tEEEESA_EET0_T_SD_SC_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-59'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-95'/>
+            <parameter type-id='type-id-130'/>
+            <return type-id='type-id-130'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__48' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__49' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__48' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+      <class-decl name='__anonymous_struct__49' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'>
         <member-function access='public' static='yes'>
           <function-decl name='__copy_move_b&lt;boost::filesystem::path *, boost::filesystem::path *&gt;' mangled-name='_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost10filesystem4pathES6_EET0_T_S8_S7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h' line='560' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-59'/>
-            <return type-id='type-id-59'/>
+            <parameter type-id='type-id-281'/>
+            <parameter type-id='type-id-281'/>
+            <parameter type-id='type-id-281'/>
+            <return type-id='type-id-281'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__50' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__50' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
       <namespace-decl name='__ops'>
-        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-362'>
           <member-function access='public'>
             <function-decl name='operator()&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt; &gt;' mangled-name='_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS6_SaIS6_EEEESB_EEbT_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/predefined_ops.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
-              <parameter type-id='type-id-28'/>
-              <parameter type-id='type-id-28'/>
+              <parameter type-id='type-id-364' is-artificial='yes'/>
+              <parameter type-id='type-id-58'/>
+              <parameter type-id='type-id-58'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-362'>
           <member-function access='public' static='yes'>
             <function-decl name='operator()&lt;boost::filesystem::path, __gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt; &gt;' mangled-name='_ZNK9__gnu_cxx5__ops14_Val_less_iterclIN5boost10filesystem4pathENS_17__normal_iteratorIPS5_St6vectorIS5_SaIS5_EEEEEEbRT_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/predefined_ops.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
-              <parameter type-id='type-id-57'/>
-              <parameter type-id='type-id-28'/>
+              <parameter type-id='type-id-364' is-artificial='yes'/>
+              <parameter type-id='type-id-280'/>
+              <parameter type-id='type-id-58'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-362'>
           <member-function access='public' static='yes'>
             <function-decl name='operator()&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, boost::filesystem::path&gt;' mangled-name='_ZNK9__gnu_cxx5__ops14_Iter_less_valclINS_17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS6_SaIS6_EEEES6_EEbT_RT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/predefined_ops.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-66' is-artificial='yes'/>
-              <parameter type-id='type-id-28'/>
-              <parameter type-id='type-id-57'/>
+              <parameter type-id='type-id-364' is-artificial='yes'/>
+              <parameter type-id='type-id-58'/>
+              <parameter type-id='type-id-280'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='private'>
-          <typedef-decl name='difference_type' type-id='type-id-295' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='732' column='1' id='type-id-301'/>
+          <typedef-decl name='difference_type' type-id='type-id-394' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='732' column='1' id='type-id-406'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS3_SaIS3_EEEC2ERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='740' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-170'/>
+            <parameter type-id='type-id-353'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator+' mangled-name='_ZNK9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS3_SaIS3_EEEplEl' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='793' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <parameter type-id='type-id-301'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-361' is-artificial='yes'/>
+            <parameter type-id='type-id-406'/>
+            <return type-id='type-id-58'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator-' mangled-name='_ZNK9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS3_SaIS3_EEEmiEl' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-66' is-artificial='yes'/>
-            <parameter type-id='type-id-301'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-361' is-artificial='yes'/>
+            <parameter type-id='type-id-406'/>
+            <return type-id='type-id-58'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='operator--' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS3_SaIS3_EEEmmEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='773' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-57'/>
+            <return type-id='type-id-196'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-272'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-407'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-408'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt;, std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS2_7BSONObjENS2_6Date_tEEEE9constructIS7_JS7_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-130'/>
+            <parameter type-id='type-id-223'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;boost::filesystem::path, boost::filesystem::path&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorIN5boost10filesystem4pathEE9constructIS3_JS3_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-59'/>
-            <parameter type-id='type-id-58'/>
+            <parameter type-id='type-id-281'/>
+            <parameter type-id='type-id-351'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-409'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-410'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-411'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/>
     </namespace-decl>
     <namespace-decl name='mongo'>
       <namespace-decl name='logger'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-296'/>
+        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-296'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsEm' filepath='src/mongo/logger/logstream_builder.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-59' is-artificial='yes'/>
+              <parameter type-id='type-id-298' is-artificial='yes'/>
               <parameter type-id='type-id-24'/>
-              <return type-id='type-id-57'/>
+              <return type-id='type-id-297'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-296'>
           <member-type access='private'>
-            <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-302'>
+            <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-412'>
               <underlying-type type-id='type-id-21'/>
             </enum-decl>
           </member-type>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='FTDCBSONUtil'>
-        <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-284'>
+        <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-382'>
           <underlying-type type-id='type-id-21'/>
         </enum-decl>
       </namespace-decl>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'>
         <member-function access='private'>
           <function-decl name='FTDCFileManager' mangled-name='_ZN5mongo15FTDCFileManagerC2EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE' filepath='src/mongo/db/ftdc/file_manager.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManagerC2EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-66'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-88'/>
+            <parameter type-id='type-id-283'/>
+            <parameter type-id='type-id-126'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='close' mangled-name='_ZN5mongo14FTDCFileWriter5closeEv' filepath='src/mongo/db/ftdc/file_manager.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager5closeEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~FTDCFileManager' mangled-name='_ZN5mongo15FTDCFileManagerD2Ev' filepath='src/mongo/db/ftdc/file_manager.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManagerD1Ev'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='create' mangled-name='_ZN5mongo15FTDCFileManager6createEPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionEPNS_6ClientE' filepath='src/mongo/db/ftdc/file_manager.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager6createEPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionEPNS_6ClientE'>
-            <parameter type-id='type-id-66'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-59'/>
+            <parameter type-id='type-id-88'/>
             <parameter type-id='type-id-283'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126'/>
+            <parameter type-id='type-id-381'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='scanDirectory' mangled-name='_ZN5mongo15FTDCFileManager13scanDirectoryEv' filepath='src/mongo/db/ftdc/file_manager.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager13scanDirectoryEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='recoverInterimFile' mangled-name='_ZN5mongo15FTDCFileManager18recoverInterimFileEv' filepath='src/mongo/db/ftdc/file_manager.h' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager18recoverInterimFileEv'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='generateArchiveFileName' mangled-name='_ZN5mongo15FTDCFileManager23generateArchiveFileNameERKN5boost10filesystem4pathENS_10StringDataE' filepath='src/mongo/db/ftdc/file_manager.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager23generateArchiveFileNameERKN5boost10filesystem4pathENS_10StringDataE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-283'/>
+            <parameter type-id='type-id-86'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='openArchiveFile' mangled-name='_ZN5mongo15FTDCFileManager15openArchiveFileEPNS_6ClientERKN5boost10filesystem4pathERKSt6vectorISt5tupleIJNS_12FTDCBSONUtil8FTDCTypeENS_7BSONObjENS_6Date_tEEESaISE_EE' filepath='src/mongo/db/ftdc/file_manager.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager15openArchiveFileEPNS_6ClientERKN5boost10filesystem4pathERKSt6vectorISt5tupleIJNS_12FTDCBSONUtil8FTDCTypeENS_7BSONObjENS_6Date_tEEESaISE_EE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-381'/>
             <parameter type-id='type-id-283'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-65'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-287'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='trimDirectory' mangled-name='_ZN5mongo15FTDCFileManager13trimDirectoryERSt6vectorIN5boost10filesystem4pathESaIS4_EE' filepath='src/mongo/db/ftdc/file_manager.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager13trimDirectoryERSt6vectorIN5boost10filesystem4pathESaIS4_EE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-57'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-222'/>
             <return type-id='type-id-26'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='rotate' mangled-name='_ZN5mongo15FTDCFileManager6rotateEPNS_6ClientE' filepath='src/mongo/db/ftdc/file_manager.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager6rotateEPNS_6ClientE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-283'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-381'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='writeSampleAndRotateIfNeeded' mangled-name='_ZN5mongo15FTDCFileManager28writeSampleAndRotateIfNeededEPNS_6ClientERKNS_7BSONObjENS_6Date_tE' filepath='src/mongo/db/ftdc/file_manager.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager28writeSampleAndRotateIfNeededEPNS_6ClientERKNS_7BSONObjENS_6Date_tE'>
-            <parameter type-id='type-id-59' is-artificial='yes'/>
-            <parameter type-id='type-id-283'/>
-            <parameter type-id='type-id-65'/>
-            <parameter type-id='type-id-28'/>
-            <return type-id='type-id-28'/>
+            <parameter type-id='type-id-126' is-artificial='yes'/>
+            <parameter type-id='type-id-381'/>
+            <parameter type-id='type-id-205'/>
+            <parameter type-id='type-id-86'/>
+            <return type-id='type-id-86'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'/>
-      <class-decl name='Client' size-in-bits='960' visibility='default' is-declaration-only='yes' id='type-id-282'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-28'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+      <