[ {
  "key" : "primary",
  "components" : [ {
    "name" : "benchmark",
    "filesCount" : 6,
    "linesOfCode" : 241,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 3,
      "description" : [ ]
    }, {
      "name" : "  *.java",
      "value" : 3,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 130,
      "description" : [ ]
    }, {
      "name" : "  *.java",
      "value" : 111,
      "description" : [ ]
    } ]
  }, {
    "name" : "oatdump",
    "filesCount" : 1,
    "linesOfCode" : 2223,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 2223,
      "description" : [ ]
    } ]
  }, {
    "name" : "tools",
    "filesCount" : 214,
    "linesOfCode" : 18787,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 183,
      "description" : [ ]
    }, {
      "name" : "  *.py",
      "value" : 25,
      "description" : [ ]
    }, {
      "name" : "  *.cc",
      "value" : 2,
      "description" : [ ]
    }, {
      "name" : "  *.html",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.css",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.pl",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 12988,
      "description" : [ ]
    }, {
      "name" : "  *.py",
      "value" : 3425,
      "description" : [ ]
    }, {
      "name" : "  *.cc",
      "value" : 2278,
      "description" : [ ]
    }, {
      "name" : "  *.html",
      "value" : 60,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 13,
      "description" : [ ]
    }, {
      "name" : "  *.css",
      "value" : 12,
      "description" : [ ]
    }, {
      "name" : "  *.pl",
      "value" : 11,
      "description" : [ ]
    } ]
  }, {
    "name" : "imgdiag",
    "filesCount" : 1,
    "linesOfCode" : 865,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 865,
      "description" : [ ]
    } ]
  }, {
    "name" : "runtime",
    "filesCount" : 617,
    "linesOfCode" : 147404,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 244,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 372,
      "description" : [ ]
    }, {
      "name" : "  *.py",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 100981,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 46029,
      "description" : [ ]
    }, {
      "name" : "  *.py",
      "value" : 394,
      "description" : [ ]
    } ]
  }, {
    "name" : "sigchainlib",
    "filesCount" : 3,
    "linesOfCode" : 315,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 2,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 302,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 13,
      "description" : [ ]
    } ]
  }, {
    "name" : "cmdline",
    "filesCount" : 12,
    "linesOfCode" : 2179,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.h",
      "value" : 12,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.h",
      "value" : 2179,
      "description" : [ ]
    } ]
  }, {
    "name" : "profman",
    "filesCount" : 3,
    "linesOfCode" : 448,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 2,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 418,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 30,
      "description" : [ ]
    } ]
  }, {
    "name" : "dex2oat",
    "filesCount" : 1,
    "linesOfCode" : 2102,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 2102,
      "description" : [ ]
    } ]
  }, {
    "name" : "dexlist",
    "filesCount" : 1,
    "linesOfCode" : 181,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 181,
      "description" : [ ]
    } ]
  }, {
    "name" : "disassembler",
    "filesCount" : 10,
    "linesOfCode" : 3750,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 5,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 5,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 3580,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 170,
      "description" : [ ]
    } ]
  }, {
    "name" : "dalvikvm",
    "filesCount" : 1,
    "linesOfCode" : 134,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 134,
      "description" : [ ]
    } ]
  }, {
    "name" : "compiler",
    "filesCount" : 262,
    "linesOfCode" : 119716,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 106,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 153,
      "description" : [ ]
    }, {
      "name" : "  *.inc",
      "value" : 3,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 86330,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 27622,
      "description" : [ ]
    }, {
      "name" : "  *.inc",
      "value" : 5764,
      "description" : [ ]
    } ]
  }, {
    "name" : "dexdump",
    "filesCount" : 3,
    "linesOfCode" : 1282,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 2,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 1255,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 27,
      "description" : [ ]
    } ]
  }, {
    "name" : "libart_fake",
    "filesCount" : 1,
    "linesOfCode" : 26,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 26,
      "description" : [ ]
    } ]
  }, {
    "name" : "patchoat",
    "filesCount" : 2,
    "linesOfCode" : 1328,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cc",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cc",
      "value" : 1159,
      "description" : [ ]
    }, {
      "name" : "  *.h",
      "value" : 169,
      "description" : [ ]
    } ]
  } ],
  "componentDependencies" : [ {
    "fromComponent" : "runtime",
    "locFrom" : 40,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "runtime/runtime_options.h",
      "evidence" : "#include \"cmdline_types.h\"  // TODO: don't need to include this file here"
    } ],
    "toComponent" : "cmdline",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "runtime -> cmdline"
  }, {
    "fromComponent" : "cmdline",
    "locFrom" : 977,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "cmdline/cmdline.h",
      "evidence" : "#include \"noop_compiler_callbacks.h\""
    }, {
      "pathFrom" : "cmdline/cmdline_result.h",
      "evidence" : "#include <utils.h>"
    }, {
      "pathFrom" : "cmdline/cmdline_types.h",
      "evidence" : "#include \"profiler_options.h\""
    } ],
    "toComponent" : "runtime",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "cmdline -> runtime"
  }, {
    "fromComponent" : "compiler",
    "locFrom" : 17483,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "compiler/elf_writer_quick.h",
      "evidence" : "#include \"os.h\""
    }, {
      "pathFrom" : "compiler/oat_writer.h",
      "evidence" : "#include \"oat.h\""
    }, {
      "pathFrom" : "compiler/elf_writer.h",
      "evidence" : "#include \"os.h\""
    }, {
      "pathFrom" : "compiler/compiler.h",
      "evidence" : "#include \"os.h\""
    }, {
      "pathFrom" : "compiler/image_writer.h",
      "evidence" : "#include \"utils.h\""
    }, {
      "pathFrom" : "compiler/linker/buffered_output_stream.h",
      "evidence" : "#include \"globals.h\""
    }, {
      "pathFrom" : "compiler/linker/multi_oat_relative_patcher.h",
      "evidence" : "#include \"method_reference.h\""
    }, {
      "pathFrom" : "compiler/linker/vector_output_stream.h",
      "evidence" : "#include <string.h>"
    }, {
      "pathFrom" : "compiler/linker/file_output_stream.h",
      "evidence" : "#include \"os.h\""
    }, {
      "pathFrom" : "compiler/linker/relative_patcher.h",
      "evidence" : "#include \"method_reference.h\""
    }, {
      "pathFrom" : "compiler/linker/arm/relative_patcher_arm_base.h",
      "evidence" : "#include \"method_reference.h\""
    }, {
      "pathFrom" : "compiler/driver/compiler_driver.h",
      "evidence" : "#include \"class_reference.h\""
    }, {
      "pathFrom" : "compiler/driver/compiler_options.h",
      "evidence" : "#include \"utils.h\""
    }, {
      "pathFrom" : "compiler/driver/dex_compilation_unit.h",
      "evidence" : "#include \"handle.h\""
    }, {
      "pathFrom" : "compiler/driver/compiler_driver-inl.h",
      "evidence" : "#include \"scoped_thread_state_change.h\""
    }, {
      "pathFrom" : "compiler/elf_builder.h",
      "evidence" : "#include \"leb128.h\""
    }, {
      "pathFrom" : "compiler/utils/assembler.h",
      "evidence" : "#include \"offsets.h\""
    }, {
      "pathFrom" : "compiler/utils/assembler_test_base.h",
      "evidence" : "#include \"utils.h\""
    }, {
      "pathFrom" : "compiler/utils/mips/constants_mips.h",
      "evidence" : "#include \"globals.h\""
    }, {
      "pathFrom" : "compiler/utils/mips/assembler_mips.h",
      "evidence" : "#include \"offsets.h\""
    }, {
      "pathFrom" : "compiler/utils/mips64/constants_mips64.h",
      "evidence" : "#include \"globals.h\""
    }, {
      "pathFrom" : "compiler/utils/mips64/assembler_mips64.h",
      "evidence" : "#include \"offsets.h\""
    }, {
      "pathFrom" : "compiler/utils/x86/constants_x86.h",
      "evidence" : "#include \"globals.h\""
    }, {
      "pathFrom" : "compiler/utils/x86/assembler_x86.h",
      "evidence" : "#include \"offsets.h\""
    }, {
      "pathFrom" : "compiler/utils/arm/assembler_arm32.h",
      "evidence" : "#include \"offsets.h\""
    }, {
      "pathFrom" : "compiler/utils/arm/assembler_thumb2.h",
      "evidence" : "#include \"offsets.h\""
    }, {
      "pathFrom" : "compiler/utils/arm/constants_arm.h",
      "evidence" : "#include \"globals.h\""
    }, {
      "pathFrom" : "compiler/utils/arm/assembler_arm.h",
      "evidence" : "#include \"offsets.h\""
    }, {
      "pathFrom" : "compiler/utils/string_reference.h",
      "evidence" : "#include \"utf-inl.h\""
    }, {
      "pathFrom" : "compiler/utils/arm64/constants_arm64.h",
      "evidence" : "#include \"globals.h\""
    }, {
      "pathFrom" : "compiler/utils/arm64/assembler_arm64.h",
      "evidence" : "#include \"offsets.h\""
    }, {
      "pathFrom" : "compiler/utils/x86_64/constants_x86_64.h",
      "evidence" : "#include \"globals.h\""
    }, {
      "pathFrom" : "compiler/utils/x86_64/assembler_x86_64.h",
      "evidence" : "#include \"offsets.h\""
    }, {
      "pathFrom" : "compiler/optimizing/register_allocator.h",
      "evidence" : "#include \"primitive.h\""
    }, {
      "pathFrom" : "compiler/optimizing/parallel_move_resolver.h",
      "evidence" : "#include \"primitive.h\""
    }, {
      "pathFrom" : "compiler/optimizing/code_generator.h",
      "evidence" : "#include \"globals.h\""
    }, {
      "pathFrom" : "compiler/optimizing/stack_map_stream.h",
      "evidence" : "#include \"stack_map.h\""
    }, {
      "pathFrom" : "compiler/optimizing/optimizing_compiler_stats.h",
      "evidence" : "#include \"atomic.h\""
    }, {
      "pathFrom" : "compiler/optimizing/inliner.h",
      "evidence" : "#include \"invoke_type.h\""
    }, {
      "pathFrom" : "compiler/optimizing/nodes.h",
      "evidence" : "#include \"primitive.h\""
    }, {
      "pathFrom" : "compiler/optimizing/reference_type_propagation.h",
      "evidence" : "#include \"handle_scope-inl.h\""
    }, {
      "pathFrom" : "compiler/optimizing/block_builder.h",
      "evidence" : "#include \"dex_file.h\""
    }, {
      "pathFrom" : "compiler/optimizing/builder.h",
      "evidence" : "#include \"primitive.h\""
    }, {
      "pathFrom" : "compiler/optimizing/bytecode_utils.h",
      "evidence" : "#include \"dex_file-inl.h\""
    }, {
      "pathFrom" : "compiler/compiled_method.h",
      "evidence" : "#include \"method_reference.h\""
    }, {
      "pathFrom" : "compiler/dex/dex_to_dex_compiler.h",
      "evidence" : "#include \"invoke_type.h\""
    }, {
      "pathFrom" : "compiler/dex/quick_compiler_callbacks.h",
      "evidence" : "#include \"compiler_callbacks.h\""
    }, {
      "pathFrom" : "compiler/dex/verification_results.h",
      "evidence" : "#include \"class_reference.h\""
    }, {
      "pathFrom" : "compiler/dex/quick/dex_file_method_inliner.h",
      "evidence" : "#include \"dex_file.h\""
    }, {
      "pathFrom" : "compiler/dex/compiler_enums.h",
      "evidence" : "#include \"dex_instruction.h\""
    }, {
      "pathFrom" : "compiler/dex/verified_method.h",
      "evidence" : "#include \"method_reference.h\""
    }, {
      "pathFrom" : "compiler/jni/quick/jni_compiler.h",
      "evidence" : "#include \"dex_file.h\""
    }, {
      "pathFrom" : "compiler/jni/quick/calling_convention.h",
      "evidence" : "#include \"primitive.h\""
    }, {
      "pathFrom" : "compiler/debug/elf_symtab_writer.h",
      "evidence" : "#include \"utils.h\""
    }, {
      "pathFrom" : "compiler/debug/elf_debug_line_writer.h",
      "evidence" : "#include \"stack_map.h\""
    }, {
      "pathFrom" : "compiler/debug/dwarf/debug_info_entry_writer.h",
      "evidence" : "#include \"leb128.h\""
    }, {
      "pathFrom" : "compiler/debug/dwarf/debug_abbrev_writer.h",
      "evidence" : "#include \"leb128.h\""
    }, {
      "pathFrom" : "compiler/debug/dwarf/writer.h",
      "evidence" : "#include \"leb128.h\""
    }, {
      "pathFrom" : "compiler/debug/elf_debug_info_writer.h",
      "evidence" : "#include \"dex_file-inl.h\""
    }, {
      "pathFrom" : "compiler/debug/elf_debug_loc_writer.h",
      "evidence" : "#include \"stack_map.h\""
    }, {
      "pathFrom" : "compiler/debug/method_debug_info.h",
      "evidence" : "#include \"dex_file.h\""
    } ],
    "toComponent" : "runtime",
    "count" : 61,
    "text" : null,
    "color" : "",
    "dependencyString" : "compiler -> runtime"
  }, {
    "fromComponent" : "patchoat",
    "locFrom" : 169,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "patchoat/patchoat.h",
      "evidence" : "#include \"elf_utils.h\""
    } ],
    "toComponent" : "runtime",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "patchoat -> runtime"
  } ],
  "componentDependenciesErrors" : [ ],
  "logicalDecomposition" : {
    "name" : "primary",
    "scope" : "main",
    "filters" : [ ],
    "componentsFolderDepth" : 1,
    "minComponentsCount" : 0,
    "components" : [ {
      "name" : "benchmark",
      "sourceFileFilters" : [ {
        "pathPattern" : "./benchmark/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "oatdump",
      "sourceFileFilters" : [ {
        "pathPattern" : "./oatdump/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "tools",
      "sourceFileFilters" : [ {
        "pathPattern" : "./tools/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "imgdiag",
      "sourceFileFilters" : [ {
        "pathPattern" : "./imgdiag/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "runtime",
      "sourceFileFilters" : [ {
        "pathPattern" : "./runtime/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "sigchainlib",
      "sourceFileFilters" : [ {
        "pathPattern" : "./sigchainlib/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "cmdline",
      "sourceFileFilters" : [ {
        "pathPattern" : "./cmdline/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "profman",
      "sourceFileFilters" : [ {
        "pathPattern" : "./profman/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "dex2oat",
      "sourceFileFilters" : [ {
        "pathPattern" : "./dex2oat/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "dexlist",
      "sourceFileFilters" : [ {
        "pathPattern" : "./dexlist/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "disassembler",
      "sourceFileFilters" : [ {
        "pathPattern" : "./disassembler/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "dalvikvm",
      "sourceFileFilters" : [ {
        "pathPattern" : "./dalvikvm/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "compiler",
      "sourceFileFilters" : [ {
        "pathPattern" : "./compiler/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "dexdump",
      "sourceFileFilters" : [ {
        "pathPattern" : "./dexdump/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "libart_fake",
      "sourceFileFilters" : [ {
        "pathPattern" : "./libart_fake/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "patchoat",
      "sourceFileFilters" : [ {
        "pathPattern" : "./patchoat/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    } ],
    "metaComponents" : [ ],
    "groups" : [ ],
    "includeRemainingFiles" : true,
    "dependenciesFinder" : {
      "useBuiltInDependencyFinders" : true,
      "rules" : [ ],
      "metaRules" : [ ]
    },
    "renderingOptions" : {
      "orientation" : "TB",
      "maxNumberOfDependencies" : 100,
      "renderComponentsWithoutDependencies" : true,
      "renderIndirectDependencies" : false,
      "renderInternalIndirectDependencies" : false,
      "reverseDirection" : false
    },
    "includeExternalComponents" : true,
    "dependencyLinkThreshold" : 1,
    "duplicationLinkThreshold" : 50,
    "temporalLinkThreshold" : 1,
    "maxSearchDepthLines" : 200
  },
  "fileCountPerComponent" : [ {
    "name" : "benchmark",
    "value" : 6,
    "description" : [ ]
  }, {
    "name" : "oatdump",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "tools",
    "value" : 214,
    "description" : [ ]
  }, {
    "name" : "imgdiag",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "runtime",
    "value" : 617,
    "description" : [ ]
  }, {
    "name" : "sigchainlib",
    "value" : 3,
    "description" : [ ]
  }, {
    "name" : "cmdline",
    "value" : 12,
    "description" : [ ]
  }, {
    "name" : "profman",
    "value" : 3,
    "description" : [ ]
  }, {
    "name" : "dex2oat",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "dexlist",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "disassembler",
    "value" : 10,
    "description" : [ ]
  }, {
    "name" : "dalvikvm",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "compiler",
    "value" : 262,
    "description" : [ ]
  }, {
    "name" : "dexdump",
    "value" : 3,
    "description" : [ ]
  }, {
    "name" : "libart_fake",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "patchoat",
    "value" : 2,
    "description" : [ ]
  } ],
  "linesOfCodePerComponent" : [ {
    "name" : "benchmark",
    "value" : 241,
    "description" : [ ]
  }, {
    "name" : "oatdump",
    "value" : 2223,
    "description" : [ ]
  }, {
    "name" : "tools",
    "value" : 18787,
    "description" : [ ]
  }, {
    "name" : "imgdiag",
    "value" : 865,
    "description" : [ ]
  }, {
    "name" : "runtime",
    "value" : 147404,
    "description" : [ ]
  }, {
    "name" : "sigchainlib",
    "value" : 315,
    "description" : [ ]
  }, {
    "name" : "cmdline",
    "value" : 2179,
    "description" : [ ]
  }, {
    "name" : "profman",
    "value" : 448,
    "description" : [ ]
  }, {
    "name" : "dex2oat",
    "value" : 2102,
    "description" : [ ]
  }, {
    "name" : "dexlist",
    "value" : 181,
    "description" : [ ]
  }, {
    "name" : "disassembler",
    "value" : 3750,
    "description" : [ ]
  }, {
    "name" : "dalvikvm",
    "value" : 134,
    "description" : [ ]
  }, {
    "name" : "compiler",
    "value" : 119716,
    "description" : [ ]
  }, {
    "name" : "dexdump",
    "value" : 1282,
    "description" : [ ]
  }, {
    "name" : "libart_fake",
    "value" : 26,
    "description" : [ ]
  }, {
    "name" : "patchoat",
    "value" : 1328,
    "description" : [ ]
  } ]
} ]