--- visualize_backtrace.module	2008-11-06 21:10:45.000000000 -0500
+++ /Library/WebServer/Documents/bills/sites/all/modules/visualize_backtrace/visualize_backtrace.module	2009-01-25 19:04:59.000000000 -0500
@@ -456,7 +456,7 @@ function visualize_backtrace_generate() 
   // the function is part of a single, double or triple iterating loop
   // Added an admin option to determine whether repeating functions should be filtered out
   if (variable_get('visualize_backtrace_hide_repeating_functions', 1)) {
-    visualize_backtrace_detect_repeating_functions(&$function_call_data);
+    $function_call_data = visualize_backtrace_detect_repeating_functions($function_call_data);
   }
   
   // Initialize Variables
@@ -1120,12 +1120,259 @@ function visualize_backtrace_generate() 
 
     // Provide a link to the Full Function Call Stack since all of the function call stacks are being hidden
     $output .= '* View the '. l('Full Function Call Stack', 'visualize_backtrace/'. $trace_number .'/view_callstack/all_sections') .' for this Trace.<br />';
+    
   }
 
+    // Format the functional call data into a hierarchical array to be printed out via krumo 
+    if (arg(4) == "krumo") {
+      $row = 1;
+      $function_call_data2  = $function_call_data;
+      $stop_at_row = count($function_call_data2);
+      
+      while ($row <= $stop_at_row) {
+        $index[$function_call_data2[$row]['level']] = $function_call_data2[$row]['level'] .' '. $function_call_data2[$row]['function_name'] .' '. $function_call_data2[$row]['via_filename'] .' '. $function_call_data2[$row]['line_number'];
+        if ($function_call_data2[$row]['level'] < 10) {
+          if ($function_call_data2[$row]['level'] == 1) {
+            $function_callstack_krumo_output[$index[1]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 2) {
+            $function_callstack_krumo_output[$index[1]][$index[2]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 3) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 4) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 5) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 6) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 7) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 8) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 9) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]] = '';
+          }
+        }
+        elseif ($function_call_data2[$row]['level'] < 20) {
+          if ($function_call_data2[$row]['level'] == 10) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 11) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 12) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 13) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 14) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 15) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 16) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 17) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 18) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 19) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]] = '';
+          }
+        }
+        elseif ($function_call_data2[$row]['level'] < 30) {
+          if ($function_call_data2[$row]['level'] == 20) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 21) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 22) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 23) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 24) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 25) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 26) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 27) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 28) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 29) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]] = '';
+          }
+        }
+        elseif ($function_call_data2[$row]['level'] < 40) {
+          if ($function_call_data2[$row]['level'] == 30) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 31) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 32) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 33) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 34) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 35) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 36) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 37) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 38) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]] = '';
+          } 
+          elseif ($function_call_data2[$row]['level'] == 39) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]] = '';
+          }
+        }
+        elseif ($function_call_data2[$row]['level'] < 50) {
+          if ($function_call_data2[$row]['level'] == 40) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 41) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 42) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 43) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 44) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 45) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 46) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 47) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 48) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 49) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]] = '';
+          }
+        }
+        elseif ($function_call_data2[$row]['level'] < 60) {
+          if ($function_call_data2[$row]['level'] == 50) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 51) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]][$index[51]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 52) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]][$index[51]][$index[52]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 53) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]][$index[51]][$index[52]][$index[53]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 54) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]][$index[51]][$index[52]][$index[53]][$index[54]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 55) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]][$index[51]][$index[52]][$index[53]][$index[54]][$index[55]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 56) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]][$index[51]][$index[52]][$index[53]][$index[54]][$index[55]][$index[56]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 57) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]][$index[51]][$index[52]][$index[53]][$index[54]][$index[55]][$index[56]][$index[57]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 58) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]][$index[51]][$index[52]][$index[53]][$index[54]][$index[55]][$index[56]][$index[57]][$index[58]] = '';
+          }
+          elseif ($function_call_data2[$row]['level'] == 59) {
+            $function_callstack_krumo_output[$index[1]][$index[2]][$index[3]][$index[4]][$index[5]][$index[6]][$index[7]][$index[8]][$index[9]][$index[10]][$index[11]][$index[12]][$index[13]][$index[14]][$index[15]][$index[16]][$index[17]][$index[18]][$index[19]][$index[20]][$index[21]][$index[22]][$index[23]][$index[24]][$index[25]][$index[26]][$index[27]][$index[28]][$index[29]][$index[30]][$index[31]][$index[32]][$index[33]][$index[34]][$index[35]][$index[36]][$index[37]][$index[38]][$index[39]][$index[40]][$index[41]][$index[42]][$index[43]][$index[44]][$index[45]][$index[46]][$index[47]][$index[48]][$index[49]][$index[50]][$index[51]][$index[52]][$index[53]][$index[54]][$index[55]][$index[56]][$index[57]][$index[58]][$index[59]] = '';
+          }
+        }
+        elseif ($function_call_data2[$row]['level'] > 60) {
+          print('Depth greater than 60');
+        }
+        $row++;
+      }     
+ 
+      // Print out a jQuery-enabled link that will auto-expand the all of the krumo tree
+      print('<div id="jquery-expand-krumo"><a href="#">Expand all</a></div>');
+      drupal_add_js("$(document).ready(function(){
+        $('#jquery-expand-krumo').bind('mousedown',function(){
+          $('.krumo-expand').addClass('krumo-opened');
+          $('.krumo-nest').css('display','block');
+        });
+      });", "inline");
+      
+      // Print out a krumo-formatted nested array of the entire call-stack
+      krumo($function_callstack_krumo_output);
+
+    }
+    // Output the function call stack into a flattened string w/ line breaks and indentations.
+    if (arg(4) == "output") {
+
+      $function_call_data2  = $function_call_data;
+      $stop_at_row = count($function_call_data2);
+      $flat_output = '';
+      $spaces = '';
+      
+      for ($row = 1; $row <= $stop_at_row; $row++) {
+        // Add in white spaces to indent the tree
+        $spaces = str_repeat(" ", $function_call_data2[$row]['level']-1);
+        
+        // Output the Level, Function name, reference file & line number
+        $flat_output .= $spaces. $function_call_data2[$row]['level'] ." ". $function_call_data2[$row]['function_name'] ." ". $function_call_data2[$row]['via_filename'] ." ". $function_call_data2[$row]['line_number'] ."\r\n";
+        $row++;
+      }
+      
+      // Output to a text file
+      ob_start();
+      print($flat_output);
+      $string = ob_get_clean();
+
+      // The temp directory does vary across multiple simpletest instances.
+      $file = file_directory_temp(). '/drupal_debug_'.  $trace_number  .'.txt';
+      if (file_put_contents($file, $string, FILE_APPEND) === FALSE) {
+        drupal_set_message(t('The file could not be written.'), 'error');
+        return FALSE;
+      }
+    }
+
   // Add in a link to view the backtraces for all of the contributed module functions
   $output .= '* Graph the '. l('Contributed Module Function Backtraces', 'visualize_backtrace/'. $trace_number .'/view_callstack/show_filename_backtrace/capture_all_contrib_functions') .'<br />';
   $output .= '* Graph the '. l('"db_query" Function Backtraces', 'visualize_backtrace/'. $trace_number .'/view_callstack/show_function_backtrace/db_query') .'<br />';
-
+  
   // Output a table of the Function Call Stack if the flag was set to true directly above
   if ($output_function_call_stack) {
     $row = 1;
@@ -1218,13 +1465,9 @@ function visualize_backtrace_generate() 
 
         // Add indention spaces to simulate a hierarchical listing of the function call stack
         $level_indent_spaces = '';
-        $loop = 1;
         $level = $function_call_data[$row]['level'];
-        while ($loop <= $level-1) {
-            $level_indent_spaces .= '&nbsp;&nbsp;';
-            $loop++;
-        }
-    
+        $level_indent_spaces= str_repeat('&nbsp;&nbsp;', $level-1);
+          
         // If the Drupal function is called from a PHP function (i.e. line = 0), then swap out the line number
         // w/ previous PHP function's line number and add a note within the level box
         if ($function_call_data[$row]['via_PHP_function']) {
@@ -1320,7 +1563,8 @@ function visualize_backtrace_generate() 
           $output .= '<td>'. $function_call_data[$row]['via_filename']  .'</td>';
           $output .= '<td>'. $function_call_data[$row]['function_number'] .'</td></tr>';
         }
-      } 
+      }
+      // 
       $row++;
     }
     $output .= '<tbody></table>';
@@ -1399,7 +1643,7 @@ function visualize_backtrace_generate() 
  *   $function_call_data[$row]['repeating_function_label'] = "";
  *   $function_call_data[$row]['repeating_function_count'] = 0;
  */
-function visualize_backtrace_detect_repeating_functions(&$function_call_data) {
+function visualize_backtrace_detect_repeating_functions($function_call_data) {
   $total_rows = count($function_call_data);
   // Assume that there are no duplicates in the first 4 rows
   // Zero out the first three rows
@@ -1639,6 +1883,7 @@ function visualize_backtrace_detect_repe
     }
     $duplicate_row++;
   }
+  return $function_call_data;
 }
 
 /**
